Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Jul 2009 19:00:29 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/fs/nfs nfs_var.h src/sys/fs/nfsclient nfs_clrpcops.c nfs_clstate.c
Message-ID:  <200907091900.n69J0qZj077724@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rmacklem    2009-07-09 19:00:29 UTC

  FreeBSD src repository

  Modified files:
    sys/fs/nfs           nfs_var.h 
    sys/fs/nfsclient     nfs_clrpcops.c nfs_clstate.c 
  Log:
  SVN rev 195510 on 2009-07-09 19:00:29Z by rmacklem
  
  Since the nfscl_getclose() function both decremented open counts and,
  optionally, created a separate list of NFSv4 opens to be closed, it
  was possible for the associated OpenOwner to be free'd before the Open
  was closed. The problem was that the Open was taken off the OpenOwner
  list before the Close RPC was done and OpenOwners can be free'd once the
  list is empty. This patch separates out the case of doing the Close RPC
  into a separate function called nfscl_doclose() and simplifies nfsrpc_doclose()
  so that it closes a single open instead of a list of them. This avoids
  removing the Open from the OpenOwner list before doing the Close RPC.
  
  Approved by:    re (kensmith), kib (mentor)
  
  Revision  Changes    Path
  1.6       +3 -1      src/sys/fs/nfs/nfs_var.h
  1.3       +80 -84    src/sys/fs/nfsclient/nfs_clrpcops.c
  1.6       +96 -99    src/sys/fs/nfsclient/nfs_clstate.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907091900.n69J0qZj077724>