summaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/mdt.c
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-07-28 17:55:29 +0900
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-08-01 22:48:32 +0900
commita97778457f22181e8c38c4cd7d7e528378738a98 (patch)
treed2ee3d9491ab2b17551f099d9a6119407700dbd2 /fs/nilfs2/mdt.c
parented680c4ad478d0fee9740f7d029087f181346564 (diff)
downloadlinux-a97778457f22181e8c38c4cd7d7e528378738a98.tar.bz2
nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes
Andrea Gelmini gave me a report that a kernel oops hit on a nilfs filesystem with a 1KB block size when doing rsync. This turned out to be caused by an inconsistency of dirty state between a page and its buffers storing b-tree node blocks. If the page had multiple buffers split over multiple logs, and if the logs were written at a time, a dirty flag remained in the page even every dirty flag in the buffers was cleared. This will fix the failure by dropping the dirty flag properly for pages with the discrete multiple b-tree nodes. Reported-by: Andrea Gelmini <andrea.gelmini@gmail.com> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Tested-by: Andrea Gelmini <andrea.gelmini@gmail.com> Cc: stable@kernel.org
Diffstat (limited to 'fs/nilfs2/mdt.c')
0 files changed, 0 insertions, 0 deletions