Author: ktdreyer
Update of /cvs/free/rpms/openafs/F-17
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv7400
Modified Files:
openafs.spec
Added Files:
openafs-1.6.1-int31-partsize.patch
Log Message:
* 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-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-17/openafs.spec,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- openafs.spec 1 May 2012 22:34:34 -0000 1.23
+++ openafs.spec 22 Aug 2012 20:28:51 -0000 1.24
@@ -13,7 +13,7 @@
Summary: Enterprise Network File System
Name: openafs
Version: 1.6.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: IBM
Group: System Environment/Daemons
URL:
http://www.openafs.org
@@ -29,6 +29,8 @@
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
%description
The AFS distributed filesystem. AFS is a distributed filesystem
@@ -96,6 +98,9 @@
# 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
+
# Convert the licese to UTF-8
mv src/LICENSE src/LICENSE~
iconv -f ISO-8859-1 -t UTF8 src/LICENSE~ > src/LICENSE
@@ -324,6 +329,9 @@
%{_datadir}/openafs/C/afszcm.cat
%changelog
+* 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).