Blame SOURCES/0032-DDF-Cleanup-validate_geometry_ddf_container.patch

cd8c44
From 679bd9508a30b2a0a1baecc9a21dd6c7d8d8d7dc Mon Sep 17 00:00:00 2001
cd8c44
From: Logan Gunthorpe <logang@deltatee.com>
cd8c44
Date: Wed, 22 Jun 2022 14:25:07 -0600
2b63fb
Subject: [PATCH 32/83] DDF: Cleanup validate_geometry_ddf_container()
cd8c44
cd8c44
Move the function up so that the function declaration is not necessary
cd8c44
and remove the unused arguments to the function.
cd8c44
cd8c44
No functional changes are intended but will help with a bug fix in the
cd8c44
next patch.
cd8c44
cd8c44
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
cd8c44
Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
cd8c44
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
cd8c44
---
cd8c44
 super-ddf.c | 88 ++++++++++++++++++++++++-----------------------------
cd8c44
 1 file changed, 39 insertions(+), 49 deletions(-)
cd8c44
cd8c44
diff --git a/super-ddf.c b/super-ddf.c
cd8c44
index abbc8b09..9d867f69 100644
cd8c44
--- a/super-ddf.c
cd8c44
+++ b/super-ddf.c
cd8c44
@@ -503,13 +503,6 @@ struct ddf_super {
cd8c44
 static int load_super_ddf_all(struct supertype *st, int fd,
cd8c44
 			      void **sbp, char *devname);
cd8c44
 static int get_svd_state(const struct ddf_super *, const struct vcl *);
cd8c44
-static int
cd8c44
-validate_geometry_ddf_container(struct supertype *st,
cd8c44
-				int level, int layout, int raiddisks,
cd8c44
-				int chunk, unsigned long long size,
cd8c44
-				unsigned long long data_offset,
cd8c44
-				char *dev, unsigned long long *freesize,
cd8c44
-				int verbose);
cd8c44
 
cd8c44
 static int validate_geometry_ddf_bvd(struct supertype *st,
cd8c44
 				     int level, int layout, int raiddisks,
cd8c44
@@ -3322,6 +3315,42 @@ static int reserve_space(struct supertype *st, int raiddisks,
cd8c44
 	return 1;
cd8c44
 }
cd8c44
 
cd8c44
+static int
cd8c44
+validate_geometry_ddf_container(struct supertype *st,
cd8c44
+				int level, int raiddisks,
cd8c44
+				unsigned long long data_offset,
cd8c44
+				char *dev, unsigned long long *freesize,
cd8c44
+				int verbose)
cd8c44
+{
cd8c44
+	int fd;
cd8c44
+	unsigned long long ldsize;
cd8c44
+
cd8c44
+	if (level != LEVEL_CONTAINER)
cd8c44
+		return 0;
cd8c44
+	if (!dev)
cd8c44
+		return 1;
cd8c44
+
cd8c44
+	fd = dev_open(dev, O_RDONLY|O_EXCL);
cd8c44
+	if (fd < 0) {
cd8c44
+		if (verbose)
cd8c44
+			pr_err("ddf: Cannot open %s: %s\n",
cd8c44
+			       dev, strerror(errno));
cd8c44
+		return 0;
cd8c44
+	}
cd8c44
+	if (!get_dev_size(fd, dev, &ldsize)) {
cd8c44
+		close(fd);
cd8c44
+		return 0;
cd8c44
+	}
cd8c44
+	close(fd);
cd8c44
+	if (freesize) {
cd8c44
+		*freesize = avail_size_ddf(st, ldsize >> 9, INVALID_SECTORS);
cd8c44
+		if (*freesize == 0)
cd8c44
+			return 0;
cd8c44
+	}
cd8c44
+
cd8c44
+	return 1;
cd8c44
+}
cd8c44
+
cd8c44
 static int validate_geometry_ddf(struct supertype *st,
cd8c44
 				 int level, int layout, int raiddisks,
cd8c44
 				 int *chunk, unsigned long long size,
cd8c44
@@ -3347,11 +3376,9 @@ static int validate_geometry_ddf(struct supertype *st,
cd8c44
 		level = LEVEL_CONTAINER;
cd8c44
 	if (level == LEVEL_CONTAINER) {
cd8c44
 		/* Must be a fresh device to add to a container */
cd8c44
-		return validate_geometry_ddf_container(st, level, layout,
cd8c44
-						       raiddisks, *chunk,
cd8c44
-						       size, data_offset, dev,
cd8c44
-						       freesize,
cd8c44
-						       verbose);
cd8c44
+		return validate_geometry_ddf_container(st, level, raiddisks,
cd8c44
+						       data_offset, dev,
cd8c44
+						       freesize, verbose);
cd8c44
 	}
cd8c44
 
cd8c44
 	if (!dev) {
cd8c44
@@ -3449,43 +3476,6 @@ static int validate_geometry_ddf(struct supertype *st,
cd8c44
 	return 1;
cd8c44
 }
cd8c44
 
cd8c44
-static int
cd8c44
-validate_geometry_ddf_container(struct supertype *st,
cd8c44
-				int level, int layout, int raiddisks,
cd8c44
-				int chunk, unsigned long long size,
cd8c44
-				unsigned long long data_offset,
cd8c44
-				char *dev, unsigned long long *freesize,
cd8c44
-				int verbose)
cd8c44
-{
cd8c44
-	int fd;
cd8c44
-	unsigned long long ldsize;
cd8c44
-
cd8c44
-	if (level != LEVEL_CONTAINER)
cd8c44
-		return 0;
cd8c44
-	if (!dev)
cd8c44
-		return 1;
cd8c44
-
cd8c44
-	fd = dev_open(dev, O_RDONLY|O_EXCL);
cd8c44
-	if (fd < 0) {
cd8c44
-		if (verbose)
cd8c44
-			pr_err("ddf: Cannot open %s: %s\n",
cd8c44
-			       dev, strerror(errno));
cd8c44
-		return 0;
cd8c44
-	}
cd8c44
-	if (!get_dev_size(fd, dev, &ldsize)) {
cd8c44
-		close(fd);
cd8c44
-		return 0;
cd8c44
-	}
cd8c44
-	close(fd);
cd8c44
-	if (freesize) {
cd8c44
-		*freesize = avail_size_ddf(st, ldsize >> 9, INVALID_SECTORS);
cd8c44
-		if (*freesize == 0)
cd8c44
-			return 0;
cd8c44
-	}
cd8c44
-
cd8c44
-	return 1;
cd8c44
-}
cd8c44
-
cd8c44
 static int validate_geometry_ddf_bvd(struct supertype *st,
cd8c44
 				     int level, int layout, int raiddisks,
cd8c44
 				     int *chunk, unsigned long long size,
cd8c44
-- 
2b63fb
2.38.1
cd8c44