summaryrefslogtreecommitdiffstats
path: root/fs/hfsplus
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2005-08-02 06:11:41 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-02 06:38:00 +0200
commit74f9c9c258249fba3e2e78f70691528426a6c010 (patch)
tree1a334bf40020b2db5ed07a218a7830a427f74b93 /fs/hfsplus
parent[PATCH] hfs: don't dirty unchanged inode (diff)
downloadlinux-74f9c9c258249fba3e2e78f70691528426a6c010.tar.xz
linux-74f9c9c258249fba3e2e78f70691528426a6c010.zip
[PATCH] hfs: don't reference missing page
If there was a read error, the bnode might miss some pages, so skip them. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/hfsplus')
-rw-r--r--fs/hfsplus/bnode.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/hfsplus/bnode.c b/fs/hfsplus/bnode.c
index 267872e84d71..8868d3b766fd 100644
--- a/fs/hfsplus/bnode.c
+++ b/fs/hfsplus/bnode.c
@@ -643,6 +643,8 @@ void hfs_bnode_put(struct hfs_bnode *node)
return;
}
for (i = 0; i < tree->pages_per_bnode; i++) {
+ if (!node->page[i])
+ continue;
mark_page_accessed(node->page[i]);
#if REF_PAGES
put_page(node->page[i]);