Hide Forgot
The ustat() sysetm call is not implemented on aarch64, but xfsprogs uses this to detect whether a filesystem is mounted. We check for success to determine mounted state, but we do not test for failure, which until now meant only "this filesystem is not mounted." That assumption fails now: ../libxfs/.libs/libxfs.a(linux.o): In function `platform_check_ismounted': /root/sandeen/xfsprogs-dev/libxfs/linux.c:66: warning: ustat is not implemented and will always fail And lo: # xfs_metadump -o /dev/sda3 dump # mount /dev/sda3 /mnt/scratch # xfs_mdrestore dump /dev/sda3 # echo $? 0 # i.e. the tools fail to detect a mounted filesystem, and happily write over it, which will cause corruption.
Need to request blocker on this one too - on aarch64 this could lead to filesystem corruption by operating on a mounted filesystem. There is a patch upstream to fix it: libxfs/linux.c: Replace use of ustat by stat
(In reply to Eric Sandeen from comment #2) > Need to request blocker on this one too - on aarch64 this could lead to > filesystem corruption by operating on a mounted filesystem. There is a > patch upstream to fix it: If we must merge this patch in RHEL-7.3, please hurry, xfsprogs errata need to be done in this month:) Thanks, Zorro > > libxfs/linux.c: Replace use of ustat by stat
Merged upstream commit to use getmntent/stat instead of ustat.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2431.html