Now that the freeze ioctl has been elevated to the VFS,
let's let xfs_io and xfs_freeze freeze other filesystems
as well - add the CMD_FOREIGN_OK flag to freeze & thaw.
I think the worst that will happen on older kernels is that
the command will fail with ENOSYS or EINVAL....
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
freeze_cmd.cfunc = freeze_f;
freeze_cmd.argmin = 0;
freeze_cmd.argmax = 0;
- freeze_cmd.flags = CMD_NOMAP_OK;
+ freeze_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
freeze_cmd.oneline = _("freeze filesystem of current file");
thaw_cmd.name = _("thaw");
thaw_cmd.cfunc = thaw_f;
thaw_cmd.argmin = 0;
thaw_cmd.argmax = 0;
- thaw_cmd.flags = CMD_NOMAP_OK;
+ thaw_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
thaw_cmd.oneline = _("unfreeze filesystem of current file");
if (expert) {
fi
if $FREEZE ; then
- $DIRNAME/xfs_io -r -p xfs_freeze -x -c "freeze" "$1"
+ $DIRNAME/xfs_io -F -r -p xfs_freeze -x -c "freeze" "$1"
status=$?
[ $status -ne 0 ] && exit $status
elif $THAW ; then
- $DIRNAME/xfs_io -r -p xfs_freeze -x -c "thaw" "$1"
+ $DIRNAME/xfs_io -F -r -p xfs_freeze -x -c "thaw" "$1"
status=$?
[ $status -ne 0 ] && exit $status
else
The XFS
.B nouuid
mount option can be used to circumvent this issue.
+.PP
+In Linux kernel version 2.6.29, the interface which XFS uses to freeze
+and unfreeze was elevated to the VFS, so that this tool can now be
+used on many other Linux filesystems.
.SH SEE ALSO
.BR xfs (5),
.BR lvm (8),