• Nicholas Bellinger's avatar
    target/file: Update hw_max_sectors based on current block_size · 95cadace
    Nicholas Bellinger authored
    This patch allows FILEIO to update hw_max_sectors based on the current
    max_bytes_per_io.  This is required because vfs_[writev,readv]() can accept
    a maximum of 2048 iovecs per call, so the enforced hw_max_sectors really
    needs to be calculated based on block_size.
    
    This addresses a >= v3.5 bug where block_size=512 was rejecting > 1M
    sized I/O requests, because FD_MAX_SECTORS was hardcoded to 2048 for
    the block_size=4096 case.
    
    (v2: Use max_bytes_per_io instead of ->update_hw_max_sectors)
    Reported-by: default avatarHenrik Goldman <hg@x-formation.com>
    Cc: <stable@vger.kernel.org> #3.5+
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    95cadace
target_core_device.c 43.2 KB