Lines Matching defs:ceph_inode_info
345 struct ceph_inode_info { struct
346 struct netfs_inode netfs; /* Netfslib context and vfs inode */
347 struct ceph_vino i_vino; /* ceph ino + snap */
349 spinlock_t i_ceph_lock;
351 u64 i_version;
352 u64 i_inline_version;
353 u32 i_time_warp_seq;
355 unsigned long i_ceph_flags;
356 atomic64_t i_release_count;
357 atomic64_t i_ordered_count;
358 atomic64_t i_complete_seq[2];
360 struct ceph_dir_layout i_dir_layout;
361 struct ceph_file_layout i_layout;
362 struct ceph_file_layout i_cached_layout; // for async creates
363 char *i_symlink;
366 struct timespec64 i_rctime;
367 u64 i_rbytes, i_rfiles, i_rsubdirs, i_rsnaps;
368 u64 i_files, i_subdirs;
371 u64 i_max_bytes, i_max_files;
373 s32 i_dir_pin;
375 struct rb_root i_fragtree;
376 int i_fragtree_nsplits;
377 struct mutex i_fragtree_mutex;
379 struct ceph_inode_xattrs_info i_xattrs;
383 struct rb_root i_caps; /* cap list */
384 struct ceph_cap *i_auth_cap; /* authoritative cap, if any */
385 unsigned i_dirty_caps, i_flushing_caps; /* mask of dirtied fields */
394 struct list_head i_dirty_item;
403 struct list_head i_flushing_item;
408 struct ceph_cap_flush *i_prealloc_cap_flush;
409 struct list_head i_cap_flush_list;
410 wait_queue_head_t i_cap_wq; /* threads waiting on a capability */
411 unsigned long i_hold_caps_max; /* jiffies */
412 struct list_head i_cap_delay_list; /* for delayed cap release to mds */
413 struct ceph_cap_reservation i_cap_migration_resv;
414 struct list_head i_cap_snaps; /* snapped state pending flush to mds */
415 struct ceph_snap_context *i_head_snapc; /* set if wr_buffer_head > 0 or
417 unsigned i_snap_caps; /* cap bits for snapped files */
419 unsigned long i_last_rd;
420 unsigned long i_last_wr;
421 int i_nr_by_mode[CEPH_FILE_MODE_BITS]; /* open file counts */
423 struct mutex i_truncate_mutex;
424 u32 i_truncate_seq; /* last truncate to smaller size */
425 u64 i_truncate_size; /* and the size we last truncated down to */
426 int i_truncate_pending; /* still need to call vmtruncate */
431 u64 i_truncate_pagecache_size;
433 u64 i_max_size; /* max file size authorized by mds */
434 u64 i_reported_size; /* (max_)size reported to or requested of mds */
435 u64 i_wanted_max_size; /* offset we'd like to write too */
436 u64 i_requested_max_size; /* max_size we've requested */
439 int i_pin_ref;
440 int i_rd_ref, i_rdcache_ref, i_wr_ref, i_wb_ref, i_fx_ref;
441 int i_wrbuffer_ref, i_wrbuffer_ref_head;
442 atomic_t i_filelock_ref;
443 atomic_t i_shared_gen; /* increment each time we get FILE_SHARED */
444 u32 i_rdcache_gen; /* incremented each time we get FILE_CACHE. */
445 u32 i_rdcache_revoking; /* RDCACHE gen to async invalidate, if any */
447 struct list_head i_unsafe_dirops; /* uncommitted mds dir ops */
448 struct list_head i_unsafe_iops; /* uncommitted mds inode ops */
449 spinlock_t i_unsafe_lock;
451 union {
455 struct list_head i_snap_realm_item;
456 struct list_head i_snap_flush_item;
457 struct timespec64 i_btime;
458 struct timespec64 i_snap_btime;
460 struct work_struct i_work;
484 static inline struct ceph_inode_info * argument