Karel Zak <kzak@xxxxxxxxxx> wrote: > > write(mfd, "d /dev/sdb1"); // note I'm ignoring write's length arg > > Not sure about 'd', in many cases it is not device, for mount(2) > syscall we call it "source". sys_mount() calls it devname. But whatever - I'm not particularly attached to the letter 'd' for this. > The very basic mount(2) problem is that you have to parse > /proc/self/mountinfo to get information about the mounted filesystem. > It seems that your read() is also one way communication. > > What we really need is to have a way how to specify *what* you want to > read. The error message is not enough, I want to know the finally used > mount options, mount ID, etc. It would be nice to have something like > > > fsmount(mfd, AT_FDCWD, "/mnt", 0); > > write(mfd, "o"); > read(mfd, ....); // read mount options > > write(mdf, "i"); > read(mfd, ....); // read mount ID > > > but it seems ugly. Maybe introduce another function like > > fsinfo(mdf, "o", buf, bufsz) > > to get mount options (etc.) and to avoid separate write & read. What is it you're trying to do? Just read back the state of the new mount? Or read back the state of a specified extant mount? David