Lines Matching +full:fiq +full:- +full:device
3 Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu>
23 #include <linux/backing-dev.h>
41 /** Bias for fi->writectr, meaning new writepages must not be sent */
87 /** The sticky bit in inode->i_mode may have been removed, so
103 /* Files usable in writepage. Protected by fi->lock */
226 /** RB node to be linked on fuse_conn->polled_files */
344 * - FR_ABORTED
345 * - FR_LOCKED (may also be modified under fc->lock, tested under both)
378 /** virtio-fs's physically contiguous buffer for in and out args */
391 * Input queue signalling is device-specific. For example, the /dev/fuse file
392 * uses fiq->waitq and fasync to wake processes that are waiting on queue
393 * readiness. These callbacks allow other device types to respond to input
400 void (*wake_forget_and_unlock)(struct fuse_iqueue *fiq)
401 __releases(fiq->lock);
406 void (*wake_interrupt_and_unlock)(struct fuse_iqueue *fiq)
407 __releases(fiq->lock);
412 void (*wake_pending_and_unlock)(struct fuse_iqueue *fiq)
413 __releases(fiq->lock);
418 void (*release)(struct fuse_iqueue *fiq);
453 /** Device-specific callbacks */
456 /** Device-specific state */
478 * Fuse device instance
481 /** Fuse connection for this device */
487 /** list entry on fc->devices */
493 FUSE_DAX_ALWAYS, /* "-o dax=always" */
494 FUSE_DAX_NEVER, /* "-o dax=never" */
495 FUSE_DAX_INODE_USER, /* "-o dax=inode" */
525 /* DAX device, may be NULL */
543 * is destroyed, when the client device is closed and the last
579 /** Constrain ->max_pages to this value during feature negotiation */
623 abort and device release */
649 /** write-back cache policy (default is write-through) */
725 /** Do multi-page cached writes */
752 /** Does the filesystem support asynchronous direct-IO submission? */
782 /* Auto-mount submounts announced by the server */
815 /** Device ID from the root super block */
839 /** List of device instances belonging to this connection */
846 /* Dax specific conn data, non-NULL if DAX is enabled */
861 * allow submounts with dedicated superblocks and thus separate device
869 * Super block for this connection (fc->killsb must be held when
874 /* Entry on fc->mounts */
880 return sb->s_fs_info; in get_fuse_mount_super()
885 return get_fuse_mount_super(sb)->fc; in get_fuse_conn_super()
890 return get_fuse_mount_super(inode->i_sb); in get_fuse_mount()
895 return get_fuse_mount_super(inode->i_sb)->fc; in get_fuse_conn()
905 return get_fuse_inode(inode)->nodeid; in get_node_id()
915 return atomic64_read(&fc->attr_version); in fuse_get_attr_version()
921 return inode->i_generation != generation || in fuse_stale_inode()
922 inode_wrong_type(inode, attr->mode); in fuse_stale_inode()
928 set_bit(FUSE_I_BAD, &get_fuse_inode(inode)->state); in fuse_make_bad()
933 return unlikely(test_bit(FUSE_I_BAD, &get_fuse_inode(inode)->state)); in fuse_is_bad()
955 descs[i].length = PAGE_SIZE - descs[i].offset; in fuse_page_descs_length_init()
962 if (atomic_dec_and_test(&bucket->count)) in fuse_sync_bucket_dec()
963 wake_up(&bucket->waitq); in fuse_sync_bucket_dec()
967 /** Device operations */
991 struct fuse_forget_link *fuse_dequeue_forget(struct fuse_iqueue *fiq,
1082 * Initialize the client device
1087 * Cleanup the client device
1129 fuse_time_to_jiffies((o)->attr_valid, (o)->attr_valid_nsec)
1158 * @sb: partially-initialized superblock to fill in
1222 * The caller must hold fc->killsb.
1228 * File-system tells the kernel to invalidate cache for the given node id.
1234 * File-system tells the kernel to invalidate parent attributes and
1237 * If the child_nodeid is non-zero and:
1238 * - matches the inode number for the dentry matching parent/name,
1239 * - is not a mount point
1240 * - is a file or oan empty directory
1253 /** If set, it is WRITE; otherwise - READ */
1256 /** CUSE pass fuse_direct_io() a file which f_mapping->host is not from FUSE */
1307 u64 fuse_get_unique(struct fuse_iqueue *fiq);