]> git.baikalelectronics.ru Git - kernel.git/commit
ocfs2: fix quota file corruption
authorJan Kara <jack@suse.cz>
Mon, 3 Mar 2014 23:38:32 +0000 (15:38 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 4 Mar 2014 15:55:48 +0000 (07:55 -0800)
commit46b2f75202216ce2583dea5b9df32c4e91be5eee
treea8045655ec6307ff8fc9794bd440368df51dc7f3
parent8a7082f9638e945f99a880201360b695ce74b8f5
ocfs2: fix quota file corruption

Global quota files are accessed from different nodes.  Thus we cannot
cache offset of quota structure in the quota file after we drop our node
reference count to it because after that moment quota structure may be
freed and reallocated elsewhere by a different node resulting in
corruption of quota file.

Fix the problem by clearing dq_off when we are releasing dquot structure.
We also remove the DB_READ_B handling because it is useless -
DQ_ACTIVE_B is set iff DQ_READ_B is set.

Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Goldwyn Rodrigues <rgoldwyn@suse.de>
Cc: Joel Becker <jlbec@evilplan.org>
Reviewed-by: Mark Fasheh <mfasheh@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/ocfs2/quota_global.c
fs/ocfs2/quota_local.c