[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