<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/fuse, branch v2.6.29-rc2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/fuse?h=v2.6.29-rc2</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/fuse?h=v2.6.29-rc2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2009-01-07T01:01:20Z</updated>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse</title>
<updated>2009-01-07T01:01:20Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-01-07T01:01:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8'/>
<id>urn:sha1:5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
  fuse: clean up annotations of fc-&gt;lock
  fuse: fix sparse warning in ioctl
  fuse: update interface version
  fuse: add fuse_conn-&gt;release()
  fuse: separate out fuse_conn_init() from new_conn()
  fuse: add fuse_ prefix to several functions
  fuse: implement poll support
  fuse: implement unsolicited notification
  fuse: add file kernel handle
  fuse: implement ioctl support
  fuse: don't let fuse_req-&gt;end() put the base reference
  fuse: move FUSE_MINOR to miscdevice.h
  fuse: style fixes
</content>
</entry>
<entry>
<title>fs: symlink write_begin allocation context fix</title>
<updated>2009-01-04T21:33:20Z</updated>
<author>
<name>Nick Piggin</name>
<email>npiggin@suse.de</email>
</author>
<published>2009-01-04T20:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=54566b2c1594c2326a645a3551f9d989f7ba3c5e'/>
<id>urn:sha1:54566b2c1594c2326a645a3551f9d989f7ba3c5e</id>
<content type='text'>
With the write_begin/write_end aops, page_symlink was broken because it
could no longer pass a GFP_NOFS type mask into the point where the
allocations happened.  They are done in write_begin, which would always
assume that the filesystem can be entered from reclaim.  This bug could
cause filesystem deadlocks.

The funny thing with having a gfp_t mask there is that it doesn't really
allow the caller to arbitrarily tinker with the context in which it can be
called.  It couldn't ever be GFP_ATOMIC, for example, because it needs to
take the page lock.  The only thing any callers care about is __GFP_FS
anyway, so turn that into a single flag.

Add a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on
this flag in their write_begin function.  Change __grab_cache_page to
accept a nofs argument as well, to honour that flag (while we're there,
change the name to grab_cache_page_write_begin which is more instructive
and does away with random leading underscores).

This is really a more flexible way to go in the end anyway -- if a
filesystem happens to want any extra allocations aside from the pagecache
ones in ints write_begin function, it may now use GFP_KERNEL (rather than
GFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a
random example).

[kosaki.motohiro@jp.fujitsu.com: fix ubifs]
[kosaki.motohiro@jp.fujitsu.com: fix fuse]
Signed-off-by: Nick Piggin &lt;npiggin@suse.de&gt;
Reviewed-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Cc: &lt;stable@kernel.org&gt;		[2.6.28.x]
Signed-off-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
[ Cleaned up the calling convention: just pass in the AOP flags
  untouched to the grab_cache_page_write_begin() function.  That
  just simplifies everybody, and may even allow future expansion of the
  logic.   - Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fuse: clean up annotations of fc-&gt;lock</title>
<updated>2008-12-02T13:49:42Z</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-12-02T13:49:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5d9ec854bfb6f1e122b1d96b344164a71eac5be8'/>
<id>urn:sha1:5d9ec854bfb6f1e122b1d96b344164a71eac5be8</id>
<content type='text'>
Makes the existing annotations match the more common one per line style
and adds a few missing annotations.

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: fix sparse warning in ioctl</title>
<updated>2008-12-02T13:49:42Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2008-12-02T13:49:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c9f0523d88fd208ce094995a0ac63f7c04e56bab'/>
<id>urn:sha1:c9f0523d88fd208ce094995a0ac63f7c04e56bab</id>
<content type='text'>
Fix sparse warning:

  CHECK   fs/fuse/file.c
fs/fuse/file.c:1615:17: warning: incorrect type in assignment (different address spaces)
fs/fuse/file.c:1615:17:    expected void [noderef] &lt;asn:1&gt;*iov_base
fs/fuse/file.c:1615:17:    got void *&lt;noident&gt;

This was introduced by "fuse: implement ioctl support".

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: add fuse_conn-&gt;release()</title>
<updated>2008-11-26T11:03:56Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2008-11-26T11:03:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=43901aabd7a043e62e24e9459dc4949b4cd69f07'/>
<id>urn:sha1:43901aabd7a043e62e24e9459dc4949b4cd69f07</id>
<content type='text'>
Add fuse_conn-&gt;release() so that fuse_conn can be embedded in other
structures.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: separate out fuse_conn_init() from new_conn()</title>
<updated>2008-11-26T11:03:55Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2008-11-26T11:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d179aa59285ceef529c125e181cbb79ff5245c2'/>
<id>urn:sha1:0d179aa59285ceef529c125e181cbb79ff5245c2</id>
<content type='text'>
Separate out fuse_conn_init() from new_conn() and while at it
initialize fuse_conn-&gt;entry during conn initialization.

This will be used by CUSE.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: add fuse_ prefix to several functions</title>
<updated>2008-11-26T11:03:55Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2008-11-26T11:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b93f858ab2a4bee779c360002f313ad6c3504cdc'/>
<id>urn:sha1:b93f858ab2a4bee779c360002f313ad6c3504cdc</id>
<content type='text'>
Add fuse_ prefix to request_send*() and get_root_inode() as some of
those functions will be exported for CUSE.  With or without CUSE
export, having the function names scoped is a good idea for
debuggability.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: implement poll support</title>
<updated>2008-11-26T11:03:55Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2008-11-26T11:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=95668a69a4bb862063c4d28a746e55107dee7b98'/>
<id>urn:sha1:95668a69a4bb862063c4d28a746e55107dee7b98</id>
<content type='text'>
Implement poll support.  Polled files are indexed using kh in a RB
tree rooted at fuse_conn-&gt;polled_files.

Client should send FUSE_NOTIFY_POLL notification once after processing
FUSE_POLL which has FUSE_POLL_SCHEDULE_NOTIFY set.  Sending
notification unconditionally after the latest poll or everytime file
content might have changed is inefficient but won't cause malfunction.

fuse_file_poll() can sleep and requires patches from the following
thread which allows f_op-&gt;poll() to sleep.

  http://thread.gmane.org/gmane.linux.kernel/726176

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: implement unsolicited notification</title>
<updated>2008-11-26T11:03:55Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2008-11-26T11:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8599396b5062bf6bd2a0b433503849e2322df1c2'/>
<id>urn:sha1:8599396b5062bf6bd2a0b433503849e2322df1c2</id>
<content type='text'>
Clients always used to write only in response to read requests.  To
implement poll efficiently, clients should be able to issue
unsolicited notifications.  This patch implements basic notification
support.

Zero fuse_out_header.unique is now accepted and considered unsolicited
notification and the error field contains notification code.  This
patch doesn't implement any actual notification.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: add file kernel handle</title>
<updated>2008-11-26T11:03:55Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2008-11-26T11:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=acf99433d98c2570a619d8fb8b51abce4e532059'/>
<id>urn:sha1:acf99433d98c2570a619d8fb8b51abce4e532059</id>
<content type='text'>
The file handle, fuse_file-&gt;fh, is opaque value supplied by userland
FUSE server and uniqueness is not guaranteed.  Add file kernel handle,
fuse_file-&gt;kh, which is allocated by the kernel on file allocation and
guaranteed to be unique.

This will be used by poll to match notification to the respective file
but can be used for other purposes where unique file handle is
necessary.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
</feed>
