• Darrick J. Wong's avatar
    xfs: clear log incompat feature bits when the log is idle · 2b73a2c8
    Darrick J. Wong authored
    When there are no ongoing transactions and the log contents have been
    checkpointed back into the filesystem, the log performs 'covering',
    which is to say that it log a dummy transaction to record the fact that
    the tail has caught up with the head.  This is a good time to clear log
    incompat feature flags, because they are flags that are temporarily set
    to limit the range of kernels that can replay a dirty log.
    
    Since it's possible that some other higher level thread is about to
    start logging items protected by a log incompat flag, we create a rwsem
    so that upper level threads can coordinate this with the log.  It would
    probably be more performant to use a percpu rwsem, but the ability to
    /try/ taking the write lock during covering is critical, and percpu
    rwsems do not provide that.
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarAllison Henderson <allison.henderson@oracle.com>
    Reviewed-by: default avatarChandan Babu R <chandanrlinux@gmail.com>
    2b73a2c8
xfs_log_priv.h 24.5 KB