[v4,3/7] debugfs: 64bit inode support

Message ID 20180504070923.45140-4-c17828@cray.com
State Changes Requested
Headers show
Series
  • 64bit inode e2fsprogs support
Related show

Commit Message

c17828 May 4, 2018, 7:09 a.m.
From: Artem Blagodarenko <artem.blagodarenko@gmail.com>

New dirdata type EXT2_DIRENT_INODE is added.

Lustre-bug: https://jira.hpdd.intel.com/browse/LU-9309
Signed-off-by: Artem Blagodarenko <artem.blagodarenko@gmail.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
---
 debugfs/ls.c         | 4 +++-
 lib/ext2fs/ext2_fs.h | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

Patch

diff --git a/debugfs/ls.c b/debugfs/ls.c
index 082c14b9..bed4ad44 100644
--- a/debugfs/ls.c
+++ b/debugfs/ls.c
@@ -87,7 +87,9 @@  static void list_dirdata(struct list_dir_struct *ls,
 
 		dlen = data[0];
 
-		if (dirdata_mask == EXT2_DIRENT_LUFID) {
+		if (dirdata_mask == EXT2_DIRENT_INODE) {
+			fprintf(ls->f, "ino64:%04\n", *(__u32 *)(data + 1));
+		} else if (dirdata_mask == EXT2_DIRENT_LUFID) {
 			struct lu_fid *fid = (struct lu_fid *)(data + 1);
 
 			fid_be_to_cpu(fid, fid);
diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h
index 4919f946..4681a216 100644
--- a/lib/ext2fs/ext2_fs.h
+++ b/lib/ext2fs/ext2_fs.h
@@ -1041,6 +1041,7 @@  struct ext2_dir_entry_tail {
 /* lu_fid size and NUL char */
 #define EXT2_DIRENT_LUFID_SIZE		16
 #define EXT2_DIRENT_LUFID		0x10
+#define EXT2_DIRENT_INODE		0x20
 
 /*
  * Constants for ext4's extended time encoding