J. R. Okajima: Ok, thanks. Guan, Nikolay, would you test this patch manually for mm/shmem.c? It may produce a new warining once. Â Â Â Â Â Â Â Â ino = idr_alloc(&sbinfo->idr, inode, 2, INT_MAX, GFP_NOFS); Â Â Â Â Â Â Â Â if (ino > 0) { Â Â Â Â Â Â Â Â Â Â Â Â inode->i_ino = ino; Â Â Â Â Â Â Â Â Â Â Â Â mutex_unlock(&sbinfo->idr_lock); Â Â Â Â Â Â Â Â Â Â Â Â __insert_inode_hash(inode, inode->i_ino); Â Â Â Â Â Â Â Â } else { + Â Â Â Â Â Â Â Â Â Â Â WARN_ON_ONCE(inode->i_ino); + Â Â Â Â Â Â Â Â Â Â Â inode->i_ino = 0; Â Â Â Â Â Â Â Â Â Â Â Â mutex_unlock(&sbinfo->idr_lock); Â Â Â Â Â Â Â Â Â Â Â Â iput(inode); Â Â /* shmem_free_inode() will be called */ Â Â Â Â Â Â Â Â Â Â Â Â inode = NULL; Â Â Â Â Â Â Â Â }
I tested it. I got the following in my dmesg output: [Â Â 18.565143] WARNING: CPU: 2 PID: 1787 at lib/idr.c:527 idr_remove+0x22f/0x240() [Â Â 18.565149] idr_remove called for id=32768 which is not allocated. [Â Â 18.565153] Modules linked in: [Â Â 18.565161] CPU: 2 PID: 1787 Comm: pcmanfm Not tainted 3.14.6-aufs #9 [Â Â 18.565166] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [Â Â 18.565172]Â 0000000000000000 0000000000000009 ffffffff8153d0a7 ffff880079a11da8 [Â Â 18.565179]Â ffffffff8104ba81 ffff880079a11e18 ffff88006c0c20c0 ffff88007f4090e8 [Â Â 18.565184]Â ffff88006c0c20c0 ffff88007f4090c0 ffffffff8104bb65 ffffffff8172cfd0 [Â Â 18.565190] Call Trace: [Â Â 18.565204]Â [<ffffffff8153d0a7>] ? dump_stack+0x41/0x51 [Â Â 18.565215]Â [<ffffffff8104ba81>] ? warn_slowpath_common+0x81/0xb0 [Â Â 18.565224]Â [<ffffffff8104bb65>] ? warn_slowpath_fmt+0x45/0x50 [Â Â 18.565235]Â [<ffffffff811f488f>] ? idr_remove+0x22f/0x240 [Â Â 18.565262]Â [<ffffffff810e10fd>] ? shmem_evict_inode+0x9d/0x170 [Â Â 18.565273]Â [<ffffffff811270d2>] ? evict+0xa2/0x190 [Â Â 18.565283]Â [<ffffffff81123f98>] ? dentry_kill+0x208/0x250 [Â Â 18.565293]Â [<ffffffff8112438e>] ? dput+0x4e/0xf0 [Â Â 18.565327]Â [<ffffffff8110f9a9>] ? __fput+0x129/0x230 [Â Â 18.565338]Â [<ffffffff81064f6c>] ? task_work_run+0xac/0xd0 [Â Â 18.565348]Â [<ffffffff815437aa>] ? int_signal+0x12/0x17 [Â Â 18.565354] ---[ end trace 0c9e9c1ff0dffbfa ]--- [Â Â 18.891972] ------------[ cut here ]------------ [Â Â 18.892055] WARNING: CPU: 3 PID: 1785 at lib/idr.c:527 idr_remove+0x22f/0x240() [Â Â 18.892184] idr_remove called for id=65536 which is not allocated. [Â Â 18.892189] Modules linked in: it87(-) hwmon_vid [Â Â 18.892224] CPU: 3 PID: 1785 Comm: lxpanel Tainted: GÂ Â Â Â Â Â Â WÂ Â Â 3.14.6-aufs #9 [Â Â 18.892229] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [Â Â 18.892237]Â 0000000000000000 0000000000000009 ffffffff8153d0a7 ffff88007c4adda8 [Â Â 18.892241]Â ffffffff8104ba81 ffff88007c4ade18 ffff880079ba6ac0 ffff88007f4090e8 [Â Â 18.892245]Â ffff880079ba6ac0 ffff88007f4090c0 ffffffff8104bb65 ffffffff8172cfd0 [Â Â 18.892249] Call Trace: [Â Â 18.892364]Â [<ffffffff8153d0a7>] ? dump_stack+0x41/0x51 [Â Â 18.892499]Â [<ffffffff8104ba81>] ? warn_slowpath_common+0x81/0xb0 [Â Â 18.892507]Â [<ffffffff8104bb65>] ? warn_slowpath_fmt+0x45/0x50 [Â Â 18.892514]Â [<ffffffff811f488f>] ? idr_remove+0x22f/0x240 [Â Â 18.892563]Â [<ffffffff810e10fd>] ? shmem_evict_inode+0x9d/0x170 [Â Â 18.892591]Â [<ffffffff811270d2>] ? evict+0xa2/0x190 [Â Â 18.892599]Â [<ffffffff81123f98>] ? dentry_kill+0x208/0x250 [Â Â 18.892606]Â [<ffffffff8112438e>] ? dput+0x4e/0xf0 [Â Â 18.892620]Â [<ffffffff8110f9a9>] ? __fput+0x129/0x230 [Â Â 18.892632]Â [<ffffffff81064f6c>] ? task_work_run+0xac/0xd0 [Â Â 18.892664]Â [<ffffffff815437aa>] ? int_signal+0x12/0x17 [Â Â 18.892668] ---[ end trace 0c9e9c1ff0dffbfb ]--- [Â Â 18.894319] ------------[ cut here ]------------ [Â Â 18.894334] WARNING: CPU: 3 PID: 1785 at lib/idr.c:527 idr_remove+0x22f/0x240() [Â Â 18.894338] idr_remove called for id=98304 which is not allocated. [Â Â 18.894341] Modules linked in: it87(-) hwmon_vid [Â Â 18.894346] CPU: 3 PID: 1785 Comm: lxpanel Tainted: GÂ Â Â Â Â Â Â WÂ Â Â 3.14.6-aufs #9 [Â Â 18.894350] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [Â Â 18.894353]Â 0000000000000000 0000000000000009 ffffffff8153d0a7 ffff88007c4adda8 [Â Â 18.894358]Â ffffffff8104ba81 ffff88007c4ade18 ffff880079ba6d40 ffff88007f4090e8 [Â Â 18.894362]Â ffff880079ba6d40 ffff88007f4090c0 ffffffff8104bb65 ffffffff8172cfd0 [Â Â 18.894366] Call Trace: [Â Â 18.894374]Â [<ffffffff8153d0a7>] ? dump_stack+0x41/0x51 [Â Â 18.894381]Â [<ffffffff8104ba81>] ? warn_slowpath_common+0x81/0xb0 [Â Â 18.894390]Â [<ffffffff8104bb65>] ? warn_slowpath_fmt+0x45/0x50 [Â Â 18.894397]Â [<ffffffff811f488f>] ? idr_remove+0x22f/0x240 [Â Â 18.894404]Â [<ffffffff810e10fd>] ? shmem_evict_inode+0x9d/0x170 [Â Â 18.894411]Â [<ffffffff811270d2>] ? evict+0xa2/0x190 [Â Â 18.894418]Â [<ffffffff81123f98>] ? dentry_kill+0x208/0x250 [Â Â 18.894425]Â [<ffffffff8112438e>] ? dput+0x4e/0xf0 [Â Â 18.894432]Â [<ffffffff8110f9a9>] ? __fput+0x129/0x230 [Â Â 18.894439]Â [<ffffffff81064f6c>] ? task_work_run+0xac/0xd0 [Â Â 18.894448]Â [<ffffffff815437aa>] ? int_signal+0x12/0x17 [Â Â 18.894453] ---[ end trace 0c9e9c1ff0dffbfc ]--- -- Use GNU/Linux
------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems