commit-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[2517] 2009-08-23 Vladimir Serbinenko <address@hidden>


From: Vladimir Serbinenko
Subject: [2517] 2009-08-23 Vladimir Serbinenko <address@hidden>
Date: Sun, 23 Aug 2009 15:35:23 +0000

Revision: 2517
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2517
Author:   phcoder
Date:     2009-08-23 15:35:22 +0000 (Sun, 23 Aug 2009)
Log Message:
-----------
2009-08-23  Vladimir Serbinenko  <address@hidden>

        * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
        errors.
        (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
        errors. Call grub_error when needed.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/fs/hfsplus.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2009-08-23 15:27:07 UTC (rev 2516)
+++ trunk/grub2/ChangeLog       2009-08-23 15:35:22 UTC (rev 2517)
@@ -1,5 +1,12 @@
 2009-08-23  Vladimir Serbinenko  <address@hidden>
 
+       * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
+       errors.
+       (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
+       errors. Call grub_error when needed.
+
+2009-08-23  Vladimir Serbinenko  <address@hidden>
+
        * commands/search.c (search_fs): Try searching without autoload first.
        * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
        filesystem module explicitly for faster booting.

Modified: trunk/grub2/fs/hfsplus.c
===================================================================
--- trunk/grub2/fs/hfsplus.c    2009-08-23 15:27:07 UTC (rev 2516)
+++ trunk/grub2/fs/hfsplus.c    2009-08-23 15:35:22 UTC (rev 2517)
@@ -469,9 +469,9 @@
     grub_be_to_cpu64 (data->volheader.extents_file.size);
 
   /* Read the essential information about the trees.  */
-  if (! grub_hfsplus_read_file (&data->catalog_tree.file, 0,
-                               sizeof (struct grub_hfsplus_btnode),
-                               sizeof (header), (char *) &header))
+  if (grub_hfsplus_read_file (&data->catalog_tree.file, 0,
+                             sizeof (struct grub_hfsplus_btnode),
+                             sizeof (header), (char *) &header) <= 0)
     goto fail;
 
   data->catalog_tree.root = grub_be_to_cpu32 (header.root);
@@ -479,15 +479,15 @@
   data->case_sensitive = ((magic == GRUB_HFSPLUSX_MAGIC) &&
                          (header.key_compare == GRUB_HFSPLUSX_BINARYCOMPARE));
 
-  if (! grub_hfsplus_read_file (&data->extoverflow_tree.file, 0,
-                               sizeof (struct grub_hfsplus_btnode),
-                               sizeof (header), (char *) &header))
+  if (grub_hfsplus_read_file (&data->extoverflow_tree.file, 0,
+                             sizeof (struct grub_hfsplus_btnode),
+                             sizeof (header), (char *) &header) <= 0)
     goto fail;
 
   data->extoverflow_tree.root = grub_be_to_cpu32 (header.root);
 
-  if (! grub_hfsplus_read_file (&data->extoverflow_tree.file, 0, 0,
-                               sizeof (node), (char *) &node))
+  if (grub_hfsplus_read_file (&data->extoverflow_tree.file, 0, 0,
+                             sizeof (node), (char *) &node) <= 0)
     goto fail;
 
   data->extoverflow_tree.root = grub_be_to_cpu32 (header.root);
@@ -608,10 +608,10 @@
       if (! first_node->next)
        break;
 
-      if (! grub_hfsplus_read_file (&btree->file, 0,
-                                   (grub_be_to_cpu32 (first_node->next)
-                                    * btree->nodesize),
-                                   btree->nodesize, cnode))
+      if (grub_hfsplus_read_file (&btree->file, 0,
+                                 (grub_be_to_cpu32 (first_node->next)
+                                  * btree->nodesize),
+                                 btree->nodesize, cnode) <= 0)
        return 1;
 
       /* Don't skip any record in the next iteration.  */
@@ -647,12 +647,12 @@
       int match = 0;
 
       /* Read a node.  */
-      if (! grub_hfsplus_read_file (&btree->file, 0,
-                                   (long)currnode * (long)btree->nodesize,
-                                   btree->nodesize, (char *) node))
+      if (grub_hfsplus_read_file (&btree->file, 0,
+                                 (long)currnode * (long)btree->nodesize,
+                                 btree->nodesize, (char *) node) <= 0)
        {
          grub_free (node);
-         return grub_errno;
+         return grub_error (GRUB_ERR_BAD_FS, "Couldn't read i-node.");
        }
 
       nodedesc = (struct grub_hfsplus_btnode *) node;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]