summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--disk-utils/sfdisk.82
-rw-r--r--disk-utils/sfdisk.c17
2 files changed, 11 insertions, 8 deletions
diff --git a/disk-utils/sfdisk.8 b/disk-utils/sfdisk.8
index 8f905174f..029083fc9 100644
--- a/disk-utils/sfdisk.8
+++ b/disk-utils/sfdisk.8
@@ -74,7 +74,7 @@ together with \fB\-\-verify\fR.
.TP
.BR \-\-part\-attrs " " \fIdevice\fR " " \fIpartno\fR " "[\fIattrs\fR]
Change GPT partition attribute bits. If \fIattrs\fR no specified then print the current
-partition setting. The \fIattrs\fR is comma delimited list of bits. The currently
+partition setting. The \fIattrs\fR is comma or space delimited list of bits. The currently
supported attribute bits are: RequiredPartiton, NoBlockIOProtocol, LegacyBIOSBootable
and GUID specific bits in range from 48 to 63. For example string
"RequiredPartiton,50,51" sets three bits.
diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
index 83b9cf57f..1be40caad 100644
--- a/disk-utils/sfdisk.c
+++ b/disk-utils/sfdisk.c
@@ -1238,6 +1238,10 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv)
if (!created) { /* create a new disklabel */
rc = fdisk_apply_script_headers(sf->cxt, dp);
created = !rc;
+ if (rc)
+ fdisk_warnx(sf->cxt, _(
+ "Failed to apply script headers, "
+ "disk label not created."));
}
if (!rc && partno >= 0) { /* -N <partno>, modify partition */
rc = fdisk_set_partition(sf->cxt, partno, pa);
@@ -1248,7 +1252,7 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv)
rc = fdisk_add_partition(sf->cxt, pa, &cur_partno);
if (rc) {
errno = -rc;
- fdisk_warn(sf->cxt, _("failed to add partition"));
+ fdisk_warn(sf->cxt, _("Failed to add partition"));
}
}
@@ -1256,16 +1260,15 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv)
if (sf->interactive)
sfdisk_print_partition(sf, cur_partno);
next_partno = cur_partno + 1;
- } else if (pa) { /* error, drop partition from script */
+ } else if (pa) /* error, drop partition from script */
fdisk_table_remove_partition(tb, pa);
- if (rc == -ENOSPC) {
- rc = SFDISK_DONE_ASK;
- break;
- }
- }
} else
fdisk_info(sf->cxt, _("Script header accepted."));
+ if (rc && !sf->interactive) {
+ rc = SFDISK_DONE_ABORT;
+ break;
+ }
} while (1);
if (!sf->quiet && rc != SFDISK_DONE_ABORT) {