Home
last modified time | relevance | path

Searched refs:dquot (Results 1 – 25 of 30) sorted by relevance

12

/linux/fs/quota/
H A Ddquot.c38 * Write updated not to require dquot lock
89 * * dquot->dq_dqb_lock protects data from dq_dqb
91 * consistency of dquot->dq_dqb with inode->i_blocks, i_bytes so that
93 * * dq_data_lock protects mem_dqinfo structures and modifications of dquot
99 * dq_data_lock > dq_list_lock > i_lock > dquot->dq_dqb_lock,
103 * the life of the dquot structure and so needn't to be protected by a lock
108 * inode and before dropping dquot references to avoid use of dquots after
118 * Each dquot has its dq_lock mutex. Dquot is locked when it is being read to
125 * s_umount > i_mutex > journal_lock > dquot->dq_lock > dqio_sem
162 /* SLAB cache for dquot structure
287 insert_dquot_hash(struct dquot * dquot) insert_dquot_hash() argument
294 remove_dquot_hash(struct dquot * dquot) remove_dquot_hash() argument
302 struct dquot *dquot; find_dquot() local
312 put_dquot_last(struct dquot * dquot) put_dquot_last() argument
318 put_releasing_dquots(struct dquot * dquot) put_releasing_dquots() argument
324 remove_free_dquot(struct dquot * dquot) remove_free_dquot() argument
335 put_inuse(struct dquot * dquot) put_inuse() argument
343 remove_inuse(struct dquot * dquot) remove_inuse() argument
352 wait_on_dquot(struct dquot * dquot) wait_on_dquot() argument
358 dquot_active(struct dquot * dquot) dquot_active() argument
363 dquot_dirty(struct dquot * dquot) dquot_dirty() argument
368 mark_dquot_dirty(struct dquot * dquot) mark_dquot_dirty() argument
374 dquot_mark_dquot_dirty(struct dquot * dquot) dquot_mark_dquot_dirty() argument
403 struct dquot *dquot; mark_all_dquot_dirty() local
417 dqput_all(struct dquot ** dquot) dqput_all() argument
425 clear_dquot_dirty(struct dquot * dquot) clear_dquot_dirty() argument
452 dquot_acquire(struct dquot * dquot) dquot_acquire() argument
499 dquot_commit(struct dquot * dquot) dquot_commit() argument
525 dquot_release(struct dquot * dquot) dquot_release() argument
554 dquot_destroy(struct dquot * dquot) dquot_destroy() argument
560 do_destroy_dquot(struct dquot * dquot) do_destroy_dquot() argument
573 struct dquot *dquot, *tmp; invalidate_dquots() local
627 dquot_scan_active(struct super_block * sb,int (* fn)(struct dquot * dquot,unsigned long priv),unsigned long priv) dquot_scan_active() argument
630 struct dquot *dquot, *old_dquot = NULL; dquot_scan_active() local
668 dquot_write_dquot(struct dquot * dquot) dquot_write_dquot() argument
684 struct dquot *dquot; dquot_writeback_dquots() local
784 struct dquot *dquot; dqcache_shrink_scan() local
813 struct dquot *dquot; quota_release_workfn() local
853 dqput(struct dquot * dquot) dqput() argument
896 struct dquot *dquot; get_empty_dquot() local
926 struct dquot *dquot, *empty = NULL; dqget() local
1097 struct dquot *dquot = srcu_dereference_check( remove_dquot_ref() local
1129 dquot_free_reserved_space(struct dquot * dquot,qsize_t number) dquot_free_reserved_space() argument
1143 dquot_decr_inodes(struct dquot * dquot,qsize_t number) dquot_decr_inodes() argument
1155 dquot_decr_space(struct dquot * dquot,qsize_t number) dquot_decr_space() argument
1174 warning_issued(struct dquot * dquot,const int warntype) warning_issued() argument
1252 prepare_warning(struct dquot_warn * warn,struct dquot * dquot,int warntype) prepare_warning() argument
1282 ignore_hardlimit(struct dquot * dquot) ignore_hardlimit() argument
1291 dquot_add_inodes(struct dquot * dquot,qsize_t inodes,struct dquot_warn * warn) dquot_add_inodes() argument
1336 dquot_add_space(struct dquot * dquot,qsize_t space,qsize_t rsv_space,unsigned int flags,struct dquot_warn * warn) dquot_add_space() argument
1404 info_idq_free(struct dquot * dquot,qsize_t inodes) info_idq_free() argument
1422 info_bdq_free(struct dquot * dquot,qsize_t space) info_bdq_free() argument
1474 struct dquot *dquot; __dquot_initialize() local
1542 struct dquot *dquot = srcu_dereference_check( __dquot_initialize() local
1687 struct dquot *dquot; __dquot_alloc_space() local
1757 struct dquot *dquot; dquot_alloc_inode() local
1802 struct dquot *dquot; dquot_claim_space_nodirty() local
1843 struct dquot *dquot; dquot_reclaim_space_nodirty() local
1886 struct dquot *dquot; __dquot_free_space() local
1943 struct dquot *dquot; dquot_free_inode() local
2129 struct dquot *dquot; dquot_transfer() local
2662 do_get_dqblk(struct dquot * dquot,struct qc_dqblk * di) do_get_dqblk() argument
2682 struct dquot *dquot; dquot_get_dqblk() local
2697 struct dquot *dquot; dquot_get_next_dqblk() local
2721 do_set_dqblk(struct dquot * dquot,struct qc_dqblk * di) do_set_dqblk() argument
2817 struct dquot *dquot; dquot_set_dqblk() local
[all...]
H A Dquota_tree.c258 /* Find space for dquot */
260 struct dquot *dquot, int *err) in find_free_dqentry() argument
292 mark_info_dirty(dquot->dq_sb, dquot->dq_id.type); in find_free_dqentry()
298 quota_error(dquot->dq_sb, "Can't remove block (%u) " in find_free_dqentry()
313 quota_error(dquot->dq_sb, "Data block full but it shouldn't"); in find_free_dqentry()
320 quota_error(dquot->dq_sb, "Can't write quota data block %u", in find_free_dqentry()
324 dquot->dq_off = ((loff_t)blk << info->dqi_blocksize_bits) + in find_free_dqentry()
335 static int do_insert_tree(struct qtree_mem_dqinfo *info, struct dquot *dquo argument
418 dq_insert_tree(struct qtree_mem_dqinfo * info,struct dquot * dquot) dq_insert_tree() argument
439 qtree_write_dquot(struct qtree_mem_dqinfo * info,struct dquot * dquot) qtree_write_dquot() argument
479 free_dqentry(struct qtree_mem_dqinfo * info,struct dquot * dquot,uint blk) free_dqentry() argument
544 remove_tree(struct qtree_mem_dqinfo * info,struct dquot * dquot,uint * blks,int depth) remove_tree() argument
607 qtree_delete_dquot(struct qtree_mem_dqinfo * info,struct dquot * dquot) qtree_delete_dquot() argument
623 find_block_dqentry(struct qtree_mem_dqinfo * info,struct dquot * dquot,uint blk) find_block_dqentry() argument
661 find_tree_dqentry(struct qtree_mem_dqinfo * info,struct dquot * dquot,uint * blks,int depth) find_tree_dqentry() argument
708 find_dqentry(struct qtree_mem_dqinfo * info,struct dquot * dquot) find_dqentry() argument
719 qtree_read_dquot(struct qtree_mem_dqinfo * info,struct dquot * dquot) qtree_read_dquot() argument
783 qtree_release_dquot(struct qtree_mem_dqinfo * info,struct dquot * dquot) qtree_release_dquot() argument
[all...]
H A Dquota_v2.c25 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) v2r0_disk2memdqb() argument
249 v2r0_mem2diskdqb(void * dp,struct dquot * dquot) v2r0_mem2diskdqb() argument
269 v2r0_is_id(void * dp,struct dquot * dquot) v2r0_is_id() argument
282 v2r1_disk2memdqb(struct dquot * dquot,void * dp) v2r1_disk2memdqb() argument
302 v2r1_mem2diskdqb(void * dp,struct dquot * dquot) v2r1_mem2diskdqb() argument
323 v2r1_is_id(void * dp,struct dquot * dquot) v2r1_is_id() argument
336 v2_read_dquot(struct dquot * dquot) v2_read_dquot() argument
352 v2_write_dquot(struct dquot * dquot) v2_write_dquot() argument
383 v2_release_dquot(struct dquot * dquot) v2_release_dquot() argument
[all...]
H A Dquota_v1.c56 static int v1_read_dqblk(struct dquot *dquot) in v1_read_dqblk() argument
58 int type = dquot->dq_id.type; in v1_read_dqblk()
60 struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); in v1_read_dqblk()
67 dquot->dq_sb->s_op->quota_read(dquot->dq_sb, type, (char *)&dqblk, in v1_read_dqblk()
69 v1_dqoff(from_kqid(&init_user_ns, dquot->dq_id))); in v1_read_dqblk()
71 v1_disk2mem_dqblk(&dquot->dq_dqb, &dqblk); in v1_read_dqblk()
72 if (dquot->dq_dqb.dqb_bhardlimit == 0 && in v1_read_dqblk()
73 dquot in v1_read_dqblk()
82 v1_commit_dqblk(struct dquot * dquot) v1_commit_dqblk() argument
[all...]
H A DMakefile2 obj-$(CONFIG_QUOTA) += dquot.o
/linux/fs/ocfs2/
H A Dquota_global.c38 * 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) in ocfs2_global_disk2memdqb() argument
74 struct mem_dqblk *m = &dquot->dq_dqb; in ocfs2_global_disk2memdqb()
77 if (!test_bit(DQ_LASTSET_B + QIF_ILIMITS_B, &dquot->dq_flags)) { in ocfs2_global_disk2memdqb()
81 if (!test_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags)) in ocfs2_global_disk2memdqb()
83 if (!test_bit(DQ_LASTSET_B + QIF_BLIMITS_B, &dquot->dq_flags)) { in ocfs2_global_disk2memdqb()
87 if (!test_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot in ocfs2_global_disk2memdqb()
96 ocfs2_global_mem2diskdqb(void * dp,struct dquot * dquot) ocfs2_global_mem2diskdqb() argument
114 ocfs2_global_is_id(void * dp,struct dquot * dquot) ocfs2_global_is_id() argument
490 __ocfs2_sync_dquot(struct dquot * dquot,int freeing) __ocfs2_sync_dquot() argument
603 ocfs2_sync_dquot_helper(struct dquot * dquot,unsigned long type) ocfs2_sync_dquot_helper() argument
669 ocfs2_write_dquot(struct dquot * dquot) ocfs2_write_dquot() argument
730 ocfs2_release_dquot(struct dquot * dquot) ocfs2_release_dquot() argument
809 ocfs2_acquire_dquot(struct dquot * dquot) ocfs2_acquire_dquot() argument
925 ocfs2_mark_dquot_dirty(struct dquot * dquot) ocfs2_mark_dquot_dirty() argument
1015 struct ocfs2_dquot *dquot = ocfs2_alloc_dquot() local
1023 ocfs2_destroy_dquot(struct dquot * dquot) ocfs2_destroy_dquot() argument
[all...]
H A Dquota.h28 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) in OCFS2_DQUOT() argument
74 return container_of(dquot, struct ocfs2_dquot, dq_dquot); in OCFS2_DQUOT()
100 int __ocfs2_sync_dquot(struct dquot *dquot, int freeing);
101 static inline int ocfs2_sync_dquot(struct dquot *dquot) in ocfs2_sync_dquot() argument
105 ocfs2_global_release_dquot(struct dquot * dquot) ocfs2_global_release_dquot() argument
[all...]
H A Dquota_local.c70 /* Offset of the dquot structure in the quota file */
465 struct dquot *dquot; in ocfs2_recover_local_quota_file() local
498 dquot = dqget(sb, in ocfs2_recover_local_quota_file()
501 if (IS_ERR(dquot)) { in ocfs2_recover_local_quota_file()
502 status = PTR_ERR(dquot); in ocfs2_recover_local_quota_file()
525 spin_lock(&dquot->dq_dqb_lock); in ocfs2_recover_local_quota_file()
531 dquot->dq_dqb.dqb_curspace += spacechange; in ocfs2_recover_local_quota_file()
532 dquot->dq_dqb.dqb_curinodes += inodechange; in ocfs2_recover_local_quota_file()
533 spin_unlock(&dquot in ocfs2_recover_local_quota_file()
893 ocfs2_local_write_dquot(struct dquot * dquot) ocfs2_local_write_dquot() argument
1216 ocfs2_create_local_dquot(struct dquot * dquot) ocfs2_create_local_dquot() argument
1274 ocfs2_local_release_dquot(handle_t * handle,struct dquot * dquot) ocfs2_local_release_dquot() argument
[all...]
H A Dinode.h68 struct dquot __rcu *i_dquot[MAXQUOTAS];
H A Dsuper.c123 static struct dquot __rcu **ocfs2_get_dquots(struct inode *inode) in ocfs2_get_dquots()
964 /* Turn off quotas. This will remove all dquot structures from in ocfs2_disable_quotas()
/linux/mm/
H A Dshmem_quota.c3 * 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
161 * Load dquot with limits from existing entry, or create the new entry if
164 static int shmem_acquire_dquot(struct dquot *dquot) in shmem_acquire_dquot() argument
166 struct mem_dqinfo *info = sb_dqinfo(dquot->dq_sb, dquot->dq_id.type); in shmem_acquire_dquot()
168 struct shmem_sb_info *sbinfo = dquot in shmem_acquire_dquot()
237 shmem_is_empty_dquot(struct dquot * dquot) shmem_is_empty_dquot() argument
265 shmem_release_dquot(struct dquot * dquot) shmem_release_dquot() argument
320 shmem_mark_dquot_dirty(struct dquot * dquot) shmem_mark_dquot_dirty() argument
[all...]
/linux/include/linux/
H A Ddqblk_qtree.h18 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 Dquotaops.h46 struct dquot *dqget(struct super_block *sb, struct kqid qid);
47 static inline struct dquot *dqgrab(struct dquot *dquot) in dqgrab() argument
49 /* Make sure someone else has active reference to dquot */ in dqgrab()
50 WARN_ON_ONCE(!atomic_read(&dquot->dq_count)); in dqgrab()
51 WARN_ON_ONCE(!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)); in dqgrab()
52 atomic_inc(&dquot->dq_count); in dqgrab()
53 return dquot; in dqgrab()
56 static inline bool dquot_is_busy(struct dquot *dquo argument
[all...]
H A Dquota.h282 #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 */ argument
306 loff_t dq_off; /* Offset of dquot on disk [dq_lock, stable once set] */ argument
317 int (*read_dqblk)(struct dquot *dquot); /* Rea argument
300 dq_dirtydquot global() argument
[all...]
H A Dshmem_fs.h42 struct dquot __rcu *i_dquot[MAXQUOTAS];
/linux/fs/ext4/
H A Dsuper.c1564 static int ext4_write_dquot(struct dquot *dquot);
1565 static int ext4_acquire_dquot(struct dquot *dquot);
1566 static int ext4_release_dquot(struct dquot *dquot);
1567 static int ext4_mark_dquot_dirty(struct dquot *dquot);
1578 static struct dquot __rcu **ext4_get_dquots(struct inode *inode) in ext4_get_dquots()
6809 struct dquot *dquot; in ext4_statfs_project() local
6814 dquot = dqget(sb, qid); in ext4_statfs_project()
6815 if (IS_ERR(dquot)) in ext4_statfs_project()
6816 return PTR_ERR(dquot); in ext4_statfs_project()
6817 spin_lock(&dquot->dq_dqb_lock); in ext4_statfs_project()
[all …]
H A Dioctl.c721 struct dquot *transfer_to[MAXQUOTAS] = { }; in ext4_ioctl_setproject()
/linux/fs/f2fs/
H A Dsuper.c64 [FAULT_DQUOT_INIT] = "dquot initialize",
2060 struct dquot *dquot; in f2fs_statfs_project() local
2065 dquot = dqget(sb, qid); in f2fs_statfs_project()
2066 if (IS_ERR(dquot)) in f2fs_statfs_project()
2067 return PTR_ERR(dquot); in f2fs_statfs_project()
2068 spin_lock(&dquot->dq_dqb_lock); in f2fs_statfs_project()
2070 limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit, in f2fs_statfs_project()
2071 dquot->dq_dqb.dqb_bhardlimit); in f2fs_statfs_project()
2077 curblock = (dquot in f2fs_statfs_project()
3389 f2fs_dquot_commit(struct dquot * dquot) f2fs_dquot_commit() argument
3402 f2fs_dquot_acquire(struct dquot * dquot) f2fs_dquot_acquire() argument
3415 f2fs_dquot_release(struct dquot * dquot) f2fs_dquot_release() argument
3425 f2fs_dquot_mark_dquot_dirty(struct dquot * dquot) f2fs_dquot_mark_dquot_dirty() argument
[all...]
/linux/fs/jfs/
H A Djfs_incore.h95 struct dquot __rcu *i_dquot[MAXQUOTAS];
H A Dsuper.c792 static struct dquot __rcu **jfs_get_dquots(struct inode *inode) in jfs_get_dquots()
/linux/Documentation/filesystems/
H A Dlocking.rst565 int (*write_dquot) (struct dquot *);
566 int (*acquire_dquot) (struct dquot *);
567 int (*release_dquot) (struct dquot *);
568 int (*mark_dirty) (struct dquot *);
589 More details about quota locking can be found in fs/dquot.c.
/linux/fs/bcachefs/
H A Dquota.c145 struct mem_dqinfo *info = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_id.type]; in ignore_hardlimit()
/linux/fs/ext2/
H A Dext2.h678 struct dquot __rcu *i_dquot[MAXQUOTAS];
H A Dsuper.c349 static struct dquot __rcu **ext2_get_dquots(struct inode *inode) in ext2_get_dquots()
/linux/Documentation/filesystems/xfs/
H A Dxfs-online-fsck-design.rst552 and commit those changes to a dquot side file when the transaction commits.
3339 8. Incore dquot references, if a file is being repaired.
3617 Add each file's resource usage to the incore dquot.
3619 3. Walk each incore dquot.
3620 If the incore dquot is not being flushed, add the ondisk buffer backing the
3621 incore dquot to a delayed write (delwri) list.
3628 Therefore, online quotacheck records file resource usage to a shadow dquot
3636 2. For each dquot attached to the file:
3638 a. The dquot is locked.
3640 b. A quota reservation is added to the dquot'
[all...]

12