tech-kern archive

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

Re: mount(2) and properties



In article <20080702175505.GA8491%netbsd.org@localhost>,
Bill Stouder-Studenmund  <wrstuden%netbsd.org@localhost> wrote:
>-=-=-=-=-=-
>
>On Wed, Jul 02, 2008 at 03:21:10PM +1000, Simon Burge wrote:
>> Hi folks,
>> 
>> I want to get a quick idea if I'm heading off down the right path for
>> an idea...
>> 
>> For journaling, I want to be able to pass info on the location of the
>> journal via the mount command.  The idea I'm playing with is to stick
>> this info into a prop_dictionary.
>> 
>> As to how to actually pass this dictionary in, I had the following idea.
>> We currently have mount(2) prototyped as:
>> 
>>      int
>>      mount(const char *type, const char *dir, int flags, void *data,
>>          size_t data_len);
>> 
>> Rather than adding extra arguments to this for the prop_dictionary, I
>> was thinking about overloading the existing data/data_len.  Currently
>> this is for filesystem-specific arguments.  I was thinking of adding a
>> new flag called "MNT_PROP" which means the last two arguments are to be
>> interpreted as a prop_dictionary and its size instead of the traditional
>> mount args structure.
>> 
>> 
>> Another option altogether is to add a new system call entirely.  Antti
>> pointed out the FreeBSD nmount() system call, which is declared as:
>> 
>>      int
>>      nmount(struct iovec *iov, u_int niov, int flags);
>> 
>> but rather than use iovecs I think we'd use a prop_dictionary instead.
>> As to a name for this new system call - any suggestions?  :-)
>
>Add a new system call or version mount(). pmount?

I think that the flag is good enough. New binaries that run on the old
system will just fail with EINVAL.

christos



Home | Main Index | Thread Index | Old Index