projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ice: Reset all VFs with VFLR during SR-IOV init flow
[linux-2.6-block.git]
/
fs
/
read_write.c
diff --git
a/fs/read_write.c
b/fs/read_write.c
index 30df848b7451468649d86ed9080b99df9fbf99cb..177ccc3d405a33b425998e400b105418d8f537a4 100644
(file)
--- a/
fs/read_write.c
+++ b/
fs/read_write.c
@@
-478,8
+478,8
@@
static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t
return ret;
}
return ret;
}
-s
size_t __vfs_write(struct file *file, const char __user *p, size_t count
,
- loff_t *pos)
+s
tatic ssize_t __vfs_write(struct file *file, const char __user *p
,
+
size_t count,
loff_t *pos)
{
if (file->f_op->write)
return file->f_op->write(file, p, count, pos);
{
if (file->f_op->write)
return file->f_op->write(file, p, count, pos);
@@
-1238,6
+1238,9
@@
COMPAT_SYSCALL_DEFINE5(preadv64v2, unsigned long, fd,
const struct compat_iovec __user *,vec,
unsigned long, vlen, loff_t, pos, rwf_t, flags)
{
const struct compat_iovec __user *,vec,
unsigned long, vlen, loff_t, pos, rwf_t, flags)
{
+ if (pos == -1)
+ return do_compat_readv(fd, vec, vlen, flags);
+
return do_compat_preadv64(fd, vec, vlen, pos, flags);
}
#endif
return do_compat_preadv64(fd, vec, vlen, pos, flags);
}
#endif
@@
-1344,6
+1347,9
@@
COMPAT_SYSCALL_DEFINE5(pwritev64v2, unsigned long, fd,
const struct compat_iovec __user *,vec,
unsigned long, vlen, loff_t, pos, rwf_t, flags)
{
const struct compat_iovec __user *,vec,
unsigned long, vlen, loff_t, pos, rwf_t, flags)
{
+ if (pos == -1)
+ return do_compat_writev(fd, vec, vlen, flags);
+
return do_compat_pwritev64(fd, vec, vlen, pos, flags);
}
#endif
return do_compat_pwritev64(fd, vec, vlen, pos, flags);
}
#endif