diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 10:48:20 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 10:48:20 -0700 |
commit | 14dc5249728ff699b1ca4dac01ad416a350a147a (patch) | |
tree | 4ffd91101601f55c5e0b53a00f03534b7e044ac4 /fs | |
parent | 02b2318e07f98a7cdf7089a4457a8d62424aa824 (diff) | |
parent | bcd4f3acbaec102e2b8000c977ecc38dcd0fe367 (diff) | |
download | linux-14dc5249728ff699b1ca4dac01ad416a350a147a.tar.bz2 |
Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
splice: direct splicing updates ppos twice
more ACSI removal
umem: Fix match of pci_ids in umem driver
umem: Remove references to dead CONFIG_MM_MAP_MEMORY variable
remove the documentation for the legacy CDROM drivers
Diffstat (limited to 'fs')
-rw-r--r-- | fs/splice.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/splice.c b/fs/splice.c index 6c9828651e6f..53fc2082a468 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1061,8 +1061,9 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd, while (len) { size_t read_len; + loff_t pos = sd->pos; - ret = do_splice_to(in, &sd->pos, pipe, len, flags); + ret = do_splice_to(in, &pos, pipe, len, flags); if (unlikely(ret <= 0)) goto out_release; @@ -1080,6 +1081,7 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd, bytes += ret; len -= ret; + sd->pos = pos; if (ret < read_len) goto out_release; |