f2fs_map_blocks():

if (blkaddr == NEW_ADDR || blkaddr == NULL_ADDR) {
        if (create) {
                ...
        } else {
                ...
                if (flag == F2FS_GET_BLOCK_FIEMAP &&
                                        blkaddr == NULL_ADDR) {
                        ...
                }
                if (flag != F2FS_GET_BLOCK_FIEMAP ||
                                        blkaddr != NEW_ADDR)
                        goto sync_out;
        }

It means we can break the loop in cases of:
a) flag != F2FS_GET_BLOCK_FIEMAP or
b) flag == F2FS_GET_BLOCK_FIEMAP && blkaddr == NULL_ADDR

Condition b) is the same as previous one, so merge operations of them
for readability.

Signed-off-by: Chao Yu <yuch...@huawei.com>
---
 fs/f2fs/data.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index c792f13081db..c24ea5be2a67 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -988,9 +988,9 @@ int f2fs_map_blocks(struct inode *inode, struct 
f2fs_map_blocks *map,
                                                blkaddr == NULL_ADDR) {
                                if (map->m_next_pgofs)
                                        *map->m_next_pgofs = pgofs + 1;
+                               goto sync_out;
                        }
-                       if (flag != F2FS_GET_BLOCK_FIEMAP ||
-                                               blkaddr != NEW_ADDR)
+                       if (flag != F2FS_GET_BLOCK_FIEMAP)
                                goto sync_out;
                }
        }
-- 
2.15.0.55.gc2ece9dc4de6

Reply via email to