[Top] [All Lists]

Re: xfs compat_ioctl?

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: xfs compat_ioctl?
From: Torsten Kaiser <just.for.lkml@xxxxxxxxxxxxxx>
Date: Mon, 31 Aug 2009 20:14:58 +0200
Cc: Michael Tokarev <mjt@xxxxxxxxxx>, Linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=XEk2no6N90dfFo9/g1541t9ya1pvPky2QCT5P+ohmtU=; b=JiG1M0E36N0ALxc2OfJLGS5MgsGUxkJSuwsuXvfcfV7q63YeiioAPMv4d1lrzigQ7Y a1TVxfJRfh9MO4UlTB/1bNzIve2TSEXpqUPR9B8aVVHwjbJUFck4LanN/8563o4PBB/Q wc9mBHjERhLJlJbM80YAvNz4LuLzyNvR4SrFA=
Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=aewj8ObqmxdZlWwN5i5iTQevtlKdgKFGoAt14jV3qFndcx08K6caWaneybgkZAF9Fe evTCdgadbEvLWwWhgRhlwf9pdpmi/ttxfhh4ExExpR89r1znuHEwzyzA1fr7lNZ9UcTB MY3DRuXNqsIjNqT3+hnY8nxRdPglj8S5OgB9g=
In-reply-to: <20090831123010.GA2368@xxxxxxxxxxxxx>
References: <4A9B759B.7020401@xxxxxxxxxxxxxxxx> <20090831123010.GA2368@xxxxxxxxxxxxx>
On Mon, Aug 31, 2009 at 2:30 PM, Christoph Hellwig<hch@xxxxxxxxxxxxx> wrote:
> On Mon, Aug 31, 2009 at 11:02:51AM +0400, Michael Tokarev wrote:
>> Hello!
>> I tried to resize an xfs filesystem on 64bit 2.6.30 kernel
>> using 32bit userland, and that does not work, in dmesg I see:
>> ioctl32(xfs_growfs:24426): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} 
>> arg(ffa56df4) on /mnt
>> ioctl32(xfs_growfs:24427): Unknown cmd fd(3) cmd(400c586e){t:'X';sz:12} 
>> arg(ff991254) on /mnt
>> so apparently there's no compat_ioctl layer for these ioctls.
>> Are there any plans to add these? :)
> Are you sure you're testing 2.6.30?  The copat ioctls were added in
> 2.6.28.

On a slightly related note: I also have a system with a 32bit userland
and a 64bit kernel.
After switching to the 64bit kernel, xfs_fsr was no longer working,
but that was caused by the then still missing compat ioctls.

Today I retried it, but it still fails:
XFS_IOC_SWAPEXT failed: ino=<number>: Invalid argument

Looking at the compat code SWAPEXT looks somewhat suspicious:

fs/xfs/linux-2.6/xfs_ioctl32.h defines XFS_IOC_SWAPEXT_32, but I can't
find a single place where this is used.
And in the big switch of xfs_compat_ioctl() the value XFS_IOC_SWAPEXT
is surrounded by contants that all end in 32.

I don't have any experience with the linux ioctl code, I only read
fs/xfs/linux-2.6/xfs_ioctl32.c, but for my untrained eye it looks like
there is a _32 missing.

Or am I misreading this completely?


<Prev in Thread] Current Thread [Next in Thread>