Discussion:
converting from external log to internal log ... is this possible?
Joe Landman
2014-09-08 18:10:05 UTC
Permalink
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]".

--
Joe Landman
Eric Sandeen
2014-09-08 18:41:49 UTC
Permalink
Post by Joe Landman
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.

-Eric
Dave Chinner
2014-09-08 22:07:38 UTC
Permalink
Post by Eric Sandeen
Post by Joe Landman
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
***@fromorbit.com
Continue reading on narkive:
Loading...