
When a DVS server receives a request from a client, DVS checks the request path against the list of quiesced
directories. The comparison between the path name in the request and the quiesced directory is a simple string
compare to avoid any access of the underlying file system that has been quiesced. If DVS finds that the request is
for a quiesced file system, it sends a reply indicating that the request could not be completed due to a quiesce
and noting which directory is quiesced. If the client request is for a file that has been closed due to quiesce, the
server returns a reply to the client indicating that the request could not be completed due to a quiesce.
When an admin unquiesces a directory on a DVS server, DVS simply removes that directory from the server's list
of quiesced directories and clears all quiesce-related flags for that directory.
How Quiesce Works: the Client View
When making a request of a server, a client may get back reply indicating that the request was for a file in a
quiesced directory. The client then retries the operation on the next server in its server list. If it makes the request
of every server in its server list and gets the same reply from each of them, then one of two things happens,
depending on the type of request:
path name
request
If the request is a path name request (lookup, stat, file open, etc.), then DVS reattempts the
operation on a different server in a round-robin fashion until it finds a server that allows the
operation to complete successfully.
open file
If the request is for an open file (read, write, lseek, etc.), then DVS attempts the operation on a
different server. If the file is not open on any other servers, DVS attempts to open on the file on a
server in a round robin fashion until it gets a successful open. DVS will then attempt to perform
the operation.
If a client receives a reply indicating a quiesced directory, the client adds that directory to a list of quiesced
directories held on the DVS superblock. This is intended to reduce network traffic by avoiding requests that target
quiesced directories. The client's list of quiesced directories expires about every 60 seconds, thereby allowing
clients to try those directories again in case one or more have been unquiesced during that time. This mechanism
enables DVS to strike a balance between the timely unquiescing of a file system and a large reduction in network
traffic and requests coming into the server. It also has the effect of naturally staggering clients when they start to
use a server.
6.1.8.6.1 Use Case: Quiesce a Single Directory on a Single DVS Server
Prerequisites
This procedure requires administrative privileges.
About this task
The example provided in this procedure is for a scenario in which an admin wants to quiesce a
directory
/gpfs/test/foo
on a DVS server. This is an unlikely use case, but an illustrative example.
Procedure
1. Quiesce the directory on the DVS server.
dvs1#
echo quiesce /gpfs/test/foo > /proc/fs/dvs/quiesce
Cray DVS
S3016
173