Peter Maydell <peter.mayd...@linaro.org> writes: > On Mon, 11 Mar 2019 at 16:14, Bandan Das <b...@redhat.com> wrote: >> >> Peter Maydell <peter.mayd...@linaro.org> writes: >> > At the moment PARTIAL_DELETE is "ALL_DELETE | READ_ONLY", which >> > doesn't seem like it makes much sense. >> > >> >> Sorry, can you please clarify what doesn't make sense ? > > Generally, if you have multiple bits X, Y in a return > value, they should be independent. Sometimes we define > a convenience value Z that's X | Y, but then Z should > have a name that indicates that it's really doing both > X and Y (for instance often a READWRITE constant will > be READ | WRITE). In this case, I don't see why > PARTIAL_DELETE would be a sensible name to indicate > "both ALL_DELETE and also READ_ONLY" -- if we only > partially did a delete why do we set the ALL_DELETE bit ? >
Because during a recursive call, we were able to successfully delete objects(s) for the previous call but for "this" set of objects, it failed which is supposed to return a partial_delete back. Does simply "DELETE" instead of "ALL_DELETE" seem less confusing ? I definitely want to keep PARTIAL_DELETE the way it is simply because it's easier to refer back to the spec that way. > It might be useful to take a step back -- what are > the different possible outcomes from this function that > we need to distinguish, and when should we be returning > which outcome? > > thanks > -- PMM