diff options
author | Trond Myklebust | 2015-08-04 15:41:50 -0400 |
---|---|---|
committer | Trond Myklebust | 2015-08-12 14:56:18 -0400 |
commit | a4497a58e4043a925b7b308bd2c32f0744eca440 (patch) | |
tree | 19021c7d3a21246664a871a6f97de198d683ee7a | |
parent | 27571297a7e9a2a845c232813a7ba7e1227f5ec6 (diff) |
NFSv4.1/pnfs: Remove redundant checks in pnfs_layoutgets_blocked()
If there are no valid layout segments, then we should already have
checked in pnfs_update_layout() whether or not this is the first
layoutget.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
-rw-r--r-- | fs/nfs/pnfs.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index a6ec420983d1..8855b322d127 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -829,12 +829,10 @@ pnfs_layout_returning(const struct pnfs_layout_hdr *lo, /* lget is set to 1 if called from inside send_layoutget call chain */ static bool pnfs_layoutgets_blocked(const struct pnfs_layout_hdr *lo, - struct pnfs_layout_range *range, int lget) + struct pnfs_layout_range *range) { return lo->plh_block_lgets || test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags) || - (list_empty(&lo->plh_segs) && - (atomic_read(&lo->plh_outstanding) > lget)) || pnfs_layout_returning(lo, range); } @@ -847,7 +845,7 @@ pnfs_choose_layoutget_stateid(nfs4_stateid *dst, struct pnfs_layout_hdr *lo, dprintk("--> %s\n", __func__); spin_lock(&lo->plh_inode->i_lock); - if (pnfs_layoutgets_blocked(lo, range, 1)) { + if (pnfs_layoutgets_blocked(lo, range)) { status = -EAGAIN; } else if (!nfs4_valid_open_stateid(open_state)) { status = -EBADF; @@ -1547,7 +1545,7 @@ lookup_again: goto out_put_layout_hdr; } - if (pnfs_layoutgets_blocked(lo, &arg, 0)) + if (pnfs_layoutgets_blocked(lo, &arg)) goto out_unlock; atomic_inc(&lo->plh_outstanding); spin_unlock(&ino->i_lock); @@ -1624,7 +1622,7 @@ pnfs_layout_process(struct nfs4_layoutget *lgp) goto out_forget_reply; } - if (pnfs_layoutgets_blocked(lo, &lgp->args.range, 1)) { + if (pnfs_layoutgets_blocked(lo, &lgp->args.range)) { dprintk("%s forget reply due to state\n", __func__); goto out_forget_reply; } |