|
@@ -4557,11 +4557,6 @@ static bool nfs4_error_stateid_expired(int err)
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
-void __nfs4_read_done_cb(struct nfs_pgio_header *hdr)
|
|
|
|
-{
|
|
|
|
- nfs_invalidate_atime(hdr->inode);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static int nfs4_read_done_cb(struct rpc_task *task, struct nfs_pgio_header *hdr)
|
|
static int nfs4_read_done_cb(struct rpc_task *task, struct nfs_pgio_header *hdr)
|
|
{
|
|
{
|
|
struct nfs_server *server = NFS_SERVER(hdr->inode);
|
|
struct nfs_server *server = NFS_SERVER(hdr->inode);
|
|
@@ -4581,7 +4576,6 @@ static int nfs4_read_done_cb(struct rpc_task *task, struct nfs_pgio_header *hdr)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- __nfs4_read_done_cb(hdr);
|
|
|
|
if (task->tk_status > 0)
|
|
if (task->tk_status > 0)
|
|
renew_lease(server, hdr->timestamp);
|
|
renew_lease(server, hdr->timestamp);
|
|
return 0;
|
|
return 0;
|
|
@@ -4610,6 +4604,8 @@ static int nfs4_read_done(struct rpc_task *task, struct nfs_pgio_header *hdr)
|
|
return -EAGAIN;
|
|
return -EAGAIN;
|
|
if (nfs4_read_stateid_changed(task, &hdr->args))
|
|
if (nfs4_read_stateid_changed(task, &hdr->args))
|
|
return -EAGAIN;
|
|
return -EAGAIN;
|
|
|
|
+ if (task->tk_status > 0)
|
|
|
|
+ nfs_invalidate_atime(hdr->inode);
|
|
return hdr->pgio_done_cb ? hdr->pgio_done_cb(task, hdr) :
|
|
return hdr->pgio_done_cb ? hdr->pgio_done_cb(task, hdr) :
|
|
nfs4_read_done_cb(task, hdr);
|
|
nfs4_read_done_cb(task, hdr);
|
|
}
|
|
}
|