lkml.org 
[lkml]   [2011]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[21/43] nfs: dont lose MS_SYNCHRONOUS on remount of noac mount
    2.6.33-longterm review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Jeff Layton <jlayton@redhat.com>

    commit 26c4c170731f00008f4317a2888a0a07ac99d90d upstream.

    On a remount, the VFS layer will clear the MS_SYNCHRONOUS bit on the
    assumption that the flags on the mount syscall will have it set if the
    remounted fs is supposed to keep it.

    In the case of "noac" though, MS_SYNCHRONOUS is implied. A remount of
    such a mount will lose the MS_SYNCHRONOUS flag since "sync" isn't part
    of the mount options.

    Reported-by: Max Matveev <makc@redhat.com>
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/nfs/super.c | 9 +++++++++
    1 file changed, 9 insertions(+)

    --- a/fs/nfs/super.c
    +++ b/fs/nfs/super.c
    @@ -1981,6 +1981,15 @@ nfs_remount(struct super_block *sb, int
    if (error < 0)
    goto out;

    + /*
    + * noac is a special case. It implies -o sync, but that's not
    + * necessarily reflected in the mtab options. do_remount_sb
    + * will clear MS_SYNCHRONOUS if -o sync wasn't specified in the
    + * remount options, so we have to explicitly reset it.
    + */
    + if (data->flags & NFS_MOUNT_NOAC)
    + *flags |= MS_SYNCHRONOUS;
    +
    /* compare new mount options with old ones */
    error = nfs_compare_remount_data(nfss, data);
    out:



    \
     
     \ /
      Last update: 2011-05-06 02:35    [W:3.783 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site