<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/nfsserver, branch release/8.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.4.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.4.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2013-02-28T21:58:07Z</updated>
<entry>
<title>MFC 245508,245566,245568,245611,245909:</title>
<updated>2013-02-28T21:58:07Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2013-02-28T21:58:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=320dbc38e66c0a0aca8adc405068bc4767b824d8'/>
<id>urn:sha1:320dbc38e66c0a0aca8adc405068bc4767b824d8</id>
<content type='text'>
Various fixes to timestamps in NFS:
- Use the VA_UTIMES_NULL flag to detect when NULL was passed to utimes()
  instead of comparing the desired time against the current time as a
  heuristic.
- Remove unused nfs_curusec().
- Use vfs_timestamp() to set file timestamps rather than invoking
  getmicrotime() or getnanotime() directly in NFS.
- Use NFSD_MONOSEC (which maps to time_uptime) instead of the seconds
  portion of wall-time stamps to manage timeouts on events.
- Remove unused nd_starttime from the per-request structure in the new
  NFS server.
- Use nanotime() for the modification time on a delegation to get as
  precise a time as possible.
- Use time_second instead of extracting the second from a call to
  getmicrotime().
</content>
</entry>
<entry>
<title>Partial merge of r218345:</title>
<updated>2012-02-15T17:09:26Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2012-02-15T17:09:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a82c5e40fee5a2c468fe7b19acf7e7c21815c420'/>
<id>urn:sha1:a82c5e40fee5a2c468fe7b19acf7e7c21815c420</id>
<content type='text'>
  Unless "cnt" exceeded MAX_COMMIT_COUNT, nfsrv_commit() and nfsvno_fsync()
  were incorrectly calling vm_object_page_clean().  They were passing the
  length of the range rather than the ending offset of the range.

Reviewed by:	kib
</content>
</entry>
<entry>
<title>MFC 228185:</title>
<updated>2012-01-05T18:50:37Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2012-01-05T18:50:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e8e0ae7e03b79293d08902b410d6e5c220a18c85'/>
<id>urn:sha1:e8e0ae7e03b79293d08902b410d6e5c220a18c85</id>
<content type='text'>
Enhance the sequential access heuristic used to perform readahead in the
NFS server and reuse it for writes as well to allow writes to the backing
store to be clustered.
</content>
</entry>
<entry>
<title>MFC: r223309</title>
<updated>2011-07-04T00:24:59Z</updated>
<author>
<name>Rick Macklem</name>
<email>rmacklem@FreeBSD.org</email>
</author>
<published>2011-07-04T00:24:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c37dc264eb79687b903d09700e810bae3fc27522'/>
<id>urn:sha1:c37dc264eb79687b903d09700e810bae3fc27522</id>
<content type='text'>
Fix the kgssapi so that it can be loaded as a module. Currently
the NFS subsystems use five of the rpcsec_gss/kgssapi entry points,
but since it was not obvious which others might be useful, all
nineteen were included. Basically the nineteen entry points are
set in a structure called rpc_gss_entries and inline functions
defined in sys/rpc/rpcsec_gss.h check for the entry points being
non-NULL and then call them. A default value is returned otherwise.
</content>
</entry>
<entry>
<title>MFC r216565,r216631,r216632,r216633,r216774:</title>
<updated>2010-12-30T09:45:26Z</updated>
<author>
<name>Pawel Jakub Dawidek</name>
<email>pjd@FreeBSD.org</email>
</author>
<published>2010-12-30T09:45:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=257c9eb543cc1e168a44be40cc0eb37598f169b0'/>
<id>urn:sha1:257c9eb543cc1e168a44be40cc0eb37598f169b0</id>
<content type='text'>
r216565:

Reduce lock scope a little.

r216631:

On error, unbusy file system and jump to the end, so we won't try to unlock
NULL *vpp.

Reviewed by:	kib

r216632:

- Move pubflag and lockflag handling from nfsrv_fhtovp() to nfs_namei() -
  this is the only place that is different from all the other nfsrv_fhtovp()
  consumers.
  This simplifies nfsrv_fhtovp() a bit and also eliminates one
  vn_lock/VOP_UNLOCK() cycle in case of NFSv3.
- Implement NFSRV_FLAG_BUSY flag for nfsrv_fhtovp() that tells it to leave
  mount point busy.

Reviewed by:	kib

r216633:

Use newly added NFSRV_FLAG_BUSY flag for nfsrv_fhtovp() to keep mount point
busy. This fixes a race where we can pass invalid mount point to VFS_VGET()
via vp-&gt;v_mount when exported file system was forcibly unmounted between
nfsrv_fhtovp() and VFS_VGET().

Reviewed by:	kib

r216774:

ZFS might not return monotonically increasing directory offset cookies,
so turn off UFS-specific hack that assumes so in ZFS case.
Before the change we can miss returning some directory entries to a
NFS client.

I believe that the hack should be moved to ufs_readdir(), but until we find
somebody who will do it, turn it off for ZFS in NFS server code.

Submitted by:	rmacklem
Discussed with:	rmacklem, mckusick
</content>
</entry>
<entry>
<title>MFC r216454:</title>
<updated>2010-12-26T13:14:36Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-12-26T13:14:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d30495c6ef054fca65444b5e32c8112ef8192ba4'/>
<id>urn:sha1:d30495c6ef054fca65444b5e32c8112ef8192ba4</id>
<content type='text'>
VOP_ISLOCKED() should not be used to determine if the vnode is locked.
Explicitely track the locked status of the vnode.

Approved by:	re (bz)
</content>
</entry>
<entry>
<title>MFC r214851:</title>
<updated>2010-11-08T10:18:01Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-11-08T10:18:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=469a56b8280209aff3c970ea662efa03550487ae'/>
<id>urn:sha1:469a56b8280209aff3c970ea662efa03550487ae</id>
<content type='text'>
Fix a bug in r214049. The nvp == vp case shall be handled specially
only for !usevget case. If VFS_VGET is working, the vnode shared lock
is obtained recursively and vput() shall be done, not vunref().
</content>
</entry>
<entry>
<title>MFC r214049:</title>
<updated>2010-11-03T08:34:00Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-11-03T08:34:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=aa0073263289e15b4908f3a564ff7a08dab87909'/>
<id>urn:sha1:aa0073263289e15b4908f3a564ff7a08dab87909</id>
<content type='text'>
When readdirplus() is handled on the exported filesystem that does
not support VFS_VGET, like msdosfs, do not call VOP_LOOKUP() for
dotdot on the root directory. Our filesystems expect that VFS handles
dotdot lookups on root on its own.
</content>
</entry>
<entry>
<title>MFC r211854:</title>
<updated>2010-11-02T22:30:19Z</updated>
<author>
<name>Pawel Jakub Dawidek</name>
<email>pjd@FreeBSD.org</email>
</author>
<published>2010-11-02T22:30:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d0a9a9cc3de69f5c00a9c49047a3273299195bff'/>
<id>urn:sha1:d0a9a9cc3de69f5c00a9c49047a3273299195bff</id>
<content type='text'>
- When VFS_VGET() is not supported, switch to VOP_LOOKUP().
- We are fine by only share-locking the vnode.
- Remove assertion that doesn't hold for ZFS where we cross mount points
  boundaries by going into .zfs/snapshot/&lt;name&gt;/.

Reviewed by:	rmacklem
Reminded by:	kib
</content>
</entry>
<entry>
<title>MFC: r205661</title>
<updated>2010-04-09T01:14:39Z</updated>
<author>
<name>Rick Macklem</name>
<email>rmacklem@FreeBSD.org</email>
</author>
<published>2010-04-09T01:14:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ae4539db79bfb19c2352ce145649953ebed53137'/>
<id>urn:sha1:ae4539db79bfb19c2352ce145649953ebed53137</id>
<content type='text'>
Patch the regular NFS server so that it returns ESTALE to the client
for all errors returned by VFS_FHTOVP(). This is required to ensure
that EIO doesn't get returned to the client when ZFS is used as the
server file system.
</content>
</entry>
</feed>
