Lines Matching defs:ceph_inode_info

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