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
2019年12月19日(木) 17:25 Martin Husemann <martin%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> wrote:
> > >
> > > 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 setup
> 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 = 0, minor = 0;
203
204 if (_control_fd != -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 = 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