dquot 687 fs/ext2/ext2.h struct dquot *i_dquot[MAXQUOTAS]; dquot 329 fs/ext2/super.c static struct dquot **ext2_get_dquots(struct inode *inode) dquot 1088 fs/ext4/ext4.h struct dquot *i_dquot[MAXQUOTAS]; dquot 441 fs/ext4/ioctl.c struct dquot *transfer_to[MAXQUOTAS] = { }; dquot 1373 fs/ext4/super.c static int ext4_write_dquot(struct dquot *dquot); dquot 1374 fs/ext4/super.c static int ext4_acquire_dquot(struct dquot *dquot); dquot 1375 fs/ext4/super.c static int ext4_release_dquot(struct dquot *dquot); dquot 1376 fs/ext4/super.c static int ext4_mark_dquot_dirty(struct dquot *dquot); dquot 1390 fs/ext4/super.c static struct dquot **ext4_get_dquots(struct inode *inode) dquot 5576 fs/ext4/super.c struct dquot *dquot; dquot 5581 fs/ext4/super.c dquot = dqget(sb, qid); dquot 5582 fs/ext4/super.c if (IS_ERR(dquot)) dquot 5583 fs/ext4/super.c return PTR_ERR(dquot); dquot 5584 fs/ext4/super.c spin_lock(&dquot->dq_dqb_lock); dquot 5587 fs/ext4/super.c if (dquot->dq_dqb.dqb_bsoftlimit && dquot 5588 fs/ext4/super.c (!limit || dquot->dq_dqb.dqb_bsoftlimit < limit)) dquot 5589 fs/ext4/super.c limit = dquot->dq_dqb.dqb_bsoftlimit; dquot 5590 fs/ext4/super.c if (dquot->dq_dqb.dqb_bhardlimit && dquot 5591 fs/ext4/super.c (!limit || dquot->dq_dqb.dqb_bhardlimit < limit)) dquot 5592 fs/ext4/super.c limit = dquot->dq_dqb.dqb_bhardlimit; dquot 5596 fs/ext4/super.c curblock = (dquot->dq_dqb.dqb_curspace + dquot 5597 fs/ext4/super.c dquot->dq_dqb.dqb_rsvspace) >> sb->s_blocksize_bits; dquot 5605 fs/ext4/super.c if (dquot->dq_dqb.dqb_isoftlimit && dquot 5606 fs/ext4/super.c (!limit || dquot->dq_dqb.dqb_isoftlimit < limit)) dquot 5607 fs/ext4/super.c limit = dquot->dq_dqb.dqb_isoftlimit; dquot 5608 fs/ext4/super.c if (dquot->dq_dqb.dqb_ihardlimit && dquot 5609 fs/ext4/super.c (!limit || dquot->dq_dqb.dqb_ihardlimit < limit)) dquot 5610 fs/ext4/super.c limit = dquot->dq_dqb.dqb_ihardlimit; dquot 5615 fs/ext4/super.c (buf->f_files > dquot->dq_dqb.dqb_curinodes) ? dquot 5616 fs/ext4/super.c (buf->f_files - dquot->dq_dqb.dqb_curinodes) : 0; dquot 5619 fs/ext4/super.c spin_unlock(&dquot->dq_dqb_lock); dquot 5620 fs/ext4/super.c dqput(dquot); dquot 5672 fs/ext4/super.c static inline struct inode *dquot_to_inode(struct dquot *dquot) dquot 5674 fs/ext4/super.c return sb_dqopt(dquot->dq_sb)->files[dquot->dq_id.type]; dquot 5677 fs/ext4/super.c static int ext4_write_dquot(struct dquot *dquot) dquot 5683 fs/ext4/super.c inode = dquot_to_inode(dquot); dquot 5685 fs/ext4/super.c EXT4_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); dquot 5688 fs/ext4/super.c ret = dquot_commit(dquot); dquot 5695 fs/ext4/super.c static int ext4_acquire_dquot(struct dquot *dquot) dquot 5700 fs/ext4/super.c handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA, dquot 5701 fs/ext4/super.c EXT4_QUOTA_INIT_BLOCKS(dquot->dq_sb)); dquot 5704 fs/ext4/super.c ret = dquot_acquire(dquot); dquot 5711 fs/ext4/super.c static int ext4_release_dquot(struct dquot *dquot) dquot 5716 fs/ext4/super.c handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA, dquot 5717 fs/ext4/super.c EXT4_QUOTA_DEL_BLOCKS(dquot->dq_sb)); dquot 5720 fs/ext4/super.c dquot_release(dquot); dquot 5723 fs/ext4/super.c ret = dquot_release(dquot); dquot 5730 fs/ext4/super.c static int ext4_mark_dquot_dirty(struct dquot *dquot) dquot 5732 fs/ext4/super.c struct super_block *sb = dquot->dq_sb; dquot 5738 fs/ext4/super.c dquot_mark_dquot_dirty(dquot); dquot 5739 fs/ext4/super.c return ext4_write_dquot(dquot); dquot 5741 fs/ext4/super.c return dquot_mark_dquot_dirty(dquot); dquot 693 fs/f2fs/f2fs.h struct dquot *i_dquot[MAXQUOTAS]; dquot 2799 fs/f2fs/file.c struct dquot *transfer_to[MAXQUOTAS] = {}; dquot 1206 fs/f2fs/super.c struct dquot *dquot; dquot 1211 fs/f2fs/super.c dquot = dqget(sb, qid); dquot 1212 fs/f2fs/super.c if (IS_ERR(dquot)) dquot 1213 fs/f2fs/super.c return PTR_ERR(dquot); dquot 1214 fs/f2fs/super.c spin_lock(&dquot->dq_dqb_lock); dquot 1216 fs/f2fs/super.c limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit, dquot 1217 fs/f2fs/super.c dquot->dq_dqb.dqb_bhardlimit); dquot 1222 fs/f2fs/super.c curblock = dquot->dq_dqb.dqb_curspace >> sb->s_blocksize_bits; dquot 1229 fs/f2fs/super.c limit = min_not_zero(dquot->dq_dqb.dqb_isoftlimit, dquot 1230 fs/f2fs/super.c dquot->dq_dqb.dqb_ihardlimit); dquot 1235 fs/f2fs/super.c (buf->f_files > dquot->dq_dqb.dqb_curinodes) ? dquot 1236 fs/f2fs/super.c (buf->f_files - dquot->dq_dqb.dqb_curinodes) : 0; dquot 1239 fs/f2fs/super.c spin_unlock(&dquot->dq_dqb_lock); dquot 1240 fs/f2fs/super.c dqput(dquot); dquot 1870 fs/f2fs/super.c static struct dquot **f2fs_get_dquots(struct inode *inode) dquot 2153 fs/f2fs/super.c static int f2fs_dquot_commit(struct dquot *dquot) dquot 2155 fs/f2fs/super.c struct f2fs_sb_info *sbi = F2FS_SB(dquot->dq_sb); dquot 2159 fs/f2fs/super.c ret = dquot_commit(dquot); dquot 2166 fs/f2fs/super.c static int f2fs_dquot_acquire(struct dquot *dquot) dquot 2168 fs/f2fs/super.c struct f2fs_sb_info *sbi = F2FS_SB(dquot->dq_sb); dquot 2172 fs/f2fs/super.c ret = dquot_acquire(dquot); dquot 2179 fs/f2fs/super.c static int f2fs_dquot_release(struct dquot *dquot) dquot 2181 fs/f2fs/super.c struct f2fs_sb_info *sbi = F2FS_SB(dquot->dq_sb); dquot 2185 fs/f2fs/super.c ret = dquot_release(dquot); dquot 2192 fs/f2fs/super.c static int f2fs_dquot_mark_dquot_dirty(struct dquot *dquot) dquot 2194 fs/f2fs/super.c struct super_block *sb = dquot->dq_sb; dquot 2199 fs/f2fs/super.c ret = dquot_mark_dquot_dirty(dquot); dquot 88 fs/jfs/jfs_incore.h struct dquot *i_dquot[MAXQUOTAS]; dquot 835 fs/jfs/super.c static struct dquot **jfs_get_dquots(struct inode *inode) dquot 1124 fs/ocfs2/file.c struct dquot *transfer_to[MAXQUOTAS] = { }; dquot 70 fs/ocfs2/inode.h struct dquot *i_dquot[MAXQUOTAS]; dquot 28 fs/ocfs2/quota.h struct dquot dq_dquot; /* Generic VFS dquot */ dquot 72 fs/ocfs2/quota.h static inline struct ocfs2_dquot *OCFS2_DQUOT(struct dquot *dquot) dquot 74 fs/ocfs2/quota.h return container_of(dquot, struct ocfs2_dquot, dq_dquot); dquot 100 fs/ocfs2/quota.h int ocfs2_global_read_dquot(struct dquot *dquot); dquot 101 fs/ocfs2/quota.h int __ocfs2_sync_dquot(struct dquot *dquot, int freeing); dquot 102 fs/ocfs2/quota.h static inline int ocfs2_sync_dquot(struct dquot *dquot) dquot 104 fs/ocfs2/quota.h return __ocfs2_sync_dquot(dquot, 0); dquot 106 fs/ocfs2/quota.h static inline int ocfs2_global_release_dquot(struct dquot *dquot) dquot 108 fs/ocfs2/quota.h return __ocfs2_sync_dquot(dquot, 1); dquot 116 fs/ocfs2/quota.h int ocfs2_create_local_dquot(struct dquot *dquot); dquot 117 fs/ocfs2/quota.h int ocfs2_local_release_dquot(handle_t *handle, struct dquot *dquot); dquot 118 fs/ocfs2/quota.h int ocfs2_local_write_dquot(struct dquot *dquot); dquot 71 fs/ocfs2/quota_global.c static void ocfs2_global_disk2memdqb(struct dquot *dquot, void *dp) dquot 74 fs/ocfs2/quota_global.c struct mem_dqblk *m = &dquot->dq_dqb; dquot 77 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_ILIMITS_B, &dquot->dq_flags)) { dquot 81 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags)) dquot 83 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_BLIMITS_B, &dquot->dq_flags)) { dquot 87 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot->dq_flags)) dquot 89 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags)) dquot 91 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags)) dquot 93 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_use_count = le32_to_cpu(d->dqb_use_count); dquot 96 fs/ocfs2/quota_global.c static void ocfs2_global_mem2diskdqb(void *dp, struct dquot *dquot) dquot 99 fs/ocfs2/quota_global.c struct mem_dqblk *m = &dquot->dq_dqb; dquot 101 fs/ocfs2/quota_global.c d->dqb_id = cpu_to_le32(from_kqid(&init_user_ns, dquot->dq_id)); dquot 102 fs/ocfs2/quota_global.c d->dqb_use_count = cpu_to_le32(OCFS2_DQUOT(dquot)->dq_use_count); dquot 114 fs/ocfs2/quota_global.c static int ocfs2_global_is_id(void *dp, struct dquot *dquot) dquot 118 fs/ocfs2/quota_global.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv; dquot 123 fs/ocfs2/quota_global.c return qid_eq(make_kqid(&init_user_ns, dquot->dq_id.type, dquot 125 fs/ocfs2/quota_global.c dquot->dq_id); dquot 484 fs/ocfs2/quota_global.c int __ocfs2_sync_dquot(struct dquot *dquot, int freeing) dquot 487 fs/ocfs2/quota_global.c struct super_block *sb = dquot->dq_sb; dquot 488 fs/ocfs2/quota_global.c int type = dquot->dq_id.type; dquot 496 fs/ocfs2/quota_global.c dquot->dq_off); dquot 509 fs/ocfs2/quota_global.c spin_lock(&dquot->dq_dqb_lock); dquot 510 fs/ocfs2/quota_global.c spacechange = dquot->dq_dqb.dqb_curspace - dquot 511 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_origspace; dquot 512 fs/ocfs2/quota_global.c inodechange = dquot->dq_dqb.dqb_curinodes - dquot 513 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_originodes; dquot 514 fs/ocfs2/quota_global.c olditime = dquot->dq_dqb.dqb_itime; dquot 515 fs/ocfs2/quota_global.c oldbtime = dquot->dq_dqb.dqb_btime; dquot 516 fs/ocfs2/quota_global.c ocfs2_global_disk2memdqb(dquot, &dqblk); dquot 517 fs/ocfs2/quota_global.c trace_ocfs2_sync_dquot(from_kqid(&init_user_ns, dquot->dq_id), dquot 518 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_curspace, dquot 520 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_curinodes, dquot 522 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot->dq_flags)) dquot 523 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_curspace += spacechange; dquot 524 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags)) dquot 525 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_curinodes += inodechange; dquot 527 fs/ocfs2/quota_global.c if (dquot->dq_dqb.dqb_bsoftlimit && dquot 528 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_curspace > dquot->dq_dqb.dqb_bsoftlimit) { dquot 529 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags) && dquot 531 fs/ocfs2/quota_global.c if (dquot->dq_dqb.dqb_btime > 0) dquot 532 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_btime = dquot 533 fs/ocfs2/quota_global.c min(dquot->dq_dqb.dqb_btime, oldbtime); dquot 535 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_btime = oldbtime; dquot 538 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_btime = 0; dquot 539 fs/ocfs2/quota_global.c clear_bit(DQ_BLKS_B, &dquot->dq_flags); dquot 542 fs/ocfs2/quota_global.c if (dquot->dq_dqb.dqb_isoftlimit && dquot 543 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_curinodes > dquot->dq_dqb.dqb_isoftlimit) { dquot 544 fs/ocfs2/quota_global.c if (!test_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags) && dquot 546 fs/ocfs2/quota_global.c if (dquot->dq_dqb.dqb_itime > 0) dquot 547 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_itime = dquot 548 fs/ocfs2/quota_global.c min(dquot->dq_dqb.dqb_itime, olditime); dquot 550 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_itime = olditime; dquot 553 fs/ocfs2/quota_global.c dquot->dq_dqb.dqb_itime = 0; dquot 554 fs/ocfs2/quota_global.c clear_bit(DQ_INODES_B, &dquot->dq_flags); dquot 557 fs/ocfs2/quota_global.c __clear_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot->dq_flags); dquot 558 fs/ocfs2/quota_global.c __clear_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags); dquot 559 fs/ocfs2/quota_global.c __clear_bit(DQ_LASTSET_B + QIF_BLIMITS_B, &dquot->dq_flags); dquot 560 fs/ocfs2/quota_global.c __clear_bit(DQ_LASTSET_B + QIF_ILIMITS_B, &dquot->dq_flags); dquot 561 fs/ocfs2/quota_global.c __clear_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags); dquot 562 fs/ocfs2/quota_global.c __clear_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags); dquot 563 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_origspace = dquot->dq_dqb.dqb_curspace; dquot 564 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_originodes = dquot->dq_dqb.dqb_curinodes; dquot 565 fs/ocfs2/quota_global.c spin_unlock(&dquot->dq_dqb_lock); dquot 569 fs/ocfs2/quota_global.c " (type=%d, id=%u)\n", dquot->dq_id.type, dquot 570 fs/ocfs2/quota_global.c (unsigned)from_kqid(&init_user_ns, dquot->dq_id)); dquot 574 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_use_count--; dquot 575 fs/ocfs2/quota_global.c err = qtree_write_dquot(&info->dqi_gi, dquot); dquot 578 fs/ocfs2/quota_global.c if (freeing && !OCFS2_DQUOT(dquot)->dq_use_count) { dquot 579 fs/ocfs2/quota_global.c err = qtree_release_dquot(&info->dqi_gi, dquot); dquot 597 fs/ocfs2/quota_global.c static int ocfs2_sync_dquot_helper(struct dquot *dquot, unsigned long type) dquot 600 fs/ocfs2/quota_global.c struct super_block *sb = dquot->dq_sb; dquot 605 fs/ocfs2/quota_global.c trace_ocfs2_sync_dquot_helper(from_kqid(&init_user_ns, dquot->dq_id), dquot 606 fs/ocfs2/quota_global.c dquot->dq_id.type, dquot 608 fs/ocfs2/quota_global.c if (type != dquot->dq_id.type) dquot 621 fs/ocfs2/quota_global.c status = ocfs2_sync_dquot(dquot); dquot 625 fs/ocfs2/quota_global.c status = ocfs2_local_write_dquot(dquot); dquot 660 fs/ocfs2/quota_global.c static int ocfs2_write_dquot(struct dquot *dquot) dquot 663 fs/ocfs2/quota_global.c struct ocfs2_super *osb = OCFS2_SB(dquot->dq_sb); dquot 666 fs/ocfs2/quota_global.c trace_ocfs2_write_dquot(from_kqid(&init_user_ns, dquot->dq_id), dquot 667 fs/ocfs2/quota_global.c dquot->dq_id.type); dquot 675 fs/ocfs2/quota_global.c down_write(&sb_dqopt(dquot->dq_sb)->dqio_sem); dquot 676 fs/ocfs2/quota_global.c status = ocfs2_local_write_dquot(dquot); dquot 677 fs/ocfs2/quota_global.c up_write(&sb_dqopt(dquot->dq_sb)->dqio_sem); dquot 718 fs/ocfs2/quota_global.c static int ocfs2_release_dquot(struct dquot *dquot) dquot 722 fs/ocfs2/quota_global.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv; dquot 723 fs/ocfs2/quota_global.c struct ocfs2_super *osb = OCFS2_SB(dquot->dq_sb); dquot 726 fs/ocfs2/quota_global.c trace_ocfs2_release_dquot(from_kqid(&init_user_ns, dquot->dq_id), dquot 727 fs/ocfs2/quota_global.c dquot->dq_id.type); dquot 729 fs/ocfs2/quota_global.c mutex_lock(&dquot->dq_lock); dquot 731 fs/ocfs2/quota_global.c if (dquot_is_busy(dquot)) dquot 740 fs/ocfs2/quota_global.c dqgrab(dquot); dquot 742 fs/ocfs2/quota_global.c if (llist_add(&OCFS2_DQUOT(dquot)->list, &osb->dquot_drop_list)) dquot 750 fs/ocfs2/quota_global.c ocfs2_calc_qdel_credits(dquot->dq_sb, dquot->dq_id.type)); dquot 757 fs/ocfs2/quota_global.c status = ocfs2_global_release_dquot(dquot); dquot 762 fs/ocfs2/quota_global.c status = ocfs2_local_release_dquot(handle, dquot); dquot 774 fs/ocfs2/quota_global.c dquot->dq_off = 0; dquot 775 fs/ocfs2/quota_global.c clear_bit(DQ_ACTIVE_B, &dquot->dq_flags); dquot 781 fs/ocfs2/quota_global.c mutex_unlock(&dquot->dq_lock); dquot 792 fs/ocfs2/quota_global.c static int ocfs2_acquire_dquot(struct dquot *dquot) dquot 796 fs/ocfs2/quota_global.c struct super_block *sb = dquot->dq_sb; dquot 798 fs/ocfs2/quota_global.c int type = dquot->dq_id.type; dquot 804 fs/ocfs2/quota_global.c trace_ocfs2_acquire_dquot(from_kqid(&init_user_ns, dquot->dq_id), dquot 806 fs/ocfs2/quota_global.c mutex_lock(&dquot->dq_lock); dquot 821 fs/ocfs2/quota_global.c status = qtree_read_dquot(&info->dqi_gi, dquot); dquot 826 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_use_count++; dquot 827 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_origspace = dquot->dq_dqb.dqb_curspace; dquot 828 fs/ocfs2/quota_global.c OCFS2_DQUOT(dquot)->dq_originodes = dquot->dq_dqb.dqb_curinodes; dquot 829 fs/ocfs2/quota_global.c if (!dquot->dq_off) { /* No real quota entry? */ dquot 852 fs/ocfs2/quota_global.c status = qtree_write_dquot(&info->dqi_gi, dquot); dquot 866 fs/ocfs2/quota_global.c status = ocfs2_create_local_dquot(dquot); dquot 869 fs/ocfs2/quota_global.c set_bit(DQ_ACTIVE_B, &dquot->dq_flags); dquot 871 fs/ocfs2/quota_global.c mutex_unlock(&dquot->dq_lock); dquot 908 fs/ocfs2/quota_global.c static int ocfs2_mark_dquot_dirty(struct dquot *dquot) dquot 918 fs/ocfs2/quota_global.c struct super_block *sb = dquot->dq_sb; dquot 919 fs/ocfs2/quota_global.c int type = dquot->dq_id.type; dquot 924 fs/ocfs2/quota_global.c trace_ocfs2_mark_dquot_dirty(from_kqid(&init_user_ns, dquot->dq_id), dquot 929 fs/ocfs2/quota_global.c spin_lock(&dquot->dq_dqb_lock); dquot 930 fs/ocfs2/quota_global.c if (dquot->dq_flags & mask) dquot 932 fs/ocfs2/quota_global.c spin_unlock(&dquot->dq_dqb_lock); dquot 936 fs/ocfs2/quota_global.c status = ocfs2_write_dquot(dquot); dquot 949 fs/ocfs2/quota_global.c status = ocfs2_sync_dquot(dquot); dquot 955 fs/ocfs2/quota_global.c status = ocfs2_local_write_dquot(dquot); dquot 993 fs/ocfs2/quota_global.c static struct dquot *ocfs2_alloc_dquot(struct super_block *sb, int type) dquot 995 fs/ocfs2/quota_global.c struct ocfs2_dquot *dquot = dquot 998 fs/ocfs2/quota_global.c if (!dquot) dquot 1000 fs/ocfs2/quota_global.c return &dquot->dq_dquot; dquot 1003 fs/ocfs2/quota_global.c static void ocfs2_destroy_dquot(struct dquot *dquot) dquot 1005 fs/ocfs2/quota_global.c kmem_cache_free(ocfs2_dquot_cachep, dquot); dquot 466 fs/ocfs2/quota_local.c struct dquot *dquot; dquot 498 fs/ocfs2/quota_local.c dquot = dqget(sb, dquot 501 fs/ocfs2/quota_local.c if (IS_ERR(dquot)) { dquot 502 fs/ocfs2/quota_local.c status = PTR_ERR(dquot); dquot 524 fs/ocfs2/quota_local.c spin_lock(&dquot->dq_dqb_lock); dquot 530 fs/ocfs2/quota_local.c dquot->dq_dqb.dqb_curspace += spacechange; dquot 531 fs/ocfs2/quota_local.c dquot->dq_dqb.dqb_curinodes += inodechange; dquot 532 fs/ocfs2/quota_local.c spin_unlock(&dquot->dq_dqb_lock); dquot 536 fs/ocfs2/quota_local.c status = ocfs2_global_release_dquot(dquot); dquot 561 fs/ocfs2/quota_local.c dqput(dquot); dquot 893 fs/ocfs2/quota_local.c int ocfs2_local_write_dquot(struct dquot *dquot) dquot 895 fs/ocfs2/quota_local.c struct super_block *sb = dquot->dq_sb; dquot 896 fs/ocfs2/quota_local.c struct ocfs2_dquot *od = OCFS2_DQUOT(dquot); dquot 898 fs/ocfs2/quota_local.c struct inode *lqinode = sb_dqopt(sb)->files[dquot->dq_id.type]; dquot 1216 fs/ocfs2/quota_local.c int ocfs2_create_local_dquot(struct dquot *dquot) dquot 1218 fs/ocfs2/quota_local.c struct super_block *sb = dquot->dq_sb; dquot 1219 fs/ocfs2/quota_local.c int type = dquot->dq_id.type; dquot 1222 fs/ocfs2/quota_local.c struct ocfs2_dquot *od = OCFS2_DQUOT(dquot); dquot 1248 fs/ocfs2/quota_local.c status = ocfs2_local_write_dquot(dquot); dquot 1270 fs/ocfs2/quota_local.c int ocfs2_local_release_dquot(handle_t *handle, struct dquot *dquot) dquot 1273 fs/ocfs2/quota_local.c int type = dquot->dq_id.type; dquot 1274 fs/ocfs2/quota_local.c struct ocfs2_dquot *od = OCFS2_DQUOT(dquot); dquot 1275 fs/ocfs2/quota_local.c struct super_block *sb = dquot->dq_sb; dquot 128 fs/ocfs2/super.c static struct dquot **ocfs2_get_dquots(struct inode *inode) dquot 275 fs/quota/dquot.c static inline void insert_dquot_hash(struct dquot *dquot) dquot 278 fs/quota/dquot.c head = dquot_hash + hashfn(dquot->dq_sb, dquot->dq_id); dquot 279 fs/quota/dquot.c hlist_add_head(&dquot->dq_hash, head); dquot 282 fs/quota/dquot.c static inline void remove_dquot_hash(struct dquot *dquot) dquot 284 fs/quota/dquot.c hlist_del_init(&dquot->dq_hash); dquot 287 fs/quota/dquot.c static struct dquot *find_dquot(unsigned int hashent, struct super_block *sb, dquot 291 fs/quota/dquot.c struct dquot *dquot; dquot 294 fs/quota/dquot.c dquot = hlist_entry(node, struct dquot, dq_hash); dquot 295 fs/quota/dquot.c if (dquot->dq_sb == sb && qid_eq(dquot->dq_id, qid)) dquot 296 fs/quota/dquot.c return dquot; dquot 302 fs/quota/dquot.c static inline void put_dquot_last(struct dquot *dquot) dquot 304 fs/quota/dquot.c list_add_tail(&dquot->dq_free, &free_dquots); dquot 308 fs/quota/dquot.c static inline void remove_free_dquot(struct dquot *dquot) dquot 310 fs/quota/dquot.c if (list_empty(&dquot->dq_free)) dquot 312 fs/quota/dquot.c list_del_init(&dquot->dq_free); dquot 316 fs/quota/dquot.c static inline void put_inuse(struct dquot *dquot) dquot 320 fs/quota/dquot.c list_add_tail(&dquot->dq_inuse, &inuse_list); dquot 324 fs/quota/dquot.c static inline void remove_inuse(struct dquot *dquot) dquot 327 fs/quota/dquot.c list_del(&dquot->dq_inuse); dquot 333 fs/quota/dquot.c static void wait_on_dquot(struct dquot *dquot) dquot 335 fs/quota/dquot.c mutex_lock(&dquot->dq_lock); dquot 336 fs/quota/dquot.c mutex_unlock(&dquot->dq_lock); dquot 339 fs/quota/dquot.c static inline int dquot_dirty(struct dquot *dquot) dquot 341 fs/quota/dquot.c return test_bit(DQ_MOD_B, &dquot->dq_flags); dquot 344 fs/quota/dquot.c static inline int mark_dquot_dirty(struct dquot *dquot) dquot 346 fs/quota/dquot.c return dquot->dq_sb->dq_op->mark_dirty(dquot); dquot 350 fs/quota/dquot.c int dquot_mark_dquot_dirty(struct dquot *dquot) dquot 354 fs/quota/dquot.c if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) dquot 357 fs/quota/dquot.c if (sb_dqopt(dquot->dq_sb)->flags & DQUOT_NOLIST_DIRTY) dquot 358 fs/quota/dquot.c return test_and_set_bit(DQ_MOD_B, &dquot->dq_flags); dquot 361 fs/quota/dquot.c if (test_bit(DQ_MOD_B, &dquot->dq_flags)) dquot 365 fs/quota/dquot.c if (!test_and_set_bit(DQ_MOD_B, &dquot->dq_flags)) { dquot 366 fs/quota/dquot.c list_add(&dquot->dq_dirty, &sb_dqopt(dquot->dq_sb)-> dquot 367 fs/quota/dquot.c info[dquot->dq_id.type].dqi_dirty_list); dquot 376 fs/quota/dquot.c static inline int mark_all_dquot_dirty(struct dquot * const *dquot) dquot 382 fs/quota/dquot.c if (dquot[cnt]) dquot 384 fs/quota/dquot.c ret = mark_dquot_dirty(dquot[cnt]); dquot 391 fs/quota/dquot.c static inline void dqput_all(struct dquot **dquot) dquot 396 fs/quota/dquot.c dqput(dquot[cnt]); dquot 399 fs/quota/dquot.c static inline int clear_dquot_dirty(struct dquot *dquot) dquot 401 fs/quota/dquot.c if (sb_dqopt(dquot->dq_sb)->flags & DQUOT_NOLIST_DIRTY) dquot 402 fs/quota/dquot.c return test_and_clear_bit(DQ_MOD_B, &dquot->dq_flags); dquot 405 fs/quota/dquot.c if (!test_and_clear_bit(DQ_MOD_B, &dquot->dq_flags)) { dquot 409 fs/quota/dquot.c list_del_init(&dquot->dq_dirty); dquot 426 fs/quota/dquot.c int dquot_acquire(struct dquot *dquot) dquot 429 fs/quota/dquot.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 431 fs/quota/dquot.c mutex_lock(&dquot->dq_lock); dquot 432 fs/quota/dquot.c if (!test_bit(DQ_READ_B, &dquot->dq_flags)) { dquot 433 fs/quota/dquot.c ret = dqopt->ops[dquot->dq_id.type]->read_dqblk(dquot); dquot 439 fs/quota/dquot.c set_bit(DQ_READ_B, &dquot->dq_flags); dquot 441 fs/quota/dquot.c if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags) && !dquot->dq_off) { dquot 442 fs/quota/dquot.c ret = dqopt->ops[dquot->dq_id.type]->commit_dqblk(dquot); dquot 444 fs/quota/dquot.c if (info_dirty(&dqopt->info[dquot->dq_id.type])) { dquot 445 fs/quota/dquot.c ret2 = dqopt->ops[dquot->dq_id.type]->write_file_info( dquot 446 fs/quota/dquot.c dquot->dq_sb, dquot->dq_id.type); dquot 460 fs/quota/dquot.c set_bit(DQ_ACTIVE_B, &dquot->dq_flags); dquot 462 fs/quota/dquot.c mutex_unlock(&dquot->dq_lock); dquot 470 fs/quota/dquot.c int dquot_commit(struct dquot *dquot) dquot 473 fs/quota/dquot.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 475 fs/quota/dquot.c mutex_lock(&dquot->dq_lock); dquot 476 fs/quota/dquot.c if (!clear_dquot_dirty(dquot)) dquot 480 fs/quota/dquot.c if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) dquot 481 fs/quota/dquot.c ret = dqopt->ops[dquot->dq_id.type]->commit_dqblk(dquot); dquot 485 fs/quota/dquot.c mutex_unlock(&dquot->dq_lock); dquot 493 fs/quota/dquot.c int dquot_release(struct dquot *dquot) dquot 496 fs/quota/dquot.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 498 fs/quota/dquot.c mutex_lock(&dquot->dq_lock); dquot 500 fs/quota/dquot.c if (dquot_is_busy(dquot)) dquot 502 fs/quota/dquot.c if (dqopt->ops[dquot->dq_id.type]->release_dqblk) { dquot 503 fs/quota/dquot.c ret = dqopt->ops[dquot->dq_id.type]->release_dqblk(dquot); dquot 505 fs/quota/dquot.c if (info_dirty(&dqopt->info[dquot->dq_id.type])) { dquot 506 fs/quota/dquot.c ret2 = dqopt->ops[dquot->dq_id.type]->write_file_info( dquot 507 fs/quota/dquot.c dquot->dq_sb, dquot->dq_id.type); dquot 512 fs/quota/dquot.c clear_bit(DQ_ACTIVE_B, &dquot->dq_flags); dquot 514 fs/quota/dquot.c mutex_unlock(&dquot->dq_lock); dquot 519 fs/quota/dquot.c void dquot_destroy(struct dquot *dquot) dquot 521 fs/quota/dquot.c kmem_cache_free(dquot_cachep, dquot); dquot 525 fs/quota/dquot.c static inline void do_destroy_dquot(struct dquot *dquot) dquot 527 fs/quota/dquot.c dquot->dq_sb->dq_op->destroy_dquot(dquot); dquot 538 fs/quota/dquot.c struct dquot *dquot, *tmp; dquot 542 fs/quota/dquot.c list_for_each_entry_safe(dquot, tmp, &inuse_list, dq_inuse) { dquot 543 fs/quota/dquot.c if (dquot->dq_sb != sb) dquot 545 fs/quota/dquot.c if (dquot->dq_id.type != type) dquot 548 fs/quota/dquot.c if (atomic_read(&dquot->dq_count)) { dquot 549 fs/quota/dquot.c dqgrab(dquot); dquot 560 fs/quota/dquot.c atomic_read(&dquot->dq_count) == 1); dquot 561 fs/quota/dquot.c dqput(dquot); dquot 571 fs/quota/dquot.c remove_dquot_hash(dquot); dquot 572 fs/quota/dquot.c remove_free_dquot(dquot); dquot 573 fs/quota/dquot.c remove_inuse(dquot); dquot 574 fs/quota/dquot.c do_destroy_dquot(dquot); dquot 581 fs/quota/dquot.c int (*fn)(struct dquot *dquot, unsigned long priv), dquot 584 fs/quota/dquot.c struct dquot *dquot, *old_dquot = NULL; dquot 590 fs/quota/dquot.c list_for_each_entry(dquot, &inuse_list, dq_inuse) { dquot 591 fs/quota/dquot.c if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) dquot 593 fs/quota/dquot.c if (dquot->dq_sb != sb) dquot 596 fs/quota/dquot.c atomic_inc(&dquot->dq_count); dquot 600 fs/quota/dquot.c old_dquot = dquot; dquot 606 fs/quota/dquot.c wait_on_dquot(dquot); dquot 607 fs/quota/dquot.c if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { dquot 608 fs/quota/dquot.c ret = fn(dquot, priv); dquot 627 fs/quota/dquot.c struct dquot *dquot; dquot 643 fs/quota/dquot.c dquot = list_first_entry(&dirty, struct dquot, dquot 646 fs/quota/dquot.c WARN_ON(!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)); dquot 651 fs/quota/dquot.c dqgrab(dquot); dquot 654 fs/quota/dquot.c err = sb->dq_op->write_dquot(dquot); dquot 660 fs/quota/dquot.c clear_dquot_dirty(dquot); dquot 664 fs/quota/dquot.c dqput(dquot); dquot 721 fs/quota/dquot.c struct dquot *dquot; dquot 726 fs/quota/dquot.c dquot = list_first_entry(&free_dquots, struct dquot, dq_free); dquot 727 fs/quota/dquot.c remove_dquot_hash(dquot); dquot 728 fs/quota/dquot.c remove_free_dquot(dquot); dquot 729 fs/quota/dquot.c remove_inuse(dquot); dquot 730 fs/quota/dquot.c do_destroy_dquot(dquot); dquot 754 fs/quota/dquot.c void dqput(struct dquot *dquot) dquot 758 fs/quota/dquot.c if (!dquot) dquot 761 fs/quota/dquot.c if (!atomic_read(&dquot->dq_count)) { dquot 762 fs/quota/dquot.c quota_error(dquot->dq_sb, "trying to free free dquot of %s %d", dquot 763 fs/quota/dquot.c quotatypes[dquot->dq_id.type], dquot 764 fs/quota/dquot.c from_kqid(&init_user_ns, dquot->dq_id)); dquot 771 fs/quota/dquot.c if (atomic_read(&dquot->dq_count) > 1) { dquot 773 fs/quota/dquot.c atomic_dec(&dquot->dq_count); dquot 775 fs/quota/dquot.c if (!sb_has_quota_active(dquot->dq_sb, dquot->dq_id.type) && dquot 776 fs/quota/dquot.c atomic_read(&dquot->dq_count) == 1) dquot 782 fs/quota/dquot.c if (dquot_dirty(dquot)) { dquot 785 fs/quota/dquot.c ret = dquot->dq_sb->dq_op->write_dquot(dquot); dquot 787 fs/quota/dquot.c quota_error(dquot->dq_sb, "Can't write quota structure" dquot 794 fs/quota/dquot.c clear_dquot_dirty(dquot); dquot 798 fs/quota/dquot.c if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { dquot 800 fs/quota/dquot.c dquot->dq_sb->dq_op->release_dquot(dquot); dquot 803 fs/quota/dquot.c atomic_dec(&dquot->dq_count); dquot 806 fs/quota/dquot.c BUG_ON(!list_empty(&dquot->dq_free)); dquot 808 fs/quota/dquot.c put_dquot_last(dquot); dquot 813 fs/quota/dquot.c struct dquot *dquot_alloc(struct super_block *sb, int type) dquot 819 fs/quota/dquot.c static struct dquot *get_empty_dquot(struct super_block *sb, int type) dquot 821 fs/quota/dquot.c struct dquot *dquot; dquot 823 fs/quota/dquot.c dquot = sb->dq_op->alloc_dquot(sb, type); dquot 824 fs/quota/dquot.c if(!dquot) dquot 827 fs/quota/dquot.c mutex_init(&dquot->dq_lock); dquot 828 fs/quota/dquot.c INIT_LIST_HEAD(&dquot->dq_free); dquot 829 fs/quota/dquot.c INIT_LIST_HEAD(&dquot->dq_inuse); dquot 830 fs/quota/dquot.c INIT_HLIST_NODE(&dquot->dq_hash); dquot 831 fs/quota/dquot.c INIT_LIST_HEAD(&dquot->dq_dirty); dquot 832 fs/quota/dquot.c dquot->dq_sb = sb; dquot 833 fs/quota/dquot.c dquot->dq_id = make_kqid_invalid(type); dquot 834 fs/quota/dquot.c atomic_set(&dquot->dq_count, 1); dquot 835 fs/quota/dquot.c spin_lock_init(&dquot->dq_dqb_lock); dquot 837 fs/quota/dquot.c return dquot; dquot 848 fs/quota/dquot.c struct dquot *dqget(struct super_block *sb, struct kqid qid) dquot 851 fs/quota/dquot.c struct dquot *dquot, *empty = NULL; dquot 864 fs/quota/dquot.c dquot = ERR_PTR(-ESRCH); dquot 869 fs/quota/dquot.c dquot = find_dquot(hashent, sb, qid); dquot 870 fs/quota/dquot.c if (!dquot) { dquot 878 fs/quota/dquot.c dquot = empty; dquot 880 fs/quota/dquot.c dquot->dq_id = qid; dquot 882 fs/quota/dquot.c put_inuse(dquot); dquot 884 fs/quota/dquot.c insert_dquot_hash(dquot); dquot 888 fs/quota/dquot.c if (!atomic_read(&dquot->dq_count)) dquot 889 fs/quota/dquot.c remove_free_dquot(dquot); dquot 890 fs/quota/dquot.c atomic_inc(&dquot->dq_count); dquot 897 fs/quota/dquot.c wait_on_dquot(dquot); dquot 899 fs/quota/dquot.c if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { dquot 902 fs/quota/dquot.c err = sb->dq_op->acquire_dquot(dquot); dquot 904 fs/quota/dquot.c dqput(dquot); dquot 905 fs/quota/dquot.c dquot = ERR_PTR(err); dquot 915 fs/quota/dquot.c BUG_ON(!dquot->dq_sb); /* Has somebody invalidated entry under us? */ dquot 921 fs/quota/dquot.c return dquot; dquot 925 fs/quota/dquot.c static inline struct dquot **i_dquot(struct inode *inode) dquot 932 fs/quota/dquot.c struct dquot * const *dquots; dquot 1012 fs/quota/dquot.c struct dquot **dquots = i_dquot(inode); dquot 1013 fs/quota/dquot.c struct dquot *dquot = dquots[type]; dquot 1015 fs/quota/dquot.c if (!dquot) dquot 1019 fs/quota/dquot.c if (list_empty(&dquot->dq_free)) { dquot 1025 fs/quota/dquot.c list_add(&dquot->dq_free, tofree_head); dquot 1032 fs/quota/dquot.c dqput(dquot); dquot 1044 fs/quota/dquot.c struct dquot *dquot; dquot 1048 fs/quota/dquot.c dquot = list_entry(act_head, struct dquot, dq_free); dquot 1051 fs/quota/dquot.c list_del_init(&dquot->dq_free); dquot 1052 fs/quota/dquot.c dqput(dquot); dquot 1105 fs/quota/dquot.c void dquot_free_reserved_space(struct dquot *dquot, qsize_t number) dquot 1107 fs/quota/dquot.c if (dquot->dq_dqb.dqb_rsvspace >= number) dquot 1108 fs/quota/dquot.c dquot->dq_dqb.dqb_rsvspace -= number; dquot 1111 fs/quota/dquot.c dquot->dq_dqb.dqb_rsvspace = 0; dquot 1113 fs/quota/dquot.c if (dquot->dq_dqb.dqb_curspace + dquot->dq_dqb.dqb_rsvspace <= dquot 1114 fs/quota/dquot.c dquot->dq_dqb.dqb_bsoftlimit) dquot 1115 fs/quota/dquot.c dquot->dq_dqb.dqb_btime = (time64_t) 0; dquot 1116 fs/quota/dquot.c clear_bit(DQ_BLKS_B, &dquot->dq_flags); dquot 1119 fs/quota/dquot.c static void dquot_decr_inodes(struct dquot *dquot, qsize_t number) dquot 1121 fs/quota/dquot.c if (sb_dqopt(dquot->dq_sb)->flags & DQUOT_NEGATIVE_USAGE || dquot 1122 fs/quota/dquot.c dquot->dq_dqb.dqb_curinodes >= number) dquot 1123 fs/quota/dquot.c dquot->dq_dqb.dqb_curinodes -= number; dquot 1125 fs/quota/dquot.c dquot->dq_dqb.dqb_curinodes = 0; dquot 1126 fs/quota/dquot.c if (dquot->dq_dqb.dqb_curinodes <= dquot->dq_dqb.dqb_isoftlimit) dquot 1127 fs/quota/dquot.c dquot->dq_dqb.dqb_itime = (time64_t) 0; dquot 1128 fs/quota/dquot.c clear_bit(DQ_INODES_B, &dquot->dq_flags); dquot 1131 fs/quota/dquot.c static void dquot_decr_space(struct dquot *dquot, qsize_t number) dquot 1133 fs/quota/dquot.c if (sb_dqopt(dquot->dq_sb)->flags & DQUOT_NEGATIVE_USAGE || dquot 1134 fs/quota/dquot.c dquot->dq_dqb.dqb_curspace >= number) dquot 1135 fs/quota/dquot.c dquot->dq_dqb.dqb_curspace -= number; dquot 1137 fs/quota/dquot.c dquot->dq_dqb.dqb_curspace = 0; dquot 1138 fs/quota/dquot.c if (dquot->dq_dqb.dqb_curspace + dquot->dq_dqb.dqb_rsvspace <= dquot 1139 fs/quota/dquot.c dquot->dq_dqb.dqb_bsoftlimit) dquot 1140 fs/quota/dquot.c dquot->dq_dqb.dqb_btime = (time64_t) 0; dquot 1141 fs/quota/dquot.c clear_bit(DQ_BLKS_B, &dquot->dq_flags); dquot 1150 fs/quota/dquot.c static int warning_issued(struct dquot *dquot, const int warntype) dquot 1159 fs/quota/dquot.c return test_and_set_bit(flag, &dquot->dq_flags); dquot 1228 fs/quota/dquot.c static void prepare_warning(struct dquot_warn *warn, struct dquot *dquot, dquot 1231 fs/quota/dquot.c if (warning_issued(dquot, warntype)) dquot 1234 fs/quota/dquot.c warn->w_sb = dquot->dq_sb; dquot 1235 fs/quota/dquot.c warn->w_dq_id = dquot->dq_id; dquot 1258 fs/quota/dquot.c static int ignore_hardlimit(struct dquot *dquot) dquot 1260 fs/quota/dquot.c struct mem_dqinfo *info = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_id.type]; dquot 1267 fs/quota/dquot.c static int dquot_add_inodes(struct dquot *dquot, qsize_t inodes, dquot 1273 fs/quota/dquot.c spin_lock(&dquot->dq_dqb_lock); dquot 1274 fs/quota/dquot.c newinodes = dquot->dq_dqb.dqb_curinodes + inodes; dquot 1275 fs/quota/dquot.c if (!sb_has_quota_limits_enabled(dquot->dq_sb, dquot->dq_id.type) || dquot 1276 fs/quota/dquot.c test_bit(DQ_FAKE_B, &dquot->dq_flags)) dquot 1279 fs/quota/dquot.c if (dquot->dq_dqb.dqb_ihardlimit && dquot 1280 fs/quota/dquot.c newinodes > dquot->dq_dqb.dqb_ihardlimit && dquot 1281 fs/quota/dquot.c !ignore_hardlimit(dquot)) { dquot 1282 fs/quota/dquot.c prepare_warning(warn, dquot, QUOTA_NL_IHARDWARN); dquot 1287 fs/quota/dquot.c if (dquot->dq_dqb.dqb_isoftlimit && dquot 1288 fs/quota/dquot.c newinodes > dquot->dq_dqb.dqb_isoftlimit && dquot 1289 fs/quota/dquot.c dquot->dq_dqb.dqb_itime && dquot 1290 fs/quota/dquot.c ktime_get_real_seconds() >= dquot->dq_dqb.dqb_itime && dquot 1291 fs/quota/dquot.c !ignore_hardlimit(dquot)) { dquot 1292 fs/quota/dquot.c prepare_warning(warn, dquot, QUOTA_NL_ISOFTLONGWARN); dquot 1297 fs/quota/dquot.c if (dquot->dq_dqb.dqb_isoftlimit && dquot 1298 fs/quota/dquot.c newinodes > dquot->dq_dqb.dqb_isoftlimit && dquot 1299 fs/quota/dquot.c dquot->dq_dqb.dqb_itime == 0) { dquot 1300 fs/quota/dquot.c prepare_warning(warn, dquot, QUOTA_NL_ISOFTWARN); dquot 1301 fs/quota/dquot.c dquot->dq_dqb.dqb_itime = ktime_get_real_seconds() + dquot 1302 fs/quota/dquot.c sb_dqopt(dquot->dq_sb)->info[dquot->dq_id.type].dqi_igrace; dquot 1305 fs/quota/dquot.c dquot->dq_dqb.dqb_curinodes = newinodes; dquot 1308 fs/quota/dquot.c spin_unlock(&dquot->dq_dqb_lock); dquot 1312 fs/quota/dquot.c static int dquot_add_space(struct dquot *dquot, qsize_t space, dquot 1317 fs/quota/dquot.c struct super_block *sb = dquot->dq_sb; dquot 1320 fs/quota/dquot.c spin_lock(&dquot->dq_dqb_lock); dquot 1321 fs/quota/dquot.c if (!sb_has_quota_limits_enabled(sb, dquot->dq_id.type) || dquot 1322 fs/quota/dquot.c test_bit(DQ_FAKE_B, &dquot->dq_flags)) dquot 1325 fs/quota/dquot.c tspace = dquot->dq_dqb.dqb_curspace + dquot->dq_dqb.dqb_rsvspace dquot 1328 fs/quota/dquot.c if (dquot->dq_dqb.dqb_bhardlimit && dquot 1329 fs/quota/dquot.c tspace > dquot->dq_dqb.dqb_bhardlimit && dquot 1330 fs/quota/dquot.c !ignore_hardlimit(dquot)) { dquot 1332 fs/quota/dquot.c prepare_warning(warn, dquot, QUOTA_NL_BHARDWARN); dquot 1337 fs/quota/dquot.c if (dquot->dq_dqb.dqb_bsoftlimit && dquot 1338 fs/quota/dquot.c tspace > dquot->dq_dqb.dqb_bsoftlimit && dquot 1339 fs/quota/dquot.c dquot->dq_dqb.dqb_btime && dquot 1340 fs/quota/dquot.c ktime_get_real_seconds() >= dquot->dq_dqb.dqb_btime && dquot 1341 fs/quota/dquot.c !ignore_hardlimit(dquot)) { dquot 1343 fs/quota/dquot.c prepare_warning(warn, dquot, QUOTA_NL_BSOFTLONGWARN); dquot 1348 fs/quota/dquot.c if (dquot->dq_dqb.dqb_bsoftlimit && dquot 1349 fs/quota/dquot.c tspace > dquot->dq_dqb.dqb_bsoftlimit && dquot 1350 fs/quota/dquot.c dquot->dq_dqb.dqb_btime == 0) { dquot 1352 fs/quota/dquot.c prepare_warning(warn, dquot, QUOTA_NL_BSOFTWARN); dquot 1353 fs/quota/dquot.c dquot->dq_dqb.dqb_btime = ktime_get_real_seconds() + dquot 1354 fs/quota/dquot.c sb_dqopt(sb)->info[dquot->dq_id.type].dqi_bgrace; dquot 1373 fs/quota/dquot.c dquot->dq_dqb.dqb_rsvspace += rsv_space; dquot 1374 fs/quota/dquot.c dquot->dq_dqb.dqb_curspace += space; dquot 1376 fs/quota/dquot.c spin_unlock(&dquot->dq_dqb_lock); dquot 1380 fs/quota/dquot.c static int info_idq_free(struct dquot *dquot, qsize_t inodes) dquot 1384 fs/quota/dquot.c if (test_bit(DQ_FAKE_B, &dquot->dq_flags) || dquot 1385 fs/quota/dquot.c dquot->dq_dqb.dqb_curinodes <= dquot->dq_dqb.dqb_isoftlimit || dquot 1386 fs/quota/dquot.c !sb_has_quota_limits_enabled(dquot->dq_sb, dquot->dq_id.type)) dquot 1389 fs/quota/dquot.c newinodes = dquot->dq_dqb.dqb_curinodes - inodes; dquot 1390 fs/quota/dquot.c if (newinodes <= dquot->dq_dqb.dqb_isoftlimit) dquot 1392 fs/quota/dquot.c if (dquot->dq_dqb.dqb_curinodes >= dquot->dq_dqb.dqb_ihardlimit && dquot 1393 fs/quota/dquot.c newinodes < dquot->dq_dqb.dqb_ihardlimit) dquot 1398 fs/quota/dquot.c static int info_bdq_free(struct dquot *dquot, qsize_t space) dquot 1402 fs/quota/dquot.c tspace = dquot->dq_dqb.dqb_curspace + dquot->dq_dqb.dqb_rsvspace; dquot 1404 fs/quota/dquot.c if (test_bit(DQ_FAKE_B, &dquot->dq_flags) || dquot 1405 fs/quota/dquot.c tspace <= dquot->dq_dqb.dqb_bsoftlimit) dquot 1408 fs/quota/dquot.c if (tspace - space <= dquot->dq_dqb.dqb_bsoftlimit) dquot 1410 fs/quota/dquot.c if (tspace >= dquot->dq_dqb.dqb_bhardlimit && dquot 1411 fs/quota/dquot.c tspace - space < dquot->dq_dqb.dqb_bhardlimit) dquot 1434 fs/quota/dquot.c struct dquot **dquots, *got[MAXQUOTAS] = {}; dquot 1449 fs/quota/dquot.c struct dquot *dquot; dquot 1480 fs/quota/dquot.c dquot = dqget(sb, qid); dquot 1481 fs/quota/dquot.c if (IS_ERR(dquot)) { dquot 1483 fs/quota/dquot.c if (PTR_ERR(dquot) != -ESRCH) { dquot 1484 fs/quota/dquot.c ret = PTR_ERR(dquot); dquot 1487 fs/quota/dquot.c dquot = NULL; dquot 1489 fs/quota/dquot.c got[cnt] = dquot; dquot 1544 fs/quota/dquot.c struct dquot **dquots; dquot 1569 fs/quota/dquot.c struct dquot **dquots = i_dquot(inode); dquot 1570 fs/quota/dquot.c struct dquot *put[MAXQUOTAS]; dquot 1583 fs/quota/dquot.c struct dquot * const *dquots; dquot 1656 fs/quota/dquot.c struct dquot **dquots; dquot 1726 fs/quota/dquot.c struct dquot * const *dquots; dquot 1768 fs/quota/dquot.c struct dquot **dquots; dquot 1785 fs/quota/dquot.c struct dquot *dquot = dquots[cnt]; dquot 1787 fs/quota/dquot.c spin_lock(&dquot->dq_dqb_lock); dquot 1788 fs/quota/dquot.c if (WARN_ON_ONCE(dquot->dq_dqb.dqb_rsvspace < number)) dquot 1789 fs/quota/dquot.c number = dquot->dq_dqb.dqb_rsvspace; dquot 1790 fs/quota/dquot.c dquot->dq_dqb.dqb_curspace += number; dquot 1791 fs/quota/dquot.c dquot->dq_dqb.dqb_rsvspace -= number; dquot 1792 fs/quota/dquot.c spin_unlock(&dquot->dq_dqb_lock); dquot 1810 fs/quota/dquot.c struct dquot **dquots; dquot 1827 fs/quota/dquot.c struct dquot *dquot = dquots[cnt]; dquot 1829 fs/quota/dquot.c spin_lock(&dquot->dq_dqb_lock); dquot 1830 fs/quota/dquot.c if (WARN_ON_ONCE(dquot->dq_dqb.dqb_curspace < number)) dquot 1831 fs/quota/dquot.c number = dquot->dq_dqb.dqb_curspace; dquot 1832 fs/quota/dquot.c dquot->dq_dqb.dqb_rsvspace += number; dquot 1833 fs/quota/dquot.c dquot->dq_dqb.dqb_curspace -= number; dquot 1834 fs/quota/dquot.c spin_unlock(&dquot->dq_dqb_lock); dquot 1854 fs/quota/dquot.c struct dquot **dquots; dquot 1909 fs/quota/dquot.c struct dquot * const *dquots; dquot 1950 fs/quota/dquot.c int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) dquot 1955 fs/quota/dquot.c struct dquot *transfer_from[MAXQUOTAS] = {}; dquot 2078 fs/quota/dquot.c struct dquot *transfer_to[MAXQUOTAS] = {}; dquot 2079 fs/quota/dquot.c struct dquot *dquot; dquot 2087 fs/quota/dquot.c dquot = dqget(sb, make_kqid_uid(iattr->ia_uid)); dquot 2088 fs/quota/dquot.c if (IS_ERR(dquot)) { dquot 2089 fs/quota/dquot.c if (PTR_ERR(dquot) != -ESRCH) { dquot 2090 fs/quota/dquot.c ret = PTR_ERR(dquot); dquot 2093 fs/quota/dquot.c dquot = NULL; dquot 2095 fs/quota/dquot.c transfer_to[USRQUOTA] = dquot; dquot 2098 fs/quota/dquot.c dquot = dqget(sb, make_kqid_gid(iattr->ia_gid)); dquot 2099 fs/quota/dquot.c if (IS_ERR(dquot)) { dquot 2100 fs/quota/dquot.c if (PTR_ERR(dquot) != -ESRCH) { dquot 2101 fs/quota/dquot.c ret = PTR_ERR(dquot); dquot 2104 fs/quota/dquot.c dquot = NULL; dquot 2106 fs/quota/dquot.c transfer_to[GRPQUOTA] = dquot; dquot 2613 fs/quota/dquot.c static void do_get_dqblk(struct dquot *dquot, struct qc_dqblk *di) dquot 2615 fs/quota/dquot.c struct mem_dqblk *dm = &dquot->dq_dqb; dquot 2618 fs/quota/dquot.c spin_lock(&dquot->dq_dqb_lock); dquot 2627 fs/quota/dquot.c spin_unlock(&dquot->dq_dqb_lock); dquot 2633 fs/quota/dquot.c struct dquot *dquot; dquot 2635 fs/quota/dquot.c dquot = dqget(sb, qid); dquot 2636 fs/quota/dquot.c if (IS_ERR(dquot)) dquot 2637 fs/quota/dquot.c return PTR_ERR(dquot); dquot 2638 fs/quota/dquot.c do_get_dqblk(dquot, di); dquot 2639 fs/quota/dquot.c dqput(dquot); dquot 2648 fs/quota/dquot.c struct dquot *dquot; dquot 2656 fs/quota/dquot.c dquot = dqget(sb, *qid); dquot 2657 fs/quota/dquot.c if (IS_ERR(dquot)) dquot 2658 fs/quota/dquot.c return PTR_ERR(dquot); dquot 2659 fs/quota/dquot.c do_get_dqblk(dquot, di); dquot 2660 fs/quota/dquot.c dqput(dquot); dquot 2672 fs/quota/dquot.c static int do_set_dqblk(struct dquot *dquot, struct qc_dqblk *di) dquot 2674 fs/quota/dquot.c struct mem_dqblk *dm = &dquot->dq_dqb; dquot 2676 fs/quota/dquot.c struct mem_dqinfo *dqi = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_id.type]; dquot 2691 fs/quota/dquot.c spin_lock(&dquot->dq_dqb_lock); dquot 2695 fs/quota/dquot.c set_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot->dq_flags); dquot 2704 fs/quota/dquot.c set_bit(DQ_LASTSET_B + QIF_BLIMITS_B, &dquot->dq_flags); dquot 2710 fs/quota/dquot.c set_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags); dquot 2719 fs/quota/dquot.c set_bit(DQ_LASTSET_B + QIF_ILIMITS_B, &dquot->dq_flags); dquot 2725 fs/quota/dquot.c set_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags); dquot 2731 fs/quota/dquot.c set_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags); dquot 2738 fs/quota/dquot.c clear_bit(DQ_BLKS_B, &dquot->dq_flags); dquot 2747 fs/quota/dquot.c clear_bit(DQ_INODES_B, &dquot->dq_flags); dquot 2754 fs/quota/dquot.c clear_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 2756 fs/quota/dquot.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 2757 fs/quota/dquot.c spin_unlock(&dquot->dq_dqb_lock); dquot 2758 fs/quota/dquot.c mark_dquot_dirty(dquot); dquot 2766 fs/quota/dquot.c struct dquot *dquot; dquot 2769 fs/quota/dquot.c dquot = dqget(sb, qid); dquot 2770 fs/quota/dquot.c if (IS_ERR(dquot)) { dquot 2771 fs/quota/dquot.c rc = PTR_ERR(dquot); dquot 2774 fs/quota/dquot.c rc = do_set_dqblk(dquot, di); dquot 2775 fs/quota/dquot.c dqput(dquot); dquot 2975 fs/quota/dquot.c sizeof(struct dquot), sizeof(unsigned long) * 4, dquot 226 fs/quota/quota_tree.c struct dquot *dquot, int *err) dquot 255 fs/quota/quota_tree.c mark_info_dirty(dquot->dq_sb, dquot->dq_id.type); dquot 261 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't remove block (%u) " dquot 276 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Data block full but it shouldn't"); dquot 283 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't write quota data block %u", dquot 287 fs/quota/quota_tree.c dquot->dq_off = (blk << info->dqi_blocksize_bits) + dquot 298 fs/quota/quota_tree.c static int do_insert_tree(struct qtree_mem_dqinfo *info, struct dquot *dquot, dquot 318 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't read tree quota " dquot 324 fs/quota/quota_tree.c newblk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]); dquot 330 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Inserting already present " dquot 333 fs/quota/quota_tree.c dquot->dq_id, depth)])); dquot 338 fs/quota/quota_tree.c newblk = find_free_dqentry(info, dquot, &ret); dquot 340 fs/quota/quota_tree.c ret = do_insert_tree(info, dquot, &newblk, depth+1); dquot 343 fs/quota/quota_tree.c ref[get_index(info, dquot->dq_id, depth)] = dquot 356 fs/quota/quota_tree.c struct dquot *dquot) dquot 362 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Quota tree root isn't allocated!"); dquot 366 fs/quota/quota_tree.c return do_insert_tree(info, dquot, &tmp, 0); dquot 373 fs/quota/quota_tree.c int qtree_write_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) dquot 375 fs/quota/quota_tree.c int type = dquot->dq_id.type; dquot 376 fs/quota/quota_tree.c struct super_block *sb = dquot->dq_sb; dquot 384 fs/quota/quota_tree.c if (!dquot->dq_off) { dquot 385 fs/quota/quota_tree.c ret = dq_insert_tree(info, dquot); dquot 393 fs/quota/quota_tree.c spin_lock(&dquot->dq_dqb_lock); dquot 394 fs/quota/quota_tree.c info->dqi_ops->mem2disk_dqblk(ddquot, dquot); dquot 395 fs/quota/quota_tree.c spin_unlock(&dquot->dq_dqb_lock); dquot 397 fs/quota/quota_tree.c dquot->dq_off); dquot 413 fs/quota/quota_tree.c static int free_dqentry(struct qtree_mem_dqinfo *info, struct dquot *dquot, dquot 422 fs/quota/quota_tree.c if (dquot->dq_off >> info->dqi_blocksize_bits != blk) { dquot 423 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Quota structure has offset to " dquot 425 fs/quota/quota_tree.c (uint)(dquot->dq_off >> info->dqi_blocksize_bits)); dquot 430 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't read quota data block %u", dquot 441 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't move quota data block " dquot 447 fs/quota/quota_tree.c (dquot->dq_off & ((1 << info->dqi_blocksize_bits) - 1)), dquot 454 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't insert quota " dquot 461 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't write quota " dquot 467 fs/quota/quota_tree.c dquot->dq_off = 0; /* Quota is now unattached */ dquot 474 fs/quota/quota_tree.c static int remove_tree(struct qtree_mem_dqinfo *info, struct dquot *dquot, dquot 486 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't read quota data block %u", dquot 490 fs/quota/quota_tree.c newblk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]); dquot 492 fs/quota/quota_tree.c ret = free_dqentry(info, dquot, newblk); dquot 495 fs/quota/quota_tree.c ret = remove_tree(info, dquot, &newblk, depth+1); dquot 499 fs/quota/quota_tree.c ref[get_index(info, dquot->dq_id, depth)] = cpu_to_le32(0); dquot 511 fs/quota/quota_tree.c quota_error(dquot->dq_sb, dquot 522 fs/quota/quota_tree.c int qtree_delete_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) dquot 526 fs/quota/quota_tree.c if (!dquot->dq_off) /* Even not allocated? */ dquot 528 fs/quota/quota_tree.c return remove_tree(info, dquot, &tmp, 0); dquot 534 fs/quota/quota_tree.c struct dquot *dquot, uint blk) dquot 545 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't read quota tree " dquot 551 fs/quota/quota_tree.c if (info->dqi_ops->is_id(ddquot, dquot)) dquot 556 fs/quota/quota_tree.c quota_error(dquot->dq_sb, dquot 558 fs/quota/quota_tree.c from_kqid(&init_user_ns, dquot->dq_id)); dquot 572 fs/quota/quota_tree.c struct dquot *dquot, uint blk, int depth) dquot 582 fs/quota/quota_tree.c quota_error(dquot->dq_sb, "Can't read quota tree block %u", dquot 587 fs/quota/quota_tree.c blk = le32_to_cpu(ref[get_index(info, dquot->dq_id, depth)]); dquot 591 fs/quota/quota_tree.c ret = find_tree_dqentry(info, dquot, blk, depth+1); dquot 593 fs/quota/quota_tree.c ret = find_block_dqentry(info, dquot, blk); dquot 601 fs/quota/quota_tree.c struct dquot *dquot) dquot 603 fs/quota/quota_tree.c return find_tree_dqentry(info, dquot, QT_TREEOFF, 0); dquot 606 fs/quota/quota_tree.c int qtree_read_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) dquot 608 fs/quota/quota_tree.c int type = dquot->dq_id.type; dquot 609 fs/quota/quota_tree.c struct super_block *sb = dquot->dq_sb; dquot 616 fs/quota/quota_tree.c if (!sb_dqopt(dquot->dq_sb)->files[type]) { dquot 622 fs/quota/quota_tree.c if (!dquot->dq_off) { dquot 623 fs/quota/quota_tree.c offset = find_dqentry(info, dquot); dquot 629 fs/quota/quota_tree.c dquot->dq_id)); dquot 630 fs/quota/quota_tree.c dquot->dq_off = 0; dquot 631 fs/quota/quota_tree.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 632 fs/quota/quota_tree.c memset(&dquot->dq_dqb, 0, sizeof(struct mem_dqblk)); dquot 636 fs/quota/quota_tree.c dquot->dq_off = offset; dquot 642 fs/quota/quota_tree.c dquot->dq_off); dquot 647 fs/quota/quota_tree.c from_kqid(&init_user_ns, dquot->dq_id)); dquot 648 fs/quota/quota_tree.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 649 fs/quota/quota_tree.c memset(&dquot->dq_dqb, 0, sizeof(struct mem_dqblk)); dquot 653 fs/quota/quota_tree.c spin_lock(&dquot->dq_dqb_lock); dquot 654 fs/quota/quota_tree.c info->dqi_ops->disk2mem_dqblk(dquot, ddquot); dquot 655 fs/quota/quota_tree.c if (!dquot->dq_dqb.dqb_bhardlimit && dquot 656 fs/quota/quota_tree.c !dquot->dq_dqb.dqb_bsoftlimit && dquot 657 fs/quota/quota_tree.c !dquot->dq_dqb.dqb_ihardlimit && dquot 658 fs/quota/quota_tree.c !dquot->dq_dqb.dqb_isoftlimit) dquot 659 fs/quota/quota_tree.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 660 fs/quota/quota_tree.c spin_unlock(&dquot->dq_dqb_lock); dquot 670 fs/quota/quota_tree.c int qtree_release_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) dquot 672 fs/quota/quota_tree.c if (test_bit(DQ_FAKE_B, &dquot->dq_flags) && dquot 673 fs/quota/quota_tree.c !(dquot->dq_dqb.dqb_curinodes | dquot->dq_dqb.dqb_curspace)) dquot 674 fs/quota/quota_tree.c return qtree_delete_dquot(info, dquot); dquot 56 fs/quota/quota_v1.c static int v1_read_dqblk(struct dquot *dquot) dquot 58 fs/quota/quota_v1.c int type = dquot->dq_id.type; dquot 60 fs/quota/quota_v1.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 67 fs/quota/quota_v1.c dquot->dq_sb->s_op->quota_read(dquot->dq_sb, type, (char *)&dqblk, dquot 69 fs/quota/quota_v1.c v1_dqoff(from_kqid(&init_user_ns, dquot->dq_id))); dquot 71 fs/quota/quota_v1.c v1_disk2mem_dqblk(&dquot->dq_dqb, &dqblk); dquot 72 fs/quota/quota_v1.c if (dquot->dq_dqb.dqb_bhardlimit == 0 && dquot 73 fs/quota/quota_v1.c dquot->dq_dqb.dqb_bsoftlimit == 0 && dquot 74 fs/quota/quota_v1.c dquot->dq_dqb.dqb_ihardlimit == 0 && dquot 75 fs/quota/quota_v1.c dquot->dq_dqb.dqb_isoftlimit == 0) dquot 76 fs/quota/quota_v1.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 82 fs/quota/quota_v1.c static int v1_commit_dqblk(struct dquot *dquot) dquot 84 fs/quota/quota_v1.c short type = dquot->dq_id.type; dquot 88 fs/quota/quota_v1.c v1_mem2disk_dqblk(&dqblk, &dquot->dq_dqb); dquot 89 fs/quota/quota_v1.c if (((type == USRQUOTA) && uid_eq(dquot->dq_id.uid, GLOBAL_ROOT_UID)) || dquot 90 fs/quota/quota_v1.c ((type == GRPQUOTA) && gid_eq(dquot->dq_id.gid, GLOBAL_ROOT_GID))) { dquot 92 fs/quota/quota_v1.c sb_dqopt(dquot->dq_sb)->info[type].dqi_bgrace; dquot 94 fs/quota/quota_v1.c sb_dqopt(dquot->dq_sb)->info[type].dqi_igrace; dquot 97 fs/quota/quota_v1.c if (sb_dqopt(dquot->dq_sb)->files[type]) dquot 98 fs/quota/quota_v1.c ret = dquot->dq_sb->s_op->quota_write(dquot->dq_sb, type, dquot 100 fs/quota/quota_v1.c v1_dqoff(from_kqid(&init_user_ns, dquot->dq_id))); dquot 102 fs/quota/quota_v1.c quota_error(dquot->dq_sb, "dquota write failed"); dquot 27 fs/quota/quota_v2.c static void v2r0_mem2diskdqb(void *dp, struct dquot *dquot); dquot 28 fs/quota/quota_v2.c static void v2r0_disk2memdqb(struct dquot *dquot, void *dp); dquot 29 fs/quota/quota_v2.c static int v2r0_is_id(void *dp, struct dquot *dquot); dquot 30 fs/quota/quota_v2.c static void v2r1_mem2diskdqb(void *dp, struct dquot *dquot); dquot 31 fs/quota/quota_v2.c static void v2r1_disk2memdqb(struct dquot *dquot, void *dp); dquot 32 fs/quota/quota_v2.c static int v2r1_is_id(void *dp, struct dquot *dquot); dquot 198 fs/quota/quota_v2.c static void v2r0_disk2memdqb(struct dquot *dquot, void *dp) dquot 201 fs/quota/quota_v2.c struct mem_dqblk *m = &dquot->dq_dqb; dquot 218 fs/quota/quota_v2.c static void v2r0_mem2diskdqb(void *dp, struct dquot *dquot) dquot 221 fs/quota/quota_v2.c struct mem_dqblk *m = &dquot->dq_dqb; dquot 223 fs/quota/quota_v2.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv; dquot 233 fs/quota/quota_v2.c d->dqb_id = cpu_to_le32(from_kqid(&init_user_ns, dquot->dq_id)); dquot 238 fs/quota/quota_v2.c static int v2r0_is_id(void *dp, struct dquot *dquot) dquot 242 fs/quota/quota_v2.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv; dquot 246 fs/quota/quota_v2.c return qid_eq(make_kqid(&init_user_ns, dquot->dq_id.type, dquot 248 fs/quota/quota_v2.c dquot->dq_id); dquot 251 fs/quota/quota_v2.c static void v2r1_disk2memdqb(struct dquot *dquot, void *dp) dquot 254 fs/quota/quota_v2.c struct mem_dqblk *m = &dquot->dq_dqb; dquot 271 fs/quota/quota_v2.c static void v2r1_mem2diskdqb(void *dp, struct dquot *dquot) dquot 274 fs/quota/quota_v2.c struct mem_dqblk *m = &dquot->dq_dqb; dquot 276 fs/quota/quota_v2.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv; dquot 286 fs/quota/quota_v2.c d->dqb_id = cpu_to_le32(from_kqid(&init_user_ns, dquot->dq_id)); dquot 291 fs/quota/quota_v2.c static int v2r1_is_id(void *dp, struct dquot *dquot) dquot 295 fs/quota/quota_v2.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv; dquot 299 fs/quota/quota_v2.c return qid_eq(make_kqid(&init_user_ns, dquot->dq_id.type, dquot 301 fs/quota/quota_v2.c dquot->dq_id); dquot 304 fs/quota/quota_v2.c static int v2_read_dquot(struct dquot *dquot) dquot 306 fs/quota/quota_v2.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 311 fs/quota/quota_v2.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv, dquot 312 fs/quota/quota_v2.c dquot); dquot 317 fs/quota/quota_v2.c static int v2_write_dquot(struct dquot *dquot) dquot 319 fs/quota/quota_v2.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 329 fs/quota/quota_v2.c if (!dquot->dq_off) { dquot 336 fs/quota/quota_v2.c sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv, dquot 337 fs/quota/quota_v2.c dquot); dquot 345 fs/quota/quota_v2.c static int v2_release_dquot(struct dquot *dquot) dquot 347 fs/quota/quota_v2.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 351 fs/quota/quota_v2.c ret = qtree_release_dquot(sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv, dquot); dquot 102 fs/reiserfs/reiserfs.h struct dquot *i_dquot[MAXQUOTAS]; dquot 805 fs/reiserfs/super.c static struct dquot **reiserfs_get_dquots(struct inode *inode) dquot 834 fs/reiserfs/super.c static int reiserfs_write_dquot(struct dquot *); dquot 835 fs/reiserfs/super.c static int reiserfs_acquire_dquot(struct dquot *); dquot 836 fs/reiserfs/super.c static int reiserfs_release_dquot(struct dquot *); dquot 837 fs/reiserfs/super.c static int reiserfs_mark_dquot_dirty(struct dquot *); dquot 2270 fs/reiserfs/super.c static int reiserfs_write_dquot(struct dquot *dquot) dquot 2276 fs/reiserfs/super.c reiserfs_write_lock(dquot->dq_sb); dquot 2278 fs/reiserfs/super.c journal_begin(&th, dquot->dq_sb, dquot 2279 fs/reiserfs/super.c REISERFS_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); dquot 2282 fs/reiserfs/super.c depth = reiserfs_write_unlock_nested(dquot->dq_sb); dquot 2283 fs/reiserfs/super.c ret = dquot_commit(dquot); dquot 2284 fs/reiserfs/super.c reiserfs_write_lock_nested(dquot->dq_sb, depth); dquot 2289 fs/reiserfs/super.c reiserfs_write_unlock(dquot->dq_sb); dquot 2293 fs/reiserfs/super.c static int reiserfs_acquire_dquot(struct dquot *dquot) dquot 2299 fs/reiserfs/super.c reiserfs_write_lock(dquot->dq_sb); dquot 2301 fs/reiserfs/super.c journal_begin(&th, dquot->dq_sb, dquot 2302 fs/reiserfs/super.c REISERFS_QUOTA_INIT_BLOCKS(dquot->dq_sb)); dquot 2305 fs/reiserfs/super.c depth = reiserfs_write_unlock_nested(dquot->dq_sb); dquot 2306 fs/reiserfs/super.c ret = dquot_acquire(dquot); dquot 2307 fs/reiserfs/super.c reiserfs_write_lock_nested(dquot->dq_sb, depth); dquot 2312 fs/reiserfs/super.c reiserfs_write_unlock(dquot->dq_sb); dquot 2316 fs/reiserfs/super.c static int reiserfs_release_dquot(struct dquot *dquot) dquot 2321 fs/reiserfs/super.c reiserfs_write_lock(dquot->dq_sb); dquot 2323 fs/reiserfs/super.c journal_begin(&th, dquot->dq_sb, dquot 2324 fs/reiserfs/super.c REISERFS_QUOTA_DEL_BLOCKS(dquot->dq_sb)); dquot 2325 fs/reiserfs/super.c reiserfs_write_unlock(dquot->dq_sb); dquot 2328 fs/reiserfs/super.c dquot_release(dquot); dquot 2331 fs/reiserfs/super.c ret = dquot_release(dquot); dquot 2332 fs/reiserfs/super.c reiserfs_write_lock(dquot->dq_sb); dquot 2336 fs/reiserfs/super.c reiserfs_write_unlock(dquot->dq_sb); dquot 2341 fs/reiserfs/super.c static int reiserfs_mark_dquot_dirty(struct dquot *dquot) dquot 2344 fs/reiserfs/super.c if (REISERFS_SB(dquot->dq_sb)->s_qf_names[USRQUOTA] || dquot 2345 fs/reiserfs/super.c REISERFS_SB(dquot->dq_sb)->s_qf_names[GRPQUOTA]) { dquot 2346 fs/reiserfs/super.c dquot_mark_dquot_dirty(dquot); dquot 2347 fs/reiserfs/super.c return reiserfs_write_dquot(dquot); dquot 2349 fs/reiserfs/super.c return dquot_mark_dquot_dirty(dquot); dquot 18 include/linux/dqblk_qtree.h struct dquot; dquot 23 include/linux/dqblk_qtree.h void (*mem2disk_dqblk)(void *disk, struct dquot *dquot); /* Convert given entry from in memory format to disk one */ dquot 24 include/linux/dqblk_qtree.h void (*disk2mem_dqblk)(struct dquot *dquot, void *disk); /* Convert given entry from disk format to in memory one */ dquot 25 include/linux/dqblk_qtree.h int (*is_id)(void *disk, struct dquot *dquot); /* Is this structure for given id? */ dquot 42 include/linux/dqblk_qtree.h int qtree_write_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot); dquot 43 include/linux/dqblk_qtree.h int qtree_read_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot); dquot 44 include/linux/dqblk_qtree.h int qtree_delete_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot); dquot 45 include/linux/dqblk_qtree.h int qtree_release_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot); dquot 1969 include/linux/fs.h struct dquot **(*get_dquots)(struct inode *); dquot 315 include/linux/quota.h int (*read_dqblk)(struct dquot *dquot); /* Read structure for one user */ dquot 316 include/linux/quota.h int (*commit_dqblk)(struct dquot *dquot); /* Write structure for one user */ dquot 317 include/linux/quota.h int (*release_dqblk)(struct dquot *dquot); /* Called when last reference to dquot is being dropped */ dquot 323 include/linux/quota.h int (*write_dquot) (struct dquot *); /* Ordinary dquot write */ dquot 324 include/linux/quota.h struct dquot *(*alloc_dquot)(struct super_block *, int); /* Allocate memory for new dquot */ dquot 325 include/linux/quota.h void (*destroy_dquot)(struct dquot *); /* Free memory for dquot */ dquot 326 include/linux/quota.h int (*acquire_dquot) (struct dquot *); /* Quota is going to be created on disk */ dquot 327 include/linux/quota.h int (*release_dquot) (struct dquot *); /* Quota is going to be deleted from disk */ dquot 328 include/linux/quota.h int (*mark_dirty) (struct dquot *); /* Dquot is marked dirty */ dquot 48 include/linux/quotaops.h struct dquot *dqget(struct super_block *sb, struct kqid qid); dquot 49 include/linux/quotaops.h static inline struct dquot *dqgrab(struct dquot *dquot) dquot 52 include/linux/quotaops.h WARN_ON_ONCE(!atomic_read(&dquot->dq_count)); dquot 53 include/linux/quotaops.h WARN_ON_ONCE(!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)); dquot 54 include/linux/quotaops.h atomic_inc(&dquot->dq_count); dquot 55 include/linux/quotaops.h return dquot; dquot 58 include/linux/quotaops.h static inline bool dquot_is_busy(struct dquot *dquot) dquot 60 include/linux/quotaops.h if (test_bit(DQ_MOD_B, &dquot->dq_flags)) dquot 62 include/linux/quotaops.h if (atomic_read(&dquot->dq_count) > 1) dquot 67 include/linux/quotaops.h void dqput(struct dquot *dquot); dquot 69 include/linux/quotaops.h int (*fn)(struct dquot *dquot, unsigned long priv), dquot 71 include/linux/quotaops.h struct dquot *dquot_alloc(struct super_block *sb, int type); dquot 72 include/linux/quotaops.h void dquot_destroy(struct dquot *dquot); dquot 91 include/linux/quotaops.h int dquot_commit(struct dquot *dquot); dquot 92 include/linux/quotaops.h int dquot_acquire(struct dquot *dquot); dquot 93 include/linux/quotaops.h int dquot_release(struct dquot *dquot); dquot 96 include/linux/quotaops.h int dquot_mark_dquot_dirty(struct dquot *dquot); dquot 118 include/linux/quotaops.h int __dquot_transfer(struct inode *inode, struct dquot **transfer_to);