> For something like (al la PH-UX):
>
> ssize_t sendfile(int s, int fd, off_t offset, size_t nbytes,
> const struct iovec *hdtrl, int flags);
>
> where s is the NETWORK socket, fd is the FILESYSTEM file descriptor.
What about adding a syscall to _copy_ data from one file descriptor
to another one, supporting not only sockets, but also plain files.
Advantages:
* File blocks can be copied without passing them to/from user
space.
* With some support in file systems, we can convert block-aligned
copies directly to buffer cache operations, potentially using
SCSI block copy operations).
* We can also implement socket-to-file, file-to-pipe and several
other interesting cases without introducing YAS (Yet Another
Syscall).
Have a nice fortnight
-- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth "Compatible: Gracefully accepts erroneous data from any source."- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu