Commit 1ebd32fc54bd04de6b3944587f25513c0681f98e

Authored by Jens Axboe
1 parent 00522fb41a

[PATCH] splice: add ->splice_write support for /dev/null

Useful for testing.

Signed-off-by: Jens Axboe <axboe@suse.de>

Showing 1 changed file with 14 additions and 0 deletions Side-by-side Diff

... ... @@ -27,6 +27,7 @@
27 27 #include <linux/crash_dump.h>
28 28 #include <linux/backing-dev.h>
29 29 #include <linux/bootmem.h>
  30 +#include <linux/pipe_fs_i.h>
30 31  
31 32 #include <asm/uaccess.h>
32 33 #include <asm/io.h>
... ... @@ -578,6 +579,18 @@
578 579 return count;
579 580 }
580 581  
  582 +static int pipe_to_null(struct pipe_inode_info *info, struct pipe_buffer *buf,
  583 + struct splice_desc *sd)
  584 +{
  585 + return sd->len;
  586 +}
  587 +
  588 +static ssize_t splice_write_null(struct pipe_inode_info *pipe,struct file *out,
  589 + loff_t *ppos, size_t len, unsigned int flags)
  590 +{
  591 + return splice_from_pipe(pipe, out, ppos, len, flags, pipe_to_null);
  592 +}
  593 +
581 594 #ifdef CONFIG_MMU
582 595 /*
583 596 * For fun, we are using the MMU for this.
... ... @@ -785,6 +798,7 @@
785 798 .llseek = null_lseek,
786 799 .read = read_null,
787 800 .write = write_null,
  801 + .splice_write = splice_write_null,
788 802 };
789 803  
790 804 #if defined(CONFIG_ISA) || !defined(__mc68000__)