diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 2011-02-09 19:31:10 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2011-02-09 19:31:10 +0000 |
| commit | 8d5ac6c3cf5ba5b81660ce4018a27603456c47f6 (patch) | |
| tree | 627e7bdb7b8afc02d1de8f0896b95f20a0657fca /sys/dev/md | |
| parent | 278e79707e0b2f22fb52df40feb45bf11a44ef0f (diff) | |
Notes
Diffstat (limited to 'sys/dev/md')
| -rw-r--r-- | sys/dev/md/md.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index ee78dfe1d23a..1ed5b71db95d 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -1235,7 +1235,6 @@ static void g_md_init(struct g_class *mp __unused) { caddr_t mod; - caddr_t c; u_char *ptr, *name, *type; unsigned len; int i; @@ -1263,15 +1262,15 @@ g_md_init(struct g_class *mp __unused) continue; if (strcmp(type, "md_image") && strcmp(type, "mfs_root")) continue; - c = preload_search_info(mod, MODINFO_ADDR); - ptr = *(u_char **)c; - c = preload_search_info(mod, MODINFO_SIZE); - len = *(size_t *)c; - printf("%s%d: Preloaded image <%s> %d bytes at %p\n", - MD_NAME, mdunits, name, len, ptr); - sx_xlock(&md_sx); - md_preloaded(ptr, len); - sx_xunlock(&md_sx); + ptr = preload_fetch_addr(mod); + len = preload_fetch_size(mod); + if (ptr != NULL && len != 0) { + printf("%s%d: Preloaded image <%s> %d bytes at %p\n", + MD_NAME, mdunits, name, len, ptr); + sx_xlock(&md_sx); + md_preloaded(ptr, len); + sx_xunlock(&md_sx); + } } status_dev = make_dev(&mdctl_cdevsw, INT_MAX, UID_ROOT, GID_WHEEL, 0600, MDCTL_NAME); |
