namei.c (712cba5d87a6c0e980ee5fad45734e189c4d7151) namei.c (7c45729a4d6d1c90879e6c5c2df325c2f6db7191)
1/*
2 * fs/f2fs/namei.c
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 764 unchanged lines hidden (view full) ---

773
774 down_write(&F2FS_I(old_inode)->i_sem);
775 file_lost_pino(old_inode);
776 if (new_inode && file_enc_name(new_inode))
777 file_set_enc_name(old_inode);
778 up_write(&F2FS_I(old_inode)->i_sem);
779
780 old_inode->i_ctime = current_time(old_inode);
1/*
2 * fs/f2fs/namei.c
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 764 unchanged lines hidden (view full) ---

773
774 down_write(&F2FS_I(old_inode)->i_sem);
775 file_lost_pino(old_inode);
776 if (new_inode && file_enc_name(new_inode))
777 file_set_enc_name(old_inode);
778 up_write(&F2FS_I(old_inode)->i_sem);
779
780 old_inode->i_ctime = current_time(old_inode);
781 f2fs_mark_inode_dirty_sync(old_inode);
781 f2fs_mark_inode_dirty_sync(old_inode, false);
782
783 f2fs_delete_entry(old_entry, old_page, old_dir, NULL);
784
785 if (whiteout) {
786 whiteout->i_state |= I_LINKABLE;
787 set_inode_flag(whiteout, FI_INC_LINK);
788 err = f2fs_add_link(old_dentry, whiteout);
789 if (err)

--- 143 unchanged lines hidden (view full) ---

933 up_write(&F2FS_I(old_inode)->i_sem);
934
935 old_dir->i_ctime = current_time(old_dir);
936 if (old_nlink) {
937 down_write(&F2FS_I(old_dir)->i_sem);
938 f2fs_i_links_write(old_dir, old_nlink > 0);
939 up_write(&F2FS_I(old_dir)->i_sem);
940 }
782
783 f2fs_delete_entry(old_entry, old_page, old_dir, NULL);
784
785 if (whiteout) {
786 whiteout->i_state |= I_LINKABLE;
787 set_inode_flag(whiteout, FI_INC_LINK);
788 err = f2fs_add_link(old_dentry, whiteout);
789 if (err)

--- 143 unchanged lines hidden (view full) ---

933 up_write(&F2FS_I(old_inode)->i_sem);
934
935 old_dir->i_ctime = current_time(old_dir);
936 if (old_nlink) {
937 down_write(&F2FS_I(old_dir)->i_sem);
938 f2fs_i_links_write(old_dir, old_nlink > 0);
939 up_write(&F2FS_I(old_dir)->i_sem);
940 }
941 f2fs_mark_inode_dirty_sync(old_dir);
941 f2fs_mark_inode_dirty_sync(old_dir, false);
942
943 /* update directory entry info of new dir inode */
944 f2fs_set_link(new_dir, new_entry, new_page, old_inode);
945
946 down_write(&F2FS_I(new_inode)->i_sem);
947 file_lost_pino(new_inode);
948 up_write(&F2FS_I(new_inode)->i_sem);
949
950 new_dir->i_ctime = current_time(new_dir);
951 if (new_nlink) {
952 down_write(&F2FS_I(new_dir)->i_sem);
953 f2fs_i_links_write(new_dir, new_nlink > 0);
954 up_write(&F2FS_I(new_dir)->i_sem);
955 }
942
943 /* update directory entry info of new dir inode */
944 f2fs_set_link(new_dir, new_entry, new_page, old_inode);
945
946 down_write(&F2FS_I(new_inode)->i_sem);
947 file_lost_pino(new_inode);
948 up_write(&F2FS_I(new_inode)->i_sem);
949
950 new_dir->i_ctime = current_time(new_dir);
951 if (new_nlink) {
952 down_write(&F2FS_I(new_dir)->i_sem);
953 f2fs_i_links_write(new_dir, new_nlink > 0);
954 up_write(&F2FS_I(new_dir)->i_sem);
955 }
956 f2fs_mark_inode_dirty_sync(new_dir);
956 f2fs_mark_inode_dirty_sync(new_dir, false);
957
958 f2fs_unlock_op(sbi);
959
960 if (IS_DIRSYNC(old_dir) || IS_DIRSYNC(new_dir))
961 f2fs_sync_fs(sbi->sb, 1);
962 return 0;
963out_undo:
964 /*

--- 161 unchanged lines hidden ---
957
958 f2fs_unlock_op(sbi);
959
960 if (IS_DIRSYNC(old_dir) || IS_DIRSYNC(new_dir))
961 f2fs_sync_fs(sbi->sb, 1);
962 return 0;
963out_undo:
964 /*

--- 161 unchanged lines hidden ---