From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 19:31:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F595106566C; Wed, 9 Feb 2011 19:31:11 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F29358FC15; Wed, 9 Feb 2011 19:31:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p19JVADr095007; Wed, 9 Feb 2011 19:31:10 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19JVAqh095005; Wed, 9 Feb 2011 19:31:10 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201102091931.p19JVAqh095005@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 9 Feb 2011 19:31:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218495 - head/sys/dev/md X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 19:31:11 -0000 Author: marcel Date: Wed Feb 9 19:31:10 2011 New Revision: 218495 URL: http://svn.freebsd.org/changeset/base/218495 Log: Use the preload_fetch_addr() and preload_fetch_size() convenience functions and only create the MD device when we have a non-zero pointer and size. Sponsored by: Juniper Networks Modified: head/sys/dev/md/md.c Modified: head/sys/dev/md/md.c ============================================================================== --- head/sys/dev/md/md.c Wed Feb 9 19:08:21 2011 (r218494) +++ head/sys/dev/md/md.c Wed Feb 9 19:31:10 2011 (r218495) @@ -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);