diff options
author | Sergey Matveychuk <sem@FreeBSD.org> | 2006-01-09 16:45:33 +0000 |
---|---|---|
committer | Sergey Matveychuk <sem@FreeBSD.org> | 2006-01-09 16:45:33 +0000 |
commit | 982ae473195a02d9f8dbcce24e592d961c2637c1 (patch) | |
tree | 2140eb769832642efa6467ee3ce2ae0908fc4c9a /net/samba3/files/patch-smbd_statvfs.c | |
parent | Chase 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.c | 47 |
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 |