freebsd-nq/sys/fs
Andriy Gapon ca8f3d1ca2 nfsrvd_readdirplus: for some errors, do not fail the entire request
Instead, a failing entry is skipped.
This change consist of two logical changes.

A failure to vget or lookup an entry is considered to be a result of a
concurrent removal, which is the only reasonable explanation given that
the filesystem is busied.  So, the entry would be silently skipped.

In the case of a failure to get attributes of an entry for an NFSv3
request, the entry would be silently skipped.  There can be legitimate
reasons for the failure, but NFSv3 does not provide any means to report
the error, so we have two options: either fail the whole request or
ignore the failed entry.  Traditionally, the old NFS server used the
latter option, so the code is reverted to it.  Making the whole
directory unreadable because of a single entry seems to be unpractical.

Additionally, some bits of code are slightly re-arranged to account for
the new control flow and to honor style(9).

Reviewed by:	rmacklem
Sponsored by:	Panzura
Differential Revision: https://reviews.freebsd.org/D15424
2018-10-22 15:33:05 +00:00
..
autofs Add SPDX tags to autofs(5). 2018-01-24 16:40:26 +00:00
cd9660 cd9660 pointer sign issues and missing __packed attribute 2018-08-15 06:42:31 +00:00
cuse Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
deadfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
devfs Revert r339174: Move 32-bit compat support for FIODGNAME to the right place. 2018-10-04 23:55:03 +00:00
ext2fs Change unused inodes counters behavior in the cylinder groups. 2018-08-21 18:39:29 +00:00
fdescfs Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
fifofs Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
fuse FUSE extattrs: fix issue when neither uio nor size were not passed to VOP_* (cosmetic only). 2018-08-21 18:50:29 +00:00
msdosfs msdosfs: fixes for Undefined Behavior. 2018-08-08 15:08:22 +00:00
nandfs Put jail(2) under COMPAT_FREEBSD11. It has been the "old" way of creating 2018-08-16 18:40:16 +00:00
nfs Fix LORs between vn_start_write() and vn_lock() in the pNFS server. 2018-08-17 21:12:16 +00:00
nfsclient Silence newer gcc warnings. 2018-08-02 20:10:59 +00:00
nfsserver nfsrvd_readdirplus: for some errors, do not fail the entire request 2018-10-22 15:33:05 +00:00
nullfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
procfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
pseudofs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
smbfs Use long for the last argument to VOP_PATHCONF rather than a register_t. 2018-01-17 22:36:58 +00:00
tmpfs Remove the Yarrow PRNG algorithm option in accordance with due notice 2018-08-26 12:51:46 +00:00
udf Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
unionfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00