[LU-4883] mdc_set_lock_data()) ASSERTION( old_inode->i _state & I_FREEING ) failed: ... Created: 11/Apr/14  Updated: 19/May/14  Resolved: 19/May/14

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

Type: Bug Priority: Blocker
Reporter: John Hammond Assignee: Di Wang
Resolution: Fixed Votes: 0
Labels: dne2, mdc

Issue Links:
Related
is related to LU-3531 DNE2: striped directory Resolved
Severity: 3
Rank (Obsolete): 13507

 Description   

This will likely be fixed in the master stripe series (it is currently) but we need to ensure that clients are not allowed to access stripe FIDs and that attempts are handled gracefully.

# git describe
2.5.57-71-g46f58aa
# export MDSCOUNT=4
# llmount.sh 
...
# lfs mkdir -c4 /mnt/lustre/d0
t:~# lfs getdirstripe /mnt/lustre/d0
/mnt/lustre/d0
lmv_stripe_count: 4
lmv_stripe_offset: 0
mdtidx                   FID[seq:oid:ver]
     0                   [0x280000400:0x3:0x0]          
     1                   [0x2c0000400:0x1:0x0]
     2                   [0x300000400:0x1:0x0]   
     3                   [0x340000400:0x1:0x0]  
# stat /mnt/lustre/.lustre/fid/[0x2c0000400:0x1:0x0]
  File: `/mnt/lustre/.lustre/fid/[0x2c0000400:0x1:0x0]'
  Size: 16384           Blocks: 8          IO Block: 4096   directory
Device: 2c54f966h/743766374d    Inode: 198158400784171009  Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-04-08 10:34:54.000000000 -0500
Modify: 2014-04-08 10:34:54.000000000 -0500
Change: 2014-04-08 10:34:54.000000000 -0500
#
# touch /mnt/lustre/.lustre/fid/[0x300000400:0x1:0x0]/f0
# ls /mnt/lustre/d0
f0
# touch /mnt/lustre/.lustre/fid/[0x300000400:0x1:0x0]/f1
# ls /mnt/lustre/d0
f0  f1
# touch /mnt/lustre/.lustre/fid/[0x300000400:0x1:0x0]/f2
# ls /mnt/lustre/d0
f0  f1  f2
# ls -ai /mnt/lustre/.lustre/fid/[0x300000400:0x1:0x0]

Message from syslogd@t at Apr  8 10:38:37 ...
 kernel:LustreError: 26929:0:(mdc_locks.c:130:mdc_set_lock_data()) ASSERTION( old_inode->i_state & I_FREEING ) failed: Found existing inode ffff880216d70bb8/180144002274689027/41943044 state 0 in lock: setting data to ffff8801b7972b78/216172799293652993/50331652
crash> bt
PID: 26929  TASK: ffff8801b2282040  CPU: 2   COMMAND: "ls"
 #0 [ffff8801a7667900] machine_kexec at ffffffff81035d6b
 #1 [ffff8801a7667960] crash_kexec at ffffffff810c0e22
 #2 [ffff8801a7667a30] panic at ffffffff8150f01f
 #3 [ffff8801a7667ab0] lbug_with_loc at ffffffffa0bb4eeb [libcfs]
 #4 [ffff8801a7667ad0] mdc_set_lock_data at ffffffffa07f6a3d [mdc]
 #5 [ffff8801a7667b20] mdc_read_page at ffffffffa07e52df [mdc]
 #6 [ffff8801a7667c40] mdc_read_entry at ffffffffa07e5bb4 [mdc]
 #7 [ffff8801a7667ca0] lmv_read_entry at ffffffffa05c795e [lmv]
 #8 [ffff8801a7667d70] ll_dir_entry_start at ffffffffa0e1bf3d [lustre]
 #9 [ffff8801a7667db0] ll_dir_read at ffffffffa0e1c28f [lustre]
#10 [ffff8801a7667e50] ll_readdir at ffffffffa0e1c56d [lustre]
#11 [ffff8801a7667ee0] vfs_readdir at ffffffff81197da0
#12 [ffff8801a7667f30] sys_getdents at ffffffff81197f29
#13 [ffff8801a7667f80] system_call_fastpath at ffffffff8100b072
    RIP: 0000003d046a8fa5  RSP: 00007fffefe08fd0  RFLAGS: 00010202
    RAX: 000000000000004e  RBX: ffffffff8100b072  RCX: 00000000009dd270
    RDX: 0000000000008000  RSI: 00000000009d5278  RDI: 0000000000000003
    RBP: ffffffffffffff00   R8: 00000000009d5278   R9: 0000000000000001
    R10: 0000000000008028  R11: 0000000000000246  R12: 00000000009d5230
    R13: 00000000009d5278  R14: 0000000000000000  R15: 00000000009d5250
    ORIG_RAX: 000000000000004e  CS: 0033  SS: 002b


 Comments   
Comment by Di Wang [ 23/Apr/14 ]

http://review.whamcloud.com/10060

Comment by Jodi Levi (Inactive) [ 19/May/14 ]

Patch landed to Master. Please reopen ticket if more work is needed.

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