diff options
Diffstat (limited to 'fs/f2fs/file.c')
| -rw-r--r-- | fs/f2fs/file.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index ada2a3dd701a..b0f38c3b37f4 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c | |||
| @@ -1331,12 +1331,13 @@ static int f2fs_ioc_commit_atomic_write(struct file *filp) | |||
| 1331 | if (ret) | 1331 | if (ret) |
| 1332 | return ret; | 1332 | return ret; |
| 1333 | 1333 | ||
| 1334 | if (f2fs_is_atomic_file(inode)) | 1334 | if (f2fs_is_atomic_file(inode)) { |
| 1335 | clear_inode_flag(F2FS_I(inode), FI_ATOMIC_FILE); | ||
| 1335 | commit_inmem_pages(inode, false); | 1336 | commit_inmem_pages(inode, false); |
| 1337 | } | ||
| 1336 | 1338 | ||
| 1337 | ret = f2fs_sync_file(filp, 0, LONG_MAX, 0); | 1339 | ret = f2fs_sync_file(filp, 0, LONG_MAX, 0); |
| 1338 | mnt_drop_write_file(filp); | 1340 | mnt_drop_write_file(filp); |
| 1339 | clear_inode_flag(F2FS_I(inode), FI_ATOMIC_FILE); | ||
| 1340 | return ret; | 1341 | return ret; |
| 1341 | } | 1342 | } |
| 1342 | 1343 | ||
| @@ -1387,8 +1388,8 @@ static int f2fs_ioc_abort_volatile_write(struct file *filp) | |||
| 1387 | f2fs_balance_fs(F2FS_I_SB(inode)); | 1388 | f2fs_balance_fs(F2FS_I_SB(inode)); |
| 1388 | 1389 | ||
| 1389 | if (f2fs_is_atomic_file(inode)) { | 1390 | if (f2fs_is_atomic_file(inode)) { |
| 1390 | commit_inmem_pages(inode, false); | ||
| 1391 | clear_inode_flag(F2FS_I(inode), FI_ATOMIC_FILE); | 1391 | clear_inode_flag(F2FS_I(inode), FI_ATOMIC_FILE); |
| 1392 | commit_inmem_pages(inode, false); | ||
| 1392 | } | 1393 | } |
| 1393 | 1394 | ||
| 1394 | if (f2fs_is_volatile_file(inode)) | 1395 | if (f2fs_is_volatile_file(inode)) |
