From mboxrd@z Thu Jan 1 00:00:00 1970 From: shea@shealevy.com Subject: Re-mounting a non-bind mountpoint with =?UTF-8?Q?MS=5FBIND?= Date: Thu, 07 Mar 2013 23:34:58 -0500 Message-ID: <25c50eb5327aea8fc70b29fd0853befb@shealevy.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Alexander Viro , To: Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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.