| Summary: | sys-fs/mdadm-3.0 can't stop arrays that aren't in use. | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Chad A. Simmons <chad.simmons> |
| Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
| Status: | RESOLVED INVALID | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Chad A. Simmons
2009-09-21 00:02:44 UTC
Not sure but it looks like mdadm might be opening the raid array before it actually tries to stop it.
phenom / # strace mdadm --stop /dev/md2
execve("/sbin/mdadm", ["mdadm", "--stop", "/dev/md2"], [/* 35 vars */]) = 0
brk(0) = 0x1115000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c57c61000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c57c60000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=132129, ...}) = 0
mmap(NULL, 132129, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0c57c3f000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\353\1\0\0\0\0\0@"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1387696, ...}) = 0
mmap(NULL, 3495976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0c576f0000
mprotect(0x7f0c5783c000, 2097152, PROT_NONE) = 0
mmap(0x7f0c57a3c000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14c000) = 0x7f0c57a3c000
mmap(0x7f0c57a41000, 18472, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0c57a41000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c57c3e000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c57c3d000
arch_prctl(ARCH_SET_FS, 0x7f0c57c3d6f0) = 0
mprotect(0x7f0c57a3c000, 16384, PROT_READ) = 0
mprotect(0x644000, 4096, PROT_READ) = 0
mprotect(0x7f0c57c62000, 4096, PROT_READ) = 0
munmap(0x7f0c57c3f000, 132129) = 0
getpid() = 10832
brk(0) = 0x1115000
brk(0x1136000) = 0x1136000
open("/etc/mdadm.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=210, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0c57c5f000
read(3, "ARRAY /dev/md1 metadata=0.90 UUID"..., 4096) = 210
read(3, ""..., 4096) = 0
read(3, ""..., 4096) = 0
close(3) = 0
munmap(0x7f0c57c5f000, 4096) = 0
uname({sys="Linux", node="phenom", ...}) = 0
open("/dev/md2", O_RDWR) = 3
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 2), ...}) = 0
ioctl(3, 0x800c0910, 0x7fff8ab81670) = 0
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 2), ...}) = 0
ioctl(3, 0x800c0910, 0x7fff8ab81150) = 0
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 2), ...}) = 0
ioctl(3, 0x800c0910, 0x7fff8ab81150) = 0
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 2), ...}) = 0
ioctl(3, 0x800c0910, 0x7fff8ab80c60) = 0
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 2), ...}) = 0
open("/sys/block/md2/md/metadata_version", O_RDONLY) = 4
read(4, "0.90\n"..., 1024) = 5
close(4) = 0
open("/sys/block/md2/md/level", O_RDONLY) = 4
read(4, "raid0\n"..., 1024) = 6
close(4) = 0
ioctl(3, 0x932, 0) = -1 EBUSY (Device or resource busy)
write(2, "mdadm: failed to stop array /dev/"..., 62mdadm: failed to stop array /dev/md2: Device or resource busy
) = 62
write(2, "Perhaps a running process, mounte"..., 70Perhaps a running process, mounted filesystem or active volume group?
) = 70
close(3) = 0
exit_group(1) = ?
Had a ghost bindmount going to the system where this raid was previously mounted. That was keeping md2 from stopping. |