Possible patch for reiserfs-3.6.22 against 2.4.0-test12
Hiya.
The latest reiserfs patch on ftp.namesys.com causes compilation errors against test12 due to the task queue changes. Does this look correct?
reiserfs/journal.c renamed from reiserfs/journal.c.orig +2 -2
@@ -1762,7 +1762,7 @@ ct->p_s_sb = p_s_sb ; ct->jindex = jindex ; ct->task_done =NULL ; - ct->task.next =NULL ; +INIT_LIST_HEAD (&ct->task.list); ct->task.sync =0 ; ct->task.routine = (void *)(void *)reiserfs_journal_commit_task_func ; ct->self = ct ;
@@ -1813,7 +1813,7 @@lock_kernel () ;while (1 ) { -while (reiserfs_commit_thread_tq) { +while (TQ_ACTIVE (reiserfs_commit_thread_tq)) {run_task_queue (&reiserfs_commit_thread_tq) ; }
It does at least compile with these changes, but I haven't yet tested it. Looking at run_task_queue, it would appear that the while() is now redundant, but could someone who knows confirm/deny this?
Signature · 7 lines
Adam Sampson [email protected] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] Please read the FAQ at http://www.tux.org/lkml/
Quoted 5 lines
Hiya.
The latest reiserfs patch on ftp.namesys.com causes compilation errors against test12 due to the task queue changes. Does this look correct?
Please, somebody can test this patch
-- BOF --
fs/reiserfs/journal.c +8 -6
@@ -77,7 +77,9 @@/* wait on this if you need to be sure you task queue entries have been run */ static DECLARE_WAIT_QUEUE_HEAD (reiserfs_commit_thread_done) ; -DECLARE_TASK_QUEUE (reiserfs_commit_thread_tq) ; + +/*DECLARE_TASK_QUEUE(reiserfs_commit_thread_tq) ; */ +task_queue *reiserfs_commit_thread_tq =NULL ;#define JOURNAL_TRANS_HALF 1018/* must be correct to keep the desc and commit structs at 4k */
@@ -1762,7 +1764,7 @@ ct->p_s_sb = p_s_sb ; ct->jindex = jindex ; ct->task_done =NULL ; - ct->task.next =NULL ; +INIT_LIST_HEAD (&ct->task.list); ct->task.sync =0 ; ct->task.routine = (void *)(void *)reiserfs_journal_commit_task_func ; ct->self = ct ;
@@ -1777,7 +1779,7 @@ ct =kmalloc (sizeof (struct reiserfs_journal_commit_task ),GFP_BUFFER ) ;if (ct) {setup_commit_task_arg (ct, p_s_sb, jindex) ; -queue_task (&(ct->task), &reiserfs_commit_thread_tq); +queue_task (&(ct->task), reiserfs_commit_thread_tq);wake_up (&reiserfs_commit_thread_wait) ; }else {#ifdef CONFIG_REISERFS_CHECK
@@ -1813,13 +1814,13 @@lock_kernel () ;while (1 ) { -while (reiserfs_commit_thread_tq) { -run_task_queue (&reiserfs_commit_thread_tq) ; +while (reiserfs_commit_thread_tq) { +run_task_queue (reiserfs_commit_thread_tq) ; }/* if there aren't any more filesystems left, break */ if (reiserfs_mounted_fs_count <=0 ) { -run_task_queue (&reiserfs_commit_thread_tq) ; +run_task_queue (reiserfs_commit_thread_tq) ;break ; }wake_up (&reiserfs_commit_thread_done) ;
include/linux/reiserfs_fs.h +2 -2
@@ -1565,8 +1565,8 @@int do_not_lock ; } ; -extern task_queue reiserfs_commit_thread_tq ; -extern task_queue reiserfs_end_io_tq ; +extern task_queue *reiserfs_commit_thread_tq ; +extern task_queue *reiserfs_end_io_tq ;extern wait_queue_head_t reiserfs_commit_thread_wait ;/* biggest tunable defines are right here */
-- EOF --
cya;
Signature · 11 lines
_________________________ Carlos E Gorges ([email protected]) Tech inform�tica LTDA Brazil _________________________ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] Please read the FAQ at http://www.tux.org/lkml/
Hi Carlos!
I have this oops with your patch. applied to clean 2.4.0test12+reiserfs
3.6.22
reiserfs is compiled as module. I can mount the partition but after 4 o
5 seconds kupdate oops, dies and I have to reboot becauser I can no longer write to any disk. The system didn't crashed I can open new terminal and run programs.
Please don't hesitate to contact me if you need more info.
-Jorge
---------------------------------------------------------------------
ksymoops 2.3.4 on i686 2.4.0-test12. Options used
-V (specified)
-k /proc/ksyms (specified)
-l /proc/modules (specified)
-o /lib/modules/2.4.0-test12/ (specified) -m /boot/System.map-2.4.0-test12 (specified)
Unable to handle kernel NULL pointer dereference at virtual address 00000004
d084d180
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[reiserfs:__insmod_reiserfs_S.text_L121821+106784/121888]
EFLAGS: 00010046
eax: 00000246 ebx: cf734680 ecx: 00000000 edx: cf734000
esi: cf734694 edi: 00000000 ebp: 00000000 esp: c15e7f0c
ds: 0018 es: 0018 ss: 0018
Process kupdate (pid: 6, stackpage=c15e7000)
Stack: 00000000 00000012 00000010 d084f450 c1550e00 00000000 c15e7f98
c15e623a
d0856916 c1550e00 00003ce1 00000000 00000001 00000000 0000000c
0000000b
00000000 00001cd6 cf9964c0 cfe57340 ceaed000 cf8de000 d08782f4
d084e21e
Call Trace: [reiserfs:__insmod_reiserfs_S.text_L121821+115696/121888][reiserfs:__insmod_reiserfs_S.rodata_L26959+23702/26976] [scsi_mod:proc_scsi_Rba5e7901+345560/74510060] [reiserfs:__insmod_reiserfs_S.text_L121821+111038/121888] [reiserfs:__insmod_reiserfs_S.rodata_L26959+23279/26976] [reiserfs:__insmod_reiserfs_S.text_L121821+50184/121888] [tvecs+13774/62872]
Code: 8b 51 04 89 71 04 89 4b 14 89 56 04 89 32 50 9d b9 01 00 00
Using defaults from ksymoops -t elf32-i386 -a i386
Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: 8b 51 04 mov 0x4(%ecx),%edx
Code; 00000003 Before first symbol
3: 89 71 04 mov %esi,0x4(%ecx)
Code; 00000006 Before first symbol
6: 89 4b 14 mov %ecx,0x14(%ebx)
Code; 00000009 Before first symbol
9: 89 56 04 mov %edx,0x4(%esi)
Code; 0000000c Before first symbol
c: 89 32 mov %esi,(%edx)
Code; 0000000e Before first symbol
e: 50 push %eax
Code; 0000000f Before first symbol
f: 9d popf
Code; 00000010 Before first symbol
10: b9 01 00 00 00 mov $0x1,%ecx
----------------------------------------------------------------
==============================================================
Jorge Boncompte - Técnico de sistemas
DTI2 - Desarrollo de la Tecnología de las Comunicaciones
--------------------------------------------------------------
C/ Abogado Enriquez Barrios, 5 14004 CORDOBA (SPAIN)
Tlf: +34 957 761395 / FAX: +34 957 450380
--------------------------------------------------------------
[email protected] _-_-_-_-_-_-_-_-_-_-_-_-_-_ http://www.dti2.net
==============================================================
Without wicker a basket cannot be done.
==============================================================
----- Mensaje original -----
De: "Carlos E. Gorges" <[email protected]>
Para: <[email protected]>
Enviado: miércoles, 13 de diciembre de 2000 14:14
Asunto: Re: Possible patch for reiserfs-3.6.22 against 2.4.0-test12
Quoted 13 lines
Quoted 5 lines
Hiya.
The latest reiserfs patch on ftp.namesys.com causes compilation errors against test12 due to the task queue changes. Does this look correct?
Please, somebody can test this patch
-- BOF --
diff -urlinux-bk/fs/reiserfs/journal.clinux/fs/reiserfs/journal.c
fs/reiserfs/journal.c Tue Dec 12 17:41:19 2000 line 78
Quoted 2 lines
fs/reiserfs/journal.c Tue Dec 12 17:41:19 2000 renamed from fs/reiserfs/journal.c Tue Dec 12 14:38:22 2000 +0
-0@@ -77,7 +77,9 @@ /* wait on this if you need to be sure you task queue entries have been
run */
fs/reiserfs/journal.c Tue Dec 12 17:41:19 2000 line 84
Quoted 7 lines
fs/reiserfs/journal.c Tue Dec 12 17:41:19 2000 renamed from fs/reiserfs/journal.c Tue Dec 12 14:38:22 2000 +3
-1static DECLARE_WAIT_QUEUE_HEAD(reiserfs_commit_thread_done) ; -DECLARE_TASK_QUEUE(reiserfs_commit_thread_tq) ; + +/*DECLARE_TASK_QUEUE(reiserfs_commit_thread_tq) ; */ +task_queue *reiserfs_commit_thread_tq = NULL; #define JOURNAL_TRANS_HALF 1018 /* must be correct to keep the desc and
commit structs at 4k */
Quoted 36 lines
fs/reiserfs/journal.c Tue Dec 12 17:41:19 2000 renamed from fs/reiserfs/journal.c Tue Dec 12 14:38:22 2000 +5
-5@@ -1762,7 +1764,7 @@ ct->p_s_sb = p_s_sb ; ct->jindex = jindex ; ct->task_done = NULL ; - ct->task.next = NULL ; + INIT_LIST_HEAD(&ct->task.list); ct->task.sync = 0 ; ct->task.routine = (void *)(void *)reiserfs_journal_commit_task_func ; ct->self = ct ;@@ -1777,7 +1779,7 @@ ct = kmalloc(sizeof(struct reiserfs_journal_commit_task), GFP_BUFFER) ; if (ct) { setup_commit_task_arg(ct, p_s_sb, jindex) ; - queue_task(&(ct->task), &reiserfs_commit_thread_tq); + queue_task(&(ct->task), reiserfs_commit_thread_tq); wake_up(&reiserfs_commit_thread_wait) ; } else { #ifdef CONFIG_REISERFS_CHECK@@ -1813,13 +1814,13 @@ lock_kernel() ; while(1) { - while(reiserfs_commit_thread_tq) { - run_task_queue(&reiserfs_commit_thread_tq) ; + while(reiserfs_commit_thread_tq) { + run_task_queue(reiserfs_commit_thread_tq) ; } /* if there aren't any more filesystems left, break */ if (reiserfs_mounted_fs_count <= 0) { - run_task_queue(&reiserfs_commit_thread_tq) ; + run_task_queue(reiserfs_commit_thread_tq) ; break ; } wake_up(&reiserfs_commit_thread_done) ;
Quoted 1 line
diff -ur
linux-bk/include/linux/reiserfs_fs.h
linux/include/linux/reiserfs_fs.h
Quoted 25 lines
include/linux/reiserfs_fs.h Tue Dec 12 17:31:09 2000 renamed from include/linux/reiserfs_fs.h Tue Dec 12 14:39:34 2000 +2
-3@@ -1565,8 +1565,8 @@ int do_not_lock ; } ; -extern task_queue reiserfs_commit_thread_tq ; -extern task_queue reiserfs_end_io_tq ; +extern task_queue *reiserfs_commit_thread_tq ; +extern task_queue *reiserfs_end_io_tq ; extern wait_queue_head_t reiserfs_commit_thread_wait ; /* biggest tunable defines are right here */ -- EOF --cya;
--
_________________________
Carlos E Gorges
([email protected])
Tech informática LTDA
Brazil
_________________________
Quoted 5 lines
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/