As new flags introduced, the corresponding print symbols for trace are
not added accordingly. Add these missing print symbols for these flags.
Also remove the print symbol for EROFS_GET_BLOCKS_RAW as it is going to
be removed soon.
Signed-off-by: Jingbo Xu <[email protected]>
---
v2: remove print symbol for EROFS_GET_BLOCKS_RAW
---
include/trace/events/erofs.h | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/include/trace/events/erofs.h b/include/trace/events/erofs.h
index e095d36db939..cf4a0d28b178 100644
--- a/include/trace/events/erofs.h
+++ b/include/trace/events/erofs.h
@@ -19,12 +19,17 @@ struct erofs_map_blocks;
{ 1, "DIR" })
#define show_map_flags(flags) __print_flags(flags, "|", \
- { EROFS_GET_BLOCKS_RAW, "RAW" })
+ { EROFS_GET_BLOCKS_FIEMAP, "FIEMAP" }, \
+ { EROFS_GET_BLOCKS_READMORE, "READMORE" }, \
+ { EROFS_GET_BLOCKS_FINDTAIL, "FINDTAIL" })
#define show_mflags(flags) __print_flags(flags, "", \
- { EROFS_MAP_MAPPED, "M" }, \
- { EROFS_MAP_META, "I" }, \
- { EROFS_MAP_ENCODED, "E" })
+ { EROFS_MAP_MAPPED, "M" }, \
+ { EROFS_MAP_META, "I" }, \
+ { EROFS_MAP_ENCODED, "E" }, \
+ { EROFS_MAP_FULL_MAPPED, "F" }, \
+ { EROFS_MAP_FRAGMENT, "R" }, \
+ { EROFS_MAP_PARTIAL_REF, "P" })
TRACE_EVENT(erofs_lookup,
--
2.19.1.6.gb485710b
For erofs_map_blocks() and erofs_map_blocks_flatmode(), the flags
argument is always EROFS_GET_BLOCKS_RAW. Thus remove the unused flags
parameter for these two functions.
Besides EROFS_GET_BLOCKS_RAW is originally introduced for reading
compressed (raw) data for compressed files. However it's never used
actually and let's remove it now.
Signed-off-by: Jingbo Xu <[email protected]>
---
fs/erofs/data.c | 14 ++++++--------
fs/erofs/fscache.c | 2 +-
fs/erofs/internal.h | 10 ++++------
3 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/fs/erofs/data.c b/fs/erofs/data.c
index 2713257ee718..032e12dccb84 100644
--- a/fs/erofs/data.c
+++ b/fs/erofs/data.c
@@ -74,8 +74,7 @@ void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
}
static int erofs_map_blocks_flatmode(struct inode *inode,
- struct erofs_map_blocks *map,
- int flags)
+ struct erofs_map_blocks *map)
{
erofs_blk_t nblocks, lastblk;
u64 offset = map->m_la;
@@ -114,8 +113,7 @@ static int erofs_map_blocks_flatmode(struct inode *inode,
return 0;
}
-int erofs_map_blocks(struct inode *inode,
- struct erofs_map_blocks *map, int flags)
+int erofs_map_blocks(struct inode *inode, struct erofs_map_blocks *map)
{
struct super_block *sb = inode->i_sb;
struct erofs_inode *vi = EROFS_I(inode);
@@ -127,7 +125,7 @@ int erofs_map_blocks(struct inode *inode,
void *kaddr;
int err = 0;
- trace_erofs_map_blocks_enter(inode, map, flags);
+ trace_erofs_map_blocks_enter(inode, map, 0);
map->m_deviceid = 0;
if (map->m_la >= inode->i_size) {
/* leave out-of-bound access unmapped */
@@ -137,7 +135,7 @@ int erofs_map_blocks(struct inode *inode,
}
if (vi->datalayout != EROFS_INODE_CHUNK_BASED) {
- err = erofs_map_blocks_flatmode(inode, map, flags);
+ err = erofs_map_blocks_flatmode(inode, map);
goto out;
}
@@ -189,7 +187,7 @@ int erofs_map_blocks(struct inode *inode,
out:
if (!err)
map->m_llen = map->m_plen;
- trace_erofs_map_blocks_exit(inode, map, flags, 0);
+ trace_erofs_map_blocks_exit(inode, map, 0, err);
return err;
}
@@ -252,7 +250,7 @@ static int erofs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
map.m_la = offset;
map.m_llen = length;
- ret = erofs_map_blocks(inode, &map, EROFS_GET_BLOCKS_RAW);
+ ret = erofs_map_blocks(inode, &map);
if (ret < 0)
return ret;
diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c
index 03de4dc99302..9658cf8689d9 100644
--- a/fs/erofs/fscache.c
+++ b/fs/erofs/fscache.c
@@ -197,7 +197,7 @@ static int erofs_fscache_data_read_slice(struct erofs_fscache_request *primary)
int ret;
map.m_la = pos;
- ret = erofs_map_blocks(inode, &map, EROFS_GET_BLOCKS_RAW);
+ ret = erofs_map_blocks(inode, &map);
if (ret)
return ret;
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index 48a2f33de15a..8a6ae820cd6d 100644
--- a/fs/erofs/internal.h
+++ b/fs/erofs/internal.h
@@ -401,16 +401,15 @@ struct erofs_map_blocks {
unsigned int m_flags;
};
-#define EROFS_GET_BLOCKS_RAW 0x0001
/*
* Used to get the exact decompressed length, e.g. fiemap (consider lookback
* approach instead if possible since it's more metadata lightweight.)
*/
-#define EROFS_GET_BLOCKS_FIEMAP 0x0002
+#define EROFS_GET_BLOCKS_FIEMAP 0x0001
/* Used to map the whole extent if non-negligible data is requested for LZMA */
-#define EROFS_GET_BLOCKS_READMORE 0x0004
+#define EROFS_GET_BLOCKS_READMORE 0x0002
/* Used to map tail extent for tailpacking inline or fragment pcluster */
-#define EROFS_GET_BLOCKS_FINDTAIL 0x0008
+#define EROFS_GET_BLOCKS_FINDTAIL 0x0004
enum {
Z_EROFS_COMPRESSION_SHIFTED = Z_EROFS_COMPRESSION_MAX,
@@ -458,8 +457,7 @@ void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
int erofs_map_dev(struct super_block *sb, struct erofs_map_dev *dev);
int erofs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
u64 start, u64 len);
-int erofs_map_blocks(struct inode *inode,
- struct erofs_map_blocks *map, int flags);
+int erofs_map_blocks(struct inode *inode, struct erofs_map_blocks *map);
struct inode *erofs_iget(struct super_block *sb, erofs_nid_t nid);
int erofs_getattr(struct user_namespace *mnt_userns, const struct path *path,
struct kstat *stat, u32 request_mask,
--
2.19.1.6.gb485710b
On 2023/2/8 19:29, Jingbo Xu wrote:
> As new flags introduced, the corresponding print symbols for trace are
> not added accordingly. Add these missing print symbols for these flags.
>
> Also remove the print symbol for EROFS_GET_BLOCKS_RAW as it is going to
> be removed soon.
>
> Signed-off-by: Jingbo Xu <[email protected]>
> ---
> v2: remove print symbol for EROFS_GET_BLOCKS_RAW
> ---
> include/trace/events/erofs.h | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/include/trace/events/erofs.h b/include/trace/events/erofs.h
> index e095d36db939..cf4a0d28b178 100644
> --- a/include/trace/events/erofs.h
> +++ b/include/trace/events/erofs.h
> @@ -19,12 +19,17 @@ struct erofs_map_blocks;
> { 1, "DIR" })
>
> #define show_map_flags(flags) __print_flags(flags, "|", \
> - { EROFS_GET_BLOCKS_RAW, "RAW" })
Should we remove this in the next patch?
Otherwise it looks good to me.
Thanks,
Gao XIang
> + { EROFS_GET_BLOCKS_FIEMAP, "FIEMAP" }, \
> + { EROFS_GET_BLOCKS_READMORE, "READMORE" }, \
> + { EROFS_GET_BLOCKS_FINDTAIL, "FINDTAIL" })
>
> #define show_mflags(flags) __print_flags(flags, "", \
> - { EROFS_MAP_MAPPED, "M" }, \
> - { EROFS_MAP_META, "I" }, \
> - { EROFS_MAP_ENCODED, "E" })
> + { EROFS_MAP_MAPPED, "M" }, \
> + { EROFS_MAP_META, "I" }, \
> + { EROFS_MAP_ENCODED, "E" }, \
> + { EROFS_MAP_FULL_MAPPED, "F" }, \
> + { EROFS_MAP_FRAGMENT, "R" }, \
> + { EROFS_MAP_PARTIAL_REF, "P" })
>
> TRACE_EVENT(erofs_lookup,
>
On 2/9/23 10:29 AM, Gao Xiang wrote:
>
>
> On 2023/2/8 19:29, Jingbo Xu wrote:
>> As new flags introduced, the corresponding print symbols for trace are
>> not added accordingly. Add these missing print symbols for these flags.
>>
>> Also remove the print symbol for EROFS_GET_BLOCKS_RAW as it is going to
>> be removed soon.
>>
>> Signed-off-by: Jingbo Xu <[email protected]>
>> ---
>> v2: remove print symbol for EROFS_GET_BLOCKS_RAW
>> ---
>> include/trace/events/erofs.h | 13 +++++++++----
>> 1 file changed, 9 insertions(+), 4 deletions(-)
>>
>> diff --git a/include/trace/events/erofs.h b/include/trace/events/erofs.h
>> index e095d36db939..cf4a0d28b178 100644
>> --- a/include/trace/events/erofs.h
>> +++ b/include/trace/events/erofs.h
>> @@ -19,12 +19,17 @@ struct erofs_map_blocks;
>> { 1, "DIR" })
>> #define show_map_flags(flags) __print_flags(flags, "|", \
>> - { EROFS_GET_BLOCKS_RAW, "RAW" })
>
> Should we remove this in the next patch?
> Otherwise it looks good to me.
>
Okay I will update this in the next version.
--
Thanks,
Jingbo