Only match raw devices. Only match against the char major as extracted
from the kernel. Prevents aliasing nwt0 and rwd0e. OK haad@
This commit is contained in:
parent
29e22ac027
commit
c954cd0eee
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: dev-cache.c,v 1.2 2008/12/22 00:56:58 haad Exp $ */
|
||||
/* $NetBSD: dev-cache.c,v 1.3 2009/10/16 21:00:41 joerg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
|
||||
|
@ -435,11 +435,14 @@ static int _insert(const char *path, int rec)
|
|||
* raw and block. I can insert only existing
|
||||
* raw and block device.
|
||||
*/
|
||||
if (nbsd_check_dev(MAJOR(info.st_rdev),path) < 0) {
|
||||
log_debug("%s: Not a block device.", path);
|
||||
if (S_ISBLK(info.st_mode)) {
|
||||
log_debug("%s: Not a raw device", path);
|
||||
return_0;
|
||||
}
|
||||
if (nbsd_check_dev(MAJOR(info.st_rdev),path) < 0) {
|
||||
log_debug("%s: Not a known raw device", path);
|
||||
return_0;
|
||||
}
|
||||
|
||||
#else
|
||||
if (!S_ISBLK(info.st_mode))
|
||||
log_debug("%s: Not a block device", path);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: dev.c,v 1.1 2008/12/22 00:56:59 haad Exp $ */
|
||||
/* $NetBSD: dev.c,v 1.2 2009/10/16 21:00:41 joerg Exp $ */
|
||||
|
||||
/*
|
||||
* NetBSD specific device routines are added to this file.
|
||||
|
@ -61,11 +61,7 @@ nbsd_check_dev(int major, const char *path)
|
|||
if (kd[i].d_cmajor != -1 && kd[i].d_bmajor != -1) {
|
||||
|
||||
if (kd[i].d_cmajor == major)
|
||||
return kd[i].d_bmajor;
|
||||
|
||||
if (kd[i].d_bmajor == major)
|
||||
return kd[i].d_cmajor;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return LVM_FAILURE;
|
||||
|
|
Loading…
Reference in New Issue