mbox

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

Message ID 4EC16D1E.7000307@canonical.com
State New
Headers show

Pull-request

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

Message

Chris J Arges Nov. 14, 2011, 7:33 p.m. UTC
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(-)

Comments

Seth Forshee Nov. 14, 2011, 8:27 p.m. UTC | #1
On Mon, Nov 14, 2011 at 01:33:50PM -0600, Chris J Arges wrote:
> 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.

This looks like the right set of commits based on previous discussion,
and they're all clean cherry picks.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Tim Gardner Nov. 14, 2011, 9:32 p.m. UTC | #2
On 11/14/2011 02:33 PM, Chris J Arges wrote:
> 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(-)
>
>
>
>