Peter Maydell <peter.mayd...@linaro.org> writes: > 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? > They are what the variable names signify.
> thanks > -- PMM