linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mke2fs: use ext2fs_open_file() in check_plausibility()
@ 2014-05-21 17:35 Eric Sandeen
  2014-05-21 17:47 ` [PATCH V2] " Eric Sandeen
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Sandeen @ 2014-05-21 17:35 UTC (permalink / raw)
  To: ext4 development

The commit:

802146c mke2fs: create a regular file if necessary

caused a regression on 32-bit machines; the open() fails if
the file size is > 4G.

Using ext2fs_open_file() fixes it.

Resolves: Red Hat Bugzilla #1099892

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

TBH I don't know if this should be using ext2fs_open_file(),
or some other magic like O_LARGEFILE, but this works for me,
and we use the stat/fstat wrapper here too, so ...

diff --git a/misc/util.c b/misc/util.c
index f85942e..d638625 100644
--- a/misc/util.c
+++ b/misc/util.c
@@ -94,7 +94,7 @@ int check_plausibility(const char *device, int flags, int *ret_is_dev)
 	if (flags & CREATE_FILE)
 		fl |= O_CREAT;
 
-	fd = open(device, fl, 0666);
+	fd = ext2fs_open_file(device, fl, 0666);
 	if (fd < 0) {
 		fprintf(stderr, _("Could not open %s: %s\n"),
 			device, error_message(errno));



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

* [PATCH V2] mke2fs: use ext2fs_open_file() in check_plausibility()
  2014-05-21 17:35 [PATCH] mke2fs: use ext2fs_open_file() in check_plausibility() Eric Sandeen
@ 2014-05-21 17:47 ` Eric Sandeen
  2014-05-21 18:00   ` Darrick J. Wong
  2014-05-22 17:56   ` Theodore Ts'o
  0 siblings, 2 replies; 4+ messages in thread
From: Eric Sandeen @ 2014-05-21 17:47 UTC (permalink / raw)
  To: ext4 development

The commit:

802146c mke2fs: create a regular file if necessary

caused a regression on 32-bit machines; the open() fails if
the file size is > 4G.

Using ext2fs_open_file() fixes it.

Resolves: Red Hat Bugzilla #1099892

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

V2: against master!  Sorry, first patch was against the
bisection point.

TBH I don't know if this should be using ext2fs_open_file(),
or some other magic like O_LARGEFILE, but this works for me,
and we use the stat/fstat wrapper here too, so ...



diff --git a/misc/util.c b/misc/util.c
index 1c0818f..7e91509 100644
--- a/misc/util.c
+++ b/misc/util.c
@@ -194,10 +194,10 @@ int check_plausibility(const char *device, int flags, int *ret_is_dev)
 	char *fs_type = NULL;
 	char *fs_label = NULL;
 
-	fd = open(device, fl, 0666);
+	fd = ext2fs_open_file(device, fl, 0666);
 	if ((fd < 0) && (errno == ENOENT) && (flags & CREATE_FILE)) {
 		fl |= O_CREAT;
-		fd = open(device, fl, 0666);
+		fd = ext2fs_open_file(device, fl, 0666);
 		if (fd >= 0 && (flags & VERBOSE_CREATE))
 			printf(_("Creating regular file %s\n"), device);
 	}



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

* Re: [PATCH V2] mke2fs: use ext2fs_open_file() in check_plausibility()
  2014-05-21 17:47 ` [PATCH V2] " Eric Sandeen
@ 2014-05-21 18:00   ` Darrick J. Wong
  2014-05-22 17:56   ` Theodore Ts'o
  1 sibling, 0 replies; 4+ messages in thread
From: Darrick J. Wong @ 2014-05-21 18:00 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: linux-ext4

On Wed, May 21, 2014 at 12:47:44PM -0500, Eric Sandeen wrote:
> The commit:
> 
> 802146c mke2fs: create a regular file if necessary
> 
> caused a regression on 32-bit machines; the open() fails if
> the file size is > 4G.
> 
> Using ext2fs_open_file() fixes it.
> 
> Resolves: Red Hat Bugzilla #1099892
> 
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
> ---
> 
> V2: against master!  Sorry, first patch was against the
> bisection point.
> 
> TBH I don't know if this should be using ext2fs_open_file(),
> or some other magic like O_LARGEFILE, but this works for me,
> and we use the stat/fstat wrapper here too, so ...

/me suspects do_write_internal() in create_inode.c should use this too.

As for the patch itself, looks good, so
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D
> 
> 
> 
> diff --git a/misc/util.c b/misc/util.c
> index 1c0818f..7e91509 100644
> --- a/misc/util.c
> +++ b/misc/util.c
> @@ -194,10 +194,10 @@ int check_plausibility(const char *device, int flags, int *ret_is_dev)
>  	char *fs_type = NULL;
>  	char *fs_label = NULL;
>  
> -	fd = open(device, fl, 0666);
> +	fd = ext2fs_open_file(device, fl, 0666);
>  	if ((fd < 0) && (errno == ENOENT) && (flags & CREATE_FILE)) {
>  		fl |= O_CREAT;
> -		fd = open(device, fl, 0666);
> +		fd = ext2fs_open_file(device, fl, 0666);
>  		if (fd >= 0 && (flags & VERBOSE_CREATE))
>  			printf(_("Creating regular file %s\n"), device);
>  	}
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH V2] mke2fs: use ext2fs_open_file() in check_plausibility()
  2014-05-21 17:47 ` [PATCH V2] " Eric Sandeen
  2014-05-21 18:00   ` Darrick J. Wong
@ 2014-05-22 17:56   ` Theodore Ts'o
  1 sibling, 0 replies; 4+ messages in thread
From: Theodore Ts'o @ 2014-05-22 17:56 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: ext4 development

On Wed, May 21, 2014 at 12:47:44PM -0500, Eric Sandeen wrote:
> The commit:
> 
> 802146c mke2fs: create a regular file if necessary
> 
> caused a regression on 32-bit machines; the open() fails if
> the file size is > 4G.
> 
> Using ext2fs_open_file() fixes it.
> 
> Resolves: Red Hat Bugzilla #1099892
> 
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>

Applied, thanks.

					- Ted

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

end of thread, other threads:[~2014-05-22 17:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-21 17:35 [PATCH] mke2fs: use ext2fs_open_file() in check_plausibility() Eric Sandeen
2014-05-21 17:47 ` [PATCH V2] " Eric Sandeen
2014-05-21 18:00   ` Darrick J. Wong
2014-05-22 17:56   ` Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).