Re: reiser4 panic in do_readpage_extent

2007-03-11 Thread Edward Shishkin

Devils-Hawk wrote:

The problem still persists also trying to boot multiple times it 
sometimes triggers much earlier in the boot process than it did before.




Hmm.. can not reproduce it..
The attached patch (against reiser4-for-2.6[19, 20]) allows to dump stack
and some useful info noted as edward-200X among other boot messages.
Would you please send it.

Thanks,
Edward.


regards devh

Edward Shishkin wrote:



Would you please try the attached patch over reiser4-for-2.6.[19, 20]

Thanks,
Edward.







Handle possible race:
do not proceed uf_readpages_filler if page is already uptodate.
Print debugging info.

Signed-off-by: Edward Shishkin [EMAIL PROTECTED]
---
 linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c|4 +++
 linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c |   17 ++
 2 files changed, 21 insertions(+)

--- linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c.orig
+++ linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c
@@ -1619,6 +1619,10 @@
 		lock_page(page);
 		cbk_done = 1;
 	}
+	if (PageUptodate(page)) {
+		unlock_page(page);
+		return 0;
+	}
 	ret = zload(rc-coord.node);
 	if (ret) {
 		unlock_page(page);
--- linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c.orig
+++ linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c
@@ -1157,7 +1157,24 @@
 
 	case UNALLOCATED_EXTENT:
 		j = jfind(mapping, index);
+		if (j == NULL) {
+			dump_stack();
+			printk(edward-2000: oid = %llu\n,
+			   (unsigned long long)oid);
+			printk(edward-2001: Jnode not found\n);
+		}
 		assert(nikita-2688, j);
+		if (jnode_page(j) != NULL) {
+			dump_stack();
+			printk(edward-2002: oid = %llu\n,
+			   (unsigned long long)oid);
+			printk(edward-2003: read page  %p of idx %lu\n,
+			   page, page-index);
+			printk(edward-2004: jnode page %p of idx %lu\n,
+			   jnode_page(j), jnode_page(j)-index);
+			printk(edward-2005: jnode blknr =  %llu\n,
+			   (unsigned long long)(*jnode_get_block(j)));
+		}
 		assert(vs-1426, jnode_page(j) == NULL);
 
 		spin_lock_jnode(j);


reiser4 panic

2007-03-11 Thread Matheus Izvekov

Got this oops message while using reiser4:

reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[update-eix(3889)]: key_warning
(fs/reiser4/plugin/file_plugin_common.c:513)[nikita-717]:
WARNING: Error for inode 315366 (-2)
reiser4[emerge(4574)]: plugin_by_unsafe_id
(fs/reiser4/plugin/plugin.c:276)[nikita-2913]:
WARNING: Invalid plugin id: [2:60484]
BUG: unable to handle kernel NULL pointer dereference at virtual
address 0004
printing eip:
f9c9a970
*pde = 
Oops:  [#1]
PREEMPT
Modules linked in: ntfs bridge ipx p8022 psnap llc p8023 udf isofs
zlib_inflate snd_rtctimer pppoe pppox ppp_generic slhc af_packet
w83627hf hwmon_vid hwmon eeprom i2c_isa iptable_raw ipt_MASQUERADE
iptable_nat ip_nat ipt_tos xt_CLASSIFY xt_mark iptable_mangle
xt_tcpudp ipt_set xt_length xt_limit ipt_REJECT xt_conntrack
ip_conntrack nfnetlink ipt_ULOG iptable_filter ip_tables x_tables
ip_set_portmap fuse snd_pcm_oss snd_mixer_oss snd_seq_oss
snd_seq_midi_event snd_seq snd_seq_device rtc reiser4 ext2 mbcache
configfs i2c_dev fan button ip_set loop fbcon crc32 font bitblit
softcursor vesafb_tng fb vesafb_thread mousedev joydev eth1394
usb_storage usbhid ff_memless nvidia(P) evdev tuner snd_intel8x0
cx8800 snd_ac97_codec sr_mod cx88xx ac97_bus cdrom ir_common
i2c_algo_bit snd_pcm video_buf snd_timer psmouse tveeprom
compat_ioctl32 btcx_risc videodev snd nvidia_agp i2c_nforce2 serio_raw
ohci1394 ieee1394 v4l1_compat ohci_hcd soundcore snd_page_alloc
agpgart 8250_pnp 8250 serial_core ehci_hcd uhci_hcd i2c_core pata_amd
v4l2_common forcedeth usbcore sg unix
CPU:0
EIP:0060:[f9c9a970]Tainted: P  VLI
EFLAGS: 00210282   (2.6.19.2 #4)
EIP is at obtain_item_plugin+0x10/0x20 [reiser4]
eax:    ebx: d54f0bc4   ecx: c1803040   edx: 
esi: d54f0bc4   edi: e3888300   ebp: d54f0c5c   esp: d54f0b14
ds: 007b   es: 007b   ss: 0068
Process emerge (pid: 4574, ti=d54f task=efc3faa0 task.ti=d54f)
Stack: d54f0bc4 f9c9ab99 d54f0bc4 f9c7caee  efc3faa0 d83e7920 f9c5bed2
  d83e7920 d83e7920 f9c5b70a  e3888300 d54f0bc4 f9cb1ca0 d54f0c5c
  f9c6fb5f  0050 dc0936c4 0002 d54f0dfc 62696e69 006c6962
Call Trace:
[f9c9ab99] item_type_by_coord+0x29/0x30 [reiser4]
[f9c7caee] owns_item_common_dir+0x1e/0x80 [reiser4]
[f9c5bed2] zparse+0x52/0x70 [reiser4]
[f9c5b70a] jload_gfp+0x6a/0x1b0 [reiser4]
[f9c6fb5f] coord_by_handle+0x2bf/0xde0 [reiser4]
[f9c70928] object_lookup+0xc8/0x110 [reiser4]
[f9c879da] find_entry+0xba/0x290 [reiser4]
[f9c5ab6f] jrelse+0xf/0x20 [reiser4]
[f9c75ab2] init_inode_ordering+0x92/0xa0 [reiser4]
[f9c60e7e] longterm_unlock_znode+0x7e/0x1e0 [reiser4]
[f9c87c4d] lookup_name+0x9d/0x110 [reiser4]
[f9c7a7b5] lookup_common+0x55/0x100 [reiser4]
[c017aaad] d_alloc+0x1d/0x1e0
[c016fd98] do_lookup+0x148/0x190
[c0171f5e] __link_path_walk+0x7ee/0xfc0
[c0134cf8] slice+0x8/0x20
[c0134d63] staircase_normal_prio+0x53/0x90
[c017277f] link_path_walk+0x4f/0xe0
[c0115c3a] do_page_fault+0x4ca/0x610
[c0172a1a] do_path_lookup+0xaa/0x280
[c01714db] getname+0x9b/0xf0
[c017347b] __user_walk_fd+0x3b/0x60
[c0166ec5] sys_faccessat+0x95/0x160
[c0115c3a] do_page_fault+0x4ca/0x610
[c0166faf] sys_access+0x1f/0x30
[c0102fa1] sysenter_past_esp+0x56/0x79
===
Code: 03 42 24 c3 8d b4 26 00 00 00 00 8b 10 8b 92 84 00 00 00 ff 52
30 0f b7 c0 c3 90 53 89 c3 8b 00 8b 90 84 00 00 00 89 d8 ff 52 34 0f
be 40 04 88 43 08 5b c3 8d 

Re: reiser4 panic

2007-03-11 Thread Edward Shishkin

Hello Matheus,
Unfortunately, there is no suggestions except checking this by fsck.

Thanks,
Edward.


Matheus Izvekov wrote:


Got this oops message while using reiser4:

reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]:
WARNING: Keys are inconsistent. Fsck?
reiser4[update-eix(3889)]: key_warning
(fs/reiser4/plugin/file_plugin_common.c:513)[nikita-717]:
WARNING: Error for inode 315366 (-2)
reiser4[emerge(4574)]: plugin_by_unsafe_id
(fs/reiser4/plugin/plugin.c:276)[nikita-2913]:
WARNING: Invalid plugin id: [2:60484]
BUG: unable to handle kernel NULL pointer dereference at virtual
address 0004
printing eip:
f9c9a970
*pde = 
Oops:  [#1]
PREEMPT
Modules linked in: ntfs bridge ipx p8022 psnap llc p8023 udf isofs
zlib_inflate snd_rtctimer pppoe pppox ppp_generic slhc af_packet
w83627hf hwmon_vid hwmon eeprom i2c_isa iptable_raw ipt_MASQUERADE
iptable_nat ip_nat ipt_tos xt_CLASSIFY xt_mark iptable_mangle
xt_tcpudp ipt_set xt_length xt_limit ipt_REJECT xt_conntrack
ip_conntrack nfnetlink ipt_ULOG iptable_filter ip_tables x_tables
ip_set_portmap fuse snd_pcm_oss snd_mixer_oss snd_seq_oss
snd_seq_midi_event snd_seq snd_seq_device rtc reiser4 ext2 mbcache
configfs i2c_dev fan button ip_set loop fbcon crc32 font bitblit
softcursor vesafb_tng fb vesafb_thread mousedev joydev eth1394
usb_storage usbhid ff_memless nvidia(P) evdev tuner snd_intel8x0
cx8800 snd_ac97_codec sr_mod cx88xx ac97_bus cdrom ir_common
i2c_algo_bit snd_pcm video_buf snd_timer psmouse tveeprom
compat_ioctl32 btcx_risc videodev snd nvidia_agp i2c_nforce2 serio_raw
ohci1394 ieee1394 v4l1_compat ohci_hcd soundcore snd_page_alloc
agpgart 8250_pnp 8250 serial_core ehci_hcd uhci_hcd i2c_core pata_amd
v4l2_common forcedeth usbcore sg unix
CPU:0
EIP:0060:[f9c9a970]Tainted: P  VLI
EFLAGS: 00210282   (2.6.19.2 #4)
EIP is at obtain_item_plugin+0x10/0x20 [reiser4]
eax:    ebx: d54f0bc4   ecx: c1803040   edx: 
esi: d54f0bc4   edi: e3888300   ebp: d54f0c5c   esp: d54f0b14
ds: 007b   es: 007b   ss: 0068
Process emerge (pid: 4574, ti=d54f task=efc3faa0 task.ti=d54f)
Stack: d54f0bc4 f9c9ab99 d54f0bc4 f9c7caee  efc3faa0 d83e7920 
f9c5bed2
  d83e7920 d83e7920 f9c5b70a  e3888300 d54f0bc4 f9cb1ca0 
d54f0c5c
  f9c6fb5f  0050 dc0936c4 0002 d54f0dfc 62696e69 
006c6962

Call Trace:
[f9c9ab99] item_type_by_coord+0x29/0x30 [reiser4]
[f9c7caee] owns_item_common_dir+0x1e/0x80 [reiser4]
[f9c5bed2] zparse+0x52/0x70 [reiser4]
[f9c5b70a] jload_gfp+0x6a/0x1b0 [reiser4]
[f9c6fb5f] coord_by_handle+0x2bf/0xde0 [reiser4]
[f9c70928] object_lookup+0xc8/0x110 [reiser4]
[f9c879da] find_entry+0xba/0x290 [reiser4]
[f9c5ab6f] jrelse+0xf/0x20 [reiser4]
[f9c75ab2] init_inode_ordering+0x92/0xa0 [reiser4]
[f9c60e7e] longterm_unlock_znode+0x7e/0x1e0 [reiser4]
[f9c87c4d] lookup_name+0x9d/0x110 [reiser4]
[f9c7a7b5] lookup_common+0x55/0x100 [reiser4]
[c017aaad] d_alloc+0x1d/0x1e0
[c016fd98] do_lookup+0x148/0x190
[c0171f5e] __link_path_walk+0x7ee/0xfc0
[c0134cf8] slice+0x8/0x20
[c0134d63] staircase_normal_prio+0x53/0x90
[c017277f] link_path_walk+0x4f/0xe0
[c0115c3a] do_page_fault+0x4ca/0x610
[c0172a1a] do_path_lookup+0xaa/0x280
[c01714db] getname+0x9b/0xf0
[c017347b] __user_walk_fd+0x3b/0x60
[c0166ec5] sys_faccessat+0x95/0x160
[c0115c3a] do_page_fault+0x4ca/0x610
[c0166faf] sys_access+0x1f/0x30
[c0102fa1] sysenter_past_esp+0x56/0x79
===
Code: 03 42 24 c3 8d b4 26 00 00 

Re: reiser4 panic

2007-03-11 Thread Matheus Izvekov

On 3/11/07, Edward Shishkin [EMAIL PROTECTED] wrote:

Hello Matheus,
Unfortunately, there is no suggestions except checking this by fsck.

Thanks,
Edward.



Just did it, here is what i got:

FSCK: Node (3112), item (12), [123c7:1(SD):12e747561726567:5a379:0]: item has
the wrong length (56). Should be (2).
FSCK: Node (3112), item (12), [123c7:1(SD):12e747561726567:5a379:0]: broken item
found.
FSCK: Node (3112): the node is broken. Pointed from the node (14624), item (47),
unit (0). The whole subtree is skipped.
FSCK: Node (4294), item (0): Offset (12771) is wrong. Should be (28).
FSCK: Node (4294): the node is broken. Pointed from the node (24403), item (55),
unit (0). The whole subtree is skipped.
FSCK: Node (24453), item (0): Offset (0) is wrong. Should be (28).
FSCK: Node (24453): the node is broken. Pointed from the node (24411), item
(22), unit (0). The whole subtree is skipped.
FSCK: Node (30345), items (13) and (14): Wrong order of keys.
FSCK: Node (30345): the node is broken. Pointed from the node (68437), item
(26), unit (0). The whole subtree is skipped.
FSCK: Node (58606), item (0): Offset (6946) is wrong. Should be (28).
FSCK: Node (58606): the node is broken. Pointed from the node (15337), item
(39), unit (0). The whole subtree is skipped.
FSCK: Node (17165), item (3), unit (1), [1cc66:0(NAME):0:0:0]: unit offset
(29281) is wrong.
FSCK: Node (17165), item (3), unit (1), [1cc66:0(NAME):0:0:0]: unit offset
(29281) is wrong, should be (104).
FSCK: Node (17165), item (3), [1cc66:0(NAME):0:0:0]: broken item found.
FSCK: Node (17165): the node is broken. Pointed from the node (72100), item
(32), unit (0). The whole subtree is skipped.
FSCK: Node (20681), item (3), [1d328:1(SD):2e4d616e696665:3f2cf:0]: item has the
wrong length (56). Should be (2).
FSCK: Node (20681), item (3), [1d328:1(SD):2e4d616e696665:3f2cf:0]: broken item
found.
FSCK: Node (20681): the node is broken. Pointed from the node (72105), item
(25), unit (0). The whole subtree is skipped.
FSCK: Node (27567), item (0): Offset (3617) is wrong. Should be (28).
FSCK: Node (27567): the node is broken. Pointed from the node (22954), item
(31), unit (0). The whole subtree is skipped.
FSCK: Node (41824), item (2), unit (29), [30bcf:0(NAME):0:0:0]: unit offset
(7738) is wrong.
FSCK: Node (41824), item (2), unit (29), [30bcf:0(NAME):0:0:0]: unit offset
(7738) is wrong, should be (1868).
FSCK: Node (41824), item (2), [30bcf:0(NAME):0:0:0]: broken item found.
FSCK: Node (41824): the node is broken. Pointed from the node (71189), item (4),
unit (0). The whole subtree is skipped.
FSCK: Node (65820), item (0): Offset (14806) is wrong. Should be (28).
FSCK: Node (65820): the node is broken. Pointed from the node (71421), item
(29), unit (0). The whole subtree is skipped.
FSCK: Node (44979), item (0): Offset (15083) is wrong. Should be (28).
FSCK: Node (44979): the node is broken. Pointed from the node (72037), item
(49), unit (0). The whole subtree is skipped.
FSCK: Node (55661), item (14), [44215:0(NAME):0:0:0]: unit count (25185) is not
correct. Should be (3).
FSCK: Node (55661), item (14), [44215:0(NAME):0:0:0]: entries [0..0] look
corrupted.
FSCK: Node (55661), item (14), [44215:0(NAME):0:0:0]: broken item found.
FSCK: Node (55661): the node is broken. Pointed from the node (72529), item (7),
unit (0). The whole subtree is skipped.
FSCK: Node (64366): Region of items [9-10] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-11] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-12] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-13] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-14] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-15] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-16] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-17] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-18] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-19] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-20] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-21] with wrong offsets should be removed.
FSCK: Node (64366): Region of items [9-22] with wrong offsets should be removed.
FSCK: Node (64366): Free space start (3222) is wrong. Should be (1195).
FSCK: Node (64366): the node is broken. Pointed from the node (72523), item
(20), unit (0). The whole subtree is skipped.

Then i ran it with --build-fs:

FSCK: Node (3112), item (12), [123c7:1(SD):12e747561726567:5a379:0]: item has
the wrong length (56). Should be (2). Fixed.
FSCK: Node (4294), item (0): Offset (12771) is wrong. Should be (28). Fixed.
FSCK: Node (4294), item (0),
[13819:4(FB):65786d616373:17465786d616373:d001381d]: does not look likea
valid (sdext_symlink) statdata extension.
FSCK: Node