• Steven Whitehouse's avatar
    [GFS2] Fix releasepage bug (fixes direct i/o writes) · 623d9355
    Steven Whitehouse authored
    This patch fixes three main bugs. Firstly the direct i/o get_block
    was returning the wrong return code in certain cases. Secondly, the
    GFS2's releasepage function was not dealing with cases when clean,
    ordered buffers were found still queued on a transaction (which can
    happen depending on the ordering of journal flushes). Thirdly, the
    journaling code itself needed altering to take account of the
    after effects of removing the clean ordered buffers from the transactions
    before a journal flush.
    
    The releasepage bug did also show up under "normal" buffered i/o
    as well, so its not just a fix for direct i/o. In fact its not
    normally used in the direct i/o path at all, except when flushing
    existing buffers after performing a direct i/o write, but that was
    the code path that led us to spot this.
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    623d9355
lops.c 20.5 KB