Lines Matching defs:ceph_inode_info
315 struct ceph_inode_info { struct
316 struct ceph_vino i_vino; /* ceph ino + snap */
318 spinlock_t i_ceph_lock;
320 u64 i_version;
321 u64 i_inline_version;
322 u32 i_time_warp_seq;
324 unsigned long i_ceph_flags;
325 atomic64_t i_release_count;
326 atomic64_t i_ordered_count;
327 atomic64_t i_complete_seq[2];
329 struct ceph_dir_layout i_dir_layout;
330 struct ceph_file_layout i_layout;
331 struct ceph_file_layout i_cached_layout; // for async creates
332 char *i_symlink;
335 struct timespec64 i_rctime;
336 u64 i_rbytes, i_rfiles, i_rsubdirs;
337 u64 i_files, i_subdirs;
340 u64 i_max_bytes, i_max_files;
342 s32 i_dir_pin;
344 struct rb_root i_fragtree;
345 int i_fragtree_nsplits;
346 struct mutex i_fragtree_mutex;
348 struct ceph_inode_xattrs_info i_xattrs;
352 struct rb_root i_caps; /* cap list */
353 struct ceph_cap *i_auth_cap; /* authoritative cap, if any */
354 unsigned i_dirty_caps, i_flushing_caps; /* mask of dirtied fields */
363 struct list_head i_dirty_item;
372 struct list_head i_flushing_item;
377 struct ceph_cap_flush *i_prealloc_cap_flush;
378 struct list_head i_cap_flush_list;
379 wait_queue_head_t i_cap_wq; /* threads waiting on a capability */
380 unsigned long i_hold_caps_max; /* jiffies */
381 struct list_head i_cap_delay_list; /* for delayed cap release to mds */
382 struct ceph_cap_reservation i_cap_migration_resv;
383 struct list_head i_cap_snaps; /* snapped state pending flush to mds */
384 struct ceph_snap_context *i_head_snapc; /* set if wr_buffer_head > 0 or
386 unsigned i_snap_caps; /* cap bits for snapped files */
388 unsigned long i_last_rd;
389 unsigned long i_last_wr;
390 int i_nr_by_mode[CEPH_FILE_MODE_BITS]; /* open file counts */
392 struct mutex i_truncate_mutex;
393 u32 i_truncate_seq; /* last truncate to smaller size */
394 u64 i_truncate_size; /* and the size we last truncated down to */
395 int i_truncate_pending; /* still need to call vmtruncate */
397 u64 i_max_size; /* max file size authorized by mds */
398 u64 i_reported_size; /* (max_)size reported to or requested of mds */
399 u64 i_wanted_max_size; /* offset we'd like to write too */
400 u64 i_requested_max_size; /* max_size we've requested */
403 int i_pin_ref;
404 int i_rd_ref, i_rdcache_ref, i_wr_ref, i_wb_ref, i_fx_ref;
405 int i_wrbuffer_ref, i_wrbuffer_ref_head;
406 atomic_t i_filelock_ref;
407 atomic_t i_shared_gen; /* increment each time we get FILE_SHARED */
408 u32 i_rdcache_gen; /* incremented each time we get FILE_CACHE. */
409 u32 i_rdcache_revoking; /* RDCACHE gen to async invalidate, if any */
411 struct list_head i_unsafe_dirops; /* uncommitted mds dir ops */
412 struct list_head i_unsafe_iops; /* uncommitted mds inode ops */
413 spinlock_t i_unsafe_lock;
437 static inline struct ceph_inode_info * argument