On 5/26/20 5:49 PM, Gao Xiang wrote:
Hi Chengguang,

On Tue, May 26, 2020 at 05:03:43PM +0800, Chengguang Xu wrote:
Define erofs_listxattr and erofs_xattr_handlers to NULL when
CONFIG_EROFS_FS_XATTR is not enabled, then we can remove many
ugly ifdef macros in the code.

Signed-off-by: Chengguang Xu <[email protected]>
---
Only compile tested.

  fs/erofs/inode.c | 6 ------
  fs/erofs/namei.c | 2 --
  fs/erofs/super.c | 4 +---
  fs/erofs/xattr.h | 7 ++-----
  4 files changed, 3 insertions(+), 16 deletions(-)

diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index 3350ab65d892..7dd4bbe9674f 100644
--- a/fs/erofs/inode.c
+++ b/fs/erofs/inode.c
@@ -311,27 +311,21 @@ int erofs_getattr(const struct path *path, struct kstat 
*stat,
const struct inode_operations erofs_generic_iops = {
        .getattr = erofs_getattr,
-#ifdef CONFIG_EROFS_FS_XATTR
        .listxattr = erofs_listxattr,
-#endif

It seems equivalent. And it seems ext2 and f2fs behave in the same way...

I posted similar patch for ext2 and Jack merged to
his tree the other day, though that series also
included a real bugfix. I also posted similar patch
to f2fs, so if erofs and f2fs merge these patches
then all three will behave in the same way, ;-)

You may refer below link for the detail.

https://lore.kernel.org/linux-ext4/[email protected]/


But I'm not sure whether we'd return 0 (if I didn't see fs/xattr.c by mistake)
or -EOPNOTSUPP here... Some thoughts about this? >
Anyway, I'm fine with that if return 0 is okay here, but I'd like to know your
and Chao's thoughts about this... I will play with it later as well.

Originally, we set erofs_listxattr to ->listxattr only
when the config macro CONFIG_EROFS_FS_XATTR is enabled,
it means that erofs_listxattr() never returns -EOPNOTSUPP
in any case, so actually there is no logic change here,
right?


Thanks,
cgxu

Reply via email to