lkml.org 
[lkml]   [2010]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 06/18] exofs: use iput() for inode reference count decrements
    On 10/13/2010 07:34 AM, Christoph Hellwig wrote:
    > Btw, this looks like a nasty enough bug that it might be worth queing
    > up for 2.6.36.
    >
    > On Wed, Oct 13, 2010 at 11:15:49AM +1100, Dave Chinner wrote:
    >> From: Dave Chinner <dchinner@redhat.com>
    >>
    >> Direct modification of the inode reference count is a no-no. Convert
    >> the exofs decrements to call iput() instead of acting directly on
    >> i_count.
    >>
    >> Signed-off-by: Dave Chinner <dchinner@redhat.com>
    >> Reviewed-by: Christoph Hellwig <hch@lst.de>
    >> ---
    >> fs/exofs/inode.c | 4 ++--
    >> 1 files changed, 2 insertions(+), 2 deletions(-)
    >>
    >> diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c
    >> index b631ff3..0fb4d4c 100644
    >> --- a/fs/exofs/inode.c
    >> +++ b/fs/exofs/inode.c
    >> @@ -1101,7 +1101,7 @@ static void create_done(struct exofs_io_state *ios, void *p)
    >>
    >> set_obj_created(oi);
    >>
    >> - atomic_dec(&inode->i_count);
    >> + iput(inode);
    >> wake_up(&oi->i_wq);
    >> }
    >>
    >> @@ -1161,7 +1161,7 @@ struct inode *exofs_new_inode(struct inode *dir, int mode)
    >> ios->cred = oi->i_cred;
    >> ret = exofs_sbi_create(ios);
    >> if (ret) {
    >> - atomic_dec(&inode->i_count);
    >> + iput(inode);
    >> exofs_put_io_state(ios);
    >> return ERR_PTR(ret);
    >> }
    >> --

    I suspect it's not a bug but a useless inc/dec because in all my testing
    I have not seen an inode leak. Let me investigate if it can be removed.

    So I do not think we need it for 2.6.36.

    I'll take this patch into my 2.6.37-rcX merge window. It should appear
    in linux-next by tomorrow. Hopefully followed by a removal patch later.

    Thanks for the catch
    Boaz


    \
     
     \ /
      Last update: 2010-10-13 16:53    [W:0.022 / U:95.168 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site