All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaliy Gusev <gusev.vitaliy@nexenta.com>
To: Peng Tao <bergwolf@gmail.com>
Cc: tao.peng@emc.com, Trond.Myklebust@netapp.com,
	gusev.vitaliy@gmail.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH] nfs: fix inifinite loop at nfs4_layoutcommit_release
Date: Fri, 09 Sep 2011 21:46:40 +0400	[thread overview]
Message-ID: <4E6A5100.3000007@nexenta.com> (raw)
In-Reply-To: <CA+a=Yy69oQeuSagh_o-32U-rgmwz0BpeZawhMurFK8h6vD2Org@mail.gmail.com>

>>> Reported-by: Vitaliy Gusev<gusev.vitaliy@nexenta.com>
>>> Signed-off-by: Peng Tao<peng_tao@emc.com>
>>> ---
>>>   fs/nfs/nfs4proc.c |    2 ++
>>>   1 files changed, 2 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
>>> index 8c77039..da7c20c 100644
>>> --- a/fs/nfs/nfs4proc.c
>>> +++ b/fs/nfs/nfs4proc.c
>>> @@ -5964,6 +5964,7 @@ static void nfs4_layoutcommit_release(void
>>> *calldata)
>>>         struct pnfs_layout_segment *lseg, *tmp;
>>>
>>>         pnfs_cleanup_layoutcommit(data);
>>> +       spin_lock(&data->args.inode->i_lock);
>>
>> I think lock over list_del_init(&lseg->pls_lc_list) is enough, because
> I put the spinlock outside of the loop because the critical section is
> short enough and it should be faster than grabbing/dropping the inode
> lock for every entry in the list, agree?

Yes, you are right.

Looked again I saw that issue is not so bad as seems.
Really, what is result of this issue? Only that lseg is in 
data->lseg_list, but without set NFS_LSEG_LAYOUTCOMMIT. The put_lseg is 
called correctly at nfs4_layoutcommit_release. So there is no any bug.


  reply	other threads:[~2011-09-09 18:02 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-28  6:22 [PATCH] nfs: fix inifinite loop at nfs4_layoutcommit_release Vitaliy Gusev
2011-09-06 19:29 ` Trond Myklebust
2011-09-06 22:13   ` Vitaliy Gusev
2011-09-06 22:32     ` Trond Myklebust
2011-09-08 10:21       ` tao.peng
2011-09-08 12:01         ` Myklebust, Trond
2011-09-08 15:00           ` Peng Tao
2011-09-08 17:05             ` Myklebust, Trond
2011-09-09  3:11               ` tao.peng
2011-09-09 18:20                 ` Trond Myklebust
2011-09-10  7:14                   ` Benny Halevy
2011-09-12 14:56                     ` Peng Tao
2011-09-12 20:31                       ` Benny Halevy
2011-09-12 21:10                         ` Trond Myklebust
2011-09-13  7:50                           ` Benny Halevy
2011-09-13  8:32                             ` tao.peng
2011-09-14  6:43                               ` Benny Halevy
2011-09-14  7:53                                 ` tao.peng
     [not found]                                   ` <F19688880B763E40B28B2B462677FBF805C3F7A911-AYrsSIZi/B2B3McK65YKY9BPR1lH4CV8@public.gmane.org>
2011-09-14 13:20                                     ` Benny Halevy
2011-09-13  8:09                           ` tao.peng
2011-09-14  6:46                             ` Benny Halevy
2011-09-13  7:02                         ` tao.peng
2011-09-13  7:54                           ` Benny Halevy
2011-09-12 14:48                   ` Peng Tao
2011-09-08 10:00     ` tao.peng
2011-09-08 13:02       ` Vitaliy Gusev
2011-09-08 15:09         ` Peng Tao
2011-09-09 17:46           ` Vitaliy Gusev [this message]
2011-09-12 14:42             ` Peng Tao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E6A5100.3000007@nexenta.com \
    --to=gusev.vitaliy@nexenta.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=bergwolf@gmail.com \
    --cc=gusev.vitaliy@gmail.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=tao.peng@emc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.