dquot 232 fs/dquot.c struct hlist_head *head = dquot_hash + hashfn(dquot->dq_sb, dquot->dq_id, dquot->dq_type); dquot 233 fs/dquot.c hlist_add_head(&dquot->dq_hash, head); dquot 238 fs/dquot.c hlist_del_init(&dquot->dq_hash); dquot 241 fs/dquot.c static inline struct dquot *find_dquot(unsigned int hashent, struct super_block *sb, unsigned int id, int type) dquot 244 fs/dquot.c struct dquot *dquot; dquot 247 fs/dquot.c dquot = hlist_entry(node, struct dquot, dq_hash); dquot 248 fs/dquot.c if (dquot->dq_sb == sb && dquot->dq_id == id && dquot->dq_type == type) dquot 249 fs/dquot.c return dquot; dquot 257 fs/dquot.c list_add_tail(&dquot->dq_free, &free_dquots); dquot 263 fs/dquot.c if (list_empty(&dquot->dq_free)) dquot 265 fs/dquot.c list_del_init(&dquot->dq_free); dquot 273 fs/dquot.c list_add_tail(&dquot->dq_inuse, &inuse_list); dquot 280 fs/dquot.c list_del(&dquot->dq_inuse); dquot 288 fs/dquot.c mutex_lock(&dquot->dq_lock); dquot 289 fs/dquot.c mutex_unlock(&dquot->dq_lock); dquot 294 fs/dquot.c return test_bit(DQ_MOD_B, &dquot->dq_flags); dquot 299 fs/dquot.c return dquot->dq_sb->dq_op->mark_dirty(dquot); dquot 305 fs/dquot.c if (!test_and_set_bit(DQ_MOD_B, &dquot->dq_flags)) dquot 306 fs/dquot.c list_add(&dquot->dq_dirty, &sb_dqopt(dquot->dq_sb)-> dquot 307 fs/dquot.c info[dquot->dq_type].dqi_dirty_list); dquot 315 fs/dquot.c if (!test_and_clear_bit(DQ_MOD_B, &dquot->dq_flags)) dquot 317 fs/dquot.c list_del_init(&dquot->dq_dirty); dquot 334 fs/dquot.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 336 fs/dquot.c mutex_lock(&dquot->dq_lock); dquot 338 fs/dquot.c if (!test_bit(DQ_READ_B, &dquot->dq_flags)) dquot 339 fs/dquot.c ret = dqopt->ops[dquot->dq_type]->read_dqblk(dquot); dquot 342 fs/dquot.c set_bit(DQ_READ_B, &dquot->dq_flags); dquot 344 fs/dquot.c if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags) && !dquot->dq_off) { dquot 345 fs/dquot.c ret = dqopt->ops[dquot->dq_type]->commit_dqblk(dquot); dquot 347 fs/dquot.c if (info_dirty(&dqopt->info[dquot->dq_type])) dquot 348 fs/dquot.c ret2 = dqopt->ops[dquot->dq_type]->write_file_info(dquot->dq_sb, dquot->dq_type); dquot 356 fs/dquot.c set_bit(DQ_ACTIVE_B, &dquot->dq_flags); dquot 359 fs/dquot.c mutex_unlock(&dquot->dq_lock); dquot 369 fs/dquot.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 373 fs/dquot.c if (!clear_dquot_dirty(dquot)) { dquot 380 fs/dquot.c if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { dquot 381 fs/dquot.c ret = dqopt->ops[dquot->dq_type]->commit_dqblk(dquot); dquot 382 fs/dquot.c if (info_dirty(&dqopt->info[dquot->dq_type])) dquot 383 fs/dquot.c ret2 = dqopt->ops[dquot->dq_type]->write_file_info(dquot->dq_sb, dquot->dq_type); dquot 398 fs/dquot.c struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); dquot 400 fs/dquot.c mutex_lock(&dquot->dq_lock); dquot 402 fs/dquot.c if (atomic_read(&dquot->dq_count) > 1) dquot 405 fs/dquot.c if (dqopt->ops[dquot->dq_type]->release_dqblk) { dquot 406 fs/dquot.c ret = dqopt->ops[dquot->dq_type]->release_dqblk(dquot); dquot 408 fs/dquot.c if (info_dirty(&dqopt->info[dquot->dq_type])) dquot 409 fs/dquot.c ret2 = dqopt->ops[dquot->dq_type]->write_file_info(dquot->dq_sb, dquot->dq_type); dquot 413 fs/dquot.c clear_bit(DQ_ACTIVE_B, &dquot->dq_flags); dquot 416 fs/dquot.c mutex_unlock(&dquot->dq_lock); dquot 428 fs/dquot.c struct dquot *dquot, *tmp; dquot 432 fs/dquot.c list_for_each_entry_safe(dquot, tmp, &inuse_list, dq_inuse) { dquot 433 fs/dquot.c if (dquot->dq_sb != sb) dquot 435 fs/dquot.c if (dquot->dq_type != type) dquot 438 fs/dquot.c if (atomic_read(&dquot->dq_count)) { dquot 441 fs/dquot.c atomic_inc(&dquot->dq_count); dquot 442 fs/dquot.c prepare_to_wait(&dquot->dq_wait_unused, &wait, dquot 452 fs/dquot.c if (atomic_read(&dquot->dq_count) > 1) dquot 454 fs/dquot.c finish_wait(&dquot->dq_wait_unused, &wait); dquot 455 fs/dquot.c dqput(dquot); dquot 465 fs/dquot.c remove_dquot_hash(dquot); dquot 466 fs/dquot.c remove_free_dquot(dquot); dquot 467 fs/dquot.c remove_inuse(dquot); dquot 468 fs/dquot.c kmem_cache_free(dquot_cachep, dquot); dquot 476 fs/dquot.c struct dquot *dquot; dquot 489 fs/dquot.c dquot = list_first_entry(dirty, struct dquot, dq_dirty); dquot 491 fs/dquot.c if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { dquot 492 fs/dquot.c clear_dquot_dirty(dquot); dquot 498 fs/dquot.c atomic_inc(&dquot->dq_count); dquot 501 fs/dquot.c sb->dq_op->write_dquot(dquot); dquot 502 fs/dquot.c dqput(dquot); dquot 524 fs/dquot.c struct dquot *dquot; dquot 528 fs/dquot.c dquot = list_entry(head, struct dquot, dq_free); dquot 529 fs/dquot.c remove_dquot_hash(dquot); dquot 530 fs/dquot.c remove_free_dquot(dquot); dquot 531 fs/dquot.c remove_inuse(dquot); dquot 532 fs/dquot.c kmem_cache_free(dquot_cachep, dquot); dquot 567 fs/dquot.c if (!dquot) dquot 570 fs/dquot.c if (!atomic_read(&dquot->dq_count)) { dquot 573 fs/dquot.c dquot->dq_sb->s_id, dquot 574 fs/dquot.c quotatypes[dquot->dq_type], dquot 575 fs/dquot.c dquot->dq_id); dquot 585 fs/dquot.c if (atomic_read(&dquot->dq_count) > 1) { dquot 587 fs/dquot.c atomic_dec(&dquot->dq_count); dquot 589 fs/dquot.c if (!sb_has_quota_enabled(dquot->dq_sb, dquot->dq_type) && dquot 590 fs/dquot.c atomic_read(&dquot->dq_count) == 1) dquot 591 fs/dquot.c wake_up(&dquot->dq_wait_unused); dquot 596 fs/dquot.c if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags) && dquot_dirty(dquot)) { dquot 599 fs/dquot.c ret = dquot->dq_sb->dq_op->write_dquot(dquot); dquot 603 fs/dquot.c "sync!\n", dquot->dq_sb->s_id, ret); dquot 609 fs/dquot.c clear_dquot_dirty(dquot); dquot 615 fs/dquot.c clear_dquot_dirty(dquot); dquot 616 fs/dquot.c if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { dquot 618 fs/dquot.c dquot->dq_sb->dq_op->release_dquot(dquot); dquot 621 fs/dquot.c atomic_dec(&dquot->dq_count); dquot 624 fs/dquot.c BUG_ON(!list_empty(&dquot->dq_free)); dquot 626 fs/dquot.c put_dquot_last(dquot); dquot 630 fs/dquot.c static struct dquot *get_empty_dquot(struct super_block *sb, int type) dquot 632 fs/dquot.c struct dquot *dquot; dquot 634 fs/dquot.c dquot = kmem_cache_zalloc(dquot_cachep, GFP_NOFS); dquot 635 fs/dquot.c if(!dquot) dquot 638 fs/dquot.c mutex_init(&dquot->dq_lock); dquot 639 fs/dquot.c INIT_LIST_HEAD(&dquot->dq_free); dquot 640 fs/dquot.c INIT_LIST_HEAD(&dquot->dq_inuse); dquot 641 fs/dquot.c INIT_HLIST_NODE(&dquot->dq_hash); dquot 642 fs/dquot.c INIT_LIST_HEAD(&dquot->dq_dirty); dquot 643 fs/dquot.c init_waitqueue_head(&dquot->dq_wait_unused); dquot 644 fs/dquot.c dquot->dq_sb = sb; dquot 645 fs/dquot.c dquot->dq_type = type; dquot 646 fs/dquot.c atomic_set(&dquot->dq_count, 1); dquot 648 fs/dquot.c return dquot; dquot 655 fs/dquot.c static struct dquot *dqget(struct super_block *sb, unsigned int id, int type) dquot 658 fs/dquot.c struct dquot *dquot, *empty = NODQUOT; dquot 664 fs/dquot.c if ((dquot = find_dquot(hashent, sb, id, type)) == NODQUOT) { dquot 671 fs/dquot.c dquot = empty; dquot 672 fs/dquot.c dquot->dq_id = id; dquot 674 fs/dquot.c put_inuse(dquot); dquot 676 fs/dquot.c insert_dquot_hash(dquot); dquot 680 fs/dquot.c if (!atomic_read(&dquot->dq_count)) dquot 681 fs/dquot.c remove_free_dquot(dquot); dquot 682 fs/dquot.c atomic_inc(&dquot->dq_count); dquot 691 fs/dquot.c wait_on_dquot(dquot); dquot 693 fs/dquot.c if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags) && sb->dq_op->acquire_dquot(dquot) < 0) { dquot 694 fs/dquot.c dqput(dquot); dquot 698 fs/dquot.c BUG_ON(!dquot->dq_sb); /* Has somebody invalidated entry under us? */ dquot 701 fs/dquot.c return dquot; dquot 752 fs/dquot.c if (atomic_read(&dquot->dq_count) <= 1) dquot 762 fs/dquot.c struct dquot *dquot = inode->i_dquot[type]; dquot 765 fs/dquot.c if (dquot != NODQUOT) { dquot 766 fs/dquot.c if (dqput_blocks(dquot)) { dquot 768 fs/dquot.c if (atomic_read(&dquot->dq_count) != 1) dquot 769 fs/dquot.c printk(KERN_WARNING "VFS: Adding dquot with dq_count %d to dispose list.\n", atomic_read(&dquot->dq_count)); dquot 772 fs/dquot.c list_add(&dquot->dq_free, tofree_head); /* As dquot must have currently users it can't be on the free list... */ dquot 777 fs/dquot.c dqput(dquot); /* We have guaranteed we won't block */ dquot 787 fs/dquot.c struct dquot *dquot; dquot 792 fs/dquot.c dquot = list_entry(act_head, struct dquot, dq_free); dquot 794 fs/dquot.c list_del_init(&dquot->dq_free); /* Remove dquot from the list so we won't have problems... */ dquot 795 fs/dquot.c dqput(dquot); dquot 827 fs/dquot.c dquot->dq_dqb.dqb_curinodes += number; dquot 832 fs/dquot.c dquot->dq_dqb.dqb_curspace += number; dquot 837 fs/dquot.c if (dquot->dq_dqb.dqb_curinodes > number) dquot 838 fs/dquot.c dquot->dq_dqb.dqb_curinodes -= number; dquot 840 fs/dquot.c dquot->dq_dqb.dqb_curinodes = 0; dquot 841 fs/dquot.c if (dquot->dq_dqb.dqb_curinodes <= dquot->dq_dqb.dqb_isoftlimit) dquot 842 fs/dquot.c dquot->dq_dqb.dqb_itime = (time_t) 0; dquot 843 fs/dquot.c clear_bit(DQ_INODES_B, &dquot->dq_flags); dquot 848 fs/dquot.c if (dquot->dq_dqb.dqb_curspace > number) dquot 849 fs/dquot.c dquot->dq_dqb.dqb_curspace -= number; dquot 851 fs/dquot.c dquot->dq_dqb.dqb_curspace = 0; dquot 852 fs/dquot.c if (toqb(dquot->dq_dqb.dqb_curspace) <= dquot->dq_dqb.dqb_bsoftlimit) dquot 853 fs/dquot.c dquot->dq_dqb.dqb_btime = (time_t) 0; dquot 854 fs/dquot.c clear_bit(DQ_BLKS_B, &dquot->dq_flags); dquot 866 fs/dquot.c return test_and_set_bit(flag, &dquot->dq_flags); dquot 877 fs/dquot.c switch (dquot->dq_type) { dquot 879 fs/dquot.c return current->fsuid == dquot->dq_id; dquot 881 fs/dquot.c return in_group_p(dquot->dq_id); dquot 895 fs/dquot.c warntype == QUOTA_NL_BSOFTBELOW || !need_print_warning(dquot)) dquot 901 fs/dquot.c tty_write_message(tty, dquot->dq_sb->s_id); dquot 906 fs/dquot.c tty_write_message(tty, quotatypes[dquot->dq_type]); dquot 969 fs/dquot.c ret = nla_put_u32(skb, QUOTA_NL_A_QTYPE, dquot->dq_type); dquot 972 fs/dquot.c ret = nla_put_u64(skb, QUOTA_NL_A_EXCESS_ID, dquot->dq_id); dquot 979 fs/dquot.c MAJOR(dquot->dq_sb->s_dev)); dquot 983 fs/dquot.c MINOR(dquot->dq_sb->s_dev)); dquot 1021 fs/dquot.c struct mem_dqinfo *info = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_type]; dquot 1031 fs/dquot.c if (inodes <= 0 || test_bit(DQ_FAKE_B, &dquot->dq_flags)) dquot 1034 fs/dquot.c if (dquot->dq_dqb.dqb_ihardlimit && dquot 1035 fs/dquot.c (dquot->dq_dqb.dqb_curinodes + inodes) > dquot->dq_dqb.dqb_ihardlimit && dquot 1036 fs/dquot.c !ignore_hardlimit(dquot)) { dquot 1041 fs/dquot.c if (dquot->dq_dqb.dqb_isoftlimit && dquot 1042 fs/dquot.c (dquot->dq_dqb.dqb_curinodes + inodes) > dquot->dq_dqb.dqb_isoftlimit && dquot 1043 fs/dquot.c dquot->dq_dqb.dqb_itime && get_seconds() >= dquot->dq_dqb.dqb_itime && dquot 1044 fs/dquot.c !ignore_hardlimit(dquot)) { dquot 1049 fs/dquot.c if (dquot->dq_dqb.dqb_isoftlimit && dquot 1050 fs/dquot.c (dquot->dq_dqb.dqb_curinodes + inodes) > dquot->dq_dqb.dqb_isoftlimit && dquot 1051 fs/dquot.c dquot->dq_dqb.dqb_itime == 0) { dquot 1053 fs/dquot.c dquot->dq_dqb.dqb_itime = get_seconds() + sb_dqopt(dquot->dq_sb)->info[dquot->dq_type].dqi_igrace; dquot 1063 fs/dquot.c if (space <= 0 || test_bit(DQ_FAKE_B, &dquot->dq_flags)) dquot 1066 fs/dquot.c if (dquot->dq_dqb.dqb_bhardlimit && dquot 1067 fs/dquot.c toqb(dquot->dq_dqb.dqb_curspace + space) > dquot->dq_dqb.dqb_bhardlimit && dquot 1068 fs/dquot.c !ignore_hardlimit(dquot)) { dquot 1074 fs/dquot.c if (dquot->dq_dqb.dqb_bsoftlimit && dquot 1075 fs/dquot.c toqb(dquot->dq_dqb.dqb_curspace + space) > dquot->dq_dqb.dqb_bsoftlimit && dquot 1076 fs/dquot.c dquot->dq_dqb.dqb_btime && get_seconds() >= dquot->dq_dqb.dqb_btime && dquot 1077 fs/dquot.c !ignore_hardlimit(dquot)) { dquot 1083 fs/dquot.c if (dquot->dq_dqb.dqb_bsoftlimit && dquot 1084 fs/dquot.c toqb(dquot->dq_dqb.dqb_curspace + space) > dquot->dq_dqb.dqb_bsoftlimit && dquot 1085 fs/dquot.c dquot->dq_dqb.dqb_btime == 0) { dquot 1088 fs/dquot.c dquot->dq_dqb.dqb_btime = get_seconds() + sb_dqopt(dquot->dq_sb)->info[dquot->dq_type].dqi_bgrace; dquot 1103 fs/dquot.c if (test_bit(DQ_FAKE_B, &dquot->dq_flags) || dquot 1104 fs/dquot.c dquot->dq_dqb.dqb_curinodes <= dquot->dq_dqb.dqb_isoftlimit) dquot 1107 fs/dquot.c if (dquot->dq_dqb.dqb_curinodes - inodes <= dquot->dq_dqb.dqb_isoftlimit) dquot 1109 fs/dquot.c if (dquot->dq_dqb.dqb_curinodes >= dquot->dq_dqb.dqb_ihardlimit && dquot 1110 fs/dquot.c dquot->dq_dqb.dqb_curinodes - inodes < dquot->dq_dqb.dqb_ihardlimit) dquot 1117 fs/dquot.c if (test_bit(DQ_FAKE_B, &dquot->dq_flags) || dquot 1118 fs/dquot.c toqb(dquot->dq_dqb.dqb_curspace) <= dquot->dq_dqb.dqb_bsoftlimit) dquot 1121 fs/dquot.c if (toqb(dquot->dq_dqb.dqb_curspace - space) <= dquot 1122 fs/dquot.c dquot->dq_dqb.dqb_bsoftlimit) dquot 1124 fs/dquot.c if (toqb(dquot->dq_dqb.dqb_curspace) >= dquot->dq_dqb.dqb_bhardlimit && dquot 1125 fs/dquot.c toqb(dquot->dq_dqb.dqb_curspace - space) < dquot 1126 fs/dquot.c dquot->dq_dqb.dqb_bhardlimit) dquot 1396 fs/dquot.c struct dquot *transfer_from[MAXQUOTAS]; dquot 1397 fs/dquot.c struct dquot *transfer_to[MAXQUOTAS]; dquot 1874 fs/dquot.c struct mem_dqblk *dm = &dquot->dq_dqb; dquot 1891 fs/dquot.c struct dquot *dquot; dquot 1894 fs/dquot.c if (!(dquot = dqget(sb, id, type))) { dquot 1898 fs/dquot.c do_get_dqblk(dquot, di); dquot 1899 fs/dquot.c dqput(dquot); dquot 1907 fs/dquot.c struct mem_dqblk *dm = &dquot->dq_dqb; dquot 1909 fs/dquot.c struct mem_dqinfo *dqi = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_type]; dquot 1946 fs/dquot.c clear_bit(DQ_BLKS_B, &dquot->dq_flags); dquot 1954 fs/dquot.c clear_bit(DQ_INODES_B, &dquot->dq_flags); dquot 1960 fs/dquot.c clear_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 1962 fs/dquot.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 1964 fs/dquot.c mark_dquot_dirty(dquot); dquot 1971 fs/dquot.c struct dquot *dquot; dquot 1975 fs/dquot.c if (!(dquot = dqget(sb, id, type))) { dquot 1979 fs/dquot.c rc = do_set_dqblk(dquot, di); dquot 1980 fs/dquot.c dqput(dquot); dquot 2150 fs/dquot.c sizeof(struct dquot), sizeof(unsigned long) * 4, dquot 2634 fs/ext3/super.c return sb_dqopt(dquot->dq_sb)->files[dquot->dq_type]; dquot 2681 fs/ext3/super.c inode = dquot_to_inode(dquot); dquot 2683 fs/ext3/super.c EXT3_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); dquot 2686 fs/ext3/super.c ret = dquot_commit(dquot); dquot 2698 fs/ext3/super.c handle = ext3_journal_start(dquot_to_inode(dquot), dquot 2699 fs/ext3/super.c EXT3_QUOTA_INIT_BLOCKS(dquot->dq_sb)); dquot 2702 fs/ext3/super.c ret = dquot_acquire(dquot); dquot 2714 fs/ext3/super.c handle = ext3_journal_start(dquot_to_inode(dquot), dquot 2715 fs/ext3/super.c EXT3_QUOTA_DEL_BLOCKS(dquot->dq_sb)); dquot 2718 fs/ext3/super.c dquot_release(dquot); dquot 2721 fs/ext3/super.c ret = dquot_release(dquot); dquot 2731 fs/ext3/super.c if (EXT3_SB(dquot->dq_sb)->s_qf_names[USRQUOTA] || dquot 2732 fs/ext3/super.c EXT3_SB(dquot->dq_sb)->s_qf_names[GRPQUOTA]) { dquot 2733 fs/ext3/super.c dquot_mark_dquot_dirty(dquot); dquot 2734 fs/ext3/super.c return ext3_write_dquot(dquot); dquot 2736 fs/ext3/super.c return dquot_mark_dquot_dirty(dquot); dquot 3259 fs/ext4/super.c return sb_dqopt(dquot->dq_sb)->files[dquot->dq_type]; dquot 3306 fs/ext4/super.c inode = dquot_to_inode(dquot); dquot 3308 fs/ext4/super.c EXT4_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); dquot 3311 fs/ext4/super.c ret = dquot_commit(dquot); dquot 3323 fs/ext4/super.c handle = ext4_journal_start(dquot_to_inode(dquot), dquot 3324 fs/ext4/super.c EXT4_QUOTA_INIT_BLOCKS(dquot->dq_sb)); dquot 3327 fs/ext4/super.c ret = dquot_acquire(dquot); dquot 3339 fs/ext4/super.c handle = ext4_journal_start(dquot_to_inode(dquot), dquot 3340 fs/ext4/super.c EXT4_QUOTA_DEL_BLOCKS(dquot->dq_sb)); dquot 3343 fs/ext4/super.c dquot_release(dquot); dquot 3346 fs/ext4/super.c ret = dquot_release(dquot); dquot 3356 fs/ext4/super.c if (EXT4_SB(dquot->dq_sb)->s_qf_names[USRQUOTA] || dquot 3357 fs/ext4/super.c EXT4_SB(dquot->dq_sb)->s_qf_names[GRPQUOTA]) { dquot 3358 fs/ext4/super.c dquot_mark_dquot_dirty(dquot); dquot 3359 fs/ext4/super.c return ext4_write_dquot(dquot); dquot 3361 fs/ext4/super.c return dquot_mark_dquot_dirty(dquot); dquot 43 fs/quota_v1.c int type = dquot->dq_type; dquot 46 fs/quota_v1.c if (!sb_dqopt(dquot->dq_sb)->files[type]) dquot 51 fs/quota_v1.c dquot->dq_sb->s_op->quota_read(dquot->dq_sb, type, (char *)&dqblk, sizeof(struct v1_disk_dqblk), v1_dqoff(dquot->dq_id)); dquot 53 fs/quota_v1.c v1_disk2mem_dqblk(&dquot->dq_dqb, &dqblk); dquot 54 fs/quota_v1.c if (dquot->dq_dqb.dqb_bhardlimit == 0 && dquot->dq_dqb.dqb_bsoftlimit == 0 && dquot 55 fs/quota_v1.c dquot->dq_dqb.dqb_ihardlimit == 0 && dquot->dq_dqb.dqb_isoftlimit == 0) dquot 56 fs/quota_v1.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 64 fs/quota_v1.c short type = dquot->dq_type; dquot 68 fs/quota_v1.c v1_mem2disk_dqblk(&dqblk, &dquot->dq_dqb); dquot 69 fs/quota_v1.c if (dquot->dq_id == 0) { dquot 70 fs/quota_v1.c dqblk.dqb_btime = sb_dqopt(dquot->dq_sb)->info[type].dqi_bgrace; dquot 71 fs/quota_v1.c dqblk.dqb_itime = sb_dqopt(dquot->dq_sb)->info[type].dqi_igrace; dquot 74 fs/quota_v1.c if (sb_dqopt(dquot->dq_sb)->files[type]) dquot 75 fs/quota_v1.c ret = dquot->dq_sb->s_op->quota_write(dquot->dq_sb, type, (char *)&dqblk, dquot 76 fs/quota_v1.c sizeof(struct v1_disk_dqblk), v1_dqoff(dquot->dq_id)); dquot 79 fs/quota_v1.c dquot->dq_sb->s_id); dquot 273 fs/quota_v2.c struct super_block *sb = dquot->dq_sb; dquot 274 fs/quota_v2.c struct mem_dqinfo *info = sb_dqopt(sb)->info+dquot->dq_type; dquot 290 fs/quota_v2.c if ((*err = read_blk(sb, dquot->dq_type, blk, buf)) < 0) dquot 294 fs/quota_v2.c blk = get_free_dqblk(sb, dquot->dq_type); dquot 303 fs/quota_v2.c mark_info_dirty(sb, dquot->dq_type); dquot 306 fs/quota_v2.c if ((*err = remove_free_dqentry(sb, dquot->dq_type, buf, blk)) < 0) { dquot 321 fs/quota_v2.c if ((*err = write_blk(sb, dquot->dq_type, blk, buf)) < 0) { dquot 325 fs/quota_v2.c dquot->dq_off = (blk<<V2_DQBLKSIZE_BITS)+sizeof(struct v2_disk_dqdbheader)+i*sizeof(struct v2_disk_dqblk); dquot 336 fs/quota_v2.c struct super_block *sb = dquot->dq_sb; dquot 345 fs/quota_v2.c ret = get_free_dqblk(sb, dquot->dq_type); dquot 353 fs/quota_v2.c if ((ret = read_blk(sb, dquot->dq_type, *treeblk, buf)) < 0) { dquot 359 fs/quota_v2.c newblk = le32_to_cpu(ref[GETIDINDEX(dquot->dq_id, depth)]); dquot 365 fs/quota_v2.c printk(KERN_ERR "VFS: Inserting already present quota entry (block %u).\n", le32_to_cpu(ref[GETIDINDEX(dquot->dq_id, depth)])); dquot 370 fs/quota_v2.c newblk = find_free_dqentry(dquot, &ret); dquot 373 fs/quota_v2.c ret = do_insert_tree(dquot, &newblk, depth+1); dquot 375 fs/quota_v2.c ref[GETIDINDEX(dquot->dq_id, depth)] = cpu_to_le32(newblk); dquot 376 fs/quota_v2.c ret = write_blk(sb, dquot->dq_type, *treeblk, buf); dquot 379 fs/quota_v2.c put_free_dqblk(sb, dquot->dq_type, buf, *treeblk); dquot 389 fs/quota_v2.c return do_insert_tree(dquot, &tmp, 0); dquot 397 fs/quota_v2.c int type = dquot->dq_type; dquot 402 fs/quota_v2.c if (!dquot->dq_off) dquot 403 fs/quota_v2.c if ((ret = dq_insert_tree(dquot)) < 0) { dquot 408 fs/quota_v2.c mem2diskdqb(&ddquot, &dquot->dq_dqb, dquot->dq_id); dquot 416 fs/quota_v2.c ret = dquot->dq_sb->s_op->quota_write(dquot->dq_sb, type, dquot 417 fs/quota_v2.c (char *)&ddquot, sizeof(struct v2_disk_dqblk), dquot->dq_off); dquot 419 fs/quota_v2.c printk(KERN_WARNING "VFS: dquota write failed on dev %s\n", dquot->dq_sb->s_id); dquot 433 fs/quota_v2.c struct super_block *sb = dquot->dq_sb; dquot 434 fs/quota_v2.c int type = dquot->dq_type; dquot 441 fs/quota_v2.c if (dquot->dq_off >> V2_DQBLKSIZE_BITS != blk) { dquot 444 fs/quota_v2.c (uint)(dquot->dq_off >> V2_DQBLKSIZE_BITS)); dquot 462 fs/quota_v2.c memset(buf+(dquot->dq_off & ((1 << V2_DQBLKSIZE_BITS)-1)), 0, dquot 478 fs/quota_v2.c dquot->dq_off = 0; /* Quota is now unattached */ dquot 487 fs/quota_v2.c struct super_block *sb = dquot->dq_sb; dquot 488 fs/quota_v2.c int type = dquot->dq_type; dquot 500 fs/quota_v2.c newblk = le32_to_cpu(ref[GETIDINDEX(dquot->dq_id, depth)]); dquot 502 fs/quota_v2.c ret = free_dqentry(dquot, newblk); dquot 506 fs/quota_v2.c ret = remove_tree(dquot, &newblk, depth+1); dquot 509 fs/quota_v2.c ref[GETIDINDEX(dquot->dq_id, depth)] = cpu_to_le32(0); dquot 531 fs/quota_v2.c if (!dquot->dq_off) /* Even not allocated? */ dquot 533 fs/quota_v2.c return remove_tree(dquot, &tmp, 0); dquot 546 fs/quota_v2.c if ((ret = read_blk(dquot->dq_sb, dquot->dq_type, blk, buf)) < 0) { dquot 550 fs/quota_v2.c if (dquot->dq_id) dquot 552 fs/quota_v2.c le32_to_cpu(ddquot[i].dqb_id) != dquot->dq_id; i++); dquot 564 fs/quota_v2.c "but not present.\n", dquot->dq_id); dquot 585 fs/quota_v2.c if ((ret = read_blk(dquot->dq_sb, dquot->dq_type, blk, buf)) < 0) { dquot 590 fs/quota_v2.c blk = le32_to_cpu(ref[GETIDINDEX(dquot->dq_id, depth)]); dquot 594 fs/quota_v2.c ret = find_tree_dqentry(dquot, blk, depth+1); dquot 596 fs/quota_v2.c ret = find_block_dqentry(dquot, blk); dquot 605 fs/quota_v2.c return find_tree_dqentry(dquot, V2_DQTREEOFF, 0); dquot 610 fs/quota_v2.c int type = dquot->dq_type; dquot 617 fs/quota_v2.c if (!dquot->dq_sb || !sb_dqopt(dquot->dq_sb)->files[type]) { dquot 622 fs/quota_v2.c offset = find_dqentry(dquot); dquot 626 fs/quota_v2.c "structure for id %u.\n", dquot->dq_id); dquot 627 fs/quota_v2.c dquot->dq_off = 0; dquot 628 fs/quota_v2.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 629 fs/quota_v2.c memset(&dquot->dq_dqb, 0, sizeof(struct mem_dqblk)); dquot 633 fs/quota_v2.c dquot->dq_off = offset; dquot 634 fs/quota_v2.c if ((ret = dquot->dq_sb->s_op->quota_read(dquot->dq_sb, type, dquot 640 fs/quota_v2.c "structure for id %u.\n", dquot->dq_id); dquot 651 fs/quota_v2.c disk2memdqb(&dquot->dq_dqb, &ddquot); dquot 652 fs/quota_v2.c if (!dquot->dq_dqb.dqb_bhardlimit && dquot 653 fs/quota_v2.c !dquot->dq_dqb.dqb_bsoftlimit && dquot 654 fs/quota_v2.c !dquot->dq_dqb.dqb_ihardlimit && dquot 655 fs/quota_v2.c !dquot->dq_dqb.dqb_isoftlimit) dquot 656 fs/quota_v2.c set_bit(DQ_FAKE_B, &dquot->dq_flags); dquot 667 fs/quota_v2.c if (test_bit(DQ_FAKE_B, &dquot->dq_flags) && !(dquot->dq_dqb.dqb_curinodes | dquot->dq_dqb.dqb_curspace)) dquot 668 fs/quota_v2.c return v2_delete_dquot(dquot); dquot 1954 fs/reiserfs/super.c reiserfs_write_lock(dquot->dq_sb); dquot 1956 fs/reiserfs/super.c journal_begin(&th, dquot->dq_sb, dquot 1957 fs/reiserfs/super.c REISERFS_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); dquot 1960 fs/reiserfs/super.c ret = dquot_commit(dquot); dquot 1962 fs/reiserfs/super.c journal_end(&th, dquot->dq_sb, dquot 1963 fs/reiserfs/super.c REISERFS_QUOTA_TRANS_BLOCKS(dquot->dq_sb)); dquot 1967 fs/reiserfs/super.c reiserfs_write_unlock(dquot->dq_sb); dquot 1976 fs/reiserfs/super.c reiserfs_write_lock(dquot->dq_sb); dquot 1978 fs/reiserfs/super.c journal_begin(&th, dquot->dq_sb, dquot 1979 fs/reiserfs/super.c REISERFS_QUOTA_INIT_BLOCKS(dquot->dq_sb)); dquot 1982 fs/reiserfs/super.c ret = dquot_acquire(dquot); dquot 1984 fs/reiserfs/super.c journal_end(&th, dquot->dq_sb, dquot 1985 fs/reiserfs/super.c REISERFS_QUOTA_INIT_BLOCKS(dquot->dq_sb)); dquot 1989 fs/reiserfs/super.c reiserfs_write_unlock(dquot->dq_sb); dquot 1998 fs/reiserfs/super.c reiserfs_write_lock(dquot->dq_sb); dquot 2000 fs/reiserfs/super.c journal_begin(&th, dquot->dq_sb, dquot 2001 fs/reiserfs/super.c REISERFS_QUOTA_DEL_BLOCKS(dquot->dq_sb)); dquot 2004 fs/reiserfs/super.c dquot_release(dquot); dquot 2007 fs/reiserfs/super.c ret = dquot_release(dquot); dquot 2009 fs/reiserfs/super.c journal_end(&th, dquot->dq_sb, dquot 2010 fs/reiserfs/super.c REISERFS_QUOTA_DEL_BLOCKS(dquot->dq_sb)); dquot 2014 fs/reiserfs/super.c reiserfs_write_unlock(dquot->dq_sb); dquot 2021 fs/reiserfs/super.c if (REISERFS_SB(dquot->dq_sb)->s_qf_names[USRQUOTA] || dquot 2022 fs/reiserfs/super.c REISERFS_SB(dquot->dq_sb)->s_qf_names[GRPQUOTA]) { dquot 2023 fs/reiserfs/super.c dquot_mark_dquot_dirty(dquot); dquot 2024 fs/reiserfs/super.c return reiserfs_write_dquot(dquot); dquot 2026 fs/reiserfs/super.c return dquot_mark_dquot_dirty(dquot); dquot 657 include/linux/fs.h struct dquot *i_dquot[MAXQUOTAS]; dquot 271 include/linux/quota.h #define NODQUOT (struct dquot *)NULL dquot 282 include/linux/quota.h int (*read_dqblk)(struct dquot *dquot); /* Read structure for one user */ dquot 283 include/linux/quota.h int (*commit_dqblk)(struct dquot *dquot); /* Write structure for one user */ dquot 284 include/linux/quota.h int (*release_dqblk)(struct dquot *dquot); /* Called when last reference to dquot is being dropped */ dquot 296 include/linux/quota.h int (*write_dquot) (struct dquot *); /* Ordinary dquot write */ dquot 297 include/linux/quota.h int (*acquire_dquot) (struct dquot *); /* Quota is going to be created on disk */ dquot 298 include/linux/quota.h int (*release_dquot) (struct dquot *); /* Quota is going to be deleted from disk */ dquot 299 include/linux/quota.h int (*mark_dirty) (struct dquot *); /* Dquot is marked dirty */