--- vfs_mount.c.orig 2010-03-12 13:02:33.000000000 +0100 +++ vfs_mount.c 2010-03-12 13:56:04.000000000 +0100 @@ -1648,6 +1648,12 @@ options = NULL; + static int mountroot_wait_delay = 5000; + TUNABLE_INT_FETCH("hw.mountroot_wait_delay", &mountroot_wait_delay); + int mysec = mountroot_wait_delay / hz; + printf("Waiting %d seconds for devices to settle.\n", mysec); + pause("Waiting for devices to settle", mountroot_wait_delay); + root_mount_prepare(); mount_zone = uma_zcreate("Mountpoints", sizeof(struct mount), @@ -2492,3 +2498,4 @@ error = kernel_mount(ma, flags); return (error); } +