Skip to content

Commit

Permalink
pNFS: The client must not do I/O to the DS if it's lease has expired
Browse files Browse the repository at this point in the history
Ensure that the client conforms to the normative behaviour described in
RFC5661 Section 12.7.2: "If a client believes its lease has expired,
it MUST NOT send I/O to the storage device until it has validated its
lease."

So ensure that we wait for the lease to be validated before using
the layout.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: stable@vger.kernel.org # v3.20+
  • Loading branch information
Trond Myklebust committed Aug 23, 2016
1 parent 9a0fe86 commit b88fa69
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions fs/nfs/pnfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1555,6 +1555,7 @@ pnfs_update_layout(struct inode *ino,
}

lookup_again:
nfs4_client_recover_expired_lease(clp);
first = false;
spin_lock(&ino->i_lock);
lo = pnfs_find_alloc_layout(ino, ctx, gfp_flags);
Expand Down

0 comments on commit b88fa69

Please sign in to comment.