public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: + r-o-bind-mount-clean-up-ocfs2-nlink-handling.patch added to -mm tree
       [not found] <200608091912.k79JCnGh027465@shell0.pdx.osdl.net>
@ 2006-08-10 13:56 ` Daniel Walker
  2006-08-10 16:02   ` Dave Hansen
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Walker @ 2006-08-10 13:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: haveblue, hch, mark.fasheh, viro

On Wed, 2006-08-09 at 12:12 -0700, akpm@osdl.org wrote:

> -	/* We can set nlink on the dinode now. clear the saved version
> -	 * so that it doesn't get set later. */
> +	if (S_ISDIR(inode->i_mode))
> +		drop_nlink(inode);
> +	drop_nlink(inode);
>  	fe->i_links_count = cpu_to_le16(inode->i_nlink);
> -	saved_nlink = 0;
>  
>  	status = ocfs2_journal_dirty(handle, fe_bh);


There's one too many drop_nlink()'s in this block, unless I'm not
reading this right.

Daniel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: + r-o-bind-mount-clean-up-ocfs2-nlink-handling.patch added to -mm tree
  2006-08-10 13:56 ` + r-o-bind-mount-clean-up-ocfs2-nlink-handling.patch added to -mm tree Daniel Walker
@ 2006-08-10 16:02   ` Dave Hansen
  2006-08-10 16:07     ` Daniel Walker
  0 siblings, 1 reply; 3+ messages in thread
From: Dave Hansen @ 2006-08-10 16:02 UTC (permalink / raw)
  To: Daniel Walker; +Cc: linux-kernel, hch, mark.fasheh, viro

On Thu, 2006-08-10 at 06:56 -0700, Daniel Walker wrote:
> On Wed, 2006-08-09 at 12:12 -0700, akpm@osdl.org wrote:
> > -	/* We can set nlink on the dinode now. clear the saved version
> > -	 * so that it doesn't get set later. */
> > +	if (S_ISDIR(inode->i_mode))
> > +		drop_nlink(inode);
> > +	drop_nlink(inode);
> >  	fe->i_links_count = cpu_to_le16(inode->i_nlink);
> > -	saved_nlink = 0;
> >  
> >  	status = ocfs2_journal_dirty(handle, fe_bh);
>
> There's one too many drop_nlink()'s in this block, unless I'm not
> reading this right.

It needs to be double-dropped for any directory inodes.  Some of the
older code just did i_nlink-=2, and I chose to just call drop_nlink()
twice instead of making another helper to do arbitrary arithmetic on
i_nlink.

I believe this made up for the 

        if (S_ISDIR(inode->i_mode))
                inode->i_nlink = 0;

in the old code.

-- Dave


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: + r-o-bind-mount-clean-up-ocfs2-nlink-handling.patch added to -mm tree
  2006-08-10 16:02   ` Dave Hansen
@ 2006-08-10 16:07     ` Daniel Walker
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Walker @ 2006-08-10 16:07 UTC (permalink / raw)
  To: Dave Hansen; +Cc: linux-kernel, hch, mark.fasheh, viro

On Thu, 2006-08-10 at 09:02 -0700, Dave Hansen wrote:

> > There's one too many drop_nlink()'s in this block, unless I'm not
> > reading this right.
> 
> It needs to be double-dropped for any directory inodes.  Some of the
> older code just did i_nlink-=2, and I chose to just call drop_nlink()
> twice instead of making another helper to do arbitrary arithmetic on
> i_nlink.
> 
> I believe this made up for the 
> 
>         if (S_ISDIR(inode->i_mode))
>                 inode->i_nlink = 0;
> 
> in the old code.


Ok, I had a feeling it was something like that .. A comment around there
might be helpful though, so people don't query you on in the future.

Daniel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-08-10 16:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200608091912.k79JCnGh027465@shell0.pdx.osdl.net>
2006-08-10 13:56 ` + r-o-bind-mount-clean-up-ocfs2-nlink-handling.patch added to -mm tree Daniel Walker
2006-08-10 16:02   ` Dave Hansen
2006-08-10 16:07     ` Daniel Walker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox