On Fri, Jul 20, 2007 at 06:33:03PM +0200, Christoph Hellwig wrote:
> Creates a new xfs_dsb_t that is __be annotated and keeps xfs_sb_t for
> the incore one. xfs_xlatesb is renamed to xfs_sb_to_disk and only
> handles the incore -> disk conversion. A new helper xfs_sb_from_disk
> handles the other direction and doesn't need the slightly hacky
> table-driven approach because we only ever read the full sb from disk.
Nice. There's some good cleanups in this patch....
> The handling of shared r/o filesystems has been buggy on little endian
> system and fixing this required shuffling around of some code in that
> area.
*nod*
>
> /*
> + * Superblock - on disk version. Must match the in core version below.
> + */
> +typedef struct xfs_dsb {
> + __be32 sb_magicnum; /* magic number == XFS_SB_MAGIC */
.....
> + __be16 sb_logsectsize; /* sector size for the log, bytes */
> + __be32 sb_logsunit; /* stripe unit size for the log */
> + __be32 sb_features2; /* additional feature bits */
> +} xfs_dsb_t;
Should this be packed so we don't reintroduce have the problem we currently
do with 32-vs-64-bit alignment of the last field(s) in the structure?
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
|