• Christoph Hellwig's avatar
    iomap: add the new iomap_iter model · f4b896c2
    Christoph Hellwig authored
    The iomap_iter struct provides a convenient way to package up and
    maintain all the arguments to the various mapping and operation
    functions.  It is operated on using the iomap_iter() function that
    is called in loop until the whole range has been processed.  Compared
    to the existing iomap_apply() function this avoid an indirect call
    for each iteration.
    
    For now iomap_iter() calls back into the existing ->iomap_begin and
    ->iomap_end methods, but in the future this could be further optimized
    to avoid indirect calls entirely.
    
    Based on an earlier patch from Matthew Wilcox <willy@infradead.org>.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    [djwong: add to apply.c to preserve git history of iomap loop control]
    Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
    f4b896c2
apply.c 5.51 KB