> It is right thing to continue assignment if one of the domain is out of > counters. In that case how about we save the error(say error_domain) and > continue. And finally return success if both ret and error_domain are zeros. > > return ret ? ret : error_domain: If there are many domains, then you might have 3 succeed and 5 fail. I think the best you can do is return success if everything succeeded and an error if any failed. You have the same issue if someone tries to update multiple things with a single write to mbm_assign_control: # cat > mbm_assign_control << EOF c1/m78/0=t;1=l; c1/m79/0=t;1=l c1/m80/0=t;1=l; c1/m81/0=t;1=l; EOF Those get processed in order, some may succeed, but once a domain is out of counters the rest for that domain will fail. Updates to schemata are handled in multiple passes to either have all succeed or all fail. But the only problems that can occur are user syntax/range issues. So it's a lot simpler. For writes to mbm_assign_control I think it's okay to document that some requests may have been applied even though the whole request reports failure. The user can always read the file to check status. -Tony