[LU-17500] qmt_adjust_qunit() $$$ enforced bit set, but neither hard nor soft limit are set Created: 02/Feb/24  Updated: 02/Feb/24

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Sergey Cheremencev Assignee: Sergey Cheremencev
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Duplicate
Epic/Theme: quota
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Reproducer:

[root@vm1 tests]# bash ./llmount.sh
[root@vm1 tests]# lfs setquota -u quota_usr -B100M -b80M /mnt/lustre
[root@vm1 tests]# lctl set_param osd*.*.quota_slave.enabled=u
[root@vm1 tests]# lfs setquota -u quota_usr -B0 -b0 /mnt/lustre
[root@vm1 tests]# dmesg | tail -n 5 | grep "enforced bit set"
[ 8123.503012] LustreError: 21362:0:(qmt_entry.c:746:qmt_adjust_qunit()) $$$ enforced bit set, but neither hard nor soft limit are set  qmt:lustre-QMT0000 pool:dt-0x0 id:1000 enforced:1 hard:0 soft:0 granted:0 time:0 qunit: 0 edquot:0 may_rel:0 revoke:0 default:no 

It appears in case if lqe_qunit is still 0 while setting hard and soft limits to 0:

00040000:00000001:3.0:1706587192.270329:0:4272:0:(qmt_handler.c:560:qmt_quotactl()) Process entered
00040000:00000001:3.0:1706587192.270330:0:4272:0:(qmt_handler.c:338:qmt_set()) Process entered
00040000:00000001:3.0:1706587192.270330:0:4272:0:(qmt_pool.c:900:qmt_pool_lqe_lookup()) Process entered
00040000:00000001:3.0:1706587192.270331:0:4272:0:(qmt_pool.c:398:qmt_pool_lookup()) Process entered
00040000:04000000:3.0:1706587192.270331:0:4272:0:(qmt_pool.c:407:qmt_pool_lookup()) type 1 name <none> index -1
00040000:00000001:3.0:1706587192.270332:0:4272:0:(qmt_pool.c:448:qmt_pool_lookup()) Process leaving (rc=18446633131993147392 : -110941716404224 : ffff9b195e672800)
00040000:00000001:3.0:1706587192.270335:0:4272:0:(qmt_pool.c:920:qmt_pool_lqe_lookup()) Process leaving (rc=18446633132688315552 : -110941021236064 : ffff9b1987d694a0)
00040000:00000001:3.0:1706587192.270336:0:4272:0:(qmt_handler.c:164:qmt_set_with_lqe()) Process entered
00040000:04000000:3.0:1706587192.270337:0:4272:0:(qmt_entry.c:301:qmt_trans_start()) $$$ declare write  qmt:lustre-QMT0000 pool:md-0x0 id:1000 enforced:1 hard:105000 soft:100000 granted:0 time:0 qunit: 0 edquot:0 may_rel:0 revoke:0 default:no
00040000:00000001:3.0:1706587192.270339:0:4272:0:(qmt_entry.c:220:qmt_trans_start_with_slv()) Process entered
00040000:00000001:3.0:1706587192.270346:0:4272:0:(qmt_entry.c:270:qmt_trans_start_with_slv()) Process leaving
00040000:04000000:3.0:1706587192.270347:0:4272:0:(qmt_handler.c:184:qmt_set_with_lqe()) $$$ changing quota settings valid:4 hard:0 soft:0 time:0  qmt:lustre-QMT0000 pool:md-0x0 id:1000 enforced:1 hard:105000 soft:100000 granted:0 time:0 qunit: 0 edquot:0 may_rel:0 revoke:0 default:no
00040000:00000001:3.0:1706587192.270349:0:4272:0:(qmt_entry.c:496:qmt_validate_limits()) Process entered
00040000:00000001:3.0:1706587192.270349:0:4272:0:(qmt_entry.c:501:qmt_validate_limits()) Process leaving (rc=0 : 0 : 0)
00040000:00000001:3.0:1706587192.270350:0:4272:0:(qmt_entry.c:707:qmt_adjust_qunit()) Process entered
00040000:00020000:3.0:1706587192.270351:0:4272:0:(qmt_entry.c:746:qmt_adjust_qunit()) $$$ enforced bit set, but neither hard nor soft limit are set  qmt:lustre-QMT0000 pool:md-0x0 id:1000 enforced:1 hard:0 soft:0 granted:0 time:0 qunit: 0 edquot:0 may_rel:0 revoke:0 default:no
00040000:00000001:3.0:1706587192.272085:0:4272:0:(qmt_entry.c:747:qmt_adjust_qunit()) Process leaving (rc=0 : 0 : 0)
00040000:00000001:3.0:1706587192.272086:0:4272:0:(qmt_entry.c:341:qmt_glb_write()) Process entered
00040000:04000000:3.0:1706587192.272087:0:4272:0:(qmt_entry.c:349:qmt_glb_write()) $$$ write glb  qmt:lustre-QMT0000 pool:md-0x0 id:1000 enforced:0 hard:0 soft:0 granted:0 time:0 qunit: 0 edquot:0 may_rel:0 revoke:0 default:no
00040000:00000001:3.0:1706587192.272121:0:4272:0:(qmt_entry.c:383:qmt_glb_write()) Process leaving (rc=0 : 0 : 0)
00040000:00000001:3.0:1706587192.272122:0:4272:0:(qmt_entry.c:707:qmt_adjust_qunit()) Process entered
00040000:00000001:3.0:1706587192.272122:0:4272:0:(qmt_entry.c:713:qmt_adjust_qunit()) Process leaving (rc=0 : 0 : 0)
00040000:00000001:3.0:1706587192.272123:0:4272:0:(qmt_entry.c:514:qmt_adjust_edquot()) Process entered
00040000:00000001:3.0:1706587192.272123:0:4272:0:(qmt_entry.c:517:qmt_adjust_edquot()) Process leaving (rc=0 : 0 : 0)
00040000:00000001:3.0:1706587192.272124:0:4272:0:(qmt_handler.c:275:qmt_set_with_lqe()) Process leaving  


 Comments   
Comment by Gerrit Updater [ 02/Feb/24 ]

"Sergey Cheremencev <scherementsev@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53893
Subject: LU-17500 qmt: avoid "enforced bit set, but neither"
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 91149f1a4e5587846536f9eef6a7a98be52f9a73

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