Commit d054fe3d10cc1f9aec01378c38caa32dffdd0090

Authored by Carsten Otte
Committed by Jens Axboe
1 parent 932cc6d4f7

xip sendfile removal

This patch removes xip_file_sendfile, the sendfile implementation for
xip without replacement. Those customers that use xip on s390 are not
using sendfile() as far as we know, and so far s390 is the only platform
this could potentially be used on so far.
Having sendfile is not a popular feature for execute in place file
systems, however we have a working implementation of splice_read() based
on fs/splice.c if anyone asks for it.
At this point in time, it does not seem preferable to merge
splice_read() for xip because it causes extra maintenence effort due to
code duplication and it requires struct page behind the xip memory
segment. We'd like to get rid of that in favor of supporting flash based
embedded platforms (Monta Vista work) soon.

Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

Showing 3 changed files with 0 additions and 26 deletions Side-by-side Diff

... ... @@ -70,7 +70,6 @@
70 70 .open = generic_file_open,
71 71 .release = ext2_release_file,
72 72 .fsync = ext2_sync_file,
73   - .sendfile = xip_file_sendfile,
74 73 };
75 74 #endif
76 75  
... ... @@ -1791,9 +1791,6 @@
1791 1791 #ifdef CONFIG_FS_XIP
1792 1792 extern ssize_t xip_file_read(struct file *filp, char __user *buf, size_t len,
1793 1793 loff_t *ppos);
1794   -extern ssize_t xip_file_sendfile(struct file *in_file, loff_t *ppos,
1795   - size_t count, read_actor_t actor,
1796   - void *target);
1797 1794 extern int xip_file_mmap(struct file * file, struct vm_area_struct * vma);
1798 1795 extern ssize_t xip_file_write(struct file *filp, const char __user *buf,
1799 1796 size_t len, loff_t *ppos);
... ... @@ -159,28 +159,6 @@
159 159 }
160 160 EXPORT_SYMBOL_GPL(xip_file_read);
161 161  
162   -ssize_t
163   -xip_file_sendfile(struct file *in_file, loff_t *ppos,
164   - size_t count, read_actor_t actor, void *target)
165   -{
166   - read_descriptor_t desc;
167   -
168   - if (!count)
169   - return 0;
170   -
171   - desc.written = 0;
172   - desc.count = count;
173   - desc.arg.data = target;
174   - desc.error = 0;
175   -
176   - do_xip_mapping_read(in_file->f_mapping, &in_file->f_ra, in_file,
177   - ppos, &desc, actor);
178   - if (desc.written)
179   - return desc.written;
180   - return desc.error;
181   -}
182   -EXPORT_SYMBOL_GPL(xip_file_sendfile);
183   -
184 162 /*
185 163 * __xip_unmap is invoked from xip_unmap and
186 164 * xip_write