<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/fuse/file.c, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-07-20T03:38:55Z</updated>
<entry>
<title>fuse: fix bad return value in fuse_file_poll()</title>
<updated>2009-07-20T03:38:55Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2009-06-30T18:06:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4d8cd6481fab1e7651e342b87c4828c548cbc52'/>
<id>urn:sha1:f4d8cd6481fab1e7651e342b87c4828c548cbc52</id>
<content type='text'>
commit 201fa69a2849536ef2912e8e971ec0b01c04eff4 upstream.

Fix fuse_file_poll() which returned a -errno value instead of a poll
mask.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>fuse: fix "direct_io" private mmap</title>
<updated>2009-04-09T15:37:53Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2009-04-09T15:37:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3121bfe7631126d1b13064855ac2cfa164381bb0'/>
<id>urn:sha1:3121bfe7631126d1b13064855ac2cfa164381bb0</id>
<content type='text'>
MAP_PRIVATE mmap could return stale data from the cache for
"direct_io" files.  Fix this by flushing the cache on mmap. 

Found with a slightly modified fsx-linux.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: fix argument type in fuse_get_user_pages()</title>
<updated>2009-04-09T15:37:52Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2009-04-09T15:37:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce60a2f15764f296b0467960759351702c7d2986'/>
<id>urn:sha1:ce60a2f15764f296b0467960759351702c7d2986</id>
<content type='text'>
Fix the following warning:

fs/fuse/file.c: In function 'fuse_direct_io':
fs/fuse/file.c:1002: warning: passing argument 3 of 'fuse_get_user_pages' from incompatible pointer type

This was introduced by commit f4975c67 "fuse: allow kernel to access
"direct_io" files".

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: allow private mappings of "direct_io" files</title>
<updated>2009-04-02T12:25:35Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2009-04-02T12:25:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc280c9692031ee41545d6bea00bbb7c7dec97a9'/>
<id>urn:sha1:fc280c9692031ee41545d6bea00bbb7c7dec97a9</id>
<content type='text'>
Allow MAP_PRIVATE mmaps of "direct_io" files.  This is necessary for
execute support.

MAP_SHARED mappings require some sort of coherency between the
underlying file and the mapping.  With "direct_io" it is difficult to
provide this, so for the moment just disallow shared (read-write and
read-only) mappings altogether.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: allow kernel to access "direct_io" files</title>
<updated>2009-04-02T12:25:34Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2009-04-02T12:25:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4975c67dd9ad8eb47a4c77af0521a2b16ee0197'/>
<id>urn:sha1:f4975c67dd9ad8eb47a4c77af0521a2b16ee0197</id>
<content type='text'>
Allow the kernel read and write on "direct_io" files.  This is
necessary for nfs export and execute support.

The implementation is simple: if an access from the kernel is
detected, don't perform get_user_pages(), just use the kernel address
provided by the requester to copy from/to the userspace filesystem.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>mm: page_mkwrite change prototype to match fault</title>
<updated>2009-04-01T15:59:14Z</updated>
<author>
<name>Nick Piggin</name>
</author>
<published>2009-03-31T22:23:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2ec175c39f62949438354f603f4aa170846aabb'/>
<id>urn:sha1:c2ec175c39f62949438354f603f4aa170846aabb</id>
<content type='text'>
Change the page_mkwrite prototype to take a struct vm_fault, and return
VM_FAULT_xxx flags.  There should be no functional change.

This makes it possible to return much more detailed error information to
the VM (and also can provide more information eg.  virtual_address to the
driver, which might be important in some special cases).

This is required for a subsequent fix.  And will also make it easier to
merge page_mkwrite() with fault() in future.

Signed-off-by: Nick Piggin &lt;npiggin@suse.de&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Cc: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Cc: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Cc: Mark Fasheh &lt;mfasheh@suse.com&gt;
Cc: Joel Becker &lt;joel.becker@oracle.com&gt;
Cc: Artem Bityutskiy &lt;dedekind@infradead.org&gt;
Cc: Felix Blyakher &lt;felixb@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fuse: fix fuse_file_lseek returning with lock held</title>
<updated>2009-03-30T15:26:24Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2009-03-27T10:36:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5291658d87ac1ae60418e79e7b6bad7d5f595e0c'/>
<id>urn:sha1:5291658d87ac1ae60418e79e7b6bad7d5f595e0c</id>
<content type='text'>
This bug was found with smatch (http://repo.or.cz/w/smatch.git/).  If
we return directly the inode-&gt;i_mutex lock doesn't get released.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
CC: stable@kernel.org
</content>
</entry>
<entry>
<title>fuse: fix NULL deref in fuse_file_alloc()</title>
<updated>2009-01-26T14:00:58Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2009-01-26T14:00:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb875b38dc5e343bdb696b2eab8233e4d195e208'/>
<id>urn:sha1:bb875b38dc5e343bdb696b2eab8233e4d195e208</id>
<content type='text'>
ff is set to NULL and then dereferenced on line 65.  Compile tested only.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
CC: stable@kernel.org
</content>
</entry>
<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>
</author>
<published>2009-01-07T01:01:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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>
</author>
<published>2009-01-04T20:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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>
</feed>
