mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 00:08:50 +00:00
NFSv4.1/pnfs: Ensure we send layoutcommit before return-on-close
We must not send a close or delegreturn that would result in a return-on-close of the layout without ensuring that we've also sent the necessary layoutcommit. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
a0815d556d
commit
7140171ea9
@ -1090,6 +1090,7 @@ bool pnfs_roc(struct inode *ino)
|
||||
pnfs_get_layout_hdr(lo); /* matched in pnfs_roc_release */
|
||||
spin_unlock(&ino->i_lock);
|
||||
pnfs_free_lseg_list(&tmp_list);
|
||||
pnfs_layoutcommit_inode(ino, true);
|
||||
return true;
|
||||
|
||||
out_noroc:
|
||||
@ -1104,8 +1105,10 @@ out_noroc:
|
||||
}
|
||||
}
|
||||
spin_unlock(&ino->i_lock);
|
||||
if (layoutreturn)
|
||||
if (layoutreturn) {
|
||||
pnfs_layoutcommit_inode(ino, true);
|
||||
pnfs_send_layoutreturn(lo, stateid, IOMODE_ANY, true);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user