aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/swapfile.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c
index a314d42c0fa5..e356e5e70313 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -2136,6 +2136,8 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
2136 atomic_inc(&proc_poll_event); 2136 atomic_inc(&proc_poll_event);
2137 wake_up_interruptible(&proc_poll_wait); 2137 wake_up_interruptible(&proc_poll_wait);
2138 2138
2139 if (S_ISREG(inode->i_mode))
2140 inode->i_flags |= S_SWAPFILE;
2139 error = 0; 2141 error = 0;
2140 goto out; 2142 goto out;
2141bad_swap: 2143bad_swap:
@@ -2163,11 +2165,8 @@ out:
2163 } 2165 }
2164 if (name) 2166 if (name)
2165 putname(name); 2167 putname(name);
2166 if (inode && S_ISREG(inode->i_mode)) { 2168 if (inode && S_ISREG(inode->i_mode))
2167 if (!error)
2168 inode->i_flags |= S_SWAPFILE;
2169 mutex_unlock(&inode->i_mutex); 2169 mutex_unlock(&inode->i_mutex);
2170 }
2171 return error; 2170 return error;
2172} 2171}
2173 2172