summaryrefslogtreecommitdiff
path: root/fs/ufs/super.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2010-03-03 09:05:04 -0500
committerJan Kara <jack@suse.cz>2010-03-05 00:20:29 +0100
commit257ba15cedf1288f0c96118d7e63947231d27278 (patch)
tree7a977a0ea08a324ce74aedce19406cb0688f15e2 /fs/ufs/super.c
parentb43fa8284d7790d9cca32c9c55e24f29be2fa33b (diff)
downloadlinux-3.10-257ba15cedf1288f0c96118d7e63947231d27278.tar.gz
linux-3.10-257ba15cedf1288f0c96118d7e63947231d27278.tar.bz2
linux-3.10-257ba15cedf1288f0c96118d7e63947231d27278.zip
dquot: move dquot drop responsibility into the filesystem
Currently clear_inode calls vfs_dq_drop directly. This means we tie the quota code into the VFS. Get rid of that and make the filesystem responsible for the drop inside the ->clear_inode superblock operation. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ufs/super.c')
-rw-r--r--fs/ufs/super.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index 143c20bfb04..95d61cb3a5b 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -1432,6 +1432,11 @@ static void destroy_inodecache(void)
kmem_cache_destroy(ufs_inode_cachep);
}
+static void ufs_clear_inode(struct inode *inode)
+{
+ vfs_dq_drop(inode);
+}
+
#ifdef CONFIG_QUOTA
static ssize_t ufs_quota_read(struct super_block *, int, char *,size_t, loff_t);
static ssize_t ufs_quota_write(struct super_block *, int, const char *, size_t, loff_t);
@@ -1442,6 +1447,7 @@ static const struct super_operations ufs_super_ops = {
.destroy_inode = ufs_destroy_inode,
.write_inode = ufs_write_inode,
.delete_inode = ufs_delete_inode,
+ .clear_inode = ufs_clear_inode,
.put_super = ufs_put_super,
.write_super = ufs_write_super,
.sync_fs = ufs_sync_fs,