| From stable-bounces@linux.kernel.org Tue Aug 15 17:20:06 2006 |
| Message-Id: <200608160019.k7G0JO0N010906@shell0.pdx.osdl.net> |
| To: mm-commits@vger.kernel.org |
| From: "Rafael J. Wysocki" <rjw@sisk.pl> |
| Date: Tue, 15 Aug 2006 17:19:24 -0700 |
| Cc: rjw@sisk.pl, hugh@veritas.com, pavel@suse.cz, stable@kernel.org |
| Subject: swsusp: Fix swap_type_of |
| |
| From: "Rafael J. Wysocki" <rjw@sisk.pl> |
| |
| 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> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| mm/swapfile.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- linux-2.6.17.9.orig/mm/swapfile.c |
| +++ linux-2.6.17.9/mm/swapfile.c |
| @@ -440,11 +440,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); |