public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mkfs: get size of device properly
@ 2010-01-15 22:57 Eric Sandeen
  2010-01-17 11:40 ` Christoph Hellwig
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Sandeen @ 2010-01-15 22:57 UTC (permalink / raw)
  To: xfs-oss

Ok, one more.

I've been having too many problems w/ xfstests today to have run
the last patch through xfstests but should have at least run
032.  :(

Anyway, last change wasn't valid to test the size of a device
node; total brain fart.  After this I'm testing the hell out
of the next patch I send, I promise!

--------

Test device node size properly in check_overwrite, st_size
is only valid for regular files.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
---

diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
index 0743976..689425d 100644
--- a/mkfs/xfs_mkfs.c
+++ b/mkfs/xfs_mkfs.c
@@ -297,18 +297,23 @@ check_overwrite(
 	const char	*type;
 	blkid_probe	pr = NULL;
 	int		ret;
-	struct stat	statbuf;
+	int		fd;
+	long long	size;
+	int		bsz;
 
 	if (!device || !*device)
 		return 0;
 
 	ret = -1; /* will reset on success of all setup calls */
 
-	if (stat(device, &statbuf) < 0)
+	fd = open(device, O_RDONLY);
+	if (fd < 0)
 		goto out;
+	platform_findsizes(device, fd, &size, &bsz);
+	close(fd);
 
 	/* nothing to overwrite on a 0-length device */
-	if (statbuf.st_size == 0) {
+	if (size == 0) {
 		ret = 0;
 		goto out;
 	}

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] mkfs: get size of device properly
  2010-01-15 22:57 [PATCH] mkfs: get size of device properly Eric Sandeen
@ 2010-01-17 11:40 ` Christoph Hellwig
  2010-01-17 15:49   ` Eric Sandeen
  0 siblings, 1 reply; 3+ messages in thread
From: Christoph Hellwig @ 2010-01-17 11:40 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: xfs-oss

On Fri, Jan 15, 2010 at 04:57:52PM -0600, Eric Sandeen wrote:
> Ok, one more.
> 
> I've been having too many problems w/ xfstests today to have run
> the last patch through xfstests but should have at least run
> 032.  :(
> 
> Anyway, last change wasn't valid to test the size of a device
> node; total brain fart.  After this I'm testing the hell out
> of the next patch I send, I promise!
> 
> --------
> 
> Test device node size properly in check_overwrite, st_size
> is only valid for regular files.

The patch looks correct to me, but it also means we now open the device
twice in check_overwrite.  We might aswell use it just once and keep the
fd for the blkid probe.  Anyway, probably better to put this one in
ASAP, so:

Reviewed-by: Christoph Hellwig <hch@lst.de>

Any chance you could create a xfstests regression test for this?

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] mkfs: get size of device properly
  2010-01-17 11:40 ` Christoph Hellwig
@ 2010-01-17 15:49   ` Eric Sandeen
  0 siblings, 0 replies; 3+ messages in thread
From: Eric Sandeen @ 2010-01-17 15:49 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: xfs-oss

On Jan 17, 2010, at 5:40 AM, Christoph Hellwig <hch@infradead.org>  
wrote:

>
> Reviewed-by: Christoph Hellwig <hch
> Any chance you could create a xfstests regression test for this?
>
Sure - it sorta catches itby failing elsewhere, but not obviously....

-Eric

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-01-17 15:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-15 22:57 [PATCH] mkfs: get size of device properly Eric Sandeen
2010-01-17 11:40 ` Christoph Hellwig
2010-01-17 15:49   ` Eric Sandeen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox