Hi, Rui Hua-- On 11/16/2017 07:51 PM, Rui Hua wrote: > In this patch, we use s->read_dirty_data to judge whether the read > request hit dirty data in cache device, it is safe to reread data from > the backing device when the read request hit clean data. This can not > only handle cache read race, but also recover data when failed read > request from cache device. I haven't read over all of this yet, to understand the read race. But this change can't be safe-- read_dirty_data only is set to true if the metadata on the cache device is correctly read. If that fails, the flag may not be set and we could read stale data on the backing device. Mike