OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-1973-g41d145b
Gerrit Code Review
gerrit@openafs.org
Sat, 10 Dec 2011 06:45:33 -0800 (PST)
The following commit has been merged in the master branch:
commit 41d145b303d61aa6f8f336e4d66748dea860d08f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Fri Dec 9 18:40:42 2011 -0500
Windows: Suspend/Resume for afsd_service
The power mgmt events are received in the service. The service
can block all requests from the redirector from being processed
until it knows that it is safe to process them.
The service will receive a SERVICE_CONTROL_APMSUSPEND just before
the system goes to sleep. The service has two seconds to respond
and it uses that time to attempt to send RXAFS_GiveUpAllCallBacks
to all file servers as an rx_multi with no wait. It also marks
all servers down and updates the callback expirations to be just
after the servers were marked down so that they will be forced to
be refreshed when the server is marked up.
Upon resume the service receives two events. First,
SERVICE_CONTROL_APMRESUMEAUTOMATIC which is used to perform an
SMB lan adapter change detection and perform a probe of all down
servers. The second, SERVICE_CONTROL_APMRESUMESUSPEND is used to
resume SMB listeners, perform a 2nd lan adapter change check (just
in case), check the status of all down servers in additional
networks have come up, and finally resume processing of redirector
requests.
With these changes no special logic in the redirector is required.
Change-Id: I5405ecab754dca04f34afb024c4dacc3fe089088
Reviewed-on: http://gerrit.openafs.org/6243
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
src/WINNT/afsd/afsd_service.c | 83 ++++++++++++++++++++++----
src/WINNT/afsrdr/common/AFSUserPrototypes.h | 4 +
src/WINNT/afsrdr/user/RDRInit.cpp | 22 +++++++
3 files changed, 96 insertions(+), 13 deletions(-)
--
OpenAFS Master Repository