From: Laurent Riffard <laurent.riffard@free.fr>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: linux-pm@osdl.org, linux-pm@lists.osdl.org
Subject: Re: BUG while suspending to swap on LVM
Date: Mon, 14 Aug 2006 23:25:07 +0200 [thread overview]
Message-ID: <44E0EA33.7080801@free.fr> (raw)
In-Reply-To: <200608142250.06536.rjw@sisk.pl>
Le 14.08.2006 22:50, Rafael J. Wysocki a écrit :
> On Monday 14 August 2006 22:03, Laurent Riffard wrote:
>> Le 14.08.2006 21:16, Rafael J. Wysocki a écrit :
>>> On Monday 14 August 2006 19:48, Laurent Riffard wrote:
>>>> Le 14.08.2006 19:30, Rafael J. Wysocki a écrit :
>>>>> Hi,
>>>>>
>>>>> Thanks for the report.
>>>>>
>>>>> On Monday 14 August 2006 18:49, Laurent Riffard wrote:
>>>>>> Hello,
>>>>>>
>>>>>> I hit a BUG while I was trying to suspend to a swap device on LVM.
>>>>>> The call trace looks like this (see attached picture for detailed
>>>>>> stack trace):
>>>>>>
>>>>>> EIP is at _raw_spin_lock
>>>>>> Call Trace:
>>>>>> die
>>>>>> do_page_fault
>>>>>> error_code
>>>>>> _spin_lock_irq
>>>>>> generic_unplug_device
>>>>>> wait_on_bio_chain
>>>>>> swap_write_image
>>>>> This should be swap_write_page().
>>>> right.
>>>>>> swsusp_write
>>>>>> pm_suspend_disk
>>>>>> enter_state
>>>>>> state_store
>>>>>> susbsys_attr_store
>>>>>> sysfs_write_file
>>>>>> vfs_write
>>>>>> sys_write
>>>>>> sysenter_past_esp
>>>>>>
>>>>>> It was Linux 2.6.18-rc4-mm1 booted with:
>>>>>> root=/dev/vglinux1/lvroot video=vesafb:mtrr splash=silent resume=/dev/mapper/vglinux1-lvswap init 1
>>>>> Does the unpatched 2.6.18-rc4 work in this configuration?
>>>> Will try.
>>> Well, I'm afraid it won't work.
>> guess what? 2.6.18-rc4 worked!
>
> Strange ...
>
>>> Can you please try the appended patch?
>> Ok, I'll try on 2.6.18-rc4-mm1.
>>
>>> Rafael
>>>
>>>
>>> ---
>>> mm/swapfile.c | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> Index: linux-2.6.18-rc4-mm1/mm/swapfile.c
>>> ===================================================================
>>> --- linux-2.6.18-rc4-mm1.orig/mm/swapfile.c 2006-08-13 14:54:43.000000000 +0200
>>> +++ linux-2.6.18-rc4-mm1/mm/swapfile.c 2006-08-14 21:09:09.000000000 +0200
>>> @@ -442,11 +442,12 @@ int swap_type_of(dev_t device)
>>>
>>> if (!(swap_info[i].flags & SWP_WRITEOK))
>>> continue;
>>> +
>>> if (!device) {
>>> spin_unlock(&swap_lock);
>>> return i;
>>> }
>>> - inode = swap_info->swap_file->f_dentry->d_inode;
>>> + inode = swap_info[i].swap_file->f_dentry->d_inode;
>>> if (S_ISBLK(inode->i_mode) &&
>>> device == MKDEV(imajor(inode), iminor(inode))) {
>>> spin_unlock(&swap_lock);
>> Does it mean it was mistaken on swap device ?
>
> Yes. If your resume device is not the first swap, it won't work without
> the patch.
Ok, that's why I had that strange behaviour:
- 2 swap devices online, suspend to second one: suspend works.
- on resume, it can't find suspend signature on the 2nd swap device, so
it continue with normal boot, fsck all FS and say something like "swapon:
1st swap device busy". I had to mkswap it.
I was thinking that my initrd script was broken or I was mistyping the resume
device name in GRUB. Was funny...
>> I did not pay attention on which swap device was online or not.
>
> Please do when you test it. ;-)
I tested with only 1 swap device online: /dev/mapper/vglinux1-lvswap:
same BUG happened with 2.6.18-rc4-mm1 patched.
--
laurent
next prev parent reply other threads:[~2006-08-14 21:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-14 16:49 BUG while suspending to swap on LVM Laurent Riffard
2006-08-14 17:30 ` Rafael J. Wysocki
2006-08-14 17:48 ` Laurent Riffard
2006-08-14 19:16 ` Rafael J. Wysocki
2006-08-14 20:03 ` Laurent Riffard
2006-08-14 20:50 ` Rafael J. Wysocki
2006-08-14 21:25 ` Laurent Riffard [this message]
2006-08-14 21:37 ` Rafael J. Wysocki
2006-08-14 21:53 ` Rafael J. Wysocki
2006-08-15 12:36 ` Laurent Riffard
2006-08-15 12:55 ` Rafael J. Wysocki
2006-08-14 22:29 ` Laurent Riffard
2006-08-14 22:35 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44E0EA33.7080801@free.fr \
--to=laurent.riffard@free.fr \
--cc=linux-pm@lists.osdl.org \
--cc=linux-pm@osdl.org \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.