diff -rupN -X /home/daniel_nfs/dontdiff linux-2.6.0-test1-mm2/init/do_mounts.c linux-2.6.0-test1-mm2.do_mounts/init/do_mounts.c --- linux-2.6.0-test1-mm2/init/do_mounts.c 2003-07-23 11:19:32.018914859 -0700 +++ linux-2.6.0-test1-mm2.do_mounts/init/do_mounts.c 2003-07-23 11:25:19.356002570 -0700 @@ -58,6 +58,7 @@ static dev_t __init try_name(char *name, char *s; int len; int fd; + unsigned int maj, min; /* read device number from .../dev */ @@ -70,8 +71,12 @@ static dev_t __init try_name(char *name, if (len <= 0 || len == 32 || buf[len - 1] != '\n') goto fail; buf[len - 1] = '\0'; - res = (dev_t) simple_strtoul(buf, &s, 16); - if (*s) + /* + * The format of dev is now %u:%u -- see print_dev_t() + */ + if (sscanf(buf, "%u:%u", &maj, &min) == 2) + res = MKDEV(maj, min); + else goto fail; /* if it's there and we are not looking for a partition - that's it */