Hello, In the latest version of Ganesha (5.5.3), it looks like free_state operation in FSALs don't actually free the memory. With a simple "open; read; close" loop, I see high memory usage with VFS. Shouldn't vfs_free_state free the state pointer Or is it supposed to be free'd later? Something like this works. But not sure if that is the right thing to do. The same problem is there in all FSALs. void vfs_free_state(struct fsal_export *exp_hdl, struct state_t *state) { struct vfs_state_fd *state_fd = container_of(state, struct vfs_state_fd, state); struct vfs_fd *my_fd = &state_fd->vfs_fd; destroy_fsal_fd(&my_fd->fsal_fd); gsh_free(state_fd); } $ ps -C ganesha.nfsd -o etime,rsz ELAPSED RSZ 07:11 455348 $ ps -C ganesha.nfsd -o etime,rsz ELAPSED RSZ 09:19 549524 .. $ ps -C ganesha.nfsd -o etime,rsz ELAPSED RSZ 32:26 1381800
Ok, this was reported earlier: https://github.com/nfs-ganesha/nfs-ganesha/issues/1028 The problem either hit's multiple FSALs or is in common code. Look for a fix by tomorrow. Frank
-----Original Message----- From: Pradeep Thomas [mailto:pradeepthomas@gmail.com] Sent: Thursday, November 9, 2023 1:20 PM To: devel@lists.nfs-ganesha.org Subject: [NFS-Ganesha-Devel] Memory leak in free_state
Hello,
In the latest version of Ganesha (5.5.3), it looks like free_state operation in FSALs don't actually free the memory. With a simple "open; read; close" loop, I see high memory usage with VFS. Shouldn't vfs_free_state free the state pointer Or is it supposed to be free'd later?
Something like this works. But not sure if that is the right thing to do. The same problem is there in all FSALs.
void vfs_free_state(struct fsal_export *exp_hdl, struct state_t *state) { struct vfs_state_fd *state_fd = container_of(state, struct vfs_state_fd, state); struct vfs_fd *my_fd = &state_fd->vfs_fd;
destroy_fsal_fd(&my_fd->fsal_fd); gsh_free(state_fd); }
$ ps -C ganesha.nfsd -o etime,rsz ELAPSED RSZ 07:11 455348 $ ps -C ganesha.nfsd -o etime,rsz ELAPSED RSZ 09:19 549524 .. $ ps -C ganesha.nfsd -o etime,rsz ELAPSED RSZ 32:26 1381800 _______________________________________________ Devel mailing list -- devel@lists.nfs-ganesha.org To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
participants (2)
-
Frank Filz -
Pradeep Thomas