Message ID | 20210209180508.22132-2-marek.behun@nic.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [u-boot,1/2] fs: btrfs: skip xattrs in directory listing | expand |
On 2021/2/10 上午2:05, Marek Behún wrote: > Since commit 325dd1f642dd ("fs: btrfs: Use btrfs_iter_dir() to ...") > when btrfs is listing a directory, the output is not aligned: > > <SYMLINK> 15 Wed Sep 09 13:20:03 2020 boot.scr -> @/boot/boot.scr > <DIR> 0 Tue Feb 02 12:42:09 2021 @ > <FILE> 108 Tue Feb 02 12:54:04 2021 1.info > > Return back to how it was displayed previously, i.e.: > > <SYM> 15 Wed Sep 09 13:20:03 2020 boot.scr -> @/boot/boot.scr > <DIR> 0 Tue Feb 02 12:42:09 2021 @ > < > 108 Tue Feb 02 12:54:04 2021 1.info > > Instead of '<FILE>', print '< >', as ext4 driver. > > If an unknown directory item type is encountered, we will print the type > number left padded with spaces, enclosed by '?', instead of '<' and '>', > i.e.: > > ? 30? ............................. name > > Signed-off-by: Marek Behún <marek.behun@nic.cz> > Fixes: 325dd1f642dd ("fs: btrfs: Use btrfs_iter_dir() to replace ...") > Cc: David Sterba <dsterba@suse.com> > Cc: Qu Wenruo <wqu@suse.com> > Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Qu Wenruo <wqu@suse.com> > --- > fs/btrfs/btrfs.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/fs/btrfs/btrfs.c b/fs/btrfs/btrfs.c > index 6b4c5feb53..52a243a659 100644 > --- a/fs/btrfs/btrfs.c > +++ b/fs/btrfs/btrfs.c > @@ -22,13 +22,13 @@ static int show_dir(struct btrfs_root *root, struct extent_buffer *eb, > struct btrfs_inode_item ii; > struct btrfs_key key; > static const char* dir_item_str[] = { > - [BTRFS_FT_REG_FILE] = "FILE", > + [BTRFS_FT_REG_FILE] = " ", > [BTRFS_FT_DIR] = "DIR", > - [BTRFS_FT_CHRDEV] = "CHRDEV", > - [BTRFS_FT_BLKDEV] = "BLKDEV", > - [BTRFS_FT_FIFO] = "FIFO", > - [BTRFS_FT_SOCK] = "SOCK", > - [BTRFS_FT_SYMLINK] = "SYMLINK", > + [BTRFS_FT_CHRDEV] = "CHR", > + [BTRFS_FT_BLKDEV] = "BLK", > + [BTRFS_FT_FIFO] = "FIF", > + [BTRFS_FT_SOCK] = "SCK", > + [BTRFS_FT_SYMLINK] = "SYM", Since btrfs-progs also use similar output for its dump-tree, I guess it's also possible to use the similar 3 chars output, except the FILE. Thanks, Qu > }; > u8 type = btrfs_dir_type(eb, di); > char namebuf[BTRFS_NAME_LEN]; > @@ -93,7 +93,7 @@ static int show_dir(struct btrfs_root *root, struct extent_buffer *eb, > if (type < ARRAY_SIZE(dir_item_str) && dir_item_str[type]) > printf("<%s> ", dir_item_str[type]); > else > - printf("DIR_ITEM.%u", type); > + printf("?%3u? ", type); > if (type == BTRFS_FT_CHRDEV || type == BTRFS_FT_BLKDEV) { > ASSERT(key.type == BTRFS_INODE_ITEM_KEY); > printf("%4llu,%5llu ", btrfs_stack_inode_rdev(&ii) >> 20, >
On Tue, Feb 09, 2021 at 07:05:08PM +0100, Marek Behún wrote: > Since commit 325dd1f642dd ("fs: btrfs: Use btrfs_iter_dir() to ...") > when btrfs is listing a directory, the output is not aligned: > > <SYMLINK> 15 Wed Sep 09 13:20:03 2020 boot.scr -> @/boot/boot.scr > <DIR> 0 Tue Feb 02 12:42:09 2021 @ > <FILE> 108 Tue Feb 02 12:54:04 2021 1.info > > Return back to how it was displayed previously, i.e.: > > <SYM> 15 Wed Sep 09 13:20:03 2020 boot.scr -> @/boot/boot.scr > <DIR> 0 Tue Feb 02 12:42:09 2021 @ > < > 108 Tue Feb 02 12:54:04 2021 1.info > > Instead of '<FILE>', print '< >', as ext4 driver. > > If an unknown directory item type is encountered, we will print the type > number left padded with spaces, enclosed by '?', instead of '<' and '>', > i.e.: > > ? 30? ............................. name > > Signed-off-by: Marek Behún <marek.behun@nic.cz> > Fixes: 325dd1f642dd ("fs: btrfs: Use btrfs_iter_dir() to replace ...") > Cc: David Sterba <dsterba@suse.com> > Cc: Qu Wenruo <wqu@suse.com> > Cc: Tom Rini <trini@konsulko.com> > Reviewed-by: Qu Wenruo <wqu@suse.com> Applied to u-boot/master, thanks!
diff --git a/fs/btrfs/btrfs.c b/fs/btrfs/btrfs.c index 6b4c5feb53..52a243a659 100644 --- a/fs/btrfs/btrfs.c +++ b/fs/btrfs/btrfs.c @@ -22,13 +22,13 @@ static int show_dir(struct btrfs_root *root, struct extent_buffer *eb, struct btrfs_inode_item ii; struct btrfs_key key; static const char* dir_item_str[] = { - [BTRFS_FT_REG_FILE] = "FILE", + [BTRFS_FT_REG_FILE] = " ", [BTRFS_FT_DIR] = "DIR", - [BTRFS_FT_CHRDEV] = "CHRDEV", - [BTRFS_FT_BLKDEV] = "BLKDEV", - [BTRFS_FT_FIFO] = "FIFO", - [BTRFS_FT_SOCK] = "SOCK", - [BTRFS_FT_SYMLINK] = "SYMLINK", + [BTRFS_FT_CHRDEV] = "CHR", + [BTRFS_FT_BLKDEV] = "BLK", + [BTRFS_FT_FIFO] = "FIF", + [BTRFS_FT_SOCK] = "SCK", + [BTRFS_FT_SYMLINK] = "SYM", }; u8 type = btrfs_dir_type(eb, di); char namebuf[BTRFS_NAME_LEN]; @@ -93,7 +93,7 @@ static int show_dir(struct btrfs_root *root, struct extent_buffer *eb, if (type < ARRAY_SIZE(dir_item_str) && dir_item_str[type]) printf("<%s> ", dir_item_str[type]); else - printf("DIR_ITEM.%u", type); + printf("?%3u? ", type); if (type == BTRFS_FT_CHRDEV || type == BTRFS_FT_BLKDEV) { ASSERT(key.type == BTRFS_INODE_ITEM_KEY); printf("%4llu,%5llu ", btrfs_stack_inode_rdev(&ii) >> 20,
Since commit 325dd1f642dd ("fs: btrfs: Use btrfs_iter_dir() to ...") when btrfs is listing a directory, the output is not aligned: <SYMLINK> 15 Wed Sep 09 13:20:03 2020 boot.scr -> @/boot/boot.scr <DIR> 0 Tue Feb 02 12:42:09 2021 @ <FILE> 108 Tue Feb 02 12:54:04 2021 1.info Return back to how it was displayed previously, i.e.: <SYM> 15 Wed Sep 09 13:20:03 2020 boot.scr -> @/boot/boot.scr <DIR> 0 Tue Feb 02 12:42:09 2021 @ < > 108 Tue Feb 02 12:54:04 2021 1.info Instead of '<FILE>', print '< >', as ext4 driver. If an unknown directory item type is encountered, we will print the type number left padded with spaces, enclosed by '?', instead of '<' and '>', i.e.: ? 30? ............................. name Signed-off-by: Marek Behún <marek.behun@nic.cz> Fixes: 325dd1f642dd ("fs: btrfs: Use btrfs_iter_dir() to replace ...") Cc: David Sterba <dsterba@suse.com> Cc: Qu Wenruo <wqu@suse.com> Cc: Tom Rini <trini@konsulko.com> --- fs/btrfs/btrfs.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)