/linux-master/include/linux/ |
H A D | dqblk_qtree.h | 18 struct dquot; 23 void (*mem2disk_dqblk)(void *disk, struct dquot *dquot); /* Convert given entry from in memory format to disk one */ 24 void (*disk2mem_dqblk)(struct dquot *dquot, void *disk); /* Convert given entry from disk format to in memory one */ 25 int (*is_id)(void *disk, struct dquot *dquot); /* Is this structure for given id? */ 42 int qtree_write_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot); 43 int qtree_read_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquo [all...] |
H A D | quotaops.h | 46 struct dquot *dqget(struct super_block *sb, struct kqid qid); 47 static inline struct dquot *dqgrab(struct dquot *dquot) argument 49 /* Make sure someone else has active reference to dquot */ 50 WARN_ON_ONCE(!atomic_read(&dquot->dq_count)); 51 WARN_ON_ONCE(!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)); 52 atomic_inc(&dquot->dq_count); 53 return dquot; 56 static inline bool dquot_is_busy(struct dquot *dquo argument [all...] |
H A D | quota.h | 282 #define DQ_MOD_B 0 /* dquot modified since read */ 286 #define DQ_READ_B 4 /* dquot was read into memory */ 287 #define DQ_ACTIVE_B 5 /* dquot is active (dquot_release not called) */ 288 #define DQ_RELEASING_B 6 /* dquot is in releasing_dquots list waiting 293 * and the quota format handling dquot can\ 296 struct dquot { struct 301 struct mutex dq_lock; /* dquot IO lock */ 306 loff_t dq_off; /* Offset of dquot on disk [dq_lock, stable once set] */ 317 int (*read_dqblk)(struct dquot *dquot); /* Rea [all...] |
H A D | shmem_fs.h | 40 struct dquot __rcu *i_dquot[MAXQUOTAS];
|
/linux-master/fs/quota/ |
H A D | dquot.c | 38 * Write updated not to require dquot lock 90 * * dquot->dq_dqb_lock protects data from dq_dqb 92 * consistency of dquot->dq_dqb with inode->i_blocks, i_bytes so that 94 * * dq_data_lock protects mem_dqinfo structures and modifications of dquot 100 * dq_data_lock > dq_list_lock > i_lock > dquot->dq_dqb_lock, 104 * the life of the dquot structure and so needn't to be protected by a lock 109 * inode and before dropping dquot references to avoid use of dquots after 119 * Each dquot has its dq_lock mutex. Dquot is locked when it is being read to 126 * s_umount > i_mutex > journal_lock > dquot->dq_lock > dqio_sem 163 /* SLAB cache for dquot structure 289 insert_dquot_hash(struct dquot *dquot) argument 296 remove_dquot_hash(struct dquot *dquot) argument 304 struct dquot *dquot; local 314 put_dquot_last(struct dquot *dquot) argument 320 put_releasing_dquots(struct dquot *dquot) argument 326 remove_free_dquot(struct dquot *dquot) argument 337 put_inuse(struct dquot *dquot) argument 345 remove_inuse(struct dquot *dquot) argument 354 wait_on_dquot(struct dquot *dquot) argument 360 dquot_active(struct dquot *dquot) argument 365 dquot_dirty(struct dquot *dquot) argument 370 mark_dquot_dirty(struct dquot *dquot) argument 376 dquot_mark_dquot_dirty(struct dquot *dquot) argument 405 struct dquot *dquot; local 419 dqput_all(struct dquot **dquot) argument 427 clear_dquot_dirty(struct dquot *dquot) argument 454 dquot_acquire(struct dquot *dquot) argument 501 dquot_commit(struct dquot *dquot) argument 527 dquot_release(struct dquot *dquot) argument 556 dquot_destroy(struct dquot *dquot) argument 562 do_destroy_dquot(struct dquot *dquot) argument 575 struct dquot *dquot, *tmp; local 628 dquot_scan_active(struct super_block *sb, int (*fn)(struct dquot *dquot, unsigned long priv), unsigned long priv) argument 632 struct dquot *dquot, *old_dquot = NULL; local 670 dquot_write_dquot(struct dquot *dquot) argument 686 struct dquot *dquot; local 784 struct dquot *dquot; local 813 struct dquot *dquot; local 853 dqput(struct dquot *dquot) argument 896 struct dquot *dquot; local 926 struct dquot *dquot, *empty = NULL; local 1097 struct dquot *dquot = srcu_dereference_check( local 1129 dquot_free_reserved_space(struct dquot *dquot, qsize_t number) argument 1143 dquot_decr_inodes(struct dquot *dquot, qsize_t number) argument 1155 dquot_decr_space(struct dquot *dquot, qsize_t number) argument 1174 warning_issued(struct dquot *dquot, const int warntype) argument 1252 prepare_warning(struct dquot_warn *warn, struct dquot *dquot, int warntype) argument 1282 ignore_hardlimit(struct dquot *dquot) argument 1291 dquot_add_inodes(struct dquot *dquot, qsize_t inodes, struct dquot_warn *warn) argument 1336 dquot_add_space(struct dquot *dquot, qsize_t space, qsize_t rsv_space, unsigned int flags, struct dquot_warn *warn) argument 1404 info_idq_free(struct dquot *dquot, qsize_t inodes) argument 1422 info_bdq_free(struct dquot *dquot, qsize_t space) argument 1474 struct dquot *dquot; local 1542 struct dquot *dquot = srcu_dereference_check( local 1687 struct dquot *dquot; local 1757 struct dquot *dquot; local 1802 struct dquot *dquot; local 1844 struct dquot *dquot; local 1888 struct dquot *dquot; local 1945 struct dquot *dquot; local 2127 struct dquot *dquot; local 2665 do_get_dqblk(struct dquot *dquot, struct qc_dqblk *di) argument 2685 struct dquot *dquot; local 2700 struct dquot *dquot; local 2724 do_set_dqblk(struct dquot *dquot, struct qc_dqblk *di) argument 2818 struct dquot *dquot; local [all...] |
H A D | quota_tree.c | 258 /* Find space for dquot */ 260 struct dquot *dquot, int *err) 292 mark_info_dirty(dquot->dq_sb, dquot->dq_id.type); 298 quota_error(dquot->dq_sb, "Can't remove block (%u) " 313 quota_error(dquot->dq_sb, "Data block full but it shouldn't"); 320 quota_error(dquot->dq_sb, "Can't write quota data block %u", 324 dquot->dq_off = ((loff_t)blk << info->dqi_blocksize_bits) + 335 static int do_insert_tree(struct qtree_mem_dqinfo *info, struct dquot *dquo argument 259 find_free_dqentry(struct qtree_mem_dqinfo *info, struct dquot *dquot, int *err) argument 417 dq_insert_tree(struct qtree_mem_dqinfo *info, struct dquot *dquot) argument 439 qtree_write_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) argument 479 free_dqentry(struct qtree_mem_dqinfo *info, struct dquot *dquot, uint blk) argument 544 remove_tree(struct qtree_mem_dqinfo *info, struct dquot *dquot, uint *blks, int depth) argument 607 qtree_delete_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) argument 622 find_block_dqentry(struct qtree_mem_dqinfo *info, struct dquot *dquot, uint blk) argument 660 find_tree_dqentry(struct qtree_mem_dqinfo *info, struct dquot *dquot, uint *blks, int depth) argument 707 find_dqentry(struct qtree_mem_dqinfo *info, struct dquot *dquot) argument 719 qtree_read_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) argument 783 qtree_release_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) argument [all...] |
H A D | quota_v1.c | 56 static int v1_read_dqblk(struct dquot *dquot) argument 58 int type = dquot->dq_id.type; 60 struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); 67 dquot->dq_sb->s_op->quota_read(dquot->dq_sb, type, (char *)&dqblk, 69 v1_dqoff(from_kqid(&init_user_ns, dquot->dq_id))); 71 v1_disk2mem_dqblk(&dquot->dq_dqb, &dqblk); 72 if (dquot->dq_dqb.dqb_bhardlimit == 0 && 73 dquot 82 v1_commit_dqblk(struct dquot *dquot) argument [all...] |
H A D | quota_v2.c | 25 static void v2r0_mem2diskdqb(void *dp, struct dquot *dquot); 26 static void v2r0_disk2memdqb(struct dquot *dquot, void *dp); 27 static int v2r0_is_id(void *dp, struct dquot *dquot); 28 static void v2r1_mem2diskdqb(void *dp, struct dquot *dquot); 29 static void v2r1_disk2memdqb(struct dquot *dquot, voi 229 v2r0_disk2memdqb(struct dquot *dquot, void *dp) argument 249 v2r0_mem2diskdqb(void *dp, struct dquot *dquot) argument 269 v2r0_is_id(void *dp, struct dquot *dquot) argument 282 v2r1_disk2memdqb(struct dquot *dquot, void *dp) argument 302 v2r1_mem2diskdqb(void *dp, struct dquot *dquot) argument 323 v2r1_is_id(void *dp, struct dquot *dquot) argument 336 v2_read_dquot(struct dquot *dquot) argument 352 v2_write_dquot(struct dquot *dquot) argument 383 v2_release_dquot(struct dquot *dquot) argument [all...] |
H A D | Makefile | 2 obj-$(CONFIG_QUOTA) += dquot.o
|
/linux-master/fs/ocfs2/ |
H A D | quota.h | 28 struct dquot dq_dquot; /* Generic VFS dquot */ 31 struct ocfs2_quota_chunk *dq_chunk; /* Chunk dquot is in */ 72 static inline struct ocfs2_dquot *OCFS2_DQUOT(struct dquot *dquot) argument 74 return container_of(dquot, struct ocfs2_dquot, dq_dquot); 100 int ocfs2_global_read_dquot(struct dquot *dquot); 101 int __ocfs2_sync_dquot(struct dquot *dquot, in 102 ocfs2_sync_dquot(struct dquot *dquot) argument 106 ocfs2_global_release_dquot(struct dquot *dquot) argument [all...] |
H A D | quota_global.c | 38 * by dqio_sem or dquot->dq_lock. 52 * Acquire dquot for the first time: 58 * Release last reference to dquot: 71 static void ocfs2_global_disk2memdqb(struct dquot *dquot, void *dp) argument 74 struct mem_dqblk *m = &dquot->dq_dqb; 77 if (!test_bit(DQ_LASTSET_B + QIF_ILIMITS_B, &dquot->dq_flags)) { 81 if (!test_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags)) 83 if (!test_bit(DQ_LASTSET_B + QIF_BLIMITS_B, &dquot->dq_flags)) { 87 if (!test_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot 96 ocfs2_global_mem2diskdqb(void *dp, struct dquot *dquot) argument 114 ocfs2_global_is_id(void *dp, struct dquot *dquot) argument 487 __ocfs2_sync_dquot(struct dquot *dquot, int freeing) argument 600 ocfs2_sync_dquot_helper(struct dquot *dquot, unsigned long type) argument 666 ocfs2_write_dquot(struct dquot *dquot) argument 727 ocfs2_release_dquot(struct dquot *dquot) argument 801 ocfs2_acquire_dquot(struct dquot *dquot) argument 917 ocfs2_mark_dquot_dirty(struct dquot *dquot) argument 1007 struct ocfs2_dquot *dquot = local 1015 ocfs2_destroy_dquot(struct dquot *dquot) argument [all...] |
H A D | quota_local.c | 70 /* Offset of the dquot structure in the quota file */ 466 struct dquot *dquot; local 499 dquot = dqget(sb, 502 if (IS_ERR(dquot)) { 503 status = PTR_ERR(dquot); 526 spin_lock(&dquot->dq_dqb_lock); 532 dquot->dq_dqb.dqb_curspace += spacechange; 533 dquot->dq_dqb.dqb_curinodes += inodechange; 534 spin_unlock(&dquot 893 ocfs2_local_write_dquot(struct dquot *dquot) argument 1216 ocfs2_create_local_dquot(struct dquot *dquot) argument 1274 ocfs2_local_release_dquot(handle_t *handle, struct dquot *dquot) argument [all...] |
H A D | inode.h | 68 struct dquot __rcu *i_dquot[MAXQUOTAS];
|
H A D | file.c | 1123 struct dquot *transfer_to[MAXQUOTAS] = { };
|
H A D | super.c | 125 static struct dquot __rcu **ocfs2_get_dquots(struct inode *inode) 960 /* Turn off quotas. This will remove all dquot structures from
|
/linux-master/mm/ |
H A D | shmem_quota.c | 3 * In memory quota format relies on quota infrastructure to store dquot 5 * with persistent storage can load quota information into dquot from the 6 * storage on-demand and hence quota dquot shrinker can free any dquot 163 * Load dquot with limits from existing entry, or create the new entry if 166 static int shmem_acquire_dquot(struct dquot *dquot) argument 168 struct mem_dqinfo *info = sb_dqinfo(dquot->dq_sb, dquot->dq_id.type); 170 struct shmem_sb_info *sbinfo = dquot 239 shmem_is_empty_dquot(struct dquot *dquot) argument 267 shmem_release_dquot(struct dquot *dquot) argument 322 shmem_mark_dquot_dirty(struct dquot *dquot) argument [all...] |
/linux-master/fs/reiserfs/ |
H A D | super.c | 804 static struct dquot __rcu **reiserfs_get_dquots(struct inode *inode) 833 static int reiserfs_write_dquot(struct dquot *); 834 static int reiserfs_acquire_dquot(struct dquot *); 835 static int reiserfs_release_dquot(struct dquot *); 836 static int reiserfs_mark_dquot_dirty(struct dquot *); 2267 static int reiserfs_write_dquot(struct dquot *dquot) argument 2273 reiserfs_write_lock(dquot->dq_sb); 2275 journal_begin(&th, dquot->dq_sb, 2276 REISERFS_QUOTA_TRANS_BLOCKS(dquot 2290 reiserfs_acquire_dquot(struct dquot *dquot) argument 2313 reiserfs_release_dquot(struct dquot *dquot) argument 2338 reiserfs_mark_dquot_dirty(struct dquot *dquot) argument [all...] |
/linux-master/fs/f2fs/ |
H A D | super.c | 62 [FAULT_DQUOT_INIT] = "dquot initialize", 1743 struct dquot *dquot; local 1748 dquot = dqget(sb, qid); 1749 if (IS_ERR(dquot)) 1750 return PTR_ERR(dquot); 1751 spin_lock(&dquot->dq_dqb_lock); 1753 limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit, 1754 dquot->dq_dqb.dqb_bhardlimit); 1759 curblock = (dquot 3026 f2fs_dquot_commit(struct dquot *dquot) argument 3039 f2fs_dquot_acquire(struct dquot *dquot) argument 3052 f2fs_dquot_release(struct dquot *dquot) argument 3062 f2fs_dquot_mark_dquot_dirty(struct dquot *dquot) argument [all...] |
/linux-master/fs/ext4/ |
H A D | super.c | 1588 static int ext4_write_dquot(struct dquot *dquot); 1589 static int ext4_acquire_dquot(struct dquot *dquot); 1590 static int ext4_release_dquot(struct dquot *dquot); 1591 static int ext4_mark_dquot_dirty(struct dquot *dquot); 1602 static struct dquot __rcu **ext4_get_dquots(struct inode *inode) 6765 struct dquot *dquo local 6846 dquot_to_inode(struct dquot *dquot) argument 6851 ext4_write_dquot(struct dquot *dquot) argument 6873 ext4_acquire_dquot(struct dquot *dquot) argument 6893 ext4_release_dquot(struct dquot *dquot) argument 6916 ext4_mark_dquot_dirty(struct dquot *dquot) argument [all...] |
H A D | ioctl.c | 721 struct dquot *transfer_to[MAXQUOTAS] = { };
|
/linux-master/fs/jfs/ |
H A D | jfs_incore.h | 95 struct dquot __rcu *i_dquot[MAXQUOTAS];
|
H A D | super.c | 827 static struct dquot __rcu **jfs_get_dquots(struct inode *inode)
|
/linux-master/fs/bcachefs/ |
H A D | quota.c | 220 struct mem_dqinfo *info = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_id.type];
|
/linux-master/fs/ext2/ |
H A D | ext2.h | 677 struct dquot __rcu *i_dquot[MAXQUOTAS];
|
H A D | super.c | 322 static struct dquot __rcu **ext2_get_dquots(struct inode *inode)
|