* [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).