• Home
  • Raw
  • Download

Lines Matching refs:sb

23 static int check_quotactl_permission(struct super_block *sb, int type, int cmd,  in check_quotactl_permission()  argument
47 return security_quotactl(cmd, type, id, sb); in check_quotactl_permission()
50 static void quota_sync_one(struct super_block *sb, void *arg) in quota_sync_one() argument
54 if (sb->s_qcop && sb->s_qcop->quota_sync && in quota_sync_one()
55 (sb->s_quota_types & (1 << type))) in quota_sync_one()
56 sb->s_qcop->quota_sync(sb, type); in quota_sync_one()
84 static int quota_quotaon(struct super_block *sb, int type, qid_t id, in quota_quotaon() argument
87 if (!sb->s_qcop->quota_on && !sb->s_qcop->quota_enable) in quota_quotaon()
89 if (sb->s_qcop->quota_enable) in quota_quotaon()
90 return sb->s_qcop->quota_enable(sb, qtype_enforce_flag(type)); in quota_quotaon()
93 return sb->s_qcop->quota_on(sb, type, id, path); in quota_quotaon()
96 static int quota_quotaoff(struct super_block *sb, int type) in quota_quotaoff() argument
98 if (!sb->s_qcop->quota_off && !sb->s_qcop->quota_disable) in quota_quotaoff()
100 if (sb->s_qcop->quota_disable) in quota_quotaoff()
101 return sb->s_qcop->quota_disable(sb, qtype_enforce_flag(type)); in quota_quotaoff()
102 return sb->s_qcop->quota_off(sb, type); in quota_quotaoff()
105 static int quota_getfmt(struct super_block *sb, int type, void __user *addr) in quota_getfmt() argument
109 if (!sb_has_quota_active(sb, type)) in quota_getfmt()
111 fmt = sb_dqopt(sb)->info[type].dqi_format->qf_fmt_id; in quota_getfmt()
117 static int quota_getinfo(struct super_block *sb, int type, void __user *addr) in quota_getinfo() argument
126 if (!sb->s_qcop->get_state) in quota_getinfo()
128 ret = sb->s_qcop->get_state(sb, &state); in quota_getinfo()
147 static int quota_setinfo(struct super_block *sb, int type, void __user *addr) in quota_setinfo() argument
154 if (!sb->s_qcop->set_info) in quota_setinfo()
174 return sb->s_qcop->set_info(sb, type, &qinfo); in quota_setinfo()
201 static int quota_getquota(struct super_block *sb, int type, qid_t id, in quota_getquota() argument
209 if (!sb->s_qcop->get_dqblk) in quota_getquota()
212 if (!qid_has_mapping(sb->s_user_ns, qid)) in quota_getquota()
214 ret = sb->s_qcop->get_dqblk(sb, qid, &fdq); in quota_getquota()
227 static int quota_getnextquota(struct super_block *sb, int type, qid_t id, in quota_getnextquota() argument
235 if (!sb->s_qcop->get_nextdqblk) in quota_getnextquota()
238 if (!qid_has_mapping(sb->s_user_ns, qid)) in quota_getnextquota()
240 ret = sb->s_qcop->get_nextdqblk(sb, &qid, &fdq); in quota_getnextquota()
277 static int quota_setquota(struct super_block *sb, int type, qid_t id, in quota_setquota() argument
286 if (!sb->s_qcop->set_dqblk) in quota_setquota()
289 if (!qid_has_mapping(sb->s_user_ns, qid)) in quota_setquota()
292 return sb->s_qcop->set_dqblk(sb, qid, &fdq); in quota_setquota()
295 static int quota_enable(struct super_block *sb, void __user *addr) in quota_enable() argument
301 if (!sb->s_qcop->quota_enable) in quota_enable()
303 return sb->s_qcop->quota_enable(sb, flags); in quota_enable()
306 static int quota_disable(struct super_block *sb, void __user *addr) in quota_disable() argument
312 if (!sb->s_qcop->quota_disable) in quota_disable()
314 return sb->s_qcop->quota_disable(sb, flags); in quota_disable()
336 static int quota_getstate(struct super_block *sb, struct fs_quota_stat *fqs) in quota_getstate() argument
343 ret = sb->s_qcop->get_state(sb, &state); in quota_getstate()
396 static int quota_getxstate(struct super_block *sb, void __user *addr) in quota_getxstate() argument
401 if (!sb->s_qcop->get_state) in quota_getxstate()
403 ret = quota_getstate(sb, &fqs); in quota_getxstate()
409 static int quota_getstatev(struct super_block *sb, struct fs_quota_statv *fqs) in quota_getstatev() argument
416 ret = sb->s_qcop->get_state(sb, &state); in quota_getstatev()
460 static int quota_getxstatev(struct super_block *sb, void __user *addr) in quota_getxstatev() argument
465 if (!sb->s_qcop->get_state) in quota_getxstatev()
479 ret = quota_getstatev(sb, &fqs); in quota_getxstatev()
576 static int quota_setxquota(struct super_block *sb, int type, qid_t id, in quota_setxquota() argument
585 if (!sb->s_qcop->set_dqblk) in quota_setxquota()
588 if (!qid_has_mapping(sb->s_user_ns, qid)) in quota_setxquota()
591 if (from_kqid(sb->s_user_ns, qid) == 0 && in quota_setxquota()
596 if (!sb->s_qcop->set_info) in quota_setxquota()
599 ret = sb->s_qcop->set_info(sb, type, &qinfo); in quota_setxquota()
606 return sb->s_qcop->set_dqblk(sb, qid, &qdq); in quota_setxquota()
638 static int quota_getxquota(struct super_block *sb, int type, qid_t id, in quota_getxquota() argument
646 if (!sb->s_qcop->get_dqblk) in quota_getxquota()
649 if (!qid_has_mapping(sb->s_user_ns, qid)) in quota_getxquota()
651 ret = sb->s_qcop->get_dqblk(sb, qid, &qdq); in quota_getxquota()
664 static int quota_getnextxquota(struct super_block *sb, int type, qid_t id, in quota_getnextxquota() argument
673 if (!sb->s_qcop->get_nextdqblk) in quota_getnextxquota()
676 if (!qid_has_mapping(sb->s_user_ns, qid)) in quota_getnextxquota()
678 ret = sb->s_qcop->get_nextdqblk(sb, &qid, &qdq); in quota_getnextxquota()
688 static int quota_rmxquota(struct super_block *sb, void __user *addr) in quota_rmxquota() argument
694 if (!sb->s_qcop->rm_xquota) in quota_rmxquota()
696 return sb->s_qcop->rm_xquota(sb, flags); in quota_rmxquota()
700 static int do_quotactl(struct super_block *sb, int type, int cmd, qid_t id, in do_quotactl() argument
712 if (!sb->s_qcop) in do_quotactl()
714 if (!(sb->s_quota_types & (1 << type))) in do_quotactl()
717 ret = check_quotactl_permission(sb, type, cmd, id); in do_quotactl()
723 return quota_quotaon(sb, type, id, path); in do_quotactl()
725 return quota_quotaoff(sb, type); in do_quotactl()
727 return quota_getfmt(sb, type, addr); in do_quotactl()
729 return quota_getinfo(sb, type, addr); in do_quotactl()
731 return quota_setinfo(sb, type, addr); in do_quotactl()
733 return quota_getquota(sb, type, id, addr); in do_quotactl()
735 return quota_getnextquota(sb, type, id, addr); in do_quotactl()
737 return quota_setquota(sb, type, id, addr); in do_quotactl()
739 if (!sb->s_qcop->quota_sync) in do_quotactl()
741 return sb->s_qcop->quota_sync(sb, type); in do_quotactl()
743 return quota_enable(sb, addr); in do_quotactl()
745 return quota_disable(sb, addr); in do_quotactl()
747 return quota_rmxquota(sb, addr); in do_quotactl()
749 return quota_getxstate(sb, addr); in do_quotactl()
751 return quota_getxstatev(sb, addr); in do_quotactl()
753 return quota_setxquota(sb, type, id, addr); in do_quotactl()
755 return quota_getxquota(sb, type, id, addr); in do_quotactl()
757 return quota_getnextxquota(sb, type, id, addr); in do_quotactl()
759 if (sb_rdonly(sb)) in do_quotactl()
808 struct super_block *sb; in quotactl_block() local
818 sb = get_super_exclusive_thawed(bdev); in quotactl_block()
820 sb = get_super_thawed(bdev); in quotactl_block()
822 sb = get_super(bdev); in quotactl_block()
824 if (!sb) in quotactl_block()
827 return sb; in quotactl_block()
843 struct super_block *sb = NULL; in SYSCALL_DEFINE4() local
874 sb = quotactl_block(special, cmds); in SYSCALL_DEFINE4()
875 if (IS_ERR(sb)) { in SYSCALL_DEFINE4()
876 ret = PTR_ERR(sb); in SYSCALL_DEFINE4()
880 ret = do_quotactl(sb, type, cmds, id, addr, pathp); in SYSCALL_DEFINE4()
883 drop_super(sb); in SYSCALL_DEFINE4()
885 drop_super_exclusive(sb); in SYSCALL_DEFINE4()