summaryrefslogtreecommitdiffstats
path: root/Manage.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-12-14 17:32:57 +1100
committerNeil Brown <neilb@suse.de>2006-12-14 17:32:57 +1100
commitbeae1dfe2e5a3f11e6e52a93fbf617d644708415 (patch)
treeca12b130f76d63e7156e43ac89d76c11b2c140b8 /Manage.c
parentab5303d695eb7249b9462f9ad4e973711622a9c5 (diff)
downloadmdadm-beae1dfe2e5a3f11e6e52a93fbf617d644708415.tar.gz
mdadm-beae1dfe2e5a3f11e6e52a93fbf617d644708415.tar.xz
mdadm-beae1dfe2e5a3f11e6e52a93fbf617d644708415.zip
Central calls to ioctl BLKGETSIZE
Instead of opencoding the same thing everywhere.
Diffstat (limited to 'Manage.c')
-rw-r--r--Manage.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/Manage.c b/Manage.c
index 144fb4f..4b5ec80 100644
--- a/Manage.c
+++ b/Manage.c
@@ -187,7 +187,6 @@ int Manage_subdevs(char *devname, int fd,
}
for (dv = devlist ; dv; dv=dv->next) {
unsigned long long ldsize;
- unsigned long dsize;
if (stat(dv->devname, &stb)) {
fprintf(stderr, Name ": cannot find %s: %s\n",
@@ -224,19 +223,9 @@ int Manage_subdevs(char *devname, int fd,
if (array.not_persistent==0)
st->ss->load_super(st, tfd, &osuper, NULL);
/* will use osuper later */
-#ifdef BLKGETSIZE64
- if (ioctl(tfd, BLKGETSIZE64, &ldsize)==0)
- ;
- else
-#endif
- if (ioctl(tfd, BLKGETSIZE, &dsize)) {
- fprintf(stderr, Name ": Cannot get size of %s: %s\n",
- dv->devname, strerror(errno));
+ if (!get_dev_size(tfd, dv->devname, &ldsize)) {
close(tfd);
return 1;
- } else {
- ldsize = dsize;
- ldsize <<= 9;
}
close(tfd);