Pete,
Thanks for the heads up!
For the issues that you report below, I think the attached patch should help.
I tested it on a ubuntu VM running git-2.6.24-pre7 and did not see the
kmem_cache
nor the sysctl warning checks.
Hope it fixes the issues on your system as well.
thanks,
Murali

> 1.  Latest kernels are not pvfs friendly.  Stock 2.6.24-rc6 plus a few
> patches that don't touch sysctl.  Say lots of this.  But it does
> eventually load successfully.
>
> sysctl_check_dir: failed: /pvfs2 .1 ref: /kernel .1
> sysctl table check failed: /pvfs2 .1 Inconsistent directory names
> Pid: 25657, comm: insmod Not tainted 2.6.24-rc6-bidi #2
>
> Call Trace:
>  [<ffffffff8025027f>] set_fail+0x4f/0x60
>  [<ffffffff802505f6>] sysctl_check_table+0x366/0x620
>  [<ffffffff8023c265>] sysctl_set_parent+0x25/0x40
>  [<ffffffff8023db44>] register_sysctl_table+0x64/0xc0
>  [<ffffffff88172e8c>] :pvfs2:pvfs2_proc_initialize+0x1c/0x30
>  [<ffffffff88181157>] :pvfs2:pvfs2_init+0x157/0x215
>  [<ffffffff8025ac27>] sys_init_module+0x177/0x1ab0
>  [<ffffffff80292728>] __fput+0x158/0x1a0
>  [<ffffffff80292986>] fput+0x16/0x20
>  [<ffffffff8020bc6e>] system_call+0x7e/0x83
>
> sysctl table check failed: /pvfs2 .1 procname does not match binary path 
> procname
> Pid: 25657, comm: insmod Not tainted 2.6.24-rc6-bidi #2
>
> Call Trace:
>  [<ffffffff8025027f>] set_fail+0x4f/0x60
>  [<ffffffff80250598>] sysctl_check_table+0x308/0x620
>  [<ffffffff8023c265>] sysctl_set_parent+0x25/0x40
>  [<ffffffff8023db44>] register_sysctl_table+0x64/0xc0
>  [<ffffffff88172e8c>] :pvfs2:pvfs2_proc_initialize+0x1c/0x30
>  [<ffffffff88181157>] :pvfs2:pvfs2_init+0x157/0x215
>  [<ffffffff8025ac27>] sys_init_module+0x177/0x1ab0
>  [<ffffffff80292728>] __fput+0x158/0x1a0
>  [<ffffffff80292986>] fput+0x16/0x20
>  [<ffffffff8020bc6e>] system_call+0x7e/0x83
>
> sysctl table check failed: /pvfs2/debug .1.1 Sysctl already exists
> Pid: 25657, comm: insmod Not tainted 2.6.24-rc6-bidi #2
>
> Call Trace:
>  [<ffffffff8025027f>] set_fail+0x4f/0x60
>  [<ffffffff802505f6>] sysctl_check_table+0x366/0x620
>  [<ffffffff802505ad>] sysctl_check_table+0x31d/0x620
>  [<ffffffff8023c265>] sysctl_set_parent+0x25/0x40
>  [<ffffffff8023db44>] register_sysctl_table+0x64/0xc0
>  [<ffffffff88172e8c>] :pvfs2:pvfs2_proc_initialize+0x1c/0x30
>  [<ffffffff88181157>] :pvfs2:pvfs2_init+0x157/0x215
>  [<ffffffff8025ac27>] sys_init_module+0x177/0x1ab0
>  [<ffffffff80292728>] __fput+0x158/0x1a0
>  [<ffffffff80292986>] fput+0x16/0x20
>  [<ffffffff8020bc6e>] system_call+0x7e/0x83
>
> sysctl table check failed: /pvfs2/debug .1.1 procname does not match binary 
> path procname
> Pid: 25657, comm: insmod Not tainted 2.6.24-rc6-bidi #2
>
> Call Trace:
>  [<ffffffff8025027f>] set_fail+0x4f/0x60
>  [<ffffffff80250598>] sysctl_check_table+0x308/0x620
>  [<ffffffff802505ad>] sysctl_check_table+0x31d/0x620
>  [<ffffffff8023c265>] sysctl_set_parent+0x25/0x40
>  [<ffffffff8023db44>] register_sysctl_table+0x64/0xc0
>  [<ffffffff88172e8c>] :pvfs2:pvfs2_proc_initialize+0x1c/0x30
>  [<ffffffff88181157>] :pvfs2:pvfs2_init+0x157/0x215
>  [<ffffffff8025ac27>] sys_init_module+0x177/0x1ab0
>  [<ffffffff80292728>] __fput+0x158/0x1a0
>  [<ffffffff80292986>] fput+0x16/0x20
>  [<ffffffff8020bc6e>] system_call+0x7e/0x83
>
>
> 1. (cont) After it is loaded, a mount request does this:
>
> pvfs2: module version 2.7.1pre1-2008-01-09-214658 loaded
> Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:
>  [<ffffffff8028b9bc>] cache_alloc_refill+0x20c/0x240
> PGD 3b90b067 PUD 31c72067 PMD 0
> Oops: 0000 [1] SMP
> CPU 0
> Modules linked in: pvfs2 sg crc32c libcrc32c iscsi_tcp libiscsi 
> scsi_transport_iscsi rdma_ucm rdma_cm iw_cm ib_addr ib_ipoib ib_ucm ib_cm 
> ib_sa ib_umad ib_uverbs ib_mthca ext3 jbd ib_mad ib_core i2c_nforce2 i2c_core 
> sd_mod sata_nv tg3 nfs lockd sunrpc
> Pid: 25984, comm: pvfs2-client-co Not tainted 2.6.24-rc6-bidi #2
> RIP: 0010:[<ffffffff8028b9bc>]  [<ffffffff8028b9bc>] 
> cache_alloc_refill+0x20c/0x240
> RSP: 0018:ffff81007d955bd8  EFLAGS: 00010002
> RAX: 0000000000000001 RBX: 0000000000000000 RCX: ffff810035540038
> RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff810031d05900
> RBP: ffff81007d955c18 R08: 0000000000000001 R09: 0000000000000000
> R10: 0000000000000001 R11: 0000000000000202 R12: ffff810031d058e0
> R13: 0000000000000000 R14: 0000000000000004 R15: ffff81003eee5b00
> FS:  00002b0896380ad0(0000) GS:ffffffff8050c000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000000000 CR3: 000000005d858000 CR4: 00000000000006e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff4ff0 DR7: 0000000000000400
> Process pvfs2-client-co (pid: 25984, threadinfo ffff81007d954000, task 
> ffff81007edda760)
> Stack:  ffff810031d058c0 0000000000000000 00000000000000d0 ffff81007d955d08
>  0000000000000286 00000000000000d0 ffff81003eee5b00 ffff81007d955e68
>  ffff81007d955c48 ffffffff8028bc22 ffff81007d955d08 ffffffff88167bd0
> Call Trace:
>  [<ffffffff8028bc22>] kmem_cache_alloc+0xe2/0xf0
>  [<ffffffff88167bd0>] :pvfs2:pvfs2_devreq_aio_write+0x0/0x8f0
>  [<ffffffff8816902a>] :pvfs2:dev_req_alloc+0x1a/0x50
>  [<ffffffff88167c05>] :pvfs2:pvfs2_devreq_aio_write+0x35/0x8f0
>  [<ffffffff8026d8d9>] activate_page+0xd9/0x100
>  [<ffffffff8026448d>] find_lock_page+0x3d/0xc0
>  [<ffffffff88167bd0>] :pvfs2:pvfs2_devreq_aio_write+0x0/0x8f0
>  [<ffffffff802912ab>] do_sync_readv_writev+0xeb/0x130
>  [<ffffffff8024b550>] autoremove_wake_function+0x0/0x40
>  [<ffffffff80274fab>] handle_mm_fault+0x18b/0x6e0
>  [<ffffffff802910e5>] rw_copy_check_uvector+0x95/0x130
>  [<ffffffff802919eb>] do_readv_writev+0xcb/0x1b0
>  [<ffffffff80291b09>] vfs_writev+0x39/0x60
>  [<ffffffff80291fb0>] sys_writev+0x50/0x90
>  [<ffffffff8020bc6e>] system_call+0x7e/0x83
>
>
> I think the devreq_aio_write is just bogus stack.  It is something
> with the dev_req_alloc.  Compilation did complain:
>
>  CC [M]  /home/pw/src/osd/pvfs/src/kernel/linux-2.6/pvfs2-cache.o
> /home/pw/src/osd/pvfs/src/kernel/linux-2.6/pvfs2-cache.c: In function 
> 'dev_req_cache_initialize':
> /home/pw/src/osd/pvfs/src/kernel/linux-2.6/pvfs2-cache.c:221: warning: 
> passing argument 5 of 'kmem_cache_create' from incompatible pointer type
> /home/pw/src/osd/pvfs/src/kernel/linux-2.6/pvfs2-cache.c: In function 
> 'pvfs2_inode_cache_initialize':
> /home/pw/src/osd/pvfs/src/kernel/linux-2.6/pvfs2-cache.c:317: warning: 
> passing argument 5 of 'kmem_cache_create' from incompatible pointer type
> /home/pw/src/osd/pvfs/src/kernel/linux-2.6/pvfs2-cache.c: In function 
> 'kiocb_cache_initialize':
> /home/pw/src/osd/pvfs/src/kernel/linux-2.6/pvfs2-cache.c:401: warning: 
> passing argument 5 of 'kmem_cache_create' from incompatible pointer type

Attachment: pvfs2-2.6.24.diffs
Description: Binary data

_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to