[OpenAFS] Re: openafs and linux 2.6.19-rc1 [patch]
chas williams - CONTRACTOR [EMAIL PROTECTED] writes: @@ -550,6 +558,10 @@ .read =generic_read_dir, #endif .readdir = afs_linux_readdir, +#ifdef GENERIC_FILE_AIO_READ + .aio_read =generic_file_aio_read, + .aio_write = generic_file_aio_write, +#endif #ifdef HAVE_UNLOCKED_IOCTL .unlocked_ioctl = afs_unlocked_xioctl, #else i think this chunk (in src/afs/LINUX/osi_vnodeops.c) ended in the wrong place. the .aio_read/write were added to afs_dir_fops but they should have been added to afs_file_fops instead (the next structure below). at least that's what i had in my working version. --alex-- -- | I believe the moment is at hand when, by a paranoiac and active | | advance of the mind, it will be possible (simultaneously with | | automatism and other passive states) to systematize confusion | | and thus to help to discredit completely the world of reality. | ___ OpenAFS-info mailing list OpenAFS-info@openafs.org https://lists.openafs.org/mailman/listinfo/openafs-info
[OpenAFS] openafs and linux 2.6.19-rc1 [patch]
the new linux kernel has lost a couple more functions which affect openafs (generic_file_read/write). the attached patch lets me use openafs with the above-mentioned kernel. it is generated against the debian package (which finally works on amd64, yeay) but it applies against cvs head with a bit of fuzz. diff -ru openafs/src/afs/LINUX/osi_vfsops.c openafs-new/src/afs/LINUX/osi_vfsops.c --- openafs/src/afs/LINUX/osi_vfsops.c 2006-08-19 22:34:18.0 -0700 +++ openafs-new/src/afs/LINUX/osi_vfsops.c 2006-10-05 16:45:36.0 -0700 @@ -312,8 +312,9 @@ void afs_destroy_inodecache(void) { -if (kmem_cache_destroy(afs_inode_cachep)) - printk(KERN_INFO afs_inode_cache: not all structures were freed\n); +/*if (kmem_cache_destroy(afs_inode_cachep)) + printk(KERN_INFO afs_inode_cache: not all structures were freed\n);*/ +kmem_cache_destroy(afs_inode_cachep); } #else int diff -ru openafs/src/afs/LINUX/osi_vnodeops.c openafs-new/src/afs/LINUX/osi_vnodeops.c --- openafs/src/afs/LINUX/osi_vnodeops.c 2006-08-13 09:50:43.0 -0700 +++ openafs-new/src/afs/LINUX/osi_vnodeops.c 2006-10-05 19:04:33.0 -0700 @@ -75,7 +75,7 @@ else { osi_FlushPages(vcp, credp); /* ensure stale pages are gone */ AFS_GUNLOCK(); - code = generic_file_read(fp, buf, count, offp); + code = do_sync_read(fp, buf, count, offp); AFS_GLOCK(); } @@ -121,7 +121,7 @@ code = -code; else { AFS_GUNLOCK(); - code = generic_file_write(fp, buf, count, offp); + code = do_sync_write(fp, buf, count, offp); AFS_GLOCK(); } @@ -565,6 +565,7 @@ struct file_operations afs_file_fops = { .read = afs_linux_read, .write = afs_linux_write, + .aio_read = generic_file_aio_read, #ifdef HAVE_UNLOCKED_IOCTL .unlocked_ioctl = afs_unlocked_xioctl, #else --alex-- -- | I believe the moment is at hand when, by a paranoiac and active | | advance of the mind, it will be possible (simultaneously with | | automatism and other passive states) to systematize confusion | | and thus to help to discredit completely the world of reality. |
[OpenAFS] Re: openafs and linux 2.6.19-rc1 [patch]
Alex Romosan [EMAIL PROTECTED] writes: the new linux kernel has lost a couple more functions which affect openafs (generic_file_read/write). the attached patch lets me use openafs with the above-mentioned kernel. it is generated against the debian package (which finally works on amd64, yeay) but it applies against cvs head with a bit of fuzz. diff -ru openafs/src/afs/LINUX/osi_vfsops.c openafs-new/src/afs/LINUX/osi_vfsops.c --- openafs/src/afs/LINUX/osi_vfsops.c2006-08-19 22:34:18.0 -0700 +++ openafs-new/src/afs/LINUX/osi_vfsops.c2006-10-05 16:45:36.0 -0700 @@ -312,8 +312,9 @@ void afs_destroy_inodecache(void) { -if (kmem_cache_destroy(afs_inode_cachep)) - printk(KERN_INFO afs_inode_cache: not all structures were freed\n); +/*if (kmem_cache_destroy(afs_inode_cachep)) + printk(KERN_INFO afs_inode_cache: not all structures were freed\n);*/ +kmem_cache_destroy(afs_inode_cachep); } #else int diff -ru openafs/src/afs/LINUX/osi_vnodeops.c openafs-new/src/afs/LINUX/osi_vnodeops.c --- openafs/src/afs/LINUX/osi_vnodeops.c 2006-08-13 09:50:43.0 -0700 +++ openafs-new/src/afs/LINUX/osi_vnodeops.c 2006-10-05 19:04:33.0 -0700 @@ -75,7 +75,7 @@ else { osi_FlushPages(vcp, credp); /* ensure stale pages are gone */ AFS_GUNLOCK(); - code = generic_file_read(fp, buf, count, offp); + code = do_sync_read(fp, buf, count, offp); AFS_GLOCK(); } @@ -121,7 +121,7 @@ code = -code; else { AFS_GUNLOCK(); - code = generic_file_write(fp, buf, count, offp); + code = do_sync_write(fp, buf, count, offp); AFS_GLOCK(); } @@ -565,6 +565,7 @@ struct file_operations afs_file_fops = { .read =afs_linux_read, .write = afs_linux_write, + .aio_read = generic_file_aio_read, #ifdef HAVE_UNLOCKED_IOCTL .unlocked_ioctl = afs_unlocked_xioctl, #else sorry to follow up on my own post, but the above patch works only for reads. for writes one also needs to add .aio_write = generic_file_aio_write, below .aio_read above. --alex-- -- | I believe the moment is at hand when, by a paranoiac and active | | advance of the mind, it will be possible (simultaneously with | | automatism and other passive states) to systematize confusion | | and thus to help to discredit completely the world of reality. | ___ OpenAFS-info mailing list OpenAFS-info@openafs.org https://lists.openafs.org/mailman/listinfo/openafs-info
[OpenAFS] Re: OpenAFS 1.4.2fc2 and Vanilla Linux kernel 2.6.18
Derrick J Brashear [EMAIL PROTECTED] writes: You kids and your wacky reply to all reply list pruned. Found system call table at 0x803e2d20 (pattern scan) Found 32-bit system call table at 0x803e3bb0 (pattern scan) Starting AFS cache scan...1Unable to handle kernel NULL pointer dereference at 0c7f RIP: [882a8ff2] :libafs:afs_cellname_init+0xc2/0x290 Without working particularly hard I'll guess a misparsed cellname was passed in, and it's the fix in src/auth/cellconfig.c since fc4. i also get an oops on debian on an amd64 (kernel 2.6.18, latest debian package which is based on fc4): kernel: Unable to handle kernel paging request at fffd RIP: kernel: [887662b6] :openafs:check_table+0x26/0x50 kernel: PGD 203027 PUD 2c09067 PMD 0 kernel: Oops: [1] PREEMPT kernel: CPU 0 kernel: Modules linked in: openafs lp ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables parport_pc parport snd_cmipci gameport nd_mpu401_uart snd_rawmidi snd_seq_device snd_bt87x snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc tuner t o_buf firmware_class ir_common btcx_risc tveeprom ehci_hcd ohci_hcd ohci1394 ext3 jbd dm_snapshot dm_mirror dm_mod sr_mod sbp2 ieee1 kernel: Pid: 3778, comm: modprobe Tainted: P 2.6.18 #36 kernel: RIP: 0010:[887662b6] [887662b6] :openafs:check_table+0x26/0x50 kernel: RSP: 0018:81007a28bec0 EFLAGS: 00010286 kernel: RAX: 8020 RBX: fffd RCX: kernel: RDX: RSI: fffd RDI: kernel: RBP: R08: R09: 887942a0 kernel: R10: R11: 0001 R12: fffd kernel: R13: 887931c8 R14: 88792fa0 R15: 6000 kernel: FS: 2b7b9ffce6d0() GS:8061() knlGS: kernel: CS: 0010 DS: ES: CR0: 8005003b kernel: CR2: fffd CR3: 7a223000 CR4: 06e0 kernel: Process modprobe (pid: 3778, threadinfo 81007a28a000, task 81007e1397c0) kernel: Stack: 8876636b 8027639e 80264643 kernel: 88792fa0 000f091b 2b7b9fc93000 kernel: 00529668 2b7b9fc93000 887665aa 2b7b9fc93000 kernel: Call Trace: kernel: [8876636b] :openafs:scan_for_syscall_table+0x8b/0x240 kernel: [8027639e] sys_ioctl+0x0/0x5e kernel: [80264643] sys_close+0x0/0xdd kernel: [887665aa] :openafs:osi_find_syscall_table+0x8a/0x1f0 kernel: [88766e4b] :openafs:osi_syscall_init+0xb/0xe0 kernel: [887a9017] :openafs:init_module+0x17/0xa4 kernel: [8024159b] sys_init_module+0xa5/0x202 kernel: [802097ce] system_call+0x7e/0x83 kernel: kernel: kernel: Code: 48 39 06 76 20 ff c1 81 f9 de 00 00 00 75 0b b9 ff ff ff ff kernel: RIP [887662b6] :openafs:check_table+0x26/0x50 kernel: RSP 81007a28bec0 kernel: CR2: fffd --alex-- -- | I believe the moment is at hand when, by a paranoiac and active | | advance of the mind, it will be possible (simultaneously with | | automatism and other passive states) to systematize confusion | | and thus to help to discredit completely the world of reality. | ___ OpenAFS-info mailing list OpenAFS-info@openafs.org https://lists.openafs.org/mailman/listinfo/openafs-info