/linux/include/linux/ |
H A D | pipe_fs_i.h | 86 struct pipe_inode_info { struct 139 int (*confirm)(struct pipe_inode_info *, struct pipe_buffer *); argument 145 void (*release)(struct pipe_inode_info *, struct pipe_buffer *); 155 bool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *); 160 bool (*get)(struct pipe_inode_info *, struct pipe_buffer *); 170 static inline bool pipe_has_watch_queue(const struct pipe_inode_info *pipe) in pipe_has_watch_queue() 215 static inline bool pipe_is_full(const struct pipe_inode_info *pipe) in pipe_is_full() 224 static inline bool pipe_is_empty(const struct pipe_inode_info *pipe) in pipe_is_empty() 233 static inline unsigned int pipe_buf_usage(const struct pipe_inode_info *pipe) in pipe_buf_usage() 243 static inline struct pipe_buffer *pipe_buf(const struct pipe_inode_info *pipe, in pipe_buf() [all …]
|
H A D | splice.h | 66 typedef int (splice_actor)(struct pipe_inode_info *, struct pipe_buffer *, 68 typedef int (splice_direct_actor)(struct pipe_inode_info *, 71 ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, 74 ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, 76 ssize_t splice_to_pipe(struct pipe_inode_info *pipe, 78 ssize_t add_to_pipe(struct pipe_inode_info *pipe, struct pipe_buffer *buf); 80 struct pipe_inode_info *pipe, size_t len, 100 ssize_t splice_to_socket(struct pipe_inode_info *pipe, struct file *out, 106 extern int splice_grow_spd(const struct pipe_inode_info *, struct splice_pipe_desc *);
|
H A D | watch_queue.h | 41 struct pipe_inode_info *pipe; /* Pipe we use as a buffer, NULL if queue closed */ 88 extern long watch_queue_set_size(struct pipe_inode_info *, unsigned int); 89 extern long watch_queue_set_filter(struct pipe_inode_info *, 91 extern int watch_queue_init(struct pipe_inode_info *); 126 static inline int watch_queue_init(struct pipe_inode_info *pipe) in watch_queue_init()
|
H A D | fs.h | 64 struct pipe_inode_info; 767 struct pipe_inode_info *i_pipe; 2155 ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); 2156 ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); 3362 struct pipe_inode_info *pipe, 3365 struct pipe_inode_info *pipe, 3367 extern ssize_t iter_file_splice_write(struct pipe_inode_info *,
|
H A D | sched.h | 69 struct pipe_inode_info; 1406 struct pipe_inode_info *splice_pipe;
|
/linux/fs/ |
H A D | splice.c | 64 static bool page_cache_pipe_buf_try_steal(struct pipe_inode_info *pipe, in page_cache_pipe_buf_try_steal() 108 static void page_cache_pipe_buf_release(struct pipe_inode_info *pipe, in page_cache_pipe_buf_release() 119 static int page_cache_pipe_buf_confirm(struct pipe_inode_info *pipe, in page_cache_pipe_buf_confirm() 162 static bool user_page_pipe_buf_try_steal(struct pipe_inode_info *pipe, in user_page_pipe_buf_try_steal() 178 static void wakeup_pipe_readers(struct pipe_inode_info *pipe) in wakeup_pipe_readers() 197 ssize_t splice_to_pipe(struct pipe_inode_info *pipe, in splice_to_pipe() 246 ssize_t add_to_pipe(struct pipe_inode_info *pipe, struct pipe_buffer *buf) in add_to_pipe() 272 int splice_grow_spd(const struct pipe_inode_info *pipe, struct splice_pipe_desc *spd) in splice_grow_spd() 322 struct pipe_inode_info *pipe, in copy_splice_read() 417 static void wakeup_pipe_writers(struct pipe_inode_info *pipe) in wakeup_pipe_writers() [all …]
|
H A D | pipe.c | 89 void pipe_lock(struct pipe_inode_info *pipe) in pipe_lock() 96 void pipe_unlock(struct pipe_inode_info *pipe) in pipe_unlock() 103 void pipe_double_lock(struct pipe_inode_info *pipe1, in pipe_double_lock() 104 struct pipe_inode_info *pipe2) in pipe_double_lock() 115 static void anon_pipe_buf_release(struct pipe_inode_info *pipe, in anon_pipe_buf_release() 131 static bool anon_pipe_buf_try_steal(struct pipe_inode_info *pipe, in anon_pipe_buf_try_steal() 155 bool generic_pipe_buf_try_steal(struct pipe_inode_info *pipe, in generic_pipe_buf_try_steal() 183 bool generic_pipe_buf_get(struct pipe_inode_info *pipe, struct pipe_buffer *buf) in generic_pipe_buf_get() 197 void generic_pipe_buf_release(struct pipe_inode_info *pipe, in generic_pipe_buf_release() 211 static inline bool pipe_readable(const struct pipe_inode_info *pipe) in pipe_readable() [all …]
|
H A D | internal.h | 17 struct pipe_inode_info; 258 struct pipe_inode_info *opipe,
|
H A D | backing-file.c | 274 struct pipe_inode_info *pipe, size_t len, in backing_file_splice_read() 295 ssize_t backing_file_splice_write(struct pipe_inode_info *pipe, in backing_file_splice_write()
|
H A D | coredump.c | 474 struct pipe_inode_info *pipe = file->private_data; in wait_for_dump_helpers()
|
/linux/kernel/ |
H A D | watch_queue.c | 57 static void watch_queue_pipe_buf_release(struct pipe_inode_info *pipe, in watch_queue_pipe_buf_release() 101 struct pipe_inode_info *pipe = wqueue->pipe; in post_one_notification() 238 long watch_queue_set_size(struct pipe_inode_info *pipe, unsigned int nr_notes) in watch_queue_set_size() 307 long watch_queue_set_filter(struct pipe_inode_info *pipe, in watch_queue_set_filter() 664 struct pipe_inode_info *pipe; in get_watch_queue() 683 int watch_queue_init(struct pipe_inode_info *pipe) in watch_queue_init()
|
/linux/drivers/char/ |
H A D | mem.c | 454 static int pipe_to_null(struct pipe_inode_info *info, struct pipe_buffer *buf, in pipe_to_null() 460 static ssize_t splice_write_null(struct pipe_inode_info *pipe, struct file *out, in splice_write_null()
|
H A D | virtio_console.c | 855 static int pipe_to_sg(struct pipe_inode_info *pipe, struct pipe_buffer *buf, in pipe_to_sg() 899 static ssize_t port_fops_splice_write(struct pipe_inode_info *pipe, in port_fops_splice_write()
|
/linux/fs/afs/ |
H A D | file.c | 26 struct pipe_inode_info *pipe, 550 struct pipe_inode_info *pipe, in afs_file_splice_read()
|
/linux/net/smc/ |
H A D | smc.h | 67 struct pipe_inode_info *pipe, size_t len,
|
/linux/fs/coda/ |
H A D | file.c | 98 struct pipe_inode_info *pipe, in coda_file_splice_read()
|
/linux/fs/ecryptfs/ |
H A D | file.c | 58 struct pipe_inode_info *pipe, in ecryptfs_splice_read_update_atime()
|
/linux/fs/orangefs/ |
H A D | file.c | 341 struct pipe_inode_info *pipe, in orangefs_file_splice_read()
|
/linux/fs/9p/ |
H A D | vfs_file.c | 376 struct pipe_inode_info *pipe, in v9fs_file_splice_read()
|
/linux/fs/ntfs3/ |
H A D | file.c | 915 struct pipe_inode_info *pipe, size_t len, in ntfs_file_splice_read() 1370 static ssize_t ntfs_file_splice_write(struct pipe_inode_info *pipe, in ntfs_file_splice_write()
|
/linux/fs/zonefs/ |
H A D | file.c | 675 struct pipe_inode_info *pipe, in zonefs_file_splice_read()
|
/linux/fs/ext4/ |
H A D | file.c | 151 struct pipe_inode_info *pipe, in ext4_file_splice_read()
|
/linux/fs/nfs/ |
H A D | file.c | 186 nfs_file_splice_read(struct file *in, loff_t *ppos, struct pipe_inode_info *pipe, in nfs_file_splice_read()
|
/linux/mm/ |
H A D | shmem.c | 3483 static bool zero_pipe_buf_get(struct pipe_inode_info *pipe, in zero_pipe_buf_get() 3489 static void zero_pipe_buf_release(struct pipe_inode_info *pipe, in zero_pipe_buf_release() 3494 static bool zero_pipe_buf_try_steal(struct pipe_inode_info *pipe, in zero_pipe_buf_try_steal() 3506 static size_t splice_zeropage_into_pipe(struct pipe_inode_info *pipe, in splice_zeropage_into_pipe() 3529 struct pipe_inode_info *pipe, in shmem_file_splice_read()
|
/linux/Documentation/filesystems/ |
H A D | locking.rst | 544 ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, 546 ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *,
|