[lkml]   [2014]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/7] fuse: fix handling mtime and cmtime in writeback_cache mode

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 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(-)


 \ /
  Last update: 2014-04-15 13:41    [W:0.064 / U:9.176 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site