Messages in this thread | | | Subject | Re: [PATCH] UBIFS: fill f_fsid | From | David Woodhouse <> | Date | Mon, 01 Sep 2008 10:43:07 +0100 |
| |
On Sun, 2008-08-31 at 17:52 +0300, Artem Bityutskiy wrote: > From: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> > > 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?
> + 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?
(Actually I XOR in the root object ID for the subvol too, but you don't need to worry about that).
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?
-- David Woodhouse Open Source Technology Centre David.Woodhouse@intel.com Intel Corporation
| |