• C
    [XFS] fix mount option parsing in remount · 62a877e3
    Christoph Hellwig 提交于
    Remount currently happily accept any option thrown at it, although the
    only filesystem specific option it actually handles is barrier/nobarrier.
    And it actually doesn't handle these correctly either because it only uses
    the value it parsed when we're doing a ro->rw transition. In addition to
    that there's also a bad bug in xfs_parseargs which doesn't touch the
    actual option in the mount point except for a single one,
    XFS_MOUNT_SMALL_INUMS and thus forced any filesystem that's every
    remounted in some way to not support 64bit inodes with no way to recover
    unless unmounted.
    
    This patch changes xfs_fs_remount to use it's own linux/parser.h based
    options parse instead of xfs_parseargs and reject all options except for
    barrier/nobarrier and to the right thing in general. Eventually I'd like
    to have a single big option table used for mount aswell but that can wait
    for a while.
    
    SGI-PV: 983964
    
    SGI-Modid: xfs-linux-melb:xfs-kern:31382a
    Signed-off-by: NChristoph Hellwig <hch@infradead.org>
    Signed-off-by: NTim Shimmin <tes@sgi.com>
    Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
    62a877e3
xfs_super.c 56.9 KB