Hi Hongbo,

On 2025/6/3 11:08, Hongbo Li wrote:
From: Gao Xiang <hsiang...@linux.alibaba.com>

The timestamp of the packed inode should be fixed to the build time.

Fixes: 9fa9b017f773 ("erofs-utils: mkfs: support fragments")
Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com>
[hongbo: minor adjust]
Signed-off-by: Hongbo Li <lihongb...@huawei.com>
---
change since v2:
  - compare path with strcmp;

change since v1:
  - fix time assignment (assign `i_mtime_nsec` too) [Hongbo];
---
  lib/inode.c | 9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/inode.c b/lib/inode.c
index 108aa9e..46eb686 100644
--- a/lib/inode.c
+++ b/lib/inode.c
@@ -929,7 +929,8 @@ static bool erofs_should_use_inode_extended(struct 
erofs_inode *inode)
                return true;
        if (inode->i_nlink > USHRT_MAX)
                return true;
-       if ((inode->i_mtime != inode->sbi->build_time ||
+       if (strcmp(inode->i_srcpath, EROFS_PACKED_INODE) &&

EROFS_PACKED_INODE is a hard-coded pointer rather than
a real path name that should be compared in the string.

Otherwise, the same path name could be matched but
that is unexpected.

Thanks,
Gao Xiang

Reply via email to