From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: linux-ext4@vger.kernel.org
Subject: [RFC] e2fsprogs: Add ext4migrate
Date: Mon, 19 Mar 2007 15:05:37 +0530 [thread overview]
Message-ID: <11742969394136-git-send-email-aneesh.kumar@linux.vnet.ibm.com> (raw)
This is work in progress
The below patches add ext4migrate utility that helps in migrating
a ext3 block mapped inode to ext4 extent mapped inode. I have split
the patches into two. They don't build individually. The purpose of
splitting the patches into two is to make the review easeir. The
contents of [PATCH 2/2] is derived out of kernel source.
ext4migrate command takes the below syntax
ext4migrate [--display | --migrate ] <image_name> <filename>
The --display option helps in displaying the block map details for an ext3 inode
and extent map details for an ext4 inode. The --migrate option convert a block mapped
ext3 inode to extent mapped ext4 inode.
This needs to be run on an unmounted file system (offline migration).
The extent insert code is derived out of the latest ext4 kernel source. I have tried
to keep the code as close as possible to the kernel sources. This makes sure that any
fixes for the tree building code in kernel should be easily applied to ext4migrate.
The ext3_ext naming convention instead of ext4_ext found in kernel is to
make sure we are in sync with rest of e2fsprogs source.
The inode modification is done only at the last stage. This is to make sure that if we
fail at any intermediate stage, we exit without touching the disk. Another option I am thinking
is to copy the old mapping to a temporary inode. This makes sure that if by any chance the migration
fails partially writing to the disk one can retrieve the file using temporary inode.
The other alternative i am working on right now is to look at the online defragmentation
and see if that can be adapted to achieve online migration.
The patch applies on top of e2fsprogs found at
http://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs-interim/e2fsprogs-1.39-tyt1/e2fsprogs-1.39-tyt1.tar.bz2
next reply other threads:[~2007-03-19 9:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-19 9:35 Aneesh Kumar K.V [this message]
[not found] ` <94a49d2abd02893948f50e49acebb9ade7146d7a.1174296734.git.aneesh.kumar@linux.vnet.ibm.com>
2007-03-19 9:35 ` [PATCH 1/2] e2fsprogs: Add ext4migrate Aneesh Kumar K.V
[not found] ` <104539cadde0898d825a0d1c00bb3df5d47a2cd5.1174296734.git.aneesh.kumar@linux.vnet.ibm.com>
2007-03-19 9:35 ` [PATCH 2/2] Add extent related functions Aneesh Kumar K.V
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11742969394136-git-send-email-aneesh.kumar@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=linux-ext4@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).