checkpoint.c (1d9ac659ff782bea6107a8feecf62eb626864021) checkpoint.c (4f5e34f713185cb562a796567556bff7d9c7418d)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/checkpoint.c
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#include <linux/fs.h>

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

1010 if (get_dirty_pages(inode) || !is_inode_flag_set(inode, flag))
1011 return;
1012
1013 list_del_init(&F2FS_I(inode)->dirty_list);
1014 clear_inode_flag(inode, flag);
1015 stat_dec_dirty_inode(F2FS_I_SB(inode), type);
1016}
1017
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * fs/f2fs/checkpoint.c
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#include <linux/fs.h>

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

1010 if (get_dirty_pages(inode) || !is_inode_flag_set(inode, flag))
1011 return;
1012
1013 list_del_init(&F2FS_I(inode)->dirty_list);
1014 clear_inode_flag(inode, flag);
1015 stat_dec_dirty_inode(F2FS_I_SB(inode), type);
1016}
1017
1018void f2fs_update_dirty_page(struct inode *inode, struct page *page)
1018void f2fs_update_dirty_folio(struct inode *inode, struct folio *folio)
1019{
1020 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1021 enum inode_type type = S_ISDIR(inode->i_mode) ? DIR_INODE : FILE_INODE;
1022
1023 if (!S_ISDIR(inode->i_mode) && !S_ISREG(inode->i_mode) &&
1024 !S_ISLNK(inode->i_mode))
1025 return;
1026
1027 spin_lock(&sbi->inode_lock[type]);
1028 if (type != FILE_INODE || test_opt(sbi, DATA_FLUSH))
1029 __add_dirty_inode(inode, type);
1030 inode_inc_dirty_pages(inode);
1031 spin_unlock(&sbi->inode_lock[type]);
1032
1019{
1020 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1021 enum inode_type type = S_ISDIR(inode->i_mode) ? DIR_INODE : FILE_INODE;
1022
1023 if (!S_ISDIR(inode->i_mode) && !S_ISREG(inode->i_mode) &&
1024 !S_ISLNK(inode->i_mode))
1025 return;
1026
1027 spin_lock(&sbi->inode_lock[type]);
1028 if (type != FILE_INODE || test_opt(sbi, DATA_FLUSH))
1029 __add_dirty_inode(inode, type);
1030 inode_inc_dirty_pages(inode);
1031 spin_unlock(&sbi->inode_lock[type]);
1032
1033 set_page_private_reference(page);
1033 set_page_private_reference(&folio->page);
1034}
1035
1036void f2fs_remove_dirty_inode(struct inode *inode)
1037{
1038 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1039 enum inode_type type = S_ISDIR(inode->i_mode) ? DIR_INODE : FILE_INODE;
1040
1041 if (!S_ISDIR(inode->i_mode) && !S_ISREG(inode->i_mode) &&

--- 872 unchanged lines hidden ---
1034}
1035
1036void f2fs_remove_dirty_inode(struct inode *inode)
1037{
1038 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1039 enum inode_type type = S_ISDIR(inode->i_mode) ? DIR_INODE : FILE_INODE;
1040
1041 if (!S_ISDIR(inode->i_mode) && !S_ISREG(inode->i_mode) &&

--- 872 unchanged lines hidden ---