Quoting Sukadev Bhattiprolu (sukadev@xxxxxxxxxxxxxxxxxx): > Dave Hansen [dave@xxxxxxxxxxxxxxxxxx] wrote: > | > | Introduce a files_struct counter to indicate whether a particular > | file_struct has ever contained a file which can not be > | checkpointed. This flag is a one-way trip; once it is set, it may > | not be unset. > | > | We assume at allocation that a new files_struct is clean and may > | be checkpointed. However, as soon as it has had its files filled > | from its parent's, we check it for real in __scan_files_for_cr(). > | At that point, we mark it if it contained any uncheckpointable > | files. > > Hmm. Why not just copy ->may_checkpoint setting from parent (or old) > files_struct ? If parent is not checkpointable, then child won't be > and vice-versa - no ? No. We don't clear the files_struct checkpointable flag when an uncheckpointable file is closed. But if the parent has closed all uncheckpointable files before forking, then the child can be started with a checkpointable files_struct. Otherwise it wouldn't just be the task which has a one-way trip to uncheckpointability, but process trees, and - assuming init does anything uncheckpointable at all - the whole system :) -serge _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers