projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[firefly-linux-kernel-4.4.55.git]
/
fs
/
ncpfs
/
file.c
diff --git
a/fs/ncpfs/file.c
b/fs/ncpfs/file.c
index 479bf8db264e0cd0f253093f957a2ea32f0012a2..011324ce9df21181d6983f1fe81c659e1120a814 100644
(file)
--- a/
fs/ncpfs/file.c
+++ b/
fs/ncpfs/file.c
@@
-170,20
+170,15
@@
ncp_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
struct file *file = iocb->ki_filp;
struct inode *inode = file_inode(file);
size_t already_written = 0;
struct file *file = iocb->ki_filp;
struct inode *inode = file_inode(file);
size_t already_written = 0;
- loff_t pos = iocb->ki_pos;
- size_t count = iov_iter_count(from);
size_t bufsize;
int errno;
void *bouncebuffer;
size_t bufsize;
int errno;
void *bouncebuffer;
+ off_t pos;
ncp_dbg(1, "enter %pD2\n", file);
ncp_dbg(1, "enter %pD2\n", file);
- errno = generic_write_checks(
file, &pos, &count, 0
);
- if (errno)
+ errno = generic_write_checks(
iocb, from
);
+ if (errno
<= 0
)
return errno;
return errno;
- iov_iter_truncate(from, count);
-
- if (!count)
- return 0;
errno = ncp_make_open(inode, O_WRONLY);
if (errno) {
errno = ncp_make_open(inode, O_WRONLY);
if (errno) {
@@
-201,10
+196,11
@@
ncp_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
errno = -EIO; /* -ENOMEM */
goto outrel;
}
errno = -EIO; /* -ENOMEM */
goto outrel;
}
+ pos = iocb->ki_pos;
while (iov_iter_count(from)) {
int written_this_time;
size_t to_write = min_t(size_t,
while (iov_iter_count(from)) {
int written_this_time;
size_t to_write = min_t(size_t,
- bufsize - (
(off_t)
pos % bufsize),
+ bufsize - (pos % bufsize),
iov_iter_count(from));
if (copy_from_iter(bouncebuffer, to_write, from) != to_write) {
iov_iter_count(from));
if (copy_from_iter(bouncebuffer, to_write, from) != to_write) {