diff options
Diffstat (limited to 'fs/open.c')
-rw-r--r-- | fs/open.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -8,7 +8,6 @@ | |||
8 | #include <linux/mm.h> | 8 | #include <linux/mm.h> |
9 | #include <linux/file.h> | 9 | #include <linux/file.h> |
10 | #include <linux/fdtable.h> | 10 | #include <linux/fdtable.h> |
11 | #include <linux/quotaops.h> | ||
12 | #include <linux/fsnotify.h> | 11 | #include <linux/fsnotify.h> |
13 | #include <linux/module.h> | 12 | #include <linux/module.h> |
14 | #include <linux/slab.h> | 13 | #include <linux/slab.h> |
@@ -271,17 +270,15 @@ static long do_sys_truncate(const char __user *pathname, loff_t length) | |||
271 | * Make sure that there are no leases. get_write_access() protects | 270 | * Make sure that there are no leases. get_write_access() protects |
272 | * against the truncate racing with a lease-granting setlease(). | 271 | * against the truncate racing with a lease-granting setlease(). |
273 | */ | 272 | */ |
274 | error = break_lease(inode, FMODE_WRITE); | 273 | error = break_lease(inode, O_WRONLY); |
275 | if (error) | 274 | if (error) |
276 | goto put_write_and_out; | 275 | goto put_write_and_out; |
277 | 276 | ||
278 | error = locks_verify_truncate(inode, NULL, length); | 277 | error = locks_verify_truncate(inode, NULL, length); |
279 | if (!error) | 278 | if (!error) |
280 | error = security_path_truncate(&path, length, 0); | 279 | error = security_path_truncate(&path, length, 0); |
281 | if (!error) { | 280 | if (!error) |
282 | vfs_dq_init(inode); | ||
283 | error = do_truncate(path.dentry, length, 0, NULL); | 281 | error = do_truncate(path.dentry, length, 0, NULL); |
284 | } | ||
285 | 282 | ||
286 | put_write_and_out: | 283 | put_write_and_out: |
287 | put_write_access(inode); | 284 | put_write_access(inode); |