On Thu, Mar 24, 2016 at 12:15:34PM +0100, jtulak@xxxxxxxxxx wrote:
> From: Jan Tulak <jtulak@xxxxxxxxxx>
>
> Unify mkfs.xfs behaviour a bit and never truncate files. If the user
> is trying to mkfs an existing file, we don't want to destroy anything
> he did with the file before (sparse file, allocations...)
Why not? We do that with discard-by-default to block devices,
O_TRUNC is exactly the same situation with a file - we completely
re-initialise the file from a known state if mkfs has been asked to
create the file.
But AFAIK, we don't zero-out entire spindle devices, we don't ask if the drive skips some blocks (i.e. because they are bad), and we don't care about what an underlaying layer (like LVM) did with the block device. From this point of view, we shouldn't care about the file either.
I can be missing something, though.
> @@ -1059,9 +1063,9 @@ check_device_type(
> }
>
> /*
> - * We only want to completely truncate and recreate an existing file if
> - * we were specifically told it was a file. Set the create flag only in
> - * this case to trigger that behaviour.
> + * We only want to create a file only if we were specifically told
> + * we want a file. Set the create flag only in this case to trigger
> + * that behaviour.
> */
> if (S_ISREG(statbuf.st_mode)) {
> if (!*isfile)
i.e. this situation.
Cheers,
Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
_______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs