ext4: remove read-inode from defrag code,replace with ext4_iget() From: Mingming Cao remove read-inode from defrag code,replace with ext4_iget() Signed-off-by: Mingming Cao --- fs/ext4/defrag.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) Index: linux-2.6.24/fs/ext4/defrag.c =================================================================== --- linux-2.6.24.orig/fs/ext4/defrag.c 2008-02-05 16:25:40.000000000 -0800 +++ linux-2.6.24/fs/ext4/defrag.c 2008-02-05 16:37:39.000000000 -0800 @@ -287,13 +287,9 @@ static int ext4_ext_extents_info(struct int entries = 0; int err = 0; - inode = iget_locked(sb, ext_info->ino); - if (!inode) - return -EACCES; - if (inode->i_state & I_NEW) { - sb->s_op->read_inode(inode); - unlock_new_inode(inode); - } + inode = ext4_iget(sb, ext_info->ino); + if (IS_ERR(inode)) + return PTR_ERR(inode); down_write(&EXT4_I(inode)->i_data_sem); @@ -592,13 +588,9 @@ static int ext4_ext_defrag_victim(struct ext.len = 0; /* Get the inode of the victim file */ - victim_inode = iget_locked(sb, ex_info->ino); - if (!victim_inode) - return -EACCES; - if (victim_inode->i_state & I_NEW) { - sb->s_op->read_inode(victim_inode); - unlock_new_inode(victim_inode); - } + victim_inode = ext4_iget(sb, ex_info->ino); + if (IS_ERR(victim_inode)) + return PTR_ERR(victim_inode); /* Setup file for the victim file */ victim_dent.d_inode = victim_inode;