diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2017-10-01 17:56:54 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2017-10-01 17:56:54 -0400 |
commit | 9ca250a5137f3df7ffac58b49660beadd5926ace (patch) | |
tree | 4680883fd9cc5a7d8a369d4537e87b33aadf8c4b | |
parent | 19fe5f643f89f29c1a16bc474d91506b0e9a6232 (diff) | |
download | linux-9ca250a5137f3df7ffac58b49660beadd5926ace.tar.gz linux-9ca250a5137f3df7ffac58b49660beadd5926ace.tar.bz2 linux-9ca250a5137f3df7ffac58b49660beadd5926ace.zip |
iomap: Add IOMAP_F_DATA_INLINE flag
Add a new IOMAP_F_DATA_INLINE flag to indicate that a mapping is in a
disk area that contains data as well as metadata. In iomap_fiemap, map
this flag to FIEMAP_EXTENT_DATA_INLINE.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
-rw-r--r-- | fs/iomap.c | 2 | ||||
-rw-r--r-- | include/linux/iomap.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/fs/iomap.c b/fs/iomap.c index d25db039ee13..379eb9896093 100644 --- a/fs/iomap.c +++ b/fs/iomap.c @@ -510,6 +510,8 @@ static int iomap_to_fiemap(struct fiemap_extent_info *fi, flags |= FIEMAP_EXTENT_MERGED; if (iomap->flags & IOMAP_F_SHARED) flags |= FIEMAP_EXTENT_SHARED; + if (iomap->flags & IOMAP_F_DATA_INLINE) + flags |= FIEMAP_EXTENT_DATA_INLINE; return fiemap_fill_next_extent(fi, iomap->offset, iomap->addr != IOMAP_NULL_ADDR ? iomap->addr : 0, diff --git a/include/linux/iomap.h b/include/linux/iomap.h index 7b8a615fa021..2b0790dbd6ea 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@ -26,8 +26,9 @@ struct vm_fault; /* * Flags that only need to be reported for IOMAP_REPORT requests: */ -#define IOMAP_F_MERGED 0x10 /* contains multiple blocks/extents */ -#define IOMAP_F_SHARED 0x20 /* block shared with another file */ +#define IOMAP_F_MERGED 0x10 /* contains multiple blocks/extents */ +#define IOMAP_F_SHARED 0x20 /* block shared with another file */ +#define IOMAP_F_DATA_INLINE 0x40 /* data inline in the inode */ /* * Magic value for addr: |