Whamcloud - gitweb
mke2fs: fix up topo complaints on regular files
authorEric Sandeen <sandeen@redhat.com>
Sun, 24 Jan 2010 03:50:45 +0000 (21:50 -0600)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 6 Feb 2010 03:50:21 +0000 (22:50 -0500)
mkfsing a plain file would lead to a warning about being unable
to determine geometry; we should just skip the topology-getting
if we see that we have a regular file.

This was breaking "make check" but I had missed it since I
inadvertently stopped running the checks during the Fedora
RPM build.

Also, add a newline to the warning.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
misc/mke2fs.c

index 80b9c0b..b386f65 100644 (file)
@@ -47,6 +47,7 @@ extern int optind;
 #endif
 #include <sys/ioctl.h>
 #include <sys/types.h>
+#include <sys/stat.h>
 #include <libgen.h>
 #include <limits.h>
 #include <blkid/blkid.h>
@@ -1091,6 +1092,11 @@ static int ext2fs_get_device_geometry(const char *file,
        blkid_topology tp;
        unsigned long min_io;
        unsigned long opt_io;
+       struct stat statbuf;
+
+       /* Nothing to do for a regular file */
+       if (!stat(file, &statbuf) && S_ISREG(statbuf.st_mode))
+               return 0;
 
        pr = blkid_new_probe_from_filename(file);
        if (!pr)
@@ -1681,7 +1687,7 @@ got_size:
        retval = ext2fs_get_device_geometry(device_name, &fs_param);
        if (retval < 0) {
                fprintf(stderr,
-                       _("warning: Unable to get device geometry for %s"),
+                       _("warning: Unable to get device geometry for %s\n"),
                        device_name);
        } else if (retval) {
                printf(_("%s alignment is offset by %lu bytes.\n"),