diff options
Diffstat (limited to 'super1.c')
-rw-r--r-- | super1.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -1465,7 +1465,8 @@ static void free_super1(struct supertype *st) static int validate_geometry1(struct supertype *st, int level, int layout, int raiddisks, int chunk, unsigned long long size, - char *subdev, unsigned long long *freesize) + char *subdev, unsigned long long *freesize, + int verbose) { unsigned long long ldsize; int fd; @@ -1477,10 +1478,12 @@ static int validate_geometry1(struct supertype *st, int level, fd = open(subdev, O_RDONLY|O_EXCL, 0); if (fd < 0) { - fprintf(stderr, Name ": Cannot open %s: %s\n", - subdev, strerror(errno)); + if (verbose) + fprintf(stderr, Name ": super1.x cannot open %s: %s\n", + subdev, strerror(errno)); return 0; } + if (!get_dev_size(fd, subdev, &ldsize)) { close(fd); return 0; |