Lines Matching defs:ceph_inode_info
308 struct ceph_inode_info { struct
309 struct ceph_vino i_vino; /* ceph ino + snap */
311 spinlock_t i_ceph_lock;
313 u64 i_version;
314 u64 i_inline_version;
315 u32 i_time_warp_seq;
317 unsigned i_ceph_flags;
318 atomic64_t i_release_count;
319 atomic64_t i_ordered_count;
320 atomic64_t i_complete_seq[2];
322 struct ceph_dir_layout i_dir_layout;
323 struct ceph_file_layout i_layout;
324 char *i_symlink;
327 struct timespec64 i_rctime;
328 u64 i_rbytes, i_rfiles, i_rsubdirs;
329 u64 i_files, i_subdirs;
332 u64 i_max_bytes, i_max_files;
334 s32 i_dir_pin;
336 struct rb_root i_fragtree;
337 int i_fragtree_nsplits;
338 struct mutex i_fragtree_mutex;
340 struct ceph_inode_xattrs_info i_xattrs;
344 struct rb_root i_caps; /* cap list */
345 struct ceph_cap *i_auth_cap; /* authoritative cap, if any */
346 unsigned i_dirty_caps, i_flushing_caps; /* mask of dirtied fields */
347 struct list_head i_dirty_item, i_flushing_item;
351 struct ceph_cap_flush *i_prealloc_cap_flush;
352 struct list_head i_cap_flush_list;
353 wait_queue_head_t i_cap_wq; /* threads waiting on a capability */
354 unsigned long i_hold_caps_min; /* jiffies */
355 unsigned long i_hold_caps_max; /* jiffies */
356 struct list_head i_cap_delay_list; /* for delayed cap release to mds */
357 struct ceph_cap_reservation i_cap_migration_resv;
358 struct list_head i_cap_snaps; /* snapped state pending flush to mds */
359 struct ceph_snap_context *i_head_snapc; /* set if wr_buffer_head > 0 or
361 unsigned i_snap_caps; /* cap bits for snapped files */
363 int i_nr_by_mode[CEPH_FILE_MODE_BITS]; /* open file counts */
365 struct mutex i_truncate_mutex;
366 u32 i_truncate_seq; /* last truncate to smaller size */
367 u64 i_truncate_size; /* and the size we last truncated down to */
368 int i_truncate_pending; /* still need to call vmtruncate */
370 u64 i_max_size; /* max file size authorized by mds */
371 u64 i_reported_size; /* (max_)size reported to or requested of mds */
372 u64 i_wanted_max_size; /* offset we'd like to write too */
373 u64 i_requested_max_size; /* max_size we've requested */
376 int i_pin_ref;
377 int i_rd_ref, i_rdcache_ref, i_wr_ref, i_wb_ref;
378 int i_wrbuffer_ref, i_wrbuffer_ref_head;
379 atomic_t i_filelock_ref;
380 atomic_t i_shared_gen; /* increment each time we get FILE_SHARED */
381 u32 i_rdcache_gen; /* incremented each time we get FILE_CACHE. */
382 u32 i_rdcache_revoking; /* RDCACHE gen to async invalidate, if any */
384 struct list_head i_unsafe_dirops; /* uncommitted mds dir ops */
385 struct list_head i_unsafe_iops; /* uncommitted mds inode ops */
386 spinlock_t i_unsafe_lock;
410 static inline struct ceph_inode_info *ceph_inode(struct inode *inode) in ceph_inode() argument