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 ? 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