• Bob Peterson's avatar
    gfs2: check for live vs. read-only file system in gfs2_fitrim · c5c68724
    Bob Peterson authored
    Before this patch, gfs2_fitrim was not properly checking for a "live" file
    system. If the file system had something to trim and the file system
    was read-only (or spectator) it would start the trim, but when it starts
    the transaction, gfs2_trans_begin returns -EROFS (read-only file system)
    and it errors out. However, if the file system was already trimmed so
    there's no work to do, it never called gfs2_trans_begin. That code is
    bypassed so it never returns the error. Instead, it returns a good
    return code with 0 work. All this makes for inconsistent behavior:
    The same fstrim command can return -EROFS in one case and 0 in another.
    This tripped up xfstests generic/537 which reports the error as:
    
        +fstrim with unrecovered metadata just ate your filesystem
    
    This patch adds a check for a "live" (iow, active journal, iow, RW)
    file system, and if not, returns the error properly.
    Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    c5c68724
rgrp.c 70.1 KB