f2fs: invalidate the node page if allocation is failed
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Thu, 20 Dec 2012 06:10:06 +0000 (15:10 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Fri, 28 Dec 2012 02:24:09 +0000 (11:24 +0900)
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>

No differences found