Signed-off-by: Allison Henderson <allison.henderson@xxxxxxxxxx> --- mkfs/xfs_mkfs.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 78d0ce5..554e1bf 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -129,6 +129,7 @@ enum { M_UUID, M_RMAPBT, M_REFLINK, + M_PARENT, M_MAX_OPTS, }; @@ -663,6 +664,7 @@ struct opt_params mopts = { [M_UUID] = "uuid", [M_RMAPBT] = "rmapbt", [M_REFLINK] = "reflink", + [M_PARENT] = "parent", }, .subopt_params = { { .index = M_CRC, @@ -693,6 +695,13 @@ struct opt_params mopts = { .maxval = 1, .defaultval = 1, }, + { .index = M_PARENT, + .conflicts = { {NULL, LAST_CONFLICT } }, + .minval = 0, + .maxval = 1, + .defaultval = 0, + }, + }, }; @@ -865,7 +874,7 @@ usage( void ) { fprintf(stderr, _("Usage: %s\n\ /* blocksize */ [-b size=num]\n\ -/* metadata */ [-m crc=0|1,finobt=0|1,uuid=xxx,rmapbt=0|1,reflink=0|1]\n\ +/* metadata */ [-m crc=0|1,finobt=0|1,uuid=xxx,rmapbt=0|1,reflink=0|1,parent=0|1]\n\ /* data subvol */ [-d agcount=n,agsize=n,file,name=xxx,size=num,\n\ (sunit=value,swidth=value|su=num,sw=num|noalign),\n\ sectsize=num\n\ @@ -1586,6 +1595,9 @@ meta_opts_parser( case M_REFLINK: cli->sb_feat.reflink = getnum(value, opts, subopt); break; + case M_PARENT: + cli->sb_feat.parent_pointers = getnum(value, &mopts, M_PARENT); + break; default: return -EINVAL; } @@ -2887,6 +2899,8 @@ sb_set_features( sbp->sb_features_ro_compat |= XFS_SB_FEAT_RO_COMPAT_RMAPBT; if (fp->reflink) sbp->sb_features_ro_compat |= XFS_SB_FEAT_RO_COMPAT_REFLINK; + if (fp->parent_pointers) + sbp->sb_features_ro_compat |= XFS_SB_FEAT_RO_COMPAT_PARENT; /* * Sparse inode chunk support has two main inode alignment requirements. -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html