From 4e1813248e233b7cbae6fb8eecd03efe3d86e191 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 20 Feb 2012 01:40:03 -0500 Subject: [PATCH] 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 --- src/viced/afsfileprocs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 */ -- 2.39.5