aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGao Xiang <hsiangkao@linux.alibaba.com>2023-04-03 16:38:19 +0800
committerGao Xiang <hsiangkao@linux.alibaba.com>2023-04-03 16:58:06 +0800
commit1ea619ec3d653dbda58bbf9fd6a31fd872ee70fb (patch)
treef994e962c2e9623cdecc1acc521ef9f220780149
parentcdb013f763194150774e1239b7583a548c711853 (diff)
downloaderofs-utils-1ea619ec3d653dbda58bbf9fd6a31fd872ee70fb.tar.gz
erofs-utils: fix nid lookup for packed inode
If inode->nid is less than 0, it should be unassigned as well. Reported-by: Jingbo Xu <jefflexu@linux.alibaba.com> Fixes: 21d84349e79a ("erofs-utils: rearrange on-disk metadata") Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> Link: https://lore.kernel.org/r/20230403083819.47453-1-hsiangkao@linux.alibaba.com
-rw-r--r--lib/inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/inode.c b/lib/inode.c
index 871968d..6861b99 100644
--- a/lib/inode.c
+++ b/lib/inode.c
@@ -272,7 +272,7 @@ erofs_nid_t erofs_lookupnid(struct erofs_inode *inode)
struct erofs_buffer_head *const bh = inode->bh;
erofs_off_t off, meta_offset;
- if (!bh || inode->nid)
+ if (!bh || (long long)inode->nid > 0)
return inode->nid;
erofs_mapbh(bh->block);