Author: rmacklem
Date: Wed Jul 22 14:32:28 2009
New Revision: 195819
URL: http://svn.freebsd.org/changeset/base/195819

Log:
  When using an NFSv4 mount in the experimental nfs client with delegations
  being issued from the server, there was a case where an Open issued locally
  based on the delegation would be released before the associated vnode
  became inactive. If the delegation was recalled after the open was released,
  an Open against the server would not have been acquired and subsequent I/O
  operations would need to use the special stateid of all zeros. This patch
  fixes that case.
  
  Approved by:  re (kensmith), kib (mentor)

Modified:
  head/sys/fs/nfsclient/nfs_clstate.c

Modified: head/sys/fs/nfsclient/nfs_clstate.c
==============================================================================
--- head/sys/fs/nfsclient/nfs_clstate.c Wed Jul 22 11:57:34 2009        
(r195818)
+++ head/sys/fs/nfsclient/nfs_clstate.c Wed Jul 22 14:32:28 2009        
(r195819)
@@ -2472,7 +2472,7 @@ tryagain:
                        clearok = 1;
                        LIST_FOREACH(owp, &dp->nfsdl_owner, nfsow_list) {
                            op = LIST_FIRST(&owp->nfsow_open);
-                           if (op != NULL && op->nfso_opencnt > 0) {
+                           if (op != NULL) {
                                clearok = 0;
                                break;
                            }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to