From: Jeffrey Altman Date: Mon, 20 Feb 2012 06:40:03 +0000 (-0500) Subject: viced: lockcount only valid if not expired X-Git-Tag: upstream/1.6.1.pre4^2~73 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=4e1813248e233b7cbae6fb8eecd03efe3d86e191;p=packages%2Fo%2Fopenafs.git viced: lockcount only valid if not expired locks are issued on a lease. If the lock is expired, the lock count is zero. Reviewed-on: http://gerrit.openafs.org/6740 Reviewed-by: Derrick Brashear Reviewed-by: Alistair Ferguson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 4603057d99a1501275f14f6d5aba089364785e09) Change-Id: I784bdccae6d5fb01c76590ccd34fb9efa417747e Reviewed-on: http://gerrit.openafs.org/6750 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index bc78fc399..260a029ab 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -2187,6 +2187,8 @@ static GetStatus(Vnode * targetptr, AFSFetchStatus * status, afs_int32 rights, afs_int32 anyrights, Vnode * parentptr) { + int Time =FT_ApproxTime(); + /* initialize return status from a vnode */ status->InterfaceVersion = 1; status->SyncCounter = status->dataVersionHigh = status->lockCount = @@ -2221,7 +2223,7 @@ GetStatus(Vnode * targetptr, AFSFetchStatus * status, afs_int32 rights, Directory ? targetptr->disk.uniquifier : parentptr->disk.uniquifier); status->ServerModTime = targetptr->disk.serverModifyTime; status->Group = targetptr->disk.group; - status->lockCount = targetptr->disk.lock.lockCount; + status->lockCount = Time > targetptr->disk.lock.lockTime ? targetptr->disk.lock.lockCount : 0; status->errorCode = 0; } /*GetStatus */