lkml.org 
[lkml]   [2009]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: xfs compat_ioctl?
    From
    On Mon, Aug 31, 2009 at 2:30 PM, Christoph Hellwig<hch@infradead.org> 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?

    Torsten


    \
     
     \ /
      Last update: 2009-08-31 20:17    [W:0.029 / U:123.600 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site