Re: [PATCH] ceph: fix d_subdirs ordering problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux