Bug#452674: Relies on devfs compatibility
Martin Michlmayr <[EMAIL PROTECTED]> writes: > The following patch works for me. I tested with zero, one and two > disks. The patch looks OK .. please commit and upload it :-) -- O T A V I OS A L V A D O R - E-mail: [EMAIL PROTECTED] UIN: 5906116 GNU/Linux User: 239058 GPG ID: 49A5F855 Home Page: http://otavio.ossystems.com.br - "Microsoft sells you Windows ... Linux gives you the whole house." -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#452674: Relies on devfs compatibility
Martin Michlmayr <[EMAIL PROTECTED]> writes: > The following patch works for me. I tested with zero, one and two > disks. Cool. Could you commit and upload it? -- O T A V I OS A L V A D O R - E-mail: [EMAIL PROTECTED] UIN: 5906116 GNU/Linux User: 239058 GPG ID: 49A5F855 Home Page: http://otavio.ossystems.com.br - "Microsoft sells you Windows ... Linux gives you the whole house." -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#452674: Relies on devfs compatibility
* Martin Michlmayr <[EMAIL PROTECTED]> [2007-11-24 15:41]: > The following patch works for me. I tested with zero, one and two > disks. The patch looks pretty obvious and works for me, but I'd appreciate it if someone who actually knows C would review it. -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#452674: Relies on devfs compatibility
On Saturday 24 November 2007, Martin Michlmayr wrote: > * Martin Michlmayr <[EMAIL PROTECTED]> [2007-11-24 15:41]: > > The following patch works for me. I tested with zero, one and two > > disks. > > The patch looks pretty obvious and works for me, but I'd appreciate it > if someone who actually knows C would review it. I probably know less C than you do, but after comparing it with somewhat similar code in choose-mirror, no problems with the patch jump out at me. signature.asc Description: This is a digitally signed message part.
Bug#452674: Relies on devfs compatibility
The following patch works for me. I tested with zero, one and two disks. Index: main.c === --- main.c (revision 50232) +++ main.c (working copy) @@ -24,44 +24,28 @@ return PED_EXCEPTION_CANCEL; } -/* NOTE: - * DO NOT base new code in other parts of d-i on this function: it will not - * work when using udev without devfs compatibility. New code should use - * 'list-devices disk' from the shell instead. - */ static int get_all_disks(PedDevice *discs[], int max_disks) { - DIR *devdir; - struct dirent *direntry; + FILE *fp; + char buf[1024]; int disk_count = 0; - devdir = opendir("/dev/discs"); - if(devdir == NULL) { - di_log(DI_LOG_LEVEL_ERROR, "Failed to open disc directory"); + fp = popen("list-devices disk", "r"); + if (fp == NULL) { + di_log(DI_LOG_LEVEL_ERROR, "Failed to list disks"); return(0); } - - while((direntry = readdir(devdir)) != NULL) { - char *fullname = NULL; + while (fgets(buf, sizeof(buf), fp) != NULL) { PedDevice *dev; - - if(direntry->d_name[0] == '.') - continue; - + if (buf[strlen(buf) - 1] == '\n') + buf[strlen(buf) - 1] = '\0'; if (disk_count >= max_disks) { di_log(DI_LOG_LEVEL_INFO, "More than %d discs", max_disks); break; } - - asprintf(&fullname, "%s/%s/%s", "/dev/discs", - direntry->d_name, "disc"); - - if ((dev = ped_device_get(fullname)) && !dev->read_only) + if ((dev = ped_device_get(buf)) && !dev->read_only) discs[disk_count++] = dev; - free(fullname); } - - closedir(devdir); - + fclose(fp); return(disk_count); } -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#452674: Relies on devfs compatibility
Package: partitioner Version: 0.41 Severity: serious partitioner relies on udev with devfs compatibility which we recently removed. I now get: Nov 24 12:59:47 partitioner.postinst[5647]: ERROR **: Failed to open disc directory Nov 24 12:59:47 main-menu[764]: WARNING **: Configuring 'partitioner' failed with error code 1 -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]