inline.c (31d1b7710262fba12282b24083f20dc76e0efc93) inline.c (5222595d093ebe80329d38d255d14316257afb3e)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/inline.c
4 * Copyright (c) 2013, Intel Corporation
5 * Authors: Huajun Li <huajun.li@intel.com>
6 * Haicheng Li <haicheng.li@intel.com>
7 */
8

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

496 err = f2fs_add_inline_entries(dir, backup_dentry);
497 if (err)
498 goto recover;
499
500 lock_page(ipage);
501
502 stat_dec_inline_dir(dir);
503 clear_inode_flag(dir, FI_INLINE_DENTRY);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/inline.c
4 * Copyright (c) 2013, Intel Corporation
5 * Authors: Huajun Li <huajun.li@intel.com>
6 * Haicheng Li <haicheng.li@intel.com>
7 */
8

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

496 err = f2fs_add_inline_entries(dir, backup_dentry);
497 if (err)
498 goto recover;
499
500 lock_page(ipage);
501
502 stat_dec_inline_dir(dir);
503 clear_inode_flag(dir, FI_INLINE_DENTRY);
504 kfree(backup_dentry);
504 kvfree(backup_dentry);
505 return 0;
506recover:
507 lock_page(ipage);
508 f2fs_wait_on_page_writeback(ipage, NODE, true);
509 memcpy(inline_dentry, backup_dentry, MAX_INLINE_DATA(dir));
510 f2fs_i_depth_write(dir, 0);
511 f2fs_i_size_write(dir, MAX_INLINE_DATA(dir));
512 set_page_dirty(ipage);
513 f2fs_put_page(ipage, 1);
514
505 return 0;
506recover:
507 lock_page(ipage);
508 f2fs_wait_on_page_writeback(ipage, NODE, true);
509 memcpy(inline_dentry, backup_dentry, MAX_INLINE_DATA(dir));
510 f2fs_i_depth_write(dir, 0);
511 f2fs_i_size_write(dir, MAX_INLINE_DATA(dir));
512 set_page_dirty(ipage);
513 f2fs_put_page(ipage, 1);
514
515 kfree(backup_dentry);
515 kvfree(backup_dentry);
516 return err;
517}
518
519static int f2fs_convert_inline_dir(struct inode *dir, struct page *ipage,
520 void *inline_dentry)
521{
522 if (!F2FS_I(dir)->i_dir_level)
523 return f2fs_move_inline_dirents(dir, ipage, inline_dentry);

--- 188 unchanged lines hidden ---
516 return err;
517}
518
519static int f2fs_convert_inline_dir(struct inode *dir, struct page *ipage,
520 void *inline_dentry)
521{
522 if (!F2FS_I(dir)->i_dir_level)
523 return f2fs_move_inline_dirents(dir, ipage, inline_dentry);

--- 188 unchanged lines hidden ---