mbox series

[v2,0/2] Fix test_resume failure by openning swap device non-exclusively

Message ID cover.1681186310.git.yu.c.chen@intel.com
Headers show
Series Fix test_resume failure by openning swap device non-exclusively | expand

Message

Chen Yu April 11, 2023, 12:18 p.m. UTC
test_resume does not work in current kernel when using swapfile for hibernation.
This is because the swap device should be openned non-exclusively in test_resume mode.

Patch 1 is a preparation for patch 2 and it turns snapshot_test into a global variable.
Patch 2 opens swap device non-exclusively for test_resume mode, and exclusively for manual
hibernation resume.

Change since v1:
Turn snapshot_test into global variable and do not introduce parameters for swsusp_check()
nor load_image_and_restore().


Chen Yu (2):
  PM: hibernate: Turn snapshot_test into global variable
  PM: hibernate: Do not get block device exclusively in test_resume mode

 kernel/power/hibernate.c | 12 +++++++++---
 kernel/power/power.h     |  1 +
 kernel/power/swap.c      |  5 +++--
 3 files changed, 13 insertions(+), 5 deletions(-)

Comments

Pavan Kondeti April 11, 2023, 5:30 a.m. UTC | #1
On Tue, Apr 11, 2023 at 08:18:43PM +0800, Chen Yu wrote:
> test_resume does not work in current kernel when using swapfile for hibernation.
> This is because the swap device should be openned non-exclusively in test_resume mode.
> 
> Patch 1 is a preparation for patch 2 and it turns snapshot_test into a global variable.
> Patch 2 opens swap device non-exclusively for test_resume mode, and exclusively for manual
> hibernation resume.
> 
> Change since v1:
> Turn snapshot_test into global variable and do not introduce parameters for swsusp_check()
> nor load_image_and_restore().
> 
> 
> Chen Yu (2):
>   PM: hibernate: Turn snapshot_test into global variable
>   PM: hibernate: Do not get block device exclusively in test_resume mode
> 
>  kernel/power/hibernate.c | 12 +++++++++---
>  kernel/power/power.h     |  1 +
>  kernel/power/swap.c      |  5 +++--
>  3 files changed, 13 insertions(+), 5 deletions(-)
> 
Looks good to me.

I have verified test_resume on QEMU arm64 and it worked fine with
these two patches included.

Thanks,
Pavan