[LU-11156] scrub treat project quota inode as IGIF last_id Created: 18/Jul/18  Updated: 15/Feb/19  Resolved: 09/Aug/18

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.11.0
Fix Version/s: Lustre 2.12.0, Lustre 2.10.7

Type: Bug Priority: Critical
Reporter: Alexander Boyko Assignee: Alexander Boyko
Resolution: Fixed Votes: 0
Labels: patch
Environment:

enabled project quota


Issue Links:
Related
is related to LU-10598 Ignore IGIF formatted last_id Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

If project quota is enabled, scrub treat project quota inode as IGIF last id, cause it has no lma fid and version is 0. And try to create O/inum/LAST_ID O/inum/d{0..31}

And it fails with 

LDISKFS-fs: ldiskfs_getblk:901: aborting transaction: error 28 in __ldiskfs_handle_dirty_metadata
[783792.593392] Call Trace:
 [783792.597289]  [<ffffffff816ae7c8>] dump_stack+0x19/0x1b
 [783792.603819]  [<ffffffff8108ae58>] __warn+0xd8/0x100
 [783792.610095]  [<ffffffff8108af9d>] warn_slowpath_null+0x1d/0x20
 [783792.617369]  [<ffffffffc1564bd2>] __ldiskfs_handle_dirty_metadata+0x1c2/0x220 [ldiskfs]
 [783792.626835]  [<ffffffffc153c841>] ldiskfs_getblk+0x131/0x200 [ldiskfs]
 [783792.634665]  [<ffffffffc153c937>] ldiskfs_bread+0x27/0xc0 [ldiskfs]
 [783792.642167]  [<ffffffffc152e241>] ldiskfs_append+0x81/0x150 [ldiskfs]
 [783792.649826]  [<ffffffffc153524f>] ldiskfs_init_new_dir+0xcf/0x230 [ldiskfs]
 [783792.658049]  [<ffffffffc15355cb>] ldiskfs_mkdir+0x18b/0x290 [ldiskfs]
 [783792.665711]  [<ffffffff81211cdd>] vfs_mkdir+0xbd/0x170
 [783792.672121]  [<ffffffffc1608e61>] simple_mkdir+0x571/0x6b0 [osd_ldiskfs]
 [783792.680600]  [<ffffffffc161b875>] osd_seq_load_locked.isra.21+0x3b5/0x5c3 [osd_ldiskfs]
 [783792.689844]  [<ffffffff81003564>] ? perf_assign_events+0x234/0x2e0
 [783792.697293]  [<ffffffffc16092fc>] osd_seq_load+0x35c/0x520 [osd_ldiskfs]
 [783792.705209]  [<ffffffffc1609501>] osd_object_spec_find+0x41/0x170 [osd_ldiskfs]
 [783792.713706]  [<ffffffffc160c6fc>] osd_obj_spec_insert+0x5c/0x150 [osd_ldiskfs]
 [783792.722131]  [<ffffffffc15f9714>] osd_oi_insert+0xb4/0x4d0 [osd_ldiskfs]
 [783792.729992]  [<ffffffffc160d8ba>] ? osd_scrub_refresh_mapping+0x6a/0x440 [osd_ldiskfs]
 [783792.739074]  [<ffffffffc1564539>] ? __ldiskfs_journal_start_sb+0x69/0xe0 [ldiskfs]
 [783792.747775]  [<ffffffffc160da74>] osd_scrub_refresh_mapping+0x224/0x440 [osd_ldiskfs]
 [783792.756877]  [<ffffffffc15edd2d>] ? osd_ea_fid_set+0xdd/0x420 [osd_ldiskfs]
 [783792.764934]  [<ffffffffc160fcd0>] osd_scrub_check_update+0x280/0x10e0 [osd_ldiskfs]
 [783792.773674]  [<ffffffffc1610b95>] osd_scrub_exec+0x65/0x4f0 [osd_ldiskfs]
 [783792.781529]  [<ffffffffc156b006>] ? ldiskfs_read_inode_bitmap+0x176/0x5c0 [ldiskfs]
 [783792.790229]  [<ffffffffc16114c8>] osd_inode_iteration+0x4a8/0xcf0 [osd_ldiskfs]
 [783792.798834]  [<ffffffffc1610b30>] ? osd_scrub_check_update+0x10e0/0x10e0 [osd_ldiskfs]
 [783792.807873]  [<ffffffffc160e060>] ? osd_preload_next+0xa0/0xa0 [osd_ldiskfs]
 [783792.816258]  [<ffffffffc16125b1>] osd_scrub_main+0x8a1/0xe40 [osd_ldiskfs]
 [783792.824341]  [<ffffffff810c7c80>] ? wake_up_state+0x20/0x20
 [783792.830944]  [<ffffffffc1611d10>] ? osd_inode_iteration+0xcf0/0xcf0 [osd_ldiskfs]
 [783792.839510]  [<ffffffff810b4031>] kthread+0xd1/0xe0
 [783792.845447]  [<ffffffff810b3f60>] ? insert_kthread_work+0x40/0x40
 [783792.852490]  [<ffffffff816c155d>] ret_from_fork+0x5d/0xb0
 [783792.858832]  [<ffffffff810b3f60>] ? insert_kthread_work+0x40/0x40
 [783792.865823] ---[ end trace 6993707a81974a09 ]---
[783792.871346] LDISKFS-fs: ldiskfs_getblk:901: aborting transaction: error 28 in __ldiskfs_handle_dirty_metadata
[783792.882087] LDISKFS-fs error (device md65): ldiskfs_getblk:901: inode #579862668: block 362545323: comm OI_scrub: journal_dirty_metadata failed: handle type 0 started at line 84, credits 16/0, errcode -28
 [783792.917540] Aborting journal on device md65-8.

The fail relates to LU-10598, IGIF with no credits, but the root cause is different - scrub processing the project quota inode.



 Comments   
Comment by Gerrit Updater [ 18/Jul/18 ]

Alexandr Boyko (c17825@cray.com) uploaded a new patch: https://review.whamcloud.com/32829
Subject: LU-11156 scrub: skip project quota inode
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 7b2b640cf02805b73c0559104c8f07e6377c8ab4

Comment by Gerrit Updater [ 09/Aug/18 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32829/
Subject: LU-11156 scrub: skip project quota inode
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: d01fc74e8a347a0c8ebfcf92a49c7f71809cd0ad

Comment by Peter Jones [ 09/Aug/18 ]

Landed for 2.12

Comment by Gerrit Updater [ 07/Jan/19 ]

Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/33971
Subject: LU-11156 scrub: skip project quota inode
Project: fs/lustre-release
Branch: b2_10
Current Patch Set: 1
Commit: dbaf5e43358f4928e18aa244b6ed64ee775d5598

Comment by Gerrit Updater [ 15/Feb/19 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/33971/
Subject: LU-11156 scrub: skip project quota inode
Project: fs/lustre-release
Branch: b2_10
Current Patch Set:
Commit: 25cde5b5b0dbedfba5227752169313004ebbcd35

Generated at Sat Feb 10 02:41:25 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.