[PATCH u-boot 2/2] fs: btrfs: change directory list output to be aligned as before
Qu Wenruo
quwenruo.btrfs at gmx.com
Wed Feb 10 01:20:24 CET 2021
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 at nic.cz>
> Fixes: 325dd1f642dd ("fs: btrfs: Use btrfs_iter_dir() to replace ...")
> Cc: David Sterba <dsterba at suse.com>
> Cc: Qu Wenruo <wqu at suse.com>
> Cc: Tom Rini <trini at konsulko.com>
Reviewed-by: Qu Wenruo <wqu at 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,
>
More information about the U-Boot
mailing list