Re: [PATCH] UBIFS: fill f_fsid

Artem Bityutskiy
2008-09-01T11:20:48Z

On Mon, 2008-09-01 at 10:43 +0100, David Woodhouse wrote:
> > UBIFS stores 16-bit UUID in the superblock, and it is a good
> > idea to return part of it in 'f_fsid' filed of kstatfs structure.
>
> I think you mean a 16-byte UUID, not 16-bit?

Oh, right.

>
> > + memcpy(&buf->f_fsid, c->uuid, sizeof(__kernel_fsid_t));
>
> For btrfs I xor the first 64 bits with the second 64 bits, and put
> _that_ into f_fsid. You're just putting the first 64 bits in and
> ignoring the second 64 bits. Neither is really _better_ than the other;
> you just alter the circumstances in which you get collisions. But I
> suppose we might as well be consistent about how we do it?

Well, xor-ing should not make the random UUID more random, but for
consistency purposes sure, I may use xor as well.

> Alternatively, there's space in the struct statfs to export a couple
> more uint32_ts, and thus the _whole_ of the uuid. Perhaps we should do
> that?

You mean f_spare? I do not think any application would use it so I doubt
it is good idea to use it.

--
Best regards,
Artem Bityutskiy (Битюцкий Артём)