Browse Source

Orangefs: optimize boilerplate code.

Suggested by David Binderman <dcb314@hotmail.com>
The former can potentially be a performance win over the latter.

memcpy(d, s, len);
memset(d+len, c, size-len);

memset(d, c, size);
memcpy(d, s, len);

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Mike Marshall 9 years ago
parent
commit
a9bb3ba81f
2 changed files with 2 additions and 2 deletions
  1. 1 1
      fs/orangefs/protocol.h
  2. 1 1
      fs/orangefs/xattr.c

+ 1 - 1
fs/orangefs/protocol.h

@@ -74,8 +74,8 @@ static inline void ORANGEFS_khandle_to(const struct orangefs_khandle *kh,
 				   void *p, int size)
 				   void *p, int size)
 {
 {
 
 
-	memset(p, 0, size);
 	memcpy(p, kh->u, 16);
 	memcpy(p, kh->u, 16);
+	memset(p + 16, 0, size - 16);
 
 
 }
 }
 
 

+ 1 - 1
fs/orangefs/xattr.c

@@ -142,8 +142,8 @@ ssize_t orangefs_inode_getxattr(struct inode *inode, const char *prefix,
 		goto out_release_op;
 		goto out_release_op;
 	}
 	}
 
 
-	memset(buffer, 0, size);
 	memcpy(buffer, new_op->downcall.resp.getxattr.val, length);
 	memcpy(buffer, new_op->downcall.resp.getxattr.val, length);
+	memset(buffer + length, 0, size - length);
 	gossip_debug(GOSSIP_XATTR_DEBUG,
 	gossip_debug(GOSSIP_XATTR_DEBUG,
 	     "orangefs_inode_getxattr: inode %pU "
 	     "orangefs_inode_getxattr: inode %pU "
 	     "key %s key_sz %d, val_len %d\n",
 	     "key %s key_sz %d, val_len %d\n",