Project

General

Profile

Bug #4141

deleg_reopen() can leak osp->os_ref_count

Added by Jan Schlien over 7 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
nfs - NFS server and client
Start date:
2013-09-17
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

While debugging a hanging nfs mount on a client shortly after an nfs server restart, I got the impression that the client must have lost an osp->os_ref_count. Reading code showed:

deleg_reopen() calls get_next_deleg_stream() in a loop but does not bother to call open_stream_rele() on the "goto retry" path (EAGAIN). This leaks one osp->os_ref_count.

#1

Updated by Marcel Telka over 7 years ago

  • Category set to nfs - NFS server and client
#2

Updated by Simon K over 7 years ago

  • Status changed from New to In Progress

Currently, we have a fix under testing. We believe it's not so easy to reproduce this bug.

#3

Updated by Electric Monk about 7 years ago

git commit 49fc705551f6629987a66b32c99dde9119d16cfd

Author: Simon Klinkert <simon.klinkert@gmail.com>

4141 deleg_reopen() can leak osp->os_ref_count
Reviewed by: Marcel Telka <marcel@telka.sk>
Approved by: Richard Lowe <richlowe@richlowe.net>

#4

Updated by Rich Lowe about 7 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100
  • Tags deleted (needs-triage)

Also available in: Atom PDF