From 4603057d99a1501275f14f6d5aba089364785e09 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. Change-Id: I628dd5b8b0d38694d653d9e8e82ff60ec2e1505c Reviewed-on: http://gerrit.openafs.org/6740 Reviewed-by: Derrick Brashear Reviewed-by: Alistair Ferguson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- 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 730d3711da..dabcbbe182 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -2131,6 +2131,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 = @@ -2165,7 +2167,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 */