diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-14 12:02:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-14 12:02:07 -0400 |
commit | 9ca686626c012935b3b8219815e9027facc6fe6e (patch) | |
tree | 632364c2feb6b4c08d83d3014e771dee55f1e4c1 /include | |
parent | e57a5059846e55d82b86d96dde40e988598601b3 (diff) | |
parent | 70524490ee2ea1bbf6cee6c106597b3ac25a3fc2 (diff) |
Merge branch 'tee' of git://brick.kernel.dk/data/git/linux-2.6-block
* 'tee' of git://brick.kernel.dk/data/git/linux-2.6-block:
[PATCH] splice: add support for sys_tee()
[PATCH] splice: pass offset around for ->splice_read() and ->splice_write()
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-i386/unistd.h | 3 | ||||
-rw-r--r-- | include/asm-ia64/unistd.h | 3 | ||||
-rw-r--r-- | include/asm-powerpc/unistd.h | 3 | ||||
-rw-r--r-- | include/asm-x86_64/unistd.h | 4 | ||||
-rw-r--r-- | include/linux/fs.h | 12 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 1 | ||||
-rw-r--r-- | include/linux/syscalls.h | 2 |
7 files changed, 18 insertions, 10 deletions
diff --git a/include/asm-i386/unistd.h b/include/asm-i386/unistd.h index 6a8dd83c350f..d81d6cfc1bb4 100644 --- a/include/asm-i386/unistd.h +++ b/include/asm-i386/unistd.h | |||
@@ -320,8 +320,9 @@ | |||
320 | #define __NR_get_robust_list 312 | 320 | #define __NR_get_robust_list 312 |
321 | #define __NR_splice 313 | 321 | #define __NR_splice 313 |
322 | #define __NR_sync_file_range 314 | 322 | #define __NR_sync_file_range 314 |
323 | #define __NR_tee 315 | ||
323 | 324 | ||
324 | #define NR_syscalls 315 | 325 | #define NR_syscalls 316 |
325 | 326 | ||
326 | /* | 327 | /* |
327 | * user-visible error numbers are in the range -1 - -128: see | 328 | * user-visible error numbers are in the range -1 - -128: see |
diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h index 1c749acca021..a40ebec6aeeb 100644 --- a/include/asm-ia64/unistd.h +++ b/include/asm-ia64/unistd.h | |||
@@ -289,12 +289,13 @@ | |||
289 | #define __NR_set_robust_list 1298 | 289 | #define __NR_set_robust_list 1298 |
290 | #define __NR_get_robust_list 1299 | 290 | #define __NR_get_robust_list 1299 |
291 | #define __NR_sync_file_range 1300 | 291 | #define __NR_sync_file_range 1300 |
292 | #define __NR_tee 1301 | ||
292 | 293 | ||
293 | #ifdef __KERNEL__ | 294 | #ifdef __KERNEL__ |
294 | 295 | ||
295 | #include <linux/config.h> | 296 | #include <linux/config.h> |
296 | 297 | ||
297 | #define NR_syscalls 277 /* length of syscall table */ | 298 | #define NR_syscalls 278 /* length of syscall table */ |
298 | 299 | ||
299 | #define __ARCH_WANT_SYS_RT_SIGACTION | 300 | #define __ARCH_WANT_SYS_RT_SIGACTION |
300 | 301 | ||
diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h index 536ba0873052..c612f1a62772 100644 --- a/include/asm-powerpc/unistd.h +++ b/include/asm-powerpc/unistd.h | |||
@@ -302,8 +302,9 @@ | |||
302 | #define __NR_ppoll 281 | 302 | #define __NR_ppoll 281 |
303 | #define __NR_unshare 282 | 303 | #define __NR_unshare 282 |
304 | #define __NR_splice 283 | 304 | #define __NR_splice 283 |
305 | #define __NR_tee 284 | ||
305 | 306 | ||
306 | #define __NR_syscalls 284 | 307 | #define __NR_syscalls 285 |
307 | 308 | ||
308 | #ifdef __KERNEL__ | 309 | #ifdef __KERNEL__ |
309 | #define __NR__exit __NR_exit | 310 | #define __NR__exit __NR_exit |
diff --git a/include/asm-x86_64/unistd.h b/include/asm-x86_64/unistd.h index f21ff2c1e960..d86494e23b63 100644 --- a/include/asm-x86_64/unistd.h +++ b/include/asm-x86_64/unistd.h | |||
@@ -611,8 +611,10 @@ __SYSCALL(__NR_set_robust_list, sys_set_robust_list) | |||
611 | __SYSCALL(__NR_get_robust_list, sys_get_robust_list) | 611 | __SYSCALL(__NR_get_robust_list, sys_get_robust_list) |
612 | #define __NR_splice 275 | 612 | #define __NR_splice 275 |
613 | __SYSCALL(__NR_splice, sys_splice) | 613 | __SYSCALL(__NR_splice, sys_splice) |
614 | #define __NR_tee 276 | ||
615 | __SYSCALL(__NR_tee, sys_tee) | ||
614 | 616 | ||
615 | #define __NR_syscall_max __NR_splice | 617 | #define __NR_syscall_max __NR_tee |
616 | 618 | ||
617 | #ifndef __NO_STUBS | 619 | #ifndef __NO_STUBS |
618 | 620 | ||
diff --git a/include/linux/fs.h b/include/linux/fs.h index 162c6e57307a..3de2bfb2410f 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1039,8 +1039,8 @@ struct file_operations { | |||
1039 | int (*check_flags)(int); | 1039 | int (*check_flags)(int); |
1040 | int (*dir_notify)(struct file *filp, unsigned long arg); | 1040 | int (*dir_notify)(struct file *filp, unsigned long arg); |
1041 | int (*flock) (struct file *, int, struct file_lock *); | 1041 | int (*flock) (struct file *, int, struct file_lock *); |
1042 | ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, size_t, unsigned int); | 1042 | ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); |
1043 | ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int); | 1043 | ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); |
1044 | }; | 1044 | }; |
1045 | 1045 | ||
1046 | struct inode_operations { | 1046 | struct inode_operations { |
@@ -1613,13 +1613,13 @@ extern void do_generic_mapping_read(struct address_space *mapping, | |||
1613 | loff_t *, read_descriptor_t *, read_actor_t); | 1613 | loff_t *, read_descriptor_t *, read_actor_t); |
1614 | 1614 | ||
1615 | /* fs/splice.c */ | 1615 | /* fs/splice.c */ |
1616 | extern ssize_t generic_file_splice_read(struct file *, | 1616 | extern ssize_t generic_file_splice_read(struct file *, loff_t *, |
1617 | struct pipe_inode_info *, size_t, unsigned int); | 1617 | struct pipe_inode_info *, size_t, unsigned int); |
1618 | extern ssize_t generic_file_splice_write(struct pipe_inode_info *, | 1618 | extern ssize_t generic_file_splice_write(struct pipe_inode_info *, |
1619 | struct file *, size_t, unsigned int); | 1619 | struct file *, loff_t *, size_t, unsigned int); |
1620 | extern ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe, | 1620 | extern ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe, |
1621 | struct file *out, size_t len, unsigned int flags); | 1621 | struct file *out, loff_t *, size_t len, unsigned int flags); |
1622 | extern long do_splice_direct(struct file *in, struct file *out, | 1622 | extern long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, |
1623 | size_t len, unsigned int flags); | 1623 | size_t len, unsigned int flags); |
1624 | 1624 | ||
1625 | extern void | 1625 | extern void |
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 123a7c24bc72..ef7f33c0be19 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
@@ -21,6 +21,7 @@ struct pipe_buf_operations { | |||
21 | void (*unmap)(struct pipe_inode_info *, struct pipe_buffer *); | 21 | void (*unmap)(struct pipe_inode_info *, struct pipe_buffer *); |
22 | void (*release)(struct pipe_inode_info *, struct pipe_buffer *); | 22 | void (*release)(struct pipe_inode_info *, struct pipe_buffer *); |
23 | int (*steal)(struct pipe_inode_info *, struct pipe_buffer *); | 23 | int (*steal)(struct pipe_inode_info *, struct pipe_buffer *); |
24 | void (*get)(struct pipe_inode_info *, struct pipe_buffer *); | ||
24 | }; | 25 | }; |
25 | 26 | ||
26 | struct pipe_inode_info { | 27 | struct pipe_inode_info { |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index f001bad28d9a..d3ebc0e68b2b 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -574,6 +574,8 @@ asmlinkage long sys_splice(int fd_in, loff_t __user *off_in, | |||
574 | int fd_out, loff_t __user *off_out, | 574 | int fd_out, loff_t __user *off_out, |
575 | size_t len, unsigned int flags); | 575 | size_t len, unsigned int flags); |
576 | 576 | ||
577 | asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags); | ||
578 | |||
577 | asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes, | 579 | asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes, |
578 | unsigned int flags); | 580 | unsigned int flags); |
579 | 581 | ||