3629 NFSv4 client: assertion failed: vp->v_filocks == NULL, file: ../../common/fs/vnode.c, line: 2429

Review Request #374 - Created Feb. 20, 2017 and submitted

Information
Marcel Telka
illumos-gate
master
3629
0e9fba6...
Reviewers
general
In a case the file open recovery fails (so the R4RECOVERR is set for a
particular rnode4_t) then the reclaim_one_lock() does not attempt to recover
lost locks for such a file and returns success. This causes that the
relock_file() leaks lost locks (in v_filocks).
I confirmed that the reproducible steps described in the bugreport no longer
causes the panic.

I also tested many different locking scenarios to make sure:
- there is no regression introduced by this fix,
- there is no other scenario causing the same panic.
Arne Jansen
Marcel Telka
Review request changed

Status: Closed (submitted)

Change Summary:

commit faf39f174e3f2f426d74639ff702c5ba9f29f56b
Author:     Marcel Telka <marcel@telka.sk>
AuthorDate: Mon Feb 20 07:57:32 2017 +0100
Commit:     Robert Mustacchi <rm@joyent.com>
CommitDate: Mon Feb 27 17:15:57 2017 +0000

    3629 NFSv4 client: assertion failed: vp->v_filocks == NULL, file: ../../common/fs/vnode.c, line: 2429
    Reviewed by: Arne Jansen <arne@die-jansens.de>
    Approved by: Robert Mustacchi <rm@joyent.com>

:100644 100644 9fea9eb... 7d94f94... M	usr/src/uts/common/fs/nfs/nfs4_recovery.c
Loading...