f2fs: keep quota data on write_begin failure
[linux-2.6-microblaze.git] / fs / f2fs / data.c
index fc40a72..3b29451 100644 (file)
@@ -2600,14 +2600,16 @@ static void f2fs_write_failed(struct address_space *mapping, loff_t to)
        struct inode *inode = mapping->host;
        loff_t i_size = i_size_read(inode);
 
+       if (IS_NOQUOTA(inode))
+               return;
+
        /* In the fs-verity case, f2fs_end_enable_verity() does the truncate */
        if (to > i_size && !f2fs_verity_in_progress(inode)) {
                down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
                down_write(&F2FS_I(inode)->i_mmap_sem);
 
                truncate_pagecache(inode, i_size);
-               if (!IS_NOQUOTA(inode))
-                       f2fs_truncate_blocks(inode, i_size, true);
+               f2fs_truncate_blocks(inode, i_size, true);
 
                up_write(&F2FS_I(inode)->i_mmap_sem);
                up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);