On Fri, 2008-10-17 at 16:42 +0100, Phillip Lougher wrote:
[snip]

> +
> +struct squashfs_reg_inode {
> +     __le16                  inode_type;
> +     __le16                  mode;
> +     __le16                  uid;
> +     __le16                  guid;
> +     __le32                  mtime;
> +     __le32                  inode_number;
> +     __le32                  start_block;
> +     __le32                  fragment;
> +     __le32                  offset;
> +     __le32                  file_size;
> +     __le16                  block_list[0];
> +};
> +
> +struct squashfs_lreg_inode {
> +     __le16                  inode_type;
> +     __le16                  mode;
> +     __le16                  uid;
> +     __le16                  guid;
> +     __le32                  mtime;
> +     __le32                  inode_number;
> +     __le64                  start_block;
> +     __le64                  file_size;
> +     __le64                  sparse;
> +     __le32                  nlink;
> +     __le32                  fragment;
> +     __le32                  offset;
> +     __le32                  xattr;
> +     __le16                  block_list[0];
> +};
> +
> +struct squashfs_dir_inode {
> +     __le16                  inode_type;
> +     __le16                  mode;
> +     __le16                  uid;
> +     __le16                  guid;
> +     __le32                  mtime;
> +     __le32                  inode_number;
> +     __le32                  start_block;
> +     __le32                  nlink;
> +     __le16                  file_size;
> +     __le16                  offset;
> +     __le32                  parent_inode;
> +};
> +
> +struct squashfs_ldir_inode {
> +     __le16                  inode_type;
> +     __le16                  mode;
> +     __le16                  uid;
> +     __le16                  guid;
> +     __le32                  mtime;
> +     __le32                  inode_number;
> +     __le32                  nlink;
> +     __le32                  file_size;
> +     __le32                  start_block;
> +     __le32                  parent_inode;
> +     __le16                  i_count;
> +     __le16                  offset;
> +     struct squashfs_dir_index       index[0];
> +};
> +
[snip]

Something that seems weird is the inconsistency in the ordering of these
structs. The base part is the same across all inodes but for your
reg/lreg dir/ldir pairs you seem to shuffle the order of the added
parts. Is there a reason for this? Is their layout the same on disk
(baring the extra data in the l versions)? If so they probably should be
the same in the struct.

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to