Page MenuHomeFreeBSD

Add missing break in lock_partialfilelock(..) with NFS_RESERR
ClosedPublic

Authored by ngie on May 29 2016, 5:42 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Dec 2, 2:22 PM
Unknown Object (File)
Mon, Dec 2, 2:22 PM
Unknown Object (File)
Mon, Dec 2, 2:22 PM
Unknown Object (File)
Mon, Dec 2, 1:56 PM
Unknown Object (File)
Fri, Nov 29, 3:56 PM
Unknown Object (File)
Sun, Nov 24, 7:37 PM
Unknown Object (File)
Nov 19 2024, 8:05 PM
Unknown Object (File)
Nov 19 2024, 6:07 AM

Details

Summary

Add missing break in lock_partialfilelock(..) with NFS_RESERR

This will help ensure that the right error is trickled up when the
function is called if the lock status is NFS_RESERR

Tested with: fsx; svn info/svnversion (uses bdb locking); locktests from Bull http://nfsv4.bullopensource.org/tools/tests/locktest.php
MFC after: 2 weeks
Reported by: Coverity
CID: 1008161, 1304956
Sponsored by: EMC / Isilon Storage Division

Test Plan
  • buildworld + buildkernel over NFS as server (amd64) and client (i386) is ok
  • TODO: run some locking tests over NFS, likely with NFSv4 to ensure locking is 100% sane.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ngie retitled this revision from to Add missing break in lock_partialfilelock(..) with NFS_RESERR.
ngie updated this object.
ngie edited the test plan for this revision. (Show Details)
ngie added subscribers: alfred, markj, rmacklem.

Run your locking tests over NFSv3. NFSv4 does not use rpc.lockd
(one of its major features, imho).

I know nothing about the NLM (rpc.lockd protocol). However, this looks correct to
me. (I can't think of why the original author would have wanted it to fall through.)

This revision was automatically updated to reflect the committed changes.