* [PATCH] misc: fix compile warnings on OSX
@ 2011-06-10 6:59 Andreas Dilger
2011-06-11 15:50 ` Ted Ts'o
0 siblings, 1 reply; 2+ messages in thread
From: Andreas Dilger @ 2011-06-10 6:59 UTC (permalink / raw)
To: tytso, linux-ext4; +Cc: Andreas Dilger
The BLKFLSBUF and FDFLUSH ioctls are Linux specific, and do not
really have anything to do with __GNUC__ (which is also used on
OS/X and Solaris). Only print these warnings on Linux systems.
statfs64() is deprecated on OSX and generates a deliberate warning.
Fix some other warnings that show up on OSX builds.
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
---
lib/e2p/fgetflags.c | 8 ++++----
lib/e2p/fsetflags.c | 15 ++++++++-------
lib/e2p/getflags.c | 5 +++--
lib/e2p/setflags.c | 5 +++--
lib/ext2fs/flushb.c | 12 ++++--------
lib/ext2fs/getsize.c | 2 +-
6 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c
index d66f8e1..ca3ea16 100644
--- a/lib/e2p/fgetflags.c
+++ b/lib/e2p/fgetflags.c
@@ -63,7 +63,7 @@ int fgetflags (const char * name, unsigned long * flags)
#endif
return 0;
-#else
+#else /* !HAVE_STAT_FLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */
#if HAVE_EXT2_IOCTLS
int fd, r, f, save_errno = 0;
@@ -83,15 +83,15 @@ int fgetflags (const char * name, unsigned long * flags)
if (save_errno)
errno = save_errno;
return r;
-#else
+#else /* APPLE_DARWIN */
f = -1;
save_errno = syscall(SYS_fsctl, name, EXT2_IOC_GETFLAGS, &f, 0);
*flags = f;
return (save_errno);
-#endif
+#endif /* !APPLE_DARWIN */
+notsupp:
#endif /* HAVE_EXT2_IOCTLS */
#endif
-notsupp:
errno = EOPNOTSUPP;
return -1;
}
diff --git a/lib/e2p/fsetflags.c b/lib/e2p/fsetflags.c
index 30437a2..08dd114 100644
--- a/lib/e2p/fsetflags.c
+++ b/lib/e2p/fsetflags.c
@@ -51,7 +51,6 @@
int fsetflags (const char * name, unsigned long flags)
{
- struct stat buf;
#if HAVE_CHFLAGS && !(APPLE_DARWIN && HAVE_EXT2_IOCTLS)
unsigned long bsd_flags = 0;
@@ -69,9 +68,10 @@ int fsetflags (const char * name, unsigned long flags)
#endif
return chflags (name, bsd_flags);
-#else
+#else /* !HAVE_CHFLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */
#if HAVE_EXT2_IOCTLS
int fd, r, f, save_errno = 0;
+ struct stat buf;
if (!lstat(name, &buf) &&
!S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
@@ -88,14 +88,15 @@ int fsetflags (const char * name, unsigned long flags)
close (fd);
if (save_errno)
errno = save_errno;
-#else
- f = (int) flags;
- return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0);
-#endif
+#else /* APPLE_DARWIN */
+ f = (int) flags;
+ return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0);
+#endif /* !APPLE_DARWIN */
return r;
+
+notsupp:
#endif /* HAVE_EXT2_IOCTLS */
#endif
-notsupp:
errno = EOPNOTSUPP;
return -1;
}
diff --git a/lib/e2p/getflags.c b/lib/e2p/getflags.c
index a738fed..e871684 100644
--- a/lib/e2p/getflags.c
+++ b/lib/e2p/getflags.c
@@ -57,12 +57,13 @@ int getflags (int fd, unsigned long * flags)
if (!fstat(fd, &buf) &&
!S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode))
goto notsupp;
- r = ioctl (fd, EXT2_IOC_GETFLAGS, &f);
+ r = ioctl(fd, EXT2_IOC_GETFLAGS, &f);
*flags = f;
+
return r;
+notsupp:
#endif /* HAVE_EXT2_IOCTLS */
#endif
-notsupp:
errno = EOPNOTSUPP;
return -1;
}
diff --git a/lib/e2p/setflags.c b/lib/e2p/setflags.c
index cc00b20..72cf441 100644
--- a/lib/e2p/setflags.c
+++ b/lib/e2p/setflags.c
@@ -38,7 +38,6 @@
int setflags (int fd, unsigned long flags)
{
- struct stat buf;
#if HAVE_CHFLAGS
unsigned long bsd_flags = 0;
@@ -58,6 +57,7 @@ int setflags (int fd, unsigned long flags)
return fchflags (fd, bsd_flags);
#else
#if HAVE_EXT2_IOCTLS
+ struct stat buf;
int f;
if (!fstat(fd, &buf) &&
@@ -66,7 +66,8 @@ int setflags (int fd, unsigned long flags)
return -1;
}
f = (int) flags;
- return ioctl (fd, EXT2_IOC_SETFLAGS, &f);
+
+ return ioctl(fd, EXT2_IOC_SETFLAGS, &f);
#endif /* HAVE_EXT2_IOCTLS */
#endif
errno = EOPNOTSUPP;
diff --git a/lib/ext2fs/flushb.c b/lib/ext2fs/flushb.c
index 394bb07..ee0093a 100644
--- a/lib/ext2fs/flushb.c
+++ b/lib/ext2fs/flushb.c
@@ -65,17 +65,13 @@ errcode_t ext2fs_sync_device(int fd, int flushb)
#ifdef BLKFLSBUF
if (ioctl (fd, BLKFLSBUF, 0) == 0)
return 0;
-#else
-#ifdef __GNUC__
- #warning BLKFLSBUF not defined
-#endif /* __GNUC__ */
+#elif defined(__linux__)
+#warning BLKFLSBUF not defined
#endif
#ifdef FDFLUSH
ioctl (fd, FDFLUSH, 0); /* In case this is a floppy */
-#else
-#ifdef __GNUC__
- #warning FDFLUSH not defined
-#endif /* __GNUC__ */
+#elif defined(__linux__)
+#warning FDFLUSH not defined
#endif
}
return 0;
diff --git a/lib/ext2fs/getsize.c b/lib/ext2fs/getsize.c
index 5ef0081..0c91b5b 100644
--- a/lib/ext2fs/getsize.c
+++ b/lib/ext2fs/getsize.c
@@ -235,7 +235,7 @@ errcode_t ext2fs_get_device_size2(const char *file, int blocksize,
#endif /* HAVE_SYS_DISKLABEL_H */
{
-#ifdef HAVE_FSTAT64
+#if defined(HAVE_FSTAT64) && !defined(__OSX__)
struct stat64 st;
if (fstat64(fd, &st) == 0)
#else
--
1.7.3.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] misc: fix compile warnings on OSX
2011-06-10 6:59 [PATCH] misc: fix compile warnings on OSX Andreas Dilger
@ 2011-06-11 15:50 ` Ted Ts'o
0 siblings, 0 replies; 2+ messages in thread
From: Ted Ts'o @ 2011-06-11 15:50 UTC (permalink / raw)
To: Andreas Dilger; +Cc: linux-ext4
On Fri, Jun 10, 2011 at 12:59:24AM -0600, Andreas Dilger wrote:
> The BLKFLSBUF and FDFLUSH ioctls are Linux specific, and do not
> really have anything to do with __GNUC__ (which is also used on
> OS/X and Solaris). Only print these warnings on Linux systems.
>
> statfs64() is deprecated on OSX and generates a deliberate warning.
> Fix some other warnings that show up on OSX builds.
>
> Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Applied to the next tree, thanks.
- Ted
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-06-11 15:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-10 6:59 [PATCH] misc: fix compile warnings on OSX Andreas Dilger
2011-06-11 15:50 ` Ted 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).