Minor cosmetic fixes in various files.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2012-08-13 08:00:21 +10:00
parent e999152898
commit ca3b669603
8 changed files with 127 additions and 110 deletions

View File

@ -1,7 +1,7 @@
/*
* mdadm - manage Linux "md" devices aka RAID arrays.
*
* Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de>
*
*
* This program is free software; you can redistribute it and/or modify
@ -22,7 +22,7 @@
* Email: <neilb@suse.de>
*/
#include "mdadm.h"
#include "mdadm.h"
#include "md_u.h"
#include "md_p.h"
#include <ctype.h>
@ -61,7 +61,6 @@ static int default_layout(struct supertype *st, int level, int verbose)
return layout;
}
int Create(struct supertype *st, char *mddev,
char *name, int *uuid,
int subdevs, struct mddev_dev *devlist,
@ -198,7 +197,6 @@ int Create(struct supertype *st, char *mddev,
/* now set some defaults */
if (s->layout == UnSet) {
do_default_layout = 1;
s->layout = default_layout(st, s->level, c->verbose);
@ -699,7 +697,7 @@ int Create(struct supertype *st, char *mddev,
mdi = sysfs_read(-1, dnum, GET_VERSION);
pr_err("Creating array inside "
"%s container %s\n",
"%s container %s\n",
mdi?mdi->text_version:"managed", path);
sysfs_free(mdi);
} else
@ -738,7 +736,6 @@ int Create(struct supertype *st, char *mddev,
s->bitmap_file = NULL;
}
sysfs_init(&info, mdfd, 0);
if (st->ss->external && st->container_dev != NoMdDev) {

View File

@ -1,7 +1,7 @@
/*
* mdadm - manage Linux "md" devices aka RAID arrays.
*
* Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de>
*
*
* This program is free software; you can redistribute it and/or modify
@ -197,7 +197,7 @@ int Detail(char *dev, struct context *c)
printf("MD_METADATA=%d.%d\n",
array.major_version, array.minor_version);
}
if (st && st->sb && info) {
char nbuf[64];
struct map_ent *mp, *map = NULL;
@ -227,14 +227,14 @@ int Detail(char *dev, struct context *c)
}
disks = xmalloc(max_disks * sizeof(mdu_disk_info_t));
for (d=0; d<max_disks; d++) {
for (d = 0; d < max_disks; d++) {
disks[d].state = (1<<MD_DISK_REMOVED);
disks[d].major = disks[d].minor = 0;
disks[d].number = disks[d].raid_disk = d;
}
next = array.raid_disks;
for (d=0; d < max_disks; d++) {
for (d = 0; d < max_disks; d++) {
mdu_disk_info_t disk;
disk.number = d;
if (ioctl(fd, GET_DISK_INFO, &disk) < 0) {
@ -325,7 +325,8 @@ int Detail(char *dev, struct context *c)
str = "container";
printf(" Raid Level : %s\n", str?str:"-unknown-");
if (larray_size)
printf(" Array Size : %llu%s\n", (larray_size>>10), human_size(larray_size));
printf(" Array Size : %llu%s\n", (larray_size>>10),
human_size(larray_size));
if (array.level >= 1) {
if (array.major_version != 0 &&
(larray_size >= 0xFFFFFFFFULL|| array.size == 0)) {
@ -343,7 +344,7 @@ int Detail(char *dev, struct context *c)
if (array.raid_disks)
printf(" Raid Devices : %d\n", array.raid_disks);
printf(" Total Devices : %d\n", array.nr_disks);
if (!container &&
if (!container &&
((sra == NULL && array.major_version == 0) ||
(sra && sra->array.major_version == 0)))
printf("Preferred Minor : %d\n", array.md_minor);
@ -363,7 +364,9 @@ int Detail(char *dev, struct context *c)
if (atime)
printf(" Update Time : %.24s\n", ctime(&atime));
if (array.raid_disks) {
static char *sync_action[] = {", recovering",", resyncing",", reshaping",", checking"};
static char *sync_action[] = {
", recovering", ", resyncing",
", reshaping", ", checking" };
char *st;
if (avail_disks == array.raid_disks)
st = "";
@ -419,7 +422,9 @@ int Detail(char *dev, struct context *c)
}
if (e && e->percent >= 0) {
static char *sync_action[] = {"Rebuild", "Resync", "Reshape", "Check"};
static char *sync_action[] = {
"Rebuild", "Resync",
"Reshape", "Check"};
printf(" %7s Status : %d%% complete\n", sync_action[e->resync], e->percent);
is_rebuilding = 1;
}
@ -433,7 +438,9 @@ This is pretty boring
#endif
if (info->delta_disks != 0)
printf(" Delta Devices : %d, (%d->%d)\n",
info->delta_disks, array.raid_disks - info->delta_disks, array.raid_disks);
info->delta_disks,
array.raid_disks - info->delta_disks,
array.raid_disks);
if (info->new_level != array.level) {
str = map_num(pers, info->new_level);
printf(" New Level : %s\n", str?str:"-unknown-");
@ -572,7 +579,8 @@ This is pretty boring
if (c->test && d < array.raid_disks
&& !(disk.state & (1<<MD_DISK_SYNC)))
rv |= 1;
if ((dv=map_dev_preferred(disk.major, disk.minor, 0, c->prefer))) {
dv=map_dev_preferred(disk.major, disk.minor, 0, c->prefer);
if (dv != NULL) {
if (c->brief) {
if (devices) {
devices = xrealloc(devices,

View File

@ -1,7 +1,7 @@
/*
* mdadm - manage Linux "md" devices aka RAID arrays.
*
* Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de>
*
*
* This program is free software; you can redistribute it and/or modify
@ -47,7 +47,8 @@ int Examine(struct mddev_dev *devlist,
*
* utime, state etc
*
* If (brief) gather devices for same array and just print a mdadm.conf line including devices=
* If (brief) gather devices for same array and just print a mdadm.conf
* line including devices=
* if devlist==NULL, use conf_get_devs()
*/
int fd;
@ -62,7 +63,7 @@ int Examine(struct mddev_dev *devlist,
int spares;
} *arrays = NULL;
for (; devlist ; devlist=devlist->next) {
for (; devlist ; devlist = devlist->next) {
struct supertype *st;
int have_container = 0;
@ -124,9 +125,9 @@ int Examine(struct mddev_dev *devlist,
} else if (c->brief) {
struct array *ap;
char *d;
for (ap=arrays; ap; ap=ap->next) {
for (ap = arrays; ap; ap = ap->next) {
if (st->ss == ap->st->ss &&
st->ss->compare_super(ap->st, st)==0)
st->ss->compare_super(ap->st, st) == 0)
break;
}
if (!ap) {
@ -156,7 +157,7 @@ int Examine(struct mddev_dev *devlist,
}
if (c->brief) {
struct array *ap;
for (ap=arrays; ap; ap=ap->next) {
for (ap = arrays; ap; ap = ap->next) {
char sep='=';
char *d;
int newline = 0;
@ -166,7 +167,9 @@ int Examine(struct mddev_dev *devlist,
newline += printf(" spares=%d", ap->spares);
if (c->verbose > 0) {
newline += printf(" devices");
for (d=dl_next(ap->devs); d!= ap->devs; d=dl_next(d)) {
for (d = dl_next(ap->devs);
d != ap->devs;
d=dl_next(d)) {
printf("%c%s", sep, d);
sep=',';
}

43
Grow.c
View File

@ -1,7 +1,7 @@
/*
* mdadm - manage Linux "md" devices aka RAID arrays.
*
* Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de>
*
*
* This program is free software; you can redistribute it and/or modify
@ -122,7 +122,8 @@ int Grow_Add_device(char *devname, int fd, char *newdev)
st = super_by_fd(fd, &subarray);
if (!st) {
pr_err("cannot handle arrays with superblock version %d\n", info.array.major_version);
pr_err("cannot handle arrays with superblock version %d\n",
info.array.major_version);
return 1;
}
@ -146,7 +147,8 @@ int Grow_Add_device(char *devname, int fd, char *newdev)
free(st);
return 1;
}
/* now check out all the devices and make sure we can read the superblock */
/* now check out all the devices and make sure we can read the
* superblock */
for (d=0 ; d < info.array.raid_disks ; d++) {
mdu_disk_info_t disk;
char *dv;
@ -408,8 +410,8 @@ int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s)
)
st->ss->write_bitmap(st, fd2);
else {
pr_err("failed "
"to create internal bitmap - chunksize problem.\n");
pr_err("failed to create internal bitmap"
" - chunksize problem.\n");
close(fd2);
return 1;
}
@ -440,7 +442,7 @@ int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s)
int max_devs = st->max_devs;
/* try to load a superblock */
for (d=0; d<max_devs; d++) {
for (d = 0; d < max_devs; d++) {
mdu_disk_info_t disk;
char *dv;
int fd2;
@ -451,7 +453,8 @@ int Grow_addbitmap(char *devname, int fd, struct context *c, struct shape *s)
(disk.state & (1<<MD_DISK_REMOVED)))
continue;
dv = map_dev(disk.major, disk.minor, 1);
if (!dv) continue;
if (!dv)
continue;
fd2 = dev_open(dv, O_RDONLY);
if (fd2 >= 0) {
if (st->ss->load_super(st, fd2, NULL) == 0) {
@ -520,7 +523,7 @@ static __u32 bsb_csum(char *buf, int len)
{
int i;
int csum = 0;
for (i=0; i<len; i++)
for (i = 0; i < len; i++)
csum = (csum<<3) + buf[0];
return __cpu_to_le32(csum);
}
@ -1250,9 +1253,11 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
switch (re->level) {
case 4:
re->after.layout = 0 ; break;
re->after.layout = 0;
break;
case 5:
re->after.layout = ALGORITHM_PARITY_N; break;
re->after.layout = ALGORITHM_PARITY_N;
break;
}
break;
@ -1263,9 +1268,11 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
switch (re->level) {
case 4:
re->after.layout = 0 ; break;
re->after.layout = 0;
break;
case 5:
re->after.layout = ALGORITHM_PARITY_N; break;
re->after.layout = ALGORITHM_PARITY_N;
break;
}
break;
@ -1337,10 +1344,13 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
+ info->delta_disks
- delta_parity);
switch (re->level) {
case 6: re->parity = 2; break;
case 6: re->parity = 2;
break;
case 4:
case 5: re->parity = 1; break;
default: re->parity = 0; break;
case 5: re->parity = 1;
break;
default: re->parity = 0;
break;
}
/* So we have a restripe operation, we need to calculate the number
* of blocks per reshape operation.
@ -3888,7 +3898,8 @@ int Grow_restart(struct supertype *st, struct mdinfo *info, int *fdlist, int cnt
}
}
for (j=0; j<info->array.raid_disks; j++) {
if (fdlist[j] < 0) continue;
if (fdlist[j] < 0)
continue;
if (st->ss->load_super(st, fdlist[j], NULL))
continue;
st->ss->getinfo_super(st, &dinfo, NULL);

View File

@ -2,7 +2,7 @@
* Incremental.c - support --incremental. Part of:
* mdadm - manage Linux "md" devices aka RAID arrays.
*
* Copyright (C) 2006-2009 Neil Brown <neilb@suse.de>
* Copyright (C) 2006-2012 Neil Brown <neilb@suse.de>
*
*
* This program is free software; you can redistribute it and/or modify
@ -227,7 +227,6 @@ int Incremental(char *devname, struct context *c,
else
trustworthy = FOREIGN;
if (!match && !conf_test_metadata(st->ss->name, policy,
(trustworthy == LOCAL))) {
if (c->verbose >= 1)
@ -307,7 +306,7 @@ int Incremental(char *devname, struct context *c,
}
sra = sysfs_read(mdfd, -1, (GET_DEVS | GET_STATE |
GET_OFFSET | GET_SIZE));
if (!sra || !sra->devs || sra->devs->disk.raid_disk >= 0) {
/* It really should be 'none' - must be old buggy
* kernel, and mdadm -I may not be able to complete.
@ -337,7 +336,7 @@ int Incremental(char *devname, struct context *c,
sra = sysfs_read(mdfd, -1, (GET_DEVS | GET_STATE |
GET_OFFSET | GET_SIZE));
if (mp->path)
strcpy(chosen_name, mp->path);
else
@ -424,7 +423,7 @@ int Incremental(char *devname, struct context *c,
info.array.working_disks = 0;
for (d = sra->devs; d; d=d->next)
info.array.working_disks ++;
}
/* 7/ Is there enough devices to possibly start the array? */
@ -436,7 +435,7 @@ int Incremental(char *devname, struct context *c,
if (c->verbose >= 0)
pr_err("container %s now has %d device%s\n",
chosen_name, info.array.working_disks,
info.array.working_disks==1?"":"s");
info.array.working_disks == 1?"":"s");
wait_for(chosen_name, mdfd);
if (st->ss->external)
devnum = fd2devnum(mdfd);
@ -632,7 +631,7 @@ static int count_active(struct supertype *st, struct mdinfo *sra,
for (d = sra->devs ; d ; d = d->next)
numdevs++;
for (d = sra->devs, devnum=0 ; d ; d = d->next, devnum++) {
for (d = sra->devs, devnum = 0 ; d ; d = d->next, devnum++) {
char dn[30];
int dfd;
int ok;
@ -680,7 +679,7 @@ static int count_active(struct supertype *st, struct mdinfo *sra,
else if (info.events == max_events+1) {
int i;
max_events = info.events;
for (i=0; i < raid_disks; i++)
for (i = 0; i < raid_disks; i++)
if (avail[i])
avail[i]--;
avail[info.disk.raid_disk] = 2;
@ -824,7 +823,7 @@ static int array_try_spare(char *devname, int *dfdp, struct dev_policy *pol,
if (st == NULL) {
int i;
st2 = NULL;
for(i=0; !st2 && superlist[i]; i++)
for(i = 0; !st2 && superlist[i]; i++)
st2 = superlist[i]->match_metadata_desc(
sra->text_version);
if (!st2) {
@ -1314,7 +1313,7 @@ static char *container2devname(char *devname)
} else {
int uuid[4];
struct map_ent *mp, *map = NULL;
if (!parse_uuid(devname, uuid))
return mdname;
mp = map_by_uuid(&map, uuid);

View File

@ -97,7 +97,7 @@ int count_dirty_bits(char *buf, int num_bits)
{
int i, num = 0;
for (i=0; i < num_bits / 8; i++)
for (i = 0; i < num_bits / 8; i++)
num += count_dirty_bits_byte(buf[i], 8);
if (num_bits % 8) /* not an even byte boundary */
@ -121,7 +121,6 @@ unsigned long bitmap_sectors(struct bitmap_super_s *bsb)
return (bits + bits_per_sector - 1) / bits_per_sector;
}
bitmap_info_t *bitmap_fd_read(int fd, int brief)
{
/* Note: fd might be open O_DIRECT, so we must be

View File

@ -1,7 +1,7 @@
/*
* mdadm - manage Linux "md" devices aka RAID arrays.
*
* Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de>
*
*
* This program is free software; you can redistribute it and/or modify
@ -26,7 +26,6 @@
#include "md_p.h"
#include <ctype.h>
void make_parts(char *dev, int cnt)
{
/* make 'cnt' partition devices for 'dev'
@ -49,7 +48,8 @@ void make_parts(char *dev, int cnt)
char sym[1024];
int err;
if (cnt==0) cnt=4;
if (cnt == 0)
cnt = 4;
if (lstat(dev, &stb)!= 0)
return;
@ -68,10 +68,10 @@ void make_parts(char *dev, int cnt)
} else
return;
name = xmalloc(nlen);
for (i=1; i <= cnt ; i++) {
for (i = 1; i <= cnt ; i++) {
struct stat stb2;
snprintf(name, nlen, "%s%s%d", dev, dig?"p":"", i);
if (stat(name, &stb2)==0) {
if (stat(name, &stb2) == 0) {
if (!S_ISBLK(stb2.st_mode) || !S_ISBLK(stb.st_mode))
continue;
if (stb2.st_rdev == makedev(major_num, minor_num+i))
@ -100,7 +100,6 @@ void make_parts(char *dev, int cnt)
free(name);
}
/*
* We need a new md device to assemble/build/create an array.
* 'dev' is a name given us by the user (command line or mdadm.conf)
@ -125,7 +124,7 @@ void make_parts(char *dev, int cnt)
* supported by 'dev', we add a "_%d" suffix based on the minor number
* use that.
*
* If udev is configured, we create a temporary device, open it, and
* If udev is configured, we create a temporary device, open it, and
* unlink it.
* If not, we create the /dev/mdXX device, and is name is usable,
* /dev/md/name
@ -150,7 +149,6 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
if (chosen == NULL)
chosen = cbuf;
if (autof == 0)
autof = ci->autof;
@ -160,7 +158,6 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
strcpy(chosen, "/dev/md/");
cname = chosen + strlen(chosen);
if (dev) {
if (strncmp(dev, "/dev/md/", 8) == 0) {
strcpy(cname, dev+8);
@ -238,7 +235,7 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
use_mdp = 0;
}
if (num < 0 && trustworthy == LOCAL && name) {
/* if name is numeric, possibly prefixed by
/* if name is numeric, possibly prefixed by
* 'md' or '/dev/md', use that for num
* if it is not already in use */
char *ep;
@ -302,7 +299,7 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
if (trustworthy == METADATA && !isdigit(cname[cnlen-1]))
sprintf(cname+cnlen, "%d", unum);
else
/* add _%d to FOREIGN array that don't
/* add _%d to FOREIGN array that don't
* a 'host:' prefix
*/
sprintf(cname+cnlen, "_%d", unum);
@ -348,9 +345,9 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
}
if (use_mdp == 1)
make_parts(devname, parts);
if (strcmp(chosen, devname) != 0) {
if (mkdir("/dev/md",0700)==0) {
if (strcmp(chosen, devname) != 0) {
if (mkdir("/dev/md",0700) == 0) {
if (chown("/dev/md", ci->uid, ci->gid))
perror("chown /dev/md");
if (chmod("/dev/md", ci->mode| ((ci->mode>>2) & 0111)))
@ -388,7 +385,6 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
return mdfd;
}
/* Open this and check that it is an md device.
* On success, return filedescriptor.
* On failure, return -1 if it doesn't exist,

94
util.c
View File

@ -1,7 +1,7 @@
/*
* mdadm - manage Linux "md" devices aka RAID arrays.
*
* Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de>
*
*
* This program is free software; you can redistribute it and/or modify
@ -89,15 +89,16 @@ int parse_uuid(char *str, int uuid[4])
int hit = 0; /* number of Hex digIT */
int i;
char c;
for (i=0; i<4; i++) uuid[i]=0;
for (i = 0; i < 4; i++)
uuid[i] = 0;
while ((c= *str++)) {
while ((c = *str++) != 0) {
int n;
if (c>='0' && c<='9')
if (c >= '0' && c <= '9')
n = c-'0';
else if (c>='a' && c <= 'f')
else if (c >= 'a' && c <= 'f')
n = 10 + c - 'a';
else if (c>='A' && c <= 'F')
else if (c >= 'A' && c <= 'F')
n = 10 + c - 'A';
else if (strchr(":. -", c))
continue;
@ -114,7 +115,6 @@ int parse_uuid(char *str, int uuid[4])
return 0;
}
/*
* Get the md version number.
* We use the RAID_VERSION ioctl if it is supported
@ -280,7 +280,7 @@ void remove_partitions(int fd)
a.datalen = sizeof(p);
a.flags = 0;
memset(a.data, 0, a.datalen);
for (p.pno=0; p.pno < 16; p.pno++)
for (p.pno = 0; p.pno < 16; p.pno++)
ioctl(fd, BLKPG, &a);
#endif
}
@ -338,11 +338,11 @@ int enough(int level, int raid_disks, int layout, int clean, char *avail)
* which actual disks are present.
*/
copies = (layout&255)* ((layout>>8) & 255);
first=0;
first = 0;
do {
/* there must be one of the 'copies' form 'first' */
int n = copies;
int cnt=0;
int cnt = 0;
while (n--) {
if (avail[first])
cnt++;
@ -389,7 +389,7 @@ int enough_fd(int fd)
array.raid_disks <= 0)
return 0;
avail = xcalloc(array.raid_disks, 1);
for (i=0; i < MAX_DISKS && array.nr_disks > 0; i++) {
for (i = 0; i < MAX_DISKS && array.nr_disks > 0; i++) {
disk.number = i;
if (ioctl(fd, GET_DISK_INFO, &disk) != 0)
continue;
@ -411,7 +411,6 @@ int enough_fd(int fd)
return rv;
}
const int uuid_zero[4] = { 0, 0, 0, 0 };
int same_uuid(int a[4], int b[4], int swapuuid)
@ -424,7 +423,7 @@ int same_uuid(int a[4], int b[4], int swapuuid)
unsigned char *ac = (unsigned char *)a;
unsigned char *bc = (unsigned char *)b;
int i;
for (i=0; i<16; i+= 4) {
for (i = 0; i < 16; i += 4) {
if (ac[i+0] != bc[i+3] ||
ac[i+1] != bc[i+2] ||
ac[i+2] != bc[i+1] ||
@ -441,6 +440,7 @@ int same_uuid(int a[4], int b[4], int swapuuid)
return 0;
}
}
void copy_uuid(void *a, int b[4], int swapuuid)
{
if (swapuuid) {
@ -451,7 +451,7 @@ void copy_uuid(void *a, int b[4], int swapuuid)
unsigned char *ac = (unsigned char *)a;
unsigned char *bc = (unsigned char *)b;
int i;
for (i=0; i<16; i+= 4) {
for (i = 0; i < 16; i += 4) {
ac[i+0] = bc[i+3];
ac[i+1] = bc[i+2];
ac[i+2] = bc[i+1];
@ -537,8 +537,8 @@ int check_reiser(int fd, char *name)
return 0;
if (read(fd, sb, 1024) != 1024)
return 0;
if (strncmp((char*)sb+52, "ReIsErFs",8)!=0 &&
strncmp((char*)sb+52, "ReIsEr2Fs",9)!=0)
if (strncmp((char*)sb+52, "ReIsErFs",8) != 0 &&
strncmp((char*)sb+52, "ReIsEr2Fs",9) != 0)
return 0;
pr_err("%s appears to contain a reiserfs file system\n",name);
size = sb[0]|(sb[1]|(sb[2]|sb[3]<<8)<<8)<<8;
@ -574,7 +574,7 @@ int ask(char *mesg)
{
char *add = "";
int i;
for (i=0; i<5; i++) {
for (i = 0; i < 5; i++) {
char buf[100];
fprintf(stderr, "%s%s", mesg, add);
fflush(stderr);
@ -601,18 +601,18 @@ int is_standard(char *dev, int *nump)
* 0 if not a standard name.
*/
char *d = strrchr(dev, '/');
int type=0;
int type = 0;
int num;
if (!d)
return 0;
if (strncmp(d, "/d",2)==0)
d += 2, type=1; /* /dev/md/dN{pM} */
else if (strncmp(d, "/md_d", 5)==0)
d += 5, type=1; /* /dev/md_dN{pM} */
else if (strncmp(d, "/md", 3)==0)
d += 3, type=-1; /* /dev/mdN */
else if (d-dev > 3 && strncmp(d-2, "md/", 3)==0)
d += 1, type=-1; /* /dev/md/N */
if (strncmp(d, "/d",2) == 0)
d += 2, type = 1; /* /dev/md/dN{pM} */
else if (strncmp(d, "/md_d", 5) == 0)
d += 5, type = 1; /* /dev/md_dN{pM} */
else if (strncmp(d, "/md", 3) == 0)
d += 3, type = -1; /* /dev/mdN */
else if (d-dev > 3 && strncmp(d-2, "md/", 3) == 0)
d += 1, type = -1; /* /dev/md/N */
else
return 0;
if (!*d)
@ -634,13 +634,13 @@ unsigned long calc_csum(void *super, int bytes)
unsigned int csum;
unsigned int *superc = (unsigned int*) super;
for(i=0; i<bytes/4; i++)
newcsum+= superc[i];
for(i = 0; i < bytes/4; i++)
newcsum += superc[i];
csum = (newcsum& 0xffffffff) + (newcsum>>32);
#ifdef __alpha__
/* The in-kernel checksum calculation is always 16bit on
* the alpha, though it is 32 bit on i386...
* I wonder what it is elsewhere... (it uses and API in
* I wonder what it is elsewhere... (it uses an API in
* a way that it shouldn't).
*/
csum = (csum & 0xffff) + (csum >> 16);
@ -664,7 +664,7 @@ char *human_size(long long bytes)
*/
if (bytes < 5000*1024)
buf[0]=0;
buf[0] = 0;
else if (bytes < 2*1024LL*1024LL*1024LL) {
long cMiB = (bytes / ( (1LL<<20) / 200LL ) +1) /2;
long cMB = (bytes / ( 1000000LL / 200LL ) +1) /2;
@ -733,11 +733,15 @@ int get_data_disks(int level, int layout, int raid_disks)
{
int data_disks = 0;
switch (level) {
case 0: data_disks = raid_disks; break;
case 1: data_disks = 1; break;
case 0: data_disks = raid_disks;
break;
case 1: data_disks = 1;
break;
case 4:
case 5: data_disks = raid_disks - 1; break;
case 6: data_disks = raid_disks - 2; break;
case 5: data_disks = raid_disks - 1;
break;
case 6: data_disks = raid_disks - 2;
break;
case 10: data_disks = raid_disks / (layout & 255) / ((layout>>8)&255);
break;
}
@ -796,7 +800,7 @@ char *get_md_name(int dev)
void put_md_name(char *name)
{
if (strncmp(name, "/dev/.tmp.md", 12)==0)
if (strncmp(name, "/dev/.tmp.md", 12) == 0)
unlink(name);
}
@ -848,7 +852,7 @@ int dev_open(char *dev, int flags)
if (fd < 0) {
snprintf(devname, sizeof(devname), "/dev/.tmp.md.%d:%d:%d",
(int)getpid(), major, minor);
if (mknod(devname, S_IFBLK|0600, makedev(major, minor))==0) {
if (mknod(devname, S_IFBLK|0600, makedev(major, minor)) == 0) {
fd = open(devname, flags);
unlink(devname);
}
@ -856,7 +860,7 @@ int dev_open(char *dev, int flags)
if (fd < 0) {
snprintf(devname, sizeof(devname), "/tmp/.tmp.md.%d:%d:%d",
(int)getpid(), major, minor);
if (mknod(devname, S_IFBLK|0600, makedev(major, minor))==0) {
if (mknod(devname, S_IFBLK|0600, makedev(major, minor)) == 0) {
fd = open(devname, flags);
unlink(devname);
}
@ -886,7 +890,7 @@ int open_dev_excl(int devnum)
int flags = O_RDWR;
sprintf(buf, "%d:%d", dev2major(devnum), dev2minor(devnum));
for (i=0 ; i<25 ; i++) {
for (i = 0 ; i < 25 ; i++) {
int fd = dev_open(buf, flags|O_EXCL);
if (fd >= 0)
return fd;
@ -924,7 +928,7 @@ void wait_for(char *dev, int fd)
(stb_want.st_mode & S_IFMT) != S_IFBLK)
return;
for (i=0 ; i<25 ; i++) {
for (i = 0 ; i < 25 ; i++) {
struct stat stb;
if (stat(dev, &stb) == 0 &&
(stb.st_mode & S_IFMT) == S_IFBLK &&
@ -1058,7 +1062,7 @@ struct supertype *guess_super_type(int fd, enum guess_types guess_type)
st = xcalloc(1, sizeof(*st));
st->container_dev = NoMdDev;
for (i=0 ; superlist[i]; i++) {
for (i = 0 ; superlist[i]; i++) {
int rv;
ss = superlist[i];
if (guess_type == guess_array && ss->add_to_super == NULL)
@ -1176,7 +1180,7 @@ static int get_gpt_last_partition_end(int fd, unsigned long long *endofpart)
part = (struct GPT_part_entry *)buf;
for (part_nr=0; part_nr < all_partitions; part_nr++) {
for (part_nr = 0; part_nr < all_partitions; part_nr++) {
/* read partition entry */
if (read(fd, buf, entry_size) != (ssize_t)entry_size)
return 0;
@ -1220,7 +1224,7 @@ static int get_last_partition_end(int fd, unsigned long long *endofpart)
/* found the correct signature */
part = boot_sect.parts;
for (part_nr=0; part_nr < MBR_PARTITIONS; part_nr++) {
for (part_nr = 0; part_nr < MBR_PARTITIONS; part_nr++) {
/* check for GPT type */
if (part->part_type == MBR_GPT_PARTITION_TYPE) {
retval = get_gpt_last_partition_end(fd, endofpart);
@ -1598,7 +1602,7 @@ int start_mdmon(int devnum)
{
int i, skipped;
int len;
pid_t pid;
pid_t pid;
int status;
char pathbuf[1024];
char *paths[4] = {
@ -1628,13 +1632,13 @@ int start_mdmon(int devnum)
case 0:
/* FIXME yuk. CLOSE_EXEC?? */
skipped = 0;
for (i=3; skipped < 20; i++)
for (i = 3; skipped < 20; i++)
if (close(i) < 0)
skipped++;
else
skipped = 0;
for (i=0; paths[i]; i++)
for (i = 0; paths[i]; i++)
if (paths[i][0]) {
if (__offroot) {
execl(paths[i], "mdmon", "--offroot",