Re: [PATCH v3 1/4] Btrfs-progs: Support UUID tree and UUID items in btrfs-debug-tree

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

 



On 05/16/2013 18:19, David Sterba wrote:
On Thu, May 16, 2013 at 04:45:55PM +0200, Stefan Behrens wrote:
+struct btrfs_uuid_item {
+	__le16 type;	/* refer to BTRFS_UUID_ITEM_TYPE* defines above */
+	__le32 len;	/* number of following 64bit values */
+	__le64 data[0];	/* data aligned to 64bit */
+} __attribute__ ((__packed__));

With __packed__ (which is preferrably written as __packed) the data is
not aligned to u64 as the comment says. Aligning u64's is a good thing,
so (for example) pad the space after type (I don't think we need more
than u16 here).

The on-disk format is in general not aligned (it is "packed") and stored on any byte-aligned position on the disk.

In the source code, you can use it for sizeof(), otherwise you use the access functions from ctree.h and struct-funcs.c.

I know that you know this already :) Maybe I am not understanding your review comment?

The "data" part in the btrfs_uuid_item (which represents the "value" of the (type, length, value) tripple) is a multiple of 64 bits, that's what I mean with the "data aligned to 64bit" comment.

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux