Lines Matching +full:fiq +full:- +full:based
3 Copyright (C) 2001-2008 Miklos Szeredi <[email protected]>
23 #include <linux/backing-dev.h>
38 /** Bias for fi->writectr, meaning new writepages must not be sent */
110 /** The sticky bit in inode->i_mode may have been removed, so
126 /* Files usable in writepage. Protected by fi->lock */
142 /* waitq for direct-io completion */
257 /** RB node to be linked on fuse_conn->polled_files */
263 /** Does file hold a fi->iocachectr refcount? */
381 * FR_URING: request is handled through fuse-io-uring
403 * - FR_ABORTED
404 * - FR_LOCKED (may also be modified under fc->lock, tested under both)
437 /** virtio-fs's physically contiguous buffer for in and out args */
455 * Input queue signalling is device-specific. For example, the /dev/fuse file
456 * uses fiq->waitq and fasync to wake processes that are waiting on queue
464 void (*send_forget)(struct fuse_iqueue *fiq, struct fuse_forget_link *link);
469 void (*send_interrupt)(struct fuse_iqueue *fiq, struct fuse_req *req);
474 void (*send_req)(struct fuse_iqueue *fiq, struct fuse_req *req);
479 void (*release)(struct fuse_iqueue *fiq);
514 /** Device-specific callbacks */
517 /** Device-specific state */
548 /** list entry on fc->devices */
554 FUSE_DAX_ALWAYS, /* "-o dax=always" */
555 FUSE_DAX_NEVER, /* "-o dax=never" */
556 FUSE_DAX_INODE_USER, /* "-o dax=inode" */
640 /** Constrain ->max_pages to this value during feature negotiation */
710 /** write-back cache policy (default is write-through) */
786 /** Do multi-page cached writes */
813 /** Does the filesystem support asynchronous direct-IO submission? */
822 /** Check permissions based on the file mode or not? */
843 /* Auto-mount submounts announced by the server */
922 /* Dax specific conn data, non-NULL if DAX is enabled */
955 * Super block for this connection (fc->killsb must be held when
960 /* Entry on fc->mounts */
967 * Used as a placeholder in args->in_args[0] for consistency
974 args->in_args[0].size = sizeof(struct fuse_zero_header); in fuse_set_zero_arg0()
975 args->in_args[0].value = NULL; in fuse_set_zero_arg0()
980 return sb->s_fs_info; in get_fuse_mount_super()
985 return get_fuse_mount_super(sb)->fc; in get_fuse_conn_super()
990 return get_fuse_mount_super(inode->i_sb); in get_fuse_mount()
995 return get_fuse_mount_super(inode->i_sb)->fc; in get_fuse_conn()
1005 return get_fuse_inode(inode)->nodeid; in get_node_id()
1015 return atomic64_read(&fc->attr_version); in fuse_get_attr_version()
1020 return atomic64_read(&fc->evict_ctr); in fuse_get_evict_ctr()
1026 return inode->i_generation != generation || in fuse_stale_inode()
1027 inode_wrong_type(inode, attr->mode); in fuse_stale_inode()
1032 set_bit(FUSE_I_BAD, &get_fuse_inode(inode)->state); in fuse_make_bad()
1037 return unlikely(test_bit(FUSE_I_BAD, &get_fuse_inode(inode)->state)); in fuse_is_bad()
1059 descs[i].length = PAGE_SIZE - descs[i].offset; in fuse_folio_descs_length_init()
1066 if (atomic_dec_and_test(&bucket->count)) in fuse_sync_bucket_dec()
1067 wake_up(&bucket->waitq); in fuse_sync_bucket_dec()
1241 fuse_time_to_jiffies((o)->attr_valid, (o)->attr_valid_nsec)
1275 * @sb: partially-initialized superblock to fill in
1339 * The caller must hold fc->killsb.
1345 * File-system tells the kernel to invalidate cache for the given node id.
1351 * File-system tells the kernel to invalidate parent attributes and
1354 * If the child_nodeid is non-zero and:
1355 * - matches the inode number for the dentry matching parent/name,
1356 * - is not a mount point
1357 * - is a file or oan empty directory
1370 /** If set, it is WRITE; otherwise - READ */
1373 /** CUSE pass fuse_direct_io() a file which f_mapping->host is not from FUSE */
1424 u64 fuse_get_unique(struct fuse_iqueue *fiq);
1472 return READ_ONCE(fi->fb); in fuse_inode_backing()
1482 return xchg(&fi->fb, fb); in fuse_inode_backing_set()
1516 return ff->passthrough; in fuse_file_passthrough()