Calling add_disk() from a work_queue item

From: Othello Reversi
Date: Sun Aug 05 2007 - 14:22:14 EST


Hi List,

I would like to know why calling add_disk() from a kernel thread
which is running from a work_queue would cause the work item to block
with the "D" (disk wait) state at best under kernel 2.6.17 and cause a
hard-lockup on kernel 2.6.22.1?

If I recall correctly, work items running on the work_queue are
allowed to sleep, and add_disk() is known to sleep. Did I miss out
some details such as a lock I have to acquire?

Hope to hear a reply soon.

Regards,
Othello

PS: Would like to be CC'ed comments and replies.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/