mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
f2fs: Pass a folio to f2fs_delete_inline_entry()
The caller now has a folio so pass it in. Removes four calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
03a7571213
commit
b5b66bc4df
|
|
@ -876,7 +876,7 @@ void f2fs_delete_entry(struct f2fs_dir_entry *dentry, struct folio *folio,
|
|||
f2fs_add_ino_entry(F2FS_I_SB(dir), dir->i_ino, TRANS_DIR_INO);
|
||||
|
||||
if (f2fs_has_inline_dentry(dir))
|
||||
return f2fs_delete_inline_entry(dentry, &folio->page, dir, inode);
|
||||
return f2fs_delete_inline_entry(dentry, folio, dir, inode);
|
||||
|
||||
folio_lock(folio);
|
||||
f2fs_folio_wait_writeback(folio, DATA, true, true);
|
||||
|
|
|
|||
|
|
@ -4303,8 +4303,7 @@ int f2fs_make_empty_inline_dir(struct inode *inode, struct inode *parent,
|
|||
int f2fs_add_inline_entry(struct inode *dir, const struct f2fs_filename *fname,
|
||||
struct inode *inode, nid_t ino, umode_t mode);
|
||||
void f2fs_delete_inline_entry(struct f2fs_dir_entry *dentry,
|
||||
struct page *page, struct inode *dir,
|
||||
struct inode *inode);
|
||||
struct folio *folio, struct inode *dir, struct inode *inode);
|
||||
bool f2fs_empty_inline_dir(struct inode *dir);
|
||||
int f2fs_read_inline_dir(struct file *file, struct dir_context *ctx,
|
||||
struct fscrypt_str *fstr);
|
||||
|
|
|
|||
|
|
@ -697,8 +697,8 @@ int f2fs_add_inline_entry(struct inode *dir, const struct f2fs_filename *fname,
|
|||
return err;
|
||||
}
|
||||
|
||||
void f2fs_delete_inline_entry(struct f2fs_dir_entry *dentry, struct page *page,
|
||||
struct inode *dir, struct inode *inode)
|
||||
void f2fs_delete_inline_entry(struct f2fs_dir_entry *dentry,
|
||||
struct folio *folio, struct inode *dir, struct inode *inode)
|
||||
{
|
||||
struct f2fs_dentry_ptr d;
|
||||
void *inline_dentry;
|
||||
|
|
@ -706,18 +706,18 @@ void f2fs_delete_inline_entry(struct f2fs_dir_entry *dentry, struct page *page,
|
|||
unsigned int bit_pos;
|
||||
int i;
|
||||
|
||||
lock_page(page);
|
||||
f2fs_wait_on_page_writeback(page, NODE, true, true);
|
||||
folio_lock(folio);
|
||||
f2fs_folio_wait_writeback(folio, NODE, true, true);
|
||||
|
||||
inline_dentry = inline_data_addr(dir, page);
|
||||
inline_dentry = inline_data_addr(dir, &folio->page);
|
||||
make_dentry_ptr_inline(dir, &d, inline_dentry);
|
||||
|
||||
bit_pos = dentry - d.dentry;
|
||||
for (i = 0; i < slots; i++)
|
||||
__clear_bit_le(bit_pos + i, d.bitmap);
|
||||
|
||||
set_page_dirty(page);
|
||||
f2fs_put_page(page, 1);
|
||||
folio_mark_dirty(folio);
|
||||
f2fs_folio_put(folio, true);
|
||||
|
||||
inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
|
||||
f2fs_mark_inode_dirty_sync(dir, false);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user