summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2005-04-17 02:25:46 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-17 02:25:46 +0400
commit31e7ad6ac919761f0486f7781b02ff3ab54b6ef1 (patch)
tree1101585d46faf72c0bec070c8206f20455651805
parente072c6f2af57fb8ad9e0f29bfff3f79edf7bdd55 (diff)
downloadlinux-31e7ad6ac919761f0486f7781b02ff3ab54b6ef1.tar.xz
[PATCH] quota: fix possible oops on quotaoff
Remove dquot structures from quota file on quotaon - quota code does not expect them to be there. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/dquot.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/dquot.c b/fs/dquot.c
index 11048e0b32c9..3995ce7907cc 100644
--- a/fs/dquot.c
+++ b/fs/dquot.c
@@ -1443,6 +1443,7 @@ static int vfs_quota_on_inode(struct inode *inode, int type, int format_id)
oldflags = inode->i_flags & (S_NOATIME | S_IMMUTABLE | S_NOQUOTA);
inode->i_flags |= S_NOQUOTA | S_NOATIME | S_IMMUTABLE;
up_write(&dqopt->dqptr_sem);
+ sb->dq_op->drop(inode);
error = -EIO;
dqopt->files[type] = igrab(inode);