Description of problem: 1. For sgdisk, -t, --typecode=partnum:{hexcode|GUID}, it can accept hexcode as input For guestfish, we'd better update the helpout of part-set-gpt-type according to sgdisk, tells that hexcode is valid, command does not return error. 2. If gives a non-guid format value, sgdisk will give a default guid, like: # sgdisk /dev/sdb -t 1:f Exact type match not found for type code 000F; assigning type code for 'Linux filesystem' For part-set-gpt-type, if gives a non-guid format value for gpt, the default value is returned, it's equal to mbr's guid (0FC63DAF-8483-4772-8E79-3D69D8477DE4). it does not match gpt, we also need update helpout for this Version-Release number of selected component (if applicable): libguestfs-1.22.6-8.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1. check for mbr ><fs> part-disk /dev/sda mbr ><fs> part-get-gpt-type /dev/sda 1 0FC63DAF-8483-4772-8E79-3D69D8477DE4 2. check for gpt ><fs> part-disk /dev/sda gpt ><fs> part-get-gpt-type /dev/sda 1 EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 3. set an invalid guid for gpt ><fs> part-set-gpt-type /dev/sda 1 f ><fs> part-get-gpt-type /dev/sda 1 0FC63DAF-8483-4772-8E79-3D69D8477DE4 Actual result: Expect result: Additional info:
Reassigning to Matt who wrote the code and uses the API. https://github.com/libguestfs/libguestfs/blob/7c535c501b1ce131ae98dd948b22fc260d659d1b/daemon/parted.c#L761 Matt: Should we check if the guid parameter is invalid and bail out?
I'd say yes. That way we're less likely to be affected by changes in the behaviour of gdisk.
This has been fixed with the following commits: https://github.com/libguestfs/libguestfs/commit/beef77403cd9d634b6ff6daa9f33d292e2d320a7 https://github.com/libguestfs/libguestfs/commit/b10dd601fb07eb3d8bf76b5f9fcac1c7fe59d4d5 https://github.com/libguestfs/libguestfs/commit/775cad63a3f2156b38e7d8360b88ed11615779e8 https://github.com/libguestfs/libguestfs/commit/a948389ce9c76bf7e8997bb27f3daac06cb20c50 which are in libguestfs >= 1.25.34.
Koji build underway: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=7027095
Verified with libguestfs-1.22.6-20.el7.x86_64 Check valid GUID value ><fs> part-get-gpt-type /dev/sda 1 EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 Check invalid GUID value ><fs> part-set-gpt-type /dev/sda 1 f libguestfs: error: part_set_gpt_type: guid: parameter is not a valid GUID It gives a clear error message, so bug is fixed.
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request.