summaryrefslogtreecommitdiffstats
path: root/fs/nfs/pnfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/pnfs.c')
-rw-r--r--fs/nfs/pnfs.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index 8abe27165ad0..93496c059837 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1912,12 +1912,13 @@ static void pnfs_ld_handle_write_error(struct nfs_pgio_header *hdr)
1912 */ 1912 */
1913void pnfs_ld_write_done(struct nfs_pgio_header *hdr) 1913void pnfs_ld_write_done(struct nfs_pgio_header *hdr)
1914{ 1914{
1915 trace_nfs4_pnfs_write(hdr, hdr->pnfs_error); 1915 if (likely(!hdr->pnfs_error)) {
1916 if (!hdr->pnfs_error) {
1917 pnfs_set_layoutcommit(hdr->inode, hdr->lseg, 1916 pnfs_set_layoutcommit(hdr->inode, hdr->lseg,
1918 hdr->mds_offset + hdr->res.count); 1917 hdr->mds_offset + hdr->res.count);
1919 hdr->mds_ops->rpc_call_done(&hdr->task, hdr); 1918 hdr->mds_ops->rpc_call_done(&hdr->task, hdr);
1920 } else 1919 }
1920 trace_nfs4_pnfs_write(hdr, hdr->pnfs_error);
1921 if (unlikely(hdr->pnfs_error))
1921 pnfs_ld_handle_write_error(hdr); 1922 pnfs_ld_handle_write_error(hdr);
1922 hdr->mds_ops->rpc_release(hdr); 1923 hdr->mds_ops->rpc_release(hdr);
1923} 1924}
@@ -2028,11 +2029,12 @@ static void pnfs_ld_handle_read_error(struct nfs_pgio_header *hdr)
2028 */ 2029 */
2029void pnfs_ld_read_done(struct nfs_pgio_header *hdr) 2030void pnfs_ld_read_done(struct nfs_pgio_header *hdr)
2030{ 2031{
2031 trace_nfs4_pnfs_read(hdr, hdr->pnfs_error);
2032 if (likely(!hdr->pnfs_error)) { 2032 if (likely(!hdr->pnfs_error)) {
2033 __nfs4_read_done_cb(hdr); 2033 __nfs4_read_done_cb(hdr);
2034 hdr->mds_ops->rpc_call_done(&hdr->task, hdr); 2034 hdr->mds_ops->rpc_call_done(&hdr->task, hdr);
2035 } else 2035 }
2036 trace_nfs4_pnfs_read(hdr, hdr->pnfs_error);
2037 if (unlikely(hdr->pnfs_error))
2036 pnfs_ld_handle_read_error(hdr); 2038 pnfs_ld_handle_read_error(hdr);
2037 hdr->mds_ops->rpc_release(hdr); 2039 hdr->mds_ops->rpc_release(hdr);
2038} 2040}