]> err.no Git - linux-2.6/blobdiff - mm/swapfile.c
Pull ar-k0-usage into release branch
[linux-2.6] / mm / swapfile.c
index 4b6e8bf986bcad3080c23b9ad2424d24479d2f35..1dcaeda039f4b85f8bbe1b70f4ccbc80de388ade 100644 (file)
@@ -1153,8 +1153,7 @@ asmlinkage long sys_swapoff(const char __user * specialfile)
        p->highest_bit = 0;             /* cuts scans short */
        while (p->flags >= SWP_SCANNING) {
                spin_unlock(&swap_lock);
-               set_current_state(TASK_UNINTERRUPTIBLE);
-               schedule_timeout(1);
+               schedule_timeout_uninterruptible(1);
                spin_lock(&swap_lock);
        }
 
@@ -1382,6 +1381,7 @@ asmlinkage long sys_swapon(const char __user * specialfile, int swap_flags)
                error = bd_claim(bdev, sys_swapon);
                if (error < 0) {
                        bdev = NULL;
+                       error = -EINVAL;
                        goto bad_swap;
                }
                p->old_block_size = block_size(bdev);