diff options
author | Christoph Hellwig <hch@infradead.org> | 2010-05-19 07:16:42 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2010-05-24 14:09:12 +0200 |
commit | e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b (patch) | |
tree | a62a84034243e75e07bb063526e10ea0b837062f /fs/udf | |
parent | 0f0dd62fddcbd0f6830ed8ef3d3426ccc46b9250 (diff) | |
download | linux-3.10-e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b.tar.gz linux-3.10-e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b.tar.bz2 linux-3.10-e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b.zip |
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>
Diffstat (limited to 'fs/udf')
-rw-r--r-- | fs/udf/super.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c index b154c41a7a9..76a61566f29 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -2102,6 +2102,8 @@ static void udf_put_super(struct super_block *sb) int i; struct udf_sb_info *sbi; + dquot_disable(sb, -1, DQUOT_USAGE_ENABLED | DQUOT_LIMITS_ENABLED); + sbi = UDF_SB(sb); lock_kernel(); |