diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2012-12-20 15:10:06 +0900 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2012-12-28 11:24:09 +0900 |
commit | 71e9fec548a95b2a4cf378646addd5d3098684a2 (patch) | |
tree | 129aef9aacfb87ec29d67a8ca95422a82ab9db12 /fs/f2fs/segment.c | |
parent | 690e4a3ead5f88fc95f7650816d1376aa2e79db5 (diff) |
f2fs: invalidate the node page if allocation is failed
The new_node_page() is processed as the following procedure.
1. A new node page is allocated.
2. Set PageUptodate with proper footer information.
3. Check if there is a free space for allocation
4.a. If there is no space, f2fs returns with -ENOSPC.
4.b. Otherwise, go next.
In the case of step #4.a, f2fs remains a wrong node page in the page cache
with the uptodate flag.
Also, even though a new node page is allocated successfully, an error can be
occurred afterwards due to allocation failure of the other data structures.
In such a case, remove_inode_page() would be triggered, so that we have to
clear uptodate flag in truncate_node() too.
So, we should remove the uptodate flag, if allocation is failed.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs/segment.c')
0 files changed, 0 insertions, 0 deletions