@ -684,7 +684,7 @@ int truncate_inode_blocks(struct inode *inode, pgoff_t from)
int err = 0 , cont = 1 ;
int level , offset [ 4 ] , noffset [ 4 ] ;
unsigned int nofs = 0 ;
struct f2fs_node * rn ;
struct f2fs_i node * ri ;
struct dnode_of_data dn ;
struct page * page ;
@ -701,7 +701,7 @@ restart:
set_new_dnode ( & dn , inode , page , NULL , 0 ) ;
unlock_page ( page ) ;
rn = F2FS_NODE ( page ) ;
ri = F2FS_I NODE ( page ) ;
switch ( level ) {
case 0 :
case 1 :
@ -711,7 +711,7 @@ restart:
nofs = noffset [ 1 ] ;
if ( ! offset [ level - 1 ] )
goto skip_partial ;
err = truncate_partial_nodes ( & dn , & rn - > i , offset , level ) ;
err = truncate_partial_nodes ( & dn , ri , offset , level ) ;
if ( err < 0 & & err ! = - ENOENT )
goto fail ;
nofs + = 1 + NIDS_PER_BLOCK ;
@ -720,7 +720,7 @@ restart:
nofs = 5 + 2 * NIDS_PER_BLOCK ;
if ( ! offset [ level - 1 ] )
goto skip_partial ;
err = truncate_partial_nodes ( & dn , & rn - > i , offset , level ) ;
err = truncate_partial_nodes ( & dn , ri , offset , level ) ;
if ( err < 0 & & err ! = - ENOENT )
goto fail ;
break ;
@ -730,7 +730,7 @@ restart:
skip_partial :
while ( cont ) {
dn . nid = le32_to_cpu ( rn - > i . i_nid [ offset [ 0 ] - NODE_DIR1_BLOCK ] ) ;
dn . nid = le32_to_cpu ( ri - > i_nid [ offset [ 0 ] - NODE_DIR1_BLOCK ] ) ;
switch ( offset [ 0 ] ) {
case NODE_DIR1_BLOCK :
case NODE_DIR2_BLOCK :
@ -753,14 +753,14 @@ skip_partial:
if ( err < 0 & & err ! = - ENOENT )
goto fail ;
if ( offset [ 1 ] = = 0 & &
rn - > i . i_nid [ offset [ 0 ] - NODE_DIR1_BLOCK ] ) {
ri - > i_nid [ offset [ 0 ] - NODE_DIR1_BLOCK ] ) {
lock_page ( page ) ;
if ( unlikely ( page - > mapping ! = node_mapping ) ) {
f2fs_put_page ( page , 1 ) ;
goto restart ;
}
wait_on_page_writeback ( page ) ;
rn - > i . i_nid [ offset [ 0 ] - NODE_DIR1_BLOCK ] = 0 ;
ri - > i_nid [ offset [ 0 ] - NODE_DIR1_BLOCK ] = 0 ;
set_page_dirty ( page ) ;
unlock_page ( page ) ;
}
@ -1533,7 +1533,7 @@ void recover_node_page(struct f2fs_sb_info *sbi, struct page *page,
int recover_inode_page ( struct f2fs_sb_info * sbi , struct page * page )
{
struct address_space * mapping = sbi - > node_inode - > i_mapping ;
struct f2fs_node * src , * dst ;
struct f2fs_i node * src , * dst ;
nid_t ino = ino_of_node ( page ) ;
struct node_info old_ni , new_ni ;
struct page * ipage ;
@ -1549,14 +1549,14 @@ int recover_inode_page(struct f2fs_sb_info *sbi, struct page *page)
SetPageUptodate ( ipage ) ;
fill_node_footer ( ipage , ino , ino , 0 , true ) ;
src = F2FS_NODE ( page ) ;
dst = F2FS_NODE ( ipage ) ;
src = F2FS_I NODE ( page ) ;
dst = F2FS_I NODE ( ipage ) ;
memcpy ( dst , src , ( unsigned long ) & src - > i . i _ext - ( unsigned long ) & src - > i ) ;
dst - > i . i _size = 0 ;
dst - > i . i _blocks = cpu_to_le64 ( 1 ) ;
dst - > i . i _links = cpu_to_le32 ( 1 ) ;
dst - > i . i _xattr_nid = 0 ;
memcpy ( dst , src , ( unsigned long ) & src - > i_ext - ( unsigned long ) src ) ;
dst - > i_size = 0 ;
dst - > i_blocks = cpu_to_le64 ( 1 ) ;
dst - > i_links = cpu_to_le32 ( 1 ) ;
dst - > i_xattr_nid = 0 ;
new_ni = old_ni ;
new_ni . ino = ino ;