From 14fe979a32c94ebd88a934bcfaef3cb754e3c04c Mon Sep 17 00:00:00 2001 From: Karolin Seeger Date: Fri, 2 Mar 2012 20:29:58 +0100 Subject: [PATCH] Revert "s3: Add sys_statvfs() wrapper support for OpenBSD/FreeBSD/DragonFly." This reverts commit a0d51949abde68134eb35150d797387a1fb57ab7. https://bugzilla.samba.org/show_bug.cgi?id=8777 --- Comment #9 from Volker Lendecke 2012-03-02 00:32:41 UTC --- Karolin, would it be possible that you revert a0d51949abde68134eb35150d797387a1fb57ab7 from v3-6-test? I did test this on FreeBSD, but it makes the build fail on NetBSD. This patch needs to grow a bit in master and is not ready for 3.6. [...] Volker --- source3/configure.in | 10 +--------- source3/modules/vfs_default.c | 2 +- source3/smbd/statvfs.c | 43 +++---------------------------------------- 3 files changed, 5 insertions(+), 50 deletions(-) diff --git a/source3/configure.in b/source3/configure.in index 67e08c1cb92..d8d3a1fd850 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -6754,21 +6754,13 @@ CFLAGS=$CFLAGS_SAVE # Start AC_CHECK_FUNC(getmntent) -AC_CHECK_HEADERS(sys/param.h sys/statfs.h sys/mount.h) +AC_CHECK_HEADERS(sys/statfs.h) AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid)]) AC_CACHE_VAL(vfsfileid_cv_statfs,[ AC_TRY_RUN([ #include - #ifdef HAVE_SYS_PARAM_H - #include - #endif - #ifdef HAVE_SYS_MOUNT_H - #include - #endif - #ifdef HAVE_SYS_STATFS_H #include - #endif int main(void) { struct statfs fsd; diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 8a31d23a066..27e9b9b0137 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -107,7 +107,7 @@ static uint32_t vfswrap_fs_capabilities(struct vfs_handle_struct *handle, NTSTATUS status; int ret = -1; -#if defined(DARWINOS) || (defined(BSD) && defined(MNT_RDONLY)) +#if defined(DARWINOS) struct vfs_statvfs_struct statbuf; ZERO_STRUCT(statbuf); sys_statvfs(conn->connectpath, &statbuf); diff --git a/source3/smbd/statvfs.c b/source3/smbd/statvfs.c index bcdcd91c872..2de015a2df6 100644 --- a/source3/smbd/statvfs.c +++ b/source3/smbd/statvfs.c @@ -49,7 +49,9 @@ static int linux_statvfs(const char *path, vfs_statvfs_struct *statbuf) } return result; } -#elif defined(DARWINOS) +#endif + +#if defined(DARWINOS) #include @@ -123,43 +125,6 @@ static int darwin_statvfs(const char *path, vfs_statvfs_struct *statbuf) return 0; } -#elif defined(BSD) && defined(MNT_RDONLY) -static int bsd_statvfs(const char *path, vfs_statvfs_struct *statbuf) -{ - struct statfs statfs_buf; - int result; - - result = statfs(path, &statfs_buf); - if (result != 0) { - return result; - } - - statbuf->OptimalTransferSize = statfs_buf.f_iosize; - statbuf->BlockSize = statfs_buf.f_bsize; - statbuf->TotalBlocks = statfs_buf.f_blocks; - statbuf->BlocksAvail = statfs_buf.f_bfree; - statbuf->UserBlocksAvail = statfs_buf.f_bavail; - statbuf->TotalFileNodes = statfs_buf.f_files; - statbuf->FreeFileNodes = statfs_buf.f_ffree; - statbuf->FsIdentifier = - (((uint64_t) statfs_buf.f_fsid.val[0] << 32) & 0xffffffff00000000LL) | - (uint64_t) statfs_buf.f_fsid.val[1]; - /* Try to extrapolate some of the fs flags into the - * capabilities - */ - statbuf->FsCapabilities = - FILE_CASE_SENSITIVE_SEARCH | FILE_CASE_PRESERVED_NAMES; -#ifdef MNT_ACLS - if (statfs_buf.f_flags & MNT_ACLS) - statbuf->FsCapabilities |= FILE_PERSISTENT_ACLS; -#endif - if (statfs_buf.f_flags & MNT_QUOTA) - statbuf->FsCapabilities |= FILE_VOLUME_QUOTAS; - if (statfs_buf.f_flags & MNT_RDONLY) - statbuf->FsCapabilities |= FILE_READ_ONLY_VOLUME; - - return 0; -} #endif /* @@ -174,8 +139,6 @@ int sys_statvfs(const char *path, vfs_statvfs_struct *statbuf) return linux_statvfs(path, statbuf); #elif defined(DARWINOS) return darwin_statvfs(path, statbuf); -#elif defined(BSD) && defined(MNT_RDONLY) - return bsd_statvfs(path, statbuf); #else /* BB change this to return invalid level */ #ifdef EOPNOTSUPP -- 2.11.4.GIT