5 #include <linux/spinlock.h>
7 #define CDLIM_UNSET (0ULL)
8 #define CDLIM_INFINITY (~0ULL)
9 #define CDLIM_KEEP (~1ULL)
17 struct hlist_node dl_hlist; /* linked list of contexts */
18 struct rcu_head dl_rcu; /* the rcu head */
19 xid_t dl_xid; /* context id */
20 atomic_t dl_usecnt; /* usage count */
21 atomic_t dl_refcnt; /* reference count */
23 struct super_block *dl_sb; /* associated superblock */
25 spinlock_t dl_lock; /* protect the values */
27 uint64_t dl_space_used; /* used space in bytes */
28 uint64_t dl_space_total; /* maximum space in bytes */
29 uint32_t dl_inodes_used; /* used inodes */
30 uint32_t dl_inodes_total; /* maximum inodes */
32 unsigned int dl_nrlmult; /* non root limit mult */
37 extern void rcu_free_dl_info(struct rcu_head *);
38 extern void unhash_dl_info(struct dl_info *);
40 extern struct dl_info *locate_dl_info(struct super_block *, xid_t);
45 extern void vx_vsi_statfs(struct super_block *, struct kstatfs *);
47 typedef uint64_t dlsize_t;
49 #endif /* __KERNEL__ */
50 #else /* _VX_DLIMIT_H */
51 #warning duplicate inclusion
52 #endif /* _VX_DLIMIT_H */