diff options
author | Gao Xiang <hsiangkao@linux.alibaba.com> | 2023-04-03 16:38:19 +0800 |
---|---|---|
committer | Gao Xiang <hsiangkao@linux.alibaba.com> | 2023-04-03 16:58:06 +0800 |
commit | 1ea619ec3d653dbda58bbf9fd6a31fd872ee70fb (patch) | |
tree | f994e962c2e9623cdecc1acc521ef9f220780149 | |
parent | cdb013f763194150774e1239b7583a548c711853 (diff) | |
download | erofs-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.c | 2 |
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); |