Description of problem: * A user interrupts guestfs_launch() with Ctrl-C while febootstrap-supermin-helper is in the process of creating a new cached appliance * The cache now contains a corrupt appliance * The user runs guestfs_launch() again some time later. * libguestfs doesn't detect the corrupt appliance and fails to launch. The only way to recover from this situation is for the user to manually delete the cache directory. Suggested pseudo code: check for /tmp/<checksum> if it exists, use it create /tmp/<checksum>.XXXXXX create appliance in temp directory rename /tmp/<checksum>.XXXXXX to /tmp/<checksum> if rename failed, check for existence of /tmp/<checksum> (again) if it exists, use it exit with an error about rename This would have the added advantage of fixing a race condition where 2 instances of libguestfs are simultaneously creating a new appliance cache for the same user. Version-Release number of selected component (if applicable): 1.5.20
Your fix has been included in libguestfs 1.5.25: http://git.annexia.org/?p=libguestfs.git;a=shortlog;h=1.5.25 and in febootstrap 2.10: http://git.annexia.org/?p=febootstrap.git;a=shortlog;h=2.10 Can you confirm that these completely fix the problem as described above?
Ping?
Yes, it fixed the above problem.
Thanks! Closing as per comment 3.