Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Lustre 2.12.6
-
None
-
2
-
9223372036854775807
Description
When a directory has ost pool set and a change is made to the stripe offset lustre doesn't check to make sure ost offset is valid. Here for example:
- mkdir creates a directory with PFL.
- Striping is changed to offset of 0. ( This should error out, because offset of 0 (-i 0 ) is not valid for ssd-pool.
> lfs getstripe -d stripe_test_dir
lcm_layout_gen: 0
lcm_mirror_count: 1
lcm_entry_count: 3
lcme_id: N/A
lcme_mirror_id: N/A
lcme_flags: prefer
lcme_extent.e_start: 0
lcme_extent.e_end: 268435456
stripe_count: 1 stripe_size: 16777216 pattern: raid0 stripe_offset: -1 pool: ssd-pool
lcme_id: N/A
lcme_mirror_id: N/A
lcme_flags: prefer
lcme_extent.e_start: 268435456
lcme_extent.e_end: 5368709120
stripe_count: 16 stripe_size: 16777216 pattern: raid0 stripe_offset: -1 pool: ssd-pool
lcme_id: N/A
lcme_mirror_id: N/A
lcme_flags: 0
lcme_extent.e_start: 5368709120
lcme_extent.e_end: EOF
stripe_count: 16 stripe_size: 16777216 pattern: raid0 stripe_offset: -1 pool: hdd-pool
> lfs setstripe -c 1 -i 0 stripe_test_dir
mhanafi@pfe23:/nobackupp17/mhanafi> lfs getstripe -d stripe_test_dir
stripe_count: 1 stripe_size: 1048576 pattern: raid0 stripe_offset: 0 pool: ssd-pool
> touch stripe_test_dir/test
touch: setting times of 'stripe_test_dir/test': No such file or directory
lfs setstripe does check ost offset if the pool is passed.
> lfs setstripe -c 1 -i 0 stripe_test_dir -p ssd-pool lfs setstripe: setstripe error for 'stripe_test_dir': Invalid argument > lfs setstripe -c 1 -i 100 stripe_test_dir -p ssd-pool > touch stripe_test_dir/test