On Thu, Dec 01, 2011 at 10:44:25AM -0200, Carlos Maiolino wrote: > This is the first patch proposal to fix the problem about the usage of > 4k sector devices when the device is not properly aligned > > The patch make mkfs to refuse to initialize a xfs filesystem if the -f > option is not passed at the command line, and forces a 512b sector size > if the user opt to force the device initialization > > Signed-off-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> > --- > mkfs/xfs_mkfs.c | 24 ++++++++++++++++++------ > 1 files changed, 18 insertions(+), 6 deletions(-) > > diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c > index f527f3d..495c70d 100644 > --- a/mkfs/xfs_mkfs.c > +++ b/mkfs/xfs_mkfs.c > @@ -369,8 +369,14 @@ out: > return ret; > } > > -static void blkid_get_topology(const char *device, int *sunit, int *swidth, int *sectorsize) > +static void blkid_get_topology( > + const char *device, > + int *sunit, > + int *swidth, > + int *sectorsize, > + int force_overwrite) > { > + > blkid_topology tp; > blkid_probe pr; > unsigned long val; > @@ -409,6 +415,12 @@ static void blkid_get_topology(const char *device, int *sunit, int *swidth, int > fprintf(stderr, > _("warning: device is not properly aligned %s\n"), > device); > + > + if(!force_overwrite){ > + fprintf(stderr, _("Use -f to force usage of a misaligned device\n")); > + exit(EXIT_FAILURE); > + } > + *sectorsize = BBSIZE; /* Force a 512b sector size if the device is misaligned*/ > } style issues: - always use whitespaces beforew and after braces, except in function calls e.g. if (!force_overwrite) { avoid 80 character lines if possible, e.g. fprintf(stderr, _("Use -f to force usage of a misaligned device\n")); and /* Force a 512b sector size if the device is misaligned */ *sectorsize = BBSIZE; > - blkid_get_topology(xi->rtname, &dummy, &ft->rtswidth, &dummy); > + blkid_get_topology(xi->rtname, &dummy, &ft->rtswidth, &dummy, force_overwrite); needs linebreak, too. > } > } > #else /* ENABLE_BLKID */ > @@ -460,7 +472,7 @@ check_overwrite( > return 0; > } > > -static void get_topology(libxfs_init_t *xi, struct fs_topology *ft) > +static void get_topology(libxfs_init_t *xi, struct fs_topology *ft, int force_overwrite) same here otherwise this looks good to me. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs