• C
    Split buffer's b_fspriv field · fb1755a6
    Carlos Maiolino 提交于
    By splitting the b_fspriv field into two different fields (b_log_item
    and b_li_list). It's possible to get rid of an old ABI workaround, by
    using the new b_log_item field to store xfs_buf_log_item separated from
    the log items attached to the buffer, which will be linked in the new
    b_li_list field.
    
    This way, there is no more need to reorder the log items list to place
    the buf_log_item at the beginning of the list, simplifying a bit the
    logic to handle buffer IO.
    
    This also opens the possibility to change buffer's log items list into a
    proper list_head.
    
    b_log_item field is still defined as a void *, because it is still used
    by the log buffers to store xlog_in_core structures, and there is no
    need to add an extra field on xfs_buf just for xlog_in_core.
    Signed-off-by: NCarlos Maiolino <cmaiolino@redhat.com>
    Reviewed-by: NBill O'Donnell <billodo@redhat.com>
    Reviewed-by: NDarrick J. Wong <darrick.wong@oracle.com>
    [darrick: minor style changes]
    Signed-off-by: NDarrick J. Wong <darrick.wong@oracle.com>
    fb1755a6
xfs_buf_item.c 35.3 KB