summaryrefslogtreecommitdiff
path: root/src/helpers/job-mkfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/job-mkfs.c')
-rw-r--r--src/helpers/job-mkfs.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/helpers/job-mkfs.c b/src/helpers/job-mkfs.c
index 8e4dce2..62cdfff 100644
--- a/src/helpers/job-mkfs.c
+++ b/src/helpers/job-mkfs.c
@@ -337,6 +337,51 @@ main (int argc,
command_line = g_string_free (s, FALSE);
}
+ else if (strcmp (fstype, "nilfs2") == 0)
+ {
+
+ s = g_string_new ("mkfs.nilfs2");
+ for (n = 0; options[n] != NULL; n++)
+ {
+ if (g_str_has_prefix (options[n], "label="))
+ {
+ label = strdup (options[n] + sizeof("label=") - 1);
+ if (!validate_and_escape_label (&label, 80))
+ {
+ g_string_free (s, TRUE);
+ goto out;
+ }
+ g_string_append_printf (s, " -L \"%s\"", label);
+ g_free (label);
+ label = NULL;
+ }
+ else if (g_str_has_prefix (options[n], "take_ownership_uid="))
+ {
+ take_ownership_uid = strtol (options[n] + sizeof("take_ownership_uid=") - 1, &endp, 10);
+ if (endp == NULL || *endp != '\0')
+ {
+ g_printerr ("option %s is malformed\n", options[n]);
+ goto out;
+ }
+ }
+ else if (g_str_has_prefix (options[n], "take_ownership_gid="))
+ {
+ take_ownership_gid = strtol (options[n] + sizeof("take_ownership_gid=") - 1, &endp, 10);
+ if (endp == NULL || *endp != '\0')
+ {
+ g_printerr ("option %s is malformed\n", options[n]);
+ goto out;
+ }
+ }
+ else
+ {
+ g_printerr ("option %s not supported\n", options[n]);
+ goto out;
+ }
+ }
+ g_string_append_printf (s, " %s", device);
+ command_line = g_string_free (s, FALSE);
+ }
else if (strcmp (fstype, "swap") == 0)
{