NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-amd64/54776: install media does not contain support for LVM



The following reply was made to PR port-amd64/54776; it has been noted by GNATS.

From: Tomohiro Kusumi <kusumi.tomohiro%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: port-amd64-maintainer%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, 
	netbsd-bugs%netbsd.org@localhost, hvozda%ack.org@localhost
Subject: Re: port-amd64/54776: install media does not contain support for LVM
Date: Fri, 20 Dec 2019 00:01:59 +0900

 2019=E5=B9=B412=E6=9C=8819=E6=97=A5(=E6=9C=A8) 17:25 Martin Husemann <marti=
 n%duskware.de@localhost>:
 >
 > The following reply was made to PR port-amd64/54776; it has been noted by=
  GNATS.
 >
 > From: Martin Husemann <martin%duskware.de@localhost>
 > To: "Eric S. Hvozda" <hvozda%ack.org@localhost>
 > Cc: gnats-bugs%netbsd.org@localhost
 > Subject: Re: port-amd64/54776: install media does not contain support for=
  LVM
 > Date: Thu, 19 Dec 2019 09:20:18 +0100
 >
 >  On Wed, Dec 18, 2019 at 10:09:17PM -0500, Eric S. Hvozda wrote:
 >  >
 >  > > On Dec 18, 2019, at 12:45 PM, Martin Husemann <martin%duskware.de@localhost> w=
 rote:
 >  > >
 >  > > My bet would be missing /dev device nodes.
 >  >
 >  > I will check this tomorrow and report back...
 >
 >  I looked, and they seem to be created on demand by the userland tools
 >  (and not MAKEDEV, which is invoked differently for the /dev-on-tmpfs set=
 up
 >  the ISO uses).
 
 It looks to me that _create_control() somehow failed in your
 situation. I suspect nbsd_get_dm_major() code which gets called by
 _control_device_number() to determine major#.
 Note that these functions are NetBSD specific part in lvm2 code.
 
 external/gpl2/lvm2/dist/libdm/ioctl/libdm-nbsd-iface.c
  ...
  198 /* Open control device if doesn't exist create it. */
  199 static int _open_control(void)
  200 {
  201         char control[PATH_MAX];
  202         uint32_t major =3D 0, minor =3D 0;
  203
  204         if (_control_fd !=3D -1)
  205                 return 1;
  206
  207 #ifdef RUMP_ACTION
  208         rump_init();
  209 #endif
  210         snprintf(control, sizeof(control), "%s/control", dm_dir());
  211
  212         if (!_control_device_number(&major, &minor))
  213                 log_error("Is device-mapper driver missing from kernel=
 ?");
  214
  215         if (!_control_exists(control, major, minor) &&
  216             !(control, major, minor)) <-------- here
  217                 goto error;
  218
  219         if ((_control_fd =3D open(control, O_RDWR)) < 0) {
  220                 log_sys_error("open", control);
  221                 goto error;
  222         }
  223
  224         return 1;
  225
  226 error:
  227         log_error("Failure to communicate with kernel
 device-mapper driver.");
  228         return 0;
 
 >
 >  Need to dig deeper...
 >
 >  Martin
 >
 


Home | Main Index | Thread Index | Old Index