• O
    shift percpu_counter_destroy() into destroy_super_work() · 853b39a7
    Oleg Nesterov 提交于
    Of course, this patch is ugly as hell. It will be (partially)
    reverted later. We add it to ensure that other WIP changes in
    percpu_rw_semaphore won't break fs/super.c.
    
    We do not even need this change right now, percpu_free_rwsem()
    is fine in atomic context. But we are going to change this, it
    will be might_sleep() after we merge the rcu_sync() patches.
    
    And even after that we do not really need destroy_super_work(),
    we will kill it in any case. Instead, destroy_super_rcu() should
    just check that rss->cb_state == CB_IDLE and do call_rcu() again
    in the (very unlikely) case this is not true.
    
    So this is just the temporary kludge which helps us to avoid the
    conflicts with the changes which will be (hopefully) routed via
    rcu tree.
    Signed-off-by: NOleg Nesterov <oleg@redhat.com>
    Reviewed-by: NJan Kara <jack@suse.com>
    853b39a7
super.c 36.2 KB