summaryrefslogtreecommitdiff
path: root/fs/nfs/flexfilelayout/flexfilelayout.h
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2017-03-22 20:54:52 +0300
committerChristian Borntraeger <borntraeger@de.ibm.com>2017-03-22 20:54:52 +0300
commit7c2b3e0ddc063f61a201ccb70a121fecc8373a49 (patch)
tree6dfb348a27459cb2058124c1d8417680c194ed54 /fs/nfs/flexfilelayout/flexfilelayout.h
parent947b897204c417d22ad90e5f354858d78de15a07 (diff)
parent916cda1aa1b412d7cf2991c3af7479544942d121 (diff)
downloadlinux-7c2b3e0ddc063f61a201ccb70a121fecc8373a49.tar.xz
Merge remote-tracking branch 's390/guarded-storage' into kvms390/next
Diffstat (limited to 'fs/nfs/flexfilelayout/flexfilelayout.h')
-rw-r--r--fs/nfs/flexfilelayout/flexfilelayout.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/fs/nfs/flexfilelayout/flexfilelayout.h b/fs/nfs/flexfilelayout/flexfilelayout.h
index f4f39b0ab09b..98b34c9b0564 100644
--- a/fs/nfs/flexfilelayout/flexfilelayout.h
+++ b/fs/nfs/flexfilelayout/flexfilelayout.h
@@ -175,7 +175,19 @@ ff_layout_no_read_on_rw(struct pnfs_layout_segment *lseg)
static inline bool
ff_layout_test_devid_unavailable(struct nfs4_deviceid_node *node)
{
- return nfs4_test_deviceid_unavailable(node);
+ /*
+ * Flexfiles should never mark a DS unavailable, but if it does
+ * print a (ratelimited) warning as this can affect performance.
+ */
+ if (nfs4_test_deviceid_unavailable(node)) {
+ u32 *p = (u32 *)node->deviceid.data;
+
+ pr_warn_ratelimited("NFS: flexfiles layout referencing an "
+ "unavailable device [%x%x%x%x]\n",
+ p[0], p[1], p[2], p[3]);
+ return true;
+ }
+ return false;
}
static inline int