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
|
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
|
# used for %setup only
|
||||||
# leave upstream tar-balls untouched for integrity checks.
|
# leave upstream tar-balls untouched for integrity checks.
|
||||||
%define upstream_version 1.8.0pre5
|
%define upstream_version 1.8.0
|
||||||
|
|
||||||
Name: openafs
|
Name: openafs
|
||||||
|
|
||||||
Version: 1.8.0~pre5
|
Version: 1.8.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: OpenAFS Distributed File System
|
Summary: OpenAFS Distributed File System
|
||||||
License: IPL-1.0
|
License: IPL-1.0
|
||||||
@ -92,7 +92,15 @@ Source56: openafs.CellAlias
|
|||||||
Source57: openafs.ThisCell
|
Source57: openafs.ThisCell
|
||||||
Source58: openafs.cacheinfo
|
Source58: openafs.cacheinfo
|
||||||
Source99: openafs.changes
|
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
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -302,9 +310,13 @@ for src_file in %{S:0} %{S:1}; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1
|
%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
%if %{run_regen}
|
%if %{run_regen}
|
||||||
%patch3 -p1
|
%patch4 -p1
|
||||||
./regen.sh
|
./regen.sh
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -319,9 +331,12 @@ perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.ppc_linux24.in
|
|||||||
sysbase=ppc64
|
sysbase=ppc64
|
||||||
export LDFLAGS="$LDFLAGS -m64"
|
export LDFLAGS="$LDFLAGS -m64"
|
||||||
%endif
|
%endif
|
||||||
%ifarch armv7l
|
%ifarch %{arm}
|
||||||
sysbase=arm
|
sysbase=arm
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch aarch64
|
||||||
|
sysbase=arm64
|
||||||
|
%endif
|
||||||
%ifarch s390x
|
%ifarch s390x
|
||||||
sysbase=s390
|
sysbase=s390
|
||||||
%endif
|
%endif
|
||||||
|
Loading…
Reference in New Issue
Block a user