Re: [PATCH 2/4] btrfs-progs: Make btrfs-debug-tree print all readable strings for inode flags

2016-10-11 Thread David Sterba
On Tue, Oct 11, 2016 at 10:18:51AM +0800, Qu Wenruo wrote:
> >> -/* Caller should ensure sizeof(*ret) >= 29 "NODATASUM|NODATACOW|READONLY" 
> >> */
> >> +#define copy_one_inode_flag(flags, name, empty, dst) ({   
> >> \
> >> +  if (flags & BTRFS_INODE_##name) {   \
> >> +  if (!empty) \
> >> +  strcat(dst, "|");   \
> >> +  strcat(dst, #name); \
> >> +  empty = 0;  \
> >> +  }   \
> >> +})
> >
> > Can you please avoid using the macro? Or at least make it uppercase so
> > it's visible. Similar in the next patch.
> >
> >
> OK, I'll change it to upper case.

Ok.

> The only reason I'm using macro is, inline function can't do 
> stringification, or I missed something?

No, that's where macros help. My concern was about the hidden use of a
local variable, so at least an all-caps macro name would make it more
visible. As this is not going to be used elsewhere, we can live with
that.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/4] btrfs-progs: Make btrfs-debug-tree print all readable strings for inode flags

2016-10-10 Thread Qu Wenruo



At 10/10/2016 11:50 PM, David Sterba wrote:

On Mon, Oct 10, 2016 at 11:11:19AM +0800, Qu Wenruo wrote:

Before this patch, only 3 inode flags have readable string: NODATACOW,
NODATASUM, READONLY.

This patch will output all readable strings for remaining inode flags,
making debug-tree tool more handy.

Signed-off-by: Qu Wenruo 
---
 print-tree.c | 46 ++
 1 file changed, 26 insertions(+), 20 deletions(-)

diff --git a/print-tree.c b/print-tree.c
index a14..f015646 100644
--- a/print-tree.c
+++ b/print-tree.c
@@ -851,29 +851,35 @@ static void print_uuid_item(struct extent_buffer *l, 
unsigned long offset,
}
 }

-/* Caller should ensure sizeof(*ret) >= 29 "NODATASUM|NODATACOW|READONLY" */
+#define copy_one_inode_flag(flags, name, empty, dst) ({
\
+   if (flags & BTRFS_INODE_##name) {   \
+   if (!empty) \
+   strcat(dst, "|"); \
+   strcat(dst, #name); \
+   empty = 0;  \
+   }   \
+})


Can you please avoid using the macro? Or at least make it uppercase so
it's visible. Similar in the next patch.



OK, I'll change it to upper case.

The only reason I'm using macro is, inline function can't do 
stringification, or I missed something?


Thanks,
Qu


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


Re: [PATCH 2/4] btrfs-progs: Make btrfs-debug-tree print all readable strings for inode flags

2016-10-10 Thread David Sterba
On Mon, Oct 10, 2016 at 11:11:19AM +0800, Qu Wenruo wrote:
> Before this patch, only 3 inode flags have readable string: NODATACOW,
> NODATASUM, READONLY.
> 
> This patch will output all readable strings for remaining inode flags,
> making debug-tree tool more handy.
> 
> Signed-off-by: Qu Wenruo 
> ---
>  print-tree.c | 46 ++
>  1 file changed, 26 insertions(+), 20 deletions(-)
> 
> diff --git a/print-tree.c b/print-tree.c
> index a14..f015646 100644
> --- a/print-tree.c
> +++ b/print-tree.c
> @@ -851,29 +851,35 @@ static void print_uuid_item(struct extent_buffer *l, 
> unsigned long offset,
>   }
>  }
>  
> -/* Caller should ensure sizeof(*ret) >= 29 "NODATASUM|NODATACOW|READONLY" */
> +#define copy_one_inode_flag(flags, name, empty, dst) ({  
> \
> + if (flags & BTRFS_INODE_##name) {   \
> + if (!empty) \
> + strcat(dst, "|");   \
> + strcat(dst, #name); \
> + empty = 0;  \
> + }   \
> +})

Can you please avoid using the macro? Or at least make it uppercase so
it's visible. Similar in the next patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html