Hi again,
After looking at the sources more carefully, it was noted that ped_disk_commit() just calls two other functions, ped_disk_commit_to_dev() and ped_disk_commit_to_os(). The latter causes the kernel to re-read the partition table, causing a hang if swap is active. Since we are not modifying the partition table during filesystem creation, re-reading isn't necessary, and calling ped_disk_commit_to_dev() works fine with active swap. So, the only modification necessary to resolve the problem is the following change to parted_server.c:
--- partman-61/parted_server.c 2004-09-28 20:08:40.000000000 -0400
+++ partman/parted_server.c 2004-12-12 22:40:09.902803304 -0500
@@ -1621,7 +1621,10 @@
critical_error("Bad file system type: %s", s_fstype);
ped_partition_set_system(part, fstype);
deactivate_exception_handler();
- fs = timered_file_system_create(&(part->geom), fstype);
+ if ((fs = timered_file_system_create(&(part->geom), fstype)) != NULL) {
+ ped_file_system_close(fs);
+ ped_disk_commit_to_dev(disk);
+ }
activate_exception_handler();
oprintf("OK\n");
if (fs != NULL)Thanks to Thiemo Seufer for helping out with debugging.
Best regards,
Jurij Smakov [EMAIL PROTECTED] Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

