Re: converting from external log to internal log ... is this possible?

Dave Chinner
2014-09-08T22:07:46Z

On Mon, Sep 08, 2014 at 01:41:49PM -0500, Eric Sandeen wrote:
> On 9/8/14 1:10 PM, Joe Landman wrote:
> >Figured I'd ask, looked on the FAQ and didn't see anything there
> >relevant to this. There is a hint of this in xfs_growfs,
> >specifically the -i option, though it is noted that "[NOTE: This
> >option is not implemented]".
>
> Yep, it's never been implemented. You could do it manually with
> some very careful xfs_db surgery, if you had enough contiguous
> freespace available, but it's not at all supported.
>
> Basically, no, you can't do it without getting very far under
> the hood and directly editing the disk.

There's nothing amazingly difficult about implementing
external-to-internal journal. First allocate the contiguous extent
for the new log, then zero it, then freeze the filesystem to bring
the external log down to a clean state, atomically modify the
superblock on disk to point at the new log, then re-initialise all
the log state to point at the new log, update the head and tail to
new cycles at the start of the new log, and unfreeze....

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com