The previous function works well for the labels supporting naming partition, but not for these which don't. If the disk label does not support partition naming, two exceptions will be raised. Even after the first error indicates it does not support name, parted yet asks user for name in iteractive mode.
First check if the disk label supports partition naming and if it does, it will continue; otherwise, it will stop and raise an exception. Signed-off-by: Wang Dong <[email protected]> Signed-off-by: Hendrik Brueckner <[email protected]> --- parted/parted.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/parted/parted.c b/parted/parted.c index 0636e58..878068d 100644 --- a/parted/parted.c +++ b/parted/parted.c @@ -871,6 +871,13 @@ do_name (PedDevice** dev, PedDisk** diskp) if (!*diskp) goto error; + if (!ped_disk_type_check_feature((*diskp)->type, PED_DISK_TYPE_PARTITION_NAME)) { + ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, + _("%s disk labels do not support partition name."), + (*diskp)->type->name); + goto error; + } + if (!command_line_get_partition (_("Partition number?"), *diskp, &part)) goto error; -- 2.8.4

