[lkml]   [2002]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC] iput() cleanup (was Re: [patch 12/16] fix race between writeback and unlink)
On Mon, 2002-06-03 at 00:27, Linus Torvalds wrote:
> On Sat, 1 Jun 2002, Andrew Morton wrote:
> >
> > > Why not just split up the code inside iput(), and then just do
> > >
> > > if (atomic_dec(&inode->i_count))
> > > final_iput(inode);
> >
> > Yes, I suspect all the inode refcounting, locking, I_FREEING, I_LOCK, etc
> > could do with a spring clean. Make it a bit more conventional. I'll
> > discuss with Al when he resurfaces.
> This is a first cut at cleaning up "iput()" and getting rid of some of the
> magic VFS-level behaviour of the i_nlink field which many filesystems do
> not actually want - as shown by the number of "force_delete" users out
> there.
> It does not change any real behaviour, but it splits up the "iput()"
> behaviour into several functions ("common_delete_inode()",
> "common_forget_inode()" and "common_drop_inode()"), and adds a place for a
> low-level filesystem to hook into the behaviour at inode drop time,
> through the "drop_inode" superblock operation.

Now that is kinda neat, calling it with the inode lock held lets me move
some things out of reiserfs_file_release which need i_sem, and move them
into a less expensive drop_inode call without grabbing the semaphore.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:26    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean