mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
5a20d339c7
commit
25c0a6e529
|
@ -320,15 +320,14 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
|
||||||
noffset[0] = 0;
|
noffset[0] = 0;
|
||||||
|
|
||||||
if (block < direct_index) {
|
if (block < direct_index) {
|
||||||
offset[n++] = block;
|
offset[n] = block;
|
||||||
level = 0;
|
|
||||||
goto got;
|
goto got;
|
||||||
}
|
}
|
||||||
block -= direct_index;
|
block -= direct_index;
|
||||||
if (block < direct_blks) {
|
if (block < direct_blks) {
|
||||||
offset[n++] = NODE_DIR1_BLOCK;
|
offset[n++] = NODE_DIR1_BLOCK;
|
||||||
noffset[n] = 1;
|
noffset[n] = 1;
|
||||||
offset[n++] = block;
|
offset[n] = block;
|
||||||
level = 1;
|
level = 1;
|
||||||
goto got;
|
goto got;
|
||||||
}
|
}
|
||||||
|
@ -336,7 +335,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
|
||||||
if (block < direct_blks) {
|
if (block < direct_blks) {
|
||||||
offset[n++] = NODE_DIR2_BLOCK;
|
offset[n++] = NODE_DIR2_BLOCK;
|
||||||
noffset[n] = 2;
|
noffset[n] = 2;
|
||||||
offset[n++] = block;
|
offset[n] = block;
|
||||||
level = 1;
|
level = 1;
|
||||||
goto got;
|
goto got;
|
||||||
}
|
}
|
||||||
|
@ -346,7 +345,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
|
||||||
noffset[n] = 3;
|
noffset[n] = 3;
|
||||||
offset[n++] = block / direct_blks;
|
offset[n++] = block / direct_blks;
|
||||||
noffset[n] = 4 + offset[n - 1];
|
noffset[n] = 4 + offset[n - 1];
|
||||||
offset[n++] = block % direct_blks;
|
offset[n] = block % direct_blks;
|
||||||
level = 2;
|
level = 2;
|
||||||
goto got;
|
goto got;
|
||||||
}
|
}
|
||||||
|
@ -356,7 +355,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
|
||||||
noffset[n] = 4 + dptrs_per_blk;
|
noffset[n] = 4 + dptrs_per_blk;
|
||||||
offset[n++] = block / direct_blks;
|
offset[n++] = block / direct_blks;
|
||||||
noffset[n] = 5 + dptrs_per_blk + offset[n - 1];
|
noffset[n] = 5 + dptrs_per_blk + offset[n - 1];
|
||||||
offset[n++] = block % direct_blks;
|
offset[n] = block % direct_blks;
|
||||||
level = 2;
|
level = 2;
|
||||||
goto got;
|
goto got;
|
||||||
}
|
}
|
||||||
|
@ -371,7 +370,7 @@ static int get_node_path(long block, int offset[4], unsigned int noffset[4])
|
||||||
noffset[n] = 7 + (dptrs_per_blk * 2) +
|
noffset[n] = 7 + (dptrs_per_blk * 2) +
|
||||||
offset[n - 2] * (dptrs_per_blk + 1) +
|
offset[n - 2] * (dptrs_per_blk + 1) +
|
||||||
offset[n - 1];
|
offset[n - 1];
|
||||||
offset[n++] = block % direct_blks;
|
offset[n] = block % direct_blks;
|
||||||
level = 3;
|
level = 3;
|
||||||
goto got;
|
goto got;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue