]> asedeno.scripts.mit.edu Git - linux.git/commit
btrfs: treat RWF_{,D}SYNC writes as sync for CRCs
authorOmar Sandoval <osandov@fb.com>
Thu, 15 Aug 2019 21:04:03 +0000 (14:04 -0700)
committerDavid Sterba <dsterba@suse.com>
Mon, 9 Sep 2019 12:59:17 +0000 (14:59 +0200)
commitf50cb7aff9645998b3269eac903a5e01cd6ba689
tree34d4341ea2465a68e03ffe87c5ae6597b5c70be2
parentc09767a8960ca0500fb636bf73686723337debf4
btrfs: treat RWF_{,D}SYNC writes as sync for CRCs

The VFS indicates a synchronous write to ->write_iter() via
iocb->ki_flags. The IOCB_{,D}SYNC flags may be set based on the file
(see iocb_flags()) or the RWF_* flags passed to a syscall like
pwritev2() (see kiocb_set_rw_flags()).

However, in btrfs_file_write_iter(), we're checking if a write is
synchronous based only on the file; we use this to decide when to bump
the sync_writers counter and thus do CRCs synchronously. Make sure we do
this for all synchronous writes as determined by the VFS.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: David Sterba <dsterba@suse.com>
[ add const ]
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/file.c