[Ocfs2-devel] [PATCH 1/1] OCFS2: add spin lock when accessing inode->i_nlink.

Tao Ma tao.ma at oracle.com
Mon Sep 22 20:23:14 PDT 2008


Hi wengang,

wengang wang wrote:
> Sunil and Srini,
>
> Yes, it's protected by the inode_lock. and thanks for your detail.
> well, I found a fragment of code in ocfs2_meta_lock_update(),
>
> #ifdef OCFS2_DELETE_INODE_WORKAROUND
>         /* We might as well check this here - since the inode is now
>          * locked, an up to date view will indicate whether this was
>          * never actually orphaned -- i_nlink should be zero for an
>          * orphaned inode. */
>         spin_lock(&oi->ip_lock);
>         if (inode->i_nlink &&
>             oi->ip_flags & OCFS2_INODE_MAYBE_ORPHANED) {
>                 mlog(0, "Inode %"MLFu64": clearing maybe_orphaned flag\n",
>                      oi->ip_blkno);
>                 oi->ip_flags &= ~OCFS2_INODE_MAYBE_ORPHANED;
>         }
>         spin_unlock(&oi->ip_lock);
> #endif
>
> the i_nlink and OCFS2_INODE_MAYBE_ORPHANED flag are checked with the 
> protection of ip_lock.
> If ip_lock is needed here, I think it's need as well in my patch.
>   
ip_lock here is used to protect the set of ip_flags.

Regards,
Tao




More information about the Ocfs2-devel mailing list