diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-09-18 19:51:12 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-09-28 16:03:09 -0400 |
commit | 1dfed2737d8cfe2f2378fddfb3bed126ff5474e7 (patch) | |
tree | 865edd1618f525a66a30eac1e017a896b4f2bb8c /fs/nfs/nfs4filelayout.h | |
parent | 25c7533357a4c4a9311d40cc92e9648c8a7e763e (diff) | |
download | lwn-1dfed2737d8cfe2f2378fddfb3bed126ff5474e7.tar.gz lwn-1dfed2737d8cfe2f2378fddfb3bed126ff5474e7.zip |
NFSv4.1: pNFS data servers may be temporarily offline
In cases where the pNFS data server is just temporarily out of service,
we want to mark it as such, and then try again later. Typically that will
be in cases of network connection errors etc.
This patch allows us to mark the devices as being "unavailable" for such
transient errors, and will make them available for retries after a
2 minute timeout period.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4filelayout.h')
-rw-r--r-- | fs/nfs/nfs4filelayout.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/nfs/nfs4filelayout.h b/fs/nfs/nfs4filelayout.h index 11053c425a61..10b0f134400b 100644 --- a/fs/nfs/nfs4filelayout.h +++ b/fs/nfs/nfs4filelayout.h @@ -140,12 +140,8 @@ filelayout_test_devid_invalid(struct nfs4_deviceid_node *node) return test_bit(NFS_DEVICEID_INVALID, &node->flags); } -static inline bool -filelayout_reset_to_mds(struct pnfs_layout_segment *lseg) -{ - return filelayout_test_devid_invalid(FILELAYOUT_DEVID_NODE(lseg)) || - filelayout_test_layout_invalid(lseg->pls_layout); -} +extern bool +filelayout_test_devid_unavailable(struct nfs4_deviceid_node *node); extern struct nfs_fh * nfs4_fl_select_ds_fh(struct pnfs_layout_segment *lseg, u32 j); |