Details
-
Improvement
-
Resolution: Fixed
-
Major
-
Lustre 2.15.0
-
None
-
3
-
9223372036854775807
Description
I am reaching out to seek clarification regarding the expected behavior of the "lfs setstripe" command when using the -C -1 option.
Currently, it appears that this command is creating a higher stripe count than anticipated. For instance, on my test system, it generated a stripe count of 2727 for a single file. This count exceeds the allowed limit of LOV_MAX_STRIPE_COUNT.
I am uncertain about the appropriate solution to address this issue related to the "-1" argument. I have contemplated the following options:
1. Consider making the option -1 illegal, preventing its usage altogether.
2. Implement a mechanism to automatically set the stripe count to the maximum allowed value (LOV_MAX_STRIPE_COUNT) if the count exceeds this limit.
I would greatly appreciate your input and guidance in this matter. It is worth noting that setting the stripe count higher than LOV_MAX_STRIPE_COUNT leads to other problems, such as the failure of the "llapi_layout_get_by_fd" API to open the file.
Please let me know your input.
Attachments
Issue Links
- is related to
-
LU-17925 sanity-flr test_0b: lfs mirror create: cannot create composite file: Numerical result out of range
-
- Resolved
-
-
LU-17199 'lfs setstripe -C -1' can be set beyond overstripe count > 2000
-
- Resolved
-
-
LU-18244 add 'lfs mkdir -C -N' overstriping support
-
- Resolved
-
- is related to
-
LU-16623 lod_statfs_and_check() does not skip unusable OSTs
-
- Resolved
-
-
LU-13748 'lfs setstripe -C -1' stripes too widely
-
- Resolved
-
Josh,
Makes sense to me. There's also another possible bug here - how many OSTs do you have on that system? If it's >= 10, then overstriped shouldn't be set by the server code either, which is also a concern. Overstriping should only be set on the file when the actual file striping exceeds the number of available OSTs. (Or at least that was the intent...)
So there may be two things to fix there - proper overriding by later parameters in userspace, so the overstriping flag isn't passed along, and then - if you have >= 10 OSTs, then the server shouldn't set the overstriping pattern regardless of what userspace asked for. If you have 20 OSTs and give -C 10, overstriping shouldn't be set, because the file is not actually overstriped. Overstriping set on a not-overstriped file isn't fatal, but it's definitely wrong.