On Mon, Mar 03, 2008 at 03:03:45PM +0100, Dariush Pietrzak wrote:
> sysfs: duplicate filename ':0000288' can not be created
> WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
> Pid: 9, comm: events/0 Not tainted 2.6.24 #1
>
> Call Trace:
> [<ffffffff802e75e4>] sysfs_add_one+0x54/0xbd
> [<ffffffff802e7b1f>] create_dir+0x4f/0x87
> [<ffffffff802e7cd9>] sysfs_create_dir+0x47/0x5c
> [<ffffffff80306941>] kobject_get+0x12/0x17
> [<ffffffff80306e7b>] kobject_add+0xf3/0x1a7
> [<ffffffff8029edfd>] sysfs_slab_add+0x122/0x16c
> [<ffffffff8029ee47>] sysfs_add_func+0x0/0x59
> [<ffffffff8029ee78>] sysfs_add_func+0x31/0x59
> [<ffffffff80246e29>] run_workqueue+0x7f/0x10b
> [<ffffffff802476f5>] worker_thread+0x0/0xe4
> [<ffffffff802477cf>] worker_thread+0xda/0xe4
> [<ffffffff8024b156>] autoremove_wake_function+0x0/0x2e
> [<ffffffff8024b036>] kthread+0x47/0x75
> [<ffffffff8020cd78>] child_rip+0xa/0x12
> [<ffffffff8024afef>] kthread+0x0/0x75
> [<ffffffff8020cd6e>] child_rip+0x0/0x12
>
> kobject_add failed for :0000288 with -EEXIST, don't try to register things with the same name in the same directory.
>
> which has been introduced around the time when checkpointing returned to
> 2.6.24, still hasn't been fixed in ovz002...
> (pure 2.6.24 works ok, and few git 2.6.24-pre versions worked ok, but ovz002
> spills this)
I just fixed it. If you're git user, do git pull one more time.
commit 73980b5b87e7619ba49364d2618b25d4f4bd8450
Author: Alexey Dobriyan <adobriyan@openvz.org>
Date: Mon Mar 3 15:02:38 2008 +0300
SLUBC: change SLAB_UBC, SLAB_NO_CHARGE flags
SLAB_NO_CHARGE conflicted with __SYSFS_ADD_DEFERRED internal flag
which resulted in double and broken additional directories created
in /sys/slab/ .
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 2ff029a..793613f 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -62,8 +62,8 @@
* poll, fdsets, ...) non-ub allocs)
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
-#define SLAB_UBC 0x20000000UL /* alloc space for ubs ... */
-#define SLAB_NO_CHARGE 0x40000000UL /* ... but don't charge */
+#define SLAB_UBC 0x10000000UL /* alloc space for ubs ... */
+#define SLAB_NO_CHARGE 0x20000000UL /* ... but don't charge */
/*
* struct kmem_cache related prototypes