On Thu, May 23, 2019 at 03:44:49PM +0200, Jan Kara wrote: > On Mon 29-04-19 12:26:43, Goldwyn Rodrigues wrote: > > From: Adam Borowski <kilobyte@xxxxxxxxxx> > > > > Used by userspace to detect DAX. > > [rgoldwyn@xxxxxxxx: Added CONFIG_FS_DAX around mmap_supported_flags] > > Why the CONFIG_FS_DAX bit? Your mmap(2) implementation understands > implications of MAP_SYNC flag and that's all that's needed to set > .mmap_supported_flags. Good point. Also, that check will need to be updated when the pmem-virtio patchset goes in. > > Signed-off-by: Adam Borowski <kilobyte@xxxxxxxxxx> > > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > --- > > fs/btrfs/file.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c > > index 9d5a3c99a6b9..362a9cf9dcb2 100644 > > --- a/fs/btrfs/file.c > > +++ b/fs/btrfs/file.c > > @@ -16,6 +16,7 @@ > > #include <linux/btrfs.h> > > #include <linux/uio.h> > > #include <linux/iversion.h> > > +#include <linux/mman.h> > > #include "ctree.h" > > #include "disk-io.h" > > #include "transaction.h" > > @@ -3319,6 +3320,9 @@ const struct file_operations btrfs_file_operations = { > > .splice_read = generic_file_splice_read, > > .write_iter = btrfs_file_write_iter, > > .mmap = btrfs_file_mmap, > > +#ifdef CONFIG_FS_DAX > > + .mmap_supported_flags = MAP_SYNC, > > +#endif > > .open = btrfs_file_open, > > .release = btrfs_release_file, > > .fsync = btrfs_sync_file, > > -- > > 2.16.4 > > > -- > Jan Kara <jack@xxxxxxxx> > SUSE Labs, CR > -- ⢀⣴⠾⠻⢶⣦⠀ Latin: meow 4 characters, 4 columns, 4 bytes ⣾⠁⢠⠒⠀⣿⡁ Greek: μεου 4 characters, 4 columns, 8 bytes ⢿⡄⠘⠷⠚⠋ Runes: ᛗᛖᛟᚹ 4 characters, 4 columns, 12 bytes ⠈⠳⣄⠀⠀⠀⠀ Chinese: 喵 1 character, 2 columns, 3 bytes <-- best!