• S
    GFS2: Wait for async DIO in glock state changes · 582d2f7a
    Steven Whitehouse 提交于
    We need to wait for any outstanding DIO to complete in a couple
    of situations. Firstly, in case we are changing out of deferred
    mode (in inode_go_sync) where GLF_DIRTY will not be set. That
    call could be prefixed with a test for gl_state == LM_ST_DEFERRED
    but it doesn't seem worth it bearing in mind that the test for
    outstanding DIO is very quick anyway, in the usual case that there
    is none.
    
    The second case is in inode_go_lock which will catch the cases
    where we have a cached EX lock, but where we grant deferred locks
    against it so that there is no glock state transistion. We only
    need to wait if the state is not deferred, since DIO is valid
    anyway in that state.
    Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
    582d2f7a
glops.c 15.4 KB