• Dave Chinner's avatar
    xfs: xfs_trans_read_buf() should return an error on failure · 7401aafd
    Dave Chinner authored
    When inside a transaction and we fail to read a buffer,
    xfs_trans_read_buf returns a null buffer pointer and no error.
    xfs_do_da_buf() checks the error return, but not the buffer, and as
    a result this read failure condition causes a panic when it attempts
    to dereference the non-existant buffer.
    
    Make xfs_trans_read_buf() return the same error for this situation
    regardless of whether it is in a transaction or not. This means
    every caller does not need to check both the error return and the
    buffer before proceeding to use the buffer.
    Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
    Reviewed-by: default avatarAlex Elder <aelder@sgi.com>
    7401aafd
xfs_trans_buf.c 24.8 KB