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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox