/*
ext2_meta.c -- ext2 metadata mover
Copyright (C) 1998-2000, 2007, 2009-2010 Free Software Foundation,
Inc.
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <config.h>
#ifndef DISCOVER_ONLY
#include <stdio.h>
#include <stdlib.h>
#include "ext2.h"
{
int i;
int newgdblocks;
* sizeof(struct ext2_group_desc),
return 1;
{
blk_t j;
continue;
/* inode table */
{
for (j=0;j<diff;j++)
{
"error: block relocator "
"should have relocated "
"%i\n",
return 0;
}
}
for (j=0;j<diff;j++)
return 0;
if (!ext2_move_blocks(fs,
return 0;
return 0;
/* block bitmap and inode bitmap */
if (ext2_is_group_sparse(fs, i))
{
if (!ext2_copy_block(fs,
return 0;
return 0;
if (!ext2_copy_block(fs,
return 0;
return 0;
}
for (j=0;j<diff;j++)
return 0;
if (fs->opt_verbose)
"ext2_metadata_push: group %i/%i\r",
}
if (fs->opt_verbose)
return 1;
}
#endif /* !DISCOVER_ONLY */