]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/nfs/pnfs.c
NFSv4.1: Fall back to ordinary i/o through the mds if we have no layout segment
[karo-tx-linux.git] / fs / nfs / pnfs.c
index 69a0c3f1e462f367fd5b475fd8a58fd2eed8042d..cc807fe46953cdf81d4dccb8f6421d0106029c0a 100644 (file)
@@ -1066,6 +1066,10 @@ pnfs_generic_pg_init_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *r
                                           req->wb_bytes,
                                           IOMODE_READ,
                                           GFP_KERNEL);
+       /* If no lseg, fall back to read through mds */
+       if (pgio->pg_lseg == NULL)
+               nfs_pageio_init_read_mds(pgio, pgio->pg_inode);
+
 }
 EXPORT_SYMBOL_GPL(pnfs_generic_pg_init_read);
 
@@ -1080,6 +1084,9 @@ pnfs_generic_pg_init_write(struct nfs_pageio_descriptor *pgio, struct nfs_page *
                                           req->wb_bytes,
                                           IOMODE_RW,
                                           GFP_NOFS);
+       /* If no lseg, fall back to write through mds */
+       if (pgio->pg_lseg == NULL)
+               nfs_pageio_init_write_mds(pgio, pgio->pg_inode, pgio->pg_ioflags);
 }
 EXPORT_SYMBOL_GPL(pnfs_generic_pg_init_write);