dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/fs/nilfs2
Ryusuke Konishi b1f6a4f294 nilfs2: add routines to redirect access to buffers of DAT file
During garbage collection (GC), DAT file, which converts virtual block
number to real block number, may return disk block number that is not
yet written to the device.

To avoid access to unwritten blocks, the current implementation stores
changes to the caches of GCDAT during GC and atomically commit the
changes into the DAT file after they are written to the device.

This patch, instead, adds a function that makes a copy of specified
buffer and stores it in nilfs_shadow_map, and a function to get the
backup copy as needed (nilfs_mdt_freeze_buffer and
nilfs_mdt_get_frozen_buffer respectively).

Before DAT changes block number in an entry block, it makes a copy and
redirect access to the buffer so that address conversion function
(i.e. nilfs_dat_translate) refers to the old address saved in the
copy.

This patch gives requisites for such redirection.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
2010-10-23 09:24:37 +09:00
..
Kconfig Revert "task_struct: make journal_info conditional" 2009-12-17 13:23:24 -08:00
Makefile nilfs2: update makefile and Kconfig 2009-04-07 08:31:16 -07:00
alloc.c nilfs2: add kernel doc comments to persistent object allocator functions 2010-05-10 11:32:31 +09:00
alloc.h nilfs2: add kernel doc comments to persistent object allocator functions 2010-05-10 11:32:31 +09:00
bmap.c nilfs2: add routines to save and restore bmap state 2010-10-23 09:24:37 +09:00
bmap.h nilfs2: add routines to save and restore bmap state 2010-10-23 09:24:37 +09:00
btnode.c nilfs2: add routines to roll back state of DAT file 2010-10-23 09:24:37 +09:00
btnode.h nilfs2: add read ahead mode to nilfs_btnode_submit_block 2010-07-23 10:02:15 +09:00
btree.c nilfs2: apply read-ahead for nilfs_btree_lookup_contig 2010-07-23 10:02:16 +09:00
btree.h nilfs2: get rid of nilfs_bmap_union 2010-07-23 10:02:14 +09:00
cpfile.c nilfs2: trivial coding style fix 2009-12-25 13:01:50 +09:00
cpfile.h nilfs2: separate read method of meta data files on super root block 2009-11-20 10:05:48 +09:00
dat.c nilfs2: fix various typos in comments 2010-03-14 10:29:51 +09:00
dat.h nilfs2: separate read method of meta data files on super root block 2009-11-20 10:05:48 +09:00
dir.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
direct.c nilfs2: remove redundant pointer checks in bmap lookup functions 2010-07-23 10:02:14 +09:00
direct.h nilfs2: get rid of nilfs_bmap_union 2010-07-23 10:02:14 +09:00
export.h nilfs2: make snapshots in checkpoint tree exportable 2010-10-23 09:24:34 +09:00
file.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
gcdat.c simplify checks for I_CLEAR/I_FREEING 2010-08-09 16:47:44 -04:00
gcinode.c nilfs2: do not allocate nilfs_mdt_info structure to gc-inodes 2010-10-23 09:24:37 +09:00
ifile.c nilfs2: add palloc cache to ifile 2009-11-20 10:05:50 +09:00
ifile.h nilfs2: separate constructor of metadata files 2009-11-20 10:05:48 +09:00
inode.c nilfs2: allow nilfs_clear_inode to clear metadata file inodes 2010-10-23 09:24:37 +09:00
ioctl.c nilfs2: simplify life cycle management of nilfs object 2010-10-23 09:24:36 +09:00
mdt.c nilfs2: add routines to redirect access to buffers of DAT file 2010-10-23 09:24:37 +09:00
mdt.h nilfs2: add routines to redirect access to buffers of DAT file 2010-10-23 09:24:37 +09:00
namei.c nilfs2: deny write access to inodes in snapshots 2010-10-23 09:24:35 +09:00
nilfs.h nilfs2: deny write access to inodes in snapshots 2010-10-23 09:24:35 +09:00
page.c nilfs2: add routines to redirect access to buffers of DAT file 2010-10-23 09:24:37 +09:00
page.h nilfs2: add routines to redirect access to buffers of DAT file 2010-10-23 09:24:37 +09:00
recovery.c nilfs2: use root object to get ifile 2010-10-23 09:24:35 +09:00
sb.h nilfs2: do not allocate multiple super block instances for a device 2010-10-23 09:24:36 +09:00
segbuf.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
segbuf.h nilfs2: get rid of macros for segment summary information 2010-07-23 10:02:09 +09:00
segment.c nilfs2: add routines to redirect access to buffers of DAT file 2010-10-23 09:24:37 +09:00
segment.h nilfs2: use root object to get ifile 2010-10-23 09:24:35 +09:00
sufile.c nilfs2: fix various typos in comments 2010-03-14 10:29:51 +09:00
sufile.h nilfs2: clean up get/put function of a segment usage 2009-11-20 10:05:51 +09:00
super.c nilfs2: simplify life cycle management of nilfs object 2010-10-23 09:24:36 +09:00
the_nilfs.c nilfs2: simplify life cycle management of nilfs object 2010-10-23 09:24:36 +09:00
the_nilfs.h nilfs2: simplify life cycle management of nilfs object 2010-10-23 09:24:36 +09:00