[LU-4973] MDD does not check nlink maximum limit properly, and cause LBUG in OSD layer(osd_handler.c:2805:osd_object_ref_add()) ASSERTION( inode->i_nlink <= 65000 ) Created: 29/Apr/14  Updated: 13/Sep/17  Resolved: 13/Jun/14

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.6.0, Lustre 2.5.1
Fix Version/s: Lustre 2.6.0

Type: Bug Priority: Critical
Reporter: Di Wang Assignee: Di Wang
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-4705 LustreError: 89827:0:(mdc_locks.c:916... Resolved
Severity: 3
Rank (Obsolete): 13786

 Description   

We did not check nlink properly in MDD layer
[5/30/14, 12:32:08 PM] Andreas Dilger: # touch /mnt/testfs/foo; mkdir /mnt/testfs/d0

  1. ./createmany -l /mnt/testfs/foo /mnt/testfs/d0/f 80000
  • created 10000 (time 1401478106.75 total 17.33 last 17.33)
  • created 20000 (time 1401478117.97 total 28.54 last 11.22)
  • created 30000 (time 1401478128.66 total 39.24 last 10.70)
  • created 40000 (time 1401478139.82 total 50.40 last 11.16)
  • created 50000 (time 1401478150.49 total 61.07 last 10.67)
  • created 60000 (time 1401478161.25 total 71.83 last 10.76)

Message from syslogd@sookie-gig at May 30 13:29:26 ...
kernel:LustreError: 26342:0:(osd_handler.c:2805:osd_object_ref_add()) ASSERTION( inode->i_nlink <= 65000 ) failed:
[5/30/14, 12:32:26 PM] Andreas Dilger: so we do check, just not in a robust manner...
[5/30/14, 12:32:46 PM] wangdi: yes, we do not check it properly in MDD layer
[5/30/14, 12:33:42 PM] wangdi: also in 2.4 and 2.5 I think



 Comments   
Comment by Andreas Dilger [ 29/Apr/14 ]

It should return an error when trying to link to a directory.

Comment by Andreas Dilger [ 29/Apr/14 ]

Patch (untested) at http://review.whamcloud.com/10150 to hopefully fix this problem and quiet a few related warnings along the way.

Comment by Jodi Levi (Inactive) [ 13/Jun/14 ]

Patch landed to Master.

Generated at Sat Feb 10 01:47:27 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.