Skip to contentSkip to conversation

2.6.33-rc6 regression: mdadm Unknown cmd 800c0910 (RAID_VERSION)

DISCUSSION Michael S. Tsirkin 3 participants 5 messages Jan 30, 2010 – Feb 7, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

Under 2.6.33-rcX (at least rc5 and rc6, didn't check earlier versions), I started seeing these messages in dmesg (I do not see these messages on 2.6.32):

[   16.528951] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda9
[   16.529570] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9e4) on /dev/sda9
[   16.553175] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda7
[   16.553846] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9e4) on /dev/sda7
[   16.577349] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda6
[   16.577954] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9e4) on /dev/sda6
[   16.684570] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda5
[   16.695916] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9e4) on /dev/sda5
[   16.702729] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda2
[   16.702743] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9e4) on /dev/sda2
[   16.747168] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda1
[   16.747786] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9e4) on /dev/sda1

I am running 32 bit userspace on 64 bit kernel.

I do not observe any ill effects, possibly because I do not really use raid.

The command in question seems to be RAID_VERSION.

I have verified that reverting
aa98aa31987ad9831711ae71ea2270228ab62532
makes the errors go away.

Didn't yet bother opening a bugzilla for this, let me know if I should.

Signature · 1 line
MST
#1 lore raw

compat_ioctl: ignore RAID_VERSION ioctl

md ioctls are now handled by the md driver itself, but mdadm may call RAID_VERSION on other devices as well. Mark the command as IGNORE_IOCTL so this fails silently rather than printing an annoying message.

---

Quoted 4 lines · Michael S. Tsirkin

Under 2.6.33-rcX (at least rc5 and rc6, didn't check earlier versions), I started seeing these messages in dmesg (I do not see these messages on 2.6.32):

[   16.528951] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda9

Does this help?

fs/compat_ioctl.c +2 -0
@@ -1038,6 +1038,8 @@ COMPATIBLE_IOCTL(FIOQSIZE)
 #ifdef CONFIG_BLOCK
 /* loop */
 IGNORE_IOCTL(LOOP_CLR_FD)
+/* md calls this on random blockdevs */
+IGNORE_IOCTL(RAID_VERSION)
 /* SG stuff */
 COMPATIBLE_IOCTL(SG_SET_TIMEOUT)
 COMPATIBLE_IOCTL(SG_GET_TIMEOUT)
#2 lore raw

Re: compat_ioctl: ignore RAID_VERSION ioctl

Quoted 8 lines · Arnd Bergmann

md ioctls are now handled by the md driver itself, but mdadm may call RAID_VERSION on other devices as well. Mark the command as IGNORE_IOCTL so this fails silently rather than printing an annoying message.

---

Quoted 7 lines
Quoted 4 lines · Michael S. Tsirkin

Under 2.6.33-rcX (at least rc5 and rc6, didn't check earlier versions), I started seeing these messages in dmesg (I do not see these messages on 2.6.32):

[   16.528951] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda9

Does this help?

Yes, this fixes it.

Quoted 12 lines
fs/compat_ioctl.c +2 -0
@@ -1038,6 +1038,8 @@ COMPATIBLE_IOCTL(FIOQSIZE)
 #ifdef CONFIG_BLOCK
 /* loop */
 IGNORE_IOCTL(LOOP_CLR_FD)
+/* md calls this on random blockdevs */
+IGNORE_IOCTL(RAID_VERSION)
 /* SG stuff */
 COMPATIBLE_IOCTL(SG_SET_TIMEOUT)
 COMPATIBLE_IOCTL(SG_GET_TIMEOUT)
#3 lore raw

Re: compat_ioctl: ignore RAID_VERSION ioctl

In reply to Arnd Bergmann
Quoted 6 lines · Arnd Bergmann

md ioctls are now handled by the md driver itself, but mdadm may call RAID_VERSION on other devices as well. Mark the command as IGNORE_IOCTL so this fails silently rather than printing an annoying message.

The patch does not seem to be there in -rc7.
Since this is fixes a regression, should this go into 2.6.33? Thanks!

Quoted 22 lines

---

Quoted 4 lines · Michael S. Tsirkin

Under 2.6.33-rcX (at least rc5 and rc6, didn't check earlier versions), I started seeing these messages in dmesg (I do not see these messages on 2.6.32):

[   16.528951] ioctl32(mdadm:2243): Unknown cmd fd(3) cmd(800c0910){t:09;sz:12} arg(ffb7f9c4) on /dev/sda9

Does this help?

fs/compat_ioctl.c +2 -0
@@ -1038,6 +1038,8 @@ COMPATIBLE_IOCTL(FIOQSIZE)
 #ifdef CONFIG_BLOCK
 /* loop */
 IGNORE_IOCTL(LOOP_CLR_FD)
+/* md calls this on random blockdevs */
+IGNORE_IOCTL(RAID_VERSION)
 /* SG stuff */
 COMPATIBLE_IOCTL(SG_SET_TIMEOUT)
 COMPATIBLE_IOCTL(SG_GET_TIMEOUT)
#4 lore raw

Re: compat_ioctl: ignore RAID_VERSION ioctl

Quoted 10 lines · Michael S. Tsirkin
Quoted 6 lines · Arnd Bergmann

md ioctls are now handled by the md driver itself, but mdadm may call RAID_VERSION on other devices as well. Mark the command as IGNORE_IOCTL so this fails silently rather than printing an annoying message.

The patch does not seem to be there in -rc7.
Since this is fixes a regression, should this go into 2.6.33?

I guess it should.

Do you have a link to the original report or has it been sent privately?

Rafael