]> git.baikalelectronics.ru Git - kernel.git/commit
fuse: fix fsync on directory
authorMiklos Szeredi <mszeredi@redhat.com>
Mon, 3 Dec 2018 09:14:43 +0000 (10:14 +0100)
committerMiklos Szeredi <mszeredi@redhat.com>
Mon, 3 Dec 2018 09:14:43 +0000 (10:14 +0100)
commita723008d3c7f2a4443dae92424e408f6922fed64
tree31886a807776ec79f0f82b16cd76268c37894e35
parente410eb0cd8b62648806a0b003cfc458ed5858138
fuse: fix fsync on directory

Commit b4f2f07ae4c4 ("fuse: reduce size of struct fuse_inode") moved parts
of fields related to writeback on regular file and to directory caching
into a union.  However fuse_fsync_common() called from fuse_dir_fsync()
touches some writeback related fields, resulting in a crash.

Move writeback related parts from fuse_fsync_common() to fuse_fysnc().

Reported-by: Brett Girton <btgirton@gmail.com>
Tested-by: Brett Girton <btgirton@gmail.com>
Fixes: b4f2f07ae4c4 ("fuse: reduce size of struct fuse_inode")
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/dir.c
fs/fuse/file.c
fs/fuse/fuse_i.h