ext4: add self-testing infrastructure to do a sanity check
authorDmitry Monakhov <dmonakhov@openvz.org>
Mon, 11 Mar 2013 01:01:03 +0000 (21:01 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 11 Mar 2013 01:01:03 +0000 (21:01 -0400)
commit921f266bc6bfe6ebb599c559f10443af314c19ec
tree270647b58f430887b9f510693b73c88a157bdb56
parentbd384364c1185ecb01f3b8242c915ccb5921c60d
ext4: add self-testing infrastructure to do a sanity check

This commit adds a self-testing infrastructure like extent tree does to
do a sanity check for extent status tree.  After status tree is as a
extent cache, we'd better to make sure that it caches right result.

After applied this commit, we will get a lot of messages when we run
xfstests as below.

...
kernel: ES len assertation failed for inode: 230 retval 1 != map->m_len
3 in ext4_map_blocks (allocation)
...
kernel: ES cache assertation failed for inode: 230 es_cached ex
[974/2/4781/20] != found ex [974/1/4781/1000]
...
kernel: ES insert assertation failed for inode: 635 ex_status
[0/45/21388/w] != es_status [44/1/21432/u]
...

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/extents_status.c
fs/ext4/extents_status.h
fs/ext4/inode.c