Accepting request 604055 from home:Guillaume_G:branches:openSUSE:Factory:ARM
- Update to 1.8.0 - Fix AArch64 build by updating spec and backporting patches: * add_support_fo_arm64_linux26.patch * dont_require_AFS_SYSCALL.patch * add_AFS_STRINGIZE_macro.patch * avoid_double_param_in_arm64_kernel.patch OBS-URL: https://build.opensuse.org/request/show/604055 OBS-URL: https://build.opensuse.org/package/show/filesystems/openafs?expand=0&rev=15
This commit is contained in:
parent
5b37094eaf
commit
882dc0c539
27
RELNOTES-1.8.0
Normal file
27
RELNOTES-1.8.0
Normal file
@ -0,0 +1,27 @@
|
||||
<!--NO-FRAMELESS-->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
|
||||
"http://www.w3c.org/TR/html4/frameset.dtd">
|
||||
<html><head>
|
||||
<meta name="verify-v1" content="I/X2Wfxkt50ZaXkdbfIow6iFQIZ71o0o2b6sPTOGmPE=" /><!-- shadow -->
|
||||
<META name="verify-v1" content="THAFicQcPIBMrawRwzaJg3JK8FArpvoecAy5Zx7v9DM=" /><!-- cg2v -->
|
||||
<META name="verify-v1" content="VMsthPusbXnedJuKjM0/lhH0uzVj79aQ/lPfk2FLXsA=" /><!-- jaltman -->
|
||||
<META name="verify-v1" content="fijqhqC5PvhJOATNi4e6h2uSK0v1deFiKXL+yItw/5w=" /><!-- jhutz -->
|
||||
<title>OpenAFS</title>
|
||||
<link href="/openafs.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript">
|
||||
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
||||
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
var pageTracker = _gat._getTracker("UA-5995928-1");
|
||||
pageTracker._trackPageview();
|
||||
</script>
|
||||
</head>
|
||||
<frameset cols="265,*" border=0>
|
||||
<frame src="/navbar.html" name="navbar">
|
||||
<frameset rows="170,*" border=0>
|
||||
<frame src="/top.html" scrolling=no name="top">
|
||||
<frame src="/dl/openafs/1.8.0/RELNOTES-1.8.0" name="openafs_main">
|
||||
</frameset>
|
||||
</frameset>
|
||||
</html>
|
@ -1,466 +0,0 @@
|
||||
User-Visible OpenAFS Changes
|
||||
|
||||
OpenAFS 1.8.0pre5
|
||||
|
||||
All Platforms
|
||||
|
||||
* Substantial code quality improvements, largely spotted by Coverity and
|
||||
clang's static analysis.
|
||||
- Add new library for platform independent functions (opr).
|
||||
- Remove arbitrary path name length limits.
|
||||
- Convert to Heimdal's roken library for reliability.
|
||||
- Avoid garbage in allocated buffers (calloc).
|
||||
- Modernize signal handling in pthreaded server processes (softsig).
|
||||
- Improve code comments and additional Doxygen style comments.
|
||||
- Reduce compiler warnings, dead code, unused variables, and
|
||||
undefined behavior.
|
||||
- Fix bugs found by static code analyzer (clang-analyzer).
|
||||
- Improved unit test coverage.
|
||||
- Make VLDB flag definitions consistent.
|
||||
- Improve use of run-time assertions and add static assertions.
|
||||
- Add compiler attributes to assist static analyzers.
|
||||
- Clean up include headers in the entire tree.
|
||||
- Improve command-line handling library (libcmd).
|
||||
- Replace hash functions with Jenkin's hash function for faster
|
||||
and more evenly distributed lookups.
|
||||
- Provide a red-black tree data structure to enable algorithmic speedups.
|
||||
- Convert backup and salvage servers to the common logging API (libutil).
|
||||
- Improve volume id data type consistency (VolumeId).
|
||||
- Import APIs for kerberos-style profile configuration support.
|
||||
- Add new APIs to support UserList identities.
|
||||
- Add new APIs to support tabular output from command-line utilities.
|
||||
- Convert vnode macros to inline-functions.
|
||||
|
||||
* Improved support for non-DES encryption types:
|
||||
- Convert to Heimdal's hcrypto library to support RFC 3961.
|
||||
- Add extended key file format replacing rxkad.keytab, and
|
||||
new key management APIs.
|
||||
- Add support for extended key types to asetkey.
|
||||
- Add akeyconvert to assist in upgrading to OpenAFS 1.8.x by converting an
|
||||
existing rxkad.keytab file to an extended key file.
|
||||
- Do not install the kaserver and related utilities by default to
|
||||
discourage the use of these DES-dependent components.
|
||||
- Remove obsolete klogin and klogin.krb programs.
|
||||
- Add new token APIs to support new rx security classes.
|
||||
|
||||
* Migrate from LWP to POSIX threads (pthreads):
|
||||
- Convert the ptserver and vlserver from LWP to pthreads.
|
||||
- Remove LWP version of the file server binary.
|
||||
- Convert afsd, aklog, asetkey, klog.krb5, pts, udebug, and vos, from LWP
|
||||
to pthreads.
|
||||
|
||||
* Improvements to Rx:
|
||||
- Restructure the Rx API to privatize the implementation.
|
||||
- Convert rx events to a red-black tree data structure to improve
|
||||
performance.
|
||||
- Convert from mutexes to atomic operations for counters to reduce lock
|
||||
contention.
|
||||
- Provide per-opcode Rx statistics.
|
||||
- Add an rx_opaque data type to support non-DES encryption types
|
||||
and general code cleanup.
|
||||
- Wake up the application thread after 'twind' is updated to avoid 100ms
|
||||
transmit delays when the receive window transitions from closed to
|
||||
open.
|
||||
- Fix for OPENAFS-SA-2017-001: sanity-check peer transport parmeters
|
||||
received in ack trailers
|
||||
|
||||
* Libraries (both internal and installed) are built using libtool, including
|
||||
libuafs. The resulting shared libraries for libafsrpc and libafsauthent
|
||||
should be more usable than previously.
|
||||
|
||||
* Improvements to the build system:
|
||||
- Convert to libtool to build shared libraries.
|
||||
- Clean up and improve the build system.
|
||||
- Support out of tree builds.
|
||||
- Add a makefile target to generate Doxygen source code documentation.
|
||||
- Link the Java API for OpenAFS with libuafs.a and remove the
|
||||
libjuafs.a library.
|
||||
- Always build the rxperf tool.
|
||||
- Fix man-page generation by make after ./regen.sh -q
|
||||
- Support the SOURCE_DATE_EPOCH environment variable to improve build
|
||||
reproducibility.
|
||||
- Modernize language specific SWIG typemaps for libuafs Perl bindings.
|
||||
- Refactor acinclude.m4 into a set of smaller m4 files (12876, 12877, 12878)
|
||||
|
||||
* Improvements to documentation:
|
||||
- Document the new KeyFileExt file.
|
||||
- Reorganized the README files.
|
||||
- Improvements and fixes to documentation generation.
|
||||
- Add experimental epub and mobi support
|
||||
- Remove obsolete LWP information from the file server documentation.
|
||||
- Update and reorganize the Quick Start Guide.
|
||||
- Update the Admin Guide.
|
||||
- Remove AIX, HP-UX, and IRIX information from the Quick Start Guide.
|
||||
- Document the vldb and prdb (ubik) file formats.
|
||||
- Add PtLog man page.
|
||||
- Corrections and clarifications to man pages.
|
||||
- Add ubik threading analysis doc.
|
||||
- Normalize the location of text documents in the source tree.
|
||||
|
||||
* Improvements for troublshooting, debugging, and testing:
|
||||
- Log more details on volume-server-to-fileserver communication errors
|
||||
when possible.
|
||||
- Set thread names in pthreaded servers on platforms which support
|
||||
thread names.
|
||||
- Add dynroot lock tracking to cmdebug
|
||||
- Fix tracking of an fstrace call site in the cache manager background
|
||||
process.
|
||||
- Add the afsload tool to simulate multiple cache managers for file server
|
||||
load testing.
|
||||
- Add run-time checks for refcount imbalances in the cache manager.
|
||||
- Fix missing newlines in afsd -debug output.
|
||||
|
||||
* Developer tool improvements:
|
||||
- Improvements and fixes for rxgen (used to generate Rx RPC bindings).
|
||||
- Add tool for man page verification of command options.
|
||||
- Add tool to find Unix cache manager lock identification numbers.
|
||||
- Add an option for pretty build output.
|
||||
|
||||
* RPM packaging updates:
|
||||
- Update the spec file to keep up with accumulated changes.
|
||||
- Move the klog.krb5 man page to the openafs-krb5 sub-package.
|
||||
- Remove stray man pages. (12870, 12871)
|
||||
- Prevent double-starting client on RHEL7
|
||||
- Convert rpm spec file from deprecated 'make dest' to 'make install'.
|
||||
- Fix rpmbuild command line option default handling.
|
||||
- Support older versions of rpmbuild which do not support the
|
||||
rpmbuild %exclude directive. (12873)
|
||||
- Move the legacy kaserver and related programs to separate sub-packages,
|
||||
which are only built when rpmbuild is given the '--with kauth' option
|
||||
(12600, 12872)
|
||||
|
||||
* Add a new protection error code (PRNAMETOOLONG) instead of silently
|
||||
truncating names which exceed the maximum name length (PR_MAXNAMELEN).
|
||||
|
||||
* Add an implementation limit (50000) on the number of names/ids which can
|
||||
be transmitted by unauthenticated clients to the ptserver, avoiding
|
||||
excessive resource consumption from unauthenticated requests.
|
||||
|
||||
* Add the -config option to vos, pts, and aklog to specify the path to the
|
||||
cell configuration files.
|
||||
|
||||
* Add more details in vos release -verbose output.
|
||||
|
||||
* Add the cacheout -encrypt option to encrypt communication between the
|
||||
cacheout client and the fileserver.
|
||||
|
||||
* Add the command line options to the afsio program to enable encryption of
|
||||
traffic between afsio and the fileserver (-clear, -crypt).
|
||||
|
||||
* Add the vos release -force-reclone option to force recloning the volume to
|
||||
be released without forcing a full volume dump being transmitted to all
|
||||
remote sites.
|
||||
|
||||
* Fix vos to avoid writing loopback addresses into the VLDB in
|
||||
certain cases.
|
||||
|
||||
* Print bos and pts error messages to standard error instead of
|
||||
standard out.
|
||||
|
||||
* Improve formatting of the -help output of all commands.
|
||||
|
||||
* Change -n to -dryrun in all backup subcommands.
|
||||
|
||||
* Change the backup deletedump -port command line option to -portoffset.
|
||||
|
||||
* Add user and build host in the version string returned by
|
||||
rxdebug -version.
|
||||
|
||||
* Support recent versions of gcc (7.2.1) (12897)
|
||||
|
||||
All Server Platforms
|
||||
|
||||
* Ubik servers using pthreads are now available and are used by default
|
||||
|
||||
* As part of improving Ubik reliability in certain edge cases, an extra
|
||||
election cycle (about 60 seconds) may be needed before writes are
|
||||
permitted. This is a conservative change that may be removed in
|
||||
the future.
|
||||
|
||||
* Avoid continually retransmitting the ubik database to remote sites when
|
||||
a write transaction occurs as remote sites are attempting to rejoin the
|
||||
ubik cluster. (12896)
|
||||
|
||||
* Ensure the ubik database version number is updated on remote sites at the
|
||||
point the database is transferred to remote sites instead of waiting for
|
||||
the next ubik beacon. This avoids write transaction failures during the
|
||||
window between the database transfer and the next ubik beacon (12885).
|
||||
|
||||
* Remove periodic background fsync by the fileserver (ihandle fsync thread).
|
||||
|
||||
* Fix potential file handle leak in the file server ihandle caching layer.
|
||||
|
||||
* Disable the so-called "hot threads" feature in the file server. The hot
|
||||
threads feature was intended as an optimization for dispatching incoming
|
||||
calls to the current listener thread, but has been reported to incur a
|
||||
performance penalty on modern multi-core systems.
|
||||
|
||||
* Do not permit creation of users with id of ANONYMOUSID.
|
||||
|
||||
* Do not save/restore host states in the fsstate.dat file for hosts which
|
||||
are in the process of retrieving CPS information from the ptserver when
|
||||
the fileserver is being shutdown. This fixes a bug in which the fileserver
|
||||
will incorrectly block all threads following a restart.
|
||||
|
||||
* Add the ptserver -restrict_anonymous option to inhibit exposure of user
|
||||
names from the ptserver.
|
||||
|
||||
* Do not truncate server log files by default when server processes
|
||||
are started. The -transarc-logs option provides backward compatibility
|
||||
with IBM AFS log handling on server startup. Log messages may be lost
|
||||
in back-to- back restarts when a server is running in this mode.
|
||||
|
||||
* Reopen server logs on SIGUSR1. This may be used by third-party log
|
||||
rotation tools, such as logrotate, to reopen the log file handles after
|
||||
log files have been renamed.
|
||||
|
||||
* Fix various bugs when logging with -mrafslogs enabled.
|
||||
|
||||
* Dynamically reload the kerberos realm to AFS cell mapping (krb.conf) and
|
||||
exclusions for mapping kerberos principals to AFS identities (krb.excl)
|
||||
configuration when the CellServDB cell configuration file is touched.
|
||||
Previously, a restart of the file server was required after updating the
|
||||
kerberos mapping configuration files.
|
||||
|
||||
* Add a command line option (-restricted_query) to the vlserver and
|
||||
volserver to restrict information queries about volumes to a specific
|
||||
group of users.
|
||||
|
||||
* Add a command line option to the server programs to specify an alternate
|
||||
fully qualified log file name (-logfile).
|
||||
|
||||
* Add a command line option (-config) to the server programs to specify
|
||||
an alternate path to the server configuration.
|
||||
|
||||
* Add a command line option to the ptserver and vlserver to specify an
|
||||
alternate path to the database data files.
|
||||
|
||||
* Add a command line option to the volume server to enable encryption of
|
||||
volume-server-to-volume-server-traffic (-s2scrypt).
|
||||
|
||||
* Increase the maximum number of LWP threads allowed for the ptserver and
|
||||
vlserver from 16 to 64 (-lwp).
|
||||
|
||||
* Remove an unused file server command line option (-k).
|
||||
|
||||
* Fix an incorrect assertion in Demand Attach File Server which could cause
|
||||
the file server process to abort in certain rare conditions.
|
||||
|
||||
* Deprecate the -bitmap-later configure option for non-Demand-Attach File
|
||||
Servers (DAFS).
|
||||
|
||||
* Add -vhashsize support to non-Demand-Attach File Servers (DAFS).
|
||||
|
||||
* Add support for subnet ranges in the NetInfo and NetRestrict
|
||||
configuration files.
|
||||
|
||||
* Add the GetXStats RPC to the audit log.
|
||||
|
||||
* Fix directory creation by bosserver when built for non-Transarc paths.
|
||||
|
||||
* Fix incomplete list of server addresses retreived by vos listaddr when the
|
||||
vldb contains unreferenced multi-homed server entries.
|
||||
|
||||
* Remove obsolete bos blockscanner and unblockscanner commands that
|
||||
were only needed for the removed MR-AFS functionality.
|
||||
|
||||
* Remove obsolete bos salvage options that were only used by the
|
||||
removed MR-AFS functionality..
|
||||
|
||||
* Remove calls to the deprecated sbrk() function.
|
||||
|
||||
* Add an experimental feature to database servers to support ubik reads
|
||||
while write transactions are in progress, enabled at build time with the
|
||||
--enable-ubik-read-while-write configure option. This feature is not
|
||||
considered ready for production usage at this time.
|
||||
|
||||
* Avoid filling the FileLog with "Volume x offline: not in service" when
|
||||
a volume is administratively taken offline with vos offline.
|
||||
|
||||
* Print an error message when bosserver is started with an unknown
|
||||
command line option.
|
||||
|
||||
* Modify the volume updateDate when the volume is changed by a salvage.
|
||||
|
||||
* Volume usage statistics are now preserved during reclone and restore
|
||||
operations by default, the behavior previously enabled by
|
||||
the -preserve-vol-stats flag to the volserver. The historical behavior
|
||||
can be retained via the -clear-vol-stats argument.
|
||||
|
||||
All Client Platforms
|
||||
|
||||
* Use rxkad_crypt by default for connections to fileservers. This matches
|
||||
the existing behavior of the Windows client and has been applied by
|
||||
the distribution packaging on many platforms already.
|
||||
|
||||
* Add support for relative ACL changes with fs setacl. If a single plus (+)
|
||||
or minus (-) character is appended to the rights' letters argument, the
|
||||
new rights are computed relatively to the existing ones.
|
||||
|
||||
* Remove afsd -settime and afsd -nosettime support.
|
||||
|
||||
* Add the afsd -inumcalc option to specify the method used to calculate
|
||||
inode numbers presented by AFS.
|
||||
|
||||
* Add the afsd -volume-ttl option to specify set the maximum amount of time
|
||||
information retrieved from the vlserver will be cached, regardless of
|
||||
callback expiry times.
|
||||
|
||||
* Return EIO on internal errors instead of the misleading ENOENT.
|
||||
|
||||
* Log ICMP errors received, if any, for unreachable servers.
|
||||
|
||||
* Improve performance of clients with multiple PAGs for different cells.
|
||||
|
||||
* Fix race condition between changing and using user tokens among cache
|
||||
manager threads.
|
||||
|
||||
* Fix fs sysname for users with UID 2748 and 2750 when not running
|
||||
in -rmtsys mode.
|
||||
|
||||
* Add Perl bindings for the user-space cache manager library (libuafs).
|
||||
|
||||
* Fixes to the bypasscache feature.
|
||||
|
||||
* Fix fs getcacheparms miscounts.
|
||||
|
||||
* Remove the obsolete Netscape plugin.
|
||||
|
||||
* Fix building gtx when ncurses is linked against libtinfo.
|
||||
|
||||
* Update to the GCO CellServDB update from 14 March 2017.
|
||||
|
||||
Linux
|
||||
|
||||
* Remove Linux 2.2 and 2.4 support.
|
||||
|
||||
* Changes to avoid EIO errors with multiple processes doing intensive mmap
|
||||
writing. (Drop PageReclaim AOP_WRITEPAGE_ACTIVATE.)
|
||||
|
||||
* Prevent fakestat data inconsistencies in certain cases (131855).
|
||||
|
||||
* Fix dentry leak which can cause a crash on shutdown.
|
||||
|
||||
* Fix improper use of ENOENT and avoid incorrect use of linux negative
|
||||
dentry cache.
|
||||
|
||||
* Use a more correct (less aggressive) scheme to react to downward
|
||||
pressure on cache usage, avoiding d_invalidate(), which can cause
|
||||
getcwd() failures on RHEL 7.4.
|
||||
|
||||
* Improve error reporting when encountering corrupt directories.
|
||||
|
||||
* Improve rx error handling in the Linux cache manager.
|
||||
|
||||
* Rename kpasswd to kapasswd when packaging RPMs to avoid colliding with
|
||||
Kerberos kpasswd.
|
||||
|
||||
* Do not use the obsolete --enable-largefile-fileservers configure option
|
||||
when packaging RPMs.
|
||||
|
||||
* In Red Hat packaging, use a separate rpm for kmod debuginfo,
|
||||
removing a needless tight version dependency on the userspace package.
|
||||
(12822, 12875)
|
||||
|
||||
* Use the RemainAfterExit systemd feature to avoid premature exit
|
||||
when -afsdb is not given, for RPM packages.
|
||||
|
||||
* Remove Debian packaging files from the OpenAFS source tree. Debian
|
||||
packaging files are currently maintained in the downstream Debian
|
||||
infrastructure.
|
||||
|
||||
* Add the sparc_linux26 sysname.
|
||||
|
||||
* Desupport 32-bit Linux kernels on s390/s390x.
|
||||
|
||||
* Fix Debian/Ubuntu build regression on kernel 3.16.39.
|
||||
|
||||
* Fix --enable-kernel-debug for linux 4.8+.
|
||||
|
||||
* Fix a hang encountered when accessing a previously removed
|
||||
directory entry (12811).
|
||||
|
||||
* Support linux 4.10, 4.11, 4.12, 4.13, 4.14, 4.15
|
||||
|
||||
Solaris
|
||||
|
||||
* Remove support for all Solaris and SunOS platforms prior to Solaris 8.
|
||||
|
||||
* Build 64-bit binaries for Solaris x86 by default.
|
||||
|
||||
* Use one-group PAGs on Solaris 11, which is required for PAG support
|
||||
on Solaris 11 since supplemental groups must be sorted starting with
|
||||
Solaris 11.1.
|
||||
|
||||
* Update search paths for solaris cc for recent versions Solaris Studio.
|
||||
|
||||
* Modernize declaration of module dependences by converting from the
|
||||
deprecated _depends_on symbol to ELF dependencies.
|
||||
|
||||
* Avoid BAD TRAP panic due to invalid opcodes on x86 with Studio 12.5.
|
||||
|
||||
* Add ctf debug records to Solaris kernel modules when debug builds
|
||||
are enabled and the ctf tools are present (ctfconvert/ctfmerge).
|
||||
|
||||
* Save kernel module function arguments on x86 for debugging purposes.
|
||||
|
||||
MacOS
|
||||
|
||||
* Stop processing upcalls once rx shutdown starts.
|
||||
|
||||
* Enable atomics for the darwin kernel.
|
||||
|
||||
* Add a syscall to enable/disable bulkstat at run-time, which is
|
||||
disabled by default.
|
||||
|
||||
* Fix path to binaries in the prefpane.
|
||||
|
||||
* Fix builds on MacOS 10.12 by building only the active architecture
|
||||
by default.
|
||||
|
||||
* Support versions up through 10.13 (High Sierra) and APFS
|
||||
|
||||
FreeBSD
|
||||
|
||||
* Use the native kernel module build system instead of an ad hoc
|
||||
replacement build system.
|
||||
|
||||
* Remove FreeBSD packaging files from the OpenAFS source tree. FreeBSD
|
||||
packaging files are currently maintained in the downstream FreeBSD Ports
|
||||
Collection.
|
||||
|
||||
* Stay up to date with new FreeBSD releases (through 10.3).
|
||||
|
||||
* Do not claim AFS_VM_RDWR_ENV
|
||||
|
||||
* Add sysnames and files for i386 and amd64 10.4, 11.1, and 12.0
|
||||
(12-CURRENT, at present). (12887, 12888)
|
||||
|
||||
* Remove trailing semicolons to fix the build on FreeBSD (12899)
|
||||
|
||||
NetBSD
|
||||
|
||||
* Stay up to date with new NetBSD releases (through 7.x)
|
||||
|
||||
* Update to use cprng(9) as the randomness source on NetBSD 6.99/7.x.
|
||||
|
||||
* Build system updates for NetBDS 6.99.x
|
||||
|
||||
* Do not claim AFS_VM_RDWR_ENV
|
||||
|
||||
OpenBSD
|
||||
|
||||
* Stay up to date with new OpenBSD releases (through 4.7)
|
||||
|
||||
* Do not claim AFS_VM_RDWR_ENV
|
||||
|
||||
AIX
|
||||
|
||||
* Updates for AIX support.
|
||||
|
||||
* Fix build system for AIX exports.
|
||||
|
||||
* Add the uidpag and localuid runtime options to the aklog LAM plugin.
|
||||
(These runtime options override the use of UID-based PAGs, which were
|
||||
introduced to appease the CDE screensaver.)
|
||||
|
38
add_AFS_STRINGIZE_macro.patch
Normal file
38
add_AFS_STRINGIZE_macro.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From f5794e029903db79f345f42582230a1fd0f7d823 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Mon, 5 Feb 2018 00:07:10 -0600
|
||||
Subject: [PATCH] util: Add the AFS_STRINGIZE() macro
|
||||
|
||||
Add a macro to help with easily printing the value of #define'd
|
||||
constants, called AFS_STRINGIZE(). For example:
|
||||
|
||||
printf("The value of AFS_SYSCALL is: " AFS_STRINGIZE(AFS_SYSCALL) "\n");
|
||||
|
||||
Change-Id: I19a3e9d930f1ca2085506957b4e96dff5bf1c22e
|
||||
Reviewed-on: https://gerrit.openafs.org/12893
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Ian Wienand <iwienand@redhat.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
src/util/afsutil.h | 5 +++++
|
||||
1 files changed, 5 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/src/util/afsutil.h b/src/util/afsutil.h
|
||||
index bd78946..bbebcc1 100644
|
||||
--- a/src/util/afsutil.h
|
||||
+++ b/src/util/afsutil.h
|
||||
@@ -121,6 +121,11 @@ extern int re_exec(const char *p1);
|
||||
/* b64_string_t is 8 bytes, in stds.h */
|
||||
typedef char lb64_string_t[12];
|
||||
|
||||
+/* A simple macro to help show the value of #define'd constants. e.g. If 'FOO'
|
||||
+ * is defined as 5, then AFS_STRINGIZE(FOO) expands to "5" */
|
||||
+#define AFS_STRINGIZE_(s) #s
|
||||
+#define AFS_STRINGIZE(s) AFS_STRINGIZE_(s)
|
||||
+
|
||||
#include <afs/ktime.h>
|
||||
#include "afsutil_prototypes.h"
|
||||
|
||||
--
|
||||
1.7.1
|
||||
|
162
add_support_fo_arm64_linux26.patch
Normal file
162
add_support_fo_arm64_linux26.patch
Normal file
@ -0,0 +1,162 @@
|
||||
From 4f7550dcaf9375046514cdd97cea0f667e955e9f Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Sat, 7 Mar 2015 17:27:47 -0600
|
||||
Subject: [PATCH] Add support for arm64_linux26
|
||||
|
||||
Add support for the arm64/aarch64 architecture on Linux 2.6+. The
|
||||
param header file is mostly combined from arm and amd64.
|
||||
|
||||
Note that the code for syscall interception has not been updated for
|
||||
arm64, so this will not build on arm64 without support for kernel
|
||||
keyrings. This also does not define any AFS syscall number, since no
|
||||
number in the Linux arm64 syscall table is "free" for us to use, as
|
||||
far as I am aware.
|
||||
|
||||
Adapted from initial patches from Micheal Waltz <mwaltz@qualcomm.com>.
|
||||
|
||||
Change-Id: I1ee239ded17d8fea3b91b70405215aa1b3f7a6e9
|
||||
Reviewed-on: https://gerrit.openafs.org/11940
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
---
|
||||
INSTALL | 2 +-
|
||||
src/afs/afs_syscall.c | 4 ++++
|
||||
src/afs/sysincludes.h | 1 +
|
||||
src/cf/osconf.m4 | 2 +-
|
||||
src/cf/sysname.m4 | 3 +++
|
||||
src/config/afs_sysnames.h | 2 ++
|
||||
src/config/param.arm64_linux26.h | 38 ++++++++++++++++++++++++++++++++++++++
|
||||
7 files changed, 50 insertions(+), 2 deletions(-)
|
||||
create mode 100644 src/config/param.arm64_linux26.h
|
||||
|
||||
diff --git a/INSTALL b/INSTALL
|
||||
index 3d802a72d3..920e23e615 100644
|
||||
--- a/INSTALL
|
||||
+++ b/INSTALL
|
||||
@@ -38,7 +38,7 @@ A Configuring
|
||||
amd64_fbsd_93, amd64_fbsd_100, amd64_fbsd_101
|
||||
amd64_linux26
|
||||
amd64_nbsd20, amd64_nbsd30, amd64_nbsd40
|
||||
- arm_linux26
|
||||
+ arm_linux26, arm64_linux26
|
||||
hp_ux11i, hp_ux110, hp_ux1123 (See notes below for information on
|
||||
getting missing header)
|
||||
hp_ux102 (Client port possible, but db servers and utilities work)
|
||||
diff --git a/src/afs/afs_syscall.c b/src/afs/afs_syscall.c
|
||||
index b2b644ae13..ce6afdf9a8 100644
|
||||
--- a/src/afs/afs_syscall.c
|
||||
+++ b/src/afs/afs_syscall.c
|
||||
@@ -141,6 +141,8 @@ copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst)
|
||||
if (test_thread_flag(TIF_31BIT))
|
||||
#elif defined(AFS_S390X_LINUX20_ENV)
|
||||
if (current->thread.flags & S390_FLAG_31BIT)
|
||||
+#elif defined(AFS_ARM64_LINUX26_ENV)
|
||||
+ if (is_compat_task())
|
||||
|
||||
#else
|
||||
#error pioctl32 not done for this linux
|
||||
@@ -416,6 +418,8 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst)
|
||||
if (test_thread_flag(TIF_31BIT))
|
||||
#elif defined(AFS_S390X_LINUX20_ENV)
|
||||
if (current->thread.flags & S390_FLAG_31BIT)
|
||||
+#elif defined(AFS_ARM64_LINUX26_ENV)
|
||||
+ if (is_compat_task())
|
||||
|
||||
#else
|
||||
#error iparam32 not done for this linux platform
|
||||
diff --git a/src/afs/sysincludes.h b/src/afs/sysincludes.h
|
||||
index 0e09271cdb..603773cfdd 100644
|
||||
--- a/src/afs/sysincludes.h
|
||||
+++ b/src/afs/sysincludes.h
|
||||
@@ -122,6 +122,7 @@
|
||||
# include <linux/kdev_t.h>
|
||||
# include <linux/ioctl.h>
|
||||
# if defined(AFS_LINUX26_ENV)
|
||||
+# include <linux/compat.h>
|
||||
# include <linux/backing-dev.h>
|
||||
# include <linux/pagemap.h>
|
||||
# include <linux/namei.h>
|
||||
diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4
|
||||
index 214dc49b8c..469b92feb6 100644
|
||||
--- a/src/cf/osconf.m4
|
||||
+++ b/src/cf/osconf.m4
|
||||
@@ -69,7 +69,7 @@ case $AFS_SYSNAME in
|
||||
SHLIB_LINKER="${CC} -shared"
|
||||
;;
|
||||
|
||||
- arm_linux_24 | arm_linux26)
|
||||
+ arm_linux_24 | arm_linux26 | arm64_linux26)
|
||||
CCOBJ="\$(CC) -fPIC"
|
||||
MT_CFLAGS='-pthread -D_REENTRANT'
|
||||
PAM_OPTMZ=-O2
|
||||
diff --git a/src/cf/sysname.m4 b/src/cf/sysname.m4
|
||||
index c4895a92a1..ff15902dc4 100644
|
||||
--- a/src/cf/sysname.m4
|
||||
+++ b/src/cf/sysname.m4
|
||||
@@ -241,6 +241,9 @@ else
|
||||
arm*-linux*)
|
||||
AFS_SYSNAME="arm_linuxXX"
|
||||
;;
|
||||
+ aarch64*-linux*)
|
||||
+ AFS_SYSNAME="arm64_linuxXX"
|
||||
+ ;;
|
||||
parisc-*-linux-gnu|hppa-*-linux-gnu)
|
||||
AFS_SYSNAME="parisc_linuxXX"
|
||||
enable_pam="no"
|
||||
diff --git a/src/config/afs_sysnames.h b/src/config/afs_sysnames.h
|
||||
index be27ae651e..dc9e74aab1 100644
|
||||
--- a/src/config/afs_sysnames.h
|
||||
+++ b/src/config/afs_sysnames.h
|
||||
@@ -385,6 +385,8 @@
|
||||
#define SYS_NAME_ID_amd64_obsd53 4022
|
||||
#define SYS_NAME_ID_amd64_obsd54 4023
|
||||
|
||||
+#define SYS_NAME_ID_arm64_linux2 4100
|
||||
+#define SYS_NAME_ID_arm64_linux26 4103
|
||||
|
||||
#define AFS_REALM_SZ 64
|
||||
|
||||
diff --git a/src/config/param.arm64_linux26.h b/src/config/param.arm64_linux26.h
|
||||
new file mode 100644
|
||||
index 0000000000..02e867a338
|
||||
--- /dev/null
|
||||
+++ b/src/config/param.arm64_linux26.h
|
||||
@@ -0,0 +1,38 @@
|
||||
+/*
|
||||
+ * Copyright 2000, International Business Machines Corporation and others.
|
||||
+ * All Rights Reserved.
|
||||
+ *
|
||||
+ * This software has been released under the terms of the IBM Public
|
||||
+ * License. For details, see the LICENSE file in the top-level source
|
||||
+ * directory or online at http://www.openafs.org/dl/license10.html
|
||||
+ */
|
||||
+
|
||||
+#ifndef AFS_PARAM_H
|
||||
+#define AFS_PARAM_H
|
||||
+
|
||||
+#ifndef UKERNEL
|
||||
+
|
||||
+/* This section for kernel libafs compiles only */
|
||||
+#define AFS_ARM64_LINUX26_ENV 1
|
||||
+#define AFS_LINUX_64BIT_KERNEL 1
|
||||
+#define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits */
|
||||
+#define AFS_64BITUSERPOINTER_ENV 1
|
||||
+#define AFS_MAXVCOUNT_ENV 1
|
||||
+
|
||||
+#else /* !defined(UKERNEL) */
|
||||
+
|
||||
+/* This section for user space compiles only */
|
||||
+#define UKERNEL 1 /* user space kernel */
|
||||
+
|
||||
+#endif /* !defined(UKERNEL) */
|
||||
+
|
||||
+#ifndef USE_UCONTEXT
|
||||
+#define USE_UCONTEXT
|
||||
+#endif
|
||||
+
|
||||
+/* Machine / Operating system information */
|
||||
+#define SYS_NAME "arm64_linux26"
|
||||
+#define SYS_NAME_ID SYS_NAME_ID_arm64_linux26
|
||||
+#define AFSLITTLE_ENDIAN 1
|
||||
+
|
||||
+#endif /* AFS_PARAM_H */
|
62
avoid_double_param_in_arm64_kernel.patch
Normal file
62
avoid_double_param_in_arm64_kernel.patch
Normal file
@ -0,0 +1,62 @@
|
||||
From b792dea0f1f83673b0b045adf608412901b3024c Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Sun, 8 Mar 2015 11:47:28 -0500
|
||||
Subject: [PATCH] hcrypto: Avoid 'double' param in arm64 kernel code
|
||||
|
||||
Currently, the RAND_add function in hcrypto uses a floating point
|
||||
argument (specifically, a 'double'), as well as any implementations of
|
||||
RAND_add. On Linux arm64, we cannot use floating point code in the
|
||||
kernel, since the kernel module is compiled with -mgeneral-regs-only,
|
||||
which prevents the use of floating point registers. No code in the
|
||||
tree actually makes use of this argument, but its mere presence is
|
||||
enough to cause an error with at least some versions of gcc with
|
||||
certain arguments.
|
||||
|
||||
To get around this, simply change all instances of 'double' in hcrypto
|
||||
to be a void pointer instead. This allows the code to compile as long
|
||||
as nobody actually uses that argument in the kernel. If the code is
|
||||
changed such that we do actually use that argument, the argument will
|
||||
be a void* and so will probably (hopefully) cause a compiler error,
|
||||
and the code will need to be examined to make sure this workaround
|
||||
doesn't break anything.
|
||||
|
||||
We already do this on Solaris, which has similar issues for different
|
||||
compiler versions and compiler flags. Add arm64 Linux to the cases
|
||||
where we do this, but restrict this to kernel code only, to try to
|
||||
avoid doing this more often than necessary.
|
||||
|
||||
Change-Id: Ifd10786cd9ac6c9d5152b927e180b7362131f359
|
||||
Reviewed-on: https://gerrit.openafs.org/11939
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
src/crypto/hcrypto/kernel/config.h | 15 ++++++++++++---
|
||||
1 files changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/crypto/hcrypto/kernel/config.h b/src/crypto/hcrypto/kernel/config.h
|
||||
index 81c2944..b610434 100644
|
||||
--- a/src/crypto/hcrypto/kernel/config.h
|
||||
+++ b/src/crypto/hcrypto/kernel/config.h
|
||||
@@ -98,7 +98,16 @@ static_inline int close(int d) {return -1;}
|
||||
static_inline int gettimeofday(struct timeval *tp, void *tzp)
|
||||
{if (tp == NULL) return -1; tp->tv_sec = osi_Time(); tp->tv_usec = 0; return 0;}
|
||||
|
||||
-#ifdef AFS_SUN5_ENV
|
||||
-/* workaround to allow --disable-optimize-kernel on Solaris */
|
||||
-#define double int
|
||||
+#if defined(KERNEL) && (defined(AFS_SUN5_ENV) || defined(AFS_ARM64_LINUX26_ENV))
|
||||
+/*
|
||||
+ * Some functions such as RAND_add take a 'double' as an argument, but floating
|
||||
+ * point code generally cannot be used in kernelspace. We never actually use
|
||||
+ * that argument in kernel code, but just that it exists as an argument is
|
||||
+ * enough to break the kernel code on Linux (on arm64) and Solaris (depending
|
||||
+ * on the compiler version and flags). Change all instances of double to void*
|
||||
+ * to avoid this; if someone does try to use that argument, hopefully the fact
|
||||
+ * that it is now a void* will flag an error at compile time before it causes
|
||||
+ * any further problems.
|
||||
+ */
|
||||
+# define double void*
|
||||
#endif
|
||||
--
|
||||
1.7.1
|
||||
|
223
dont_require_AFS_SYSCALL.patch
Normal file
223
dont_require_AFS_SYSCALL.patch
Normal file
@ -0,0 +1,223 @@
|
||||
From ed513bb516acdb28fc6bbf01714ef2e1df422a8a Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Deason <adeason@sinenomine.net>
|
||||
Date: Wed, 11 Mar 2015 12:55:42 -0500
|
||||
Subject: [PATCH] Do not require AFS_SYSCALL
|
||||
|
||||
Various parts of the code make use of AFS_SYSCALL in order to
|
||||
communicate with the libafs kernel module. Even though most modern
|
||||
platforms do not use an actual syscall anymore (instead using an
|
||||
ioctl-based method or similar to emulate the traditional AFS syscall),
|
||||
some code paths rely on AFS_SYSCALL as a fallback, or just use
|
||||
AFS_SYSCALL because they were never updated to use the newer methods.
|
||||
|
||||
Even platforms that do not use the traditional AFS syscall still
|
||||
define the AFS_SYSCALL number, in case someone still uses it for
|
||||
something. However, some platforms do not have an AFS syscall number;
|
||||
there is no "slot" allocated to us, so we cannot safely issue any
|
||||
syscall.
|
||||
|
||||
For those platforms, we must not reference AFS_SYSCALL at all, or we
|
||||
will fail to build. So, get rid of these references to AFS_SYSCALL if
|
||||
it is not defined. In some places, we can just avoid the relevant code
|
||||
making the syscall. In a few other places, we just pretend like the
|
||||
libafs kernel module was not loaded and yield an ENOSYS error, to make
|
||||
the code simpler.
|
||||
|
||||
Change-Id: I38e033caf7149c2b1b567f9877221ca8551db2ea
|
||||
Reviewed-on: https://gerrit.openafs.org/11937
|
||||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||||
Reviewed-by: Ian Wienand <iwienand@redhat.com>
|
||||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||||
---
|
||||
src/afsd/afsd_kernel.c | 10 ++++++++--
|
||||
src/afsd/vsys.c | 4 ++++
|
||||
src/rx/rx_user.c | 4 +++-
|
||||
src/sys/pioctl.c | 7 ++++++-
|
||||
src/sys/setpag.c | 8 +++++++-
|
||||
src/venus/fstrace.c | 18 ++++++++++++++++--
|
||||
src/viced/viced.c | 13 ++++++++++++-
|
||||
src/volser/volmain.c | 7 +++++++
|
||||
8 files changed, 63 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/afsd/afsd_kernel.c b/src/afsd/afsd_kernel.c
|
||||
index b15df7476c..093ba5cc0c 100644
|
||||
--- a/src/afsd/afsd_kernel.c
|
||||
+++ b/src/afsd/afsd_kernel.c
|
||||
@@ -274,12 +274,18 @@ afsd_call_syscall(struct afsd_syscall_args *args)
|
||||
error = os_syscall(args);
|
||||
|
||||
if (afsd_debug) {
|
||||
+ const char *syscall_str;
|
||||
+#if defined(AFS_SYSCALL)
|
||||
+ syscall_str = AFS_STRINGIZE(AFS_SYSCALL);
|
||||
+#else
|
||||
+ syscall_str = "[AFS_SYSCALL]";
|
||||
+#endif
|
||||
if (error == -1) {
|
||||
char *s = strerror(errno);
|
||||
- printf("SScall(%d, %d, %d)=%d (%d, %s)\n", AFS_SYSCALL, AFSCALL_CALL,
|
||||
+ printf("SScall(%s, %d, %d)=%d (%d, %s)\n", syscall_str, AFSCALL_CALL,
|
||||
(int)args->params[0], error, errno, s);
|
||||
} else {
|
||||
- printf("SScall(%d, %d, %d)=%d\n", AFS_SYSCALL, AFSCALL_CALL,
|
||||
+ printf("SScall(%s, %d, %d)=%d\n", syscall_str, AFSCALL_CALL,
|
||||
(int)args->params[0], error);
|
||||
}
|
||||
}
|
||||
diff --git a/src/afsd/vsys.c b/src/afsd/vsys.c
|
||||
index 44f4281626..6b5d3b9bc8 100644
|
||||
--- a/src/afsd/vsys.c
|
||||
+++ b/src/afsd/vsys.c
|
||||
@@ -57,9 +57,13 @@ main(int argc, char **argv)
|
||||
numberFlag = 1;
|
||||
}
|
||||
}
|
||||
+#ifdef AFS_SYSCALL
|
||||
code =
|
||||
syscall(AFS_SYSCALL, parms[0], parms[1], parms[2], parms[3], parms[4],
|
||||
parms[5]);
|
||||
+#else
|
||||
+ code = -1;
|
||||
+#endif
|
||||
printf("code %d\n", code);
|
||||
return 0;
|
||||
}
|
||||
diff --git a/src/rx/rx_user.c b/src/rx/rx_user.c
|
||||
index f135fac0ea..4793494041 100644
|
||||
--- a/src/rx/rx_user.c
|
||||
+++ b/src/rx/rx_user.c
|
||||
@@ -448,8 +448,10 @@ rxi_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
|
||||
|
||||
#if defined(AFS_SGI_ENV)
|
||||
rcode = afs_syscall(AFS_SYSCALL, 28, a3, a4, a5);
|
||||
-#else
|
||||
+#elif defined(AFS_SYSCALL)
|
||||
rcode = syscall(AFS_SYSCALL, 28 /* AFSCALL_CALL */ , a3, a4, a5);
|
||||
+#else
|
||||
+ rcode = -1;
|
||||
#endif /* AFS_SGI_ENV */
|
||||
|
||||
signal(SIGSYS, old);
|
||||
diff --git a/src/sys/pioctl.c b/src/sys/pioctl.c
|
||||
index 031def2282..f2f9138dee 100644
|
||||
--- a/src/sys/pioctl.c
|
||||
+++ b/src/sys/pioctl.c
|
||||
@@ -51,9 +51,14 @@ lpioctl(char *path, int cmd, void *cmarg, int follow)
|
||||
rval = proc_afs_syscall(AFSCALL_PIOCTL, (long)path, cmd, (long)cmarg,
|
||||
follow, &errcode);
|
||||
|
||||
- if(rval)
|
||||
+ if(rval) {
|
||||
+# ifdef AFS_SYSCALL
|
||||
errcode = syscall(AFS_SYSCALL, AFSCALL_PIOCTL, path, cmd, cmarg,
|
||||
follow);
|
||||
+# else
|
||||
+ errcode = -1;
|
||||
+# endif
|
||||
+ }
|
||||
|
||||
return (errcode);
|
||||
}
|
||||
diff --git a/src/sys/setpag.c b/src/sys/setpag.c
|
||||
index 3c90279ee7..48570bf78a 100644
|
||||
--- a/src/sys/setpag.c
|
||||
+++ b/src/sys/setpag.c
|
||||
@@ -55,8 +55,14 @@ lsetpag(void)
|
||||
|
||||
rval = proc_afs_syscall(AFSCALL_SETPAG,0,0,0,0,&errcode);
|
||||
|
||||
- if(rval)
|
||||
+ if(rval) {
|
||||
+# ifdef AFS_SYSCALL
|
||||
errcode = syscall(AFS_SYSCALL, AFSCALL_SETPAG);
|
||||
+# else
|
||||
+ errcode = -1;
|
||||
+# endif
|
||||
+ }
|
||||
+
|
||||
#elif defined(AFS_DARWIN80_ENV)
|
||||
int rval;
|
||||
|
||||
diff --git a/src/venus/fstrace.c b/src/venus/fstrace.c
|
||||
index 12a594972f..04e7407a1a 100644
|
||||
--- a/src/venus/fstrace.c
|
||||
+++ b/src/venus/fstrace.c
|
||||
@@ -1120,12 +1120,22 @@ afs_syscall(long call, long parm0, long parm1, long parm2, long parm3,
|
||||
/* Linux can only handle 5 arguments in the actual syscall. */
|
||||
if (call == AFSCALL_ICL) {
|
||||
rval = proc_afs_syscall(call, parm0, parm1, parm2, (long)eparm, &code);
|
||||
- if (rval)
|
||||
+ if (rval) {
|
||||
+#ifdef AFS_SYSCALL
|
||||
code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, eparm);
|
||||
+#else
|
||||
+ code = -1;
|
||||
+#endif
|
||||
+ }
|
||||
} else {
|
||||
rval = proc_afs_syscall(call, parm0, parm1, parm2, parm3, &code);
|
||||
- if (rval)
|
||||
+ if (rval) {
|
||||
+#ifdef AFS_SYSCALL
|
||||
code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3);
|
||||
+#else
|
||||
+ code = -1;
|
||||
+#endif
|
||||
+ }
|
||||
}
|
||||
#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV)
|
||||
/* on sparc this function returns none value, so do it myself */
|
||||
@@ -1137,7 +1147,11 @@ afs_syscall(long call, long parm0, long parm1, long parm2, long parm3,
|
||||
if (!code) code = rval;
|
||||
#else
|
||||
#if !defined(AFS_SGI_ENV) && !defined(AFS_AIX32_ENV)
|
||||
+# if defined(AFS_SYSCALL)
|
||||
code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3, parm4);
|
||||
+# else
|
||||
+ code = -1;
|
||||
+# endif
|
||||
#else
|
||||
#if defined(AFS_SGI_ENV)
|
||||
code = syscall(AFS_ICL, call, parm0, parm1, parm2, parm3, parm4); /* XXX */
|
||||
diff --git a/src/viced/viced.c b/src/viced/viced.c
|
||||
index a8b6e337ce..11f21e0e7e 100644
|
||||
--- a/src/viced/viced.c
|
||||
+++ b/src/viced/viced.c
|
||||
@@ -312,7 +312,18 @@ fs_IsLocalRealmMatch(void *rock, char *name, char *inst, char *cell)
|
||||
return islocal;
|
||||
}
|
||||
|
||||
-#if !defined(AFS_NT40_ENV) && !defined(AFS_DARWIN160_ENV)
|
||||
+#if defined(AFS_NT40_ENV)
|
||||
+/* no viced_syscall */
|
||||
+#elif defined(AFS_DARWIN160_ENV)
|
||||
+/* no viced_syscall */
|
||||
+#elif !defined(AFS_SYSCALL)
|
||||
+int
|
||||
+viced_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
|
||||
+{
|
||||
+ errno = ENOSYS;
|
||||
+ return -1;
|
||||
+}
|
||||
+#else
|
||||
int
|
||||
viced_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
|
||||
{
|
||||
diff --git a/src/volser/volmain.c b/src/volser/volmain.c
|
||||
index 430510f4fe..f454dd10dd 100644
|
||||
--- a/src/volser/volmain.c
|
||||
+++ b/src/volser/volmain.c
|
||||
@@ -173,6 +173,13 @@ volser_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
|
||||
}
|
||||
return err;
|
||||
}
|
||||
+#elif !defined(AFS_SYSCALL)
|
||||
+int
|
||||
+volser_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
|
||||
+{
|
||||
+ errno = ENOSYS;
|
||||
+ return -1;
|
||||
+}
|
||||
#else
|
||||
int
|
||||
volser_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
|
3
openafs-1.8.0-doc.tar.bz2
Normal file
3
openafs-1.8.0-doc.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8
|
||||
size 3801291
|
1
openafs-1.8.0-doc.tar.bz2.md5
Normal file
1
openafs-1.8.0-doc.tar.bz2.md5
Normal file
@ -0,0 +1 @@
|
||||
b66890fabf87b64c8eac6ec68d4b60c5 /home/kaduk/openafs/1.8.0/openafs-1.8.0-doc.tar.bz2
|
1
openafs-1.8.0-doc.tar.bz2.sha256
Normal file
1
openafs-1.8.0-doc.tar.bz2.sha256
Normal file
@ -0,0 +1 @@
|
||||
e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8 openafs-1.8.0-doc.tar.bz2
|
3
openafs-1.8.0-src.tar.bz2
Normal file
3
openafs-1.8.0-src.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d
|
||||
size 15113300
|
1
openafs-1.8.0-src.tar.bz2.md5
Normal file
1
openafs-1.8.0-src.tar.bz2.md5
Normal file
@ -0,0 +1 @@
|
||||
75fa969fc39f8cf652e1283670f627dc /home/kaduk/openafs/1.8.0/openafs-1.8.0-src.tar.bz2
|
1
openafs-1.8.0-src.tar.bz2.sha256
Normal file
1
openafs-1.8.0-src.tar.bz2.sha256
Normal file
@ -0,0 +1 @@
|
||||
63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d openafs-1.8.0-src.tar.bz2
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8755289dc2772c2d75c81960128fd4ad9ae297f6efd5b1cc4360e7fddcc70154
|
||||
size 3802039
|
@ -1 +0,0 @@
|
||||
b745f553867efce8788ecb41602f929a /home/kaduk/openafs/candidate/1.8.0pre5/openafs-1.8.0pre5-doc.tar.bz2
|
@ -1 +0,0 @@
|
||||
8755289dc2772c2d75c81960128fd4ad9ae297f6efd5b1cc4360e7fddcc70154 openafs-1.8.0pre5-doc.tar.bz2
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:371e44656152bb03018bd08d16ca4e07644f9414915d78a85e0e391b7f3e27b3
|
||||
size 15106627
|
@ -1 +0,0 @@
|
||||
bb23eaadefe7811277065f26dadf2c4b /home/kaduk/openafs/candidate/1.8.0pre5/openafs-1.8.0pre5-src.tar.bz2
|
@ -1 +0,0 @@
|
||||
371e44656152bb03018bd08d16ca4e07644f9414915d78a85e0e391b7f3e27b3 openafs-1.8.0pre5-src.tar.bz2
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 4 07:29:15 UTC 2018 - guillaume.gardet@opensuse.org
|
||||
|
||||
- Update to 1.8.0
|
||||
- Fix AArch64 build by updating spec and backporting patches:
|
||||
* add_support_fo_arm64_linux26.patch
|
||||
* dont_require_AFS_SYSCALL.patch
|
||||
* add_AFS_STRINGIZE_macro.patch
|
||||
* avoid_double_param_in_arm64_kernel.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 19 16:53:21 UTC 2018 - christof.hanke@mpcdf.mpg.de
|
||||
|
||||
|
25
openafs.spec
25
openafs.spec
@ -56,11 +56,11 @@
|
||||
|
||||
# used for %setup only
|
||||
# leave upstream tar-balls untouched for integrity checks.
|
||||
%define upstream_version 1.8.0pre5
|
||||
%define upstream_version 1.8.0
|
||||
|
||||
Name: openafs
|
||||
|
||||
Version: 1.8.0~pre5
|
||||
Version: 1.8.0
|
||||
Release: 0
|
||||
Summary: OpenAFS Distributed File System
|
||||
License: IPL-1.0
|
||||
@ -92,7 +92,15 @@ Source56: openafs.CellAlias
|
||||
Source57: openafs.ThisCell
|
||||
Source58: openafs.cacheinfo
|
||||
Source99: openafs.changes
|
||||
Patch3: openafs-1.8.x.ncurses6.patch
|
||||
# PATCH-FIX-UPSTREAM backport upstream patch
|
||||
Patch0: add_support_fo_arm64_linux26.patch
|
||||
# PATCH-FIX-UPSTREAM backport upstream patch
|
||||
Patch1: dont_require_AFS_SYSCALL.patch
|
||||
# PATCH-FIX-UPSTREAM backport upstream patch
|
||||
Patch2: add_AFS_STRINGIZE_macro.patch
|
||||
# PATCH-FIX-UPSTREAM backport upstream patch
|
||||
Patch3: avoid_double_param_in_arm64_kernel.patch
|
||||
Patch4: openafs-1.8.x.ncurses6.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
#
|
||||
@ -302,9 +310,13 @@ for src_file in %{S:0} %{S:1}; do
|
||||
done
|
||||
|
||||
%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%if %{run_regen}
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
./regen.sh
|
||||
%endif
|
||||
|
||||
@ -319,9 +331,12 @@ perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.ppc_linux24.in
|
||||
sysbase=ppc64
|
||||
export LDFLAGS="$LDFLAGS -m64"
|
||||
%endif
|
||||
%ifarch armv7l
|
||||
%ifarch %{arm}
|
||||
sysbase=arm
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
sysbase=arm64
|
||||
%endif
|
||||
%ifarch s390x
|
||||
sysbase=s390
|
||||
%endif
|
||||
|
Loading…
Reference in New Issue
Block a user