fuse_i.h (334f485df85ac7736ebe14940bf0a059c5f26d7d) | fuse_i.h (e5e5558e923f35839108a12718494ecb73fb782f) |
---|---|
1/* 2 FUSE: Filesystem in Userspace 3 Copyright (C) 2001-2005 Miklos Szeredi <miklos@szeredi.hu> 4 5 This program can be distributed under the terms of the GNU GPL. 6 See the file COPYING. 7*/ 8 --- 16 unchanged lines hidden (view full) --- 25struct fuse_inode { 26 /** Inode data */ 27 struct inode inode; 28 29 /** Unique ID, which identifies the inode between userspace 30 * and kernel */ 31 u64 nodeid; 32 | 1/* 2 FUSE: Filesystem in Userspace 3 Copyright (C) 2001-2005 Miklos Szeredi <miklos@szeredi.hu> 4 5 This program can be distributed under the terms of the GNU GPL. 6 See the file COPYING. 7*/ 8 --- 16 unchanged lines hidden (view full) --- 25struct fuse_inode { 26 /** Inode data */ 27 struct inode inode; 28 29 /** Unique ID, which identifies the inode between userspace 30 * and kernel */ 31 u64 nodeid; 32 |
33 /** The request used for sending the FORGET message */ 34 struct fuse_req *forget_req; 35 |
|
33 /** Time in jiffies until the file attributes are valid */ 34 unsigned long i_time; 35}; 36 37/** One input argument of a request */ 38struct fuse_in_arg { 39 unsigned size; 40 const void *value; --- 83 unchanged lines hidden (view full) --- 124 /** The request output */ 125 struct fuse_out out; 126 127 /** Used to wake up the task waiting for completion of request*/ 128 wait_queue_head_t waitq; 129 130 /** Data for asynchronous requests */ 131 union { | 36 /** Time in jiffies until the file attributes are valid */ 37 unsigned long i_time; 38}; 39 40/** One input argument of a request */ 41struct fuse_in_arg { 42 unsigned size; 43 const void *value; --- 83 unchanged lines hidden (view full) --- 127 /** The request output */ 128 struct fuse_out out; 129 130 /** Used to wake up the task waiting for completion of request*/ 131 wait_queue_head_t waitq; 132 133 /** Data for asynchronous requests */ 134 union { |
135 struct fuse_forget_in forget_in; |
|
132 struct fuse_init_in_out init_in_out; 133 } misc; 134 135 /** page vector */ 136 struct page *pages[FUSE_MAX_PAGES_PER_REQ]; 137 138 /** number of pages in vector */ 139 unsigned num_pages; --- 52 unchanged lines hidden (view full) --- 192 193 /** Connection failed (version mismatch) */ 194 unsigned conn_error : 1; 195 196 /** Backing dev info */ 197 struct backing_dev_info bdi; 198}; 199 | 136 struct fuse_init_in_out init_in_out; 137 } misc; 138 139 /** page vector */ 140 struct page *pages[FUSE_MAX_PAGES_PER_REQ]; 141 142 /** number of pages in vector */ 143 unsigned num_pages; --- 52 unchanged lines hidden (view full) --- 196 197 /** Connection failed (version mismatch) */ 198 unsigned conn_error : 1; 199 200 /** Backing dev info */ 201 struct backing_dev_info bdi; 202}; 203 |
204struct fuse_getdir_out_i { 205 int fd; 206 void *file; /* Used by kernel only */ 207}; 208 |
|
200static inline struct fuse_conn **get_fuse_conn_super_p(struct super_block *sb) 201{ 202 return (struct fuse_conn **) &sb->s_fs_info; 203} 204 205static inline struct fuse_conn *get_fuse_conn_super(struct super_block *sb) 206{ 207 return *get_fuse_conn_super_p(sb); --- 27 unchanged lines hidden (view full) --- 235 * - unused_list, pending, processing lists in fuse_conn 236 * - the unique request ID counter reqctr in fuse_conn 237 * - the sb (super_block) field in fuse_conn 238 * - the file (device file) field in fuse_conn 239 */ 240extern spinlock_t fuse_lock; 241 242/** | 209static inline struct fuse_conn **get_fuse_conn_super_p(struct super_block *sb) 210{ 211 return (struct fuse_conn **) &sb->s_fs_info; 212} 213 214static inline struct fuse_conn *get_fuse_conn_super(struct super_block *sb) 215{ 216 return *get_fuse_conn_super_p(sb); --- 27 unchanged lines hidden (view full) --- 244 * - unused_list, pending, processing lists in fuse_conn 245 * - the unique request ID counter reqctr in fuse_conn 246 * - the sb (super_block) field in fuse_conn 247 * - the file (device file) field in fuse_conn 248 */ 249extern spinlock_t fuse_lock; 250 251/** |
252 * Get a filled in inode 253 */ 254struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, 255 int generation, struct fuse_attr *attr, int version); 256 257/** 258 * Send FORGET command 259 */ 260void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, 261 unsigned long nodeid, int version); 262 263/** 264 * Initialise inode operations on regular files and special files 265 */ 266void fuse_init_common(struct inode *inode); 267 268/** 269 * Initialise inode and file operations on a directory 270 */ 271void fuse_init_dir(struct inode *inode); 272 273/** 274 * Initialise inode operations on a symlink 275 */ 276void fuse_init_symlink(struct inode *inode); 277 278/** 279 * Change attributes of an inode 280 */ 281void fuse_change_attributes(struct inode *inode, struct fuse_attr *attr); 282 283/** |
|
243 * Check if the connection can be released, and if yes, then free the 244 * connection structure 245 */ 246void fuse_release_conn(struct fuse_conn *fc); 247 248/** 249 * Initialize the client device 250 */ --- 51 unchanged lines hidden (view full) --- 302void request_send_noreply(struct fuse_conn *fc, struct fuse_req *req); 303 304/** 305 * Send a request in the background 306 */ 307void request_send_background(struct fuse_conn *fc, struct fuse_req *req); 308 309/** | 284 * Check if the connection can be released, and if yes, then free the 285 * connection structure 286 */ 287void fuse_release_conn(struct fuse_conn *fc); 288 289/** 290 * Initialize the client device 291 */ --- 51 unchanged lines hidden (view full) --- 343void request_send_noreply(struct fuse_conn *fc, struct fuse_req *req); 344 345/** 346 * Send a request in the background 347 */ 348void request_send_background(struct fuse_conn *fc, struct fuse_req *req); 349 350/** |
351 * Get the attributes of a file 352 */ 353int fuse_do_getattr(struct inode *inode); 354 355/** 356 * Invalidate inode attributes 357 */ 358void fuse_invalidate_attr(struct inode *inode); 359 360/** |
|
310 * Send the INIT message 311 */ 312void fuse_send_init(struct fuse_conn *fc); | 361 * Send the INIT message 362 */ 363void fuse_send_init(struct fuse_conn *fc); |