| Summary: | [glusterfs-3.3.0qa22]: fd leak in fuse resolve | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Raghavendra Bhat <rabhat> |
| Component: | fuse | Assignee: | Raghavendra Bhat <rabhat> |
| Status: | CLOSED UPSTREAM | QA Contact: | |
| Severity: | unspecified | Docs Contact: | |
| Priority: | high | ||
| Version: | mainline | CC: | gluster-bugs |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-02-22 06:20:46 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | glusterfs-3.3.0qa23 | Category: | --- |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
CHANGE: http://review.gluster.com/2760 (mount/fuse: unref the fd from resolve to avoid fd leak) merged in master by Vijay Bellur (vijay) Checked with glusterfs-3.3.0qa23. Its not leaking fd since the fd that was refed in resolve is unrefed while freeing resolve structure. Checked with glusterfs-3.3.0qa23. Its not leaking fd since the fd that was refed in resolve is unrefed while freeing resolve structure. |
Description of problem: There is a fd leak while doing resolve in fd because of which fd's are not getting unrefed and causing too many open fds. Its because this part of the code int fuse_resolve_fd_init (fuse_state_t *state, fuse_resolve_t *resolve, fd_t *fd) { resolve->fd = fd_ref (fd); return 0; } Here we are refing the fd to resolve fd, but while freeing resolve, we are not unrefing the fd which leads to fd leak. Version-Release number of selected component (if applicable): How reproducible: always Steps to Reproduce: 1.touch a file 2.do lsof -n | grep glusterfs 3.the file that was touched can be seen in the open file list Actual results: fds are leaked which when exceeds certain limit, the kernel complains that maximum open file limit has been reached. Expected results: fd's should be closed properly without any leak. Additional info: VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached VFS: file-max limit 198110 reached lsof -n | grep glusterfs : lusterfs 14805 root *258u REG 8,17 688128 204956140 /export-xfs/mirror/.glusterfs/61/98/6198d10e-3c1d-4238-8d98-bf394e3712c3 (deleted) glusterfs 14805 root *259u REG 8,17 688128 204956142 /export-xfs/mirror/.glusterfs/c3/c5/c3c5de18-e1cd-4918-aabb-917dc73caac4 (deleted) glusterfs 14805 root *260u REG 8,17 688128 204956143 /export-xfs/mirror/.glusterfs/b6/bf/b6bf873e-2f57-49ed-9858-7c790a978cdd (deleted) glusterfs 14805 root *261u REG 8,17 688128 204956144 /export-xfs/mirror/.glusterfs/f5/df/f5df1c98-95ae-488e-9319-106bdf257545 (deleted) glusterfs 14805 root *262u REG 8,17 688128 204956145 /export-xfs/mirror/.glusterfs/01/5e/015ee620-aa7d-4632-adde-0af6c54b99a5 (deleted) glusterfs 14805 root *263u REG 8,17 688128 204956147 /export-xfs/mirror/.glusterfs/02/00/0200aea7-6bc2-4061-a8a1-fef07fca2a19 (deleted) glusterfs 14805 root *264u REG 8,17 688128 204956148 /export-xfs/mirror/.glusterfs/69/aa/69aab854-e20f-4347-9036-e9e6c72fa845 (deleted) glusterfs 14805 root *265u REG 8,17 688128 204956149 /export-xfs/mirror/.glusterfs/d4/48/d4483920-2208-4a80-a0df-ac6399b5fa20 (deleted) glusterfs 14805 root *266u REG 8,17 688128 204956151 /export-xfs/mirror/.glusterfs/86/8d/868d87d0-1d7d-4192-b72c-475a3beb3d21 (deleted) glusterfs 14805 root *267u REG 8,17 688128 204956152 /export-xfs/mirror/.glusterfs/71/9b/719bdf0b-eec6-4ebd-808c-afd1cc054ca4 (deleted) glusterfs 14805 root *268u REG 8,17 688128 204956153 /export-xfs/mirror/.glusterfs/03/42/03427c66-0dea-4922-b68a-5367c60adaf9 (deleted) glusterfs 14805 root *269u REG 8,17 688128 204956154 /export-xfs/mirror/.glusterfs/fa/7e/fa7e78fc-cfd6-4707-8e55-d862edbd5584 (deleted) glusterfs 14805 root *270u REG 8,17 688128 204956155 /export-xfs/mirror/.glusterfs/30/9c/309cc77d-6a8c-4fe5-b6a7-d8333d2c9599 (deleted) glusterfs 14805 root *271u REG 8,17 688128 204956157 /export-xfs/mirror/.glusterfs/82/d7/82d72302-1ae6-47a5-946a-f21e07c7e8c3 (deleted) glusterfs 14805 root *272u REG 8,17 688128 204956159 /export-xfs/mirror/.glusterfs/18/e3/18e3d82e-2e25-41e7-8e83-21db48f90c56 (deleted) glusterfs 14805 root *273u REG 8,17 688128 204956158 /export-xfs/mirror/.glusterfs/d8/f2/d8f201a1-ab9b-4f91-a969-33ce496a3611 (deleted) glusterfs 14805 root *274u REG 8,17 688128 204956674 /export-xfs/mirror/.glusterfs/40/f7/40f7954e-bb6e-49e6-9728-909299f9ff39 (deleted) glusterfs 14805 root *275u REG 8,17 688128 204956676 /export-xfs/mirror/.glusterfs/6a/bb/6abb954b-cc6f-4488-9da8-c568f678ebcf (deleted) glusterfs 14805 root *276u REG 8,17 688128 204956677 /export-xfs/mirror/.glusterfs/ee/ed/eeed7d69-5c48-4fb7-9892-4aa769938211 (deleted) glusterfs 14805 root *277u REG 8,17 688128 204956679 /export-xfs/mirror/.glusterfs/72/75/7275f01a-4ce9-4b2b-8ce1-9e6efa582fa7 (deleted) glusterfs 14805 root *278u REG 8,17 688128 204956681 /export-xfs/mirror/.glusterfs/44/52/44521268-b04b-46ab-b2ed-d68a63d54736 (deleted) glusterfs 14805 root *279u REG 8,17 688128 204956683 /export-xfs/mirror/.glusterfs/26/6d/266da74f-e3f4-415a-8935-8dd773ba058c (deleted) glusterfs 14805 root *280u REG 8,17 688128 204956685 /export-xfs/mirror/.glusterfs/46/a4/46a43b52-a74f-4b57-89e5-55402a976e51 (deleted)