From: Yanchuan Nian <ycnian@xxxxxxxxx> In nfsd4_set_pnfs_dlm_device(), if there is a device with the same disk_name as the new device, pnfsd will clear the memory of ds_list, and then update it with ds list from the new device. The size of ds_list in struct dlm_device_entry is NFSD_DLM_DS_LIST_MAX, but not DISK_NAME_LEN. Signed-off-by: Yanchuan Nian <ycnian@xxxxxxxxx> --- fs/nfsd/nfs4pnfsdlm.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/nfsd/nfs4pnfsdlm.c b/fs/nfsd/nfs4pnfsdlm.c index e8423e0..c138d41 100644 --- a/fs/nfsd/nfs4pnfsdlm.c +++ b/fs/nfsd/nfs4pnfsdlm.c @@ -187,7 +187,7 @@ nfsd4_set_pnfs_dlm_device(char *pnfs_dlm_device, int len) dprintk("%s pnfs_dlm_device %s:%s already in cache " " replace ds_list with new ds_list %s\n", __func__, found->disk_name, found->ds_list, new->ds_list); - memset(found->ds_list, 0, DISK_NAME_LEN); + memset(found->ds_list, 0, NFSD_DLM_DS_LIST_MAX); memcpy(found->ds_list, new->ds_list, strlen(new->ds_list)); found->num_ds = new->num_ds; kfree(new); -- 1.7.4.4 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html