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

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

Message

Chen Yu April 14, 2023, 12:10 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 to turn snapshot_test into a global variable.
Patch 2 is the fix to open swap device non-exclusively only for test_resume mode.

Change since v2:
Adjust the initialization of fmode and refine the commit message
per Rafael's suggestion.

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 | 15 ++++++++++++---
 kernel/power/power.h     |  1 +
 kernel/power/swap.c      |  8 ++++++--
 3 files changed, 19 insertions(+), 5 deletions(-)
  

Comments

Rafael J. Wysocki April 27, 2023, 5:02 p.m. UTC | #1
On Fri, Apr 14, 2023 at 6:14 AM Chen Yu <yu.c.chen@intel.com> 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 to turn snapshot_test into a global variable.
> Patch 2 is the fix to open swap device non-exclusively only for test_resume mode.
>
> Change since v2:
> Adjust the initialization of fmode and refine the commit message
> per Rafael's suggestion.
>
> 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 | 15 ++++++++++++---
>  kernel/power/power.h     |  1 +
>  kernel/power/swap.c      |  8 ++++++--
>  3 files changed, 19 insertions(+), 5 deletions(-)
>
> --

Both applied as 6.4-rc material, thanks!