From b87b6870f81c66b34c6eab1857f642b66b68c114 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Fri, 9 May 2014 14:32:12 +0200 Subject: [PATCH] When auto-formatting ext devices, use the -F flag to make it work with unpartioned disks --- nixos/modules/tasks/filesystems.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 954d0b0781f7..d350bc1b5d0e 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -187,6 +187,8 @@ in let mountPoint' = escapeSystemdPath fs.mountPoint; device' = escapeSystemdPath fs.device; + # -F needed to allow bare block device without partitions + mkfsOpts = optional ((builtins.substring 0 3 fs.fsType) == "ext") "-F"; in nameValuePair "mkfs-${device'}" { description = "Initialisation of Filesystem ${fs.device}"; wantedBy = [ "${mountPoint'}.mount" ]; @@ -201,7 +203,7 @@ in type=$(blkid -p -s TYPE -o value "${fs.device}" || true) if [ -z "$type" ]; then echo "creating ${fs.fsType} filesystem on ${fs.device}..." - mkfs.${fs.fsType} "${fs.device}" + mkfs.${fs.fsType} ${concatStringsSep " " mkfsOpts} "${fs.device}" fi ''; unitConfig.RequiresMountsFor = [ "${dirOf fs.device}" ];