f2fs: change the current atomic write way
Current atomic write has three major issues like below. - keeps the updates in non-reclaimable memory space and they are even hard to be migrated, which is not good for contiguous memory allocation. - disk spaces used for atomic files cannot be garbage collected, so this makes it difficult for the filesystem to be defragmented. - If atomic write operations hit the threshold of either memory usage or garbage collection failure count, All the atomic write operations will fail immediately. To resolve the issues, I will keep a COW inode internally for all the updates to be flushed from memory, when we need to flush them out in a situation like high memory pressure. These COW inodes will be tagged as orphan inodes to be reclaimed in case of sudden power-cut or system failure during atomic writes. Signed-off-by:Daeho Jeong <daehojeong@google.com> Signed-off-by:
Jaegeuk Kim <jaegeuk@kernel.org>
-
mentioned in commit 9de4353c
-
mentioned in commit e35539a5
-
mentioned in commit 693980c2
-
mentioned in commit 9b5ee2f2
-
mentioned in commit d64cde96
-
mentioned in commit ae6afed2
-
mentioned in commit 1ce45e92
-
mentioned in commit 44f394fb
-
mentioned in commit 31376293
-
mentioned in commit 11cc01ee
-
mentioned in commit 407a7bfa
-
mentioned in commit 1625f1a6
-
mentioned in commit 505f9e13
-
mentioned in commit 01032a9b
-
mentioned in commit bc30e790
-
mentioned in commit 95a0ee97
-
mentioned in commit 4a8ef61b
-
mentioned in commit 61e6faf4
-
mentioned in commit d1c7ad56
-
mentioned in commit 88625982
-
mentioned in commit 023b8c20
-
mentioned in commit d50b0df4
-
mentioned in commit 89b0a0fc
-
mentioned in commit 2daffa27
-
mentioned in commit 67835985
-
mentioned in commit e707d32c
-
mentioned in commit 71d192d6
-
mentioned in commit 739fbcfb
-
mentioned in commit 084878cc
-
mentioned in commit 8bcfc752
-
mentioned in commit 0f63e33e