[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 15/15] libxl: Re-implement domain_suspend_device_model using libxl__ev_qmp
On Fri, Nov 09, 2018 at 05:11:05PM +0000, Ian Jackson wrote: > Anthony PERARD writes ("Re: [PATCH v5 15/15] libxl: Re-implement > domain_suspend_device_model using libxl__ev_qmp"): > > On Tue, Oct 16, 2018 at 04:28:55PM +0100, Ian Jackson wrote: > > > Does this statefile fd really need to be a carefd ? Is it a pipe or a > > > file ? If it is a file, is it of nontrivial size ? > > > > Yes, it needs to be caredfd, because that's what the libxl__ev_qmp API > > wants. I don't know yet if it is a good idee to have the _ev_qmp API > > only takes fd. Do you think it's fine to have libxl__ev_qmp API takes a > > simple fd and let callers handle the fd the way they want? > > > > (In previous version of the patch series, libxl__ev_qmp used to close > > the carefd. That's not the case anymore, and that carefd is only read, > > so I don't think it matter anymore which kind it is between int and > > carefd.) > > Ah. In OOP terms I think the API should take the narrowest class that > has all the required methods. In this case that means that since you > don't need to close the fd you shouldn't prejudge whether it's a > carefd or not - so you should make it an int. > > Regardless of whether it's an fd or a carefd, I think the qmp API > caller needs to keep the thing open until the qmp async operation is > done, right ? Yes, there is "they must all remain valid" in the struct libxl__ev_qmp comments. > Feel free to try to talk me out of this view. I was asking the > question to provoke thought, not necessarily to push a particular > opinion. I don't like much that the possibility exist to leak stuff, but on the other end with the API change, I would need to store the carefd somewhere else. I think in this case I downgrade to int as it is easier, and as you said, it would be a small file with a low probability of been leaked, so it doesn't matter too much. Thanks, -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |