aboutsummaryrefslogtreecommitdiff
path: root/sys/fs
Commit message (Collapse)AuthorAgeFilesLines
* Plug memory disclosures via ptrace(2).Mark Johnston2018-12-033-5/+9
| | | | | | | | | | | | | | | | On some architectures, the structures returned by PT_GET*REGS were not fully populated and could contain uninitialized stack memory. The same issue existed with the register files in procfs. Reported by: Thomas Barabosch, Fraunhofer FKIE Reviewed by: kib MFC after: 3 days Security: kernel stack memory disclosure Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18421 Notes: svn path=/head/; revision=341442
* Ensure the dirent remains initialized when dirent.d_fileno is unset.Mark Johnston2018-11-231-1/+2
| | | | | | | | | Reported by: rmacklem MFC with: r340856 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340859
* Ensure that directory entry padding bytes are zeroed.Mark Johnston2018-11-2314-28/+29
| | | | | | | | | | | | | | | | | Directory entries must be padded to maintain alignment; in many filesystems the padding was not initialized, resulting in stack memory being copied out to userspace. With the ino64 work there are also some explicit pad fields in struct dirent. Add a subroutine to clear these bytes and use it in the in-tree filesystems. The NFS client is omitted for now as it was fixed separately in r340787. Reported by: Thomas Barabosch, Fraunhofer FKIE Reviewed by: kib MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340856
* Make sure the NFS readdir client fills in all "struct dirent" data.Rick Macklem2018-11-231-8/+14
| | | | | | | | | | | | | | | The NFS client code (nfsrpc_readdir() and nfsrpc_readdirplus()) wasn't filling in parts of the readdir reply, such as d_pad[01] and the bytes at the end of d_name within d_reclen. As such, data left in a buffer cache block could be leaked to userland in the readdir reply. This patch makes sure all of the data is filled in. Reported by: Thomas Barabosch, Fraunhofer FKIE Reviewed by: kib, markj MFC after: 2 weeks Notes: svn path=/head/; revision=340787
* proc: convert pfind & friends to use pidhash locks and other cleanupMateusz Guzik2018-11-212-11/+11
| | | | | | | | | | pfind_locked is retired as it relied on allproc which unnecessarily restricts locking of the hash. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340744
* tmpfs: use unr64 for inode numbersMateusz Guzik2018-11-203-13/+3
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340679
* Improve sanity checking for the dircount hint argument toRick Macklem2018-11-201-0/+6
| | | | | | | | | | | NFSv3's ReaddirPlus and NFSv4's Readdir operations. The code checked for a zero argument, but did not check for a very large value. This patch clips dircount at the server's maximum data size. MFC after: 1 week Notes: svn path=/head/; revision=340663
* nfsm_advance() would panic() when the offs argument was negative.Rick Macklem2018-11-201-3/+7
| | | | | | | | | | | The code assumed that this would indicate a corrupted mbuf chain, but it could simply be caused by bogus RPC message data. This patch replaces the panic() with a printf() plus error return. MFC after: 1 week Notes: svn path=/head/; revision=340662
* r304026 added code that started statistics gathering for an operationRick Macklem2018-11-201-5/+5
| | | | | | | | before the operation number (the variable called "op") was sanity checked. This patch moves the code down to below the range sanity check for "op". Notes: svn path=/head/; revision=340661
* Remove comments made obsolete by the ino64 work.Mark Johnston2018-11-192-2/+2
| | | | | | | | MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340639
* Add d_off support for multiple filesystems.Konstantin Belousov2018-11-148-0/+19
| | | | | | | | | | | | | | | | | | | | | | | The d_off field has been added to the dirent structure recently. Currently filesystems don't support this feature. Support has been added and tested for zfs, ufs, ext2fs, fdescfs, msdosfs and unionfs. A stub implementation is available for cd9660, nandfs, udf and pseudofs but hasn't been tested. Motivation for this feature: our usecase is for a userspace nfs server (nfs-ganesha) with zfs. At the moment we cache direntry offsets by calling lseek once per entry, with this patch we can get the offset directly from getdirentries(2) calls which provides a significant speedup. Submitted by: Jack Halford <jack@gandi.net> Reviewed by: mckusick, pfg, rmacklem (previous versions) Sponsored by: Gandi.net MFC after: 1 week Differential revision: https://reviews.freebsd.org/D17917 Notes: svn path=/head/; revision=340431
* Change nfs_advlock() so that the NFSVOPUNLOCK() is mostly done at the end.Rick Macklem2018-11-061-18/+19
| | | | | | | | | | | | | | | Prior to this patch, nfs_advlock() did NFSVOPUNLOCK(); return (error); in many places. This patch replaces these code sequenences with a "goto out;" and does the NFSVOPUNLOCK(); return (error); at the end of the function in order to make the vnode locking simpler. This patch does not change the semantics of nfs_advlock(). Suggested by: kib Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D17853 Notes: svn path=/head/; revision=340207
* Use declared types for caddr_t arguments.Brooks Davis2018-11-061-2/+1
| | | | | | | | | | | | Leave ptrace(2) alone for the moment as it's defined to take a caddr_t. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17852 Notes: svn path=/head/; revision=340199
* Make vop_symlink take a const target path.Brooks Davis2018-11-028-12/+12
| | | | | | | | | | | | | | | | | | | | This will enable callers to take const paths as part of syscall decleration improvements. Where doing so is easy and non-distruptive carry the const through implementations. In UFS the value is passed to an interface that must take non-const values. In ZFS, const poisoning would touch code shared with upstream and it's not worth adding diffs. Bump __FreeBSD_version for external API consumers. Reviewed by: kib (prior version) Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17805 Notes: svn path=/head/; revision=340055
* Fix NFS client vnode locking to avoid a crash during forced dismount.Rick Macklem2018-11-011-6/+9
| | | | | | | | | | | | | | | | | A crash was reported where the crash occurred in nfs_advlock() when the NFS_ISV4(vp) macro was being executed. This was caused by the vnode being VI_DOOMED due to a forced dismount in progress. This patch fixes the problem by locking the vnode before executing the NFS_ISV4() macro. Tested by: rlibby PR: 232673 Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D17757 Notes: svn path=/head/; revision=339999
* Move 32-bit compat support for FIODGNAME to the right place.Brooks Davis2018-10-261-8/+34
| | | | | | | | | | | | | | | | | | | ioctl(2) commands only have meaning in the context of a file descriptor so translating them in the syscall layer is incorrect. The new handler users an accessor to retrieve/construct a pointer from the last member of the passed structure and relies on type punning to access the other member which requires no translation. Unlike r339174 this change supports both places FIODGNAME is handled. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17475 Notes: svn path=/head/; revision=339779
* Only call sigdeferstop() for NFS.Konstantin Belousov2018-10-231-2/+27
| | | | | | | | | | | | | | | | | | | | Use bypass to catch any NFS VOP dispatch and route it through the wrapper which does sigdeferstop() and then dispatches original VOP. NFS does not need a bypass below it, which is not supported. The vop offset in the vop_vector is added since otherwise it is impossible to get vop_op_t from the internal table, and I did not wanted to create the layered fs only to wrap NFS VOPs. VFS_OP()s wrap is straightforward. Requested and reviewed by: mjg (previous version) Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D17658 Notes: svn path=/head/; revision=339672
* nfsrvd_readdirplus: for some errors, do not fail the entire requestAndriy Gapon2018-10-221-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=339595
* Fix the pNFS server's reporting of disk space usage for the "#<path>" case.Rick Macklem2018-10-091-5/+22
| | | | | | | | | | | | | | | The pNFS server would report the total disk space used and free for all of the DSs, even when certain DSs are assigned to the file system via the "#<path>" suffix used in the "nfsd -p" option argument. This patch fixes this case. It only reports usage for the file system that the argument vnode resides on. This is consistent with the non-pNFS NFSv4 server. In NFSv4 it is possible to have subtrees on other file systems, but these are not included in the usage information for NFSv4. Approved by: re (gjb) Notes: svn path=/head/; revision=339247
* Revert r339174: Move 32-bit compat support for FIODGNAME to the right place.Brooks Davis2018-10-041-42/+8
| | | | | | | | | | A case was missed in this commit which breaks sshing into a 32-bit sshd on a 64-bit system. Approved by: re (gjb) Notes: svn path=/head/; revision=339186
* Move 32-bit compat support for FIODGNAME to the right place.Brooks Davis2018-10-031-8/+42
| | | | | | | | | | | | | | | | | | ioctl(2) commands only have meaning in the context of a file descriptor so translating them in the syscall layer is incorrect. The new handler users an accessor to retrieve/construct a pointer from the last member of the passed structure and relies on type punning to access the other member which requires no translation. Reviewed by: kib Approved by: re (rgrimes, gjb) Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Review: https://reviews.freebsd.org/D17388 Notes: svn path=/head/; revision=339174
* Remove the Yarrow PRNG algorithm option in accordance with due noticeMark Murray2018-08-261-1/+1
| | | | | | | | | | | | | | | | | | | given in random(4). This includes updating of the relevant man pages, and no-longer-used harvesting parameters. Ensure that the pseudo-unit-test still does something useful, now also with the "other" algorithm instead of Yarrow. PR: 230870 Reviewed by: cem Approved by: so(delphij,gtetlow) Approved by: re(marius) Differential Revision: https://reviews.freebsd.org/D16898 Notes: svn path=/head/; revision=338324
* FUSE extattrs: fix issue when neither uio nor size were not passed to VOP_* ↵Fedor Uporov2018-08-211-22/+21
| | | | | | | | | | | | (cosmetic only). Reviewed by: cem, pfg MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D13737 Notes: svn path=/head/; revision=338153
* FUSE extattrs: fix issue when neither uio nor size were not passed to VOP_*.Fedor Uporov2018-08-212-49/+62
| | | | | | | | | | | | | | The requested size was returned incorrectly in case uio == NULL from listextattr because the nameprefix/name conversion was not applied. Also, make a_size/uio returning logic more unified with other filesystems. Reviewed by: cem, pfg MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D13528 Notes: svn path=/head/; revision=338152
* Change unused inodes counters behavior in the cylinder groups.Fedor Uporov2018-08-211-8/+7
| | | | | | | Make it more close to native ext4 implementation to avoid fsck errors. Notes: svn path=/head/; revision=338151
* Fix directory blocks checksum updating logic.Fedor Uporov2018-08-214-17/+37
| | | | | | | | Count dirent tail in the searchslot logic in case of directory block search. Add htree root csum update function call in case of rename. Notes: svn path=/head/; revision=338150
* Fix LORs between vn_start_write() and vn_lock() in nfsrv_copymr().Rick Macklem2018-08-181-18/+26
| | | | | | | | | | | | | | | | When coding the pNFS server, I added vn_start_write() calls in nfsrv_copymr() done while the vnodes were locked, not realizing I had introduced LORs and possible deadlock when an exported file system on the MDS is suspended. This patch fixes the LORs by moving the vn_start_write() calls up to before where the vnodes are locked. For "tvp", the vn_start_write() probaby isn't necessary, because NFS mounts can't be suspended. However, I think doing so is harmless. Thanks go to kib@ for letting me know that I had introduced these LORs. This patch only affects the behaviour of the pNFS server when pnfsdscopymr(8) is used to recover a mirrored DS. Notes: svn path=/head/; revision=338019
* Fix LORs between vn_start_write() and vn_lock() in the pNFS server.Rick Macklem2018-08-174-55/+56
| | | | | | | | | | | | | | | | | | | | | | When coding the pNFS server, I added several vn_start_write() calls done while the vnode was locked, not realizing I had introduced LORs and possible deadlock when an exported file system on the MDS is suspended. This patch fixes this by removing the added vn_start_write() calls and modifying the code so that the extant vn_start_write() call before the NFS RPC/operation is done when needed by the pNFS server. Flags are changed so that LayoutCommit and LayoutReturn now get a vn_start_write() done for them. When the pNFS server is enabled, the code now also changes the flags for Getattr, so that the vn_start_write() is done for Getattr, since it may need to do a vn_set_extattr(). The nfs_writerpc flag array was made global to the NFS server and renamed nfsrv_writerpc, which is consistent naming for globals in the NFS server. Thanks go to kib@ for reporting that doing vn_start_write() while the vnode is locked results in a LOR. This patch only affects the behaviour of the pNFS server. Notes: svn path=/head/; revision=337990
* Don't set a file's size for the MDS file of a pNFS service.Rick Macklem2018-08-171-2/+26
| | | | | | | | | | | | | | | | | | | When a pNFS service is running, the size of the files created on the MDS are normally 0, since the data is written to the data files on the DS(s). However, without this patch, if a Setattr with a non-zero size was done by a client, the MDS file was set to that size. This was thought to be benign, but it turns out that files with a non-zero size plus extended attributes can cause a "ffs_truncate3" panic in UFS. Although the exact cause of this panic() has not been isolated, this patch avoids the panic() and leaves the MDS files in a consistent state of always having a size == 0. Note that these MDS files never store data. The patch also includes an unnecessary initialization of savsize in case some compiler or static analyser complains it might not be initialized. This patch only affects the NFS server when pNFS is enabled via the "-p" command line option on nfsd. Notes: svn path=/head/; revision=337962
* Put jail(2) under COMPAT_FREEBSD11. It has been the "old" way of creatingJamie Gritton2018-08-161-3/+2
| | | | | | | | | | | | | | | | | jails since FreeBSD 7. Along with the system call, put the various security.jail.allow_foo and security.jail.foo_allowed sysctls partly under COMPAT_FREEBSD11 (or BURN_BRIDGES). These sysctls had two disparate uses: on the system side, they were global permissions for jails created via jail(2) which lacked fine-grained permission controls; inside a jail, they're read-only descriptions of what the current jail is allowed to do. The first use is obsolete along with jail(2), but keep them for the second-read-only use. Differential Revision: D14791 Notes: svn path=/head/; revision=337922
* FUSE: Document global sysctl knobsConrad Meyer2018-08-151-8/+19
| | | | | | | | | | | | | | So that I don't have to keep grepping around the codebase to remember what each one does. And maybe it saves someone else some time. Fix a trivial whitespace issue while here. No functional change. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=337861
* cd9660 pointer sign issues and missing __packed attributeToomas Soome2018-08-152-17/+17
| | | | | | | | | | | | | | | The isonum_* functions are defined to take unsigend char* as an argument, but the structure fields are defined as char. Change to u_char where needed. Probably the full structure should be changed, but I'm not sure about the side affects. While there, add __packed attribute. Differential Revision: https://reviews.freebsd.org/D16564 Notes: svn path=/head/; revision=337833
* Assorted fixes to handling of LayoutRecall callbacks, mostly error handling.Rick Macklem2018-08-081-43/+51
| | | | | | | | | | | | | | | | | | | | After a re-read of the appropriate section of RFC5661, I decided that a few things should be changed related to LayoutRecall callback handling. Here are the things fixed by this patch. - For two of the three cases that LayoutRecall is done, I now think setting the clora_changed argument false is correct. - All errors other than NFSERR_DELAY returned by LayoutRecall appear permanent, so don't retry for any of them. (NFSERR_DELAY is retried by newnfs_request(), so it is not affected by this patch.) - Instead of waiting "forever" (actually until the process is SIGTERM'd) for Layouts to be returned during a mirror copy, fail and return ENXIO after about 1minute. Waiting for a <ctrl>C made sense when pnfsdscopymr() was done by itself, but did not make sense when done via find(1). This patch only affects the pNFS server. Notes: svn path=/head/; revision=337501
* msdosfs: fixes for Undefined Behavior.Pedro F. Giffuni2018-08-081-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were found by the Undefined Behaviour GsoC project at NetBSD: Do not change signedness bit with left shift. While there avoid signed integer overflow. Address both issues with using unsigned type. msdosfs_fat.c:512:42, left shift of 1 by 31 places cannot be represented in type 'int' msdosfs_fat.c:521:44, left shift of 1 by 31 places cannot be represented in type 'int' msdosfs_fat.c:744:14, left shift of 1 by 31 places cannot be represented in type 'int' msdosfs_fat.c:744:24, signed integer overflow: -2147483648 - 1 cannot be represented in type 'int [20]' msdosfs_fat.c:840:13, left shift of 1 by 31 places cannot be represented in type 'int' msdosfs_fat.c:840:36, signed integer overflow: -2147483648 - 1 cannot be represented in type 'int [20]' Detected with micro-UBSan in the user mode. Hinted from: NetBSD (CVS 1.33) MFC after: 2 weeks Differenctial Revision: https://reviews.freebsd.org/D16615 Notes: svn path=/head/; revision=337456
* Split the dir_index and dir_nlink features.Fedor Uporov2018-08-082-23/+13
| | | | | | | | | | Do not allow to create more that EXT4_LINK_MAX links to directory in case if the dir_nlink is not set, like it is done in the fresh e2fsprogs updates. MFC after: 3 months Notes: svn path=/head/; revision=337454
* Fix directory blocks checksum updating logic.Fedor Uporov2018-08-082-31/+72
| | | | | | | | | | | The checksum updating functions were not called in case of dir index inode splitting and in case of dir entry removing, when the entry was first in the block. Fix and move the dir entry adding logic when i_count == 0 to new function. MFC after: 3 months Notes: svn path=/head/; revision=337453
* FUSE: Remove some set-but-not-used variablesConrad Meyer2018-08-083-12/+2
| | | | | | | No functional change. Notes: svn path=/head/; revision=337447
* Allow newnfs_request() to retry all callback RPCs with an NFSERR_DELAY reply.Rick Macklem2018-08-071-3/+7
| | | | | | | | | | | | | | | | | | | The code in newnfs_request() retries RPCs that get a reply of NFSERR_DELAY, but exempts certain NFSv4 operations. However, for callback RPCs, there should not be any exemptions at this time. The code would have erroneously exempted the CBRECALL callback, since it has the same operation number as the CLOSE operation. This patch fixes this by checking for a callback RPC (indicated by clp != NULL) and not checking for exempt operations for callbacks. This would have only affected the NFSv4 server when delegations are enabled (they are not enabled by default) and the client replies to CBRECALL with NFSERR_DELAY. This may never actually happen. Spotted during code inspection. MFC after: 2 weeks Notes: svn path=/head/; revision=337438
* Copy all bits of a file handle in case there is padding in the structure.Rick Macklem2018-08-052-5/+5
| | | | | | | | | | | | | | | At least on x86, fhandle_t is a packed structure, so I believe an assignment will copy all the bits. However, for some current/future architectures, there might be padding in the structure that doesn't get copied via an assignment. Since NFS assumes a file handle is an opaque blob of bits that can be compared via memcmp()/bcmp(), all the bits including any padding must be copied. This patch replaces the assignments with a call to a byte copy function. Spotted during code inspection. Notes: svn path=/head/; revision=337357
* Silence newer gcc warnings.Rick Macklem2018-08-021-5/+5
| | | | | | | | | | | | | | | | Newer versions of gcc generate "might not be initialized" warnings for several variables in nfsrpc_doiods(). I have checked and all of these variables are assigned values before they are used. In the one case of "tdrpc", it could have passed garbage as an argument to nfscl_dofflayoutio() when mirrorcnt is one. However nfscl_dofflayoutio() only uses the argument when mirrorcnt > 1, so it wasn't actually broken. This patch initializes "tdrpc" to avoid confusion and initializes the rest to make the compiler happy. Requested by: mmacy Notes: svn path=/head/; revision=337170
* FUSE: Bump maximum IO size to enable more performant operationConrad Meyer2018-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | Various components restrict size of IO passed up to the userspace filesystem based on the mount's f_iosize value. The previous default of PAGE_SIZE is anemic, even for normal filesystems, but especially considering every FUSE operation involves a kernel <-> userspace IPC upcall. Bump to DFLTPHYS (currently 64kB) to match other FUSE implementations. Anecdotally, Jakub reports IO read performance increased from 600 MB/s -> 2700 MB/s with a basic RAM-backed FUSE filesystem. PR: 230260 Reported by: Peter (MooseFS) <freebsd AT moosefs.com> Tested by: Jakub Kruszona-Zawadzki <acid AT moosefs.com> MFC after: 3 days Notes: svn path=/head/; revision=337165
* msdosfs: trim EOL whitespaceEd Maste2018-07-315-7/+7
| | | | Notes: svn path=/head/; revision=336966
* cd9660: replace bcopy/bzero with C standard equivalentsEd Maste2018-07-314-9/+9
| | | | | | | To reduce diffs against NetBSD. Notes: svn path=/head/; revision=336965
* msdosfs: use same max filesize #define as NetBSD and move to headerEd Maste2018-07-302-4/+4
| | | | | | | | | | For use by makefs msdosfs support. Obtained from: NetBSD denode.h 1.6 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=336935
* Silence newer gcc warnings.Rick Macklem2018-07-301-2/+2
| | | | | | | | | | | | Newer versions of gcc generate "set, but not used" warnings. Add __unused macros to silence these warnings. Although the variables are not being used, they are values parsed from arguments to callback RPCs that might be needed in the future. Requested by: mmacy Notes: svn path=/head/; revision=336933
* Silence newer gcc warnings.Rick Macklem2018-07-293-3/+3
| | | | | | | | | | Newer versions of gcc generate "set, but not used" warnings in the NFS server. Add __unused macros to silence these warnings. Requested by: mmacy Notes: svn path=/head/; revision=336878
* Modify the NFSv4.1 server so that it allows ReclaimComplete as done by ESXi 6.7.Rick Macklem2018-07-284-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I believe that a ReclaimComplete with rca_one_fs == TRUE is only to be used after a file system has been transferred to a different file server. However, RFC5661 is somewhat vague w.r.t. this and the ESXi 6.7 client does both a ReclaimComplete with rca_one_fs == TRUE and one with ReclaimComplete with rca_one_fs == FALSE. Therefore, just ignore the rca_one_fs == TRUE operation and return NFS_OK without doing anything instead of replying NFS4ERR_NOTSUPP. This allows the ESXi 6.7 NFSv4.1 client to do a mount. After discussion on the NFSv4 IETF working group mailing list, doing this along with setting a flag to note that a ReclaimComplete with rca_one_fs TRUE was an appropriate way to handle this. The flag that indicates that a ReclaimComplete with rca_one_fs == TRUE was done may be used to disable replies of NFS4ERR_GRACE for non-reclaim state operations in a future commit. This patch along with r332790, r334492 and r336357 allow ESXi 6.7 NFSv4.1 mounts work ok. ESX 6.5 NFSv4.1 mounts do not work well, due to what I believe are violations of RFC-5661 and should not be used. Reported by: andreas.nagy@frequentis.com Tested by: andreas.nagy@frequentis.com, daniel@ftml.net (earlier version) MFC after: 2 weeks Relnotes: yes Notes: svn path=/head/; revision=336839
* Use https over http for FreeBSD pagesEitan Adler2018-07-271-2/+1
| | | | Notes: svn path=/head/; revision=336757
* Revert msdosfs MAKEFS #ifdef changes from r319870Ed Maste2018-07-243-7/+6
| | | | | | | | | | These changes are not needed for current msdosfs makefs WIP. Submitted by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=336687
* Set CLSET_TIMEOUT on TCP connections to pNFS DSs.Rick Macklem2018-07-211-1/+39
| | | | | | | | | | | | | | | | | | | Use CLSET_TIMEOUT to set the timeout for connections to DSs instead of specifying a timeout on each RPC. This is done so that SO_SNDTIMEO is set on the TCP socket as well as specifying a time limit when waiting for an RPC reply. Useful if the send queue for the TCP connection has become constipated, due to a failed DS. The choice of lease_duration / 4 is fairly arbitrary, but seems to work ok, with a lower bound of 10sec. For client connections to a DS, set the retry limit to vfs.nfsd.dsretries, which is 2 by default. This patch should only affect pNFS connections to DSs. This patch requires r336542. MFC after: 2 weeks Notes: svn path=/head/; revision=336573