This patch modifies to retry truncating node blocks in -ENOMEM case.

Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
---
 fs/f2fs/inode.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index f4ac851..5cccd7a 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -344,7 +344,7 @@ void f2fs_evict_inode(struct inode *inode)
        sb_start_intwrite(inode->i_sb);
        set_inode_flag(fi, FI_NO_ALLOC);
        i_size_write(inode, 0);
-
+retry:
        if (F2FS_HAS_BLOCKS(inode))
                err = f2fs_truncate(inode, true);
 
@@ -374,6 +374,11 @@ no_delete:
 
        if (err && err != -ENOENT) {
                if (!exist_written_data(sbi, inode->i_ino, ORPHAN_INO)) {
+                       /* give more chances, if ENOMEM case */
+                       if (err == -ENOMEM) {
+                               err = 0;
+                               goto retry;
+                       }
                        /*
                         * get here because we failed to release resource
                         * of inode previously, reminder our user to run fsck
-- 
2.6.3


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to