On Fri, 2012-04-27 at 17:53 -0400, andros@xxxxxxxxxx wrote: > From: Andy Adamson <andros@xxxxxxxxxx> > > Signed-off-by: Andy Adamson <andros@xxxxxxxxxx> > --- > fs/nfs/pnfs.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c > index 5e11557..463eb2f 100644 > --- a/fs/nfs/pnfs.c > +++ b/fs/nfs/pnfs.c > @@ -657,7 +657,7 @@ _pnfs_return_layout(struct inode *ino) > > spin_lock(&ino->i_lock); > lo = nfsi->layout; > - if (!lo) { > + if (!lo || list_empty(&lo->plh_segs)) { > spin_unlock(&ino->i_lock); > dprintk("%s: no layout to return\n", __func__); > return status; Hmm... Aren't we better off doing this if the call to mark_matching_lsegs_invalid() returns an empty list? -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥