]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - Manage.c
Central calls to ioctl BLKGETSIZE
[thirdparty/mdadm.git] / Manage.c
index 144fb4fb88bf9683a602b6dfcfa9e30f8f836cca..4b5ec80667b90ccd41f84f1640ccff3eaa74b5ab 100644 (file)
--- 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);