Author: ktdreyer
Update of /cvs/free/rpms/openafs/F-18
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv25345
Modified Files:
openafs.spec
Added Files:
openafs-1.6.1-afsd-sys-resource-h.patch
openafs-1.6.1-int31-partsize.patch
Log Message:
* Wed Aug 22 2012 Ken Dreyer <ktdreyer(a)ktdreyer.com> 0:1.6.1-4
- Upstream patch for new glibc
* Wed Aug 22 2012 Ken Dreyer <ktdreyer(a)ktdreyer.com> 0:1.6.1-3
- Upstream patch for fileserver partitions >2TB
openafs-1.6.1-afsd-sys-resource-h.patch:
afsd_kernel.c | 4 ++++
1 file changed, 4 insertions(+)
--- NEW FILE openafs-1.6.1-afsd-sys-resource-h.patch ---
commit 94a6a552ae8b45f02dd6a6a3a92907d355801eb1
Author: Marc Dionne <marc.c.dionne(a)gmail.com>
Date: Sat Jun 2 20:45:08 2012 -0400
afsd: include sys/resource.h in afsd_kernel.c
With a recent glibc update, sys/wait.h no longer includes
sys/resource.h unless __USE_SVID, __USE_XOPEN or __USE_XOPEN2K8
are set.
Don't rely on the indirect inclusion to get the bits we need;
include it directly in afsd_kernel.c. This include used to be
there but was dropped when afsd_kernel.c was split off.
Change-Id: I1bfd2e0c340e15ca44472aa89614f088e0c0ce0c
Reviewed-on:
http://gerrit.openafs.org/7522
Tested-by: BuildBot <buildbot(a)rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow(a)dementix.org>
(cherry picked from commit bc3a32a84facb8114a8c7de87025f972d0281098)
Conflicts:
src/afsd/afsd_kernel.c
diff --git a/src/afsd/afsd_kernel.c b/src/afsd/afsd_kernel.c
index 1f7fdbb..3c7c6ee 100644
--- a/src/afsd/afsd_kernel.c
+++ b/src/afsd/afsd_kernel.c
@@ -33,6 +33,10 @@
#include <sys/wait.h>
+#if defined(AFS_LINUX20_ENV)
+#include <sys/resource.h>
+#endif
+
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
openafs-1.6.1-int31-partsize.patch:
afsfileprocs.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- NEW FILE openafs-1.6.1-int31-partsize.patch ---
commit a64864529d1fca2b5a3f4d21ec598982be335368
Author: Jeffrey Altman <jaltman(a)your-file-system.com>
Date: Mon Apr 2 22:35:41 2012 -0400
viced: AFSDisk, AFSFetchVolumeStatus Int31 PartSize
The AFSDisk and AFSFetchVolumeStatus structures use signed
32-bit integers for representation partition size and
available blocks. RoundInt64ToInt31() should be used instead
of RoundInt64ToInt32() when assigning their values.
Change-Id: I3834141fce2d54ce8bdfac3dc566074583bb305e
Reviewed-on:
http://gerrit.openafs.org/7022
Reviewed-by: Derrick Brashear <shadow(a)dementix.org>
Tested-by: Derrick Brashear <shadow(a)dementix.org>
(cherry picked from commit e8f6dfac59fe042a04a9ac5eb3c37356cb3a22a3)
Reviewed-on:
http://gerrit.openafs.org/7023
Reviewed-by: Jeffrey Altman <jaltman(a)secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman(a)secure-endpoints.com>
diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c
index 17224b9..2314976 100644
--- a/src/viced/afsfileprocs.c
+++ b/src/viced/afsfileprocs.c
@@ -2045,8 +2045,8 @@ RXGetVolumeStatus(AFSFetchVolumeStatus * status, char **name, char
**offMsg,
status->MinQuota = V_minquota(volptr);
status->MaxQuota = V_maxquota(volptr);
status->BlocksInUse = V_diskused(volptr);
- status->PartBlocksAvail = RoundInt64ToInt32(volptr->partition->free);
- status->PartMaxBlocks = RoundInt64ToInt32(volptr->partition->totalUsable);
+ status->PartBlocksAvail = RoundInt64ToInt31(volptr->partition->free);
+ status->PartMaxBlocks = RoundInt64ToInt31(volptr->partition->totalUsable);
/* now allocate and copy these things; they're freed by the RXGEN stub */
temp = strlen(V_name(volptr)) + 1;
@@ -5741,8 +5741,8 @@ SetVolumeStats(struct AFSStatistics *stats)
for (part = DiskPartitionList; part && i < AFS_MSTATDISKS;
part = part->next) {
- stats->Disks[i].TotalBlocks = RoundInt64ToInt32(part->totalUsable);
- stats->Disks[i].BlocksAvailable = RoundInt64ToInt32(part->free);
+ stats->Disks[i].TotalBlocks = RoundInt64ToInt31(part->totalUsable);
+ stats->Disks[i].BlocksAvailable = RoundInt64ToInt31(part->free);
memset(stats->Disks[i].Name, 0, AFS_DISKNAMESIZE);
strncpy(stats->Disks[i].Name, part->name, AFS_DISKNAMESIZE);
i++;
Index: openafs.spec
===================================================================
RCS file: /cvs/free/rpms/openafs/F-18/openafs.spec,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- openafs.spec 1 May 2012 22:33:23 -0000 1.24
+++ openafs.spec 23 Aug 2012 18:48:27 -0000 1.25
@@ -13,7 +13,7 @@
Summary: Enterprise Network File System
Name: openafs
Version: 1.6.1
-Release: 2%{?dist}
+Release: 4%{?dist}
License: IBM
Group: System Environment/Daemons
URL:
http://www.openafs.org
@@ -29,6 +29,12 @@
BuildRequires: automake, autoconf
Patch0: openafs-1.6.0-fPIC.patch
+# Upstream patch to fix fileservers with >2TB partitions
+Patch1: openafs-1.6.1-int31-partsize.patch
+# Upstream patch to compile with newer glibc
+# (not yet on openafs-stable-1_6_x; cherry-picked from master)
+Patch2: openafs-1.6.1-afsd-sys-resource-h.patch
+
%description
The AFS distributed filesystem. AFS is a distributed filesystem
@@ -96,6 +102,12 @@
# This changes osconf.m4 to build with -fPIC on i386 and x86_64
%patch0
+# This allows fileservers to serve data from partition sizes greater than 2TB.
+%patch1 -p1
+
+# This allows us to build with newer glibc
+%patch2 -p1
+
# Convert the licese to UTF-8
mv src/LICENSE src/LICENSE~
iconv -f ISO-8859-1 -t UTF8 src/LICENSE~ > src/LICENSE
@@ -324,6 +336,12 @@
%{_datadir}/openafs/C/afszcm.cat
%changelog
+* Wed Aug 22 2012 Ken Dreyer <ktdreyer(a)ktdreyer.com> 0:1.6.1-4
+- Upstream patch for new glibc
+
+* Wed Aug 22 2012 Ken Dreyer <ktdreyer(a)ktdreyer.com> 0:1.6.1-3
+- Upstream patch for fileserver partitions >2TB
+
* Mon May 01 2012 Ken Dreyer <ktdreyer(a)ktdreyer.com> 0:1.6.1-2
- Provide openafs-static (RPM Fusion bug #2310).