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
ext4: fix data corruption in data=journal mode
[firefly-linux-kernel-4.4.55.git]
/
fs
/
splice.c
diff --git
a/fs/splice.c
b/fs/splice.c
index 4cf700d50b4037e6c334b0647cdb81b816f9ef65..8398974e15380dbeb8a93e56f81c69614e798323 100644
(file)
--- a/
fs/splice.c
+++ b/
fs/splice.c
@@
-185,6
+185,9
@@
ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
unsigned int spd_pages = spd->nr_pages;
int ret, do_wakeup, page_nr;
unsigned int spd_pages = spd->nr_pages;
int ret, do_wakeup, page_nr;
+ if (!spd_pages)
+ return 0;
+
ret = 0;
do_wakeup = 0;
page_nr = 0;
ret = 0;
do_wakeup = 0;
page_nr = 0;
@@
-208,6
+211,7
@@
ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
buf->len = spd->partial[page_nr].len;
buf->private = spd->partial[page_nr].private;
buf->ops = spd->ops;
buf->len = spd->partial[page_nr].len;
buf->private = spd->partial[page_nr].private;
buf->ops = spd->ops;
+ buf->flags = 0;
if (spd->flags & SPLICE_F_GIFT)
buf->flags |= PIPE_BUF_FLAG_GIFT;
if (spd->flags & SPLICE_F_GIFT)
buf->flags |= PIPE_BUF_FLAG_GIFT;