Subject: Re: g/c mountcompatnames[] ?
To: Nathan J. Williams <nathanw@MIT.EDU>
From: Jaromír <jdolecek@netbsd.org>
List: tech-kern
Date: 06/27/2001 23:17:26
Nathan J. Williams wrote:
> Is the maintenance problem simply that there are two tables that must
> be updated when a new file system is added? That's a very small cost. 
> 
> Dropping a compat option is not something to be done lightly. I would
> say that it should only ever be done if the presence of the compat
> code actively prevents another important change from being made. Mere
> "cleanup" does not justify removing this feature.

I though about this one a bit more and agree that what I proposed
is not a good thing. It's pointless to break backward compatibility
needlessly.

The way it could be done to address my concern and still retain
backwards compatibility could be as this:

Keep the compat option, but make the vfs_sysctl() use array defined
with CTL_VFS_NAMES, instead of using mountcompatnames[]. I'd leave
only filesystems supported by NetBSD 0.9 and 4.3BSD on the
mountcompatnames[] list, and make the variable static. The array
contents would be freezed and not to be changed past that moment.
The array itself would be only defined #ifdef COMPAT_09 || COMPAT_43,
and be static. CTL_VFS_NAMES would get new entries if one adds
a filesystem which supports sysctl, old entries would be kept of course.  

This way the backwards compatibility would be retained, and
the issue I had with this is solved too.

Opinions?

Jaromir
-- 
Jaromir Dolecek <jdolecek@NetBSD.org>      http://www.ics.muni.cz/~dolecek/
NetBSD - just plain best OS! -=*=- Got spare MCA cards or docs? Hand me them!