Project

General

Profile

Bug #38

rm -r failure

Added by Sage Weil over 9 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
04/14/2010
Due date:
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:

Description

seeing this one again on current clients (commit:a6a5349)

History

#1 Updated by Sage Weil over 9 years ago

  • Status changed from New to In Progress
  • Assignee set to Sage Weil

reliably reproducible with kernel_untar_build.sh workunit. looks like problem with dcache_readdir. from the rm -r's readdir, the autoconf.h file gets skipped:

[ 9136.200000] ceph: dir.c:232 : readdir 000000007c1468b8 filp 00000000955a3400 frag 0 off 0
[ 9136.200000] ceph: dir.c:242 : readdir off 0 -> '.'
[ 9136.200000] ceph: dir.c:250 : readdir off 1 -> '..'
[ 9136.200000] ceph: caps.c:745 : __ceph_caps_issued_mask 000000007c1468b8 cap 00000000a09eaa00 issued pAsLsXsxFsx (mask Fs)
[ 9136.200000] ceph: caps.c:709 : __touch_cap 000000007c1468b8 cap 00000000a09eaa00 mds0
[ 9136.200000] ceph: dir.c:108 : __dcache_readdir 000000007c1468b8 at 2 (last (null))
[ 9136.200000] ceph: dir.c:118 : initial p 000000007c3962f0/000000009b5369c0
[ 9136.200000] ceph: dir.c:128 : p 000000007c3962f0/000000009b5369c0 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:141 : skipping 000000007b42a5e8 autoconf.h.gch at 6 (2) null
[ 9136.200000] ceph: dir.c:128 : p 000000007b428800/000000007b42a650 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:141 : skipping 000000007c396288 autoconf.h at 0 (2)
[ 9136.200000] ceph: dir.c:128 : p 000000007b423800/000000007c3962f0 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:152 : 2 (2) dentry 000000007b428798 utsrelease.h 000000007b42dc38
[ 9136.200000] ceph: dir.c:128 : p 000000007b434de8/000000007b428800 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:152 : 7 (3) dentry 000000007b423798 bounds.h 000000009291e8b8
[ 9136.200000] ceph: dir.c:128 : p 000000007b426d10/000000007b423800 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:152 : 9 (8) dentry 000000007b434d80 asm-offsets.h 0000000092b13b78
[ 9136.200000] ceph: dir.c:128 : p 000000007b455800/000000007b434de8 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:141 : skipping 000000007b426ca8 compile.h.gch at 11 (10) null
[ 9136.200000] ceph: dir.c:128 : p 000000007ac78de8/000000007b426d10 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:141 : skipping 000000007b455798 asm-offsets.h.gch at 12 (10) null
[ 9136.200000] ceph: dir.c:128 : p 000000009b5369c0/000000007b455800 d_subdirs 000000007b42a650/000000007ac78de8
[ 9136.200000] ceph: dir.c:152 : 10 (10) dentry 000000007ac78d80 compile.h 0000000092905c38
[ 9136.200000] ceph: dir.c:128 : p 000000007b42a650/000000007ac78de8 d_subdirs 000000007b42a650/000000007ac78de8

#2 Updated by Sage Weil over 9 years ago

  • Status changed from In Progress to Resolved

the problem is (mostly) that d_move reorders d_subdirs. so just clear I_COMPLETE on rename.

but also:
- we should be assigning dentry offsets when they become non-null.
- d_move could preserve order

#3 Updated by Sage Weil over 9 years ago

  • Status changed from Resolved to Closed

#4 Updated by Sage Weil over 9 years ago

  • Status changed from Closed to Feedback

#5 Updated by Sage Weil over 9 years ago

  • Status changed from Feedback to In Progress

#6 Updated by Sage Weil over 9 years ago

  • Target version changed from v2.6.34 to v2.6.35

#7 Updated by Sage Weil over 9 years ago

  • Status changed from In Progress to Resolved

I'm going to chalk this one up to commit:13a4214cd9ec14d7b77e98bd3ee51f60f868a6e5 (the d_subdirs ordering problem) and hope it's really dead this time.

Also available in: Atom PDF