summaryrefslogtreecommitdiff
path: root/net/samba3/files/patch-smbd_statvfs.c
diff options
context:
space:
mode:
authorSergey Matveychuk <sem@FreeBSD.org>2006-01-09 16:45:33 +0000
committerSergey Matveychuk <sem@FreeBSD.org>2006-01-09 16:45:33 +0000
commit982ae473195a02d9f8dbcce24e592d961c2637c1 (patch)
tree2140eb769832642efa6467ee3ce2ae0908fc4c9a /net/samba3/files/patch-smbd_statvfs.c
parentChase gnutls update. (diff)
- Update to 3.0.21a
Common bugs fixed in 3.0.21 include: o Missing groups in a user's token when logging in via kerberos o Incompatibilities with newer MS Windows hotfixes and embedded OS platforms o Portability and crash bugs. o Performance issues in winbindd. New features introduced in Samba 3.0.21 include: o Complete NTLMv2 support by consolidating authentication mechanism used at the CIFS and RPC layers. o The capability to manage Unix services using the Win32 Service Control API. o The capability to view external Unix log files via the Microsoft Event Viewer. o New libmsrpc share library for application developers. o Rewrite of CIFS oplock implementation. o Performance Counter external daemon. o Winbindd auto-detection query methods when communicating with a domain controller. o The ability to enumerate long share names in libsmbclient applications. PR: ports/91528 Submitted by: Timur I. Bakeyev (maintainer)
Notes
Notes: svn path=/head/; revision=153143
Diffstat (limited to 'net/samba3/files/patch-smbd_statvfs.c')
-rw-r--r--net/samba3/files/patch-smbd_statvfs.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/net/samba3/files/patch-smbd_statvfs.c b/net/samba3/files/patch-smbd_statvfs.c
new file mode 100644
index 000000000000..bfd733806251
--- /dev/null
+++ b/net/samba3/files/patch-smbd_statvfs.c
@@ -0,0 +1,47 @@
+--- smbd/statvfs.c.orig Wed Nov 9 19:28:55 2005
++++ smbd/statvfs.c Thu Jan 5 04:26:54 2006
+@@ -3,6 +3,7 @@
+ VFS API's statvfs abstraction
+ Copyright (C) Alexander Bokovoy 2005
+ Copyright (C) Steve French 2005
++ Copyright (C) Timur I. Bakeyev 2005
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -41,6 +42,27 @@
+ }
+ return result;
+ }
++#elif defined(FREEBSD)
++static int bsd_statvfs(const char *path, vfs_statvfs_struct *statbuf)
++{
++ struct statfs statfs_buf;
++ int result;
++
++ result = statfs(path, &statfs_buf);
++
++ if (!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 =
++ (((SMB_BIG_UINT)statfs_buf.f_fsid.val[0]<<32) & 0xffffffff00000000LL) | (SMB_BIG_UINT)statfs_buf.f_fsid.val[1];
++ }
++ return result;
++}
+ #endif
+
+ /*
+@@ -53,6 +75,8 @@
+ {
+ #if defined(LINUX)
+ return linux_statvfs(path, statbuf);
++#elif defined(FREEBSD)
++ return bsd_statvfs(path, statbuf);
+ #else
+ /* BB change this to return invalid level */
+ #ifdef EOPNOTSUPP