diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2005-08-02 00:11:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-02 00:38:00 -0400 |
commit | 74f9c9c258249fba3e2e78f70691528426a6c010 (patch) | |
tree | 1a334bf40020b2db5ed07a218a7830a427f74b93 /fs/hfsplus/bnode.c | |
parent | f76d28d235cf777dd2e1c1d48c16ee10c1d1587f (diff) |
[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/bnode.c')
-rw-r--r-- | fs/hfsplus/bnode.c | 2 |
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) | |||
643 | return; | 643 | return; |
644 | } | 644 | } |
645 | for (i = 0; i < tree->pages_per_bnode; i++) { | 645 | for (i = 0; i < tree->pages_per_bnode; i++) { |
646 | if (!node->page[i]) | ||
647 | continue; | ||
646 | mark_page_accessed(node->page[i]); | 648 | mark_page_accessed(node->page[i]); |
647 | #if REF_PAGES | 649 | #if REF_PAGES |
648 | put_page(node->page[i]); | 650 | put_page(node->page[i]); |