[Linux-cluster] gfs on 2.6.9 : umount gives sleeping function called from invalid context
Daniel McNeil
daniel at osdl.org
Fri Nov 5 01:40:59 UTC 2004
On Thu, 2004-11-04 at 01:50, Patrick Caulfield wrote:
> On Wed, Nov 03, 2004 at 01:58:22PM -0800, Daniel McNeil wrote:
> > My 3 node cluster is running on 2.6.9 and the GFS cvs from
> > oct 27th.
> >
> > When I umount the gfs file system I get:
> >
> > dlm: closing connection to node 1
> > Debug: sleeping function called from invalid context at include/linux/rwsem.h:43in_atomic():1, irqs_disabled():0
>
> This patch should fix it:
>
> Index: dlm-kernel/src/lowcomms.c
> ===================================================================
> RCS file: /cvs/cluster/cluster/dlm-kernel/src/lowcomms.c,v
> retrieving revision 1.18
> diff -u -r1.18 lowcomms.c
> --- dlm-kernel/src/lowcomms.c 25 Oct 2004 12:26:45 -0000 1.18
> +++ dlm-kernel/src/lowcomms.c 4 Nov 2004 09:49:40 -0000
> @@ -950,7 +950,7 @@
> goto out;
>
> log_print("closing connection to node %d", nodeid);
> - con = nodeid2con(nodeid, 0);
> + con = connections[nodeid];
> if (con) {
> close_connection(con, TRUE);
> clean_one_writequeue(con);
>
Patrick,
Not quite. It fixed the might_sleep() in lowcomms_close(),
but there is a down_write() is close_connection() causing
another might_sleep().
Daniel
More information about the Linux-cluster
mailing list