backref.c (9345457f4a539a40056431aeb6f068750857472f) backref.c (155725c9c051a343be5e555bf943da827e6cf721)
1/*
2 * Copyright (C) 2011 STRATO. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 825 unchanged lines hidden (view full) ---

834 */
835 mutex_lock(&head->mutex);
836 mutex_unlock(&head->mutex);
837 btrfs_put_delayed_ref(&head->node);
838 goto again;
839 }
840 ret = __add_delayed_refs(head, delayed_ref_seq,
841 &prefs_delayed);
1/*
2 * Copyright (C) 2011 STRATO. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 825 unchanged lines hidden (view full) ---

834 */
835 mutex_lock(&head->mutex);
836 mutex_unlock(&head->mutex);
837 btrfs_put_delayed_ref(&head->node);
838 goto again;
839 }
840 ret = __add_delayed_refs(head, delayed_ref_seq,
841 &prefs_delayed);
842 mutex_unlock(&head->mutex);
842 if (ret) {
843 spin_unlock(&delayed_refs->lock);
844 goto out;
845 }
846 }
847 spin_unlock(&delayed_refs->lock);
848 }
849

--- 77 unchanged lines hidden (view full) ---

927 eie->next = ref->inode_list;
928 }
929 BUG_ON(ret < 0);
930 }
931 kfree(ref);
932 }
933
934out:
843 if (ret) {
844 spin_unlock(&delayed_refs->lock);
845 goto out;
846 }
847 }
848 spin_unlock(&delayed_refs->lock);
849 }
850

--- 77 unchanged lines hidden (view full) ---

928 eie->next = ref->inode_list;
929 }
930 BUG_ON(ret < 0);
931 }
932 kfree(ref);
933 }
934
935out:
935 if (head)
936 mutex_unlock(&head->mutex);
937 btrfs_free_path(path);
938 while (!list_empty(&prefs)) {
939 ref = list_first_entry(&prefs, struct __prelim_ref, list);
940 list_del(&ref->list);
941 kfree(ref);
942 }
943 while (!list_empty(&prefs_delayed)) {
944 ref = list_first_entry(&prefs_delayed, struct __prelim_ref,

--- 700 unchanged lines hidden ---
936 btrfs_free_path(path);
937 while (!list_empty(&prefs)) {
938 ref = list_first_entry(&prefs, struct __prelim_ref, list);
939 list_del(&ref->list);
940 kfree(ref);
941 }
942 while (!list_empty(&prefs_delayed)) {
943 ref = list_first_entry(&prefs_delayed, struct __prelim_ref,

--- 700 unchanged lines hidden ---