[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[dm-devel] [PATCH] dm snapshot: suppress debugobjects workqueue warning
- From: Mike Snitzer <snitzer redhat com>
- To: dm-devel redhat com
- Subject: [dm-devel] [PATCH] dm snapshot: suppress debugobjects workqueue warning
- Date: Mon, 25 Jan 2010 11:57:59 -0500
chunk_io() declares its 'struct mdata_req' on the stack and then
initializes its 'struct work_struct' member. Annotate the
initialization of this workqueue with INIT_WORK_ON_STACK to suppress a
debugobjects warning seen when CONFIG_DEBUG_OBJECTS_WORK is enabled:
ODEBUG: object is on stack, but not annotated
------------[ cut here ]------------
WARNING: at lib/debugobjects.c:291 __debug_object_init+0x2b9/0x35c()
...
Call Trace:
[<ffffffff810485ac>] warn_slowpath_common+0x7c/0x94
[<ffffffff810485d8>] warn_slowpath_null+0x14/0x16
[<ffffffff811e113b>] __debug_object_init+0x2b9/0x35c
[<ffffffff811e120b>] debug_object_init+0x14/0x16
[<ffffffff810606c0>] __init_work+0x27/0x29
[<ffffffffa0077306>] chunk_io+0xba/0x127 [dm_snapshot]
...
Signed-off-by: Mike Snitzer <snitzer redhat com>
---
diff --git a/drivers/md/dm-snap-persistent.c b/drivers/md/dm-snap-persistent.c
index 7d08879..c097d8a 100644
--- a/drivers/md/dm-snap-persistent.c
+++ b/drivers/md/dm-snap-persistent.c
@@ -254,7 +254,7 @@ static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, int rw,
* Issue the synchronous I/O from a different thread
* to avoid generic_make_request recursion.
*/
- INIT_WORK(&req.work, do_metadata);
+ INIT_WORK_ON_STACK(&req.work, do_metadata);
queue_work(ps->metadata_wq, &req.work);
flush_workqueue(ps->metadata_wq);
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]