MNT_READONLY
if (flags & MNT_READONLY)
!(mnt_flags & MNT_READONLY))
bool readonly_request = (mnt_flags & MNT_READONLY);
mnt->mnt.mnt_flags &= ~MNT_READONLY;
return (mnt->mnt_flags & MNT_READONLY) || sb_rdonly(mnt->mnt_sb);
mnt_flags |= MNT_READONLY;
mnt_flags |= MNT_READONLY;
return (!(kattr->attr_set & MNT_READONLY) ||
(mnt->mnt.mnt_flags & MNT_READONLY)) &&
if (mnt_flags & MNT_READONLY)
!(new_flags & MNT_READONLY))
mnt->mnt.mnt_flags |= MNT_READONLY;
if (!(m->mnt.mnt_flags & MNT_READONLY)) {
mnt->mnt_flags |= MNT_READONLY | MNT_NOATIME;
seq_puts(m, mnt->mnt_flags & MNT_READONLY ? " ro" : " rw");
if (mnt_flags & MNT_READONLY)
| MNT_READONLY | MNT_NOSYMFOLLOW,