f2fs.h (a4b6817625e71d5d4aee16cacf7a7fec077c6dbe) | f2fs.h (94c821fb286b545d37549ff30a0c341e066f0d6c) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * fs/f2fs/f2fs.h 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com/ 7 */ 8#ifndef _LINUX_F2FS_H --- 2059 unchanged lines hidden (view full) --- 2068{ 2069 unsigned long flags; 2070 2071 spin_lock_irqsave(&sbi->cp_lock, flags); 2072 __clear_ckpt_flags(F2FS_CKPT(sbi), f); 2073 spin_unlock_irqrestore(&sbi->cp_lock, flags); 2074} 2075 | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * fs/f2fs/f2fs.h 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com/ 7 */ 8#ifndef _LINUX_F2FS_H --- 2059 unchanged lines hidden (view full) --- 2068{ 2069 unsigned long flags; 2070 2071 spin_lock_irqsave(&sbi->cp_lock, flags); 2072 __clear_ckpt_flags(F2FS_CKPT(sbi), f); 2073 spin_unlock_irqrestore(&sbi->cp_lock, flags); 2074} 2075 |
2076static inline void disable_nat_bits(struct f2fs_sb_info *sbi, bool lock) 2077{ 2078 unsigned long flags; 2079 unsigned char *nat_bits; 2080 2081 /* 2082 * In order to re-enable nat_bits we need to call fsck.f2fs by 2083 * set_sbi_flag(sbi, SBI_NEED_FSCK). But it may give huge cost, 2084 * so let's rely on regular fsck or unclean shutdown. 2085 */ 2086 2087 if (lock) 2088 spin_lock_irqsave(&sbi->cp_lock, flags); 2089 __clear_ckpt_flags(F2FS_CKPT(sbi), CP_NAT_BITS_FLAG); 2090 nat_bits = NM_I(sbi)->nat_bits; 2091 NM_I(sbi)->nat_bits = NULL; 2092 if (lock) 2093 spin_unlock_irqrestore(&sbi->cp_lock, flags); 2094 2095 kvfree(nat_bits); 2096} 2097 2098static inline bool enabled_nat_bits(struct f2fs_sb_info *sbi, 2099 struct cp_control *cpc) 2100{ 2101 bool set = is_set_ckpt_flags(sbi, CP_NAT_BITS_FLAG); 2102 2103 return (cpc) ? (cpc->reason & CP_UMOUNT) && set : set; 2104} 2105 | |
2106static inline void f2fs_lock_op(struct f2fs_sb_info *sbi) 2107{ 2108 down_read(&sbi->cp_rwsem); 2109} 2110 2111static inline int f2fs_trylock_op(struct f2fs_sb_info *sbi) 2112{ 2113 return down_read_trylock(&sbi->cp_rwsem); --- 1310 unchanged lines hidden (view full) --- 3424int f2fs_get_node_info(struct f2fs_sb_info *sbi, nid_t nid, 3425 struct node_info *ni); 3426pgoff_t f2fs_get_next_page_offset(struct dnode_of_data *dn, pgoff_t pgofs); 3427int f2fs_get_dnode_of_data(struct dnode_of_data *dn, pgoff_t index, int mode); 3428int f2fs_truncate_inode_blocks(struct inode *inode, pgoff_t from); 3429int f2fs_truncate_xattr_node(struct inode *inode); 3430int f2fs_wait_on_node_pages_writeback(struct f2fs_sb_info *sbi, 3431 unsigned int seq_id); | 2076static inline void f2fs_lock_op(struct f2fs_sb_info *sbi) 2077{ 2078 down_read(&sbi->cp_rwsem); 2079} 2080 2081static inline int f2fs_trylock_op(struct f2fs_sb_info *sbi) 2082{ 2083 return down_read_trylock(&sbi->cp_rwsem); --- 1310 unchanged lines hidden (view full) --- 3394int f2fs_get_node_info(struct f2fs_sb_info *sbi, nid_t nid, 3395 struct node_info *ni); 3396pgoff_t f2fs_get_next_page_offset(struct dnode_of_data *dn, pgoff_t pgofs); 3397int f2fs_get_dnode_of_data(struct dnode_of_data *dn, pgoff_t index, int mode); 3398int f2fs_truncate_inode_blocks(struct inode *inode, pgoff_t from); 3399int f2fs_truncate_xattr_node(struct inode *inode); 3400int f2fs_wait_on_node_pages_writeback(struct f2fs_sb_info *sbi, 3401 unsigned int seq_id); |
3402bool f2fs_nat_bitmap_enabled(struct f2fs_sb_info *sbi); |
|
3432int f2fs_remove_inode_page(struct inode *inode); 3433struct page *f2fs_new_inode_page(struct inode *inode); 3434struct page *f2fs_new_node_page(struct dnode_of_data *dn, unsigned int ofs); 3435void f2fs_ra_node_page(struct f2fs_sb_info *sbi, nid_t nid); 3436struct page *f2fs_get_node_page(struct f2fs_sb_info *sbi, pgoff_t nid); 3437struct page *f2fs_get_node_page_ra(struct page *parent, int start); 3438int f2fs_move_node_page(struct page *node_page, int gc_type); 3439void f2fs_flush_inline_data(struct f2fs_sb_info *sbi); --- 8 unchanged lines hidden (view full) --- 3448void f2fs_alloc_nid_done(struct f2fs_sb_info *sbi, nid_t nid); 3449void f2fs_alloc_nid_failed(struct f2fs_sb_info *sbi, nid_t nid); 3450int f2fs_try_to_free_nids(struct f2fs_sb_info *sbi, int nr_shrink); 3451int f2fs_recover_inline_xattr(struct inode *inode, struct page *page); 3452int f2fs_recover_xattr_data(struct inode *inode, struct page *page); 3453int f2fs_recover_inode_page(struct f2fs_sb_info *sbi, struct page *page); 3454int f2fs_restore_node_summary(struct f2fs_sb_info *sbi, 3455 unsigned int segno, struct f2fs_summary_block *sum); | 3403int f2fs_remove_inode_page(struct inode *inode); 3404struct page *f2fs_new_inode_page(struct inode *inode); 3405struct page *f2fs_new_node_page(struct dnode_of_data *dn, unsigned int ofs); 3406void f2fs_ra_node_page(struct f2fs_sb_info *sbi, nid_t nid); 3407struct page *f2fs_get_node_page(struct f2fs_sb_info *sbi, pgoff_t nid); 3408struct page *f2fs_get_node_page_ra(struct page *parent, int start); 3409int f2fs_move_node_page(struct page *node_page, int gc_type); 3410void f2fs_flush_inline_data(struct f2fs_sb_info *sbi); --- 8 unchanged lines hidden (view full) --- 3419void f2fs_alloc_nid_done(struct f2fs_sb_info *sbi, nid_t nid); 3420void f2fs_alloc_nid_failed(struct f2fs_sb_info *sbi, nid_t nid); 3421int f2fs_try_to_free_nids(struct f2fs_sb_info *sbi, int nr_shrink); 3422int f2fs_recover_inline_xattr(struct inode *inode, struct page *page); 3423int f2fs_recover_xattr_data(struct inode *inode, struct page *page); 3424int f2fs_recover_inode_page(struct f2fs_sb_info *sbi, struct page *page); 3425int f2fs_restore_node_summary(struct f2fs_sb_info *sbi, 3426 unsigned int segno, struct f2fs_summary_block *sum); |
3427void f2fs_enable_nat_bits(struct f2fs_sb_info *sbi); |
|
3456int f2fs_flush_nat_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc); 3457int f2fs_build_node_manager(struct f2fs_sb_info *sbi); 3458void f2fs_destroy_node_manager(struct f2fs_sb_info *sbi); 3459int __init f2fs_create_node_manager_caches(void); 3460void f2fs_destroy_node_manager_caches(void); 3461 3462/* 3463 * segment.c --- 932 unchanged lines hidden --- | 3428int f2fs_flush_nat_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc); 3429int f2fs_build_node_manager(struct f2fs_sb_info *sbi); 3430void f2fs_destroy_node_manager(struct f2fs_sb_info *sbi); 3431int __init f2fs_create_node_manager_caches(void); 3432void f2fs_destroy_node_manager_caches(void); 3433 3434/* 3435 * segment.c --- 932 unchanged lines hidden --- |