pipe_inode_info
static int pipe_to_null(struct pipe_inode_info *info, struct pipe_buffer *buf,
static ssize_t splice_write_null(struct pipe_inode_info *pipe, struct file *out,
static int pipe_to_sg(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
static ssize_t port_fops_splice_write(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len,
ssize_t backing_file_splice_write(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe = file->private_data;
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len, unsigned int flags)
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
static ssize_t fuse_dev_splice_write(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len,
static ssize_t fuse_splice_write(struct pipe_inode_info *pipe, struct file *out,
struct pipe_inode_info *pipe;
struct pipe_inode_info *pipe,
ssize_t fuse_passthrough_splice_write(struct pipe_inode_info *pipe,
ssize_t fuse_passthrough_splice_write(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
static ssize_t gfs2_file_splice_write(struct pipe_inode_info *pipe,
struct pipe_inode_info;
struct pipe_inode_info *opipe,
nfs_file_splice_read(struct file *in, loff_t *ppos, struct pipe_inode_info *pipe,
ssize_t nfs_file_splice_read(struct file *in, loff_t *ppos, struct pipe_inode_info *pipe,
nfsd_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
static int nfsd_direct_splice_actor(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len, unsigned int flags)
static ssize_t ntfs_file_splice_write(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len,
static ssize_t ovl_splice_write(struct pipe_inode_info *pipe, struct file *out,
void pipe_double_lock(struct pipe_inode_info *pipe1,
struct pipe_inode_info *pipe2)
void pipe_wait_readable(struct pipe_inode_info *pipe)
void pipe_wait_writable(struct pipe_inode_info *pipe)
static int wait_for_partner(struct pipe_inode_info *pipe, unsigned int *cnt)
static void wake_up_partner(struct pipe_inode_info *pipe)
struct pipe_inode_info *pipe;
int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots)
static long pipe_set_size(struct pipe_inode_info *pipe, unsigned int arg)
struct pipe_inode_info *get_pipe_info(struct file *file, bool for_splice)
struct pipe_inode_info *pipe = file->private_data;
struct pipe_inode_info *pipe;
static struct page *anon_pipe_get_page(struct pipe_inode_info *pipe,
static void anon_pipe_put_page(struct pipe_inode_info *pipe,
static void anon_pipe_refill_tmp_pages(struct pipe_inode_info *pipe,
static void anon_pipe_buf_release(struct pipe_inode_info *pipe,
static bool anon_pipe_buf_try_steal(struct pipe_inode_info *pipe,
bool generic_pipe_buf_try_steal(struct pipe_inode_info *pipe,
bool generic_pipe_buf_get(struct pipe_inode_info *pipe, struct pipe_buffer *buf)
void generic_pipe_buf_release(struct pipe_inode_info *pipe,
static inline bool pipe_readable(const struct pipe_inode_info *pipe)
static inline unsigned int pipe_update_tail(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe = filp->private_data;
static inline bool pipe_writable(const struct pipe_inode_info *pipe)
struct pipe_inode_info *pipe = filp->private_data;
struct pipe_inode_info *pipe = filp->private_data;
struct pipe_inode_info *pipe = filp->private_data;
static void put_pipe_info(struct inode *inode, struct pipe_inode_info *pipe)
struct pipe_inode_info *pipe = file->private_data;
struct pipe_inode_info *pipe = filp->private_data;
void pipe_lock(struct pipe_inode_info *pipe)
struct pipe_inode_info *alloc_pipe_info(void)
struct pipe_inode_info *pipe;
pipe = kzalloc_obj(struct pipe_inode_info, GFP_KERNEL_ACCOUNT);
void free_pipe_info(struct pipe_inode_info *pipe)
void pipe_unlock(struct pipe_inode_info *pipe)
struct pipe_inode_info *pipe;
struct pipe_inode_info *opipe;
struct pipe_inode_info *pipe;
static void page_cache_pipe_buf_release(struct pipe_inode_info *pipe,
static int direct_splice_actor(struct pipe_inode_info *pipe,
static int splice_file_range_actor(struct pipe_inode_info *pipe,
static int page_cache_pipe_buf_confirm(struct pipe_inode_info *pipe,
static int wait_for_space(struct pipe_inode_info *pipe, unsigned flags)
static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
struct pipe_inode_info *opipe,
struct pipe_inode_info *opipe,
struct pipe_inode_info *ipipe;
struct pipe_inode_info *opipe;
struct pipe_inode_info *ipipe;
struct pipe_inode_info *opipe;
struct pipe_inode_info *pipe,
static int pipe_to_user(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
struct pipe_inode_info *pipe = get_pipe_info(file, true);
struct pipe_inode_info *pipe;
static bool user_page_pipe_buf_try_steal(struct pipe_inode_info *pipe,
static int ipipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
static int opipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
struct pipe_inode_info *opipe,
static void wakeup_pipe_readers(struct pipe_inode_info *pipe)
static ssize_t link_pipe(struct pipe_inode_info *ipipe,
struct pipe_inode_info *opipe,
struct pipe_inode_info *ipipe = get_pipe_info(in, true);
struct pipe_inode_info *opipe = get_pipe_info(out, true);
ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
ssize_t add_to_pipe(struct pipe_inode_info *pipe, struct pipe_buffer *buf)
int splice_grow_spd(const struct pipe_inode_info *pipe, struct splice_pipe_desc *spd)
struct pipe_inode_info *pipe,
static void wakeup_pipe_writers(struct pipe_inode_info *pipe)
static int splice_from_pipe_feed(struct pipe_inode_info *pipe, struct splice_desc *sd,
static inline bool eat_empty_buffer(struct pipe_inode_info *pipe)
static int splice_from_pipe_next(struct pipe_inode_info *pipe, struct splice_desc *sd)
static void splice_from_pipe_end(struct pipe_inode_info *pipe, struct splice_desc *sd)
ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, struct splice_desc *sd,
ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out,
static bool page_cache_pipe_buf_try_steal(struct pipe_inode_info *pipe,
iter_file_splice_write(struct pipe_inode_info *pipe, struct file *out,
ssize_t splice_to_socket(struct pipe_inode_info *pipe, struct file *out,
static ssize_t do_splice_from(struct pipe_inode_info *pipe, struct file *out,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len,
ssize_t backing_file_splice_write(struct pipe_inode_info *pipe,
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
extern ssize_t iter_file_splice_write(struct pipe_inode_info *,
struct pipe_inode_info;
struct pipe_inode_info *i_pipe;
struct pipe_inode_info *pipe, size_t len, unsigned int flags);
struct pipe_inode_info;
int (*confirm)(struct pipe_inode_info *, struct pipe_buffer *);
void (*release)(struct pipe_inode_info *, struct pipe_buffer *);
bool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *);
bool (*get)(struct pipe_inode_info *, struct pipe_buffer *);
static inline bool pipe_has_watch_queue(const struct pipe_inode_info *pipe)
static inline bool pipe_is_full(const struct pipe_inode_info *pipe)
static inline bool pipe_is_empty(const struct pipe_inode_info *pipe)
static inline unsigned int pipe_buf_usage(const struct pipe_inode_info *pipe)
static inline struct pipe_buffer *pipe_buf(const struct pipe_inode_info *pipe,
static inline struct pipe_buffer *pipe_head_buf(const struct pipe_inode_info *pipe)
static inline __must_check bool pipe_buf_get(struct pipe_inode_info *pipe,
static inline void pipe_buf_release(struct pipe_inode_info *pipe,
static inline int pipe_buf_confirm(struct pipe_inode_info *pipe,
static inline bool pipe_buf_try_steal(struct pipe_inode_info *pipe,
void pipe_lock(struct pipe_inode_info *);
void pipe_unlock(struct pipe_inode_info *);
void pipe_double_lock(struct pipe_inode_info *, struct pipe_inode_info *);
void pipe_wait_readable(struct pipe_inode_info *);
void pipe_wait_writable(struct pipe_inode_info *);
struct pipe_inode_info *alloc_pipe_info(void);
void free_pipe_info(struct pipe_inode_info *);
bool generic_pipe_buf_get(struct pipe_inode_info *, struct pipe_buffer *);
bool generic_pipe_buf_try_steal(struct pipe_inode_info *, struct pipe_buffer *);
void generic_pipe_buf_release(struct pipe_inode_info *, struct pipe_buffer *);
int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots);
struct pipe_inode_info *get_pipe_info(struct file *file, bool for_splice);
struct pipe_inode_info *splice_pipe;
struct pipe_inode_info;
struct pipe_inode_info;
struct pipe_inode_info *pipe, unsigned int len,
ssize_t splice_to_socket(struct pipe_inode_info *pipe, struct file *out,
extern int splice_grow_spd(const struct pipe_inode_info *, struct splice_pipe_desc *);
typedef int (splice_actor)(struct pipe_inode_info *, struct pipe_buffer *,
typedef int (splice_direct_actor)(struct pipe_inode_info *,
ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out,
ssize_t __splice_from_pipe(struct pipe_inode_info *pipe,
ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
ssize_t add_to_pipe(struct pipe_inode_info *pipe, struct pipe_buffer *buf);
struct pipe_inode_info *pipe, size_t len,
static inline int watch_queue_init(struct pipe_inode_info *pipe)
struct pipe_inode_info *pipe; /* Pipe we use as a buffer, NULL if queue closed */
extern long watch_queue_set_size(struct pipe_inode_info *, unsigned int);
extern long watch_queue_set_filter(struct pipe_inode_info *,
extern int watch_queue_init(struct pipe_inode_info *);
struct pipe_inode_info *pipe;
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe,
static void buffer_pipe_buf_release(struct pipe_inode_info *pipe,
static bool buffer_pipe_buf_get(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, size_t len, unsigned int flags);
struct pipe_inode_info *pipe = wqueue->pipe;
long watch_queue_set_size(struct pipe_inode_info *pipe, unsigned int nr_notes)
long watch_queue_set_filter(struct pipe_inode_info *pipe,
static void watch_queue_pipe_buf_release(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe;
int watch_queue_init(struct pipe_inode_info *pipe)
size_t splice_folio_into_pipe(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
size_t splice_folio_into_pipe(struct pipe_inode_info *pipe,
static bool zero_pipe_buf_get(struct pipe_inode_info *pipe,
static void zero_pipe_buf_release(struct pipe_inode_info *pipe,
static bool zero_pipe_buf_try_steal(struct pipe_inode_info *pipe,
static size_t splice_zeropage_into_pipe(struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
static bool __skb_splice_bits(struct sk_buff *skb, struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe, unsigned int tlen,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe, size_t len,
static void smc_rx_pipe_buf_release(struct pipe_inode_info *pipe,
static bool smc_rx_pipe_buf_get(struct pipe_inode_info *pipe,
static int smc_rx_splice(struct pipe_inode_info *pipe, char *src, size_t len,
struct pipe_inode_info *pipe, size_t len, int flags)
struct pipe_inode_info *pipe, size_t len, int flags);
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe, size_t len,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe,
struct pipe_inode_info *pipe;
struct pipe_inode_info *pipe,
struct pipe_inode_info *, size_t size,