Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.11.0
-
3
-
9223372036854775807
Description
Alexander Mitin commented on LU-10030:
--------------------------------------
The wrong constant is used in the implementation of this feature.
File: lustre/utils/lfs_project.c
When process fsx.fsx_xflags bits the following functions use the wrong constant value to check the project inherit flag.
- project_check_one()
- project_set_one()
- project_clear_one()
These functions are using FS_IOC_FSGETXATTR and FS_IOC_FSGETXATTR ioctl calls to get or set fsxattr structure.
Currently, to process fsx_xflags field from the fsxattr structure these functions use the constant LL_PROJINHERIT_FL, which is defined as the following:
#define LL_PROJINHERIT_FL 0x20000000
However, when processing fsx_xflags from the fsxattr structure , the different constant should be used: FS_XFLAG_PROJINHERIT, which is defined in linux/fs.h file as following:
#define FS_XFLAG_PROJINHERIT 0x00000200 /* create with parents projid */
See the following
https://github.com/torvalds/linux/blob/master/include/uapi/linux/fs.h#L155
https://github.com/torvalds/linux/blob/master/include/uapi/linux/fs.h#L178
Attachments
Issue Links
- is related to
-
LU-10030 add native lfs tools support for project quota
- Resolved