Messages in this thread | | | Date | Thu, 07 Mar 2013 23:34:58 -0500 | From | shea@shealevy ... | Subject | Re-mounting a non-bind mountpoint with MS BIND |
| |
Hello,
To my surprise, mount("/dev/sda1", "/mnt", "vfat", MS_RDONLY, "") followed by mount("/mnt", "/mnt", 0, MS_REMOUNT | MS_BIND, 0) succeeds, with some IMO odd behavior:
* statfs(2) on /mnt shows /mnt as not being readonly in the s_flags field * The sixth column of relevant mountinfo files (but not the tenth!) shows /mnt as being rw * All other syscalls (AFAICT, I checked with git grep MNT_READONLY) behave as if /mnt were readonly
Why does mount behave like this? To me it would make much more sense if either MS_REMOUNT | MS_BIND failed on a non-bind mountpoint (my personal preference) or if it succeeded but the mountpoint was still treated as readonly from the perspective of all userspace interfaces.
Cheers, Shea Levy
P.S. I am not subscribed to fsdevel or lkml, so please CC me in responses.
| |