[PATCH] swsusp: Fix swap_type_of
There is a bug in mm/swapfile.c#swap_type_of() that makes swsusp only be able to use the first active swap partition as the resume device. Fix it. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Cc: Hugh Dickins <hugh@veritas.com> Acked-by: Pavel Machek <pavel@suse.cz> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
c06aad854f
commit
b6b5bce357
|
@ -442,11 +442,12 @@ int swap_type_of(dev_t device)
|
||||||
|
|
||||||
if (!(swap_info[i].flags & SWP_WRITEOK))
|
if (!(swap_info[i].flags & SWP_WRITEOK))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!device) {
|
if (!device) {
|
||||||
spin_unlock(&swap_lock);
|
spin_unlock(&swap_lock);
|
||||||
return i;
|
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) &&
|
if (S_ISBLK(inode->i_mode) &&
|
||||||
device == MKDEV(imajor(inode), iminor(inode))) {
|
device == MKDEV(imajor(inode), iminor(inode))) {
|
||||||
spin_unlock(&swap_lock);
|
spin_unlock(&swap_lock);
|
||||||
|
|
Loading…
Reference in New Issue