* [PATCH] mkfs: Refuse to initialize a misaligned device if not forced using libblkid [v3]
@ 2011-12-06 16:45 Carlos Maiolino
2012-01-16 15:16 ` Mark Tinguely
0 siblings, 1 reply; 2+ messages in thread
From: Carlos Maiolino @ 2011-12-06 16:45 UTC (permalink / raw)
To: xfs; +Cc: Carlos Maiolino
This is a new version of a patch to fix the problem about the usage of 4k
sector devices when the device is not properly aligned. It makes 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 chooses to force
the device initialization.
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
---
mkfs/xfs_mkfs.c | 35 +++++++++++++++++++++++++++++------
1 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
index f527f3d..140837a 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,15 @@ 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);
+ }
+ /* force a 512b sector size if the device is misaligned */
+ *sectorsize = BBSIZE;
}
blkid_free_probe(pr);
@@ -421,19 +436,23 @@ out_free_probe:
device);
}
-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)
{
if (!xi->disfile) {
const char *dfile = xi->volname ? xi->volname : xi->dname;
blkid_get_topology(dfile, &ft->dsunit, &ft->dswidth,
- &ft->sectorsize);
+ &ft->sectorsize, force_overwrite);
}
if (xi->rtname && !xi->risfile) {
int dummy;
- blkid_get_topology(xi->rtname, &dummy, &ft->rtswidth, &dummy);
+ blkid_get_topology(xi->rtname, &dummy, &ft->rtswidth,
+ &dummy, force_overwrite);
}
}
#else /* ENABLE_BLKID */
@@ -460,8 +479,12 @@ 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)
{
+
char *dfile = xi->volname ? xi->volname : xi->dname;
int bsz = BBSIZE;
@@ -1625,7 +1648,7 @@ main(
}
memset(&ft, 0, sizeof(ft));
- get_topology(&xi, &ft);
+ get_topology(&xi, &ft, force_overwrite);
if (ft.sectoralign) {
/*
--
1.7.6.4
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] mkfs: Refuse to initialize a misaligned device if not forced using libblkid [v3]
2011-12-06 16:45 [PATCH] mkfs: Refuse to initialize a misaligned device if not forced using libblkid [v3] Carlos Maiolino
@ 2012-01-16 15:16 ` Mark Tinguely
0 siblings, 0 replies; 2+ messages in thread
From: Mark Tinguely @ 2012-01-16 15:16 UTC (permalink / raw)
To: Carlos Maiolino; +Cc: xfs
On 01/-10/63 13:59, Carlos Maiolino wrote:
> This is a new version of a patch to fix the problem about the usage of 4k
> sector devices when the device is not properly aligned. It makes 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 chooses to force
> the device initialization.
>
...
> +
> + if (!force_overwrite) {
> + fprintf(stderr,
> + _("Use -f to force usage of a misaligned device\n"));
This line wraps.
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-12-06 16:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-06 16:45 [PATCH] mkfs: Refuse to initialize a misaligned device if not forced using libblkid [v3] Carlos Maiolino
2012-01-16 15:16 ` Mark Tinguely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox