• sandeen@sandeen.net's avatar
    [XFS] Fix xfs_bulkstat_one size checks & error handling · 65fbaf24
    sandeen@sandeen.net authored
    The 32-bit xfs_blkstat_one handler was failing because
    a size check checked whether the remaining (32-bit)
    user buffer was less than the (64-bit) bulkstat buffer,
    and failed with ENOMEM if so.  Move this check
    into the respective handlers so that they check the
    correct sizes.
    
    Also, the formatters were returning negative errors
    or positive bytes copied; this was odd in the positive
    error value world of xfs, and handled wrong by at least
    some of the callers, which treated the bytes returned
    as an error value.  Move the bytes-used assignment
    into the formatters.
    Signed-off-by: default avatarEric Sandeen <sandeen@sandeen.net>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarLachlan McIlroy <lachlan@sgi.com>
    65fbaf24
xfs_itable.h 3.8 KB