diff options
author | Namjae Jeon <namjae.jeon@samsung.com> | 2013-03-01 22:41:31 -0500 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-03-18 08:00:36 -0400 |
commit | 25c0a6e529b56ca010e1f46239edd07c1b484b63 (patch) | |
tree | 164db0f8936c4260340d6df1ef58036de8aca1af /fs | |
parent | 5a20d339c785d98d8b050b9afc098e4184a6098c (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.c | 13 |
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 { |