diff options
Diffstat (limited to 'fs/fuse/dir.c')
-rw-r--r-- | fs/fuse/dir.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 8c233834591f..e6ba579e2937 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c | |||
@@ -1597,7 +1597,7 @@ static void fuse_setattr_fill(struct fuse_conn *fc, struct fuse_req *req, | |||
1597 | /* | 1597 | /* |
1598 | * Flush inode->i_mtime to the server | 1598 | * Flush inode->i_mtime to the server |
1599 | */ | 1599 | */ |
1600 | int fuse_flush_mtime(struct inode *inode, struct fuse_file *ff) | 1600 | int fuse_flush_times(struct inode *inode, struct fuse_file *ff) |
1601 | { | 1601 | { |
1602 | struct fuse_conn *fc = get_fuse_conn(inode); | 1602 | struct fuse_conn *fc = get_fuse_conn(inode); |
1603 | struct fuse_req *req; | 1603 | struct fuse_req *req; |
@@ -1612,9 +1612,14 @@ int fuse_flush_mtime(struct inode *inode, struct fuse_file *ff) | |||
1612 | memset(&inarg, 0, sizeof(inarg)); | 1612 | memset(&inarg, 0, sizeof(inarg)); |
1613 | memset(&outarg, 0, sizeof(outarg)); | 1613 | memset(&outarg, 0, sizeof(outarg)); |
1614 | 1614 | ||
1615 | inarg.valid |= FATTR_MTIME; | 1615 | inarg.valid = FATTR_MTIME; |
1616 | inarg.mtime = inode->i_mtime.tv_sec; | 1616 | inarg.mtime = inode->i_mtime.tv_sec; |
1617 | inarg.mtimensec = inode->i_mtime.tv_nsec; | 1617 | inarg.mtimensec = inode->i_mtime.tv_nsec; |
1618 | if (fc->minor >= 23) { | ||
1619 | inarg.valid |= FATTR_CTIME; | ||
1620 | inarg.ctime = inode->i_ctime.tv_sec; | ||
1621 | inarg.ctimensec = inode->i_ctime.tv_nsec; | ||
1622 | } | ||
1618 | if (ff) { | 1623 | if (ff) { |
1619 | inarg.valid |= FATTR_FH; | 1624 | inarg.valid |= FATTR_FH; |
1620 | inarg.fh = ff->fh; | 1625 | inarg.fh = ff->fh; |