Remove keep_fd arg from load_super_XXX_all

It is always set to 1, so we don't need it.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2010-11-22 20:24:50 +11:00
parent 69b2fcc5bb
commit e1902a7b6c
2 changed files with 12 additions and 15 deletions

View File

@ -760,7 +760,7 @@ static int load_ddf_local(int fd, struct ddf_super *super,
#ifndef MDASSEMBLE #ifndef MDASSEMBLE
static int load_super_ddf_all(struct supertype *st, int fd, static int load_super_ddf_all(struct supertype *st, int fd,
void **sbp, char *devname, int keep_fd); void **sbp, char *devname);
#endif #endif
static void free_super_ddf(struct supertype *st); static void free_super_ddf(struct supertype *st);
@ -774,7 +774,7 @@ static int load_super_ddf(struct supertype *st, int fd,
#ifndef MDASSEMBLE #ifndef MDASSEMBLE
/* if 'fd' is a container, load metadata from all the devices */ /* if 'fd' is a container, load metadata from all the devices */
if (load_super_ddf_all(st, fd, &st->sb, devname, 1) == 0) if (load_super_ddf_all(st, fd, &st->sb, devname) == 0)
return 0; return 0;
#endif #endif
@ -2657,7 +2657,7 @@ static int validate_geometry_ddf(struct supertype *st,
* and try to create a bvd * and try to create a bvd
*/ */
struct ddf_super *ddf; struct ddf_super *ddf;
if (load_super_ddf_all(st, cfd, (void **)&ddf, NULL, 1) == 0) { if (load_super_ddf_all(st, cfd, (void **)&ddf, NULL) == 0) {
st->sb = ddf; st->sb = ddf;
st->container_dev = fd2devnum(cfd); st->container_dev = fd2devnum(cfd);
close(cfd); close(cfd);
@ -2804,7 +2804,7 @@ static int validate_geometry_ddf_bvd(struct supertype *st,
} }
static int load_super_ddf_all(struct supertype *st, int fd, static int load_super_ddf_all(struct supertype *st, int fd,
void **sbp, char *devname, int keep_fd) void **sbp, char *devname)
{ {
struct mdinfo *sra; struct mdinfo *sra;
struct ddf_super *super; struct ddf_super *super;
@ -2860,13 +2860,12 @@ static int load_super_ddf_all(struct supertype *st, int fd,
int rv; int rv;
sprintf(nm, "%d:%d", sd->disk.major, sd->disk.minor); sprintf(nm, "%d:%d", sd->disk.major, sd->disk.minor);
dfd = dev_open(nm, keep_fd? O_RDWR : O_RDONLY); dfd = dev_open(nm, O_RDWR);
if (dfd < 0) if (dfd < 0)
return 2; return 2;
rv = load_ddf_headers(dfd, super, NULL); rv = load_ddf_headers(dfd, super, NULL);
if (rv == 0) if (rv == 0)
rv = load_ddf_local(dfd, super, NULL, keep_fd); rv = load_ddf_local(dfd, super, NULL, 1);
if (!keep_fd) close(dfd);
if (rv) if (rv)
return 1; return 1;
} }

View File

@ -2785,7 +2785,7 @@ imsm_thunderdome(struct intel_super **super_list, int len)
} }
static int load_super_imsm_all(struct supertype *st, int fd, void **sbp, static int load_super_imsm_all(struct supertype *st, int fd, void **sbp,
char *devname, int keep_fd) char *devname)
{ {
struct mdinfo *sra; struct mdinfo *sra;
struct intel_super *super_list = NULL; struct intel_super *super_list = NULL;
@ -2821,22 +2821,20 @@ static int load_super_imsm_all(struct supertype *st, int fd, void **sbp,
err = 2; err = 2;
sprintf(nm, "%d:%d", sd->disk.major, sd->disk.minor); sprintf(nm, "%d:%d", sd->disk.major, sd->disk.minor);
dfd = dev_open(nm, keep_fd ? O_RDWR : O_RDONLY); dfd = dev_open(nm, O_RDWR);
if (dfd < 0) if (dfd < 0)
goto error; goto error;
err = load_and_parse_mpb(dfd, s, NULL, keep_fd); err = load_and_parse_mpb(dfd, s, NULL, 1);
/* retry the load if we might have raced against mdmon */ /* retry the load if we might have raced against mdmon */
if (err == 3 && mdmon_running(devnum)) if (err == 3 && mdmon_running(devnum))
for (retry = 0; retry < 3; retry++) { for (retry = 0; retry < 3; retry++) {
usleep(3000); usleep(3000);
err = load_and_parse_mpb(dfd, s, NULL, keep_fd); err = load_and_parse_mpb(dfd, s, NULL, 1);
if (err != 3) if (err != 3)
break; break;
} }
if (!keep_fd)
close(dfd);
if (err) if (err)
goto error; goto error;
} }
@ -2886,7 +2884,7 @@ static int load_super_imsm(struct supertype *st, int fd, char *devname)
int rv; int rv;
#ifndef MDASSEMBLE #ifndef MDASSEMBLE
if (load_super_imsm_all(st, fd, &st->sb, devname, 1) == 0) if (load_super_imsm_all(st, fd, &st->sb, devname) == 0)
return 0; return 0;
#endif #endif
@ -4088,7 +4086,7 @@ static int validate_geometry_imsm(struct supertype *st, int level, int layout,
*/ */
struct intel_super *super; struct intel_super *super;
if (load_super_imsm_all(st, cfd, (void **) &super, NULL, 1) == 0) { if (load_super_imsm_all(st, cfd, (void **) &super, NULL) == 0) {
st->sb = super; st->sb = super;
st->container_dev = fd2devnum(cfd); st->container_dev = fd2devnum(cfd);
close(cfd); close(cfd);