diff options
author | trasz <trasz@FreeBSD.org> | 2008-12-16 20:59:27 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2008-12-16 20:59:27 +0000 |
commit | 4039bb7c824968c46ec054cb3ea586cc81de6623 (patch) | |
tree | 7d64d56a3eaa358349b9bf55cb832b1c8cd01c3a /sys | |
parent | a69ce4ce83e926af1a998bb93813a262c5edff91 (diff) | |
download | FreeBSD-src-4039bb7c824968c46ec054cb3ea586cc81de6623.zip FreeBSD-src-4039bb7c824968c46ec054cb3ea586cc81de6623.tar.gz |
Fix forced mdconfig -du. E.g. the following would previously
result in panic:
mdconfig -af blah.img -o force
mount /dev/md0 /mnt
mdconfig -du 0
Reviewed by: scottl
Approved by: rwatson (mentor)
Sponsored by: FreeBSD Foundation
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/md/md.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index f4230a2..bb9e64b 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -374,8 +374,11 @@ g_md_access(struct g_provider *pp, int r, int w, int e) struct md_s *sc; sc = pp->geom->softc; - if (sc == NULL) + if (sc == NULL) { + if (r <= 0 && w <= 0 && e <= 0) + return (0); return (ENXIO); + } r += pp->acr; w += pp->acw; e += pp->ace; |