lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <alpine.LFD.2.00.1405061523400.2255@localhost.localdomain> Date: Tue, 6 May 2014 15:23:51 +0200 (CEST) From: Lukáš Czerner <lczerner@...hat.com> To: "Theodore Ts'o" <tytso@....edu> cc: Ext4 Developers List <linux-ext4@...r.kernel.org> Subject: Re: [PATCH -v2 1/3] mke2fs: print a message when creating a regular file On Mon, 5 May 2014, Theodore Ts'o wrote: > Date: Mon, 5 May 2014 21:02:11 -0400 > From: Theodore Ts'o <tytso@....edu> > To: Ext4 Developers List <linux-ext4@...r.kernel.org> > Cc: Theodore Ts'o <tytso@....edu> > Subject: [PATCH -v2 1/3] mke2fs: print a message when creating a regular file > > We've added the ability to automatically recreate a file if it doesn't > exist prior to creating the file system, since this is often used (for > example) when managing file system images for use in virtual machines. > We should at least notify the user that this is going on to avoid > surprises in the case of misspelled device/file names. Looks good, thanks! Reviewed-by: Lukas Czerner <lczerner@...hat.com> > > Signed-off-by: "Theodore Ts'o" <tytso@....edu> > --- > misc/mke2fs.c | 6 ++++-- > misc/util.c | 11 +++++++---- > misc/util.h | 1 + > 3 files changed, 12 insertions(+), 6 deletions(-) > > diff --git a/misc/mke2fs.c b/misc/mke2fs.c > index 2c51999..51532ef 100644 > --- a/misc/mke2fs.c > +++ b/misc/mke2fs.c > @@ -103,6 +103,7 @@ static int quotatype = -1; /* Initialize both user and group quotas by default > static __u64 offset; > static blk64_t journal_location = ~0LL; > static int proceed_delay = -1; > +static blk64_t dev_size; > > static struct ext2_super_block fs_param; > static char *fs_uuid = NULL; > @@ -1402,7 +1403,6 @@ static void PRS(int argc, char *argv[]) > char * extended_opts = 0; > char * fs_type = 0; > char * usage_types = 0; > - blk64_t dev_size; > /* > * NOTE: A few words about fs_blocks_count and blocksize: > * > @@ -1768,6 +1768,8 @@ profile_error: > flags = CREATE_FILE; > if (isatty(0) && isatty(1)) > flags |= CHECK_FS_EXIST; > + if (!quiet) > + flags |= VERBOSE_CREATE; > if (!check_plausibility(device_name, flags, &is_device) && !force) > proceed_question(proceed_delay); > > @@ -2573,7 +2575,7 @@ int main (int argc, char *argv[]) > journal_blocks = figure_journal_size(journal_size, fs); > > /* Can't undo discard ... */ > - if (!noaction && discard && (io_ptr != undo_io_manager)) { > + if (!noaction && discard && dev_size && (io_ptr != undo_io_manager)) { > retval = mke2fs_discard_device(fs); > if (!retval && io_channel_discard_zeroes_data(fs->io)) { > if (verbose) > diff --git a/misc/util.c b/misc/util.c > index be16ebe..15b4ce5 100644 > --- a/misc/util.c > +++ b/misc/util.c > @@ -106,7 +106,7 @@ void proceed_question(int delay) > } > > /* > - * return 1 if the device looks plausible > + * return 1 if the device looks plausible, creating the file if necessary > */ > int check_plausibility(const char *device, int flags, int *ret_is_dev) > { > @@ -117,10 +117,13 @@ int check_plausibility(const char *device, int flags, int *ret_is_dev) > char *fs_type = NULL; > char *fs_label = NULL; > > - if (flags & CREATE_FILE) > - fl |= O_CREAT; > - > fd = open(device, fl, 0666); > + if ((fd < 0) && (errno == ENOENT) && (flags & CREATE_FILE)) { > + fl |= O_CREAT; > + fd = open(device, fl, 0666); > + if (fd >= 0 && (flags & VERBOSE_CREATE)) > + printf(_("Creating regular file %s\n"), device); > + } > if (fd < 0) { > fprintf(stderr, _("Could not open %s: %s\n"), > device, error_message(errno)); > diff --git a/misc/util.h b/misc/util.h > index 745568e..476164b 100644 > --- a/misc/util.h > +++ b/misc/util.h > @@ -21,6 +21,7 @@ extern char *journal_location_string; > #define CHECK_BLOCK_DEV 0x0001 > #define CREATE_FILE 0x0002 > #define CHECK_FS_EXIST 0x0004 > +#define VERBOSE_CREATE 0x0008 > > #ifndef HAVE_STRCASECMP > extern int strcasecmp (char *s1, char *s2); > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists