On Tue, 1 Jun 2010, Henry C Chang wrote: > We misused list_move_tail() to order the dentry in d_subdirs. > This will screw up the d_subdirs order. > > This bug can be reliably reproduced by: > 1. mount ceph fs. > 2. on ceph fs, git clone git://ceph.newdream.net/git/ceph.git > 3. Run autogen.sh in ceph directory. > (Note: Errors only occur at the first time you run autogen.sh.) This is one of those where it's surprising it worked before as well as it did... :) Thanks! sage > > Signed-off-by: Henry C Chang <henry_c_chang@xxxxxxxxxxxxxxxxxxx> > --- > inode.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/inode.c b/inode.c > index a81b8b6..72903a1 100644 > --- a/inode.c > +++ b/inode.c > @@ -827,7 +827,7 @@ static void ceph_set_dentry_offset(struct dentry *dn) > > spin_lock(&dcache_lock); > spin_lock(&dn->d_lock); > - list_move_tail(&dir->d_subdirs, &dn->d_u.d_child); > + list_move(&dn->d_u.d_child, &dir->d_subdirs); > dout("set_dentry_offset %p %lld (%p %p)\n", dn, di->offset, > dn->d_u.d_child.prev, dn->d_u.d_child.next); > spin_unlock(&dn->d_lock); > -- > 1.6.5.2 > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html