lkml.org 
[lkml]   [2022]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 1/2] hfsplus: introduce hfsplus_init_inode() helper
    Date
    Factor out hfsplus_init_inode(), No functional change.

    Signed-off-by: ChenXiaoSong <chenxiaosong2@huawei.com>
    ---
    fs/hfsplus/hfsplus_fs.h | 1 +
    fs/hfsplus/inode.c | 35 ++++++++++++++++++++---------------
    2 files changed, 21 insertions(+), 15 deletions(-)

    diff --git a/fs/hfsplus/hfsplus_fs.h b/fs/hfsplus/hfsplus_fs.h
    index 6aa919e59483..2aa719e00ae5 100644
    --- a/fs/hfsplus/hfsplus_fs.h
    +++ b/fs/hfsplus/hfsplus_fs.h
    @@ -472,6 +472,7 @@ extern const struct dentry_operations hfsplus_dentry_operations;

    int hfsplus_write_begin(struct file *file, struct address_space *mapping,
    loff_t pos, unsigned len, struct page **pagep, void **fsdata);
    +void hfsplus_init_inode(struct hfsplus_inode_info *hip);
    struct inode *hfsplus_new_inode(struct super_block *sb, struct inode *dir,
    umode_t mode);
    void hfsplus_delete_inode(struct inode *inode);
    diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c
    index 840577a0c1e7..d921b32d292e 100644
    --- a/fs/hfsplus/inode.c
    +++ b/fs/hfsplus/inode.c
    @@ -379,22 +379,8 @@ static const struct file_operations hfsplus_file_operations = {
    .unlocked_ioctl = hfsplus_ioctl,
    };

    -struct inode *hfsplus_new_inode(struct super_block *sb, struct inode *dir,
    - umode_t mode)
    +void hfsplus_init_inode(struct hfsplus_inode_info *hip)
    {
    - struct hfsplus_sb_info *sbi = HFSPLUS_SB(sb);
    - struct inode *inode = new_inode(sb);
    - struct hfsplus_inode_info *hip;
    -
    - if (!inode)
    - return NULL;
    -
    - inode->i_ino = sbi->next_cnid++;
    - inode_init_owner(&init_user_ns, inode, dir, mode);
    - set_nlink(inode, 1);
    - inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
    -
    - hip = HFSPLUS_I(inode);
    INIT_LIST_HEAD(&hip->open_dir_list);
    spin_lock_init(&hip->open_dir_lock);
    mutex_init(&hip->extents_lock);
    @@ -412,6 +398,25 @@ struct inode *hfsplus_new_inode(struct super_block *sb, struct inode *dir,
    hip->phys_size = 0;
    hip->fs_blocks = 0;
    hip->rsrc_inode = NULL;
    +}
    +
    +struct inode *hfsplus_new_inode(struct super_block *sb, struct inode *dir,
    + umode_t mode)
    +{
    + struct hfsplus_sb_info *sbi = HFSPLUS_SB(sb);
    + struct inode *inode = new_inode(sb);
    + struct hfsplus_inode_info *hip;
    +
    + if (!inode)
    + return NULL;
    +
    + inode->i_ino = sbi->next_cnid++;
    + inode_init_owner(&init_user_ns, inode, dir, mode);
    + set_nlink(inode, 1);
    + inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
    +
    + hip = HFSPLUS_I(inode);
    + hfsplus_init_inode(hip);
    if (S_ISDIR(inode->i_mode)) {
    inode->i_size = 2;
    sbi->folder_count++;
    --
    2.31.1
    \
     
     \ /
      Last update: 2022-12-15 08:15    [W:5.363 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site