diff options
author | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2009-05-27 22:44:34 +0900 |
---|---|---|
committer | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2009-06-10 23:41:12 +0900 |
commit | fa032744ad41de1b0a1807e7c379c6196e72ad80 (patch) | |
tree | b88d335fd367ffee7e22403037e637da44a6ab68 /fs/nilfs2 | |
parent | a53b4751ae92adb372017222887f3ec625cba60b (diff) | |
download | kernel_samsung_smdk4412-fa032744ad41de1b0a1807e7c379c6196e72ad80.zip kernel_samsung_smdk4412-fa032744ad41de1b0a1807e7c379c6196e72ad80.tar.gz kernel_samsung_smdk4412-fa032744ad41de1b0a1807e7c379c6196e72ad80.tar.bz2 |
nilfs2: add sync_page method to page caches of meta data
This applies block_sync_page() function to the sync_page method of
page caches for meta data files, gc page caches, and btree node
buffers. This is a companion patch of ("nilfs2: enable sync_page
mothod") which applied the function for data pages.
This allows lock_page() for those meta data to unplug pending bio
requests.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Diffstat (limited to 'fs/nilfs2')
-rw-r--r-- | fs/nilfs2/btnode.c | 4 | ||||
-rw-r--r-- | fs/nilfs2/gcinode.c | 5 | ||||
-rw-r--r-- | fs/nilfs2/mdt.c | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c index 0e01957..7e0b61b 100644 --- a/fs/nilfs2/btnode.c +++ b/fs/nilfs2/btnode.c @@ -46,7 +46,9 @@ void nilfs_btnode_cache_init_once(struct address_space *btnc) INIT_LIST_HEAD(&btnc->i_mmap_nonlinear); } -static struct address_space_operations def_btnode_aops; +static struct address_space_operations def_btnode_aops = { + .sync_page = block_sync_page, +}; void nilfs_btnode_cache_init(struct address_space *btnc, struct backing_dev_info *bdi) diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c index 19d2102..1b3c2bb 100644 --- a/fs/nilfs2/gcinode.c +++ b/fs/nilfs2/gcinode.c @@ -52,8 +52,9 @@ #include "dat.h" #include "ifile.h" -static struct address_space_operations def_gcinode_aops = {}; -/* XXX need def_gcinode_iops/fops? */ +static struct address_space_operations def_gcinode_aops = { + .sync_page = block_sync_page, +}; /* * nilfs_gccache_submit_read_data() - add data buffer and submit read request diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c index 7b7032e..3d3ddb3 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c @@ -430,6 +430,7 @@ nilfs_mdt_write_page(struct page *page, struct writeback_control *wbc) static struct address_space_operations def_mdt_aops = { .writepage = nilfs_mdt_write_page, + .sync_page = block_sync_page, }; static struct inode_operations def_mdt_iops; |