[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:
Rafael J. Wysocki 2006-08-27 01:23:25 -07:00 committed by Linus Torvalds
parent c06aad854f
commit b6b5bce357
1 changed files with 2 additions and 1 deletions

View File

@ -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);