On Sat, Jul 18, 2009 at 12:59:45AM +0200, Vladimir 'phcoder' Serbinenko wrote:
> Hello. Here is a patch to add BFS support to GRUB2. BFS is a
> filesystem which was originally developped by Be, Inc for their
> proprietary BeOS. When Be Inc was sold to Palm and developpement of
> BeOS ceased a community formed to rewrite it from scratch under MIT
> license. Currently this project named Haiku is usable and interesting
> even if it for the moment lacks important feature to achieve its goal
> of use-friendly desktop OS. Currently they have plans to add multiboot
> support (see another thread). As AtheFS is a descendent of BeOS based
> on BFS driver from Haiku I used already existing afs driver and added
> necessary ifdefs. As you can see AFS and BFS are very similar

Looks very cleanly integrated.  I have a pair of comments:

> +#ifdef BFS
> +#define B_KEY_INDEX_ALIGN 8
> +#else
> +#define B_KEY_INDEX_ALIGN 4
> +#endif
> +
>  #define B_KEY_INDEX_OFFSET(node) ((grub_uint16_t *) \
> -                                   ((char *) (node) + \
> -                                    sizeof (struct grub_afs_bnode) + \
> -                                    ((node->key_size + 3) & ~3)))
> +                               ((char *) (node) \
> +                                + ((sizeof (struct grub_afs_bnode)   \
> +                                    + node->key_size + B_KEY_INDEX_ALIGN - 
> 1) \
> +                                   & ~(B_KEY_INDEX_ALIGN - 1))))

This looks like it would be a good case for using ALIGN_UP().

> +/* befs.c - The native BeOS/Haiku file-system.  */
> +#define BFS 1
> +#include "afs.c"

Can we name this macro consistently with the tar/cpio one?

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to