tech-kern archive

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

mount(2) and properties



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?  :-)

Comments either way?

Cheer,
Simon.


Home | Main Index | Thread Index | Old Index