X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=blobdiff_plain;f=Kill.c;h=d5c1e36df4d3724e6cf060238902cb897e01bfed;hp=5b25487272a4844c4d114ad043e538d46f8a2f18;hb=9fe32043178f221526b6d59f3bbce58f777089da;hpb=370ac380fda9fb0d813f210ed2b342cfbde07cf0 diff --git a/Kill.c b/Kill.c index 5b254872..d5c1e36d 100644 --- a/Kill.c +++ b/Kill.c @@ -44,7 +44,7 @@ int Kill(char *dev, int force, int quiet, int noexcl) int fd, rv = 0; struct supertype *st; - fd = open(dev, noexcl ? O_RDWR : (O_RDWR|O_EXCL)); + fd = open(dev, O_DIRECT | (noexcl ? O_RDWR : (O_RDWR|O_EXCL))); if (fd < 0) { if (!quiet) fprintf(stderr, Name ": Couldn't open %s for write - not zeroing\n", @@ -63,10 +63,8 @@ int Kill(char *dev, int force, int quiet, int noexcl) if (force && rv >= 2) rv = 0; /* ignore bad data in superblock */ if (rv== 0 || (force && rv >= 2)) { - mdu_array_info_t info; - info.major_version = -1; /* zero superblock */ st->ss->free_super(st); - st->ss->init_super(st, &info, 0, "", NULL, NULL); + st->ss->init_super(st, NULL, 0, "", NULL, NULL); if (st->ss->store_super(st, fd)) { if (!quiet) fprintf(stderr, Name ": Could not zero superblock on %s\n",