Thread (10 messages) 10 messages, 4 authors, 2017-08-23

Re: [PATCH 1/3] libxfs: handle 0 blocksize or sectorsize in cvtnum

From: Darrick J. Wong <hidden>
Date: 2017-08-23 20:24:07

On Wed, Aug 23, 2017 at 03:18:45PM -0500, Eric Sandeen wrote:

On 8/23/17 3:14 PM, Darrick J. Wong wrote:
quoted
On Tue, Aug 22, 2017 at 09:13:03PM -0500, Eric Sandeen wrote:
quoted
On 8/22/17 8:01 PM, Dave Chinner wrote:
quoted
On Tue, Aug 22, 2017 at 04:12:48PM -0500, Eric Sandeen wrote:
quoted
Blocksize and sectorsize are unique in that they must
be provided, unlike every other suffix which can be
calculated from constants.

Nothing protects against unspecified block & sector size,
so catch it if it happens and return a parsing error.

Signed-off-by: Eric Sandeen <redacted>
---
diff --git a/libxcmd/input.c b/libxcmd/input.c
index 7a69dc1..7b86225 100644
--- a/libxcmd/input.c
+++ b/libxcmd/input.c
@@ -330,8 +330,12 @@ cvtnum(
 	c = tolower(*sp);
 	switch (c) {
 	case 'b':
+		if (!blocksize)
+			return -1LL;
 		return i * blocksize;
 	case 's':
+		if (!sectorsize)
+			return -1LL;
 		return i * sectorsize;
 	case 'k':
 		return KILOBYTES(i);
With this you could have mkfs call the generic function, too.
Yep, or at least closer; mkfs does a printf and usage()/exit()
and it indicates a user error (most likely)

in libxcmd/xfs_io it's more of a programming error, with no 
printf to the user at least today... so would need a little more
finessing.
This series looks mostly fine to me, but I'm wondering if io_cvtnum
should be promoted so that mkfs/spaceman/quota/etc can take advantage of
it too?
I thought about that, but it relies on the global var "file" that io uses,
which seems a bit unique to io, no?
Spaceman has it too.

I guess quota does its own weird thing...

--D
-Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help