Commit e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b
Committed by
Jan Kara
1 parent
0f0dd62fdd
Exists in
master
and in
4 other branches
quota: move unmount handling into the filesystem
Currently the VFS calls into the quotactl interface for unmounting filesystems. This means filesystems with their own quota handling can't easily distinguish between user-space originating quotaoff and an unount. Instead move the responsibily of the unmount handling into the filesystem to be consistent with all other dquot handling. Note that we do call dquot_disable a lot later now, e.g. after a sync_filesystem. But this is fine as the quota code does all its writes via blockdev's mapping and that is synced even later. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
Showing 9 changed files with 14 additions and 16 deletions Side-by-side Diff
fs/ext2/super.c
fs/ext3/super.c
fs/ext4/super.c
fs/jfs/super.c
fs/reiserfs/super.c
fs/super.c
fs/udf/super.c
fs/ufs/super.c
include/linux/quotaops.h
... | ... | @@ -156,16 +156,6 @@ |
156 | 156 | #define sb_dquot_ops (&dquot_operations) |
157 | 157 | #define sb_quotactl_ops (&vfs_quotactl_ops) |
158 | 158 | |
159 | -/* Cannot be called inside a transaction */ | |
160 | -static inline int vfs_dq_off(struct super_block *sb, int remount) | |
161 | -{ | |
162 | - int ret = -ENOSYS; | |
163 | - | |
164 | - if (sb->s_qcop && sb->s_qcop->quota_off) | |
165 | - ret = sb->s_qcop->quota_off(sb, -1, remount); | |
166 | - return ret; | |
167 | -} | |
168 | - | |
169 | 159 | #else |
170 | 160 | |
171 | 161 | static inline int sb_has_quota_usage_enabled(struct super_block *sb, int type) |
... | ... | @@ -230,11 +220,6 @@ |
230 | 220 | |
231 | 221 | static inline void dquot_free_inode(const struct inode *inode) |
232 | 222 | { |
233 | -} | |
234 | - | |
235 | -static inline int vfs_dq_off(struct super_block *sb, int remount) | |
236 | -{ | |
237 | - return 0; | |
238 | 223 | } |
239 | 224 | |
240 | 225 | static inline int dquot_transfer(struct inode *inode, struct iattr *iattr) |