Procházet zdrojové kódy

[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>
Roman Zippel před 20 roky
rodič
revize
74f9c9c258
2 změnil soubory, kde provedl 4 přidání a 0 odebrání
  1. 2 0
      fs/hfs/bnode.c
  2. 2 0
      fs/hfsplus/bnode.c

+ 2 - 0
fs/hfs/bnode.c

@@ -480,6 +480,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]);

+ 2 - 0
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]);