argv[4] = "ro";
argv[5] = NULL;
- if (pb_run_cmd(argv))
- argv[3] = NULL; /* try without ro */
+ if (pb_run_cmd(argv, 1)) {
- if (pb_run_cmd(argv))
- goto out_rmdir;
+ /* Retry mount without ro option. */
+
+ argv[0] = MOUNT_BIN;
+ argv[1] = ctx->device_path;
+ argv[2] = ctx->mount_path;
+ argv[3] = NULL;
+
+ if (pb_run_cmd(argv, 1))
+ goto out_rmdir;
+ }
setup_device_links(ctx);
return 0;
ctx->id = talloc_strdup(ctx, event->device);
devname = event_get_param(ctx->event, "DEVNAME");
- if (!devname) {
- pb_log("no devname for %s?\n", event->device);
- return 0;
- }
-
+ assert(devname);
ctx->device_path = talloc_strdup(ctx, devname);
rc = mount_device(ctx);