• Michal Marek's avatar
    [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode · faa63e95
    Michal Marek authored
    * 32bit struct xfs_fsop_bulkreq has different size and layout of
    members, no matter the alignment. Move the code out of the #else
    branch (why was it there in the first place?). Define _32 variants of
    the ioctl constants.
    * 32bit struct xfs_bstat is different because of time_t and on
    i386 because of different padding. Make xfs_bulkstat_one() accept a
    custom "output formatter" in the private_data argument which takes care
    of the xfs_bulkstat_one_compat() that takes care of the different
    layout in the compat case.
    * i386 struct xfs_inogrp has different padding.
    Add a similar "output formatter" mecanism to xfs_inumbers().
    
    SGI-PV: 967354
    SGI-Modid: xfs-linux-melb:xfs-kern:29102a
    Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
    Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
    Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
    faa63e95
xfs_ioctl32.c 14.3 KB