@@ -3935,7 +3935,9 @@ static int f2fs_sec_trim_file(struct file *filp, unsigned long arg)
3935
3935
IS_ENCRYPTED (inode ) && f2fs_is_multi_device (sbi )))
3936
3936
return - EOPNOTSUPP ;
3937
3937
3938
- file_start_write (filp );
3938
+ ret = mnt_want_write_file (filp );
3939
+ if (ret )
3940
+ return ret ;
3939
3941
inode_lock (inode );
3940
3942
3941
3943
if (f2fs_is_atomic_file (inode ) || f2fs_compressed_file (inode ) ||
@@ -4061,7 +4063,7 @@ static int f2fs_sec_trim_file(struct file *filp, unsigned long arg)
4061
4063
f2fs_up_write (& F2FS_I (inode )-> i_gc_rwsem [WRITE ]);
4062
4064
err :
4063
4065
inode_unlock (inode );
4064
- file_end_write (filp );
4066
+ mnt_drop_write_file (filp );
4065
4067
4066
4068
return ret ;
4067
4069
}
@@ -4115,7 +4117,9 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg)
4115
4117
option .algorithm >= COMPRESS_MAX )
4116
4118
return - EINVAL ;
4117
4119
4118
- file_start_write (filp );
4120
+ ret = mnt_want_write_file (filp );
4121
+ if (ret )
4122
+ return ret ;
4119
4123
inode_lock (inode );
4120
4124
4121
4125
f2fs_down_write (& F2FS_I (inode )-> i_sem );
@@ -4154,7 +4158,7 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg)
4154
4158
out :
4155
4159
f2fs_up_write (& F2FS_I (inode )-> i_sem );
4156
4160
inode_unlock (inode );
4157
- file_end_write (filp );
4161
+ mnt_drop_write_file (filp );
4158
4162
4159
4163
return ret ;
4160
4164
}
@@ -4211,7 +4215,9 @@ static int f2fs_ioc_decompress_file(struct file *filp)
4211
4215
4212
4216
f2fs_balance_fs (sbi , true);
4213
4217
4214
- file_start_write (filp );
4218
+ ret = mnt_want_write_file (filp );
4219
+ if (ret )
4220
+ return ret ;
4215
4221
inode_lock (inode );
4216
4222
4217
4223
if (!f2fs_is_compress_backend_ready (inode )) {
@@ -4266,7 +4272,7 @@ static int f2fs_ioc_decompress_file(struct file *filp)
4266
4272
f2fs_update_time (sbi , REQ_TIME );
4267
4273
out :
4268
4274
inode_unlock (inode );
4269
- file_end_write (filp );
4275
+ mnt_drop_write_file (filp );
4270
4276
4271
4277
return ret ;
4272
4278
}
@@ -4288,7 +4294,9 @@ static int f2fs_ioc_compress_file(struct file *filp)
4288
4294
4289
4295
f2fs_balance_fs (sbi , true);
4290
4296
4291
- file_start_write (filp );
4297
+ ret = mnt_want_write_file (filp );
4298
+ if (ret )
4299
+ return ret ;
4292
4300
inode_lock (inode );
4293
4301
4294
4302
if (!f2fs_is_compress_backend_ready (inode )) {
@@ -4344,7 +4352,7 @@ static int f2fs_ioc_compress_file(struct file *filp)
4344
4352
f2fs_update_time (sbi , REQ_TIME );
4345
4353
out :
4346
4354
inode_unlock (inode );
4347
- file_end_write (filp );
4355
+ mnt_drop_write_file (filp );
4348
4356
4349
4357
return ret ;
4350
4358
}
0 commit comments