2010-01-30 20:57:11

by Michael S. Tsirkin

[permalink] [raw]
Subject: 2.6.33-rc6 regression: mdadm Unknown cmd 800c0910 (RAID_VERSION)

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.

--
MST


2010-01-30 22:25:31

by Arnd Bergmann

[permalink] [raw]
Subject: 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.

Signed-off-by: Arnd Bergmann <[email protected]>
---

On Saturday 30 January 2010, Michael S. Tsirkin wrote:
> 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?

--- a/fs/compat_ioctl.c
+++ b/fs/compat_ioctl.c
@@ -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)

2010-01-31 09:06:42

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: compat_ioctl: ignore RAID_VERSION ioctl

On Sat, Jan 30, 2010 at 11:02:10PM +0100, Arnd Bergmann wrote:
> 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.
>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>
> On Saturday 30 January 2010, Michael S. Tsirkin wrote:
> > 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.

> --- a/fs/compat_ioctl.c
> +++ b/fs/compat_ioctl.c
> @@ -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)
>

2010-02-07 09:27:25

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: compat_ioctl: ignore RAID_VERSION ioctl

On Sat, Jan 30, 2010 at 11:02:10PM +0100, Arnd Bergmann wrote:
> 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.
>
> Signed-off-by: Arnd Bergmann <[email protected]>

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

> ---
>
> On Saturday 30 January 2010, Michael S. Tsirkin wrote:
> > 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?
>
> --- a/fs/compat_ioctl.c
> +++ b/fs/compat_ioctl.c
> @@ -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)
>

2010-02-07 10:02:56

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: compat_ioctl: ignore RAID_VERSION ioctl

On Sunday 07 February 2010, Michael S. Tsirkin wrote:
> On Sat, Jan 30, 2010 at 11:02:10PM +0100, Arnd Bergmann wrote:
> > 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.
> >
> > Signed-off-by: Arnd Bergmann <[email protected]>
>
> 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