commit 786e1fce50c2a9b1988ec05047061decc06229d5 Author: Stephan Wiesand Date: Wed Apr 5 16:41:43 2017 +0200 Update NEWS again for 1.6.20.2 Finalize the 1.6.20.2 release notes, including a few late additions. Change-Id: I32a394e4af700d52f487e0db528ed261e4c2131b Reviewed-on: https://gerrit.openafs.org/12591 Reviewed-by: Stephan Wiesand Tested-by: Stephan Wiesand commit 2c06cc8e406f5c6d7d56121ebbaa271fc99706e8 Author: Stephan Wiesand Date: Tue Apr 11 11:58:55 2017 +0200 Linux: only include cred.h if it exists Commit c89fd17df1032ec2eacc0d0c9b73e19c5e8db7d2 introduced an explicit include of linux/cred.h since the latest kernel no longer includes it implicitly in sched.h. Alas, older kernels (like 2.6.18) don't have this file. Add a configure test for the existence of cred.h and only include it if actually present. Reviewed-on: https://gerrit.openafs.org/12593 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit 6b7b4239ab22fbb301e3b50e2ca4072445ba4e9e) Change-Id: I64970ba471180d32fa5af5445e7604bbe8511b32 Reviewed-on: https://gerrit.openafs.org/12598 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit f7c0c066f458e52658199f6ccc66dc0db3b8b3ca Author: Mark Vitale Date: Thu Mar 23 18:36:44 2017 -0700 Linux v4.11: cred.h is no longer included in sched.h With Linux commit e26512fea5bcd6602dbf02a551ed073cd4529449, cred.h is no longer included in sched.h. Several components of libafs which require cred.h were picking it by including sched.h. Instead, explicitly add an include for cred.h. cred.h begins with a customary one-shot to prevent multiple loads: #ifndef _LINUX_CRED_H #define _LINUX_CRED_H Therefore we don't need a new autoconf test or preprocessor conditional to prevent redundant includes on older Linux releases. Reviewed-on: https://gerrit.openafs.org/12574 Tested-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Joe Gorse Tested-by: Joe Gorse Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie (cherry picked from commit c89fd17df1032ec2eacc0d0c9b73e19c5e8db7d2) Change-Id: I235a6272c55a8f734be07b578bbb1a324cf34e2e Reviewed-on: https://gerrit.openafs.org/12590 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit fbabbca365d8401203dcfa095b8c71e77e091936 Author: Mark Vitale Date: Thu Mar 23 15:10:03 2017 -0700 Linux v4.11: signal stuff moved to sched/signal.h In Linux commit c3edc4010e9d102eb7b8f17d15c2ebc425fed63c, signal_struct and other signal handling declarations were moved from sched.h to sched/signal.h. This breaks existing OpenAFS autoconf tests for recalc_sigpending() and task_struct.signal->rlim, so that the OpenAFS kernel module can no longer build. Modify OpenAFS autoconfig tests to cope. Reviewed-on: https://gerrit.openafs.org/12573 Tested-by: BuildBot Reviewed-by: Joe Gorse Tested-by: Joe Gorse Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie (cherry picked from commit ad001550949b612ff6b4899fa8da50ee58f87533) Change-Id: I491208d77e45d45cc0089b8033892a6408da431c Reviewed-on: https://gerrit.openafs.org/12589 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit 3dd5078c16a48aad91e5ce4585bcc07a7d730b17 Author: Joe Gorse Date: Mon Mar 20 14:30:46 2017 +0000 Linux v4.11: getattr takes struct path With Linux commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f statx: Add a system call to make enhanced file info available The Linux getattr inode operation is altered to take two additional arguments: a u32 request_mask and an unsigned int flags that indicate the synchronisation mode. This change is propagated to the vfs_getattr*() function. - int (*getattr) (struct vfsmount *, struct dentry *, struct kstat *); + int (*getattr) (const struct path *, struct kstat *, + u32 request_mask, unsigned int sync_mode); The first argument, request_mask, indicates which fields of the statx structure are of interest to the userland call. The second argument, flags, currently may take the values defined in include/uapi/linux/fcntl.h and are optionally used for cache coherence: (1) AT_STATX_SYNC_AS_STAT tells statx() to behave as stat() does. (2) AT_STATX_FORCE_SYNC will require a network filesystem to synchronise its attributes with the server - which might require data writeback to occur to get the timestamps correct. (3) AT_STATX_DONT_SYNC will suppress synchronisation with the server in a network filesystem. The resulting values should be considered approximate. This patch provides a new autoconf test and conditional compilation to cope with the changes in our getattr implementation. Reviewed-on: https://gerrit.openafs.org/12572 Reviewed-by: Joe Gorse Tested-by: Joe Gorse Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk (cherry picked from commit de5ee1a67d1c3284d65dc69bbbf89664af70b357) Change-Id: I41ff134e1e71944f0629c9837d38cfbc495264c8 Reviewed-on: https://gerrit.openafs.org/12588 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit 3b5e0cee5b57fb1e4086439c5edcaaa499ba60da Author: Jonathon Weiss Date: Thu Nov 10 17:06:18 2016 -0500 Prevent double-starting client on RHEL7 On RHEL7 if the AFS client is stopped with 'service openafs-client stop', but that fails for some reason (most commonly because some process has a file or directory in AFS open) systemd will decide that the openafs-client is in a failed state when it is actually running. If one then runs 'service openafs-client start' systemd will start a new AFS client. At this point AFS access will continue to work until the functional AFS client is (successfully) stopped, at which point a reboot is required to recover. Have systemd check the status of 'fs sysname' before starting the AFS client, so we avoid getting into a state that requires a reboot. Reviewed-on: https://gerrit.openafs.org/12443 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk (cherry picked from commit c666bfee8848183ccbc566c9e0fa019088e56505) Change-Id: I2e7bf69ec5d1ae344d38b86fc3caace25b2da135 Reviewed-on: https://gerrit.openafs.org/12587 Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit 24a04be1ab2f06f3e50e4646555c28d89b3fd88e Author: Stephan Wiesand Date: Wed Mar 1 13:57:41 2017 +0100 Make OpenAFS 1.6.20.2 Update configure version strings for 1.6.20.2. Note that macOS kext can be of form XXXX.YY[.ZZ[(d|a|b|fc)NNN]] where d dev, a alpha, b beta, f final candidate so we have no way to represent 1.6.20.2. Switch to 1.6.21 dev 2 for macOS. Change-Id: Iccc613ea6b7d1194e7a1b20fa38c54b192c3c7b4 Reviewed-on: https://gerrit.openafs.org/12532 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit cb124203d2b0039e4b02e4a2526cbf265aff5030 Author: Stephan Wiesand Date: Wed Mar 8 14:06:52 2017 +0100 Update NEWS for 1.6.20.2 Release notes for the 1.6.20.2 release. Change-Id: Ic394e004d5db329808e731b47cea521d944d2d2b Reviewed-on: https://gerrit.openafs.org/12562 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit 33b5495e1b6b1da44cf3218811cc2efdff46b961 Author: Mark Vitale Date: Tue Feb 28 18:02:39 2017 -0500 SOLARIS: prevent BAD TRAP panic with Studio 12.5 Starting with Solaris Studio 12.3, it is documented that Solaris kernel modules (such as libafs) must not use any floating point, vector, or SIMD/SSE instructions on x86 hardware. However, each new Studio compiler release (12.4 and especially 12.5) is more likely to use these types of instructions by default. If the libafs kernel module includes any forbidden kernel instructions, Solaris will panic the system with: BAD TRAP: type=7 (#nm Device not available) Provide a new autoconfig test to specify the required compiler options (-xvector=%none -xregs=no%float) when building the OpenAFS kernel module for Solaris, so that no invalid x86 instructions are used. In addition, reinstate default kernel module optimization for Solaris. It had been disabled in commit 80592c53cbb0bce782eb39a5e64860786654be9f to address this same issue in Studio 12.3 and 12.4. However, Studio 12.5 started using some SSE instructions even with no optimization. This commit has been tested with OpenAFS master and Studio 12.5 at all optimization levels (none, -xO1 through -xO5) and verified to contain no XMM register instructions via the following command: $ gobjdump -dlr libafs64.o | grep xmm | wc -l [wiesand: limit change to solaris 5.11 for stable branch] Reviewed-on: https://gerrit.openafs.org/12558 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 22d841a45fff7026318b529a41dd957ce8bb0ddf) Change-Id: I2e87f26dbac47289694346639b396dfc556368f4 Reviewed-on: https://gerrit.openafs.org/12567 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Stephan Wiesand commit 58464339da8884bc1530e2a8e4fe4dcfeca09d81 Author: Michael Meffie Date: Wed Mar 8 11:48:14 2017 -0500 linux24: remove unused NUMPAGGROUPS define Remove the unused NUMPAGGROUPS define in the pag group handling implementation for linux24. PAGS always take two group ids in linux24, so the NUMPAGGROUPS define was not used in linux24. Remove the unused constant. This is a 1.6.x only change, since linux24 support has been removed on the master branch. Change-Id: I10d4d5744420b075a10deecf052d2ecc128ad8fe Reviewed-on: https://gerrit.openafs.org/12563 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit e99fac0e4caf6ddf6c393681a0c9744fa13c9b3e Author: Michael Meffie Date: Thu Jan 12 12:27:36 2017 -0500 SOLARIS: fix for AFS_PAG_ONEGROUP_ENV for Solaris 11 Fix a bug introduced in commit aab1e71628e6a4ce68c5e59e2f815867438280d1 in which a pointer was incorrectly checked for a NULL value. Fixes a crash when a PAG is set on Solaris. # mdb unix.1 vmcore.1 > ::status ... panic message: BAD TRAP: type=e (#pf Page fault) rp=fffffffc802ba8f0 addr=0 occurred in module "afs" due to a NULL pointer dereference > ::stack pag_to_gidset+0x145() setpag+0xcc() AddPag+0x3a() afs_setpag+0x58() Afs_syscall+0x115() The crash occurs since gidslot is NULL during the assignment: *gidslot = pagvalue; Reviewed-on: https://gerrit.openafs.org/12508 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit b146c2d54ff3bd99f2c4674eb88d5af417a194d7) Change-Id: Ia012d07a3dd063e759a4a50d38e37be710e96255 Reviewed-on: https://gerrit.openafs.org/12527 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Stephan Wiesand commit 3457b8965be5e86c820678f6adf1ca45ee440ddc Author: Andrew Deason Date: Sat Aug 8 16:49:50 2015 -0500 SOLARIS: Use AFS_PAG_ONEGROUP_ENV for Solaris 11 On Solaris 11 (specifically, Solaris 11.1+), the supplemental group list for a process is supposed to be sorted. Starting with Solaris 11.2, more authorization checks are done that assume the list is sorted (e.g., to do a binary search), so having them out of order can cause incorrect behavior. For example: $ echo foo > /tmp/testfile $ chmod 660 /tmp/testfile $ sudo chown root:daemon /tmp/testfile $ cat /tmp/testfile foo $ id -a uid=100(adeason) gid=10(staff) groups=10(staff),12(daemon),20(games),21(ftp),50(gdm),60(xvm),90(postgres) $ pagsh $ cat /tmp/testfile cat: cannot open /tmp/testfile: Permission denied $ id -a uid=100(adeason) gid=10(staff) groups=33536,32514,10(staff),12(daemon),20(games),21(ftp),50(gdm),60(xvm),90(postgres) Solaris sorts the groups given to crsetgroups() on versions which required the group ids to be sorted, but we currently manually put our PAG groups in our own order in afs_setgroups(). This is currently required, since various places in the code assume that PAG groups are the first two groups in a process's group list. To get around this, do not require the PAG gids to be the first two gids anymore. To more easily identify PAG gids in group processes, use a single gid instead of two gids to identify a PAG, like modern Linux currently uses (under the AFS_PAG_ONEGROUP_ENV). High-numbered groups have been possible for quite a long time on Solaris, allegedly further back than Solaris 8. Only do this for Solaris 11, though, to reduce the platforms we affect. [mmeffie@sinenomine.net: Define AFS_PAG_ONEGROUP_ENV in param.h.] Reviewed-on: https://gerrit.openafs.org/11979 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit aab1e71628e6a4ce68c5e59e2f815867438280d1) Change-Id: I54c1f4c1be4eed1804293aebae795b165954a3a4 Reviewed-on: https://gerrit.openafs.org/12526 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Stephan Wiesand commit 4096ee7a759956202aa892d0c2347c14decf9647 Author: Andrew Deason Date: Sat Aug 8 16:13:54 2015 -0500 afs: Make ONEGROUP_ENV not Linux-specific The functionality in AFS_LINUX26_ONEGROUP_ENV does not really need to be Linux-specific (it's just only implemented for Linux right now). Rename it to AFS_PAG_ONEGROUP_ENV, and remove some Linux-specific checks when checking for "onegroup" PAG GIDs. [mmeffie@sinenomine.net: Move AFS_PAG_ONEGROUP_ENV to param.h] Reviewed-on: https://gerrit.openafs.org/11978 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit ee08dbe37d9db4fe314bd88b9280bf73c92c37bd) Change-Id: Ifef8f833599eca4241b41035142e74f32e6efa99 Reviewed-on: https://gerrit.openafs.org/12525 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit 4097d8c44c54b5b08ce16f9d177e8a46c7bc62ea Author: Michael Meffie Date: Fri Sep 9 16:23:46 2016 -0400 afs: define NUMPAGGROUPS once Define the number of groups per PAG in one place. Prefix the define with AFS_ to avoid name conflicts in the future (unlikely as it may be). Fix the misnamed AFSPAGGGROUPS symbol in linux implementation of two groups per PAG. Reviewed-on: https://gerrit.openafs.org/12382 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit b39095c3a7e1c631bb17816b7e707bc21a6b8c71) Change-Id: I8e0531e9a7e2fc1f3d1eb8255c75ecd758dbce9a Reviewed-on: https://gerrit.openafs.org/12524 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Stephan Wiesand commit d102a911ce103c413796f36ee1d90bcb0eb479a9 Author: Michael Meffie Date: Sat Feb 25 20:33:00 2017 -0500 build: update search paths for solaris cc Move the macros to search for the solaris cc to a separate macro and update the search paths to keep up with released versions. Reviewed-on: https://gerrit.openafs.org/12528 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit 69aadea298825f1f224406064b83d1a947abf96b) Change-Id: I1dadc037727c3b73d61104d03c5051c1dc154433 Reviewed-on: https://gerrit.openafs.org/12536 Tested-by: BuildBot Reviewed-by: Michael Meffie Tested-by: Michael Meffie Reviewed-by: Stephan Wiesand commit 92b1ddf8d439dc42ff0d9dd457e22d38d8a890cc Author: Joe Gorse Date: Thu Feb 16 18:01:50 2017 -0500 LINUX: Bring debug symbols back to the Linux kernel module. Starting with 4.8 Linux kernels our existing build script generator, make_kbuild_makefile.pl, does not pass the debugging symbols CFLAGS that were present when building for previous kernels. This fix appends the $(KERN_DBG) variable which will only be defined when the configuration includes the --enable-debug-kernel option. Reviewed-on: https://gerrit.openafs.org/12519 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk (cherry picked from commit 961cee00b8f5c302de5f66beb81caa33242c7971) Change-Id: I1d16382c4a744d4624cac9a9ba2810fa664abe93 Reviewed-on: https://gerrit.openafs.org/12534 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Stephan Wiesand commit b032154f11ec81aee7a132992d0c5611cc630ec4 Author: Sergio Gelato Date: Wed Feb 22 13:55:33 2017 -0800 LINUX: Debian/Ubuntu build regression on kernel 3.16.39 Now that kernel 4.9 has hit jessie-backports, it becomes desirable to also backport the associated openafs patches. Unfortunately, Linux-4.9-inode_change_ok-becomes-setattr_prepare.patch causes a build failure against jessie's current default kernel, 3.16.39-1, due to the fact that setattr_prepare() is available (it was cherrypicked to address CVE-2015-1350) but file_dentry() is not (it was introduced in kernel 4.6). This makes it difficult to have a version of openafs for jessie that supports both kernels. To deal with this, follow the implementation of file_dentry() in 4.6, and simplify it to account for the lack of d_real() support in older kernels. Note that inode_change_ok() has been added back to 3.16.39-1 to avoid ABI changes. That means the current openafs packages in jessie continue to work with kernel 3.16.39-1 since they do not include Linux-4.9-inode_change_ok-becomes-setattr_prepare.patch. Originally reported at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855366 FIXES RT134158 Reviewed-on: https://gerrit.openafs.org/12523 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk (cherry picked from commit 6ea6c182c7fb6c22dafbbf203abcc23726e06cba) Change-Id: I06951dacef3f7639f749e82439df89ec3d78b592 Reviewed-on: https://gerrit.openafs.org/12535 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Reviewed-by: Stephan Wiesand commit 75a486d1e0d0c1d423256e2fb6d29627e881a246 Author: Marcio Barbosa Date: Thu Mar 2 18:01:48 2017 -0300 osx: build afscell only for active architecture The InstallerPlugins framework provided by the MacOSX10.12.sdk does not define symbols for architecture i386. As a result, the OpenAFS code cannot be built on OS X 10.12. To fix this problem, build the afscell xcode project only for active architecture. Reviewed-on: https://gerrit.openafs.org/12531 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit d39e7c7af77b4e1b043611e1a6e78267f5f956ef) Change-Id: I34b351b4d383c8dd91f8a7b5b9f35d9aa2854a13 Reviewed-on: https://gerrit.openafs.org/12538 Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit ffc95cbbdbcf5087545a07f7850699e5fe43213d Author: Michael Meffie Date: Mon Jan 9 23:55:32 2017 -0500 redhat: move the klog.krb5 man page to openafs-krb5 Move the klog.krb5 man page to the openafs-krb5 package, which distributes the klog.krb5 binary, instead of the general openafs package. Reviewed-on: https://gerrit.openafs.org/12509 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 872a63bbfb04addbdc17dc5c09ec018bb9ddf515) Change-Id: Ic1d8cdb788e7776820107c2207317e7cf04cd042 Reviewed-on: https://gerrit.openafs.org/12511 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Stephan Wiesand Tested-by: Stephan Wiesand commit 266adb53f4a85921fdfac0c2dc4959028134c33d Author: Michael Meffie Date: Mon Feb 27 01:40:51 2017 -0500 SOLARIS: update convert from ancient _depends_on Commit 37db7985fde9e6a5e71ae628d0b7124a27bf31c3 modernized how we declare module dependencies on Solaris 10 and newer. Instead of explicitly specifying recent Solaris version numbers, specify old versions for the old method. This should be more future proof. Thanks to Ben Kaduk for the suggestion. Reviewed-on: https://gerrit.openafs.org/12529 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 3893ed397283b0c3605def102004a645a325d476) Change-Id: Ia187a99033dd07b6b65a017fa20a7435e5d866c0 Reviewed-on: https://gerrit.openafs.org/12533 Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit dc893c32f434f08c84d08717954a66ff497c84ba Author: Michael Meffie Date: Sat Nov 5 12:42:19 2016 -0400 SOLARIS: convert from ancient _depends_on to ELF dependencies The ancient way of declaring module dependencies with _depends_on has been deprecated since SunOS 2.6 (circa 1996). The presence of the old _depends_on symbol triggers a warning message on the console starting with Solaris 12, and the kernel runtime loader (krtld) feature of using the _depends_on symbol to load dependencies may be removed in a future version of Solaris. Convert the kernel module from the ancient _depends_on method to modern ELF dependencies. Remove the old _depends_on symbol and specify the -dy and -N linker options to set the ELF dependencies at link time, as recommended in the Solaris device driver developer guidelines [1]. This commit does not change the declared dependencies, which may be vestiges of ancient afs versions. [1]: http://docs.oracle.com/cd/E19455-01/805-7378/6j6un037u/index.html#loading-16 Reviewed-on: https://gerrit.openafs.org/12453 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 37db7985fde9e6a5e71ae628d0b7124a27bf31c3) Change-Id: I1a4ad8bface1ecf774e906b846c2e8263631d77a Reviewed-on: https://gerrit.openafs.org/12514 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Reviewed-by: Stephan Wiesand commit a534c4ac5e2a2872b8579237cb16ae11d778b9f2 Author: Michael Meffie Date: Wed Jan 21 14:58:35 2015 -0500 bozo: do not exit when the client config already exists The bosserver creates symlinks for the client CSDB and ThisCell config files during initialization. Avoid exiting if the client CSDB or ThisCell configuration already exists, otherwise the bosserver cannot be restarted with bos restart. This fixes an error introduced with commit 720363fa9bf7cfbebdc485104b74ca6bac1895f6, Fix unchecked return values. Reviewed-on: http://gerrit.openafs.org/11684 Tested-by: BuildBot Reviewed-by: Perry Ruiter Reviewed-by: Benjamin Kaduk (cherry picked from commit 381c7afbe60a0e6d53e8cc1bca2de920574b3383) Change-Id: I6b93e337fd56294107f527af20d99f97689c1701 Reviewed-on: https://gerrit.openafs.org/12522 Tested-by: BuildBot Tested-by: Stephan Wiesand Reviewed-by: Stephan Wiesand commit 9bf43d5ce036fd0e3f0fa61a6e3cbae1c925cc28 Author: Jeffrey Hutzelman Date: Sun Jun 16 15:28:03 2013 -0400 Fix unchecked return values This change fixes numerous places where the return values of various system calls and standard library routines are not checked. In particular, this fixes occurrances called out when building on Ubuntu 12.10, with gcc 4.7.2 and eglibc 2.15-0ubuntu20.1, when the possible failure is one we actually do (or should) care about. This change does not consider calls where the failure is one we deliberately choose to ignore. Reviewed-on: http://gerrit.openafs.org/9979 Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit 720363fa9bf7cfbebdc485104b74ca6bac1895f6) Change-Id: I9e72a68a66d751139f7129b9b177ba18389c10a2 Reviewed-on: https://gerrit.openafs.org/12521 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit 34321f7528fccbf0e8b58cbd7ca22755723933c9 Author: Mark Vitale Date: Wed Dec 7 11:11:45 2016 -0500 Linux 4.10: have_submounts is gone Linux commit f74e7b33c37e vfs: remove unused have_submounts() function (v4.10-rc2) removes have_submounts from the tree after providing a replacement (path_has_submounts) for its last in-tree caller, autofs. However, it turns out that OpenAFS is better off not using the new path_has_submounts. Instead, OpenAFS could/should have stopped using have_submounts() much earlier, back in Linux v3.18 when d_invalidate became void. At that time, most in-tree callers of have_submounts had already been converted to use check_submounts_and_drop back in v3.12. At v3.18, a series of commits modified check_submounts_and_drop to automatically remove child submounts (instead of returning -EBUSY if a submount was detected), then subsumed it into d_invalidate. The end result was that VFS now implicitly handles much of the housekeeping previously called explicitly by the various filesystem d_revalidate routines: - shrink_dcache_parent - check_submounts_and_drop - d_drop - d_invalidate All in-tree filesystem d_revalidate routines were updated to take advantage of this new VFS support. Modify afs_linux_dentry_revalidate to no longer perform any special handling for invalid dentries when D_INVALIDATE_IS_VOID. Instead, allow our VFS caller to properly clean up any invalid dentry when we return 0. Reviewed-on: https://gerrit.openafs.org/12506 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 789319bf0f2b26ad67995f8cbe88cee87a1bbdc0) Change-Id: I7ed22338e7896f69a204be78ed0a4f6136a3dab8 Reviewed-on: https://gerrit.openafs.org/12530 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit 98d909d95df113f8a27307086c6a505b211f144e Author: Neale Ferguson Date: Thu Dec 8 11:47:09 2016 -0500 s390: desupport 32-bit Linux kernels on s390/s390x Remove the obsolete and custom lwp assembler for the s390 and s390x architectures. That assembler is no longer needed since 32-bit mainframe Linux distributions are no longer supported and are very unlikely to be in use. The generic process.default.s is sufficient for modern 64-bit Linux distributions on s390/s390x. [mmeffie@sinenomine.net: commit message wording] Reviewed-on: https://gerrit.openafs.org/12475 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit 1d8cb56999a4ab25ae4cbc8e8a688b8100aedd3b) Change-Id: Iee572ef3a86f5502e37ddc0775da13b874add669 Reviewed-on: https://gerrit.openafs.org/12499 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand commit 7f82efd499e0542e1b887f51d1d2f4796e65fdfc Author: Marcio Barbosa Date: Wed Jan 11 06:05:04 2017 -0800 osx: let prefpane knows where binaries can be found Starting from OS X 10.11, the OpenAFS binaries were moved to the following directories: /opt/openafs/bin and /opt/openafs/sbin. However, the OpenAFS prefpane is not aware of the change mentioned above. As a result, some functionalities provided by the OpenAFS prefpane are not working properly. To fix this problem, add the new paths to the proper environment variable. Change-Id: Idaa2f0329af2092cf9ad1d63f1a01300b150227a Reviewed-on: https://gerrit.openafs.org/12507 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit a92a3a0675d941536103b60d708a6b3305b9b8fa) Reviewed-on: https://gerrit.openafs.org/12512 Reviewed-by: Marcio Brito Barbosa Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand