<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/fuse/dev.c, branch v2.6.19</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/fuse/dev.c?h=v2.6.19</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/fuse/dev.c?h=v2.6.19'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2006-10-01T07:39:28Z</updated>
<entry>
<title>[PATCH] Remove readv/writev methods and use aio_read/aio_write instead</title>
<updated>2006-10-01T07:39:28Z</updated>
<author>
<name>Badari Pulavarty</name>
<email>pbadari@us.ibm.com</email>
</author>
<published>2006-10-01T06:28:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ee0b3e671baff681d69fbf0db33b47603c0a8280'/>
<id>urn:sha1:ee0b3e671baff681d69fbf0db33b47603c0a8280</id>
<content type='text'>
This patch removes readv() and writev() methods and replaces them with
aio_read()/aio_write() methods.

Signed-off-by: Badari Pulavarty &lt;pbadari@us.ibm.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] fuse: add lock annotations to request_end and fuse_read_interrupt</title>
<updated>2006-09-29T16:18:08Z</updated>
<author>
<name>Josh Triplett</name>
<email>josht@us.ibm.com</email>
</author>
<published>2006-09-29T08:59:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=105f4d7a813e9ef6be58549f5d2a49af1764da19'/>
<id>urn:sha1:105f4d7a813e9ef6be58549f5d2a49af1764da19</id>
<content type='text'>
request_end and fuse_read_interrupt release fc-&gt;lock.  Add lock annotations
to these two functions so that sparse can check callers for lock pairing,
and so that sparse will not complain about these functions since they
intentionally use locks in this manner.

Signed-off-by: Josh Triplett &lt;josh@freedesktop.org&gt;
Acked-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] fuse: add request interruption</title>
<updated>2006-06-25T17:01:19Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-06-25T12:48:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a4d27e75ffb7b8ecb7eed0c7db0df975525f3fd7'/>
<id>urn:sha1:a4d27e75ffb7b8ecb7eed0c7db0df975525f3fd7</id>
<content type='text'>
Add synchronous request interruption.  This is needed for file locking
operations which have to be interruptible.  However filesystem may implement
interruptibility of other operations (e.g.  like NFS 'intr' mount option).

Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] fuse: rename the interrupted flag</title>
<updated>2006-06-25T17:01:19Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-06-25T12:48:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f9a2842e5612b93fa20a624a8baa6c2a7ecea504'/>
<id>urn:sha1:f9a2842e5612b93fa20a624a8baa6c2a7ecea504</id>
<content type='text'>
Rename the 'interrupted' flag to 'aborted', since it indicates exactly that,
and next patch will introduce an 'interrupted' flag for a

Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] fuse: ensure FLUSH reaches userspace</title>
<updated>2006-06-25T17:01:19Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-06-25T12:48:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=33649c91a3df57c1090a657637d44b896de367e7'/>
<id>urn:sha1:33649c91a3df57c1090a657637d44b896de367e7</id>
<content type='text'>
All POSIX locks owned by the current task are removed on close().  If the
FLUSH request resulting initiated by close() fails to reach userspace, there
might be locks remaining, which cannot be removed.

The only reason it could fail, is if allocating the request fails.  In this
case use the request reserved for RELEASE, or if that is currently used by
another FLUSH, wait for it to become available.

Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] fuse: add control filesystem</title>
<updated>2006-06-25T17:01:19Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-06-25T12:48:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bafa96541b250a7051e3fbc5de6e8369daf8ffec'/>
<id>urn:sha1:bafa96541b250a7051e3fbc5de6e8369daf8ffec</id>
<content type='text'>
Add a control filesystem to fuse, replacing the attributes currently exported
through sysfs.  An empty directory '/sys/fs/fuse/connections' is still created
in sysfs, and mounting the control filesystem here provides backward
compatibility.

Advantages of the control filesystem over the previous solution:

  - allows the object directory and the attributes to be owned by the
    filesystem owner, hence letting unpriviled users abort the
    filesystem connection

  - does not suffer from module unload race

[akpm@osdl.org: fix this fs for recent dhowells depredations]
[akpm@osdl.org: fix 64-bit printk warnings]
Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] fuse: no backgrounding on interrupt</title>
<updated>2006-06-25T17:01:19Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-06-25T12:48:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51eb01e73599efb88c6c20b1c226d20309a75450'/>
<id>urn:sha1:51eb01e73599efb88c6c20b1c226d20309a75450</id>
<content type='text'>
Don't put requests into the background when a fatal interrupt occurs while the
request is in userspace.  This removes a major wart from the implementation.

Backgrounding of requests was introduced to allow breaking of deadlocks.
However now the same can be achieved by aborting the filesystem through the
'abort' sysfs attribute.

This is a change in the interface, but should not cause problems, since these
kinds of deadlocks never happen during normal operation.

Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[fuse] fix deadlock between fuse_put_super() and request_end(), try #2</title>
<updated>2006-04-26T08:49:06Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-04-26T08:49:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6dbbcb120570d747b00783820ee02d1e1bcf63de'/>
<id>urn:sha1:6dbbcb120570d747b00783820ee02d1e1bcf63de</id>
<content type='text'>
A deadlock was possible, when the last reference to the superblock was
held due to a background request containing a file reference.

Releasing the file would release the vfsmount which in turn would
release the superblock.  Since sbput_sem is held during the fput() and
fuse_put_super() tries to acquire this same semaphore, a deadlock
results.

The solution is to move the fput() outside the region protected by
sbput_sem.

Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
</content>
</entry>
<entry>
<title>Revert "[fuse] fix deadlock between fuse_put_super() and request_end()"</title>
<updated>2006-04-26T08:48:55Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-04-26T08:48:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5a5fb1ea74d8b82ca1461b885a1334fb21e037be'/>
<id>urn:sha1:5a5fb1ea74d8b82ca1461b885a1334fb21e037be</id>
<content type='text'>
This reverts 73ce8355c243a434524a34c05cc417dd0467996e commit.

It was wrong, because it didn't take into account the requirement,
that iput() for background requests must be performed synchronously
with -&gt;put_super(), otherwise active inodes may remain after unmount.

The right solution is to keep the sbput_sem and perform iput() within
the locked region, but move fput() outside sbput_sem.

Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
</content>
</entry>
<entry>
<title>[fuse] Don't init request twice</title>
<updated>2006-04-11T19:16:38Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>miklos@szeredi.hu</email>
</author>
<published>2006-04-11T19:16:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4858cae4f0904681eab58a16891c22397618a2a2'/>
<id>urn:sha1:4858cae4f0904681eab58a16891c22397618a2a2</id>
<content type='text'>
Request is already initialized in fuse_request_alloc() so no need to
do it again in fuse_get_req().

Signed-off-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
</content>
</entry>
</feed>
