diff options
author | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-12-22 17:34:26 +1100 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-12-22 17:34:26 +1100 |
commit | 27a0464a6cb837d3a90b6e69365dfc01cb0dff2f (patch) | |
tree | 361f00f4d4ad4c01b6144c52004bee2b948742ad /lib | |
parent | 4d9d4ebf5de848e3450e23e4db9ac74e23e5daa6 (diff) | |
parent | 3d44cc3e01ee1b40317f79ed54324e25c4f848df (diff) |
[XFS] Fix merge conflict in fs/xfs/xfs_rename.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
fs/xfs/xfs_rename.c
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dynamic_printk.c | 6 | ||||
-rw-r--r-- | lib/idr.c | 8 | ||||
-rw-r--r-- | lib/percpu_counter.c | 7 |
3 files changed, 12 insertions, 9 deletions
diff --git a/lib/dynamic_printk.c b/lib/dynamic_printk.c index d83660fd6fd..8e30295e856 100644 --- a/lib/dynamic_printk.c +++ b/lib/dynamic_printk.c @@ -135,7 +135,7 @@ int unregister_dynamic_debug_module(char *mod_name) nr_entries--; out: up(&debug_list_mutex); - return 0; + return ret; } EXPORT_SYMBOL_GPL(unregister_dynamic_debug_module); @@ -289,7 +289,7 @@ static ssize_t pr_debug_write(struct file *file, const char __user *buf, dynamic_enabled = DYNAMIC_ENABLED_SOME; err = 0; printk(KERN_DEBUG - "debugging enabled for module %s", + "debugging enabled for module %s\n", elem->name); } else if (!value && (elem->enable == 1)) { elem->enable = 0; @@ -309,7 +309,7 @@ static ssize_t pr_debug_write(struct file *file, const char __user *buf, err = 0; printk(KERN_DEBUG "debugging disabled for module " - "%s", elem->name); + "%s\n", elem->name); } } } diff --git a/lib/idr.c b/lib/idr.c index 7a785a0c2ea..1c4f9281f41 100644 --- a/lib/idr.c +++ b/lib/idr.c @@ -220,8 +220,14 @@ build_up: */ while ((layers < (MAX_LEVEL - 1)) && (id >= (1 << (layers*IDR_BITS)))) { layers++; - if (!p->count) + if (!p->count) { + /* special case: if the tree is currently empty, + * then we grow the tree by moving the top node + * upwards. + */ + p->layer++; continue; + } if (!(new = get_from_free_list(idp))) { /* * The allocation failed. If we built part of diff --git a/lib/percpu_counter.c b/lib/percpu_counter.c index a8663890a88..b255b939bc1 100644 --- a/lib/percpu_counter.c +++ b/lib/percpu_counter.c @@ -62,10 +62,7 @@ s64 __percpu_counter_sum(struct percpu_counter *fbc) for_each_online_cpu(cpu) { s32 *pcount = per_cpu_ptr(fbc->counters, cpu); ret += *pcount; - *pcount = 0; } - fbc->count = ret; - spin_unlock(&fbc->lock); return ret; } @@ -104,13 +101,13 @@ void percpu_counter_destroy(struct percpu_counter *fbc) if (!fbc->counters) return; - free_percpu(fbc->counters); - fbc->counters = NULL; #ifdef CONFIG_HOTPLUG_CPU mutex_lock(&percpu_counters_lock); list_del(&fbc->list); mutex_unlock(&percpu_counters_lock); #endif + free_percpu(fbc->counters); + fbc->counters = NULL; } EXPORT_SYMBOL(percpu_counter_destroy); |