Skip to content

Commit 4c9b219

Browse files
committed
fix GPFS xattr read
Signed-off-by: Utkarsh Srivastava <srivastavautkarsh8097@gmail.com> (cherry picked from commit 3ca6844)
1 parent a27c6de commit 4c9b219

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/native/fs/fs_napi.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,8 +298,7 @@ build_gpfs_get_ea_request(gpfsRequest_t* reqP, std::string key)
298298
reqP->payload.structLen = reqP->header.totalLength - sizeof(reqP->header);
299299
reqP->payload.structType = GPFS_FCNTL_GET_XATTR;
300300
reqP->payload.nameLen = nameLen;
301-
// bufferLen is the size of buffer - roundingup of the attribute name to 8 chars
302-
reqP->payload.bufferLen = bufLen - ROUNDUP(nameLen, 8);
301+
reqP->payload.bufferLen = bufLen - nameLen;
303302
reqP->payload.flags = GPFS_FCNTL_XATTRFLAG_NONE;
304303
memcpy(&reqP->payload.buffer[0], key.c_str(), nameLen);
305304
}
@@ -489,7 +488,7 @@ get_fd_gpfs_xattr(int fd, XattrMap& xattr, int& gpfs_error, bool use_dmapi)
489488
if (gpfs_error == GPFS_FCNTL_ERR_NONE) {
490489
int name_len = gpfsGetXattrRequest.payload.nameLen;
491490
int buffer_len = gpfsGetXattrRequest.payload.bufferLen;
492-
xattr[key] = std::string(gpfsGetXattrRequest.buffer[ROUNDUP(name_len, 8)], buffer_len);
491+
xattr[key] = std::string((char*)gpfsGetXattrRequest.buffer + name_len, buffer_len);
493492
} else if (gpfs_error != GPFS_FCNTL_ERR_NO_ATTR) {
494493
LOG("get_fd_gpfs_xattr: get GPFS xattr with fcntl failed with error." << DVAL(gpfs_error));
495494
return gpfs_error;

0 commit comments

Comments
 (0)