Skip to contentSkip to conversation

dlm: Avoid LVB truncation

PATCH New Bart Van Assche 2 participants 2 messages Jun 26, 2013 Distributed lock manager (DLM)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dlm: Avoid LVB truncation

For lockspaces with an LVB length above 64 bytes, avoid truncating the LVB while exchanging it with another node in the cluster.

---
 fs/dlm/lock.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
fs/dlm/lock.c +4 -4
index 1b11466..e223a91 100644
@@ -2038,8 +2038,8 @@ static void set_lvb_lock_pc(struct dlm_rsb *r, struct dlm_lkb *lkb,
 	b = dlm_lvb_operations[lkb->lkb_grmode + 1][lkb->lkb_rqmode + 1];
 	if (b == 1) {
 		int len = receive_extralen(ms);
-		if (len > DLM_RESNAME_MAXLEN)
-			len = DLM_RESNAME_MAXLEN;
+		if (len > r->res_ls->ls_lvblen)
+			len = r->res_ls->ls_lvblen;
 		memcpy(lkb->lkb_lvbptr, ms->m_extra, len);
 		lkb->lkb_lvbseq = ms->m_lvbseq;
 	}
@@ -3893,8 +3893,8 @@ static int receive_lvb(struct dlm_ls *ls, struct dlm_lkb *lkb,
 		if (!lkb->lkb_lvbptr)
 			return -ENOMEM;
 		len = receive_extralen(ms);
-		if (len > DLM_RESNAME_MAXLEN)
-			len = DLM_RESNAME_MAXLEN;
+		if (len > ls->ls_lvblen)
+			len = ls->ls_lvblen;
 		memcpy(lkb->lkb_lvbptr, ms->m_extra, len);
 	}
 	return 0;
Signature · 1 line
1.7.10.4
maintainer
#1 lore raw

PATCH 1/1 dlm: Avoid LVB truncation

Quoted 2 lines · Bart Van Assche

For lockspaces with an LVB length above 64 bytes, avoid truncating the LVB while exchanging it with another node in the cluster.

Thanks, I've added this to next.
Dave