* hard-link, just return it. Also don't lookup for directories
* since hard-link directory isn't allowed.
*/
- if (!S_ISDIR(st.st_mode)) {
+ if (!S_ISDIR(st.st_mode) && (!cfg.c_hard_dereference)) {
inode = erofs_iget(st.st_dev, st.st_ino);
if (inode)
return inode;
{"mkfs-time", no_argument, NULL, 525},
{"all-time", no_argument, NULL, 526},
{"sort", required_argument, NULL, 527},
+ {"hard-dereference", no_argument, NULL, 528},
{0, 0, 0, 0},
};
" --force-gid=# set all file gids to # (# = GID)\n"
" --uid-offset=# add offset # to all file uids (# = id offset)\n"
" --gid-offset=# add offset # to all file gids (# = id offset)\n"
+ " --hard-dereference dereference hardlinks, add links as separate inodes\n"
" --ignore-mtime use build time instead of strict per-file modification time\n"
" --max-extent-bytes=# set maximum decompressed extent size # in bytes\n"
" --mount-point=X X=prefix of target fs path (default: /)\n"
if (!strcmp(optarg, "none"))
erofstar.try_no_reorder = true;
break;
+ case 528:
+ cfg.c_hard_dereference = true;
+ break;
case 'V':
version();
exit(0);