| Summary: | [gmirror] Removing all providers create a "zombie" mirror | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Kena <kena> |
| Component: | kern | Assignee: | Andrey V. Elsukov <ae> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 7.0-STABLE | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
Kena
2008-03-04 19:50:01 UTC
Hi, additional note: after rebooting the system, after running "gmirror load" the message GEOM_MIRROR: Device "test1" is destroyed. is printed, then the system hangs. Responsible Changed From-To: freebsd-bugs->freebsd-geom Over to maintainer(s). State Changed From-To: open->feedback Please provide output of `gmirror list' Hi,
since the two aforementioned disks (da0 and da1) are now in production
elsewhere, I am repeating the test with ggate. I believe the results
are similar as in my previous report.
0. for i in 0 1; do dd if=/dev/zero of=d$i bs=1024 count=100k; ggatel
create d$i; done
1. gmirror label -h test1 ggate0 ggate1; gmirror list
Geom name: test1
State: COMPLETE
Components: 2
Balance: split
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 538186880
Providers:
1. Name: mirror/test1
Mediasize: 104857088 (100M)
Sectorsize: 512
Mode: r0w0e0
Consumers:
1. Name: ggate0
Mediasize: 104857600 (100M)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: NONE
GenID: 0
SyncID: 1
ID: 731206240
2. Name: ggate1
Mediasize: 104857600 (100M)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Priority: 1
Flags: NONE
GenID: 0
SyncID: 1
ID: 501776423
At this point dmesg reports:
GEOM_MIRROR: Device mirror/test1 launched (2/2).
2. gmirror remove test1 ggate1 ; gmirror insert test1 ggate1 ; gmirror
remove test1 ggate0; gmirror list
(no output from gmirror list)
At this point dmesg reports:
GEOM_MIRROR: Device test1: provider ggate1 destroyed.
GEOM_MIRROR: Device test1: rebuilding provider ggate1.
GEOM_MIRROR: Device test1: provider ggate0 destroyed.
GEOM_MIRROR: Device test1: provider mirror/test1 destroyed.
GEOM_MIRROR: Device test1: rebuilding provider ggate1 stopped.
GEOM_MIRROR: Synchronization request failed (error=6).
ggate1[WRITE(offset=917504, length=131072)]
GEOM_MIRROR: Device test1: provider ggate1 disconnected.
GEOM_MIRROR: Device test1 destroyed.
3. (intending to "re-activate" the mirror from provider ggate0, which
should be "clean"):
# gmirror rebuild test1 ggate0
gmirror: No such device: test1.
# gmirror activate test1 ggate0
Cannot read metadata from ggate0: Invalid argument.
gmirror: Not fully done.
(note: gmirror label was done with -h, so I would expect that the
metadata is there?)
4. Rebooting the system (for a fresh start), then
# ggatel create d0; ggatel create d1; gmirror load
<prompt does not return>
On the console, dmesg reports:
GEOM_MIRROR: Device test1 destroyed.
Let me know if you need anything else.
--
kena
State Changed From-To: feedback->open Feedback has been provided. State Changed From-To: open->closed This is already fixed with r235600 and merged to stable branches. Thanks! Responsible Changed From-To: freebsd-geom->ae Take it. |