From: Mark Fasheh Date: Sun, 27 Apr 2014 00:23:00 +0000 (-0400) Subject: e2fsprogs/filefrag: print shared extent flag X-Git-Tag: v1.42.10~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd1413d499a70be5781cfe01258ca529482e7194;p=thirdparty%2Fe2fsprogs.git e2fsprogs/filefrag: print shared extent flag Filefrag doesn't catch and print the shared extent flag. Add this for users of filefrag on file systems with shared extents (such as btrfs). Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/ext2fs/fiemap.h b/lib/ext2fs/fiemap.h index 30bf55558..895cd0bac 100644 --- a/lib/ext2fs/fiemap.h +++ b/lib/ext2fs/fiemap.h @@ -64,5 +64,7 @@ struct fiemap { #define FIEMAP_EXTENT_MERGED 0x00001000 /* File does not natively * support extents. Result * merged for efficiency. */ +#define FIEMAP_EXTENT_SHARED 0x00002000 /* Space shared with other + * files. */ #endif /* _LINUX_FIEMAP_H */ diff --git a/misc/filefrag.c b/misc/filefrag.c index a050a226b..929a33bcf 100644 --- a/misc/filefrag.c +++ b/misc/filefrag.c @@ -165,6 +165,8 @@ static void print_extent_info(struct fiemap_extent *fm_extent, int cur_ex, strcat(flags, "unwritten,"); if (fm_extent->fe_flags & FIEMAP_EXTENT_MERGED) strcat(flags, "merged,"); + if (fm_extent->fe_flags & FIEMAP_EXTENT_SHARED) + strcat(flags, "shared,"); if (fm_extent->fe_logical + fm_extent->fe_length >= (__u64) st->st_size) strcat(flags, "eof,");