Commit 1267c6ff authored by Konstantin Baev's avatar Konstantin Baev

fixed bug connected with not moving pointer after cifs_user_read() in cifs_file_aio_read()

parent e984f541
...@@ -629,8 +629,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -629,8 +629,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -544,8 +544,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -544,8 +544,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -543,8 +543,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -543,8 +543,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -581,8 +581,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -581,8 +581,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -608,8 +608,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -608,8 +608,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -609,8 +609,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -609,8 +609,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -613,8 +613,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -613,8 +613,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -630,8 +630,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -630,8 +630,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
...@@ -637,8 +637,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -637,8 +637,11 @@ static ssize_t cifs_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
if (CIFS_I(inode)->clientCanCacheRead) if (CIFS_I(inode)->clientCanCacheRead)
read = generic_file_aio_read(iocb, iov, nr_segs, pos); read = generic_file_aio_read(iocb, iov, nr_segs, pos);
else else {
read = cifs_user_read(iocb->ki_filp, iov->iov_base, iov->iov_len, &pos); read = cifs_user_read(iocb->ki_filp, iov->iov_base,
iov->iov_len, &pos);
iocb->ki_pos = pos;
}
return read; return read;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment