dir.c (0c0b471e43e7acf0747c6eb410863bf78c14750d) dir.c (7c45729a4d6d1c90879e6c5c2df325c2f6db7191)
1/*
2 * fs/f2fs/dir.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

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

308 lock_page(page);
309 f2fs_wait_on_page_writeback(page, type, true);
310 de->ino = cpu_to_le32(inode->i_ino);
311 set_de_type(de, inode->i_mode);
312 f2fs_dentry_kunmap(dir, page);
313 set_page_dirty(page);
314
315 dir->i_mtime = dir->i_ctime = current_time(dir);
1/*
2 * fs/f2fs/dir.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

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

308 lock_page(page);
309 f2fs_wait_on_page_writeback(page, type, true);
310 de->ino = cpu_to_le32(inode->i_ino);
311 set_de_type(de, inode->i_mode);
312 f2fs_dentry_kunmap(dir, page);
313 set_page_dirty(page);
314
315 dir->i_mtime = dir->i_ctime = current_time(dir);
316 f2fs_mark_inode_dirty_sync(dir);
316 f2fs_mark_inode_dirty_sync(dir, false);
317 f2fs_put_page(page, 1);
318}
319
320static void init_dent_inode(const struct qstr *name, struct page *ipage)
321{
322 struct f2fs_inode *ri;
323
324 f2fs_wait_on_page_writeback(ipage, NODE, true);

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

461 unsigned int current_depth)
462{
463 if (inode && is_inode_flag_set(inode, FI_NEW_INODE)) {
464 if (S_ISDIR(inode->i_mode))
465 f2fs_i_links_write(dir, true);
466 clear_inode_flag(inode, FI_NEW_INODE);
467 }
468 dir->i_mtime = dir->i_ctime = current_time(dir);
317 f2fs_put_page(page, 1);
318}
319
320static void init_dent_inode(const struct qstr *name, struct page *ipage)
321{
322 struct f2fs_inode *ri;
323
324 f2fs_wait_on_page_writeback(ipage, NODE, true);

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

461 unsigned int current_depth)
462{
463 if (inode && is_inode_flag_set(inode, FI_NEW_INODE)) {
464 if (S_ISDIR(inode->i_mode))
465 f2fs_i_links_write(dir, true);
466 clear_inode_flag(inode, FI_NEW_INODE);
467 }
468 dir->i_mtime = dir->i_ctime = current_time(dir);
469 f2fs_mark_inode_dirty_sync(dir);
469 f2fs_mark_inode_dirty_sync(dir, false);
470
471 if (F2FS_I(dir)->i_current_depth != current_depth)
472 f2fs_i_depth_write(dir, current_depth);
473
474 if (inode && is_inode_flag_set(inode, FI_INC_LINK))
475 clear_inode_flag(inode, FI_INC_LINK);
476}
477

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

726 /* Let's check and deallocate this dentry page */
727 bit_pos = find_next_bit_le(&dentry_blk->dentry_bitmap,
728 NR_DENTRY_IN_BLOCK,
729 0);
730 kunmap(page); /* kunmap - pair of f2fs_find_entry */
731 set_page_dirty(page);
732
733 dir->i_ctime = dir->i_mtime = current_time(dir);
470
471 if (F2FS_I(dir)->i_current_depth != current_depth)
472 f2fs_i_depth_write(dir, current_depth);
473
474 if (inode && is_inode_flag_set(inode, FI_INC_LINK))
475 clear_inode_flag(inode, FI_INC_LINK);
476}
477

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

726 /* Let's check and deallocate this dentry page */
727 bit_pos = find_next_bit_le(&dentry_blk->dentry_bitmap,
728 NR_DENTRY_IN_BLOCK,
729 0);
730 kunmap(page); /* kunmap - pair of f2fs_find_entry */
731 set_page_dirty(page);
732
733 dir->i_ctime = dir->i_mtime = current_time(dir);
734 f2fs_mark_inode_dirty_sync(dir);
734 f2fs_mark_inode_dirty_sync(dir, false);
735
736 if (inode)
737 f2fs_drop_nlink(dir, inode);
738
739 if (bit_pos == NR_DENTRY_IN_BLOCK &&
740 !truncate_hole(dir, page->index, page->index + 1)) {
741 clear_page_dirty_for_io(page);
742 ClearPagePrivate(page);

--- 176 unchanged lines hidden ---
735
736 if (inode)
737 f2fs_drop_nlink(dir, inode);
738
739 if (bit_pos == NR_DENTRY_IN_BLOCK &&
740 !truncate_hole(dir, page->index, page->index + 1)) {
741 clear_page_dirty_for_io(page);
742 ClearPagePrivate(page);

--- 176 unchanged lines hidden ---