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