Conversation
65c81a2 to
2128015
Compare
|
Seems like it is possible for this implementation to fault in normal operation, still debugging. |
|
Ah, |
| dev_name: TUA<c_char>, | ||
| dir_name: TUA<c_char>, | ||
| type_: TUA<c_char>, |
There was a problem hiding this comment.
I'm a little confused by the args. According to the man page, mount looks like:
int mount(const char *source, const char *target,
const char *filesystemtype, unsigned long mountflags,
const void *_Nullable data);But the following code looks as though it's inspecting the source argument for the filesystem type. Shouldn't that be type?
There was a problem hiding this comment.
From the table in etc/ it says:
(char *dev_name, char *dir_name, char *type, unsigned long flags, void *data)
filesystemtype (or type) is null when systemd calls this (which was what led to the EFAULT errors). I've got no clue why systemd calls this API the way does. Perhaps source could also be a device file, in which case type is used to specify the filesystem type?
There was a problem hiding this comment.
Hm, odd. I can understand why type could be null, you'd read the FS type from /etc/fstab, or inspect the block device to see if any of your FS driver match the magic and try to mount. Odd that it's not specified as nullable in the man page through.
# Conflicts: # src/drivers/fs/proc/task/fd.rs
Implements
mount. Includes a procfs bugfix because systemd mounts via procfs symlinks.Testing: systemd