345
2. Every time the application runs and retrieves its metadata from
persistent memory:
a. Application checks the GUID/UUID saved in its metadata with the
current UUID for the logical volume the applications metadata
resides on. If they match, then the LDLC is describing the same
logical volume the app was using. If they do not match, then the
DLC is for some other logical volume and no longer applies. The
application decides how to handle this.
b. Application calculates the current LDLC as the sum of the DLC
for all physical persistent memory the application’s metadata
resides on.
c. Application compares the current LDLC calculated with the saved
LDLC retrieved from its metadata.
d. If the current LDLC does not match the saved LDLC, then one
or more persistent memory have detected a dirty shutdown and
possible data loss. If they do match, no further action is required
by the application.
e. Application checks the status of the saved “clean” flag in its
metadata; if the clean flag is NOT set, this application was writing
at the time of the shutdown failure.
f. If the clean flag is NOT set, perform software data recovery or
rollback using application-specific functionality.
g. Application stores the new current LDLC in its metadata file
and ensures that the update of the count has been flushed to the
system’s persistence domain. This may require unsetting the clean
flag if it was previously set.
h. Application sets the clean flag in its metadata file and ensures that
the update of the clean flag has been flushed to the persistence
domain.
Chapter 17 reliability, availability, and ServiCeability (raS)
2. Every time the application runs and retrieves its metadata from
persistent memory:
a. Application checks the GUID/UUID saved in its metadata with the
current UUID for the logical volume the applications metadata
resides on. If they match, then the LDLC is describing the same
logical volume the app was using. If they do not match, then the
DLC is for some other logical volume and no longer applies. The
application decides how to handle this.
b. Application calculates the current LDLC as the sum of the DLC
for all physical persistent memory the application’s metadata
resides on.
c. Application compares the current LDLC calculated with the saved
LDLC retrieved from its metadata.
d. If the current LDLC does not match the saved LDLC, then one
or more persistent memory have detected a dirty shutdown and
possible data loss. If they do match, no further action is required
by the application.
e. Application checks the status of the saved “clean” flag in its
metadata; if the clean flag is NOT set, this application was writing
at the time of the shutdown failure.
f. If the clean flag is NOT set, perform software data recovery or
rollback using application-specific functionality.
g. Application stores the new current LDLC in its metadata file
and ensures that the update of the count has been flushed to the
system’s persistence domain. This may require unsetting the clean
flag if it was previously set.
h. Application sets the clean flag in its metadata file and ensures that
the update of the clean flag has been flushed to the persistence
domain.
Chapter 17 reliability, availability, and ServiCeability (raS)
