Introducing Network File System Version 4 on HP-UX 11i v3
28
3. If the operation supports recalls and there is no delegation to revoke, pass the operation on
to the physical file system
4. If there is a delegation that needs to be recalled, call the server function to recall the
delegation
5. A callback is issued to the client where the client writes its data to server, updates the server
state, and a DELEGRETURN will be issued. Local access is blocked on a delegated file until
the delegation is returned or the lease times out.
Figure 23 is a diagram that shows an example of what happens when a delegation is recalled by the
stackable module when an NFSv4 client has file “foo” open when a user on the local machine opens
the same file. Once the delegation is recalled, the NFS client will flush the data to the server and the
local user will have the most recent data that has been written out by the NFS client.
Figure 23. Recalling a Delegation on a Local File Open
Figure 24 shows the network trace of the OPEN reply from the NFS server (Step 2 in Figure 23)
where the write delegation (OPEN_WRITE_DELEGATE on line 16) has been granted to the NFS client
for the file “foo”.
1) client opens file “foo” on server with write
client
“foo”
2) server grants write delegation to
client on file “foo”
3) user opens file
”foo” locally on
server, the application
blocks because “foo”
is delegated
4) server recalls the delegation issued on “foo”
R
Atten
Fa
Rem
SP
Standby
Po
h
p
Integrity
762
5) client flushes data to server and updates server state
before returning the delegation
6) local user
application is
unblocked and may
now access the
updated contents of
“foo”