On Thu, Dec 06, 2018 at 01:55:46PM +0900, Kyotaro HORIGUCHI wrote: > durable_unlink has two modes of faiure. Failure to unlink and > fsync. If once it fails at the fsync stage, subsequent > durable_unlink calls for the same file always fail to unlink with > ENOENT. If durable_unlink is intended to be called repeatedly on > falure, perhaps it should return a different code for each > failure so that the caller can indentify what to do next.
Why? A WARNING would be logged if the first unlink() fails, and another, different WARNING would be logged if the subsequent fsync fails. It looks enough to me to make a distinction between both. Now, you may have a point in the fact that we could also live with only using unlink() for this code path, as even on repetitive crashes this would take care of removing orphan archive status files consistently. -- Michael
signature.asc
Description: PGP signature