• Mingming Cao's avatar
    ext4: async direct IO for holes and fallocate support · 8d5d02e6
    Mingming Cao authored
    For async direct IO that covers holes or fallocate, the end_io
    callback function now queued the convertion work on workqueue but
    don't flush the work rightaway as it might take too long to afford.
    
    But when fsync is called after all the data is completed, user expects
    the metadata also being updated before fsync returns.
    
    Thus we need to flush the conversion work when fsync() is called.
    This patch keep track of a listed of completed async direct io that
    has a work queued on workqueue.  When fsync() is called, it will go
    through the list and do the conversion.
    Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
    8d5d02e6
ext4.h 61.1 KB