Mikulas Patocka [mpatocka@xxxxxxxxxx] wrote: > On Mon, 7 Apr 2008, malahal@xxxxxxxxxx wrote: > >>>> I don't think the state RH_MAYBE_DIRTY is superfluous. If the region >>>> state is RH_CLEAN_CANDIDATE after the sync(), that means no 'write' >>>> happened since we set RH_CLEAN_CANDIDATE. If there was any write, the >>>> region state would be 'RH_DIRTY' or 'RH_MAYBE_DIRTY'. >>> >>> Hrm, sound like a contradiction in your statement. >>> Either it stays RH_CLEAN_CANDIDATE because of no writes *or* >>> it's state-changing to RH_DIRTY, no ? >> >> The state would be RH_CLEAN_CANDIDATE if there were ***NO*** writes as >> part of sync(). The next statement only describes what would happen if >> there were any writes as part of sync(). > > The sync() does write just like any other process, so it may create > RH_CLEAN_CANDIDATE state too. To check that the region was not written > during sync(), you need an extra state and make sure that no other code > sets this state, except your syncing thread. Exactly my point. Thanks for putting it better. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel