struct fiemap-extent_info will be gone on future patches, remove its direct usage from f2fs Signed-off-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> --- fs/f2fs/data.c | 22 +++++++++++++--------- fs/f2fs/f2fs.h | 4 +--- fs/f2fs/inline.c | 10 +++++++--- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index c552e2d1dfbb..8ce60b5954d8 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1327,8 +1327,7 @@ static inline loff_t blk_to_logical(struct inode *inode, sector_t blk) return (blk << inode->i_blkbits); } -static int f2fs_xattr_fiemap(struct inode *inode, - struct fiemap_extent_info *fieinfo) +static int f2fs_xattr_fiemap(struct inode *inode, struct fiemap_ctx *f_ctx) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); struct page *page; @@ -1367,7 +1366,10 @@ static int f2fs_xattr_fiemap(struct inode *inode, if (!xnid) flags |= FIEMAP_EXTENT_LAST; - err = fiemap_fill_next_extent(fieinfo, 0, phys, len, flags); + err = fiemap_fill_next_extent( + (struct fiemap_extent_info *)f_ctx->fc_data, + 0, phys, len, flags); + if (err || err == 1) return err; } @@ -1392,14 +1394,15 @@ static int f2fs_xattr_fiemap(struct inode *inode, } if (phys) - err = fiemap_fill_next_extent(fieinfo, 0, phys, len, flags); + err = fiemap_fill_next_extent( + (struct fiemap_extent_info *)f_ctx->fc_data, + 0, phys, len, flags); return (err < 0 ? err : 0); } int f2fs_fiemap(struct inode *inode, struct fiemap_ctx *f_ctx) { - struct fiemap_extent_info *fieinfo = f_ctx->fc_data; u64 start = f_ctx->fc_start; u64 len = f_ctx->fc_len; struct buffer_head map_bh; @@ -1422,12 +1425,12 @@ int f2fs_fiemap(struct inode *inode, struct fiemap_ctx *f_ctx) inode_lock(inode); if (f_ctx->fc_flags & FIEMAP_FLAG_XATTR) { - ret = f2fs_xattr_fiemap(inode, fieinfo); + ret = f2fs_xattr_fiemap(inode, f_ctx); goto out; } if (f2fs_has_inline_data(inode)) { - ret = f2fs_inline_data_fiemap(inode, fieinfo, start, len); + ret = f2fs_inline_data_fiemap(inode, f_ctx); if (ret != -EAGAIN) goto out; } @@ -1462,8 +1465,9 @@ int f2fs_fiemap(struct inode *inode, struct fiemap_ctx *f_ctx) if (f2fs_encrypted_inode(inode)) flags |= FIEMAP_EXTENT_DATA_ENCRYPTED; - ret = fiemap_fill_next_extent(fieinfo, logical, - phys, size, flags); + ret = fiemap_fill_next_extent( + (struct fiemap_extent_info *)f_ctx->fc_data, + logical, phys, size, flags); } if (start_blk > last_blk || ret) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 185bb39dd82c..5e4e323ea4c6 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -3354,9 +3354,7 @@ void f2fs_delete_inline_entry(struct f2fs_dir_entry *dentry, bool f2fs_empty_inline_dir(struct inode *dir); int f2fs_read_inline_dir(struct file *file, struct dir_context *ctx, struct fscrypt_str *fstr); -int f2fs_inline_data_fiemap(struct inode *inode, - struct fiemap_extent_info *fieinfo, - __u64 start, __u64 len); +int f2fs_inline_data_fiemap(struct inode *inode, struct fiemap_ctx *f_ctx); /* * shrinker.c diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 5c152fe08381..353a81317fac 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -671,9 +671,10 @@ int f2fs_read_inline_dir(struct file *file, struct dir_context *ctx, return err < 0 ? err : 0; } -int f2fs_inline_data_fiemap(struct inode *inode, - struct fiemap_extent_info *fieinfo, __u64 start, __u64 len) +int f2fs_inline_data_fiemap(struct inode *inode, struct fiemap_ctx *f_ctx) { + u64 start = f_ctx->fc_start; + u64 len = f_ctx->fc_len; __u64 byteaddr, ilen; __u32 flags = FIEMAP_EXTENT_DATA_INLINE | FIEMAP_EXTENT_NOT_ALIGNED | FIEMAP_EXTENT_LAST; @@ -704,7 +705,10 @@ int f2fs_inline_data_fiemap(struct inode *inode, byteaddr = (__u64)ni.blk_addr << inode->i_sb->s_blocksize_bits; byteaddr += (char *)inline_data_addr(inode, ipage) - (char *)F2FS_INODE(ipage); - err = fiemap_fill_next_extent(fieinfo, start, byteaddr, ilen, flags); + err = fiemap_fill_next_extent( + (struct fiemap_extent_info *)f_ctx->fc_data, + start, byteaddr, ilen, flags); + out: f2fs_put_page(ipage, 1); return err; -- 2.17.1