[Devel] [PATCH 0/7] fuse: fix handling mtime and cmtime in writeback_cache mode
Maxim Patlasov
MPatlasov at parallels.com
Tue Apr 15 04:27:51 PDT 2014
Hi,
The patch-set fixes a few issues introduced by writeback_cache feature:
- fuse_iget() used inode->i_mode before its initialization
- in course of truncate(2), inode->i_mtime was not updated at all
- the same for open(O_TRUNC) in case of fc->atomic_o_trunc is set
- we cannot trust ctime from server anymore because we doesn't
flush all data changes to the server immediately
- to maintain ctime locally, we have to update it in proper places
(fuse_update_time, fallocate, setxattr, etc.)
- locally updated ctime must be flushed to the server eventually.
Maxim
---
Maxim Patlasov (7):
fuse: do not use uninitialized i_mode
fuse: update mtime on truncate(2)
fuse: update mtime on open(O_TRUNC) in atomic_o_trunc mode
fuse: introduce FUSE_I_CTIME_DIRTY flag
fuse: trust kernel i_ctime only
fuse: clear FUSE_I_CTIME_DIRTY flag on setattr
fuse: flush ctime in FUSE_FORGET requests
fs/fuse/dev.c | 30 ++++++++++++---
fs/fuse/dir.c | 88 +++++++++++++++++++++++++++++++++++++++------
fs/fuse/file.c | 37 +++++++++++++------
fs/fuse/fuse_i.h | 6 ++-
fs/fuse/inode.c | 14 ++++++-
include/uapi/linux/fuse.h | 29 +++++++++++++--
6 files changed, 165 insertions(+), 39 deletions(-)
--
Signature
More information about the Devel
mailing list