file.c (f847c699cff3f050286ee0a08632046468e7a511) | file.c (4354994f097d068a894aa1a0860da54571df3582) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * fs/f2fs/file.c 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com/ 7 */ 8#include <linux/fs.h> --- 196 unchanged lines hidden (view full) --- 205 enum cp_reason_type cp_reason = 0; 206 struct writeback_control wbc = { 207 .sync_mode = WB_SYNC_ALL, 208 .nr_to_write = LONG_MAX, 209 .for_reclaim = 0, 210 }; 211 unsigned int seq_id = 0; 212 | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * fs/f2fs/file.c 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com/ 7 */ 8#include <linux/fs.h> --- 196 unchanged lines hidden (view full) --- 205 enum cp_reason_type cp_reason = 0; 206 struct writeback_control wbc = { 207 .sync_mode = WB_SYNC_ALL, 208 .nr_to_write = LONG_MAX, 209 .for_reclaim = 0, 210 }; 211 unsigned int seq_id = 0; 212 |
213 if (unlikely(f2fs_readonly(inode->i_sb))) | 213 if (unlikely(f2fs_readonly(inode->i_sb) || 214 is_sbi_flag_set(sbi, SBI_CP_DISABLED))) |
214 return 0; 215 216 trace_f2fs_sync_file_enter(inode); 217 218 /* if fdatasync is triggered, let's do in-place-update */ 219 if (datasync || get_dirty_pages(inode) <= SM_I(sbi)->min_fsync_blocks) 220 set_inode_flag(inode, FI_NEED_IPU); 221 ret = file_write_and_wait_range(file, start, end); --- 1930 unchanged lines hidden (view full) --- 2152 int ret; 2153 2154 if (!capable(CAP_SYS_ADMIN)) 2155 return -EPERM; 2156 2157 if (f2fs_readonly(sbi->sb)) 2158 return -EROFS; 2159 | 215 return 0; 216 217 trace_f2fs_sync_file_enter(inode); 218 219 /* if fdatasync is triggered, let's do in-place-update */ 220 if (datasync || get_dirty_pages(inode) <= SM_I(sbi)->min_fsync_blocks) 221 set_inode_flag(inode, FI_NEED_IPU); 222 ret = file_write_and_wait_range(file, start, end); --- 1930 unchanged lines hidden (view full) --- 2153 int ret; 2154 2155 if (!capable(CAP_SYS_ADMIN)) 2156 return -EPERM; 2157 2158 if (f2fs_readonly(sbi->sb)) 2159 return -EROFS; 2160 |
2161 if (unlikely(is_sbi_flag_set(sbi, SBI_CP_DISABLED))) { 2162 f2fs_msg(sbi->sb, KERN_INFO, 2163 "Skipping Checkpoint. Checkpoints currently disabled."); 2164 return -EINVAL; 2165 } 2166 |
|
2160 ret = mnt_want_write_file(filp); 2161 if (ret) 2162 return ret; 2163 2164 ret = f2fs_sync_fs(sbi->sb, 1); 2165 2166 mnt_drop_write_file(filp); 2167 return ret; --- 355 unchanged lines hidden (view full) --- 2523 int ret; 2524 2525 if (!capable(CAP_SYS_ADMIN)) 2526 return -EPERM; 2527 2528 if (f2fs_readonly(sbi->sb)) 2529 return -EROFS; 2530 | 2167 ret = mnt_want_write_file(filp); 2168 if (ret) 2169 return ret; 2170 2171 ret = f2fs_sync_fs(sbi->sb, 1); 2172 2173 mnt_drop_write_file(filp); 2174 return ret; --- 355 unchanged lines hidden (view full) --- 2530 int ret; 2531 2532 if (!capable(CAP_SYS_ADMIN)) 2533 return -EPERM; 2534 2535 if (f2fs_readonly(sbi->sb)) 2536 return -EROFS; 2537 |
2538 if (unlikely(is_sbi_flag_set(sbi, SBI_CP_DISABLED))) 2539 return -EINVAL; 2540 |
|
2531 if (copy_from_user(&range, (struct f2fs_flush_device __user *)arg, 2532 sizeof(range))) 2533 return -EFAULT; 2534 2535 if (sbi->s_ndevs <= 1 || sbi->s_ndevs - 1 <= range.dev_num || 2536 sbi->segs_per_sec != 1) { 2537 f2fs_msg(sbi->sb, KERN_WARNING, 2538 "Can't flush %u in %d for segs_per_sec %u != 1\n", --- 560 unchanged lines hidden --- | 2541 if (copy_from_user(&range, (struct f2fs_flush_device __user *)arg, 2542 sizeof(range))) 2543 return -EFAULT; 2544 2545 if (sbi->s_ndevs <= 1 || sbi->s_ndevs - 1 <= range.dev_num || 2546 sbi->segs_per_sec != 1) { 2547 f2fs_msg(sbi->sb, KERN_WARNING, 2548 "Can't flush %u in %d for segs_per_sec %u != 1\n", --- 560 unchanged lines hidden --- |