<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/fuse/fuse_i.h, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-05-06T21:32:51Z</updated>
<entry>
<title>fuse: pull iov_iter initializations up</title>
<updated>2014-05-06T21:32:51Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2014-03-16T19:50:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d22a943f44c79c98ac7a93653fdd330378581741'/>
<id>urn:sha1:d22a943f44c79c98ac7a93653fdd330378581741</id>
<content type='text'>
... to fuse_direct_{read,write}().  -&gt;direct_IO() path uses the
iov_iter passed by the caller instead.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>fuse: add renameat2 support</title>
<updated>2014-04-28T14:43:44Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2014-04-28T14:43:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1560c974dcd40a8d3f193283acd7cc6aee13dc13'/>
<id>urn:sha1:1560c974dcd40a8d3f193283acd7cc6aee13dc13</id>
<content type='text'>
Support RENAME_EXCHANGE and RENAME_NOREPLACE flags on the userspace ABI.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: allow ctime flushing to userspace</title>
<updated>2014-04-28T12:19:24Z</updated>
<author>
<name>Maxim Patlasov</name>
</author>
<published>2014-04-28T12:19:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab9e13f7c771b511d8f71666e83cb27bcc635b98'/>
<id>urn:sha1:ab9e13f7c771b511d8f71666e83cb27bcc635b98</id>
<content type='text'>
The patch extends fuse_setattr_in, and extends the flush procedure
(fuse_flush_times()) called on -&gt;write_inode() to send the ctime as well as
mtime.

Signed-off-by: Maxim Patlasov &lt;MPatlasov@parallels.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: add .write_inode</title>
<updated>2014-04-28T12:19:23Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2014-04-28T12:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e18bda86e2dcc4ecb176213ee34649c93ad1396'/>
<id>urn:sha1:1e18bda86e2dcc4ecb176213ee34649c93ad1396</id>
<content type='text'>
...and flush mtime from this.  This allows us to use the kernel
infrastructure for writing out dirty metadata (mtime at this point, but
ctime in the next patches and also maybe atime).

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: add __exit to fuse_ctl_cleanup</title>
<updated>2014-04-28T12:19:21Z</updated>
<author>
<name>Fabian Frederick</name>
</author>
<published>2014-04-23T16:14:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7736e8cc51bbfdbd538c1870c314eb3483fe04ed'/>
<id>urn:sha1:7736e8cc51bbfdbd538c1870c314eb3483fe04ed</id>
<content type='text'>
fuse_ctl_cleanup is only called by __exit fuse_exit

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: Fix O_DIRECT operations vs cached writeback misorder</title>
<updated>2014-04-02T13:38:50Z</updated>
<author>
<name>Pavel Emelyanov</name>
</author>
<published>2013-10-10T13:12:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea8cd33390fafc1eca06a26e6a9c7bf1d386526f'/>
<id>urn:sha1:ea8cd33390fafc1eca06a26e6a9c7bf1d386526f</id>
<content type='text'>
The problem is:

1. write cached data to a file
2. read directly from the same file (via another fd)

The 2nd operation may read stale data, i.e. the one that was in a file
before the 1st op. Problem is in how fuse manages writeback.

When direct op occurs the core kernel code calls filemap_write_and_wait
to flush all the cached ops in flight. But fuse acks the writeback right
after the -&gt;writepages callback exits w/o waiting for the real write to
happen. Thus the subsequent direct op proceeds while the real writeback
is still in flight. This is a problem for backends that reorder operation.

Fix this by making the fuse direct IO callback explicitly wait on the
in-flight writeback to finish.

Signed-off-by: Maxim Patlasov &lt;MPatlasov@parallels.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: Trust kernel i_mtime only</title>
<updated>2014-04-02T13:38:48Z</updated>
<author>
<name>Maxim Patlasov</name>
</author>
<published>2013-12-26T15:51:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0aa760652179072119582375f8dc896ed5b5dfd'/>
<id>urn:sha1:b0aa760652179072119582375f8dc896ed5b5dfd</id>
<content type='text'>
Let the kernel maintain i_mtime locally:
 - clear S_NOCMTIME
 - implement i_op-&gt;update_time()
 - flush mtime on fsync and last close
 - update i_mtime explicitly on truncate and fallocate

Fuse inode flag FUSE_I_MTIME_DIRTY serves as indication that local i_mtime
should be flushed to the server eventually.

Signed-off-by: Maxim Patlasov &lt;MPatlasov@parallels.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: Connection bit for enabling writeback</title>
<updated>2014-04-02T13:38:48Z</updated>
<author>
<name>Pavel Emelyanov</name>
</author>
<published>2013-10-10T13:10:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5cd66c58edf10a7ee786659994595fd43995aab'/>
<id>urn:sha1:d5cd66c58edf10a7ee786659994595fd43995aab</id>
<content type='text'>
Off (0) by default. Will be used in the next patches and will be turned
on at the very end.

Signed-off-by: Maxim Patlasov &lt;MPatlasov@parallels.com&gt;
Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: support clients that don't implement 'open'</title>
<updated>2014-01-22T18:36:59Z</updated>
<author>
<name>Andrew Gallagher</name>
</author>
<published>2013-11-05T15:05:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7678ac50615d9c7a491d9861e020e4f5f71b594c'/>
<id>urn:sha1:7678ac50615d9c7a491d9861e020e4f5f71b594c</id>
<content type='text'>
open/release operations require userspace transitions to keep track
of the open count and to perform any FS-specific setup.  However,
for some purely read-only FSs which don't need to perform any setup
at open/release time, we can avoid the performance overhead of
calling into userspace for open/release calls.

This patch adds the necessary support to the fuse kernel modules to prevent
open/release operations from hitting in userspace. When the client returns
ENOSYS, we avoid sending the subsequent release to userspace, and also
remember this so that future opens also don't trigger a userspace
operation.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: don't invalidate attrs when not using atime</title>
<updated>2014-01-22T18:36:58Z</updated>
<author>
<name>Andrew Gallagher</name>
</author>
<published>2013-11-05T11:55:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=451418fc928b5ec1ee96a9afac807b6312811a2a'/>
<id>urn:sha1:451418fc928b5ec1ee96a9afac807b6312811a2a</id>
<content type='text'>
Various read operations (e.g. readlink, readdir) invalidate the cached
attrs for atime changes.  This patch adds a new function
'fuse_invalidate_atime', which checks for a read-only super block and
avoids the attr invalidation in that case.

Signed-off-by: Andrew Gallagher &lt;andrewjcg@fb.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
</feed>
