On Mon, 11 Mar 2019 at 16:43, Bandan Das <b...@redhat.com> wrote: > Peter Maydell <peter.mayd...@linaro.org> writes: > > On Mon, 11 Mar 2019 at 16:14, Bandan Das <b...@redhat.com> wrote: > > 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.
I think this would be easier to answer if you answered this question: > > 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