I think these are ready for -mm. They've gone through a few revisions and a week or two of normal burn-in testing. --- The following series implements read-only bind mounts. This feature allows a read-only view into a read-write filesystem. In the process of doing that, it also provides infrastructure for keeping track of the number of writers to any given mount. New in this version is that if that number is non-zero, remounts from r/w to r/o are not allowed. This set does not take the previously tried approach of pushing down the vfsmount structure deeply into call paths, such that it might be checked in functions like permission(), may_create() and may_open(). Instead, it does checks near the entry points in the kernel, bumping a reference count in the vfsmount structure. I've also eliminated the use of the MNT_RDONLY flag. It was redundant since we have the reference count. This set also makes no attempt to keep the return codes for these r/o bind mounts the same as for a real r/o filesystem or device. It would require significantly more code and be quite a bit more invasive. Unless there is a very strong reason to do so, I believe it isn't worth the trouble. One note: the previous patches all worked this way: mount --bind -o ro /source /dest These patches have changed that behavior. It now requires two steps: mount --bind /source /dest mount -o remount,ro /dest Since the last revision, the locking in faccessat() and mnt_is_readonly() has been changed to fix a race which might have caused a false-negative mount-is-readonly return when faccessat() is called while another two processes are racing to make a mount readonly. Signed-off-by: Dave Hansen <[email protected]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH 00/20] Mount writer count and read-only bind mounts (v3)
- From: Andrew Morton <[email protected]>
- [PATCH 06/20] sys_symlinkat() elevate write count around vfs_symlink()
- From: Dave Hansen <[email protected]>
- [PATCH 03/20] Add vfsmount writer count
- From: Dave Hansen <[email protected]>
- [PATCH 09/20] mount_is_safe(): add comment
- From: Dave Hansen <[email protected]>
- [PATCH 08/20] sys_linkat(): elevate write count around vfs_link()
- From: Dave Hansen <[email protected]>
- [PATCH 05/20] elevate write count during entire ncp_ioctl()
- From: Dave Hansen <[email protected]>
- [PATCH 01/20] prepare for write access checks: collapse if()
- From: Dave Hansen <[email protected]>
- [PATCH 07/20] elevate mount count for extended attributes
- From: Dave Hansen <[email protected]>
- [PATCH 02/20] r/o bind mount prepwork: move open_namei()'s vfs_create()
- From: Dave Hansen <[email protected]>
- [PATCH 16/20] sys_mknodat(): elevate write count for vfs_mknod/create()
- From: Dave Hansen <[email protected]>
- [PATCH 19/20] elevate writer count for custom 'struct file'
- From: Dave Hansen <[email protected]>
- [PATCH 15/20] elevate write count for do_sys_utime() and touch_atime()
- From: Dave Hansen <[email protected]>
- [PATCH 18/20] do_rmdir(): elevate write count
- From: Dave Hansen <[email protected]>
- [PATCH 13/20] elevate writer count for do_sys_truncate()
- From: Dave Hansen <[email protected]>
- [PATCH 12/20] tricky: elevate write count files are open()ed
- From: Dave Hansen <[email protected]>
- [PATCH 10/20] unix_find_other() elevate write count for touch_atime()
- From: Dave Hansen <[email protected]>
- [PATCH 14/20] elevate write count for do_utimes()
- From: Dave Hansen <[email protected]>
- [PATCH 11/20] elevate write count over calls to vfs_rename()
- From: Dave Hansen <[email protected]>
- [PATCH 20/20] honor r/w changes at do_remount() time
- From: Dave Hansen <[email protected]>
- [PATCH 17/20] elevate mnt writers for vfs_unlink() callers
- From: Dave Hansen <[email protected]>
- [PATCH 04/20] elevate mnt writers for callers of vfs_mkdir()
- From: Dave Hansen <[email protected]>
- Re: [PATCH 00/20] Mount writer count and read-only bind mounts (v3)
- Prev by Date: [GIT *] make headers_install
- Next by Date: [PATCH 04/20] elevate mnt writers for callers of vfs_mkdir()
- Previous by thread: [GIT *] make headers_install
- Next by thread: [PATCH 04/20] elevate mnt writers for callers of vfs_mkdir()
- Index(es):