diff options
| author | Sheng-Liang Eric Zhang <Shengliang.Zhang@Sun.COM> | 2010-05-05 12:10:59 +0800 |
|---|---|---|
| committer | Sheng-Liang Eric Zhang <Shengliang.Zhang@Sun.COM> | 2010-05-05 12:10:59 +0800 |
| commit | 589271a44eaf1e2b6b05d80b025dc8b94e009aef (patch) | |
| tree | bf476e2d8664fd8f8453179d050cced78c9a4602 /usr/src/cmd/format/misc.c | |
| parent | 40764c95159232b912f6f16cb1fb1a41897fb0a7 (diff) | |
| download | illumos-joyent-589271a44eaf1e2b6b05d80b025dc8b94e009aef.tar.gz | |
6944423 'format' need identify the name scheme of emc powerpath driver in x86 platform
Diffstat (limited to 'usr/src/cmd/format/misc.c')
| -rw-r--r-- | usr/src/cmd/format/misc.c | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/usr/src/cmd/format/misc.c b/usr/src/cmd/format/misc.c index 55ca2e80a8..785bf642bf 100644 --- a/usr/src/cmd/format/misc.c +++ b/usr/src/cmd/format/misc.c @@ -19,8 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. + * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. */ /* @@ -674,6 +673,40 @@ conventional_name(char *name) return (*name == 0); } +#ifdef i386 +/* + * Return true if a device name match the emc powerpath name scheme: + * emcpowerN[a-p,p0,p1,p2,p3,p4] + */ +int +emcpower_name(char *name) +{ + char *emcp = "emcpower"; + char *devp = "/dev/dsk"; + char *rdevp = "/dev/rdsk"; + + if (strncmp(devp, name, strlen(devp)) == 0) { + name += strlen(devp) + 1; + } else if (strncmp(rdevp, name, strlen(rdevp)) == 0) { + name += strlen(rdevp) + 1; + } + if (strncmp(emcp, name, strlen(emcp)) == 0) { + name += strlen(emcp); + if (isdigit(*name)) { + skip_digits(name); + if ((*name >= 'a') && (*name <= 'p')) { + name ++; + if ((*name >= '0') && (*name <= '4')) { + name++; + } + } + return (*name == '\0'); + } + } + return (0); +} +#endif + /* * Return true if a device name matches the intel physical name conventions * for the particular system. |
