[LU-14480] Setting specific OST's under pool failed with error message "invalid argument" Created: 02/Mar/21  Updated: 30/Mar/22  Resolved: 22/Mar/21

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.15.0

Type: Bug Priority: Minor
Reporter: Vitaly Fertman Assignee: Vitaly Fertman
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-9392 lfs migrate -o and lfs setstripe -o s... Open
is related to LU-15658 Interop sanity-flr test_0b test_0c te... Resolved
is related to LU-15707 Unable to create file without a pool ... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

the Error appears if the specific OST is not in the pool. at the same time, only the first OST is checked.

the regular setstripe and overstripe's -C option works fine and the same way - they allocate OSTs within the given pool starting with the -i first OST. if the starting index is out of the pool, it is always enough to check only the first ost index in lod_qos_parse_config() ->lod_check_index_in_pool()

however the -o option gives a new opportunity to list all the OSTs we want to place stripes to. and checking only the 1st index is not enough - as the result we may get an error or succeed depending on the 1st index only.

[root@vm71 wc-main]# mkdir /mnt/lustre/d1
[root@vm71 wc-main]# ./lustre/utils/lctl pool_new lustre.lala
./lustre/utils/lctl pool_new lustre.kaka
Pool lustre.lala created
[root@vm71 wc-main]# ./lustre/utils/lctl pool_new lustre.kaka
Pool lustre.kaka created
[root@vm71 wc-main]# ./lustre/utils/lctl pool_add lustre.lala lustre-OST[0]
./lustre/utils/lctl pool_add lustre.kaka lustre-OST[1]
OST lustre-OST0000_UUID added to pool lustre.lala
[root@vm71 wc-main]# ./lustre/utils/lctl pool_add lustre.kaka lustre-OST[1]
OST lustre-OST0001_UUID added to pool lustre.kaka
[root@vm71 wc-main]# ./lustre/utils/lfs setstripe --pool lustre.lala /mnt/lustre/d1/
[root@vm71 wc-main]# ./lustre/utils/lfs setstripe -o 1,0 /mnt/lustre/d1/file2
lt-lfs setstripe: setstripe error for '/mnt/lustre/d1/file2': Invalid argument
[root@vm71 wc-main]# ./lustre/utils/lfs setstripe -o 0,1 /mnt/lustre/d1/file2

the given OST list should have a priority over the pool.



 Comments   
Comment by Gerrit Updater [ 02/Mar/21 ]

Vitaly Fertman (vitaly.fertman@hpe.com) uploaded a new patch: https://review.whamcloud.com/41815
Subject: LU-14480 pool: wrong usage with ost list
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: d50ae8bd096f7fc2fb88f9a99ace0e03665b095d

Comment by Gerrit Updater [ 22/Mar/21 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/41815/
Subject: LU-14480 pool: wrong usage with ost list
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b384ea39e593cda1ac4d6fb8b955d0c7d1a1f67b

Comment by Peter Jones [ 22/Mar/21 ]

Landed for 2.15

Comment by Gerrit Updater [ 28/Jan/22 ]

"Etienne AUJAMES <eaujames@ddn.com>" uploaded a new patch: https://review.whamcloud.com/46362
Subject: LU-14480 pool: wrong usage with ost list
Project: fs/lustre-release
Branch: b2_12
Current Patch Set: 1
Commit: 1a015901ec9a699fb13c502b01b04e9071ee029c

Generated at Sat Feb 10 03:10:07 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.