On Fri, Oct 21, 2011 at 03:37:43PM +0200, Michal Suchanek wrote: > Except that tools not aware of the new value or wider id will now see > non-unique entries or wrong values due to conversion wrap. I don't > think even this is workable.
No, if there is an id that doesn't fit in 32bits they will get an error when doing the convertion. > > > > > > > "numerous" is a strong word here. There are convertions in the kernel that > > would happen anyway (you have to convert from the syscall API to the > > filesystem API), and I think the userland tools could be doing less > > convertions > > than they're doing now. > > > They will be hidden somewhere inside proplib but they still do exist. > So long as you can assume quota calls are never performance critical > may be ok I guess. Still it adds code bloat and execution time bloat > and and data bloat for no obvious advantage. Conversion and versioning > has to happen one way or another. When you consider versionning and convertion required for ABI compat of binary structures, I'm not sure problib is that much bloat. > > Nor in the tree-based dictionnary, or in the multidimentionnal array. > > No, in an array the unused locations do exist. I don't understand this. If you have a 2-dimention array quota[id][type], and quota[class=group] doesn't exist for this filesytem, you have quota[class=group]=NULL and no memory associated with it. > > > What a table can't easily express is that a line of this table can be > > of variable lenght, and some of its fields are optionnal. > > Tables can deal with optional fields just fine. Prior art exists. And > even with optional values they are still way more efficient than XML. There are text formats more efficient than xml too. -- Manuel Bouyer <bou...@antioche.eu.org> NetBSD: 26 ans d'experience feront toujours la difference --