Patchwork e2fsprogs/filefrag: print shared extent flag

login
register
mail settings
Submitter Mark Fasheh
Date April 17, 2014, 9:41 p.m.
Message ID <20140417214146.GD27178@wotan.suse.de>
Download mbox | patch
Permalink /patch/340077/
State Accepted
Headers show

Comments

Mark Fasheh - April 17, 2014, 9:41 p.m.
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 <mfasheh@suse.de>
---
 lib/ext2fs/fiemap.h | 2 ++
 misc/filefrag.c     | 2 ++
 2 files changed, 4 insertions(+)
Theodore Ts'o - April 27, 2014, 12:24 a.m.
On Thu, Apr 17, 2014 at 02:41:46PM -0700, Mark Fasheh wrote:
> 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 <mfasheh@suse.de>

Thanks, applied.

					- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/lib/ext2fs/fiemap.h b/lib/ext2fs/fiemap.h
index 30bf555..895cd0b 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 a050a22..929a33b 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,");