[Natty/Oneiric][SRU][pull request] CIFS mount blocks suspend/hibernate

Chris J Arges chris.j.arges at canonical.com
Mon Nov 14 19:33:50 UTC 2011


SRU Justification:

Impact:
If a cifs share is mounted in ubuntu-natty/ubuntu-oneiric and we try to suspend cifsd
prevents the laptop from suspending.

Fix:
Applied the patches listed below and rebuilt and tested kernel.

Testcase:
See LP#24330 for additional information.

Create a cifs share on another machine. On your test laptop, install cifs-utils.
Mount the share, for example "sudo mount -t cifs //192.168.1.2/test /mnt/test".
Suspend or hibernate, I used "sudo fwts --s3-multiple=5 s3". (Testcase A)
Next, try to read data while suspending. Execute: "while true; do cat /mnt/test/hello > /dev/null; done &".
Suspend or hibernate, I used "sudo fwts --s3-multiple=5 s3". (Testcase B)
Next, try to write data while suspending. Execute: "while true; do cat /dev/urandom > /mnt/test/rnd; done &"
Suspend or hibernate, I used "sudo fwts --s3-multiple=5 s3". (Testcase C)

Without the fix, I see failures for natty/oneiric for testcases B/C. I haven't tested enough to see A fail.

With the fix, testcase B works but C will intermittently fail. There is still some work being done on this
bug and we will need to pick these changes up later. See: https://bugzilla.redhat.com/show_bug.cgi?id=717735
These patches are still important as it makes the system less prone to failures, and allows suspend to work in
many cases when using cifs mounts.


The following changes since commit 7396c80310afeec09939b848bc9f24672024f42f:

  UBUNTU: Ubuntu-2.6.38-13.52 (2011-11-07 22:13:20 -0200)

are available in the git repository at:

  git://kernel.ubuntu.com/arges/ubuntu-natty.git lp24330

Jeff Layton (1):

      cifs, freezer: add wait_event_freezekillable and have cifs use it

Oleg Nesterov (1):

      PM / Freezer: Reimplement wait_event_freezekillable using freezer_do_not_count/freezer_count

Steve French (2):

      Fixup trivial checkpatch warning

      Fix build break when freezer not configured

 fs/cifs/transport.c     |    3 ++-

 include/linux/freezer.h |   17 +++++++++++++++--

 2 files changed, 17 insertions(+), 3 deletions(-)


The following changes since commit d2907dee66c036845bb732b546886037c232676b:

  UBUNTU: Ubuntu-3.0.0-13.22 (2011-11-01 14:21:00 -0400)

are available in the git repository at:
  git://kernel.ubuntu.com/arges/ubuntu-oneiric.git lp24330

Jeff Layton (1):
      cifs, freezer: add wait_event_freezekillable and have cifs use it

Oleg Nesterov (1):
      PM / Freezer: Reimplement wait_event_freezekillable using freezer_do_not_count/freezer_count

Steve French (2):
      Fixup trivial checkpatch warning
      Fix build break when freezer not configured

 fs/cifs/transport.c     |    3 ++-
 include/linux/freezer.h |   17 +++++++++++++++--
 2 files changed, 17 insertions(+), 3 deletions(-)







More information about the kernel-team mailing list