Messages in this thread | | | Date | Tue, 22 Sep 2009 12:30:14 -0700 | Subject | Re: (un)mount ramfs from C code | From | Brian McGrew <> |
| |
> You mean without using system(3), right? System call is how your program > interacts with the outside world. > > The relevant system calls are: > - mount(2): mount("none", "/mnt", "ramfs", 0, NULL); > - umount(2): umount("/mnt"); >
Thanks for the help! I'm getting there. Considering the following:
If (mount("ramfs", rd_path, "ramfs", MS_NOEXEC | MS_NOSUID, "size=2000m") < 0) { strerror(errno); } else { std::cout << "mounted"; }
Works great! Thank you. However, even though the filesystem is mounted and /bin/mountpoint confirms it's a mountpoint, I do not see the mountpoint listed in /etc/mtab.
Also, according to what I've read about ramfs, the size is supposed to be limited to size=, however, I can cat /dev/zero until the box it out of memory (and swap).
I think I'm just missing something and google's not helping a whole lot since ramfs isn't the most popular subject today.
Thanks,
-b
| |