From: Jan Harkes Add a wrapper for sendfile support in Coda. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton --- 25-akpm/fs/coda/file.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+) diff -puN fs/coda/file.c~coda-add-sendfile-wrapper fs/coda/file.c --- 25/fs/coda/file.c~coda-add-sendfile-wrapper Wed Sep 1 15:42:18 2004 +++ 25-akpm/fs/coda/file.c Wed Sep 1 15:42:18 2004 @@ -45,6 +45,23 @@ coda_file_read(struct file *coda_file, c } static ssize_t +coda_file_sendfile(struct file *coda_file, loff_t *ppos, size_t count, + read_actor_t actor, void __user *target) +{ + struct coda_file_info *cfi; + struct file *host_file; + + cfi = CODA_FTOC(coda_file); + BUG_ON(!cfi || cfi->cfi_magic != CODA_MAGIC); + host_file = cfi->cfi_container; + + if (!host_file->f_op || !host_file->f_op->sendfile) + return -EINVAL; + + return host_file->f_op->sendfile(host_file, ppos, count, actor, target); +} + +static ssize_t coda_file_write(struct file *coda_file, const char __user *buf, size_t count, loff_t *ppos) { struct inode *host_inode, *coda_inode = coda_file->f_dentry->d_inode; @@ -278,5 +295,6 @@ struct file_operations coda_file_operati .flush = coda_flush, .release = coda_release, .fsync = coda_fsync, + .sendfile = coda_file_sendfile, }; _