• Andreas Gruenbacher's avatar
    gfs2: Be more careful with the quota sync generation · d9a75a60
    Andreas Gruenbacher authored
    The quota sync generation is only ever updated under sd_quota_sync_mutex
    by gfs2_quota_sync(), but its current value is fetched ouside of that
    mutex, so use WRITE_ONCE() and READ_ONCE() when accessing it without
    holding that mutex.
    
    Pass the current sync generation to do_sync() from its callers to ensure
    that we're not recording the wrong generation when the syncing is
    done.  Also, make sure that qd->qd_sync_gen only ever moves forward.
    
    In gfs2_quota_sync(), only write the new sync generation when we know
    that there are changes.  This eliminates the need for function
    sd_changed(), which we will remove in the next commit.
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    d9a75a60
quota.c 44.4 KB