[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] [PATCH] Fix endian problem with DLM_RCOM_LOCK_REPLY




Hi Steven,

We need to swab the rc_buf also when we receive DLM_RCOM_LOCK_REPLY otherwise umount'ing gfs2 on big endian machines will hang the entire cluster.

Please apply.

Thanks
Fabio

Signed-off-by: Fabio M. Di Nitto <fabbione ubuntu com>

diff --git a/fs/dlm/util.c b/fs/dlm/util.c
index 963889c..5320304 100644
--- a/fs/dlm/util.c
+++ b/fs/dlm/util.c
@@ -156,7 +156,7 @@ void dlm_rcom_in(struct dlm_rcom *rc)
 	rc->rc_seq		= le64_to_cpu(rc->rc_seq);
 	rc->rc_seq_reply	= le64_to_cpu(rc->rc_seq_reply);

-	if (rc->rc_type == DLM_RCOM_LOCK)
+	if ((rc->rc_type == DLM_RCOM_LOCK) || (rc->rc_type == DLM_RCOM_LOCK_REPLY))
 		rcom_lock_in((struct rcom_lock *) rc->rc_buf);

 	else if (rc->rc_type == DLM_RCOM_STATUS_REPLY)


--
I'm going to make him an offer he can't refuse.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]