[v2,4/7] debugfs: 64bit inode support

Message ID 20171114070440.79510-5-artem.blagodarenko@gmail.com
State New
Headers show
Series
  • 64bit inode e2fsprogs support
Related show

Commit Message

Artem Blagodarenko Nov. 14, 2017, 7:04 a.m.
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>
---
 debugfs/ls.c         | 6 ++++--
 lib/ext2fs/ext2_fs.h | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

Comments

Andreas Dilger Nov. 20, 2017, 8:22 p.m. | #1
On Nov 14, 2017, at 12:04 AM, Artem Blagodarenko <artem.blagodarenko@gmail.com> wrote:
> 
> 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>
> ---
> debugfs/ls.c         | 6 ++++--
> lib/ext2fs/ext2_fs.h | 1 +
> 2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/debugfs/ls.c b/debugfs/ls.c
> index 5655933e..b67c0800 100644
> --- a/debugfs/ls.c
> +++ b/debugfs/ls.c
> @@ -64,11 +64,13 @@ 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) {

(style) add {} around first part of if/else if needed on any part.

Looks fine otherwise.  You could add my:

Reviewed-by: Andreas Dilger <adilger@dilger.ca>

Cheers, Andreas

Patch

diff --git a/debugfs/ls.c b/debugfs/ls.c
index 5655933e..b67c0800 100644
--- a/debugfs/ls.c
+++ b/debugfs/ls.c
@@ -64,11 +64,13 @@  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);
-			fprintf(ls->f, DFID, PFID(fid));
+			fprintf(ls->f, "fid:"DFID, PFID(fid));
 		} else {
 			int i;
 
diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h
index f0cab391..90294ed0 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