Created attachment 287143 [details] patch for xfs_admin Using "xfs_admin -lu" to print both label and UUID of a mounted XFS filesystem stopped working in xfs_admin version 5.4.0. Label is correctly printed, but the UUID is missing: $ sudo xfs_admin -lu /dev/sda label = "aaa" Printing only UUID works as expected: $ sudo xfs_admin -u /dev/sda UUID = a3367b49-6f3f-4f50-9b34-38b1561da085 Command also works as expected for an unmounted filesystem $ sudo xfs_admin -lu /dev/sda label = "aaa" UUID = a3367b49-6f3f-4f50-9b34-38b1561da085 The bug is caused by this change -- https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/commit/?id=3f153e051abccce0c120ade5c08a675a50cecee9 -- xfs_io is now used to print label and xfs_admin exists after printing it. I'm attaching a simple naive patch for xfs_admin that fixes this issue.
The patch is not quite the right approach - the get label command sets both DB_OPTS and IO_OPTS, as does the set label command, and your patch would make it fall back to xfs_db for both, which will then fail to set a label on a mounted filesystem: # db/xfs_admin.sh -L foobar mnt xfs_admin: cannot open mnt: Is a directory # sh -x db/xfs_admin.sh -L foobar mnt ... + eval xfs_db -x -p xfs_admin -c ''\''label' 'foobar'\''' mnt ++ xfs_db -x -p xfs_admin -c 'label foobar' mnt xfs_admin: cannot open mnt: Is a directory xfs_admin has become convoluted/complicated, let me give this some thought. Thanks for the report, -Eric