linux/fs/nilfs2
Ryusuke Konishi 843382370e nilfs2: ensure to clear dirty state when deleting metadata file block
This would fix the following failure during GC:

 nilfs_cpfile_delete_checkpoints: cannot delete block
 NILFS: GC failed during preparation: cannot delete checkpoints: err=-2

The problem was caused by a break in state consistency between page
cache and btree; the above block was removed from the btree but the
page buffering the block was remaining in the page cache in dirty
state.

This resolves the inconsistency by ensuring to clear dirty state of
the page buffering the deleted block.

Reported-by: David Arendt <admin@prnet.org>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
2009-05-10 17:04:42 +09:00
..
alloc.c nilfs2: persistent object allocator 2009-04-07 08:31:13 -07:00
alloc.h nilfs2: persistent object allocator 2009-04-07 08:31:13 -07:00
bmap_union.h nilfs2: integrated block mapping 2009-04-07 08:31:13 -07:00
bmap.c nilfs2: fix lockdep recursive locking warning on bmap 2009-04-13 09:53:49 +09:00
bmap.h nilfs2: integrated block mapping 2009-04-07 08:31:13 -07:00
btnode.c nilfs2: B-tree node cache 2009-04-07 08:31:13 -07:00
btnode.h nilfs2: B-tree node cache 2009-04-07 08:31:13 -07:00
btree.c nilfs2: replace BUG_ON and BUG calls triggerable from ioctl 2009-04-07 08:31:19 -07:00
btree.h nilfs2: B-tree based block mapping 2009-04-07 08:31:13 -07:00
cpfile.c nilfs2: replace BUG_ON and BUG calls triggerable from ioctl 2009-04-07 08:31:19 -07:00
cpfile.h nilfs2: fix gc failure on volumes keeping numerous snapshots 2009-04-07 08:31:17 -07:00
dat.c nilfs2: replace BUG_ON and BUG calls triggerable from ioctl 2009-04-07 08:31:19 -07:00
dat.h nilfs2: disk address translator 2009-04-07 08:31:14 -07:00
dir.c nilfs2: use unlocked_ioctl 2009-04-07 08:31:19 -07:00
direct.c nilfs2: replace BUG_ON and BUG calls triggerable from ioctl 2009-04-07 08:31:19 -07:00
direct.h nilfs2: direct block mapping 2009-04-07 08:31:13 -07:00
file.c nilfs2: use unlocked_ioctl 2009-04-07 08:31:19 -07:00
gcdat.c nilfs2: another dat for garbage collection 2009-04-07 08:31:16 -07:00
gcinode.c nilfs2: support nanosecond timestamp 2009-04-07 08:31:20 -07:00
ifile.c nilfs2: inode map file 2009-04-07 08:31:14 -07:00
ifile.h nilfs2: inode map file 2009-04-07 08:31:14 -07:00
inode.c nilfs2: support nanosecond timestamp 2009-04-07 08:31:20 -07:00
ioctl.c nilfs2: fix circular locking dependency of writer mutex 2009-05-09 13:36:57 +09:00
Makefile nilfs2: update makefile and Kconfig 2009-04-07 08:31:16 -07:00
mdt.c nilfs2: ensure to clear dirty state when deleting metadata file block 2009-05-10 17:04:42 +09:00
mdt.h nilfs2: meta data file 2009-04-07 08:31:13 -07:00
namei.c nilfs2: avoid double error caused by nilfs_transaction_end 2009-04-07 08:31:17 -07:00
nilfs.h nilfs2: remove module version 2009-04-13 09:53:50 +09:00
page.c nilfs2: ensure to clear dirty state when deleting metadata file block 2009-05-10 17:04:42 +09:00
page.h nilfs2: buffer and page operations 2009-04-07 08:31:13 -07:00
recovery.c nilfs2: fix possible recovery failure due to block creation without writer 2009-05-09 13:36:56 +09:00
sb.h nilfs2: add inode and other major structures 2009-04-07 08:31:12 -07:00
segbuf.c nilfs2: simplify handling of active state of segments 2009-04-07 08:31:20 -07:00
segbuf.h nilfs2: simplify handling of active state of segments 2009-04-07 08:31:20 -07:00
seglist.h nilfs2: segment constructor 2009-04-07 08:31:15 -07:00
segment.c nilfs2: introduce secondary super block 2009-04-07 08:31:20 -07:00
segment.h nilfs2: introduce secondary super block 2009-04-07 08:31:20 -07:00
sufile.c nilfs2: fix possible mismatch of sufile counters on recovery 2009-04-13 09:53:52 +09:00
sufile.h nilfs2: fix possible mismatch of sufile counters on recovery 2009-04-13 09:53:52 +09:00
super.c nilfs2: remove module version 2009-04-13 09:53:50 +09:00
the_nilfs.c nilfs2: fix lockdep recursive locking warning on meta data files 2009-04-13 09:53:50 +09:00
the_nilfs.h nilfs2: introduce secondary super block 2009-04-07 08:31:20 -07:00