[libvirt] [ PATCH v5 0/4] API to invoke S3/S4 on a host and also resume from within libvirt
Srivatsa S. Bhat
srivatsa.bhat at linux.vnet.ibm.com
Tue Nov 29 09:52:29 UTC 2011
On 11/29/2011 03:12 PM, Daniel Veillard wrote:
> On Tue, Nov 29, 2011 at 03:12:07AM +0530, Srivatsa S. Bhat wrote:
>> This patchset adds a new API to put a host to a suspended state
>> (Suspend-to-RAM, Suspend-to-Disk or Hybrid-Suspend) and setup a timed resume
>> to get the host back online, from within libvirt.
>> This uses the RTC wakeup mechanism to set up a timer alarm before suspending
>> the host, so that in-band resume is facilitated by the firing of the RTC
>> alarm, which wakes up the host.
>>
>> This patch applies on top of the Hybrid-Suspend patch posted in [1].
> [...]
>>
>> Srivatsa S. Bhat (4):
>> Add a public API to invoke suspend/resume on the host
>> Add the remote protocol implementation for virNodeSuspendForDuration
>> Implement the core API to suspend/resume the host
>> Add virsh command to initiate suspend on the host
>>
>
> Okay I finally pushed this series. But all patches except 4/4 failed
> to apply cleanly on git head, thay all also raised various "make
> syntax-check" error, which I fixed in the standard way I think.
> The main issue is that patch 3/4 made "make check" fail all virshtest
> for some reason (maybe the restricted PATH) the call to
> virNodeSuspendInit() in virInitialize() was failing, an well in that
> case nothing work. So I changed virNodeSuspendInit:
> - to not return -1 if virGetPMCapabilities() fails
> - only log an error if virGetPMCapabilities() fails and the
> effective user id is 0
> - initialize hostPMFeatures to 0 before checking
>
> This code should probably still be revisited, because IMHO:
> - when run as non-root we should not expose suspend capabilities
> that we may not be able to use as non-root (pm-suspend works
> only as root for example, and pm-is-supported seems to work
> differently as root or as non-root)
> - the error log was getting in the way of the virshtest checks
> and we should probably not log error as non root.
> - I was tempted to not call virNodeSuspendInit() from virInitialize()
> but I'm afraid the drivers code may rely on those data including
> the lock being initialized.
>
> So my changes certainly need reviews, but the first version is commited
> now.
>
Thanks a lot!
> Thanks, but in the future, please run "make check" and "make syntax-check"
> on all commits before posting them to the list,
>
Very sorry, it was an oversight from my side, caused by an eagerness to
quickly address all the review comments, to aid further reviews/pushing the
patches before the freeze deadline.
But in future, I will definitely remember to run all the sanity checks and
only then post patches. My sincere apologies for all the trouble I caused
because of that!
--
Regards,
Srivatsa S. Bhat
IBM Linux Technology Center
More information about the libvir-list
mailing list