* What did I do wrong? Oopses with 7-30 auto-snapshot
@ 2004-07-30 22:30 Jonathan Briggs
2004-07-31 0:28 ` Maciejewski, Jake
2004-07-31 13:13 ` Vladimir V. Saveliev
0 siblings, 2 replies; 4+ messages in thread
From: Jonathan Briggs @ 2004-07-30 22:30 UTC (permalink / raw)
To: Reiserfs mail-list
[-- Attachment #1: Type: text/plain, Size: 2589 bytes --]
I wanted to try out the latest even though I know it may not work.
Either it doesn't work, or I did it wrong. I was hoping someone would
know which.
I've got a raid-0 device with a Reiser4 FS from March. When I tried to
mount that after booting 2.6.8-rc2-mm1-reiser4 I got an Oops. I thought
it might be a change in the disk structure so I got the latest (I think)
reiser4 tools and tried creating a new FS and loop mounting it. That
got me another, identical Oops.
Here it is if anyone wants to look:
Unable to handle kernel NULL pointer dereference at virtual address 00000004
printing eip:
c01b0df4
*pde = 00000000
Oops: 0000 [#1]
Modules linked in: joydev evdev usbhid dm_mod ehci_hcd uhci_hcd usbcore
CPU: 0
EIP: 0060:[<c01b0df4>] Not tainted VLI
EFLAGS: 00010286 (2.6.8-rc2-mm1)
EIP is at clog_link_object+0x64/0xe0
eax: 00000000 ebx: 00000000 ecx: c046d964 edx: c16e9dec
esi: defa8d60 edi: c16e9dec ebp: c16e9b08 esp: c16e9b04
ds: 007b es: 007b ss: 0068
Process mount (pid: 1523, threadinfo=c16e8000 task=df936bf0)
Stack: c16e9c08 c16e9dec c01b7450 00000008 defa8d60 00000001 00000000 00000000
defa8d60 c01b7789 c16e9dec defa8d60 c16e9dec 00000000 defa8d60 c01b781a
c16e9dec 00000000 00000000 00000001 00000000 c16e9dec defa8dc0 c01b7a9d
Call Trace:
[<c01b7450>] lock_object+0x50/0x90
[<c01b7789>] lock_tail+0x59/0x70
[<c01b781a>] longterm_lock_tryfast+0x7a/0xa0
[<c01b7a9d>] longterm_lock_znode+0x25d/0x280
[<c01f6081>] try_init_format40+0x311/0x3a0
[<c01c66de>] traverse_tree+0x22e/0x290
[<c01c5de7>] coord_by_key+0xb7/0xd0
[<c01d5cf6>] lookup_sd+0x76/0xb0
[<c01cc035>] read_inode+0x55/0x130
[<c01cc320>] reiser4_iget+0xf0/0x150
[<c01cc110>] init_locked_inode+0x0/0x60
[<c01d4683>] _init_fs_root+0x33/0x110
[<c01f1b32>] d_cursor_init_at+0x52/0xa0
[<c01d485b>] reiser4_fill_super+0x3b/0xa0
[<c015509e>] sb_set_blocksize+0x2e/0x60
[<c0154abd>] get_sb_bdev+0x11d/0x150
[<c01aca50>] journal_end+0xa0/0xc0
[<c01cdf7f>] reiser4_get_sb+0x2f/0x40
[<c01d4820>] reiser4_fill_super+0x0/0xa0
[<c0154d07>] do_kern_mount+0x57/0xe0
[<c0168c7c>] do_new_mount+0x9c/0xf0
[<c0169207>] do_mount+0x147/0x1a0
[<c0169063>] copy_mount_options+0x63/0xc0
[<c01695c0>] sys_mount+0xa0/0x100
[<c0103fa9>] sysenter_past_esp+0x52/0x71
Code: 8b 64 d9 46 c0 8b 55 00 89 83 68 d9 46 c0 b8 00 e0 ff ff 21 e0 8b 00 8b 80 88 00 00 00 89 83 64 d9 46 c0 8b 42 04 89 41 10 8b 02 <8b> 40 04 89 41 14 8b 02 8b 00 8b 40 04 89 41 18 8b 02 8b
00 8b
--
Jonathan Briggs
jbriggs@esoft.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: What did I do wrong? Oopses with 7-30 auto-snapshot
2004-07-30 22:30 What did I do wrong? Oopses with 7-30 auto-snapshot Jonathan Briggs
@ 2004-07-31 0:28 ` Maciejewski, Jake
2004-07-31 13:13 ` Vladimir V. Saveliev
1 sibling, 0 replies; 4+ messages in thread
From: Maciejewski, Jake @ 2004-07-31 0:28 UTC (permalink / raw)
To: Reiserfs mail-list
I'm getting oopses too, but it works with frame pointers enabled.
On Fri, 2004-07-30 at 17:30, Jonathan Briggs wrote:
> I wanted to try out the latest even though I know it may not work.
> Either it doesn't work, or I did it wrong. I was hoping someone would
> know which.
>
> I've got a raid-0 device with a Reiser4 FS from March. When I tried to
> mount that after booting 2.6.8-rc2-mm1-reiser4 I got an Oops. I thought
> it might be a change in the disk structure so I got the latest (I think)
> reiser4 tools and tried creating a new FS and loop mounting it. That
> got me another, identical Oops.
>
> Here it is if anyone wants to look:
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000004
> printing eip:
> c01b0df4
> *pde = 00000000
> Oops: 0000 [#1]
> Modules linked in: joydev evdev usbhid dm_mod ehci_hcd uhci_hcd usbcore
> CPU: 0
> EIP: 0060:[<c01b0df4>] Not tainted VLI
> EFLAGS: 00010286 (2.6.8-rc2-mm1)
> EIP is at clog_link_object+0x64/0xe0
> eax: 00000000 ebx: 00000000 ecx: c046d964 edx: c16e9dec
> esi: defa8d60 edi: c16e9dec ebp: c16e9b08 esp: c16e9b04
> ds: 007b es: 007b ss: 0068
> Process mount (pid: 1523, threadinfo=c16e8000 task=df936bf0)
> Stack: c16e9c08 c16e9dec c01b7450 00000008 defa8d60 00000001 00000000
> 00000000
> defa8d60 c01b7789 c16e9dec defa8d60 c16e9dec 00000000 defa8d60
> c01b781a
> c16e9dec 00000000 00000000 00000001 00000000 c16e9dec defa8dc0
> c01b7a9d
> Call Trace:
> [<c01b7450>] lock_object+0x50/0x90
> [<c01b7789>] lock_tail+0x59/0x70
> [<c01b781a>] longterm_lock_tryfast+0x7a/0xa0
> [<c01b7a9d>] longterm_lock_znode+0x25d/0x280
> [<c01f6081>] try_init_format40+0x311/0x3a0
> [<c01c66de>] traverse_tree+0x22e/0x290
> [<c01c5de7>] coord_by_key+0xb7/0xd0
> [<c01d5cf6>] lookup_sd+0x76/0xb0
> [<c01cc035>] read_inode+0x55/0x130
> [<c01cc320>] reiser4_iget+0xf0/0x150
> [<c01cc110>] init_locked_inode+0x0/0x60
> [<c01d4683>] _init_fs_root+0x33/0x110
> [<c01f1b32>] d_cursor_init_at+0x52/0xa0
> [<c01d485b>] reiser4_fill_super+0x3b/0xa0
> [<c015509e>] sb_set_blocksize+0x2e/0x60
> [<c0154abd>] get_sb_bdev+0x11d/0x150
> [<c01aca50>] journal_end+0xa0/0xc0
> [<c01cdf7f>] reiser4_get_sb+0x2f/0x40
> [<c01d4820>] reiser4_fill_super+0x0/0xa0
> [<c0154d07>] do_kern_mount+0x57/0xe0
> [<c0168c7c>] do_new_mount+0x9c/0xf0
> [<c0169207>] do_mount+0x147/0x1a0
> [<c0169063>] copy_mount_options+0x63/0xc0
> [<c01695c0>] sys_mount+0xa0/0x100
> [<c0103fa9>] sysenter_past_esp+0x52/0x71
> Code: 8b 64 d9 46 c0 8b 55 00 89 83 68 d9 46 c0 b8 00 e0 ff ff 21 e0 8b
> 00 8b 80 88 00 00 00 89 83 64 d9 46 c0 8b 42 04 89 41 10 8b 02 <8b> 40
> 04 89 41 14 8b 02 8b 00 8b 40 04 89 41 18 8b 02 8b
> 00 8b
--
Jake Maciejewski <maciejej@msoe.edu>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: What did I do wrong? Oopses with 7-30 auto-snapshot
2004-07-30 22:30 What did I do wrong? Oopses with 7-30 auto-snapshot Jonathan Briggs
2004-07-31 0:28 ` Maciejewski, Jake
@ 2004-07-31 13:13 ` Vladimir V. Saveliev
2004-07-31 15:52 ` Maciejewski, Jake
1 sibling, 1 reply; 4+ messages in thread
From: Vladimir V. Saveliev @ 2004-07-31 13:13 UTC (permalink / raw)
To: Jonathan Briggs; +Cc: Reiserfs mail-list
[-- Attachment #1: Type: text/plain, Size: 1083 bytes --]
Hello
Jonathan Briggs wrote:
> I wanted to try out the latest even though I know it may not work.
> Either it doesn't work, or I did it wrong. I was hoping someone would
> know which.
>
> I've got a raid-0 device with a Reiser4 FS from March. When I tried to
> mount that after booting 2.6.8-rc2-mm1-reiser4 I got an Oops. I thought
> it might be a change in the disk structure so I got the latest (I think)
> reiser4 tools and tried creating a new FS and loop mounting it. That
> got me another, identical Oops.
>
> Here it is if anyone wants to look:
> Unable to handle kernel NULL pointer dereference at virtual address 00000004
> printing eip:
> c01b0df4
> *pde = 00000000
> Oops: 0000 [#1]
> Modules linked in: joydev evdev usbhid dm_mod ehci_hcd uhci_hcd usbcore
> CPU: 0
> EIP: 0060:[<c01b0df4>] Not tainted VLI
> EFLAGS: 00010286 (2.6.8-rc2-mm1)
> EIP is at clog_link_object+0x64/0xe0
> eax: 00000000 ebx: 00000000 ecx: c046d964 edx: c16e9dec
Oops, yes, sorry, it did not work when CONFIG_FRAME_POINTER is not set
The attached patch should fix that
[-- Attachment #2: cleanup-patch.diff --]
[-- Type: text/plain, Size: 8739 bytes --]
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/07/31 17:02:21+04:00 reiser4@tribesman.namesys.com
# append_and_or_overwrite: no page fault holding longterm lock
#
# plugin/item/extent_file_ops.c
# 2004/07/31 17:02:18+04:00 reiser4@tribesman.namesys.com +0 -14
# append_and_or_overwrite: no page fault holding longterm lock
#
# ChangeSet
# 2004/07/31 16:51:02+04:00 reiser4@tribesman.namesys.com
# cleanup
#
# txnmgr.c
# 2004/07/31 16:50:59+04:00 reiser4@tribesman.namesys.com +0 -22
# cleanup
#
# plugin/item/extent_file_ops.c
# 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -5
# cleanup
#
# plugin/file/file.c
# 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -4
# cleanup
#
# lock.c
# 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -2
# cleanup
#
# debug.h
# 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -2
# cleanup
#
# debug.c
# 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +5 -44
# cleanup
#
# context.h
# 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +1 -3
# cleanup
#
diff -Nru a/context.h b/context.h
--- a/context.h 2004-07-31 17:10:22 +04:00
+++ b/context.h 2004-07-31 17:10:22 +04:00
@@ -146,10 +146,8 @@
err_site err;
/* information about delayed stat data updates. See above. */
dirty_inode_info dirty;
-
- void *mjd_bt[6]; /* last mark jnode dirty backtrace */
- int count;
#endif
+
#if REISER4_TRACE
/* per-thread tracing flags. Use reiser4_trace_flags enum to set
bits in it. */
diff -Nru a/debug.c b/debug.c
--- a/debug.c 2004-07-31 17:10:22 +04:00
+++ b/debug.c 2004-07-31 17:10:22 +04:00
@@ -637,7 +637,6 @@
int op;
void *data1;
void *data2;
- unsigned long data[6];
} clog_t;
clog_t clog[CLOG_LENGTH];
@@ -672,39 +671,6 @@
spin_unlock(&clog_lock);
}
-/* this is to log lock/unlock */
-void
-clog_link_object(int op, void *data1, void *data2)
-{
- int idx;
-
- spin_lock(&clog_lock);
-
- if (clog_length == CLOG_LENGTH) {
- idx = clog_start;
- clog_start ++;
- clog_start %= CLOG_LENGTH;
- } else {
- idx = clog_length;
- assert("vs-1672", clog_start == 0);
- clog_length ++;
- }
-
- clog[idx].id = clog_id ++;
- clog[idx].op = op;
- clog[idx].pid = current->pid;
- clog[idx].data[0] = (unsigned long)__builtin_return_address(1);
- clog[idx].data[1] = (unsigned long)__builtin_return_address(2);
- clog[idx].data[2] = (unsigned long)__builtin_return_address(3);
- clog[idx].data[3] = (unsigned long)__builtin_return_address(4);
- clog[idx].data[4] = (unsigned long)__builtin_return_address(5);
- clog[idx].data[5] = (unsigned long)__builtin_return_address(6);
- clog[idx].data1 = data1;
- clog[idx].data2 = data2;
- spin_unlock(&clog_lock);
-}
-
-
static const char *
op2str(int op)
{
@@ -727,25 +693,19 @@
void
print_clog(void)
{
- int i, j, k;
+ int i, j;
j = clog_start;
for (i = 0; i < clog_length; i ++) {
- if (clog[j].op == LINK_OBJECT || clog[j].op == UNLINK_OBJECT) {
- printk("%d(%d): id %d: pid %d, op %s, locks %p [",
- i, j, clog[j].id, clog[j].pid, op2str(clog[j].op), clog[j].data1);
- for (k = 0; k < 6; k ++)
- print_symname(clog[j].data[k]);
- printk("]\n");
- } else
- printk("%d(%d): id %d: pid %d, op %s, data1 %p, data2 %p\n",
- i, j, clog[j].id, clog[j].pid, op2str(clog[j].op), clog[j].data1, clog[j].data2);
+ printk("%d(%d): id %d: pid %d, op %s, data1 %p, data2 %p\n",
+ i, j, clog[j].id, clog[j].pid, op2str(clog[j].op), clog[j].data1, clog[j].data2);
j ++;
j %= CLOG_LENGTH;
}
printk("clog length %d\n", clog_length);
}
+#if 0
void
print_symname(unsigned long address)
{
@@ -759,6 +719,7 @@
if (name != NULL)
printk(" %s[%lx/%lx]", name, offset, size);
}
+#endif
/* Make Linus happy.
Local variables:
diff -Nru a/debug.h b/debug.h
--- a/debug.h 2004-07-31 17:10:22 +04:00
+++ b/debug.h 2004-07-31 17:10:22 +04:00
@@ -543,9 +543,7 @@
#define OP_NUM 10
void clog_op(int op, void *, void *);
-void clog_link_object(int op, void *, void *);
void print_clog(void);
-void print_symname(unsigned long address);
/* __FS_REISER4_DEBUG_H__ */
#endif
diff -Nru a/lock.c b/lock.c
--- a/lock.c 2004-07-31 17:10:22 +04:00
+++ b/lock.c 2004-07-31 17:10:22 +04:00
@@ -273,7 +273,6 @@
assert("reiser4-4", ergo(locks_list_empty(&owner->locks), owner->nr_locks == 0));
locks_list_push_back(&owner->locks, handle);
owner->nr_locks ++;
- clog_link_object(LINK_OBJECT, node, (void *)owner->nr_locks);
owners_list_push_front(&node->lock.owners, handle);
handle->signaled = 0;
@@ -292,7 +291,6 @@
locks_list_remove_clean(handle);
handle->owner->nr_locks --;
assert("reiser4-6", ergo(locks_list_empty(&handle->owner->locks), handle->owner->nr_locks == 0));
- clog_link_object(UNLINK_OBJECT, handle->node, (void *)handle->owner->nr_locks);
owners_list_remove_clean(handle);
diff -Nru a/plugin/file/file.c b/plugin/file/file.c
--- a/plugin/file/file.c 2004-07-31 17:10:22 +04:00
+++ b/plugin/file/file.c 2004-07-31 17:10:22 +04:00
@@ -1472,8 +1472,6 @@
if (result)
return result;
- clog_op(READPAGE_IN, (void *)(unsigned long)get_inode_oid(inode), (void *)page->index);
-
/* get key of first byte of the page */
key_by_inode_unix_file(inode, (loff_t) page->index << PAGE_CACHE_SHIFT, &key);
@@ -1490,7 +1488,6 @@
if (PageUptodate(page)) {
done_lh(&lh);
unlock_page(page);
- clog_op(READPAGE_OUT, (void *)(unsigned long)get_inode_oid(inode), (void *)page->index);
return 0;
}
@@ -1535,7 +1532,6 @@
save_file_hint(file, &hint);
assert("vs-979", ergo(result == 0, (PageLocked(page) || PageUptodate(page))));
- clog_op(READPAGE_OUT, (void *)(unsigned long)get_inode_oid(inode), (void *)page->index);
return result;
}
diff -Nru a/plugin/item/extent_file_ops.c b/plugin/item/extent_file_ops.c
--- a/plugin/item/extent_file_ops.c 2004-07-31 17:10:22 +04:00
+++ b/plugin/item/extent_file_ops.c 2004-07-31 17:10:22 +04:00
@@ -626,8 +626,6 @@
/* offset within the page */
page_off = (unsigned long)(file_off & (PAGE_CACHE_SIZE - 1));
- clog_op(EXTENT_WRITE_IN, (void *)(unsigned long)oid, (void *)(unsigned long)file_off);
-
/* key of first byte of page */
page_key = flow->key;
set_key_offset(&page_key, (loff_t)page_nr << PAGE_CACHE_SHIFT);
@@ -644,7 +642,6 @@
write_page_log(inode->i_mapping, page_nr);
- clog_op(EXTENT_WRITE_IN2, (void *)get_current_lock_stack()->nr_locks, 0);
result = make_extent(&page_key, uf_coord, mode, &blocknr, &created, inode/* check quota */);
if (result) {
goto exit1;
@@ -720,7 +717,6 @@
assert("nikita-2104", lock_stack_isclean(get_current_lock_stack()));
/* copy user data into page */
- clog_op(EXTENT_WRITE_OUT2, (void *)get_current_lock_stack()->nr_locks, 0);
result = __copy_from_user((char *)kmap(page) + page_off, flow->data - count, count);
kunmap(page);
if (unlikely(result)) {
@@ -764,15 +760,6 @@
file_off += count;
set_key_offset(&page_key, (loff_t)page_nr << PAGE_CACHE_SHIFT);
- if (flow->length) {
- /* read in next portion of user buffer */
- size_t bytes;
-
- bytes = PAGE_CACHE_SIZE;
- if (bytes > flow->length)
- bytes = flow->length;
- fault_in_pages_readable(flow->data, bytes);
- }
continue;
exit3:
@@ -794,12 +781,6 @@
*/
} while (flow->length && uf_coord->valid == 1);
-/*
- if (flow->length)
- DQUOT_FREE_SPACE_NODIRTY(inode, flow->length);
-*/
-
- clog_op(EXTENT_WRITE_OUT, (void *)(unsigned long)oid, (void *)result);
return result;
}
diff -Nru a/txnmgr.c b/txnmgr.c
--- a/txnmgr.c 2004-07-31 17:10:22 +04:00
+++ b/txnmgr.c 2004-07-31 17:10:22 +04:00
@@ -2570,29 +2570,7 @@
JF_SET(node, JNODE_DIRTY);
get_current_context()->nr_marked_dirty ++;
-#if REISER4_DEBUG
- {
- reiser4_context *ctx;
- ctx = get_current_context();
- if (__builtin_return_address(0) == ctx->mjd_bt[0] &&
- __builtin_return_address(1) == ctx->mjd_bt[1] &&
- __builtin_return_address(2) == ctx->mjd_bt[2] &&
- __builtin_return_address(3) == ctx->mjd_bt[3] &&
- __builtin_return_address(4) == ctx->mjd_bt[4] &&
- __builtin_return_address(5) == ctx->mjd_bt[5]) {
- ctx->count ++;
- } else {
- ctx->mjd_bt[0] = __builtin_return_address(0);
- ctx->mjd_bt[1] = __builtin_return_address(1);
- ctx->mjd_bt[2] = __builtin_return_address(2);
- ctx->mjd_bt[3] = __builtin_return_address(3);
- ctx->mjd_bt[4] = __builtin_return_address(4);
- ctx->mjd_bt[5] = __builtin_return_address(5);
- ctx->count = 1;
- }
- }
-#endif
/* We grab2flush_reserve one additional block only if node was
not CREATED and jnode_flush did not sort it into neither
relocate set nor overwrite one. If node is in overwrite or
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: What did I do wrong? Oopses with 7-30 auto-snapshot
2004-07-31 13:13 ` Vladimir V. Saveliev
@ 2004-07-31 15:52 ` Maciejewski, Jake
0 siblings, 0 replies; 4+ messages in thread
From: Maciejewski, Jake @ 2004-07-31 15:52 UTC (permalink / raw)
To: Reiserfs mail-list
Thanks for the patch, it works for me.
On Sat, 2004-07-31 at 08:13, Vladimir V. Saveliev wrote:
> Hello
>
> Jonathan Briggs wrote:
> > I wanted to try out the latest even though I know it may not work.
> > Either it doesn't work, or I did it wrong. I was hoping someone would
> > know which.
> >
> > I've got a raid-0 device with a Reiser4 FS from March. When I tried to
> > mount that after booting 2.6.8-rc2-mm1-reiser4 I got an Oops. I thought
> > it might be a change in the disk structure so I got the latest (I think)
> > reiser4 tools and tried creating a new FS and loop mounting it. That
> > got me another, identical Oops.
> >
> > Here it is if anyone wants to look:
> > Unable to handle kernel NULL pointer dereference at virtual address 00000004
> > printing eip:
> > c01b0df4
> > *pde = 00000000
> > Oops: 0000 [#1]
> > Modules linked in: joydev evdev usbhid dm_mod ehci_hcd uhci_hcd usbcore
> > CPU: 0
> > EIP: 0060:[<c01b0df4>] Not tainted VLI
> > EFLAGS: 00010286 (2.6.8-rc2-mm1)
> > EIP is at clog_link_object+0x64/0xe0
> > eax: 00000000 ebx: 00000000 ecx: c046d964 edx: c16e9dec
>
> Oops, yes, sorry, it did not work when CONFIG_FRAME_POINTER is not set
> The attached patch should fix that
>
>
> ______________________________________________________________________
> # This is a BitKeeper generated diff -Nru style patch.
> #
> # ChangeSet
> # 2004/07/31 17:02:21+04:00 reiser4@tribesman.namesys.com
> # append_and_or_overwrite: no page fault holding longterm lock
> #
> # plugin/item/extent_file_ops.c
> # 2004/07/31 17:02:18+04:00 reiser4@tribesman.namesys.com +0 -14
> # append_and_or_overwrite: no page fault holding longterm lock
> #
> # ChangeSet
> # 2004/07/31 16:51:02+04:00 reiser4@tribesman.namesys.com
> # cleanup
> #
> # txnmgr.c
> # 2004/07/31 16:50:59+04:00 reiser4@tribesman.namesys.com +0 -22
> # cleanup
> #
> # plugin/item/extent_file_ops.c
> # 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -5
> # cleanup
> #
> # plugin/file/file.c
> # 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -4
> # cleanup
> #
> # lock.c
> # 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -2
> # cleanup
> #
> # debug.h
> # 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +0 -2
> # cleanup
> #
> # debug.c
> # 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +5 -44
> # cleanup
> #
> # context.h
> # 2004/07/31 16:50:58+04:00 reiser4@tribesman.namesys.com +1 -3
> # cleanup
> #
> diff -Nru a/context.h b/context.h
> --- a/context.h 2004-07-31 17:10:22 +04:00
> +++ b/context.h 2004-07-31 17:10:22 +04:00
> @@ -146,10 +146,8 @@
> err_site err;
> /* information about delayed stat data updates. See above. */
> dirty_inode_info dirty;
> -
> - void *mjd_bt[6]; /* last mark jnode dirty backtrace */
> - int count;
> #endif
> +
> #if REISER4_TRACE
> /* per-thread tracing flags. Use reiser4_trace_flags enum to set
> bits in it. */
> diff -Nru a/debug.c b/debug.c
> --- a/debug.c 2004-07-31 17:10:22 +04:00
> +++ b/debug.c 2004-07-31 17:10:22 +04:00
> @@ -637,7 +637,6 @@
> int op;
> void *data1;
> void *data2;
> - unsigned long data[6];
> } clog_t;
>
> clog_t clog[CLOG_LENGTH];
> @@ -672,39 +671,6 @@
> spin_unlock(&clog_lock);
> }
>
> -/* this is to log lock/unlock */
> -void
> -clog_link_object(int op, void *data1, void *data2)
> -{
> - int idx;
> -
> - spin_lock(&clog_lock);
> -
> - if (clog_length == CLOG_LENGTH) {
> - idx = clog_start;
> - clog_start ++;
> - clog_start %= CLOG_LENGTH;
> - } else {
> - idx = clog_length;
> - assert("vs-1672", clog_start == 0);
> - clog_length ++;
> - }
> -
> - clog[idx].id = clog_id ++;
> - clog[idx].op = op;
> - clog[idx].pid = current->pid;
> - clog[idx].data[0] = (unsigned long)__builtin_return_address(1);
> - clog[idx].data[1] = (unsigned long)__builtin_return_address(2);
> - clog[idx].data[2] = (unsigned long)__builtin_return_address(3);
> - clog[idx].data[3] = (unsigned long)__builtin_return_address(4);
> - clog[idx].data[4] = (unsigned long)__builtin_return_address(5);
> - clog[idx].data[5] = (unsigned long)__builtin_return_address(6);
> - clog[idx].data1 = data1;
> - clog[idx].data2 = data2;
> - spin_unlock(&clog_lock);
> -}
> -
> -
> static const char *
> op2str(int op)
> {
> @@ -727,25 +693,19 @@
> void
> print_clog(void)
> {
> - int i, j, k;
> + int i, j;
>
> j = clog_start;
> for (i = 0; i < clog_length; i ++) {
> - if (clog[j].op == LINK_OBJECT || clog[j].op == UNLINK_OBJECT) {
> - printk("%d(%d): id %d: pid %d, op %s, locks %p [",
> - i, j, clog[j].id, clog[j].pid, op2str(clog[j].op), clog[j].data1);
> - for (k = 0; k < 6; k ++)
> - print_symname(clog[j].data[k]);
> - printk("]\n");
> - } else
> - printk("%d(%d): id %d: pid %d, op %s, data1 %p, data2 %p\n",
> - i, j, clog[j].id, clog[j].pid, op2str(clog[j].op), clog[j].data1, clog[j].data2);
> + printk("%d(%d): id %d: pid %d, op %s, data1 %p, data2 %p\n",
> + i, j, clog[j].id, clog[j].pid, op2str(clog[j].op), clog[j].data1, clog[j].data2);
> j ++;
> j %= CLOG_LENGTH;
> }
> printk("clog length %d\n", clog_length);
> }
>
> +#if 0
> void
> print_symname(unsigned long address)
> {
> @@ -759,6 +719,7 @@
> if (name != NULL)
> printk(" %s[%lx/%lx]", name, offset, size);
> }
> +#endif
>
> /* Make Linus happy.
> Local variables:
> diff -Nru a/debug.h b/debug.h
> --- a/debug.h 2004-07-31 17:10:22 +04:00
> +++ b/debug.h 2004-07-31 17:10:22 +04:00
> @@ -543,9 +543,7 @@
> #define OP_NUM 10
>
> void clog_op(int op, void *, void *);
> -void clog_link_object(int op, void *, void *);
> void print_clog(void);
> -void print_symname(unsigned long address);
>
> /* __FS_REISER4_DEBUG_H__ */
> #endif
> diff -Nru a/lock.c b/lock.c
> --- a/lock.c 2004-07-31 17:10:22 +04:00
> +++ b/lock.c 2004-07-31 17:10:22 +04:00
> @@ -273,7 +273,6 @@
> assert("reiser4-4", ergo(locks_list_empty(&owner->locks), owner->nr_locks == 0));
> locks_list_push_back(&owner->locks, handle);
> owner->nr_locks ++;
> - clog_link_object(LINK_OBJECT, node, (void *)owner->nr_locks);
>
> owners_list_push_front(&node->lock.owners, handle);
> handle->signaled = 0;
> @@ -292,7 +291,6 @@
> locks_list_remove_clean(handle);
> handle->owner->nr_locks --;
> assert("reiser4-6", ergo(locks_list_empty(&handle->owner->locks), handle->owner->nr_locks == 0));
> - clog_link_object(UNLINK_OBJECT, handle->node, (void *)handle->owner->nr_locks);
>
> owners_list_remove_clean(handle);
>
> diff -Nru a/plugin/file/file.c b/plugin/file/file.c
> --- a/plugin/file/file.c 2004-07-31 17:10:22 +04:00
> +++ b/plugin/file/file.c 2004-07-31 17:10:22 +04:00
> @@ -1472,8 +1472,6 @@
> if (result)
> return result;
>
> - clog_op(READPAGE_IN, (void *)(unsigned long)get_inode_oid(inode), (void *)page->index);
> -
> /* get key of first byte of the page */
> key_by_inode_unix_file(inode, (loff_t) page->index << PAGE_CACHE_SHIFT, &key);
>
> @@ -1490,7 +1488,6 @@
> if (PageUptodate(page)) {
> done_lh(&lh);
> unlock_page(page);
> - clog_op(READPAGE_OUT, (void *)(unsigned long)get_inode_oid(inode), (void *)page->index);
> return 0;
> }
>
> @@ -1535,7 +1532,6 @@
> save_file_hint(file, &hint);
>
> assert("vs-979", ergo(result == 0, (PageLocked(page) || PageUptodate(page))));
> - clog_op(READPAGE_OUT, (void *)(unsigned long)get_inode_oid(inode), (void *)page->index);
>
> return result;
> }
> diff -Nru a/plugin/item/extent_file_ops.c b/plugin/item/extent_file_ops.c
> --- a/plugin/item/extent_file_ops.c 2004-07-31 17:10:22 +04:00
> +++ b/plugin/item/extent_file_ops.c 2004-07-31 17:10:22 +04:00
> @@ -626,8 +626,6 @@
> /* offset within the page */
> page_off = (unsigned long)(file_off & (PAGE_CACHE_SIZE - 1));
>
> - clog_op(EXTENT_WRITE_IN, (void *)(unsigned long)oid, (void *)(unsigned long)file_off);
> -
> /* key of first byte of page */
> page_key = flow->key;
> set_key_offset(&page_key, (loff_t)page_nr << PAGE_CACHE_SHIFT);
> @@ -644,7 +642,6 @@
>
> write_page_log(inode->i_mapping, page_nr);
>
> - clog_op(EXTENT_WRITE_IN2, (void *)get_current_lock_stack()->nr_locks, 0);
> result = make_extent(&page_key, uf_coord, mode, &blocknr, &created, inode/* check quota */);
> if (result) {
> goto exit1;
> @@ -720,7 +717,6 @@
> assert("nikita-2104", lock_stack_isclean(get_current_lock_stack()));
>
> /* copy user data into page */
> - clog_op(EXTENT_WRITE_OUT2, (void *)get_current_lock_stack()->nr_locks, 0);
> result = __copy_from_user((char *)kmap(page) + page_off, flow->data - count, count);
> kunmap(page);
> if (unlikely(result)) {
> @@ -764,15 +760,6 @@
> file_off += count;
> set_key_offset(&page_key, (loff_t)page_nr << PAGE_CACHE_SHIFT);
>
> - if (flow->length) {
> - /* read in next portion of user buffer */
> - size_t bytes;
> -
> - bytes = PAGE_CACHE_SIZE;
> - if (bytes > flow->length)
> - bytes = flow->length;
> - fault_in_pages_readable(flow->data, bytes);
> - }
> continue;
>
> exit3:
> @@ -794,12 +781,6 @@
> */
> } while (flow->length && uf_coord->valid == 1);
>
> -/*
> - if (flow->length)
> - DQUOT_FREE_SPACE_NODIRTY(inode, flow->length);
> -*/
> -
> - clog_op(EXTENT_WRITE_OUT, (void *)(unsigned long)oid, (void *)result);
> return result;
> }
>
> diff -Nru a/txnmgr.c b/txnmgr.c
> --- a/txnmgr.c 2004-07-31 17:10:22 +04:00
> +++ b/txnmgr.c 2004-07-31 17:10:22 +04:00
> @@ -2570,29 +2570,7 @@
> JF_SET(node, JNODE_DIRTY);
>
> get_current_context()->nr_marked_dirty ++;
> -#if REISER4_DEBUG
> - {
> - reiser4_context *ctx;
>
> - ctx = get_current_context();
> - if (__builtin_return_address(0) == ctx->mjd_bt[0] &&
> - __builtin_return_address(1) == ctx->mjd_bt[1] &&
> - __builtin_return_address(2) == ctx->mjd_bt[2] &&
> - __builtin_return_address(3) == ctx->mjd_bt[3] &&
> - __builtin_return_address(4) == ctx->mjd_bt[4] &&
> - __builtin_return_address(5) == ctx->mjd_bt[5]) {
> - ctx->count ++;
> - } else {
> - ctx->mjd_bt[0] = __builtin_return_address(0);
> - ctx->mjd_bt[1] = __builtin_return_address(1);
> - ctx->mjd_bt[2] = __builtin_return_address(2);
> - ctx->mjd_bt[3] = __builtin_return_address(3);
> - ctx->mjd_bt[4] = __builtin_return_address(4);
> - ctx->mjd_bt[5] = __builtin_return_address(5);
> - ctx->count = 1;
> - }
> - }
> -#endif
> /* We grab2flush_reserve one additional block only if node was
> not CREATED and jnode_flush did not sort it into neither
> relocate set nor overwrite one. If node is in overwrite or
--
Jake Maciejewski <maciejej@msoe.edu>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-07-31 15:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-30 22:30 What did I do wrong? Oopses with 7-30 auto-snapshot Jonathan Briggs
2004-07-31 0:28 ` Maciejewski, Jake
2004-07-31 13:13 ` Vladimir V. Saveliev
2004-07-31 15:52 ` Maciejewski, Jake
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.