From aad04da03bc9f25abe2e3b70c94bbb383f0af281 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 5 May 2008 16:43:41 -0700 Subject: [PATCH] todos --- src/TODO | 87 +++++++++++++++++++++++++++++++++++++++++ src/kernel/osd_client.c | 2 +- 2 files changed, 88 insertions(+), 1 deletion(-) diff --git a/src/TODO b/src/TODO index e88db40f117cb..3a5cd956d75f1 100644 --- a/src/TODO +++ b/src/TODO @@ -1,3 +1,90 @@ +[376940.226925] +[376940.226926] ======================================================= +[376940.230749] [ INFO: possible circular locking dependency detected ] +[376940.230749] 2.6.25 #23 +[376940.230749] ------------------------------------------------------- +[376940.230749] events/0/9 is trying to acquire lock: +[376940.230749] (&osdc->map_sem){----}, at: [] handle_timeout+0x51/0x76 [ceph] +[376940.230749] +[376940.230749] but task is already holding lock: +[376940.230749] (&(&osdc->timeout_work)->work){--..}, at: [] run_workqueue+0x9f/0x1f6 +[376940.230749] +[376940.230749] which lock already depends on the new lock. +[376940.230749] +[376940.230749] +[376940.230749] the existing dependency chain (in reverse order) is: +[376940.230749] +[376940.230749] -> #2 (&(&osdc->timeout_work)->work){--..}: +[376940.230749] [] __lock_acquire+0xa8b/0xc8a +[376940.230749] [] lock_acquire+0x8e/0xb2 +[376940.230749] [] __cancel_work_timer+0xe8/0x1ea +[376940.230749] [] cancel_delayed_work_sync+0xd/0xf +[376940.230749] [] do_request+0x1af/0x2bc [ceph] +[376940.230749] [] ceph_osdc_writepages+0x135/0x190 [ceph] +[376940.230749] [] ceph_writepages+0x92f/0xcdc [ceph] +[376940.230749] [] do_writepages+0x2b/0x3a +[376940.230749] [] __writeback_single_inode+0x151/0x282 +[376940.230749] [] sync_sb_inodes+0x1ab/0x26f +[376940.230749] [] writeback_inodes+0x85/0xe9 +[376940.230749] [] background_writeout+0x87/0xba +[376940.230749] [] pdflush+0x134/0x1df +[376940.230749] [] kthread+0x49/0x79 +[376940.230749] [] child_rip+0xa/0x12 +[376940.230749] [] 0xffffffffffffffff +[376940.230749] +[376940.230749] -> #1 (&osdc->request_lock){--..}: +[376940.230749] [] __lock_acquire+0xa8b/0xc8a +[376940.230749] [] lock_acquire+0x8e/0xb2 +[376940.230749] [] _spin_lock+0x26/0x53 +[376940.230749] [] ceph_osdc_handle_map+0x41c/0x5ea [ceph] +[376940.230749] [] ceph_dispatch+0x2cf/0x339 [ceph] +[376940.230749] [] try_read+0xf42/0x1199 [ceph] +[376940.230749] [] run_workqueue+0xee/0x1f6 +[376940.230749] [] worker_thread+0xdb/0xe8 +[376940.230749] [] kthread+0x49/0x79 +[376940.230749] [] child_rip+0xa/0x12 +[376940.230749] [] 0xffffffffffffffff +[376940.230749] +[376940.230749] -> #0 (&osdc->map_sem){----}: +[376940.230749] [] __lock_acquire+0x98d/0xc8a +[376940.230749] [] lock_acquire+0x8e/0xb2 +[376940.230749] [] down_read+0x3b/0x68 +[376940.230749] [] handle_timeout+0x51/0x76 [ceph] +[376940.230749] [] run_workqueue+0xee/0x1f6 +[376940.230749] [] worker_thread+0xdb/0xe8 +[376940.230749] [] kthread+0x49/0x79 +[376940.230749] [] child_rip+0xa/0x12 +[376940.230749] [] 0xffffffffffffffff +[376940.230749] +[376940.230749] other info that might help us debug this: +[376940.230749] +[376940.230749] 2 locks held by events/0/9: +[376940.230749] #0: (events){--..}, at: [] run_workqueue+0x9f/0x1f6 +[376940.230749] #1: (&(&osdc->timeout_work)->work){--..}, at: [] run_workqueue+0x9f/0x1f6 +[376940.230749] +[376940.230749] stack backtrace: +[376940.230749] Pid: 9, comm: events/0 Not tainted 2.6.25 #23 +[376940.230749] +[376940.230749] Call Trace: +[376940.230749] [] print_circular_bug_tail+0x70/0x7b +[376940.230749] [] ? print_circular_bug_entry+0x48/0x4f +[376940.230749] [] __lock_acquire+0x98d/0xc8a +[376940.230749] [] ? :ceph:handle_timeout+0x51/0x76 +[376940.230749] [] lock_acquire+0x8e/0xb2 +[376940.230749] [] ? :ceph:handle_timeout+0x51/0x76 +[376940.230749] [] ? :ceph:handle_timeout+0x0/0x76 +[376940.230749] [] down_read+0x3b/0x68 +[376940.230749] [] :ceph:handle_timeout+0x51/0x76 +[376940.230749] [] run_workqueue+0xee/0x1f6 +[376940.230749] [] worker_thread+0xdb/0xe8 +[376940.230749] [] ? autoremove_wake_function+0x0/0x38 +[376940.230749] [] ? worker_thread+0x0/0xe8 +[376940.230749] [] kthread+0x49/0x79 +[376940.230749] [] child_rip+0xa/0x12 +[376940.230749] [] ? restore_args+0x0/0x30 +[376940.230749] [] ? kthread+0x0/0x79 +[376940.230749] [] ? child_rip+0x0/0x12 +[376940.230749] code cleanup - userspace encoding/decoding needs major cleanup diff --git a/src/kernel/osd_client.c b/src/kernel/osd_client.c index 2ed3b96c722cb..6599b97dca0ce 100644 --- a/src/kernel/osd_client.c +++ b/src/kernel/osd_client.c @@ -670,7 +670,7 @@ int ceph_osdc_readpages(struct ceph_osd_client *osdc, struct page *page; pgoff_t next_index; int contig_pages; - __s32 rc; + int rc; /* * for now, our strategy is simple: start with the -- 2.39.5