lkml.org 
[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)
    From
    Date
    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.

    -chris


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:26    [W:0.023 / U:0.400 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site