[GIT PULL] nilfs2 additional fix

2010-08-22 Thread Ryusuke Konishi
Hi Linus, please pull: git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2.git for-linus to grab the following fix, which corrects sync failure of discard in nilfs that Christoph noticed me recently. Thanks! Ryusuke Konishi -- The following changes since commit 3b89f56783a4ef796190e

[PATCH 1/6] nilfs2: allow nilfs_destroy_inode to destroy metadata file inodes

2010-08-22 Thread Ryusuke Konishi
The current nilfs_destroy_inode() doesn't handle metadata file inodes including gc inodes (dummy inodes used for garbage collection). This allows nilfs_destroy_inode() to destroy inodes of metadata files. Signed-off-by: Ryusuke Konishi --- fs/nilfs2/mdt.c |2 -- fs/nilfs2/super.c |6 +

[PATCH 2/6] nilfs2: allow nilfs_dirty_inode to mark metadata file inodes dirty

2010-08-22 Thread Ryusuke Konishi
This allows sop->dirty_inode callback function (nilfs_dirty_inode) to handle metadata file inodes. Signed-off-by: Ryusuke Konishi --- fs/nilfs2/inode.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c index eccb2f2..f1750ca 100644

[PATCH 4/6] nilfs2: use iget5_locked to get inode

2010-08-22 Thread Ryusuke Konishi
This uses iget5_locked instead of iget_locked so that gc cache can look up inodes with an inode number and an optional checkpoint number. Signed-off-by: Ryusuke Konishi --- fs/nilfs2/inode.c | 37 ++--- fs/nilfs2/super.c |1 + 2 files changed, 35 insertions(

[PATCH 0/6] nilfs2: remove own inode hash table

2010-08-22 Thread Ryusuke Konishi
This is a patchset to remove own inode hash table from nilfs. The current version of nilfs uses inode not only to manage regular files, directories, symlinks but also for some types of metadata and for caching file blocks relocated by GC. The last type of inodes is called gc-inodes, and nilfs kee

[PATCH 6/6] nilfs2: remove own inode hash used for GC

2010-08-22 Thread Ryusuke Konishi
This uses inode hash function that vfs provides instead of the own hash table for caching gc inodes. This finally removes the own inode hash from nilfs. Signed-off-by: Ryusuke Konishi --- fs/nilfs2/gcinode.c | 140 + fs/nilfs2/inode.c | 2

[PATCH 3/6] nilfs2: keep zero value in i_cno except for gc-inodes

2010-08-22 Thread Ryusuke Konishi
On-memory inode structures of nilfs have a member "i_cno" which stores a checkpoint number related to the inode. For gc-inodes, this field indicates version of data each gc-inode caches for GC. Log writer temporarily uses "i_cno" to transfer the latest checkpoint number. This stops the latter us

[PATCH 5/6] nilfs2: separate initializer of metadata file inode

2010-08-22 Thread Ryusuke Konishi
This separates a part of initialization code of metadata file inode, and makes it available from the nilfs iget function that a later patch will add to. Signed-off-by: Ryusuke Konishi --- fs/nilfs2/gcinode.c |6 +- fs/nilfs2/mdt.c | 44 +++-