From nimrodm@bezeqint.net  Sat Aug 11 06:53:50 2001
Return-Path: <nimrodm@bezeqint.net>
Received: from m2.bezeqint.net (m2.bezeqint.net [192.115.106.47])
	by hub.freebsd.org (Postfix) with ESMTP id 84F6037B407
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 11 Aug 2001 06:53:49 -0700 (PDT)
	(envelope-from nimrodm@bezeqint.net)
Received: from bsd.net.il (bzq-148-87.pop.bezeqint.net [212.179.148.87])
	by m2.bezeqint.net (Mirapoint)
	with ESMTP id AEW96784;
	Sat, 11 Aug 2001 16:53:34 +0300 (IDT)
Received: (from nimrodm@localhost)
	by bsd.net.il (8.11.5/8.9.3) id f7BDmhZ14384;
	Sat, 11 Aug 2001 16:48:43 +0300 (IDT)
	(envelope-from nimrodm)
Message-Id: <200108111348.f7BDmhZ14384@bsd.net.il>
Date: Sat, 11 Aug 2001 16:48:43 +0300 (IDT)
From: Nimrod Mesika <nimrodm@email.com>
Reply-To: Nimrod Mesika <nimrodm@email.com>
To: FreeBSD-gnats-submit@freebsd.org
Subject: kernel prints "bmaj but is not a boot disk" for isdn4bsd devices
X-Send-Pr-Version: 3.113

>Number:         29624
>Category:       kern
>Synopsis:       kernel prints "bmaj but is not a boot disk" for isdn4bsd devices
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug 11 07:00:01 PDT 2001
>Closed-Date:    Mon Nov 19 06:27:08 PST 2001
>Last-Modified:  Mon Nov 19 06:28:02 PST 2001
>Originator:     Nimrod Mesika
>Release:        FreeBSD 4.4-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD localhost.bsd.net.il 4.4-PRERELEASE FreeBSD 4.4-PRERELEASE #1: Sat Aug 11 17:21:43 IDT 2001 root@:/usr/obj/usr/src/sys/MYKERNEL i386
>Description:
  When using isdn4bsd, FreeBSD displays the following message during the boot
  process: "i4bctl": bmaj but is not a disk This message is displayed for each
  isdn4bsd devices selected at kernel compile time (i4b, i4btel, etc.) 
  The reason is that 'struct cdevsw' is declared differently in i4b and
  the FreeBSD kernel.

>How-To-Repeat:
  Just configure i4b, compile it with the kernel and reboot...

>Fix:
  Haven't tried this myself BUT take a look at:
  /sys/i4b/driver/i4b_ctl.c (lines 107 to 121):
  static struct cdevsw i4bctl_cdevsw = {
    /* open */      i4bctlopen,
    /* close */     i4bctlclose,
    /* read */      noread,
    /* write */     nowrite,
    /* ioctl */     i4bctlioctl,
    /* poll */      POLLFIELD,
    /* mmap */      nommap,
    /* strategy */  nostrategy,
    /* name */      "i4bctl",
    /* maj */       CDEV_MAJOR,
    /* dump */      nodump,
    /* psize */     nopsize,
    /* flags */     0,
  };
  .. and ..
  /sys/sys/conf.h (lines 159 to 176):
  struct cdevsw {
    d_open_t    *d_open;
    d_close_t   *d_close;
    d_read_t    *d_read;
    d_write_t   *d_write;
    d_ioctl_t   *d_ioctl;
    d_poll_t    *d_poll;
    d_mmap_t    *d_mmap;
    d_strategy_t    *d_strategy;
    const char  *d_name;    /* base device name, e.g. 'vn' */
    int     d_maj;
    d_dump_t    *d_dump;
    d_psize_t   *d_psize;
    u_int       d_flags;
    int     d_bmaj;
    /* additions below are not binary compatible with 4.2 and below */
    d_kqfilter_t    *d_kqfilter;
  };
  The two last entries (d_bmaj and d_kqfilter) are missing from the
  initializer of i4b_ctl (and probably other i4b devices). The first
  field is the one responsible for the "not a disk" message (printed
  by /sys/kern/kern_conf.c:110).
  

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: hm 
State-Changed-When: Mon Nov 19 06:27:08 PST 2001 
State-Changed-Why:  
This has been fixed for 4.4-RELEASE. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=29624 
>Unformatted:
