Message ID | 1428026183-14879-1-git-send-email-ebiederm@xmission.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/fs/namespace.c b/fs/namespace.c index 82ef1405260e..e1ee57206eef 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1298,17 +1298,15 @@ static HLIST_HEAD(unmounted); /* protected by namespace_sem */ static void namespace_unlock(void) { - struct hlist_head head = unmounted; + struct hlist_head head; - if (likely(hlist_empty(&head))) { - up_write(&namespace_sem); - return; - } + hlist_move_list(&unmounted, &head); - head.first->pprev = &head.first; - INIT_HLIST_HEAD(&unmounted); up_write(&namespace_sem); + if (likely(hlist_empty(&head))) + return; + synchronize_rcu(); group_pin_kill(&head);
Small cleanup to make the code more readable and maintainable. Signed-off-by: Eric Biederman <ebiederm@xmission.com> --- fs/namespace.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)