[Ocfs2-devel] [PATCH] ocfs2: drop the unwanted null byte in dentry lock name

Joseph Qi joseph.qi at huawei.com
Wed Nov 27 01:05:00 PST 2013


Dentry lock name is made up of the type 'N', the parent blkno and its
blkno represented as a binary value.
Now there is a null byte between parent blkno and the binary blkno
value, so drop it.

Signed-off-by: Joseph Qi <joseph.qi at huawei.com>
---
 fs/ocfs2/dlm/dlmdebug.c | 2 +-
 fs/ocfs2/dlmglue.c      | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/ocfs2/dlm/dlmdebug.c b/fs/ocfs2/dlm/dlmdebug.c
index e33cd7a..2d85dfa 100644
--- a/fs/ocfs2/dlm/dlmdebug.c
+++ b/fs/ocfs2/dlm/dlmdebug.c
@@ -257,7 +257,7 @@ static int stringify_lockname(const char *lockname, int locklen, char *buf,
 #define OCFS2_DENTRY_LOCK_INO_START	18
 	if (*lockname == 'N') {
 		memcpy((__be64 *)&inode_blkno_be,
-		       (char *)&lockname[OCFS2_DENTRY_LOCK_INO_START],
+		       (char *)&lockname[OCFS2_DENTRY_LOCK_INO_START - 1],
 		       sizeof(__be64));
 		out += snprintf(buf + out, len - out, "%.*s%08x",
 				OCFS2_DENTRY_LOCK_INO_START - 1, lockname,
diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c
index 3a44a64..62f2387 100644
--- a/fs/ocfs2/dlmglue.c
+++ b/fs/ocfs2/dlmglue.c
@@ -586,7 +586,7 @@ static __u64 ocfs2_get_dentry_lock_ino(struct ocfs2_lock_res *lockres)
 {
 	__be64 inode_blkno_be;
 
-	memcpy(&inode_blkno_be, &lockres->l_name[OCFS2_DENTRY_LOCK_INO_START],
+	memcpy(&inode_blkno_be, &lockres->l_name[OCFS2_DENTRY_LOCK_INO_START - 1],
 	       sizeof(__be64));
 
 	return be64_to_cpu(inode_blkno_be);
@@ -631,7 +631,7 @@ void ocfs2_dentry_lock_res_init(struct ocfs2_dentry_lock *dl,
 
 	BUG_ON(len != (OCFS2_DENTRY_LOCK_INO_START - 1));
 
-	memcpy(&lockres->l_name[OCFS2_DENTRY_LOCK_INO_START], &inode_blkno_be,
+	memcpy(&lockres->l_name[OCFS2_DENTRY_LOCK_INO_START - 1], &inode_blkno_be,
 	       sizeof(__be64));
 
 	ocfs2_lock_res_init_common(OCFS2_SB(inode->i_sb), lockres,
-- 
1.8.4.3




More information about the Ocfs2-devel mailing list