|
@@ -386,7 +386,7 @@ static void nfs_direct_complete(struct nfs_direct_req *dreq, bool write)
|
|
if (write)
|
|
if (write)
|
|
nfs_zap_mapping(inode, inode->i_mapping);
|
|
nfs_zap_mapping(inode, inode->i_mapping);
|
|
|
|
|
|
- inode_dio_done(inode);
|
|
|
|
|
|
+ inode_dio_end(inode);
|
|
|
|
|
|
if (dreq->iocb) {
|
|
if (dreq->iocb) {
|
|
long res = (long) dreq->error;
|
|
long res = (long) dreq->error;
|
|
@@ -486,7 +486,7 @@ static ssize_t nfs_direct_read_schedule_iovec(struct nfs_direct_req *dreq,
|
|
&nfs_direct_read_completion_ops);
|
|
&nfs_direct_read_completion_ops);
|
|
get_dreq(dreq);
|
|
get_dreq(dreq);
|
|
desc.pg_dreq = dreq;
|
|
desc.pg_dreq = dreq;
|
|
- atomic_inc(&inode->i_dio_count);
|
|
|
|
|
|
+ inode_dio_begin(inode);
|
|
|
|
|
|
while (iov_iter_count(iter)) {
|
|
while (iov_iter_count(iter)) {
|
|
struct page **pagevec;
|
|
struct page **pagevec;
|
|
@@ -538,7 +538,7 @@ static ssize_t nfs_direct_read_schedule_iovec(struct nfs_direct_req *dreq,
|
|
* generic layer handle the completion.
|
|
* generic layer handle the completion.
|
|
*/
|
|
*/
|
|
if (requested_bytes == 0) {
|
|
if (requested_bytes == 0) {
|
|
- inode_dio_done(inode);
|
|
|
|
|
|
+ inode_dio_end(inode);
|
|
nfs_direct_req_release(dreq);
|
|
nfs_direct_req_release(dreq);
|
|
return result < 0 ? result : -EIO;
|
|
return result < 0 ? result : -EIO;
|
|
}
|
|
}
|
|
@@ -872,7 +872,7 @@ static ssize_t nfs_direct_write_schedule_iovec(struct nfs_direct_req *dreq,
|
|
&nfs_direct_write_completion_ops);
|
|
&nfs_direct_write_completion_ops);
|
|
desc.pg_dreq = dreq;
|
|
desc.pg_dreq = dreq;
|
|
get_dreq(dreq);
|
|
get_dreq(dreq);
|
|
- atomic_inc(&inode->i_dio_count);
|
|
|
|
|
|
+ inode_dio_begin(inode);
|
|
|
|
|
|
NFS_I(inode)->write_io += iov_iter_count(iter);
|
|
NFS_I(inode)->write_io += iov_iter_count(iter);
|
|
while (iov_iter_count(iter)) {
|
|
while (iov_iter_count(iter)) {
|
|
@@ -928,7 +928,7 @@ static ssize_t nfs_direct_write_schedule_iovec(struct nfs_direct_req *dreq,
|
|
* generic layer handle the completion.
|
|
* generic layer handle the completion.
|
|
*/
|
|
*/
|
|
if (requested_bytes == 0) {
|
|
if (requested_bytes == 0) {
|
|
- inode_dio_done(inode);
|
|
|
|
|
|
+ inode_dio_end(inode);
|
|
nfs_direct_req_release(dreq);
|
|
nfs_direct_req_release(dreq);
|
|
return result < 0 ? result : -EIO;
|
|
return result < 0 ? result : -EIO;
|
|
}
|
|
}
|