Drivers: hv: vmbus: Add /sys/bus/vmbus/hibernation
authorDexuan Cui <decui@microsoft.com>
Thu, 7 Jan 2021 01:45:52 +0000 (17:45 -0800)
committerWei Liu <wei.liu@kernel.org>
Thu, 11 Feb 2021 08:47:05 +0000 (08:47 +0000)
commitc068e3f484268458defea3e1a19d821017f88d26
treec558e87c1754b736b34c1a8d6185cb1bc7b0daa8
parente4d221b42354b2e2ddb9187a806afb651eee2cda
Drivers: hv: vmbus: Add /sys/bus/vmbus/hibernation

When a Linux VM runs on Hyper-V, if the host toolstack doesn't support
hibernation for the VM (this happens on old Hyper-V hosts like Windows
Server 2016, or new Hyper-V hosts if the admin or user doesn't declare
the hibernation intent for the VM), the VM is discouraged from trying
hibernation (because the host doesn't guarantee that the VM's virtual
hardware configuration will remain exactly the same across hibernation),
i.e. the VM should not try to set up the swap partition/file for
hibernation, etc.

x86 Hyper-V uses the presence of the virtual ACPI S4 state as the
indication of the host toolstack support for a VM. Currently there is
no easy and reliable way for the userspace to detect the presence of
the state (see https://lkml.org/lkml/2020/12/11/1097).  Add
/sys/bus/vmbus/hibernation for this purpose.

Signed-off-by: Dexuan Cui <decui@microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20210107014552.14234-1-decui@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Documentation/ABI/stable/sysfs-bus-vmbus
drivers/hv/vmbus_drv.c