<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/fuse, branch v3.15.3</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/fuse?h=v3.15.3</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/fuse?h=v3.15.3'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-04-28T14:43:44Z</updated>
<entry>
<title>fuse: add renameat2 support</title>
<updated>2014-04-28T14:43:44Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2014-04-28T14:43:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/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: clear MS_I_VERSION</title>
<updated>2014-04-28T12:19:25Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2014-04-28T12:19:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ace1f85a7cdab5453c2e12029ff978dd4cd6155'/>
<id>urn:sha1:4ace1f85a7cdab5453c2e12029ff978dd4cd6155</id>
<content type='text'>
Fuse doesn't support i_version (yet).

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: clear FUSE_I_CTIME_DIRTY flag on setattr</title>
<updated>2014-04-28T12:19:25Z</updated>
<author>
<name>Maxim Patlasov</name>
<email>MPatlasov@parallels.com</email>
</author>
<published>2014-04-28T12:19:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3ad22c62dd23ad26c8737c300f455de60ba01f40'/>
<id>urn:sha1:3ad22c62dd23ad26c8737c300f455de60ba01f40</id>
<content type='text'>
The patch addresses two use-cases when the flag may be safely cleared:

1. fuse_do_setattr() is called with ATTR_CTIME flag set in attr-&gt;ia_valid.
In this case attr-&gt;ia_ctime bears actual value. In-kernel fuse must send it
to the userspace server and then assign the value to inode-&gt;i_ctime.

2. fuse_do_setattr() is called with ATTR_SIZE flag set in attr-&gt;ia_valid,
whereas ATTR_CTIME is not set (truncate(2)).
In this case in-kernel fuse must sent "now" to the userspace server and then
assign the value to inode-&gt;i_ctime.

In both cases we could clear I_DIRTY_SYNC, but that needs more thought.

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_ctime only</title>
<updated>2014-04-28T12:19:24Z</updated>
<author>
<name>Maxim Patlasov</name>
<email>MPatlasov@parallels.com</email>
</author>
<published>2014-04-28T12:19:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=31f3267b4ba16b12fb9dd3b1953ea0f221cc2ab4'/>
<id>urn:sha1:31f3267b4ba16b12fb9dd3b1953ea0f221cc2ab4</id>
<content type='text'>
Let the kernel maintain i_ctime locally: update i_ctime explicitly on
truncate, fallocate, open(O_TRUNC), setxattr, removexattr, link, rename,
unlink.

The inode flag I_DIRTY_SYNC serves as indication that local i_ctime should
be flushed to the server eventually.  The patch sets the flag and updates
i_ctime in course of operations listed above.

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: remove .update_time</title>
<updated>2014-04-28T12:19:24Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2014-04-28T12:19:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8b47e73e91c064cd75e8bf458ce738e1bfe2e700'/>
<id>urn:sha1:8b47e73e91c064cd75e8bf458ce738e1bfe2e700</id>
<content type='text'>
This implements updating ctime as well as mtime on file_update_time().

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>
<email>MPatlasov@parallels.com</email>
</author>
<published>2014-04-28T12:19:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/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: fuse: add time_gran to INIT_OUT</title>
<updated>2014-04-28T12:19:23Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2014-04-28T12:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e27c9d3877a0d0479711a55f5cdd7ee91442da53'/>
<id>urn:sha1:e27c9d3877a0d0479711a55f5cdd7ee91442da53</id>
<content type='text'>
Allow userspace fs to specify time granularity.

This is needed because with writeback_cache mode the kernel is responsible
for generating mtime and ctime, but if the underlying filesystem doesn't
support nanosecond granularity then the cache will contain a different
value from the one stored on the filesystem resulting in a change of times
after a cache flush.

Make the default granularity 1s.

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>
<email>mszeredi@suse.cz</email>
</author>
<published>2014-04-28T12:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/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: clean up fsync</title>
<updated>2014-04-28T12:19:23Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2014-04-28T12:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=22401e7b7a686bff02549cd648ba6f73f8dba868'/>
<id>urn:sha1:22401e7b7a686bff02549cd648ba6f73f8dba868</id>
<content type='text'>
Don't need to start I/O twice (once without i_mutex and one within).

Also make sure that even if the userspace filesystem doesn't support FSYNC
we do all the steps other than sending the message.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: fuse: fallocate: use file_update_time()</title>
<updated>2014-04-28T12:19:22Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2014-04-28T12:19:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=93d2269d2ffb871fdfc5555cb5d4a7c0fc56e7fe'/>
<id>urn:sha1:93d2269d2ffb871fdfc5555cb5d4a7c0fc56e7fe</id>
<content type='text'>
in preparation for getting rid of FUSE_I_MTIME_DIRTY.

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