cfs/test/fsproc/fsOfflineCheckpointer.cc
// Must be called with syncID on disk (dsync) and on journal (jsync) for the
// same inode
Must be called with syncID on disk (dsync) and on journal (jsync) for the
same inode
Must be called with syncID on disk ( dsync ) and on journal ( jsync ) for the same inode
inline bool FsProcOfflineCheckpointer::syncIDConstraintSatisfied(
    uint64_t dsync_id, uint64_t jsync_id) {
#if CFS_JOURNAL(LOCAL_JOURNAL)
  return jsync_id == (dsync_id + 1);
#else
  return true;
#endif
}
inline bool FsProcOfflineCheckpointer :: syncIDConstraintSatisfied ( uint64_t dsync_id , uint64_t jsync_id ) { #if CFS_JOURNAL ( LOCAL_JOURNAL ) return jsync_id == ( dsync_id + 1 ) ; #else return true ; #endif }
Must be called with syncID on disk (dsync) and on journal (jsync) for the
same inode
Must be called with syncID on disk ( dsync ) and on journal ( jsync ) for the same inode
// normal case: jsync_id == (dsync_id + 1) // complex case: failure during checkpointing - journal operations applied to // inode but the journal isn't truncated. jsync_id < dsync_id NOTE: for now we // do not support the complex case. We won't be failing checkpoint at the // point where it finishes applying changes but then crashes when updating // jsupers. NOTE: this could be done by ensuring that the checkpoint writes to // a special checkpoint journal for atomicity. Alternatively, we make two // passes over the journals. // In global journal mode we do not need to look at sync_id as we process // entries left to right