aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorNamjae Jeon <namjae.jeon@samsung.com>2013-03-01 22:41:31 -0500
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-03-18 08:00:36 -0400
commit25c0a6e529b56ca010e1f46239edd07c1b484b63 (patch)
tree164db0f8936c4260340d6df1ef58036de8aca1af /fs
parent5a20d339c785d98d8b050b9afc098e4184a6098c (diff)
f2fs: avoid extra ++ while returning from get_node_path
In all the breaking conditions in get_node_path, 'n' is used to track index in offset[] array, but while breaking out also, in all paths n++ is done. So, remove the ++ from breaking paths. Also, avoid reset of 'level=0' in first case. Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Amit Sahrawat <a.sahrawat@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/node.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 6006e8e8a5f3..a3cb1ff34f8e 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -320,15 +320,14 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
320 noffset[0] = 0; 320 noffset[0] = 0;
321 321
322 if (block < direct_index) { 322 if (block < direct_index) {
323 offset[n++] = block; 323 offset[n] = block;
324 level = 0;
325 goto got; 324 goto got;
326 } 325 }
327 block -= direct_index; 326 block -= direct_index;
328 if (block < direct_blks) { 327 if (block < direct_blks) {
329 offset[n++] = NODE_DIR1_BLOCK; 328 offset[n++] = NODE_DIR1_BLOCK;
330 noffset[n] = 1; 329 noffset[n] = 1;
331 offset[n++] = block; 330 offset[n] = block;
332 level = 1; 331 level = 1;
333 goto got; 332 goto got;
334 } 333 }
@@ -336,7 +335,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
336 if (block < direct_blks) { 335 if (block < direct_blks) {
337 offset[n++] = NODE_DIR2_BLOCK; 336 offset[n++] = NODE_DIR2_BLOCK;
338 noffset[n] = 2; 337 noffset[n] = 2;
339 offset[n++] = block; 338 offset[n] = block;
340 level = 1; 339 level = 1;
341 goto got; 340 goto got;
342 } 341 }
@@ -346,7 +345,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
346 noffset[n] = 3; 345 noffset[n] = 3;
347 offset[n++] = block / direct_blks; 346 offset[n++] = block / direct_blks;
348 noffset[n] = 4 + offset[n - 1]; 347 noffset[n] = 4 + offset[n - 1];
349 offset[n++] = block % direct_blks; 348 offset[n] = block % direct_blks;
350 level = 2; 349 level = 2;
351 goto got; 350 goto got;
352 } 351 }
@@ -356,7 +355,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
356 noffset[n] = 4 + dptrs_per_blk; 355 noffset[n] = 4 + dptrs_per_blk;
357 offset[n++] = block / direct_blks; 356 offset[n++] = block / direct_blks;
358 noffset[n] = 5 + dptrs_per_blk + offset[n - 1]; 357 noffset[n] = 5 + dptrs_per_blk + offset[n - 1];
359 offset[n++] = block % direct_blks; 358 offset[n] = block % direct_blks;
360 level = 2; 359 level = 2;
361 goto got; 360 goto got;
362 } 361 }
@@ -371,7 +370,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
371 noffset[n] = 7 + (dptrs_per_blk * 2) + 370 noffset[n] = 7 + (dptrs_per_blk * 2) +
372 offset[n - 2] * (dptrs_per_blk + 1) + 371 offset[n - 2] * (dptrs_per_blk + 1) +
373 offset[n - 1]; 372 offset[n - 1];
374 offset[n++] = block % direct_blks; 373 offset[n] = block % direct_blks;
375 level = 3; 374 level = 3;
376 goto got; 375 goto got;
377 } else { 376 } else {