[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] Split ufs.mod into ufs1.mod and ufs2.mod
From: |
Robert Millan |
Subject: |
Re: [PATCH 1/2] Split ufs.mod into ufs1.mod and ufs2.mod |
Date: |
Thu, 13 Aug 2009 22:00:14 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Thu, Aug 13, 2009 at 06:03:44PM +0200, Vladimir 'phcoder' Serbinenko wrote:
> ufs1 and ufs2 mainly differ by some structure definitions. Putting
> them into the same module and checking on runtime creates continuous
> if ( ... == UFS1) { ... }
> By using preprocessor it's possible to avoid most of such ifs
> Additionally user needs only one FS in core so we save some space
> core.img with ufs.mod: 23793
> core.img with ufs1.mod: 23078
> core.img with ufs2.mod: 23322
Very nice.
> +#ifdef MODE_UFS2
> +#define INODE_BLKSZ 8
> +#else
> +#define INODE_BLKSZ 4
> +#endif
> +#ifndef MODE_UFS2
> +#define UFS_INODE_PER_BLOCK 4
> +#else
> +#define UFS_INODE_PER_BLOCK 2
> +#endif
When you commit this, could you please follow logical order with
ifdef/else/endif? The negation is less intuitive to read.
> +#ifdef MODE_UFS2
> + grub_uint64_t indir[UFS_BLKSZ (sblock) / sizeof (grub_uint64_t)];
> +#else
> + grub_uint32_t indir[UFS_BLKSZ (sblock) / sizeof (grub_uint32_t)];
> +#endif
Can this be made simpler by using typeof() ? (same for the other one below)
> - return (data->ufs_type == UFS1) ? indir[blk] : indir[blk << 1];
> + return indir[blk];
The blk bitshift was accounted for elsewhere? (Btw I assume you've tested
on both filesystem types).
> - ? dirent.namelen_bsd : grub_le_to_cpu16 (dirent.namelen);
> +#ifdef MODE_UFS2
> + namelen = dirent.namelen_bsd;
> +#else
> + namelen = grub_le_to_cpu16 (dirent.namelen);
> +#endif
I wonder if there was a bug here (native endianess assumed for namelen_bsd?)
--
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."