notifier chain problem? (was Re: 2.6.17-rc1 did break XFS)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 13, 2006 at 07:21:45AM +0200, Herbert Poetzl wrote:
> 
> # grep XFS .config
> CONFIG_XFS_FS=y
> CONFIG_XFS_EXPORT=y
> CONFIG_XFS_QUOTA=y
> # CONFIG_XFS_SECURITY is not set
> # CONFIG_XFS_POSIX_ACL is not set
> # CONFIG_XFS_RT is not set
> 
> if you need more information, please let me know ...

I don't think this is an XFS bug....

> [   39.585041] BUG: unable to handle kernel paging request at virtual address 7856c380
> [   39.586688]  printing eip:
> [   39.587040] 78129430
> [   39.587354] *pde = 005bf027
> [   39.587709] *pte = 0056c000
> [   39.588201] Oops: 0000 [#1]
> [   39.588536] SMP DEBUG_PAGEALLOC
> [   39.589057] Modules linked in:
> [   39.589639] CPU:    0
> [   39.589670] EIP:    0060:[<78129430>]    Not tainted VLI
> [   39.589710] EFLAGS: 00000206   (2.6.17-rc1 #1) 
> [   39.591291] EIP is at notifier_chain_register+0x20/0x50
> [   39.591890] eax: 7856c378   ebx: 878db3f8   ecx: 00000000   edx: 784bf9bc
> [   39.592601] esi: 878db3f8   edi: 878e7c00   ebp: 878db800   esp: 878cad5c
> [   39.593399] ds: 007b   es: 007b   ss: 0068
> [   39.593896] Process mount (pid: 50, threadinfo=878ca000 task=87f7e570)
> [   39.594530] Stack: <0>784bf9a0 781295f4 784bf9bc 878db3f8 878db000 878db000 78136997 784bf9a0 
> [   39.595839]        878db3f8 782d43e6 878db3f8 00000404 878db000 87d1e6a0 878e7c00 782d1813 
> [   39.597002]        878db000 00000001 782e5eaf 00000424 00000001 878e7c00 87d1e6a0 782f2150 
> [   39.598164] Call Trace:
> [   39.598592]  <781295f4> blocking_notifier_chain_register+0x54/0x90   <78136997> register_cpu_notifier+0x17/0x20
> [   39.600024]  <782d43e6> xfs_icsb_init_counters+0x46/0xb0   <782d1813> xfs_mount_init+0x23/0x160

It looks like we landed on top of a a notifier call chain
implementation change in -rc1. However, this should not matter to
XFS because the interface to register_cpu_notifier() did not change
and XFS is completely abstracted away from the notifier chain
implementation. We do:

       mp->m_icsb_notifier.notifier_call = xfs_icsb_cpu_notify;
       mp->m_icsb_notifier.priority = 0;
       register_cpu_notifier(&mp->m_icsb_notifier);

and the mp structure is kzalloc()d almost immediately before this.  The definition
of m_icsb_notifier in the struct xfs_mount (mp) is:

	struct notifier_block   m_icsb_notifier; /* hotplug cpu notifier */

I can't see anything wrong with this, but maybe others can see a problem with
this.

Hence I suspect this is a bug in the new notifier call chain code. Adding a few
ppl involved in the notifier chain work to the cc list.

Cheers,

Dave.
-- 
Dave Chinner
R&D Software Enginner
SGI Australian Software Group
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux