Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F148620009
D45518.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D45518.diff
View Options
diff --git a/lib/geom/virstor/geom_virstor.c b/lib/geom/virstor/geom_virstor.c
--- a/lib/geom/virstor/geom_virstor.c
+++ b/lib/geom/virstor/geom_virstor.c
@@ -195,27 +195,6 @@
return;
}
- if (md.md_chunk_size % MAXPHYS != 0) {
- /* XXX: This is not strictly needed, but it's convenient to
- * impose some limitations on it, so why not MAXPHYS. */
- size_t new_size = rounddown(md.md_chunk_size, MAXPHYS);
- if (new_size < md.md_chunk_size)
- new_size += MAXPHYS;
- fprintf(stderr, "Resizing chunk size to be a multiple of "
- "MAXPHYS (%d kB).\n", MAXPHYS / 1024);
- fprintf(stderr, "New chunk size: %zu kB\n", new_size / 1024);
- md.md_chunk_size = new_size;
- }
-
- if (md.md_virsize % md.md_chunk_size != 0) {
- off_t chunk_count = md.md_virsize / md.md_chunk_size;
- md.md_virsize = chunk_count * md.md_chunk_size;
- fprintf(stderr, "Resizing virtual size to be a multiple of "
- "chunk size.\n");
- fprintf(stderr, "New virtual size: %zu MB\n",
- (size_t)(md.md_virsize/(1024 * 1024)));
- }
-
msize = secsize = 0;
for (i = 1; i < (unsigned)nargs; i++) {
snprintf(param, sizeof(param), "arg%u", i);
@@ -240,11 +219,20 @@
}
if (md.md_chunk_size % secsize != 0) {
- fprintf(stderr, "Error: chunk size is not a multiple of sector "
- "size.");
- gctl_error(req, "Chunk size (in bytes) must be multiple of %u.",
- (unsigned int)secsize);
- return;
+ size_t new_size = roundup(md.md_chunk_size, secsize);
+ fprintf(stderr, "Resizing chunk size to be a multiple of "
+ "sector size (%zu bytes).\n", secsize);
+ fprintf(stderr, "New chunk size: %zu kB\n", new_size / 1024);
+ md.md_chunk_size = new_size;
+ }
+
+ if (md.md_virsize % md.md_chunk_size != 0) {
+ off_t chunk_count = md.md_virsize / md.md_chunk_size;
+ md.md_virsize = chunk_count * md.md_chunk_size;
+ fprintf(stderr, "Resizing virtual size to be a multiple of "
+ "chunk size.\n");
+ fprintf(stderr, "New virtual size: %zu MB\n",
+ (size_t)(md.md_virsize / (1024 * 1024)));
}
total_chunks = md.md_virsize / md.md_chunk_size;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Mar 20, 4:43 AM (13 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29999092
Default Alt Text
D45518.diff (2 KB)
Attached To
Mode
D45518: virstor: remove relation between chunk size and MAXPHYS
Attached
Detach File
Event Timeline
Log In to Comment