This patch introduces a new configuration file parameter, POST_MKFS_CMD, which, when set, will run immediately it after the mkfs command for the FSTYP btrfs. For example: POST_MKFS_CMD="btrfstune -m" Currently, only btrfstune's '-m' option is tested. However, there may be more btrfstune options, so having this parameter as a config makes sense. Additionally, there can be other commands besides btrfstune. The mkfs helper functions in common/rc sends the SCRATCH_DEV as an argument to the set POST_MKFS_CMD, which may not be compatible with other commands. However, as of now, since those usecases are still unknown, we can modify it later. For now, I'm marking this as RFC, I'm open to feedback if any. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> --- common/rc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/common/rc b/common/rc index 5c4429ed0425..3e3c84259f38 100644 --- a/common/rc +++ b/common/rc @@ -667,6 +667,9 @@ _mkfs_dev() exit 1 fi rm -f $tmp.mkfserr $tmp.mkfsstd + if [[ -v POST_MKFS_CMD ]]; then + $POST_MKFS_CMD $(echo $* | $AWK_PROG '{print $1}') + fi } # remove all files in $SCRATCH_MNT, useful when testing on NFS/AFS/CIFS @@ -757,6 +760,9 @@ _scratch_mkfs() esac _scratch_do_mkfs "$mkfs_cmd" "$mkfs_filter" $* + if [[ -v POST_MKFS_CMD ]]; then + $POST_MKFS_CMD $SCRATCH_DEV + fi return $? } @@ -878,7 +884,11 @@ _scratch_pool_mkfs() { case $FSTYP in btrfs) - $MKFS_BTRFS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV_POOL > /dev/null + $MKFS_BTRFS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV_POOL + if [[ -v POST_MKFS_CMD ]]; then + $POST_MKFS_CMD $(echo $SCRATCH_DEV_POOL |\ + $AWK_PROG '{print $1}') + fi ;; *) echo "_scratch_pool_mkfs is not implemented for $FSTYP" 1>&2 -- 2.39.3