From d4bcbf7d6020408aaa1c6a3424feaa1b090b0b2480a682bb28084abfa0c65029 Mon Sep 17 00:00:00 2001 From: Christof Hanke Date: Sat, 18 Aug 2018 08:24:54 +0000 Subject: [PATCH] Accepting request 630053 from home:hauky:branches:filesystems - Fix 32Bit build by adding commit 554176bd236d772d670df9bdd2496facd5a4209a as use_timespec64_for_kernel_4.18.patch - Update to 1.8.1 OBS-URL: https://build.opensuse.org/request/show/630053 OBS-URL: https://build.opensuse.org/package/show/filesystems/openafs?expand=0&rev=21 --- ChangeLog | 96439 +-------------------- RELNOTES-1.8.0 | 27 - RELNOTES-1.8.1 | 69 + add_AFS_STRINGIZE_macro.patch | 38 - add_support_fo_arm64_linux26.patch | 162 - avoid_double_param_in_arm64_kernel.patch | 62 - dont_require_AFS_SYSCALL.patch | 223 - openafs-1.8.0-doc.tar.bz2 | 3 - openafs-1.8.0-doc.tar.bz2.md5 | 1 - openafs-1.8.0-doc.tar.bz2.sha256 | 1 - openafs-1.8.0-src.tar.bz2 | 3 - openafs-1.8.0-src.tar.bz2.md5 | 1 - openafs-1.8.0-src.tar.bz2.sha256 | 1 - openafs-1.8.1-doc.tar.bz2 | 3 + openafs-1.8.1-doc.tar.bz2.md5 | 1 + openafs-1.8.1-doc.tar.bz2.sha256 | 1 + openafs-1.8.1-src.tar.bz2 | 3 + openafs-1.8.1-src.tar.bz2.md5 | 1 + openafs-1.8.1-src.tar.bz2.sha256 | 1 + openafs.changes | 12 + openafs.spec | 19 +- use_timespec64_for_kernel_4.18.patch | 57 + 22 files changed, 2447 insertions(+), 94681 deletions(-) delete mode 100644 RELNOTES-1.8.0 create mode 100644 RELNOTES-1.8.1 delete mode 100644 add_AFS_STRINGIZE_macro.patch delete mode 100644 add_support_fo_arm64_linux26.patch delete mode 100644 avoid_double_param_in_arm64_kernel.patch delete mode 100644 dont_require_AFS_SYSCALL.patch delete mode 100644 openafs-1.8.0-doc.tar.bz2 delete mode 100644 openafs-1.8.0-doc.tar.bz2.md5 delete mode 100644 openafs-1.8.0-doc.tar.bz2.sha256 delete mode 100644 openafs-1.8.0-src.tar.bz2 delete mode 100644 openafs-1.8.0-src.tar.bz2.md5 delete mode 100644 openafs-1.8.0-src.tar.bz2.sha256 create mode 100644 openafs-1.8.1-doc.tar.bz2 create mode 100644 openafs-1.8.1-doc.tar.bz2.md5 create mode 100644 openafs-1.8.1-doc.tar.bz2.sha256 create mode 100644 openafs-1.8.1-src.tar.bz2 create mode 100644 openafs-1.8.1-src.tar.bz2.md5 create mode 100644 openafs-1.8.1-src.tar.bz2.sha256 create mode 100644 use_timespec64_for_kernel_4.18.patch diff --git a/ChangeLog b/ChangeLog index a29c435..61343d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,94569 +1,2718 @@ -commit a08327fe2e74269d26eef1cddd7c9f9b7efa96e2 +commit eb107ed5c6dd3a53b8a0593054cdf5a03e1421d7 Author: Benjamin Kaduk -Date: Fri Mar 9 18:32:29 2018 -0600 +Date: Sat Jul 28 10:16:37 2018 -0500 - Update NEWS for 1.8.0 final release + Make OpenAFS 1.8.1 - Change-Id: I70d73b832cd69395c712b42a391cd4d6d3ea4c8f - Reviewed-on: https://gerrit.openafs.org/12953 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit acb0e84df0cdff1ee1b4098b2705e5a30dd7eb38 -Author: Benjamin Kaduk -Date: Thu Mar 1 20:28:23 2018 -0600 - - afs_pioctl: avoid -Wpointer-sign + Update version strings for the 1.8.1 release. + (Note that the version number for Windows for the 1.8.1 prereleases was + erroneously 1.8.99xx, when it should have been 1.8.00xx to reflect + "next after 1.8.0-final".) - Change the declaration of 'addr' to be a signed int, to match - RXAFS_CallBackRxConnAddr() and the afsd_pd_GetInt() used with it. - This was detected by clang 4.0 in FreeBSD 11.1, via -Wpointer-sign. - - Reviewed-on: https://gerrit.openafs.org/12934 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 79f33b859aeb3c91f2cce7597fdc138978c4e1d9) - - Change-Id: Iee85059bebfc8d6fbda3409b720576bd4f6c5f8f - Reviewed-on: https://gerrit.openafs.org/12938 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit b73863b8d2669830a17c097abf1d846d0108a2f4 -Author: Mark Vitale -Date: Thu Mar 1 23:16:56 2018 -0500 - - LINUX: fix RedHat 7.5 ENOTDIR issues - - Red Hat Linux 7.5 beta introduces a new file->f_mode flag - FMODE_KABI_ITERATE as a means for certain in-tree filesystems to - indicate that they have implemented file operation iterate() instead of - readdir(). The kernel routine iterate_dir() tests this flag to decide - whether to invoke the file operation iterate() or readdir(). - - The OpenAFS configure script detects that the file operation iterate() - is available under RH7.5 and so implements iterate() as - afs_linux_readdir(). However, since OpenAFS does not set - FMODE_KABI_ITERATE on any of its files, the kernel's iterate_dir() will - not invoke iterate() for any OpenAFS files. OpenAFS has also not - implemented readdir(), so iterate_dir() must return -ENOTDIR. - - Instead, modify OpenAFS to fall back to readdir() in this case. - - Reviewed-on: https://gerrit.openafs.org/12935 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit c818f86b79a636532d396887d4f22cc196c86288) - - Change-Id: I71386b17f0c751b69c86ef0f5766a5baf3dc36bd - Reviewed-on: https://gerrit.openafs.org/12950 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 55fbc8ee055958b309011eeb62d7166ff0415905 -Author: Andrew Deason -Date: Thu Feb 15 16:41:33 2018 -0600 - - rxdebug: NUL-terminate version before printing - - Currently, 'rxdebug -version' never initializes the buffer we read the - version string into. Usually this is not noticeable, since all OpenAFS - binaries tend to pad the Rx version response packet with NULs, so we - get back several NULs to terminate the string. However, this is not - guaranteed, and if we do not get back a NUL-terminated string, we can - easily read beyond the end of the buffer. - - To avoid this, initialize the 'version' buffer with NULs before we do - anything, and set the last byte to NUL, in case we exactly filled the - buffer. - - Reviewed-on: https://gerrit.openafs.org/12908 - Reviewed-by: Benjamin Kaduk - Tested-by: Andrew Deason - (cherry picked from commit a66629eac4dda4eea37b4f06e0850641cb2a7387) - - Change-Id: I850ce16840ee264dce506e8b3c887004bca11e20 - Reviewed-on: https://gerrit.openafs.org/12912 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3d58c397c6935afd64e3a41017baf627106a3003 -Author: Andrew Deason -Date: Thu Feb 15 16:53:57 2018 -0600 - - doc: Edits to the 'afsd -volume-ttl' manpage - - Make a few misc changes to the text for the new -volume-ttl option: - - - Minor grammatical/typo fixes - - - Emphasize a little more that the default behavior allows for vldb - info to be cached _forever_ - - - Provide some info on the effects of changing this value - - - Provide a suggested "typical" value, to give some clue as to what - should be set here, so a curious user doesn't just set this to the - first value they see (10 minutes) - - Reviewed-on: https://gerrit.openafs.org/12909 - Reviewed-by: Benjamin Kaduk - Tested-by: Andrew Deason - (cherry picked from commit e6c2624249a6ab96053c1d1134aec8e3f6bcee9e) - - Change-Id: I781ec2e8b4873093f65d11b5883f8b74ad397cff - Reviewed-on: https://gerrit.openafs.org/12913 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 2a196ba47247742fb294e5a879cb9e54c956028a -Author: Michael Meffie -Date: Tue Feb 20 20:31:11 2018 -0500 - - redhat: package libuafs perl bindings - - Require the swig package as a build dependency. Build and package the - libuafs perl bindings. Place these libraries in the openafs-devel - package, along with the man page (moved from the openfs-client package). - - This fixes an rpm build error when the swig package is present on the - build system, - - RPM build errors: - Installed (but unpackaged) file(s) found: - /usr/lib64/perl/AFS/ukernel.pm - /usr/lib64/perl/ukernel.so - - FIXES 134470 - - Reviewed-on: https://gerrit.openafs.org/12919 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 278581c24a802834719e0d57f27978321556c9bb) - - Change-Id: I892e1f58e92f1eb66eeae8fb0d237bed0bdb2a62 - Reviewed-on: https://gerrit.openafs.org/12921 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 774df869fc1753e94f79c6a0b617b7adb9e4060c -Author: Jeffrey Altman -Date: Sat Feb 10 10:47:24 2018 -0500 - - rx: Do not count RXGEN_OPCODE towards abort threshold - - An RXGEN_OPCODE is returned for opcodes that are not implemented by the - rx service. These opcodes might be deprecated opcodes that are no - longer supported or more recently registered opcodes that have yet to - be implemented. Clients should not be punished for issuing unsupported - calls. The clients might be old and are issuing no longer supported - calls or they might be newer and are issuing yet to be implemented calls - as part of a feature test and fallback strategy. - - This change ignores RXGEN_OPCODE errors when deciding how to adjust the - rx_call.abortCount. When an RXGEN_OPCODE abort is sent the - rx_call.abortCount and rx_call.abortError are left unchanged which - preserves the state for the next failing call. - - Note that this change intentionlly prevents the incrementing of the - abortCount for client connections as they never send delay aborts. - - Reviewed-on: https://gerrit.openafs.org/12906 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit f82d1c7d5aeae148305e867c1f79c6ea2f9e0a2a) - - Change-Id: I7a4216bea3a355c31a390c5b4753b4ab0c25661c - Reviewed-on: https://gerrit.openafs.org/12914 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit cabecc719195047ea321bd62e95d52503d15686e -Author: Benjamin Kaduk -Date: Tue Dec 26 17:42:39 2017 -0600 - - Make OpenAFS 1.8.0pre5 - - Update version strings for the fifth 1.8.0 prerelease. - - Change-Id: I118da0fc55013ccfb2b5cd586cefb1b0c27f10d9 - Reviewed-on: https://gerrit.openafs.org/12910 + Change-Id: I2ce32aeae50d80b88cbc3f73f6787e3a15747085 + Reviewed-on: https://gerrit.openafs.org/13266 Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 5f0714312b211c4a6d6157df6f1f3d9e26dcc03f -Author: Michael Meffie -Date: Fri Feb 9 17:59:19 2018 -0500 +commit 8de97842003b7ee0e48c2e853a7d595813aac1e7 +Author: Benjamin Kaduk +Date: Sat Jul 28 10:13:13 2018 -0500 - Update NEWS for 1.8.0pre5 + Update NEWS for 1.8.1 - Change-Id: I09e509694c5f7ad59e279b89bd9e144aca2ec4e7 - Reviewed-on: https://gerrit.openafs.org/12904 - Reviewed-by: Michael Meffie - Reviewed-by: Stephan Wiesand + Change-Id: I341cf2a5e02874629ceee2c9e46d4f764e3494fa + Reviewed-on: https://gerrit.openafs.org/13265 Tested-by: BuildBot + Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk -commit 50fcd6763d4387950390b732d2a131c230d44c99 +commit 607eba34dbc049bfad22a2ccc64e105b112739a4 Author: Marcio Barbosa -Date: Wed Jun 21 16:24:05 2017 -0400 +Date: Thu Jul 26 10:30:35 2018 -0700 - ubik: check if epoch is sane before db relabel + redhat: actually remove unused AFS::ukernel man page - The sync-site relabels its database at the end of the first write - transaction. The new label will be equal to the time at which the - sync-site in question first received its coordinator mandate. This time - is stored by a global called ubik_epochTime. In order to make sure that - the new database label is sane, only relabel the database if - ubik_epochTime is within a specific range. + Commit 278581c24a802834719e0d57f27978321556c9bb (redhat: package libuafs + perl bindings) added swig as a build dependency on RHEL 6+/Fedora 15+ to + build and package AFS::ukernel perl bindings for libuafs. The man page + for AFS::ukernel is generated from the pod files unconditionally, so + needs to be removed from the staging directories when AFS::ukernel is + not packaged. - Reviewed-on: https://gerrit.openafs.org/12640 - Reviewed-by: Mark Vitale - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit f5c289d00aaf7c5525b477da5b89f6675456c211) + Unfortunately, the full path to the staged AFS::ukernel manpage was + not given in that commit, so the rpmbuild will fail on RHEL 5 with + the error: - Change-Id: I78ebd2b8aeae01ef5e3b826ad6f1de5a5c1db79e - Reviewed-on: https://gerrit.openafs.org/12886 + RPM build errors: + Installed (but unpackaged) file(s) found: + /usr/share/man/man3/AFS::ukernel.3.gz + + Fix this error by specifying the full path to the AFS::ukernel man page + to actually remove it when we are not packaging AFS::ukernel files. + + [mmeffie: updated commit message] + + Reviewed-on: https://gerrit.openafs.org/13257 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot - Reviewed-by: Mark Vitale + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit a85aab9dfe7c2ee9e025bc15d849de2dd0a48913) + + Change-Id: If81f930bd7e922cd5e71c0d459751d4bbe85c843 + Reviewed-on: https://gerrit.openafs.org/13264 + Reviewed-by: Michael Meffie + Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 2b3df9b2f48dcbf3690e093000879b0f06c7e176 -Author: Benjamin Kaduk -Date: Sat Dec 9 11:37:59 2017 -0600 +commit 6dd052cbab09c95e97c910421cfaf68713e906c5 +Author: Andrew Deason +Date: Thu Apr 26 12:27:12 2018 -0500 - Replace with + afs: Stop looking for dcaches on Get*DSlot errors - Our in-tree xdr.h appears to have started life as a concatenation of - rpc/types.h and rpc/xdr.h, and should include all the needed functionality. - Indeed, commit 7293ddf325b149cae60d3abe7199d08f196bd2b9 even indicates - that we expect to be using our in-tree XDR everywhere anyway, so the - system XDR is superfluous. + In various places in the code, we'll be looking for a dslot, calling + afs_GetValidDSlot (or afs_GetUnusedDSlot) in a loop. In a few places, + we currently keep looking for the dslot when we get an error back, + since afs_GetValidDSlot may return successfully for other slots, and + we might find the dslot we're looking for. - Note that afs/sysincludes.h (not afsincludes.h!) already includes - rx/xdr.h ifndef AFS_LINUX22_ENV. + This behavior was introduced in a few commits, including: - This change should help systems running glibc 2.26 or newer, which has - stopped providing the Sun RPC headers by default. + - commit 2679af76 (afs: Traverse discard/free dslot list if errors) + - commit 00fd34a6 (afs: Handle easy GetValidDSlot errors) + - commit 9a558660 (afs: Cope with afs_GetValidDSlot errors) - While here remove some duplicate includes of rpc/types.h in the - AIX-specific sources. + This behavior means that if afs_GetValidDSlot/afs_GetUnusedDSlot + returns an error for a particular dcache slot, but other slots are + okay, then we may still find the dcache we're looking for. - The Solaris NFS translator bits cannot really be changed, since the system - headers are used and have tight interdependencies. + However, by far the most common reason that + afs_GetValidDSlot/afs_GetUnusedDSlot fails is because our disk cache + is completely unusable; it is very rare that only a few slots cannot + be used, but others are fine (this would mean that the disk cache was + corrupted in oddly specific ways, or there are small isolated errors + in the underlying disk). So continuing the dcache search in these + situations is not very useful. - Update rxgen to not emit rpc/types.h inclusion. + On Linux, this is most commonly seen by the underlying disk cache i/o + calls returning -EINTR, which can happen if a SIGKILL signal is + pending for the current process when we try to do the i/o. In this + situation, all attempts to read in a dslot from disk will fail; trying + other slots or waiting will not improve the situation. Depending on + which specific code path encounters an afs_Get*DSlot error, we can + then flood the log with "disk cache read error in CacheItems" messages + emitted from afs_UFSGetDSlot, since we keep calling afs_Get*DSlot in + our loop. - [mmeffie: squash 12801 to not emit rpc/types.h from rxgen] + The worst offender of this is usually afs_GetDSlotFromList via + afs_AllocDCache, since we end up calling afs_GetUnusedDSlot for every + single dslot in the free and discard lists. However, our other call + sites that are looking for dcaches for a specific file can still + generate quite a few of these messages, since we'll end up calling + afs_GetValidDSlot for every slot in a dcache hash chain. - Reviewed-on: https://gerrit.openafs.org/12800 + So to avoid flooding the log in these situations, change most callers + of afs_GetValidDSlot and afs_GetUnusedDSlot to stop on the first + error, and act like we never found a dcache that we were looking for. + + This commit also adjusts one caller in afs_ProcessOpCreate, which was + not handling errors from afs_GetValidDSlot at all, and changes + FlushVolumeData to be able to return error codes. + + Reviewed-on: https://gerrit.openafs.org/13034 + Reviewed-by: Benjamin Kaduk Tested-by: BuildBot + (cherry picked from commit 12f4fd2901fee8bf27c2cec97efd3d242c6ff025) + + Change-Id: I2a9865e510be39d1b5bcb9280419630036c00bef + Reviewed-on: https://gerrit.openafs.org/13191 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Joe Gorse + Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - (cherry picked from commit e443a9fb67dbc29e6cc36661a4ac6e91af113f23) + +commit 4b42b490fc1c2223a465981a59914b37773ad84a +Author: Andrew Deason +Date: Fri Jun 29 15:25:48 2018 -0500 + + afs: Make afs_osi_Free(NULL) a no-op - Change-Id: I351e5c1e1223c49ca76e3d68c264ac1625abae60 - Reviewed-on: https://gerrit.openafs.org/12894 + In userspace, we assume that free(NULL) does nothing, which makes + certain cleanup code paths simpler. This may or may not be true for + our free() abstractions that can run in the kernel (like afs_osi_Free, + rxi_Free, etc), which is confusing. To make the higher-level free() + abstractions more consistent, change afs_osi_Free to guarantee that + passing a NULL pointer does nothing. + + Reviewed-on: https://gerrit.openafs.org/13236 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 7523397333c0f8c6a08312434968d84b8ff56306) + + Change-Id: Ifda1bd8c99f128fe01d38fd64dc19afee4c5158f + Reviewed-on: https://gerrit.openafs.org/13250 Tested-by: BuildBot Reviewed-by: Mark Vitale + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk -commit 833e2783a39367f3cebfb79f403a75752f81ab09 -Author: Ian Wienand -Date: Fri Feb 2 10:52:26 2018 +1100 +commit 6fed86775ba9ac7edc9444986c75a60771927411 +Author: Andrew Deason +Date: Thu Jul 5 17:16:48 2018 -0500 - Add .gitreview + LINUX: Detect NULL page during write_begin - git-review [1] makes it much easier to submit changes. Add a default - configuration file. + In afs_linux_write_begin, we call grab_cache_page_write_begin to get a + page to use for writing data when servicing a write into AFS. Under + low-memory conditions, this can return NULL if Linux cannot find a + free page to use. Currently, we always try to reference the page + returned, and so this causes a BUG. - [1] https://docs.openstack.org/infra/git-review/usage.html + To avoid this, check if grab_cache_page_write_begin returns NULL, and + just return -ENOMEM, like other callers of grab_cache_page_write_begin + do. - Reviewed-on: https://gerrit.openafs.org/12884 + Linux's fault injection framework is useful for testing code paths + like these. The following settings made it possible to + somewhat-reliably exercise the relevant code path on a test RHEL7 + system: + + # grep ^ /sys/kernel/debug/fail_page_alloc/* + /sys/kernel/debug/fail_page_alloc/ignore-gfp-highmem:Y + /sys/kernel/debug/fail_page_alloc/ignore-gfp-wait:N + /sys/kernel/debug/fail_page_alloc/interval:1 + /sys/kernel/debug/fail_page_alloc/min-order:0 + /sys/kernel/debug/fail_page_alloc/probability:100 + /sys/kernel/debug/fail_page_alloc/space:90 + /sys/kernel/debug/fail_page_alloc/task-filter:Y + /sys/kernel/debug/fail_page_alloc/times:-1 + [...] + + Reviewed-on: https://gerrit.openafs.org/13242 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 89e80c354c404dedc0e5197f99710db0e5e08767) + + Change-Id: I37b4d1ebb1b76e435bb1c56a76d7e475f47f33de + Reviewed-on: https://gerrit.openafs.org/13243 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Mark Vitale + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 9b04eac509990b8eb0414de5f604ac3456a5bce5 +Author: Michael Meffie +Date: Fri Jul 6 15:22:36 2018 -0400 + + vldb_check: write mh entry header flags in network order + + Commit 6b93ad695e53a86dbe9eea13bd0ff651e1d8c9b7 fixed a false error + reported when the vldb contained more than one mh extent blocks. That + fix changed the readMH() function to convert the flags field to host + byte order of all the mh blocks, not just the first block, in order to + check the value of those flags. + + Unfortunately, that commit missed converting non-zero blocks back to + network byte order in the complementary writeMH() function, which is + used to write the data back to disk when vldb_check is run with the -fix + option. + + FIXES 134589 + + Reviewed-on: https://gerrit.openafs.org/13245 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 483cad0121d848836b4155817b86231ef21be27a) + + Change-Id: I28afa243c78d0a8a53e13f302d69c17a779837d9 + Reviewed-on: https://gerrit.openafs.org/13246 + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 38a6a62b10ba895f77b8617a460322b5d834bbe0 +Author: Stephan Wiesand +Date: Mon Jul 2 14:05:47 2018 +0200 + + redhat: parallel builds + + Parallel builds can be an order of magnitude faster. Add the + _smp_mflags macro to all invocations of make in the rpm spec, + to make use of all available cores and SMT threads on the build + system. This should also help noticing new dependency issues + early. Note the macro can be overridden on the rpmbuild command + line. + + Reviewed-on: https://gerrit.openafs.org/13240 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit e60766286b7a581dcdd14466884ea7fdcae10918) + + Change-Id: I3428e5acc7114a5bf1a1090352055041ef099fbd + Reviewed-on: https://gerrit.openafs.org/13249 + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk - (cherry picked from commit c7c71d2429cf685f3ffad6b2e6d102d900edc197) - - Change-Id: I271cfeb6aea888ae40539e248a18131b0affeda8 - Reviewed-on: https://gerrit.openafs.org/12901 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk -commit 780ed24d360df6772b2408017a5d555ae36217c0 -Author: Mark Vitale -Date: Tue Jun 30 01:54:21 2015 -0400 +commit b70c8e193c3187b4fd5367e4b1cb008f126ca9e5 +Author: Stephan Wiesand +Date: Mon Jul 2 13:33:20 2018 +0200 - SOLARIS: Avoid vcache locks when flushing pages for RO vnodes + redhat: speed up userland-only rpm builds - We have multiple code paths that hold the following locks at the same - time: + When building with --define "build_modules 0", have configure + skip the Linux kernel tests, which are slow and many. - - avc->lock for a vcache - - The page lock for a page in 'avc' - - In order to avoid deadlocks, we need a consistent ordering for obtaining - these two locks. The code in afs_putpage() currently obtains avc->lock - before the page lock (Obtain*Lock is called before pvn_vplist_dirty). - - The code in afs_getpages() also obtains avc->lock before the page lock, - but it does so in a loop for all requested pages (via pvn_getpages()). - On the second iteration of that loop, it obtains avc->lock, and the page - from the first iteration of the loop is still locked. Thus, it obtains a - page lock before locking avc->lock in some cases. - - Since we have two code paths that obtain those two locks in a different - order, a deadlock can occur. Fixing this properly requires changing at - least one of those code paths, so the locks are taken in a consistent - order. However, doing so is complex and will be done in a separate - future commit. - - For this commit, we can avoid the deadlock for RO volumes by simply - avoiding taking avc->lock in afs_putpages() at all while the pages are - locked. Normally, we lock avc->lock because pvn_vplist_dirty() will call - afs_putapage() for each dirty page (and afs_putapage() requires - avc->lock held). But for RO volumes, we will have no dirty pages - (because RO volumes cannot be written to from a client), and so - afs_putapage() will never be called. - - So to avoid this deadlock issue for RO volumes, avoid taking avc->lock - across the pvn_vplist_dirty() call in afs_putpage(). We now pass a dummy - pageout callback function to pvn_vplist_dirty() instead, which should - never be called, and which panics if it ever is. - - We still need to hold avc->lock a few other times during afs_putpage() - for other minor reasons, but none of these hold page locks at the same - time, so the deadlock issue is still avoided. - - [mmeffie: comments, and fix missing write lock, fix lock releases] - [adeason: revised commit message] - - Reviewed-on: https://gerrit.openafs.org/12247 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 5e09a694ec2c0cd20f5dee500eff6bc3dd04c097) - - Change-Id: I5d4e4ddba12c09dc549edeee3cad7de40582ac65 - Reviewed-on: https://gerrit.openafs.org/12900 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 5bb7684f07b5f346b68230c2f38edad4c46dc648 -Author: Benjamin Kaduk -Date: Thu Jan 4 22:00:15 2018 -0600 - - rx: remove trailing semicolons from FBSD mutex operations - - Since the first introduction of FreeBSD support, the macros - (MUTEX_ENTER, etc.) for kernel mutex operations have included - trailing semicolons, unique among all the platforms. - - This did not cause problems until the recent work on rx event - handlers, which put a MUTEX_ENTER() in the body of an 'if' clause - with no brackets, and attempted to follow it with an 'else' clause. - This results in the following (rather obtuse) compiler error: - - /root/openafs/src/rx/rx.c:3666:5: error: expected expression - else - ^ - - Which is more visible in the preprocessed source, as - - if (condition) - expression;; - else - other_expression; - - is clearly invalid C. - - To fix the FreeBSD kernel module build, remove the unneeded semicolons. - - Reviewed-on: https://gerrit.openafs.org/12853 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 0760feb7992e1e39f716c5f583fe7f6e85584262) - - Change-Id: I503a5967a167e9be92721af8dc82d191f3bf18ba - Reviewed-on: https://gerrit.openafs.org/12899 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 2f07951a47a8a820c89e4e6ab1e347858acd8ab5 -Author: Benjamin Kaduk -Date: Sat Dec 9 11:44:51 2017 -0600 - - libuafs: remove stale afs_nfsdisp.lo rule - - afs_nfsdisp.lo is not used, so we do not need a build rule for it. - - Reviewed-on: https://gerrit.openafs.org/12802 + Reviewed-on: https://gerrit.openafs.org/13239 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - (cherry picked from commit decb4308d4e18ad9f6f181e3df5f737698dba7ad) + (cherry picked from commit ab61bcffefdd0a431a435def193cd9a46e3b8ab6) - Change-Id: I53680df1c8648ceb43cc032cada573964622d5b4 - Reviewed-on: https://gerrit.openafs.org/12898 + Change-Id: I030c4fab62bc8973dd4d914374865569d878090d + Reviewed-on: https://gerrit.openafs.org/13248 + Reviewed-by: Mark Vitale + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + Tested-by: Benjamin Kaduk + +commit d5def58a0e474d232ab831ca06bf370af2d7a833 +Author: Stephan Wiesand +Date: Mon Jul 2 13:28:07 2018 +0200 + + redhat: package new file include/opr/lock.h + + Commit 792dd44ac57032a3f2a4743c83c8a0208a08ecec added the + installation of include/opr/lock.h, but the rpm spec fails + to pick it up, making rpm builds fail. Add the new file + to the files list for the -devel package. + + FIXES 134579 + + Reviewed-on: https://gerrit.openafs.org/13238 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit babf419886d687f8359159f35e8b89aff5e166f8) + + Change-Id: I32b6737a6868239c56a604030a49cc45f0379707 + Reviewed-on: https://gerrit.openafs.org/13247 + Reviewed-by: Mark Vitale + Tested-by: Stephan Wiesand + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 5875ee876941e507b777e4cb1cd05642402997ce +Author: Benjamin Kaduk +Date: Thu Jun 21 21:05:56 2018 -0500 + + Make OpenAFS 1.8.1pre2 + + Update version strings for the first 1.8.1 prerelease. + (This time, for sure!) + + Change-Id: I50a1f939f64f0fd78c47c99d4c921d28c00380ce + Reviewed-on: https://gerrit.openafs.org/13231 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 4988628a2e41955951a49ea0032cabe13f9337d3 -Author: Christof Hanke -Date: Mon Dec 18 16:58:39 2017 +0100 +commit 9a8aac9ed93f0e167399df7d4c156b7c227056cc +Author: Benjamin Kaduk +Date: Sun Jul 1 12:43:28 2018 -0500 - Avoid gcc warning + Update NEWS for 1.8.1pre2 - When using the configure option --enable-checking with gcc 7.2.1, - the compilation fails with - - vutil.c:860:20: error: ā€˜%sā€™ directive writing up to 255 bytes into \ - a region of size 63 [-Werror=format-overflow=] - - This can be seen in the logs of the openSUSE Tumbleweed builder - for e.g. build 2368. - Avoid this warning by using snprintf which is provided by libroken - for all platforms. - - Reviewed-on: https://gerrit.openafs.org/12813 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit fd4eaebb60dbefc27be98015fee23a3cf5d9752d) - - Change-Id: I3be14f6f1228fd09f036da7ff4f1505c65e49406 - Reviewed-on: https://gerrit.openafs.org/12897 + Change-Id: I5ceba218589aab4f2c3c1874661e2edbb9be0b65 + Reviewed-on: https://gerrit.openafs.org/13230 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 35636bd9e32015bc10e09ccbb34a71a1459cdc4b -Author: Marcio Barbosa -Date: Mon Aug 21 14:21:54 2017 -0400 +commit 0c8551135a6be6e81d79eeb117be43a0b783d7be +Author: Mark Vitale +Date: Sat Jun 30 17:35:09 2018 -0400 - ubik: avoid DISK_Begin on sites that didn't vote for sync + rxevent: prevent negative rx_connection refCount - As already described on 7c708506, SDISK_Begin fails on remotes if - lastYesState is not set. To fix this problem, 7c708506 does not allow - write transactions until we know that lastYesState is set on at least - quorum (ubik_syncSiteAdvertised == 1). In other words, if enough sites - received a beacon packet informing that a sync-site was elected, write - transactions will be allowed. This means that ubik_syncSiteAdvertised - can be true while lastYesState is not set in a few sites. + rxi_ChallengeEvent is called directly from rxi_ChallengeOn to start the + first challenge; subsequent calls to rxi_ChallengeEvent are from the + event handler. When called as an event, we must putConnection the + reference held by the event. But when called directly for the first + time, the event has not been scheduled yet and so has not taken a + reference on the connection. For this case, we must not putConnection + or the rx_connection refCount will go negative. - Consider the following scenario in a cell with frequent write - transactions: + One reported symptom of this bug is a fileserver crash with: + 'Assertion failed! file rx.c, line 1327.' - Site A => Sync-site (up) - Site B => Remote 1 (up) - Site C => Remote 2 (down - unreachable) + Introduced by commit 304d758983b499dc568d6ca57b6e92df24b69de8 + ('Standardize rx_event usage'). - Since A and B are up, we have quorum. After the second wave of beacons, - ubik_syncSiteAdvertised will be true and write transactions will be - allowed. At some point, C is not unreachable anymore. Site A sends a - copy of its database to C, but C did not vote for A yet (lastYesState == - 0). A new write transaction is initialized and, since lastYesState is - not set on C, DISK_Begin fails on this remote site and C is marked as - down. Since C is reachable, A will mark this remote site as up. The - sync-site will send its database to C, but C did not vote for A yet. A - new write transaction is initialized and, since lastYesState is not set - on C, DISK_Begin fails on this remote site and C is marked as down. In a - cell with frequent write transactions, this cycle will repeat forever. - As a result, the sync-site will be constantly sending its database to C - and quorum will be operating with less sites, increasing the chances - of re-elections. + Reviewed-on: https://gerrit.openafs.org/13228 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit b1ad473be01162fe9b3835544a835c4dcf0fcb35) - To fix this problem, do not call DISK_Begin on remotes that did not - vote for the sync-site yet. - - Reviewed-on: https://gerrit.openafs.org/12715 + Change-Id: Ice5856627f4f77b5ede3a84fef4b6f2915f5477d + Reviewed-on: https://gerrit.openafs.org/13229 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk - (cherry picked from commit 68ec78950a6e39dc1bf15012d4b889728086d0b7) - - Change-Id: I3764c23125f0bc675762449cd29b282ba403f871 - Reviewed-on: https://gerrit.openafs.org/12896 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk -commit 51816cfd047c05921218ecb1161c9dd7986a422f -Author: Michael Meffie -Date: Wed Jan 31 16:52:40 2018 -0500 - - add rfc3961.h to kernel sources - - Export this header to the kernel sources in the libafs_tree, since it is - needed for the kernel module build. - - FIXES 134476 - - Reviewed-on: https://gerrit.openafs.org/12882 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 073522b3d49467af107d1143cfa015c53347e1e3) - - Change-Id: I4e5c7883a1dd4b66b9252f4e630ca489f05e9ad3 - Reviewed-on: https://gerrit.openafs.org/12890 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 07811e3b15de8926d63b423804c620bc3501745b +commit ec4488afc260238ca0a8af33cd71b9b5df8ee14d Author: Benjamin Kaduk -Date: Mon Jan 8 22:28:24 2018 -0600 +Date: Thu Jun 21 21:05:56 2018 -0500 - Add param.h files for recent FreeBSD + Make OpenAFS 1.8.1pre1 - Add files for FreeBSD 10.4, 11.1, and 12.0 (12-CURRENT), for i386 and amd64. + Update version strings for the first 1.8.1 prerelease. - Reviewed-on: https://gerrit.openafs.org/12863 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 88dc4d93f5ef080da8f56fac453f095e6c79d4a0) - - Change-Id: I6ddb0f03e209b0ce9c7ed1168c86a675d7802c23 - Reviewed-on: https://gerrit.openafs.org/12888 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 0ba9b5559e112005a6f621ebe55f382bcc2aae0d -Author: Benjamin Kaduk -Date: Mon Jan 8 21:27:04 2018 -0600 - - FBSD: catch up to missing sysnames - - Add sysnames for i386 and amd64 10.4, 11.1, and 12.0 (12-CURRENT, at present). - - Reviewed-on: https://gerrit.openafs.org/12862 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - (cherry picked from commit c390f368a5012f866c1b4ce46d6ac6af6cef2fd5) - - Change-Id: I5183c19d446fd0c00bd26c32ca3f7f00a4d12907 - Reviewed-on: https://gerrit.openafs.org/12887 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1f10f087264cb39a8354c0baf71eb1fa13071466 -Author: Marcio Barbosa -Date: Mon Aug 21 15:50:14 2017 -0400 - - ubik: update ubik_dbVersion during SDISK_SendFile - - The ubik_dbVersion global represents the sync site's database version - and it is mostly used by the remote sites for sanity checks. Currently, - this global is updated when database changes are made on the sync site - (SDISK_Commit or SDISK_SetVersion), as well as every time we vote "yes" - for the sync-site in a beacon reply. Unfortunately, ubik_dbVersion is - not updated when a copy of the sync site's database is received via - DISK_SendFile, and it won't get updated until our next "yes" vote. - During this window, the current database version will not match - ubik_dbVersion. As a result, any write transaction during this time - frame will fail on the remote site in question. - - To fix this problem, do not wait for the next beacon packet to update - ubik_dbVersion when the sync site's database is received; just update - it when we get the new database. Since no write transactions are - allowed while the db is transferring, ubik_dbVersion can be safely - updated. - - Reviewed-on: https://gerrit.openafs.org/12716 + Change-Id: Iaf262f468d36fb27d4ce8c994483c99bde666aff + Reviewed-on: https://gerrit.openafs.org/13225 Tested-by: BuildBot + Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale - Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk - (cherry picked from commit 50c1d1088d2adcbb37b6a9d23fdd63617b1267be) + +commit 0a40a42f15e7778908b569390a05352d53841101 +Author: Benjamin Kaduk +Date: Sun Jun 17 22:31:21 2018 -0500 + + Update NEWS for 1.8.1pre1 - Change-Id: Icbbe9efb9c8dab9ac69237380e824d4a523a53d3 - Reviewed-on: https://gerrit.openafs.org/12885 + Change-Id: I9c443b26cd937b7d7d0d6863ca92792dfacae770 + Reviewed-on: https://gerrit.openafs.org/13224 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit c35db455f2452121ca27c821bc74b04352b4fad8 +Author: Benjamin Kaduk +Date: Fri Jun 15 09:07:04 2018 -0500 + + Comment out missing comerr functions from afsauthent.def + + Apparently commit 70c4922980d1596155b4021cd72d6895c2371e23 was overzealous + in making Windows match Unix, as these functions are not available + in the Windows build. + + Reviewed-on: https://gerrit.openafs.org/13219 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 9d0b2698ac7ab8bb689f30d819bbef08c05a8bf7) + + Change-Id: I6ea04a04a2e18f3a8b7f2fdd0e2ca49f4b208361 + Reviewed-on: https://gerrit.openafs.org/13222 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit ef568fbb1980764e9b21660bc224a53c5601a8ce +Author: Benjamin Kaduk +Date: Fri Jun 15 08:39:47 2018 -0500 + + Comment out opr_AssertionFailed from afsrpc.def + + Apparently the Windows utilities link opr.lib directly, so this + caused a "multiply defined symbol" error. + + Reviewed-on: https://gerrit.openafs.org/13216 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 907e09ff2b7e86005765a594db27e1df194ec204) + + Change-Id: Ibdd1388235086177bd3fec3c1088916d71fc204f + Reviewed-on: https://gerrit.openafs.org/13221 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit c9fc9dbf59e0239f064f7c6d865bc4a267505f89 +Author: Benjamin Kaduk +Date: Fri Jun 15 08:16:26 2018 -0500 + + Comment out (again!) xdr_Capabilities from afsrpc.def + + This shows up as an "unresolved external" when linking (though apparently + this error does not cause a buildbot failure), noticed when viewing + a related windows build log. + + Reviewed-on: https://gerrit.openafs.org/13215 + Reviewed-by: Benjamin Kaduk + Tested-by: Benjamin Kaduk + (cherry picked from commit 94f1c1e2a7125e93ed49de31522be806af28626b) + + Change-Id: Ia3a4977f00a0e4b3e3a9c16b20028d78269c4ce8 + Reviewed-on: https://gerrit.openafs.org/13220 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 3e414d9b0eb1eb064bcc8d0931d54867d736c0a3 +Author: Benjamin Kaduk +Date: Thu Jun 14 20:35:46 2018 -0500 + + Un-export opr_AssertFailU + + It appears to have been created for parity with osi_AssertFailU, but + was then never used. + + It is safe to remove the export line, since this export has never + been in a released version of OpenAFS. + + Reviewed-on: https://gerrit.openafs.org/13212 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 691757576fb6d60a34fef2c4bc50ae581b65ad76) + + Change-Id: I4811d1587fc7a25e90e2a0203d965ef352efe7c5 + Reviewed-on: https://gerrit.openafs.org/13214 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit 992fd205bdd19c7d98814d8e234dad03a62d506f +Author: Benjamin Kaduk +Date: Thu May 31 19:02:18 2018 -0500 + + libafsrpc: export more xdr functions + + Most of the xdr functions in the library text are to support RXAFS and + RXAFSCB RPCs, which we explicitly do not expose from libafsrpc. + As such, they do not need to be in the export list, but a couple of + generic ones probably should be exported. + + Do so, for both Unix and Windows. + + Reviewed-on: https://gerrit.openafs.org/13139 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 6e7db633efad1c88bb300089e3bd4c9feaea5f23) + + Change-Id: I42ae33f5fdb36401d052cfb200a22aff423ac0a9 + Reviewed-on: https://gerrit.openafs.org/13195 + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Andrew Deason + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit 9c66b92e4e3aa000a42044efe7cffa2a46058d73 +Author: Benjamin Kaduk +Date: Thu May 31 19:00:03 2018 -0500 + + libafsrpc: export some more rx functions + + Reviewed-on: https://gerrit.openafs.org/13138 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 0b1edd96ac7a952148ec14f8baaf60c8d8bbc04f) + + Change-Id: I86c81dd95c75953ebd193bd8b49b467693572614 + Reviewed-on: https://gerrit.openafs.org/13194 + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Andrew Deason + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit 2bb07a8f82dca1246620c5e92600ddaa8d16cf48 +Author: Benjamin Kaduk +Date: Thu May 31 18:40:21 2018 -0500 + + Export missing opr functions from libafsrpc + + Our assertion macros expand to function calls, and we have assertions + included in macros in installed headers, so the public needs to be + able to link against them. + + Export for both Unix and Windows. + + Reviewed-on: https://gerrit.openafs.org/13137 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit f01ee714152a0a6247f2f456aa1f0a728d74373c) + + Change-Id: I1d983d352f4838619d0b8a833e6be90207dffa87 + Reviewed-on: https://gerrit.openafs.org/13193 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Benjamin Kaduk + +commit 56ce248751d804efe664c9af3b62f5e15a026afe +Author: Andrew Deason +Date: Thu Apr 26 12:01:57 2018 -0500 + + afs: Avoid GetDCache delays on screwy cache + + Currently, if our afs_AllocDCache call fails in afs_GetDCache, we + retry once per second for 5 minutes. The reasoning is that we're out + of dcache slots, and so if we wait a little while, maybe something + will become freeable and we can continue. + + However, afs_AllocDCache can also fail if we have plenty of free + dslots, but we are unable to successfully call afs_GetUnusedDSlot() on + any of them. This can happen if our disk cache is screwed up, and so + waiting and retrying will not make things better (but we'll spew a ton + of "disk cache read error in CacheItems slot" errors in the log each + time, and do so 300 times). + + So instead, only do our sleep/retry loop if we actually appear to be + out of free or discarded dslots. Otherwise, just return an error + immediately, since sleeping and retrying will not make anything + better. + + Reviewed-on: https://gerrit.openafs.org/13033 + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit bec329c1c81d96b5933527f7cdb3638f24833087) + + Change-Id: Iaee53eca133985ad5964b61b3641cd8ad2802014 + Reviewed-on: https://gerrit.openafs.org/13190 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Benjamin Kaduk + +commit 38207faabe6641e97d177160f45ccdaef8cef8ab +Author: Andrew Deason +Date: Thu Apr 26 12:02:18 2018 -0500 + + afs: Avoid GetDCache panic on AllocDCache failure + + Currently, in afs_GetDCache, if afs_AllocDCache fails, we retry for 5 + minutes and then panic. Panicing in this situation is completely + unnecessary; afs_GetDCache can fail for a variety of other mundane + reasons (such as, if we can't fetch the requested data from the + relevant fileserver). + + It may seem unusual for afs_AllocDCache to fail for over 5 minutes + (this is supposed to mean that we're out of dslots, and our attempts + to free up dslots have failed). However, afs_AllocDCache can also fail + if we are having issues in accessing the disk cache, and so we may not + be out of cache space or dslots at all; we just can't access the + cache. In this case, afs_AllocDCache can easily fail forever; waiting + longer or trying to free up cache space isn't going to help. + + So, to avoid panicing in such situations, just make afs_GetDCache + return an error. We just need to make sure afs_xdcache is unlocked, + and then we can just jump to 'done', like plenty of other codepaths + do; no extra cleanup is required. + + Also since we are removing a panic, add a log message when this + situation happens, so EIO errors don't suddenly pop up silently. + + Reviewed-on: https://gerrit.openafs.org/13032 + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e9419dc895801bda6962f2ac0f5981631a0d95c7 -Author: Andrew Deason -Date: Thu Jan 11 21:27:28 2018 -0600 - - LINUX: Avoid locking inode in check_dentry_race + (cherry picked from commit 0ff2364bd5e68c0a7587f8fbc552bf20b99d7039) - Currently, check_dentry_race locks the parent inode in order to ensure - it is not running in parallel with d_splice_alias for the same inode. - (For old Linux kernel versions; see commit b0461f2d: "LINUX: - Workaround d_splice_alias/d_lookup race".) - - However, it is possible to hit this area of code when the parent inode - is already locked. When someone tries to create a file, directory, or - symlink, Linux tries to lookup the dentry for the target path, to see - if it already exists. While looking up the last component of the path, - Linux locks the directory, and if it finds a dentry for the target - name, it calls d_invalidate on it while the parent directory is - locked. - - For a dentry with a NULL inode, we'll then try to lock the parent - inode in check_dentry_race. But since the inode is already locked, we - will deadlock. - - From a user's point of view, the hang can be reproduced by doing - something similar to: - - $ mkdir dir # succeeds - $ rmdir dir - $ ls -l dir - ls: cannot access dir: No such file or directory - $ mkdir dir # hangs - - To avoid this, we can just change which lock we're using to avoid - check_dentry_race/d_splice_alias from running in parallel. Instead of - locking the parent inode, introduce a new global lock (called - dentry_race_sem), and lock that in check_dentry_race and around our - d_splice_alias call. We know that those are the only two users of this - new lock, so this should avoid any such deadlocks. - - This does potentially reduce performance, since all tasks that hit - check_dentry_race or d_splice_alias will take the same global lock. - However, this at least still allows us to make use of negative - dentries, and this entire code path only applies to older Linux - kernels. It could be possible to add a new lock into struct vcache - instead, but using a global lock like this commit does is much - simpler. - - Reviewed-on: https://gerrit.openafs.org/12868 - Tested-by: Benjamin Kaduk - Reviewed-by: Benjamin Kaduk - (cherry picked from commit ef1d4c8d328e9b9affc9864fd084257e9fa08445) - - Change-Id: Ia8e28519fff36baca7dc4061ceef6719a2a738d4 - Reviewed-on: https://gerrit.openafs.org/12881 + Change-Id: Ie29eed271b490edc943929710a87550e2d67b735 + Reviewed-on: https://gerrit.openafs.org/13189 Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit f523c92a74bace287d1139fab77a030b9598ef61 -Author: Caitlyn Marko -Date: Thu Feb 9 09:16:17 2017 -0500 +commit bc9ab0d85a37b7126502a810320daffc0fdacfb3 +Author: Mark Vitale +Date: Tue Jun 5 14:12:20 2018 -0400 - SOLARIS: save kernel module function arguments for debugging + xdr: remove dead code, whitespace from xdr_enum - Add the -Wu,-save_args compiler option when building kernel modules - under Solaris 10 and 11 for the amd64 architecture. + The 'enum sizecheck' declaration has been unused since openafs-ibm-1_0; it is + apparently vestigial from the original XDR code. Remove it, along with some + extraneous whitespace. - Binaries generated with this option save function arguments on the stack - during function entry for debugging purposes. Up to six integer - arguments are saved on function entry, and are not modified during the - execution of the function. + No functional change is incurred by this commit. - [mmeffie: commit message update] - - Reviewed-on: https://gerrit.openafs.org/12798 + Reviewed-on: https://gerrit.openafs.org/13076 Tested-by: BuildBot + Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk - (cherry picked from commit 32d0493a7e4f74f5e5efdfde5eca29ed7d1bf3ec) + (cherry picked from commit fdc8adbf0904cbbc0590379c5cb702a15273b40c) - Change-Id: I478ce65da78b86aa3c13e1c615bafd51d0f5d567 - Reviewed-on: https://gerrit.openafs.org/12903 + Change-Id: Ie586f210d17169a03143d1bdebb8430e3881e58c + Reviewed-on: https://gerrit.openafs.org/13184 Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Andrew Deason + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit 96ce04c78b5f745424165494c9b76d7ce227eeaa -Author: Marcio Barbosa -Date: Mon Feb 5 21:16:17 2018 +0000 +commit 101c114bd3bcc662c49a565dffc597a70ef1ea80 +Author: Mark Vitale +Date: Wed Jun 6 15:23:26 2018 -0400 - autoconf: detect ctf-tools and add ctf to libafs + xdr: avoid xdr_enum memory overrun - CTF is a reduced form of debug information similar to DWARF and stab. It - describes types and function prototypes. The principal objective of the - format is to shrink the data size as much as possible so that it could - be included in a production environment. MDB, DTrace, and other tools - use CTF debug information to read and display structures correctly. + Since openafs-ibm-1_0, xdr_enum has used xdr_long to read and write, even + though enum_t is defined as int. For systems where sizeof(int) == + sizeof(long), this works by accident. But other systems (e.g., DARWIN + ARCHFLAGS=x86_64) xdr_enum will overrun its int-sized second parameter. For + XDR_DECODE, this results in memory corruption. - This commit introduces a new configure option called --with-ctf-tools. - This option can be used to specify an alternative path where the tools - can be found. If the path is not provided, the tools will be searched - in a set of default directories (including $PATH). The CTF debugging - information will only be included if the corresponding --enable-debug / - --enable-debug-kernel is specified. + This was first noticed with OpenAFS 1.8.0 on macOS 10.13; if aklog is issued + while already holding a token, it will fail in token_SetsEquivalent with a + segfault in decodeToken. The root cause is that the address passed to + decodeToken had been overwritten by a previous call to tokenType -> xdr_enum -> + xdr_long. - Note: at the moment, the Solaris kernel module is the only module - benefited by this commit. + Instead, modify xdr_enum to use xdr_int for its work. - Reviewed-on: https://gerrit.openafs.org/12680 + Reviewed-on: https://gerrit.openafs.org/13075 Tested-by: BuildBot + Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk - (cherry picked from commit 88cb536f99dc58fdbeb9fa6c47c26774241a0cb6) + (cherry picked from commit eb1d2ef203a2a99c908b3b89d9ea8337a91b944b) - Change-Id: I174347370a83b31f68d2631c965e17d72b438cd1 - Reviewed-on: https://gerrit.openafs.org/12902 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 0247eb0a8c154811f495142276029a617ae0825a -Author: Michael Meffie -Date: Sat Dec 30 17:59:38 2017 -0500 - - autoconf: refactor linux-checks.m4 - - Further refactoring of the autoconf macros. Divy up the linux kernel - checks into smaller files. - - This is a non-functional change. Care has been taken preserve the - ordering of the autoconf tests. Except for whitespace, the generated - configure file has not been changed by this refactoring. This has been - verified with a 'diff -u -w -B' comparison of the generated configure - file before and after applying this commit. - - Reviewed-on: https://gerrit.openafs.org/12844 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 6a2b85cd4c00a08e165cb96d2cb56bf87c6324bc) - - Change-Id: Iae325bc14fb160f27791b2f3d82198fe671badd8 - Reviewed-on: https://gerrit.openafs.org/12878 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e05b0b10b942ba3585f6d5d505a282c2de95c243 -Author: Michael Meffie -Date: Sat Dec 30 12:12:59 2017 -0500 - - autoconf: refactor ostype.m4 - - Further refactoring of the autoconf macros. Move more linux and solaris - specific checks into their own files. - - This is a non-functional change. Care has been taken preserve the - ordering of the autoconf tests. Except for whitespace, the generated - configure file has not been changed by this refactoring. This has been - verified with a 'diff -u -w -B' comparison of the generated configure - file before and after applying this commit. - - Reviewed-on: https://gerrit.openafs.org/12843 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 3c2e39bab7d927aa5f20d02a5e327927a4b2b553) - - Change-Id: I4d91753afd90e4735ab61413e757f6852750a3de - Reviewed-on: https://gerrit.openafs.org/12877 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e54963757320adb95b0c73bbd84fb8bf34319210 -Author: Michael Meffie -Date: Fri Dec 29 14:24:28 2017 -0500 - - autoconf: refactor acinclude.m4 - - The acinclude.m4 is very large and often requires to be changed for - unrelated commits. Divy up the large acinclude.m4 into a number of - smaller files to avoid so many contentions and to make the autoconf - system easier to maintain. - - This is a non-functional change. Care has been taken preserve the - ordering of the autoconf tests. Except for whitespace, the generated - configure file has not been changed by this refactoring. This has been - verified with a 'diff -u -w -B' comparison of the generated configure - file before and after applying this commit. - - Reviewed-on: https://gerrit.openafs.org/12842 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit c72622a244e561173e86ffe88ee3c9a8c823a76a) - - Change-Id: I9504eaa2430fd35f79b55c3df96c82cc7e58fafd - Reviewed-on: https://gerrit.openafs.org/12876 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 0798b54b258f48cae8a5b1b3e107a22693d37937 -Author: Michael Meffie -Date: Mon Feb 8 12:12:22 2016 -0500 - - CellServDB update 14 Mar 2017 - - Update all remaining copies of CellServDB in the tree, and make the - Red Hat packaging use it by default too. - - Reviewed-on: https://gerrit.openafs.org/12880 + Change-Id: I548ab43fe4513262b6be0608be45bfd8580e6ed8 + Reviewed-on: https://gerrit.openafs.org/13183 Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Andrew Deason + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk - (cherry picked from commit 3ca1352170f87994d42578c5bc75e52c4103bc69) - - Change-Id: I773d35745e14903dd3069a0627932153900e0ba6 - Reviewed-on: https://gerrit.openafs.org/12889 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk -commit 5eb64632fd76bb7e26a90ab08c83132e7ac99e23 +commit 41285fc801cfa91e099e042ab2bc85599fac63fb Author: Michael Meffie -Date: Wed Jan 17 17:33:50 2018 -0500 +Date: Fri Apr 27 23:08:34 2018 -0400 - redhat: fix conditional for kernel-debuginfo files directive + util: check for trailing characters in partition names - Commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 added support for a - separate debuginfo package for the kernel module. Unfortunately, the - %files directive for the kernel module debuginfo package was incorrectly - placed in the %if stanza of the build_userspace condition, so the - rpmbuild fails when attempting to build just the kernel module. + The function which maps partition names to partition ids currently + ignores trailing characters in the partition names. For example, the + partition name "/vicepbogus" is currently considered a valid partition + name ("/vicepbogus" maps to "bo" which is id 66). Although this is not a + regression, it is problematic for several reasons. - That is, when running rpmbuild with the options: + Firstly, this can lead to duplicate partition ids on the server, for + example "/vicepbad" and "/vicepbar" both map to the same partition id + ("ba" is id 52). - rpmbuild --define "build_userspace 0" --define "build_modules 1" ... + Second, partitions are internally tracked by numeric id. The partition + names are generated from numeric ids when reporting partition names. + This means the trailing characters are lost when reporting the partition + names. For example, vos reports the attached partition "/vicepbad" as + "/vicepba". - rpmbuild fails with: + Third, it could be possible (but perhaps unlikely) in the future to + extend the range of partition ids, so the trailing characters could + become significant at that time. - RPM build errors: - Installed (but unpackaged) file(s) found: - /usr/lib/debug/lib/modules/.../extra/openafs/openafs.ko.debug + Finally, it could be confusing to admins that such partition names are + attached by the fileserver. For example, "/vicepaa-backup" is attached + and is used by the fileserver as partition id 26. - Fix this by moving the new %files directive out of the build_userspace - conditional. + This change adds a check for trailing characters in partition names in + the volutil_GetPartitionID function, so it is more strict in what it + accepts as a valid partition name. That function will now return -1 + (illegal partition name) when trailing characters are found in + partition names. - Reviewed-on: https://gerrit.openafs.org/12874 + Reviewed-on: https://gerrit.openafs.org/13039 Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - (cherry picked from commit f599e1ce6354c42a9c0c8f7205ba8a03c35ea72b) - - Change-Id: I07e25d3dd43b2cd7056cefb8f0f5c10f78347b85 - Reviewed-on: https://gerrit.openafs.org/12875 Tested-by: BuildBot + Reviewed-by: Andrew Deason + (cherry picked from commit 850c7c50dccbdebb8e0a44da4fc7840760d9e02d) + + Change-Id: I1244630f3b31408f9f723b97956dca6987dd9747 + Reviewed-on: https://gerrit.openafs.org/13121 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Andrew Deason + Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk -commit 781624f7f4290a1f44a0f48a04d780e10dd5b3e1 +commit b5f5e48147ea792b43d8716a5b6e334cbbd925e1 Author: Michael Meffie -Date: Fri Jul 21 22:30:43 2017 -0400 +Date: Mon Apr 9 19:54:54 2018 -0400 - redhat: avoid rpmbuild exclude directives + autoconf: add kernel module to the summary - Older versions of rpmbuild do not support the files exclude directive, - so fall back to the old way in which we remove the files to be excluded - and list the files to be included. + Add the kernel module to the list of optional build items in the + configure summary to indicate whether the kernel module build is + enabled. - Reviewed-on: https://gerrit.openafs.org/12733 + Reviewed-on: https://gerrit.openafs.org/13005 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk - (cherry picked from commit a71288a387095ccb4be83c1abae34ada80f53185) + (cherry picked from commit 3d3e7bc51aaf39b5ca04bfd36ff9017ab0622057) - Change-Id: I01c20bc21ec6143be76458c311d826023c370d51 - Reviewed-on: https://gerrit.openafs.org/12873 - Tested-by: BuildBot + Change-Id: I842752bb12b09fdcab6bfb341673bff3528f3880 + Reviewed-on: https://gerrit.openafs.org/13112 + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - -commit 9d62e1d5c6e9e888a029a0b6080c27c0b4353ba2 -Author: Michael Meffie -Date: Fri Jul 21 22:16:44 2017 -0400 - - redhat: move .krb variants to the kauth-client subpackage - - Move the deprecated klog.krb, pagsh.krb, and tokens.krb programs and man - pages to the optional openafs-kauth-client subpackage. - - Reviewed-on: https://gerrit.openafs.org/12732 + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Andrew Deason + Reviewed-by: Mark Vitale Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 4d247e1ae446c512031511273d556ef1fd32dca1) - - Change-Id: I3c6164022b07f0c3283cb54ffd26e1f9c3dd67bb - Reviewed-on: https://gerrit.openafs.org/12872 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk -commit ea1bf1bd751d391d49bdb33e2e3f2cc79fe8ccde -Author: Michael Meffie -Date: Thu Jul 20 04:13:04 2017 -0400 - - redhat: specify man pages without wildcards - - Currently, some of the man pages are specified with the full name and - some are specified with a wildcard for the filename extension. Instead, - specify all the man pages without a wildcards to be more consistent and - to avoid putting incorrect man pages in packages. - - This change removes a stray copy the klog.krb5.1 man page from - openafs-kauth-client subpackage and moves the AuthLog/AuthLog.dir man - pages to the optional openafs-kauth-server subpackage. - - Reviewed-on: https://gerrit.openafs.org/12731 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 671db4ca5a76625d9b7133510cc1cbdda8a5d9b9) - - Change-Id: I9d10cc7aad94a2dc004526acb426a9b9badc8e3c - Reviewed-on: https://gerrit.openafs.org/12871 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit f56ea0e095f4837a65762f5a8fbc6b5c9d58a394 -Author: Michael Meffie -Date: Fri Jul 21 18:05:48 2017 -0400 - - redhat: remove afsd.fuse man page - - The afsd.fuse binary is not currently packaged; do not package the man - page. - - Reviewed-on: https://gerrit.openafs.org/12730 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit a9810b829bdccfed4d1718b11cf4dd51f9565e00) - - Change-Id: I7c829a492e999cc989e9341e94f56d6669722a4c - Reviewed-on: https://gerrit.openafs.org/12870 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 79188311b418b39539e0772725b9754130864c11 +commit 0bf4ae5f7630fbb8e3bfb8e4dab19ad3e617ed6a Author: Benjamin Kaduk -Date: Tue Dec 26 17:42:39 2017 -0600 +Date: Sun May 27 22:54:01 2018 -0500 - Make OpenAFS 1.8.0pre4 + libafsauthent: export additional xdr_ functions - Update version strings for the fourth 1.8.0 prerelease. + Formally, we need to use xdr_free to deallocate storage for RPC output + variables, in case the XDR stack uses a different allocator than the + standard application allocator. Some types have non-autogenerated + wrappers exposed already (e.g., token_FreeSet()), but for a handful of + the base ptint types we need to expose the xdr routines in order for a + safe way to deallocate their storage to be available. - Change-Id: Ib7defe21ca5e5a8c2214879633a467e002f3269b - Reviewed-on: https://gerrit.openafs.org/12837 + Reviewed-on: https://gerrit.openafs.org/13131 + Reviewed-by: Benjamin Kaduk Tested-by: BuildBot - Reviewed-by: Stephan Wiesand + (cherry picked from commit c12cfd7331727142cb928e08ec32a708d0cfd1e9) + + Change-Id: Iea3b0bd9fdb373020b41c2bcbf1ebbde222114a8 + Reviewed-on: https://gerrit.openafs.org/13192 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Andrew Deason + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit 90bc3cf9355e3f60455d744b3e00315507e17b92 +commit 1318bad870781f73acffc6dff1821f54c28d3ed7 Author: Benjamin Kaduk -Date: Tue Dec 26 17:41:59 2017 -0600 +Date: Sun May 27 16:23:16 2018 -0500 - Update NEWS for 1.8.0pre4 + libafsauthent: export ugen_ClientInit* - Change-Id: I0ba71b1e837309b36db39895914b6a8b9380a81f - Reviewed-on: https://gerrit.openafs.org/12836 + Windows was only exporting the bare version and not the Cell/Flags/Server + versions; Unix was exporting none of them. + + These routines for obtaining a ubik client are more generic than the + historical (and already exported) ubik_ClientInit routine, allowing for + the use of an alternative configuration directory, additional flags, + and the like. + + Reviewed-on: https://gerrit.openafs.org/13130 Tested-by: BuildBot - Reviewed-by: Stephan Wiesand + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit ef6a1e8118a25b885889179739a3539a598068bc) + + Change-Id: I04c6565cc4b9c3366bf15b86cd5f70402609c5c5 + Reviewed-on: https://gerrit.openafs.org/13182 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Andrew Deason + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit 4feec06c7bdc7102ae654cff20eb02650ec32800 -Author: Mark Vitale -Date: Thu Nov 30 20:26:46 2017 -0500 +commit 08d91a86ba4735ca55c18b3cffea58939c790fca +Author: Benjamin Kaduk +Date: Sun May 27 16:03:12 2018 -0500 - LINUX: Avoid d_invalidate() during afs_ShakeLooseVCaches() + libafsauthent: Export more token-manipulation functions - With recent changes to d_invalidate's semantics (it returns void in Linux 3.11, - and always returns success in RHEL 7.4), it has become increasingly clear that - d_invalidate() is not the best function for use in our best-effort - (nondisruptive) attempt to free up vcaches that is afs_ShakeLooseVCaches(). - The new d_invalidate() semantics always force the invalidation of a directory - dentry, which contradicts our desire to be nondisruptive, especially when - that directory is being used as the current working directory for a process. - Our call to d_invalidate(), intended to merely probe for whether a dentry - can be discarded without affecting other consumers, instead would cause - processes using that dentry as a CWD to receive ENOENT errors from getcwd(). + For both Windows and Unix. - A previous commit (c3bbf0b4444db88192eea4580ac9e9ca3de0d286) tried to address - this issue by calling d_prune_aliases() instead of d_invalidate(), but - d_prune_aliases() does not recursively descend into children of the given - dentry while pruning, leaving it an incomplete solution for our use-case. - - To address these issues, modify the shakeloose routine TryEvictDentries() to - call shrink_dcache_parent() and maybe __d_drop() for directories, and - d_prune_aliases() for non-directories, instead of d_invalidate(). (Calls to - d_prune_aliases() for directories have already been removed by reverting commit - c3bbf0b4444db88192eea4580ac9e9ca3de0d286.) - - Just like d_invalidate(), shrink_dcache_parent() has been around "forever" - (since pre-git v2.6.12). Also like d_invalidate(), it "walks" the parent - dentry's subdirectories and "shrinks" (unhashes) unused dentries. But unlike - d_invalidate(), shrink_dcache_parent() will not unhash an in-use dentry, and - has never changed its signature or semantics. - - d_prune_aliases() has also been available "forever", and has also never changed - its signature or semantics. The lack of recursive descent is not an issue for - non-directories, which cannot have such children. - - [kaduk@mit.edu: apply review feedback to fix locking and avoid extraneous - changes, and reword commit message] - - Reviewed-on: https://gerrit.openafs.org/12830 + Reviewed-on: https://gerrit.openafs.org/13129 + Tested-by: BuildBot + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit afbc199f152cc06edc877333f229604c28638d07) + (cherry picked from commit 1974eac772157651594c1b76ea8f55e4567b3ec5) - Change-Id: I6d37e5584b57dcbb056385a79f67b92a363e08d2 - Reviewed-on: https://gerrit.openafs.org/12851 + Change-Id: I7b26772fe9f447ac1cf562eb5837a6035d8f0175 + Reviewed-on: https://gerrit.openafs.org/13181 Tested-by: BuildBot - Tested-by: Benjamin Kaduk + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit 4b633c9681057122b9266b8a775d0ad5aa0a3ac3 -Author: Mark Vitale -Date: Thu Nov 30 17:56:13 2017 -0500 +commit f5876726928c1302f2dce8c16e81bbed3d9a021d +Author: Benjamin Kaduk +Date: Sun May 27 15:18:12 2018 -0500 - LINUX: consolidate duplicate code in osi_TryEvictDentries + libafsauthent: export ktc token 'Ex' routines for Unix - The two stanzas for HAVE_DCACHE_LOCK are now functionally identical; - remove the preprocessor conditionals and duplicate code. + We need these to handle the modern identity structures (they are + already exported on Windows). - Minor functional change is incurrred for very old (before 2.6.38) Linux - versions that have dcache_lock; we are now obtaining the d_lock as well. - - This is safe because d_lock is also quite old (pre-git, 2.6.12), and it - is a spinlock that's only held for checking d_unhashed. Therefore, it - should have negligible performance impact. It cannot cause deadlocks or - violate locking order, because spinlocks can't be held across sleeps. - - Reviewed-on: https://gerrit.openafs.org/12792 + Reviewed-on: https://gerrit.openafs.org/13128 + Tested-by: BuildBot + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - Reviewed-by: Andrew Deason - Tested-by: BuildBot - (cherry picked from commit 5076dfc14b980aed310f3862875d5e9919fa199d) + (cherry picked from commit 4008f83ca80c5ed7b612a13f760b4bb8b9866f2b) - Change-Id: I7a17494b40c049a562dec20c50c27125f54436d0 - Reviewed-on: https://gerrit.openafs.org/12850 + Change-Id: I05d4ea37212738db6be9dace0b9cc1db1e76bd08 + Reviewed-on: https://gerrit.openafs.org/13180 Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Joe Gorse + Reviewed-by: Andrew Deason + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit 16c0dbd7961fb599ed9f29d700d1a713902bd96d -Author: Mark Vitale -Date: Thu Nov 30 16:51:32 2017 -0500 +commit dca6a646a0b3f8fea0a8bbcb45f39561e319f262 +Author: Benjamin Kaduk +Date: Sun May 27 14:18:07 2018 -0500 - LINUX: consolidate duplicate code in canonical_dentry + libafsauthent: export more afsconf_ functions - The two stanzas for HAVE_DCACHE_LOCK are now identical; - remove the preprocessor conditionals and duplicate code. + We have new functions for (among other things) typed keys, and generic + rx identity management; expose them as well as the legacy key- and user- + management functions, on both Unix and Windows. - No functional change should be incurred by this commit. - - Reviewed-on: https://gerrit.openafs.org/12791 - Reviewed-by: Andrew Deason + Reviewed-on: https://gerrit.openafs.org/13127 + Tested-by: BuildBot + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 0678ad26b6069040a6ea86866fb59ef5968ea343) + (cherry picked from commit cdd1f16f5ef52093a8f7d3f87a45775d3c87b780) - Change-Id: If0f9516201cea747a753db04ba2d0e2cac69971b - Reviewed-on: https://gerrit.openafs.org/12849 + Change-Id: Ia9ab364fcac10822ba50eb7f418a2228ac0fd935 + Reviewed-on: https://gerrit.openafs.org/13179 Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit c42dea8e0293016ec30fa703956c8bbc5d5cb76d -Author: Mark Vitale -Date: Thu Nov 30 16:46:16 2017 -0500 +commit 3a833a7fa825731442a358b93dbbdb9f202c64f1 +Author: Benjamin Kaduk +Date: Sun May 27 13:11:05 2018 -0500 - LINUX: add afs_d_alias_lock & _unlock compat wrappers + Synchronize libafsauthent afsconf_ exports with windows - Simplify some #ifdefs for HAVE_DCACHE_LOCK by pushing them down into - new helpers in osi_compat.h. + The Windows library was exporting several more afsconf_* symbols + than the Unix one; bring them into sync. - No functional change should be incurred by this commit. - - Reviewed-on: https://gerrit.openafs.org/12790 + Reviewed-on: https://gerrit.openafs.org/13126 + Tested-by: BuildBot + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 652cd597d9b3cf1a9daccbbf6bf35f1b0cd55a94) + (cherry picked from commit bcce41bd99b4361631b64cf4749d1dcf80df1cd7) - Change-Id: I6aec7d6a21e68011ca10ceaa15e83d80f52fad59 - Reviewed-on: https://gerrit.openafs.org/12848 + Change-Id: I4993395d30ca93d28e0ccd4c6ad52975a1e23324 + Reviewed-on: https://gerrit.openafs.org/13178 Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit 0ec02ef73d7b94bbe83e7532524c096799cd4b25 -Author: Mark Vitale -Date: Thu Nov 30 16:08:38 2017 -0500 +commit 5fd4b3c417ebc0d5e1b4daef4fbc0950ad05c10a +Author: Michael Meffie +Date: Mon Apr 9 19:50:28 2018 -0400 - LINUX: create afs_linux_dget() compat wrapper + autoconf: remove uss from configure summary - For dentry operations that cover multiple dentry aliases of - a single inode, create a compatibility wrapper to hide differences - between the older dget_locked() and the current dget(). + Commit 00a33b26d74aa067086ddc340efb82184715857f (uss: always build uss) + made the uss build unconditional. Remove it from the list of optional + items in the configure summary. - No functional change should be incurred by this commit. - - Reviewed-on: https://gerrit.openafs.org/12789 - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 74f4bfc627c836c12bb7c188b86d570d2afdcae8) - - Change-Id: Id854e5957547a1370cadb400f7f699c30d861fd1 - Reviewed-on: https://gerrit.openafs.org/12847 + Reviewed-on: https://gerrit.openafs.org/13004 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk - -commit ae70407fafa3faa94706979c727f53a625939061 -Author: Mark Vitale -Date: Thu Nov 30 13:45:27 2017 -0500 - - Revert "LINUX: do not use d_invalidate to evict dentries" + (cherry picked from commit 85e9db22b265f9bb3745246fea3a07158b8a8c0e) - Linux recently changed the semantics of d_invalidate() to: - - return void - - invalidate even a current working directory - - OpenAFS commit c3bbf0b4444db88192eea4580ac9e9ca3de0d286 switched libafs - to use d_prune_aliases() instead. - - However, since that commit, several things have happened: - - RHEL 7.4 changed the semantics of d_invalidate() such that it - invalidates the cwd, but did NOT change the return type to void. - This broke our autoconf test for detecting the new semantics. - - Further research reveals that d_prune_aliases() was not the best - choice for replacing d_invalidate(). This is because for directories, - d_prune_aliases() doesn't invalidate dentries when they are referenced - by its children, and it doesn't walk the tree trying to invalidate - child dentries. So it can leave dentries dangling, if the only - references to thos dentries are via children. - - In preparation for future commits, revert - c3bbf0b4444db88192eea4580ac9e9ca3de0d286 . - - Reviewed-on: https://gerrit.openafs.org/12788 - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 367693bd7da2de593e3329f6acc4a4d07621fb97) - - Change-Id: I3dfa9127adf8424fe675e237194d6ade5a7fc4f1 - Reviewed-on: https://gerrit.openafs.org/12846 + Change-Id: I345752f0739edc3d621b39a50157adb23923e256 + Reviewed-on: https://gerrit.openafs.org/13111 Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Joe Gorse + Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk -commit 2a06e32c398bbb9e74258799d87a599d286f97d9 -Author: Mark Vitale -Date: Thu Nov 30 14:04:48 2017 -0500 - - Revert "LINUX: eliminate unused variable warning" - - This reverts commit 19599b5ef5f7dff2741e13974692fe4a84721b59 - to allow also reverting commit - c3bbf0b4444db88192eea4580ac9e9ca3de0d286 . - - Reviewed-on: https://gerrit.openafs.org/12787 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit f8247078bd33a825d8734b2c8f05120d15ab3ffd) - - Change-Id: I023c88e19d9f1a18b2bfaec8a35bd635f157b570 - Reviewed-on: https://gerrit.openafs.org/12845 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e412a87b1f6a68a2c0b9e1baad1c328fdccbd41d +commit 7a191a7864f950a1b50703c3c9bbc2dcecf82669 Author: Pat Riehecky -Date: Thu Mar 12 14:33:10 2015 -0500 +Date: Fri May 25 12:03:35 2018 -0500 - redhat: separate debuginfo package for kmod rpm + Remove pointless assignments - Place the debuginfo for the kmod into its own rpm so that - it doesn't have to track against the userspace packages. + scan-build identified these var assignements as being unused or redundant. - FIXES 132034 - - Reviewed-on: https://gerrit.openafs.org/11867 + Reviewed-on: https://gerrit.openafs.org/13086 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot - (cherry picked from commit 443dd5367e0cd9050ad39a6594c5be521271b4e9) + (cherry picked from commit e71985bce593e9dba43443e084eb726fcc5259e3) - Change-Id: I6a24bb08242ec34c123880e9cbca4580a3560cba - Reviewed-on: https://gerrit.openafs.org/12822 + Change-Id: Ic93c5e775f13a8f75ba619391d71cb78f4dc06ae + Reviewed-on: https://gerrit.openafs.org/13150 + Tested-by: BuildBot + Reviewed-by: PatRiehecky + Reviewed-by: Benjamin Kaduk + +commit 47694e2976034cef094be5f0b5d0fd0c5bc16893 +Author: Pat Riehecky +Date: Wed May 23 15:50:45 2018 -0500 + + Add braces to empty conditional blocks + + GCC 7+ is able to quickly optimize away empty if/else blocks if the braces are + provided. While this adds some additional syntax, it should also result + in faster optimization, so change our empty blocks after conditionals to use + braces. + + FIXES 134377 + + Reviewed-on: https://gerrit.openafs.org/13081 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit a411366f57dcf39cc17b6d61d8332e520dff57d1) + + Change-Id: I9243105d75878487ec965070d3946e8d683f264b + Reviewed-on: https://gerrit.openafs.org/13149 + Tested-by: BuildBot + Reviewed-by: PatRiehecky + Reviewed-by: Benjamin Kaduk + +commit c41860c2c0c4e0cc3c09aada08089b21fe7e98e6 +Author: Pat Riehecky +Date: Fri May 25 12:48:15 2018 -0500 + + Convert extended character set to unicode + + Reviewed-on: https://gerrit.openafs.org/13088 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 9670937d5f12f1edc7bdcb588133f53ec1af2d6f) + + Change-Id: I8ba39f92dd485cf8b12fc99cf4251277b29e403d + Reviewed-on: https://gerrit.openafs.org/13152 + Reviewed-by: PatRiehecky Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 7a80b4ba67b0d295df72e87da4aa638bd5e245de -Author: Stephan Wiesand -Date: Fri Dec 22 14:40:32 2017 +0100 +commit 37daf101007e92038560913b56ac0330fce3d230 +Author: Michael Meffie +Date: Mon Apr 25 11:19:10 2016 -0400 - Linux 4.15: check for 2nd argument to pagevec_init + Windows: define AFS_IHANDLE_PIO_ENV for ihandle pio - Linux 4.15 removes the distinction between "hot" and "cold" cache - pages, and pagevec_init() no longer takes a "cold" flag as the - second argument. Add a configure test and use it in osi_vnodeops.c . + Support for positional i/o in the ihandle package was added to the + windows platform in commit 50b6a116a1c412d0e6d7442d13d6e92c9dbb35ee + using native windows functions. That commit also defined HAVE_PIO in + the windows version of the afsconfig.h file. Unfortunately, that + definition of HAVE_PIO is not limited to the ihandle package. - Reviewed-on: https://gerrit.openafs.org/12824 + Remove the project-wide HAVE_PIO definition from the windows afsconfig.h + file and define the new AFS_IHANDLE_PIO_ENV symbol when position i/o + support is available in the ihandle package. + + Build the fallback ih_pread and ih_pwrite functions (which use lseek) + only when positional i/o is not available in the ihandle package for the + current platform. + + Use AFS_IHANDLE_PIO_ENV instead of HAVE_PIO in ih_open() to determine + when it is is safe to share ihandles among threads. + + Reviewed-on: https://gerrit.openafs.org/12270 + Reviewed-by: Andrew Deason Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 759f29cfdfabed4dc5c1b96a0b2b79a3f83c08e3) + + Change-Id: Ic64f9e65b10fbe6f7650eff852d5a7e20762ef10 + Reviewed-on: https://gerrit.openafs.org/13148 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit ba18ab004566b82b52882326727fa33a297bd05c +Author: Mark Vitale +Date: Tue Apr 24 14:41:11 2018 -0400 + + ptserver: improve PR_GetHostCPS logging + + The IP address of the host is logged as a signed number. Instead, log + it as the unsigned (and hex) representation of the host IP addr. + + Reviewed-on: https://gerrit.openafs.org/13043 + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 8225518cd08b810bf3d8c74e27e3d3a753b6b30b) + + Change-Id: Idbb380fa0c9d71398ea2d47ba49fd217be9f9f26 + Reviewed-on: https://gerrit.openafs.org/13147 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 1962edf361341df0b842cd749493026a4540cc7a +Author: Michael Meffie +Date: Fri Apr 27 22:59:57 2018 -0400 + + vol: check for bad partition names + + Currently, servers attempt to attach any partition name starting with + "/vicep", even partition names which map to out of range partition ids. + Examples of such misnamed partitions are "/vicepzz", "/vicep0", and + others. + + The presence of these misnamed partitions cause the server processes to + crash on startup, since the out of range partition ids are used as an + index. + + Add a check for the bad partition names in VCheckPartitions to avoid + attaching them. Log a warning for such partitions to let the admins know + why the partitions are not attached. + + Reviewed-on: https://gerrit.openafs.org/13038 + Reviewed-by: Benjamin Kaduk Reviewed-by: Marcio Brito Barbosa - Tested-by: Marcio Brito Barbosa - Reviewed-by: Benjamin Kaduk - (cherry picked from commit fb1f14d8ee963678a9caad0538256c99c159c2c4) - - Change-Id: Ib9e0751e4900d984a4197d18ee9ebb1bdc7bf331 - Reviewed-on: https://gerrit.openafs.org/12829 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 2ff3ef2ec6f217195dc50c04ba4e3409c23e6a4d -Author: Stephan Wiesand -Date: Fri Dec 22 14:17:09 2017 +0100 - - Linux: use plain page_cache_alloc - - Linux 4.15 removes the distinction between "hot" and "cold" cache - pages, and no longer provides page_cache_alloc_cold(). Simply use - page_cache_alloc() instead, rather than adding yet another test. - - Reviewed-on: https://gerrit.openafs.org/12823 - Tested-by: BuildBot - Reviewed-by: Marcio Brito Barbosa - Tested-by: Marcio Brito Barbosa - Reviewed-by: Benjamin Kaduk - (cherry picked from commit be5f5b2aff2d59986dd8e7dd7dd531be24c27cb2) - - Change-Id: I2d4df508abfa9d3c7020b8a2817ed3e882a4dbbc - Reviewed-on: https://gerrit.openafs.org/12828 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit d9bb508e07f32219679c0e696f07f95e3b48886c -Author: Marcio Barbosa -Date: Thu Oct 12 12:42:40 2017 -0300 - - macos: make the OpenAFS client aware of APFS - - Apple has introduced a new file system called APFS. Starting from High - Sierra, APFS replaces Mac OS Extended (HFS+) as the default file system - for solid-state drives and other flash storage devices. - - The current OpenAFS client is not aware of APFS. As a result, the - installation of the current client into an APFS volume will panic the - machine. - - To fix this problem, make the OpenAFS client aware of APFS. - - Reviewed-on: https://gerrit.openafs.org/12743 - Tested-by: BuildBot + Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 6e57b22642bafb177e0931b8fb24042707d6d62f) - - Change-Id: I60d2a57fae3ee227bb3327a5e18962f46b49c991 - Reviewed-on: https://gerrit.openafs.org/12827 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5857724bf60e7706bcefde63d8fa0c7b2119e662 -Author: Marcio Barbosa -Date: Fri Oct 6 10:01:12 2017 -0300 - - macos: packaging support for MacOS X 10.13 - - This commit introduces the new set of changes / files required to - successfully create the dmg installer on OS X 10.13 "High Sierra". - - Reviewed-on: https://gerrit.openafs.org/12742 - Tested-by: BuildBot - Reviewed-by: Marcio Brito Barbosa - Reviewed-by: Benjamin Kaduk - (cherry picked from commit e533d0737058940d59d93467c9b4d6d3ec2834e6) - - Change-Id: I8932f6a3db6a0572aa36944aa339b888fac94b7d - Reviewed-on: https://gerrit.openafs.org/12826 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ac8cab7fcd3abf76c39e9e08c2c3d6ec0c184837 -Author: Marcio Barbosa -Date: Tue Oct 3 17:01:56 2017 -0300 - - macos: add support for MacOS 10.13 - - This commit introduces the new set of changes / files required to - successfully build the OpenAFS source code on OS X 10.13 "High Sierra". - - Reviewed-on: https://gerrit.openafs.org/12741 - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 804c9cbf501d4ca91b69ad8fd6d64e49efa25a47) - - Change-Id: I9abcccf8313c8ac075eb1edbd36cbaa565968b38 - Reviewed-on: https://gerrit.openafs.org/12825 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 383688fa0d6904291578eb1f9a7c2ec1e06f54ca -Author: Benjamin Kaduk -Date: Thu Dec 14 19:54:57 2017 -0600 - - Fix macro used to check kernel_read() argument order - - The m4 macro implementing the configure check is called - LINUX_KERNEL_READ_OFFSET_IS_LAST, but it defines a preprocessor symbol - that is just KERNEL_READ_OFFSET_IS_LAST. Our code needs to check - for the latter being defined, not the former. - - Reported by Aaron Ucko. - - Reviewed-on: https://gerrit.openafs.org/12808 - Reviewed-by: Anders Kaseorg - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit edc5463f3db4b6af2307741d9f4ee8f2c81cd98e) - - Change-Id: I7bc6615118f1200d3f257e7a01652b49b458a8fa - Reviewed-on: https://gerrit.openafs.org/12809 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3cae0a01d0a60dca3d3aa089c6a19d52243c75b9 -Author: Benjamin Kaduk -Date: Mon Dec 4 18:14:22 2017 -0600 - - Update NEWS for rx security fix - - Change-Id: I30282ac8f51a7b16dd851fdbd41464f8fdafc279 - -commit eae2575dc738bd69bb6a0a84f87f02f5cf2b4eb9 -Author: Benjamin Kaduk -Date: Mon Dec 4 17:20:57 2017 -0600 - - OPENAFS-SA-2017-001: rx: Sanity-check received MTU and twind values - - Rather than blindly trusting the values received in the - (unauthenticated) ack packet trailer, apply some minmial sanity checks - to received values. natMTU and regular MTU values are subject to - Rx minmium/maximum packet sizes, and the transmit window cannot drop - below one without risk of deadlock. - - The maxDgramPackets value that can also be present in the trailer - already has sufficient sanity checking. - - Extremely low MTU values (less than 28 == RX_HEADER_SIZE) can cause us - to set a negative "maximum usable data" size that gets used as an - (unsigned) packet length for subsequent allocation and computation, - triggering an assertion when the connection is used to transmit data. - - FIXES 134450 - - (cherry picked from commit 894555f93a2571146cb9ca07140eb98c7a424b01) - - Change-Id: I98e2a65d1aa291a73e8cfed9c9eaac71c6af00dc - -commit 352fbc811162fcdaa39cb7834475f40ba72fad11 -Author: Benjamin Kaduk -Date: Wed Nov 8 07:11:45 2017 -0600 - - Make OpenAFS 1.8.0pre3 - - Update the version strings for the third 1.8.0 prerelease. - - Change-Id: I25a4eee4de04e57ffcf9055f69ae9a3d683b8d64 - Reviewed-on: https://gerrit.openafs.org/12765 - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 1efc44f397efb647a55347cb71e7d41c050f6c3c -Author: Benjamin Kaduk -Date: Mon Nov 6 21:30:04 2017 -0600 - - Update NEWS for 1.8.0pre3 - - Change-Id: I38110825cbe8b5c4ca18d86e4542374ae26f6fd4 - Reviewed-on: https://gerrit.openafs.org/12764 - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - -commit e2c47cae56ba0d804af119fb158a9fe77fa3a15e -Author: Benjamin Kaduk -Date: Mon Nov 27 22:17:28 2017 -0600 - - afs: Fix bounds check in PNewCell - - Reported by the opensuse buildbot: - - CC [M] /home/buildbot/opensuse-tumbleweed-i386-builder/build/src/libafs/MODLOAD-4.13.12-1-default-MP/rx_packet.o - /home/buildbot/opensuse-tumbleweed-i386-builder/build/src/afs/afs_pioctl.c: In function ā€˜PNewCellā€™: - /home/buildbot/opensuse-tumbleweed-i386-builder/build/src/afs/afs_pioctl.c:3075:55: error: ā€˜*ā€™ in boolean context, suggest ā€˜&&ā€™ instead [-Werror=int-in-bool-context] - if ((afs_pd_remaining(ain) < AFS_MAXCELLHOSTS +3) * sizeof(afs_int32)) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ - - The bug was introduced in commit 718f85a8b6. - - Reviewed-on: https://gerrit.openafs.org/12782 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 4fa0ee620cfb9991ca9748b5ee116cc8e1e6c505) - - Change-Id: I0963403846a62dddf2d13ce3c03d772a6d869119 - Reviewed-on: https://gerrit.openafs.org/12784 - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 6e611c56c5b910e329c20c3a20ed2ba5755b0461 -Author: Benjamin Kaduk -Date: Mon Nov 27 22:07:53 2017 -0600 - - rx: fix call refcount leak in error case - - The recent event handling normalization in commit - 304d758983b499dc568d6ca57b6e92df24b69de8 had event handlers switch - to dropping their reference on the associated connection/call just - before return. An early return case was missed in the conversion, - leading to a refcount leak in an error case. - - Reviewed-on: https://gerrit.openafs.org/12781 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 66b74e78ba5fea6a8236dcd3b8b46e1dfa6a0ac7) - - Change-Id: I532c49b2ef6ec95dd26a99c02e12ea53348f9690 - Reviewed-on: https://gerrit.openafs.org/12783 - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ad11867973dc2481ee4897540a6d9279ebf36c42 -Author: Marcio Barbosa -Date: Thu Nov 16 17:24:03 2017 -0500 - - afs: fix kernel_write / kernel_read arguments - - The order / content of the arguments passed to kernel_write and - kernel_read are not right. As a result, the kernel will panic if one of - the functions in question is called. - - [kaduk@mit.edu: include configure check for multiple kernel_read() - variants, per linux commits bdd1d2d3d251c65b74ac4493e08db18971c09240 - and e13ec939e96b13e664bb6cee361cc976a0ee621a] - - FIXES 134440 - - Reviewed-on: https://gerrit.openafs.org/12769 - Tested-by: BuildBot - Tested-by: Marcio Brito Barbosa - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 3ce55426ee6912b78460465bcaa1428333ad1fbc) - - Change-Id: I28f04f7625a471c37f98515d5186f80082bf6a43 - Reviewed-on: https://gerrit.openafs.org/12780 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 42993b3a33d53a6e16337d2ebe15539d0febdef1 -Author: Michael Meffie -Date: Mon Nov 6 17:37:46 2017 -0500 - - tests: fix out of bounds access in the rx-event test - - Use the NUMEVENTS symbol which defines the array size instead of an - incorrect hard coded number when checking if a second event can be added - to be fired at the same time. This fixes a potential out of bounds - access of the event test array. - - Also update the comment which incorrectly mentions the incorrect number - of events in the test. - - Reviewed-on: https://gerrit.openafs.org/12762 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 50a3eb7b7ee94bffaadc98429bd404164e89ec7f) - - Change-Id: I7a975e7498c1c7416a800c9294c97ee4de4fd57a - Reviewed-on: https://gerrit.openafs.org/12779 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 6c635a66b54bcfa2920ac532905758346c89c772 -Author: Benjamin Kaduk -Date: Thu Nov 16 04:49:49 2017 -0600 - - Sprinkle rx_GetConnection() for concision - - Instead of inlining the body (taking the lock, incrementing the - refcount, and dropping the lock), use the convenience function - designed for this purpose. - - Reviewed-on: https://gerrit.openafs.org/12772 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 2ae84bf053fe66b73a2c77b5d71305bae2c17587) - - Change-Id: I60794d877a76fbb7c8ba59207e710a20641cc8f1 - Reviewed-on: https://gerrit.openafs.org/12778 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 667617b8702e797e34cc957ef200a803030ee901 -Author: Benjamin Kaduk -Date: Thu Nov 16 04:48:02 2017 -0600 - - rx: fix mutex leak in error case - - Reported by Mark Vitale - - Reviewed-on: https://gerrit.openafs.org/12771 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 01bcfd3e14f6ee1faa4b8ce5a7932de37d585fd3) - - Change-Id: I4384d6813a5cfb053e6991eb3c157fa59ecfa11b - Reviewed-on: https://gerrit.openafs.org/12777 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 4220eadae01d09b2c54e16c689b1a58e558db19c -Author: Benjamin Kaduk -Date: Tue Oct 31 19:49:09 2017 -0500 - - Add event-related mutex assertions - - In utility functions that access fields of type struct rxevent *, - assert that the appropriate lock is held for the access in question. - - These assertions are only compiled in when built with -DOPR_DEBUG_LOCKS, - which can be enbled by --debug-locks at configure time. - - Reviewed-on: https://gerrit.openafs.org/12757 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit a7a3108e602c83176c5578c9f28b6312f71aba78) - - Change-Id: I147a2e475feffb1b75a08ac5b08614bd6d8f46a5 - Reviewed-on: https://gerrit.openafs.org/12776 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8ce3b5e253d980ebab34c3928720d1097b1ba342 -Author: Benjamin Kaduk -Date: Sat Oct 7 22:42:38 2017 -0500 - - Standardize rx_event usage - - Go over all consumers of the rx event framework and normalize its usage - according to the following principles: - - rxevent_Post() is used to create an event, and it returns an event - handle (with a reference on the event structure) that can be used - to cancel the event before its timeout fires. (There is also an - additional reference on the event held by the global event tree.) - In all(*) usage within the tree, that event handle is stored within - either an rx_connection or an rx_call. Reads/writes to the member variable - that holds the event handle require either the conn_data_lock or call - lock, respectively -- that means that in most cases, callers of - rxevent_Post() and rxevent_Cancel() will be holding one of those - aforementioned locks. The event handlers themselves will need to - modify the call/connection object according to the nature of the - event, which requires holding those same locks, and also a guarantee - that the call/connection is still a live object and has not been - deallocated! Whether or not rxevent_Cancel() succeeds in cancelling - the event before it fires, whenever passed a non-NULL event structure - it will NULL out the supplied pointer and drop a reference on the - event structure. This is the correct behavior, since the caller - has asked to cancel the event and has no further use for the event - handle or its reference on the event structure. The caller of - rxevent_Cancel() must check its return value to know whether or - not the event was cancelled before its handler was able to run. - - The interaction window between the call/connection lock and the lock - protecting the red/black tree of pending events opens up a somewhat - problematic race window. Because the application thread is expected - to hold the call/connection lock around rxevent_Cancel() (to protect - the write to the field in the call/connection structure that holds - an event handle), and rxevent_Cancel() must take the lock protecting - the red/black tree of events, this establishes a lock order with the - call/connection lock taken before the eventTree lock. This is in - conflict with the event handler thread, which must take the eventTree - lock first, in order to select an event to run (and thus know what - additional lock would need to be taken, by virtue of what handler - function is to be run). The conflict is easy to resolve in the - standard way, by having a local pointer to the event that is obtained - while the event is removed from the red/black tree under the eventTree - lock, and then the eventTree lock can be dropped and the event run - based on the local variable referring to it. The race window occurs - when the caller of rxevent_Cancel() holds the call/connection lock, - and rxevent_Cancel() obtains the eventTree lock just after the event - handler thread drops it in order to run the event. The event handler - function begins to execute, and immediately blocks trying to obtain - the call/connection lock. Now that rxevent_Cancel() has the eventTree - lock it can proceed to search the tree, fail to find the indicated event - in the tree, clear out the event pointer from the call/connection - data structure, drop its caller's reference to the event structure, - and return failure (the event was not cancelled). Only then does the - caller of rxevent_Cancel() drop the call/connection lock and allow - the event handler to make progress. - - This race is not necessarily problematic if appropriate care is taken, - but in the previous code such was not the case. In particular, it - is a common idiom for the firing event to call rxevent_Put() on itself, - to release the handle stored in the call/connection that could have - been used to cancel the event before it fired. Failing to do so would - result in a memory leak of event structures; however, rxevent_Put() does - not check for a NULL argument, so a segfault (NULL dereference) was - observed in the test suite when the race occurred and the event handler - tried to rxevent_Put() the reference that had already been released by - the unsuccessful rxevent_Cancel() call. Upon inspection, many (but not - all) of the uses in rx.c were susceptible to a similar race condition - and crash. - - The test suite also papers over a related issue in that the event handler - in the test suite always knows that the data structure containing the - event handle will remain live, since it is a global array that is allocated - for the entire scope of the test. In rx.c, events are associated with - calls and connections that have a finite lifetime, so we need to take care - to ensure that the call/connection pointer stored in the event remains - valid for the duration of the event's lifecycle. In particular, even an - attempt to take the call/connection lock to check whether the corresponding - event field is NULL is fraught with risk, as it could crash if the lock - (and containing call/connection) has already been destroyed! There are - several potential ways to ensure the liveness of the associated - call/connection while the event handler runs, most notably to take care - in the call/connection destruction path to ensure that all associated - events are either successfully cancelled or run to completion before - tearing down the call/connection structure, and to give the pending event - its own reference on the associated call/connection. Here, we opt for - the latter, acknowledging that this may result in the event handler thread - doing the full call/connection teardown and delay the firing of subsequent - events. This is deemed acceptable, as pending events are for intentionally - delayed tasks, and some extra delay is probably acceptable. (The various - keepalive events and the challenge event could delay the user experience - and/or security properties if significantly delayed, but I do not believe - that this change admits completely unbounded delay in the event handler - thread, so the practical risk seems minimal.) - - Accordingly, this commit attempts to ensure that: - - * Each event holds a formal reference on its associated call/connection. - * The appropriate lock is held for all accesses to event pointers in - call/connection structures. - * Each event handler (after taking the appropriate lock) checks whether - it raced with rxevent_Cancel() and only drops the call/connection's - reference to the event if the race did not occur. - * Each event handler drops its reference to the associated call/connection - *after* doing any actions that might access/modify the call/connection. - * The per-event reference on the associated call/connection is dropped by - the thread that removes the event from the red/black tree. That is, - the event handler function if the event runs, or by the caller of - rxevent_Cancel() when the cancellation succeed. - * No non-NULL event handles remain in a call/connection being destroyed, - which would indicate a refcounting error. - - (*) There is an additional event used in practice, to reap old connections, - but it is effectively a background task that reschedules itself - periodically, with no handle to the event retained so as to be able - to cancel it. As such, it is unaffected by the concerns raised here. - - While here, standardize on the rx_GetConnection() function for incrementing - the reference count on a connection object, instead of inlining the - corresponding mutex lock/unlock and variable access. - - In contrast to what was done on master, for the 1.8 branch we do not - force-enable refcount checking. - - Reviewed-on: https://gerrit.openafs.org/12756 - Reviewed-by: Mark Vitale - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 304d758983b499dc568d6ca57b6e92df24b69de8) - - Change-Id: I68e6cc162a148b6ebbabe037a7bc3cccd648423c - Reviewed-on: https://gerrit.openafs.org/12775 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 6db2c0a111336a24199c0acf4e02635c97f4ff2b -Author: Benjamin Kaduk -Date: Wed Oct 4 23:03:44 2017 -0500 - - Adjust rx-event test to exercise cancel/fire race - - We currently do not properly handle the case where a thread runs - rxevent_Cancel() in parallel with the event-handler thread attempting - to fire that event, but the test suite only picked up on this issue - in a handful of the Debian automated builds (somewhat less-resourced - ones, perhaps). - - Modify the event scheduling algorithm in the test so as to create a - larger chunk of events scheduled to fire "right away" and thereby - exercise the race condition more often when we proceed to cancel - a quarter of events "right away". - - Reviewed-on: https://gerrit.openafs.org/12755 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - (cherry picked from commit bdb509fb1d8e0fdca05dffecdbcbf60a95ea502e) - - Change-Id: I27cebed3c2c3daff10b8d3f5f6f949e667791a72 - Reviewed-on: https://gerrit.openafs.org/12774 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 527ead6fdd8acd241db04cf4c43677248b59d164 -Author: Michael LaƟ -Date: Thu Nov 2 21:16:49 2017 +0100 - - gtx: link against libtinfo if termlib is seperated - - If ncurses is built with "./configure --with-termlib=tinfo", gtx fails - to link because of an undefined reference to the LINES symbol which is - then provided by libtinfo.so and not libncurses.so. - - If ncurses is present, additionally check whether LINES is provided by - ncurses or tinfo and set $LIB_curses accordingly. - - This change is based on a patch provided by Bastian Beischer. - - FIXES 134420 - - Reviewed-on: https://gerrit.openafs.org/12760 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 311f1d28a2f626350b33ad432e674055b62511bd) - - Change-Id: I2f69fe51bbefeeb2a17145a88aa9c891644f2f61 - Reviewed-on: https://gerrit.openafs.org/12763 - Tested-by: BuildBot - Reviewed-by: Michael LaƟ - Reviewed-by: Benjamin Kaduk - -commit d93f80622370f50d7bce5c5b00cd062f15ee9eba -Author: Damien Diederen -Date: Mon Sep 18 12:18:39 2017 +0200 - - Linux: Use kernel_read/kernel_write when __vfs variants are unavailable - - We hide the uses of set_fs/get_fs behind a macro, as those functions - are likely to soon become unavailable: - - > Christoph Hellwig suggested removing all calls outside of the core - > filesystem and architecture code; Andy Lutomirski went one step - > further and said they should all go. - - https://lwn.net/Articles/722267/ - - Reviewed-on: https://gerrit.openafs.org/12729 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 5ee516b3789d3545f3d78fb3aba2480308359945) - - Change-Id: I28a7126bf6ab048f8d949f190e557a3fa44f3f46 - Reviewed-on: https://gerrit.openafs.org/12737 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit c42a25d28fbcc76fdcac2b5f29704f8f1b353b45 -Author: Damien Diederen -Date: Mon Sep 18 11:59:40 2017 +0200 - - Linux: Test for __vfs_write rather than __vfs_read - - The following commit: - - commit eb031849d52e61d24ba54e9d27553189ff328174 - Author: Christoph Hellwig - Date: Fri Sep 1 17:39:23 2017 +0200 - - fs: unexport __vfs_read/__vfs_write - - unexports both __vfs_read and __vfs_write, but keeps the former in - fs.h--as it is is still being used by another part of the tree. - - This situation results in a false positive in our Autoconf check, - which does not see the export statements, and ends up marking the - corresponding API as available. - - That, in turn, causes some code which assumes symmetry with - __vfs_write to fail to compile. - - Switch to testing for __vfs_write, which correctly marks the API as - unavailable. - - Reviewed-on: https://gerrit.openafs.org/12728 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - (cherry picked from commit 929e77a886fc9853ee292ba1aa52a920c454e94b) - - Change-Id: I03e3c8222360a6b04b45b45a8f56b5df054f6783 - Reviewed-on: https://gerrit.openafs.org/12736 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit bc384b7d5e4818c567a64fe4a935f021d936444f -Author: Benjamin Kaduk -Date: Mon Oct 16 16:53:22 2017 -0500 - - Correct m4 conditionals in curses.m4 - - AS_IF does not invoke the test(1) shell builtin for us, so we must - take care to consistently use it ourself. - - While here, sprinkle some missing double-quotes around variable - expansions in AS_IF statements in this file. - - Submitted by Bastian Beischer. - - FIXES 134414 - - Change-Id: Iccfe311011f17de6317cf64abdc58b0812b81b8c - Reviewed-on: https://gerrit.openafs.org/12738 - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk - (cherry picked from commit e0c5ada214596d5adb6798682d5e280cc99f447c) - Reviewed-on: https://gerrit.openafs.org/12739 - -commit 688b3570867cda3035ec6bcd9c7538cf651f38f6 -Author: Anders Kaseorg -Date: Fri Sep 1 23:37:07 2017 -0400 - - vol: Fix two buffers being one char too short + (cherry picked from commit c0f2c26e9298d12209fbb5e523ea3173202316e5) - Fixes these warnings: - - namei_ops.c: In function 'namei_copy_on_write': - namei_ops.c:1328:31: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=] - snprintf(path, sizeof(path), "%s-tmp", name.n_path); - ^~~~~~~~ - namei_ops.c:1328:2: note: 'snprintf' output between 5 and 260 bytes into a destination of size 259 - snprintf(path, sizeof(path), "%s-tmp", name.n_path); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - vol_split.c: In function 'split_volume': - vol_split.c:576:22: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] - sprintf(symlink, "#%s", V_name(newvol)); - ^~~~~ - vol_split.c:576:5: note: 'sprintf' output between 2 and 33 bytes into a destination of size 32 - sprintf(symlink, "#%s", V_name(newvol)); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Reviewed-on: https://gerrit.openafs.org/12722 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 0a9a6b57ce6e1c97fcc651c8cb74e66fc8422a1e) - - Change-Id: Ia60439aed7925b786a0213d96a7afb413579e01f - Reviewed-on: https://gerrit.openafs.org/12723 + Change-Id: Id7dcbd80402b7c8ec1f0e2e5fa2ea0123a2da898 + Reviewed-on: https://gerrit.openafs.org/13120 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk -commit 7073408688da021864bba59c592e8924e05adb91 -Author: Seth Forshee -Date: Tue Aug 22 07:59:11 2017 -0500 - - Linux: Include linux/uaccess.h rather than asm/uaccess.h if present - - Starting with Linux 4.12 there is a module build error on s390 - due to asm/uaccess.h using a macro defined in the common header. - The common header has been around since 2.6.18 and has always - included asm/uaccess.h, so switch to using the common header - whenever it is present. - - Signed-off-by: Seth Forshee - Reviewed-on: https://gerrit.openafs.org/12714 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - (cherry picked from commit 962f4838dc461567d896304f617a0923745d13d5) - - Change-Id: I5a7834b982458159804bc4d940e39ef283253299 - Reviewed-on: https://gerrit.openafs.org/12718 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit a3812407f28439bb69f052f0115171cdf04927da -Author: Benjamin Kaduk -Date: Tue Aug 1 20:43:41 2017 -0500 - - Make OpenAFS 1.8.0pre2 - - Update the version strings for the second 1.8.0 prerelease. - - Change-Id: I3e3f950d0565b877a4da4f8843a015ac392484d5 - Reviewed-on: https://gerrit.openafs.org/12683 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit bfc5d1ada2f5ce12bfafe65d352982adbefe9911 -Author: Benjamin Kaduk -Date: Tue Aug 1 20:57:52 2017 -0500 - - Remove src/mcas - - This lock-free library toolkit is intriguing and may be the subject - of future work, but such development will occur on the master branch, - and these files are just clutter on openafs-stable-1_8_x. Remove - them to give the tree a more clean start. - - Remove src/mcas and stop mentioning it in SOURCE-MAP; don't reference - it in the rpctests, either. - - Change-Id: I21b1b6b64a709fe40aa53aaf3470d128c0dc2f86 - Reviewed-on: https://gerrit.openafs.org/12682 - Tested-by: Benjamin Kaduk - Reviewed-by: Mark Vitale - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit 7c2ce4040e94e954e51945daac03cc39e885d3ce -Author: Benjamin Kaduk -Date: Tue Aug 1 20:55:52 2017 -0500 - - Remove src/rxgk - - These files were commited slightly prematurely to the tree; rxgk - support is intended for the 2.0 release, and will not appear in the - 1.8.x release series. - - Remove src/rxgk and drop mentions of rxgk from configure/Makefile.in/etc. - - Change-Id: Ib7d40eaac85b05d920781b61f73dbdf8fedfcc2b - Reviewed-on: https://gerrit.openafs.org/12681 - Tested-by: Benjamin Kaduk - Reviewed-by: Mark Vitale - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit e739eaa650ee30dcce54d05908b062839eafbf73 -Author: Michael Meffie -Date: Fri Apr 14 20:38:27 2017 -0400 - - redhat: move bosserver and fssync-debug man pages - - Move the bosserver and fssync-debug/dafssync-debug man pages to the - openafs-server package, which distributes those programs. - - Change-Id: I9c84ad485834177fd43b28acd444d3d54c648cc8 - Reviewed-on: https://gerrit.openafs.org/12601 - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 5b79f95f7457f203213a9170389b17ffcc0208f7 -Author: Michael Meffie -Date: Thu Apr 13 21:48:06 2017 -0400 - - redhat: kauth client and server sub-packages - - Move the kaserver and kauth client programs to conditionally built - packages called openafs-kauth-server and openafs-kauth-client. - Packagers can build these by specifying '--with kauth'. They are not - built by default to discourage use. - - This commit subsumes the openafs-kpasswd package into the - openafs-kauth-client package. - - Change-Id: I1322f05d7fe11d466c9ed71a5059c21b759d95ab - Reviewed-on: https://gerrit.openafs.org/12600 - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 54e478328fa24aa2629398c5ddfad7b50d353dd7 -Author: Michael Meffie -Date: Mon Apr 10 15:06:02 2017 -0400 - - redhat: do not package kauth by default - - Do not package kaserver and related programs by default to discourage - use. Add the '--with kauth' rpmbuild option to allow packagers to - continue include the kauth programs for compatibility. - - Change-Id: I8bf9f6dc221afc22ed6c9a33cf101d705e6c4920 - Reviewed-on: https://gerrit.openafs.org/12597 - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 6d59b7c4b4b712160a6d60491c95c111bb831fbb -Author: Benjamin Kaduk -Date: Sun Jul 30 20:57:05 2017 -0500 - - Default to crypt mode for unix clients - - Though the protection offered by rxkad, even with rxkad-k5 and rxkad-kdf, is - insufficient to protect traffic from a determined attacker, it remains the - case that the internet is not a safe place for user data to travel in the - clear, and has not been for a long time. The Windows client encrypts by - default, and all or nearly all the Unix client packaging scripts set crypt - mode by default. Catch up to reality and default to crypt mode in the - Unix cache manager. - - Change-Id: If0061ddca3bedf0df1ade8cb61ccb710ec1181d4 - Reviewed-on: https://gerrit.openafs.org/12668 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit f7ccf0aa00459cda4579a3838b5bd59ba69c03ea -Author: Marcio Barbosa -Date: Mon Jul 31 15:27:10 2017 -0400 - - ubik: remove useless signal call - - The current version does not have a corresponding LWP_WaitProcess call - for the beacon_globals.ubik_amSyncSite global. As a result, the - LWP_NoYieldSignal(&beacon_globals.ubik_amSyncSite) signal call can be - safely removed. - - Change-Id: I72c4ccfe8e68551673dc728dd699ba8c561d76d1 - Reviewed-on: https://gerrit.openafs.org/12673 - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit b4c3baa2e24890face6433fcb160e85b7409df4c -Author: Michael Meffie -Date: Wed Aug 2 15:25:45 2017 -0400 - - doc: add a document to describe rx debug packets - - This document gives a basic description of Rx debug packets, the - protocol to exchange debug packets, and the version history. - - Change-Id: Ic040d336c1e463f7da145f1a292c20c5d5f215df - Reviewed-on: https://gerrit.openafs.org/12677 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit b8e8145fa97e3edb6e4157f0d60d3d5e8db597fe -Author: Michael Meffie -Date: Tue Aug 1 20:36:18 2017 -0400 - - doc: add kolya's rx-spec to doc/txt - - Add rx protocol spec and rx debug spec written by Nickolia Zeldovich. - - Rx protocol specification draft (2002) - Nickolai Zeldovich, kolya@MIT.EDU - - Change-Id: I65a9a83a8889503f3a82c8fde7a87f84d2736c8d - Reviewed-on: https://gerrit.openafs.org/12676 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit c6f5ebc4cf95b0f1d3acc7a0a8678ba0d4378243 -Author: Michael Meffie -Date: Tue Aug 1 20:10:32 2017 -0400 - - doc: relocate notes from arch to txt - - The doc/txt directory has become the de facto home for text-based - technical notes. Relocate the contents of the doc/arch directory to - doc/txt. Relocate doc/examples to doc/txt/examples. - - Update the doc/README file to be more current and remove old work in - progress comments. - - Change-Id: Iaa53e77eb1f7019d22af8380fa147305ac79d055 - Reviewed-on: https://gerrit.openafs.org/12675 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 57d32c29146167ff54d3221ed761a5973776ae93 -Author: Benjamin Kaduk -Date: Tue Aug 1 20:50:37 2017 -0500 - - Add NEWS entry for recent ubik changes - - Of the ubik-fix-write-after-recovery topic, this seems like the most - noteworthy portion, with the other bits wrapped up in the preface. - - Change-Id: Icc1afb9f851ef2d7ade49c2382cc023997f1bf26 - Reviewed-on: https://gerrit.openafs.org/12679 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit da704137f4bf766250ca87dbdc5a85c2024cb0a6 -Author: Marcio Barbosa -Date: Thu Jul 20 23:02:15 2017 -0400 - - ubik: update epoch as soon as sync-site is elected - - The ubik_epochTime represents the time at which the coordinator first - received its coordinator mandate. However, this global is currently not - updated at the moment when a new sync-site is elected. Instead, - ubik_epochTime is only updated at the very end of the first write - transaction, when a new database label is written (in udisk_commit). - This causes at least 2 different issues: - - For one, this means that we change ubik_epochTime while a remote - transaction is in progress. If VOTE_Beacon is called after - ubik_epochTime is updated, but before the remote transaction ends, the - remote sites will detect that the transaction id in ubik_currentTrans is - wrong (via urecovery_CheckTid(), since the epoch doesn't match), and - they will abort the transaction. This means the transaction will fail, - and it may cause a loss of quorum until another election is completed. - - Another issue is that ubik_epochTime can be 0 at the beginning of a - write transaction, if this is the first election that this site has won. - Since ubik_epochTime is used to construct transaction ids, this means - that we can have different transactions that originate from different - sites at different times, but they have the same epoch in their tid. - For example, say a write transaction starts with epoch 0, but the - originating site is killed/interrupted before finishing. That write - transaction will linger on remote sites in ubik_currentTrans with an - epoch of 0 (since the originating site will never call - DISK_ReleaseLocks, or DISK_Abort, etc). Normally the sync site will kill - such a lingering transaction via urecovery_CheckTid, but since the epoch - is 0, and the election winner's epoch is also 0, the transaction looks - valid and may never be killed. If that transaction is holding a lock on - the database, this means that the database will forever remain locked, - effectively preventing any access to the db on that site. - - To fix both of these issues, update ubik_epochTime with the current - time as soon as we win the election. This ensures that the epoch is not - updated in the middle of a transaction, and it ensures that all - transactions are created with a unique epoch: the epoch of the election - that we won. - - Note that with this commit, we do not ever set ubik_epochTime to the - magic value of '2' during database init. The special '2' epoch only - needs to be set in the database itself, and it is never an actual epoch - that represents a real quorum that went through the election process. - The database will be labelled with a 'real' epoch after the first write, - like normal. - - [kaduk@mit.edu: comment the locking strategy in ubeacon_Interact()] - - Change-Id: I6cdcf5a73c1ea564622bfc8ab7024d9901af4bc8 - Reviewed-on: https://gerrit.openafs.org/12609 - Tested-by: BuildBot - Reviewed-by: Marcio Brito Barbosa - Reviewed-by: Benjamin Kaduk - -commit 32ddf88547f921b33dd93473883928051faab950 -Author: Joe Gorse -Date: Thu Jul 6 15:47:24 2017 -0400 - - LINUX: afs_create infinite fetchStatus loop - - For a file in a directory with the CStatd bit cleared, we can get - an infinite fetchStatus loop. - - In afs_create(), afs_getDCache() may return NULL due to an error. - If unchecked it will loop which may produce multiple fetchStatus() - calls to the fileserver. - - Credit: Yadav Yadavendra for identifying and analysing this issue. - - Change-Id: Iecd77d49a5f3e8bb629396c57246736b39aa935f - Reviewed-on: https://gerrit.openafs.org/12651 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 18fabf9aecf358e0f45e25f6249685f7f2e32485 -Author: Benjamin Kaduk -Date: Wed Aug 2 19:31:17 2017 -0500 - - Update NEWS for volume stats default change - - Change-Id: I1a184bf638609866f6f7f1d11c224dfee1113eef - Reviewed-on: https://gerrit.openafs.org/12678 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 8e1ca72b1cbed930d3661dee5cb742cab52737e9 -Author: Michael Meffie -Date: Tue Aug 1 17:21:13 2017 -0400 - - volser: preserve volume stats by default - - Commit dfceff1d3a66e76246537738720f411330808d64 added the - -preserve-vol-stats flag to the volume server. This enabled a change in - the volume server to preserve volume usage statistics during reclone and - restore operations. Otherwise, volume usage counters of read-only - volumes are cleared when volumes are released, making it difficult to - track usage with the volume stats. - - Make this feature the default behavior of the volume server and provide - the option -clear-vol-stats to use the old behavior if so desired. This - change makes the -preserve-vol-stats the default, and keeps it as a - hidden flag for sites which may already have that flag set in the - BosConfig. - - Since this changes a default behavior of the volume server, this change - is only appropriate on a major or minor release boundary, not in the - middle of a stable series. - - Change-Id: I3706ede64b7b18a80b39ebd55f2e1824bb7dbc57 - Reviewed-on: https://gerrit.openafs.org/12674 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 7c7085061580ccce7b2d9c17df5604e5e97fcd81 -Author: Marcio Barbosa -Date: Mon May 22 12:55:32 2017 -0400 - - ubik: avoid early DISK_Begin calls we know will fail - - Currently, we can start a write transaction on a site immediately after - it is elected as the sync site. However, after commit d47beca1, - SDISK_Begin on remote sites will fail right after an election occurs - (since lastYesState is not set, and so urecovery_AllBetter will fail). - And after commit fac0b742, this error is always noticed and propagated - back to the application. - - As a result, when we try to write immediately after a sync site is - elected, the transaction will fail with UNOQUORUM, the remote sites will - be marked as down, and we may lose quorum and require another election - to be performed. This can easily happen repeatedly for a site that - frequently tries to make changes to a ubik database. - - To avoid marking other sites down and going through another election - process, do not allow write transactions until we know that lastYesState - is set on the remote sites. We do this by waiting until the next wave of - beacons are sent, which tell the remote sites that we are the sync site. - In other words, only allow write transactions after the sync site knows - that the remote sites also know that the sync site has been elected. - - With this commit, a write transaction immediately after an election - will still fail with UNOQUORUM, but we avoid triggering an error on the - remote sites, and avoid losing quorum in this situation. - - Change-Id: I9e1a76b4022e6d734af1165d94c12e90af04974d - Reviewed-on: https://gerrit.openafs.org/12592 - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 8f46ca082653116c9c42a69e2535be1bb2f0a2a9 -Author: Marcio Barbosa -Date: Wed Jun 21 17:42:37 2017 -0300 - - ubik: allow remote dbase relabel if up to date - - When a site is elected the sync-site, its database is not immediately - relabeled. The database in question will be relabeled at the end of the - first write transaction (in udisk_commit). To do so, the dbase->version - is updated on the sync-site first (1) and then the versions of the - remote sites are updated through SDISK_SetVersion() (2). - - In order to make sure that the remote site holds the same database as - the sync-site, the SDISK_SetVersion() function checks if the current - version held by the remote site (ubik_dbVersion) is equal to the - original version stored by the sync-site (oldversionp). If - ubik_dbVersion is not equal to oldversionp, SDISK_SetVersion() will - fail with USYNC. - - However, ubik_dbVersion can be updated by the vote thread at any time. - That is, if the sync site calls VOTE_Beacon() on the remote site between - events (1) and (2), the remote site will set ubik_dbVersion to the new - version, while ubik_dbase->version is still set to the old version. As - a result, ubik_dbVersion will not be equal to oldversionp and - SDISK_SetVersion() will fail with USYNC. This failure may cause a loss - of quorum until another election is completed. - - To fix this problem, let SDISK_SetVersion() relabel the database when - ubik_dbase->version is equal to oldversionp. In order to try to only - affect the scenario described above, also check if ubik_dbVersion is - equal to newversionp. - - Change-Id: I97e6f8cacd1c9bca0b4c72374c058c5fe5b638b3 - Reviewed-on: https://gerrit.openafs.org/12613 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3c12ff9fbb2724b6e430f3eeeb2c2a1d2ae3f884 -Author: Joe Gorse -Date: Wed May 10 11:38:25 2017 -0400 - - afs: fix repeated BulkStatus calls for directories. - - There is a filetype comparison check in afs_DoBulkStat just after - BulkFetch RPC. This check will fail for directories even though - bulkStatus was done for directories. - - This code is apparently necessary for Darwin, but it causes this problem - otherwise. Thus it is removed from the rest of the builds using the - AFS_DARWIN_ENV preprocessor variable. - - Credit: Yadav Yadavendra for identifying and analysing this issue. - - Change-Id: I9645f0e7a3327cb5f20cdf3ba2bf1cc5b1509bb5 - Reviewed-on: https://gerrit.openafs.org/12610 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 90acda692a589eb177dc5dee99490947106f8141 -Author: Michael Meffie -Date: Thu Jul 20 00:12:05 2017 -0400 - - relocate old afs docs to doc/txt - - Move the afs/DOC files to the top-leve doc/txt directory, since this has - become the home for developer oriented documentation. - - Change-Id: I128d338c69534b4ee6043105a7cfd390b280afe3 - Reviewed-on: https://gerrit.openafs.org/12662 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5a88209a0ff0cefb7ec1a810e25011ee9795d2fe -Author: Michael Meffie -Date: Wed Jul 19 23:48:42 2017 -0400 - - Incorporate old release notes into NEWS - - Cleanup the doc/txt directory by incorporating the old release - notes into the NEWS file. - - Change-Id: I63911fc5cb0b476e201148c6d3fa3441f4746ab7 - Reviewed-on: https://gerrit.openafs.org/12661 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3629ae4a682d648d6830bf551ed78faaa4cfc477 -Author: Michael Meffie -Date: Wed Jul 19 22:39:51 2017 -0400 - - Update NEWS for 1.8.0pre2 - - Change-Id: I5f83e81f25177bde1ea691e756359563e80ee3f2 - Reviewed-on: https://gerrit.openafs.org/12660 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1d5b255ff68af03da891a0babefdadd85f48def0 -Author: Michael Meffie -Date: Wed Jul 19 23:09:01 2017 -0400 - - Import NEWS from openafs-stable-1_6_x - - Import change descriptions for 1.6.20.1, 1.6.20.2, 1.6.21. - - Change-Id: Ib4f06c7046eb6e1bb0a1ccfb9f6c45191154fe0e - Reviewed-on: https://gerrit.openafs.org/12659 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 77c5e4f3fba57c85fd664f64dba2c44a44a4fb5c -Author: Stephan Wiesand -Date: Wed Jul 26 15:18:08 2017 +0200 - - Linux: fix whitespace in osi_sysctl.c - - Remove dozens of trailing spaces and make consistent use of tabs - for indentation throughout the file. - - Change-Id: Ibbd17d2b9828590ffd84b76aac70646e9fe9cb2c - Reviewed-on: https://gerrit.openafs.org/12665 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit b0461f2def17fe3d3f49e51e3c4a1df81a921eee -Author: Andrew Deason -Date: Thu Jun 15 15:32:41 2017 -0500 - - LINUX: Workaround d_splice_alias/d_lookup race - - Before Linux kernel commit 4919c5e45a91b5db5a41695fe0357fbdff0d5767, - d_splice_alias in some cases can d_rehash the given dentry without - attaching it to the given inode, right before the dentry is unhashed - again. This means that for a few moments, that negative dentry is - visible to __d_lookup, and thus is visible to path lookup and can be - given to afs_linux_dentry_revalidate. - - Currently, afs_linux_dentry_revalidate will say that the dentry is - valid, because d_time and other fields are set; it's just not attached - to an inode. This causes an ENOENT error on lookup, even though the - file is there (and no OpenAFS code said otherwise). - - Normally this race is rare, but it can be frequently exercised if - we access the same directory via different names at the same time. - This can happen with multiple mountpoints to the same volume, or by - accessing an @sys directory via its abbreviated and expanded forms. - - To get around this, make afs_linux_dentry_revalidate check negative - 'dentry's to see if they are unhashed. We also lock the parent inode, - in order to guarantee that a problematic d_splice_alias call isn't - running at the same time (and thus, we know the dentry will not be - unhashed immediately afterwards). This slows down - afs_linux_dentry_revalidate for valid negative 'dentry's a little, but - it allows us to use negative dentry's at all. - - Linux kernel commit 4919c5e45a91b5db5a41695fe0357fbdff0d5767 fixes - this issue, which was included in 2.6.34, so don't do this workaround - for 2.6.34 and on. - - Change-Id: I8e58ebed4441151832054b1ef3f1aa5af1c4a9b5 - Reviewed-on: https://gerrit.openafs.org/12638 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit d55b41072ce873210481baa4cae5c7143011869b -Author: Stephan Wiesand -Date: Mon Jul 24 11:37:54 2017 +0200 - - Linux 4.13: use designated initializers where required - - struct path is declared with the "designated_init" attribute, - and module builds now use -Werror=designated-init. Cope. - - And as pointed out by Michael Meffie, struct ctl_table has - the same requirement now, so use a designated initializer - for the final element of the sysctl table too. - - Change-Id: I0ec45aac961dcefa0856a15ee218085626a357c7 - Reviewed-on: https://gerrit.openafs.org/12663 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 030a9849e22f443492342794f436e2c86c98a903 -Author: Michael Meffie -Date: Fri Jul 7 11:11:12 2017 -0400 - - afs: fix afs_xserver deadlock in afsdb refresh - - When setting up a new volume, the cache manager calls afs_GetServer() to - setup the server object for each fileserver associated with the volume. - The afs_GetServer() function locks afs_xserver and then, among other - things, calls afs_GetCell() to lookup the cell info by cell number. - - When the cache manager is running in afsdb mode, afs_GetCell() will - attempt to refresh the cell info if the time-to-live has been exceeded - since the last call to afs_GetCell(). During this refresh the AFSDB - calls afs_GetServer() to update the vlserver information. The afsdb - handler thread and the thread processing the volume setup become - deadlocked since the afs_xserver lock is already held at this point. - - This bug will manifest when the DNS SRV record TTL is smaller than the - time the fileservers respond to the GetCapabilities RPC within - afs_GetServer() and there are multiple read-only servers for a volume. - - Avoid the deadlock by using the afs_GetCellStale() variant within - afs_GetServer(). This variant returns the memory resident cell info - without the afsdb upcall and the subsequent afs_GetServer() call. - - Change-Id: Iad57870f84c5e542a5ee20f00ea03b3fc87683a1 - Reviewed-on: https://gerrit.openafs.org/12652 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a6ad67485bf23084c06e1de1a424b2e375ee70f3 -Author: Michael Meffie -Date: Tue Jul 11 08:51:08 2017 -0400 - - afs: restore force_if_down check when getting connections - - Commit cb9e029255420608308127b0609179a46d9983ad removed the - force_if_down check in afs_ConnBySA, which effictively turned on - force_if_down flag for every call to afs_ConnBySA. This caused - afs_ConnBySA to always return connections, even for server addresses - marked down and force_if_down set to 0. - - One serious consequence of this bug is the cache manager will retry the - preferred vlserver indefinitely when it is unreachable. This is because - the loop in afs_ConnMHosts always tries hosts in preferred order and - expects afs_ConnBySA to return a NULL if the server address has no - connections because it is marked down. - - Restore the check for server addresses marked down to honor the - force_if_down flag again so we do not get connections for down servers - unless requested. - - Change-Id: Ia117354929a62b0cedc218040649e9e0b8d8ed23 - Reviewed-on: https://gerrit.openafs.org/12653 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a1c072ac562ccf74e5afb8449db1bcef86aef362 -Author: Michael Meffie -Date: Mon Apr 10 14:23:12 2017 -0400 - - redhat: fix rpmbuild command line option defaults - - Fix the handling of default values for the various rpmbuild options - which can be given. These have been broken as code was shuffled around - over the years. - - Remove obsolete comments about detecting what to build based on the - architecture. - - Provide the '--without authlibs' option to disable the openafs-authlibs - package. - - Change-Id: I6c8db1f3163ee241f9a4d1282345a0ddeabd284c - Reviewed-on: https://gerrit.openafs.org/12596 - Reviewed-by: Stephan Wiesand - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit a5bedda935c8147517bcbb56858dd88288fdf9da -Author: Christof Hanke -Date: Tue Jul 18 12:04:11 2017 +0200 - - mkvers: fix potential buffer overflow - - The space allocated for outputFileBuf is only 2 bytes larger than - sizeof(VERS_FILE). But we add potentially 4 extra bytes like - ".txt" or ".xml". Just allocate enough space for all file suffices. - - Change-Id: Ic0f97590be208deaf9c4a5c25e21056ea9d2cd6f - Reviewed-on: https://gerrit.openafs.org/12657 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit d7211350eec18b30e9ccf30f5e95fb58162c637d -Author: Andrew Deason -Date: Thu Jun 15 15:29:17 2017 -0500 - - afs_linux_lookup: Avoid d_add on afs_lookup error - - Currently, afs_linux_lookup looks roughly like this pseudocode: - - { - code = afs_lookup(&vcp); - if (!code) { - ip = AFSTOV(vcp); - error = process_ip(ip); - if (error) { - goto done; - } - } - process_dp(dp); - newdp = d_splice_alias(ip, dp); - done: - cleanup(); - } - - Note that if there is an error while processing the looked-up inode - (ip), we jump over d_splice_alias. But if we encounter an error from - afs_lookup itself, we do not jump over d_splice_alias. This means that - if afs_lookup encounters any error, we initialize the given dentry - (dp) as a negative entry, effectively telling the Linux kernel that - the requested name does not exist. - - This is correct for ENOENT errors, of course, but is incorrect for any - other error. For non-ENOENT errors we later return an error from the - function, but this does not invalidate the generated dentry. The - result is that when afs_lookup encounters an error, that error will be - propagated to userspace, but subsequent lookups for the same name will - yield an ENOENT error (until the dentry is invalidated). This can - easily cause a file to seem to mysteriously disappear, if a transient - error like network problems caused the afs_lookup call to fail. - - To fix this, treat ENOENT as a non-error, like the comments already - suggest. In our case, ENOENT is not really an error; it just means we - populate the given dentry differently. So if we get ENOENT from - afs_lookup, set our vcache to NULL and clear the error, and continue. - - This also has the side effect of not treating ENOENT errors from - afs_CreateAttr identically to ENOENT errors from afs_lookup. That - shouldn't happen, but there have been abuses of the ENOENT error code - in the past, so it is probably better to be cautious. - - Many thanks to Gaja Sophie Peters for assistance in tracking down and - testing fixes for this issue, including providing access to test systems - experiencing the buggy behavior. - - FIXES 133654 - - Change-Id: Ia9aab289d5c041557ab6b00f1d41de2edfc97a89 - Reviewed-on: https://gerrit.openafs.org/12637 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Joe Gorse - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - -commit 5dd2ce2043f53e80e1ded25abcfd565b4071a3ad -Author: Andrew Deason -Date: Thu Jun 15 15:29:48 2017 -0500 - - LINUX: Rearrange afs_linux_lookup cleanup - - Currently, the cleanup and error handling in afs_linux_lookup is - structured similar to this pseudocode: - - if (!code) { - if (!IS_ERR(newdp)) { - return no_error; - } else { - return newdp_error; - } - } else { - return code_error; - } - - The multiple different nested error cases make this a little complex. - To make this easier to follow for subsequent changes, alter this - structure to be more like this: - - if (IS_ERR(newdp)) { - return newdp_error; - } - - if (code) { - return code_error; - } - - return no_error; - - There should be no functional change in this commit; it is just code - reorganization. - - Technically the ordering of these checks is changed, but there is no - combination of conditions that actually results in different code - being hit. That is, if 'code' is nonzero and IS_ERR(newdp) is true, - then we would go through a different path. But that cannot happen, - since if 'code' is nonzero, we have no inode and so IS_ERR(newdp) - cannot be true (d_splice_alias cannot return an error for a NULL - inode). So there is no functional change. - - Change-Id: I94a3aef5239358c3d13fe5314044dcc85914d0a4 - Reviewed-on: https://gerrit.openafs.org/12636 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Joe Gorse - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - -commit d0b64a4a1b61b5e22f0e3fe509f8facd30bc2b74 -Author: Stephan Wiesand -Date: Thu Jun 29 16:57:42 2017 +0200 - - doc: Add introduction and credits to ubik.txt - - Credit where it's due. And the remainder of the introduction may - provide some useful context too. - - Change-Id: I99c7e599363126c581ae1ac00da67c33acc3687f - Reviewed-on: https://gerrit.openafs.org/12644 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit d1c4dbf28ae28bbfac3d8bc96d0fa5ae3d422bfd -Author: Benjamin Kaduk -Date: Sun Jun 25 13:56:04 2017 -0500 - - Put jhutz's ubik analysis in doc/txt - - A file in the source tree is much easier to locate than an old - mailing list post; it's quite handy to have this at hand as a - reference. - - Change-Id: I5267a2f86b36e92b05249364085bdd33aeb28d1b - Reviewed-on: https://gerrit.openafs.org/12642 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit 0327ead297e3cf395cced1e6690b901e445f074c -Author: Andrew Deason -Date: Fri Jun 23 17:20:11 2017 -0500 - - afs: Improve "Corrupt directory" warning - - This warning is a bit confusing to see, since it doesn't say anything - about AFS (making it unclear where it's coming from), and it lacks a - trailing newline (making it ugly). Fix both of these. - - Change-Id: I92a3d07fd193bf99b545aef9b21f52d23c356a2d - Reviewed-on: https://gerrit.openafs.org/12641 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit cdb92f94598e5b25fbcdfc6fb1650218ec05d63f +commit 8ca1b87d0804b23e32304742297701960489f1b4 Author: Jeffrey Altman -Date: Thu Jun 1 22:25:49 2017 -0400 +Date: Fri May 11 15:44:24 2018 -0400 - vol: modify volume updateDate upon salvage change + viced: SRXAFS_InlineBulkStatus set InterfaceVersion on error - If the salvager changed the volume, set the VolumeDiskData.updateDate - field so that + AFSFetchStatus.InterfaceVersion is required to be "1" for any + of the fields in the structure to be considered valid. Therefore, + InterfaceVersion must be set to one when returning an 'errorCode' + value. - 1. the change is visible via "vos examine" + When RXAFS_InlineBulkStatus was introduced by OpenAFS in + 362d26c733b086d26f013bd229af979a112098f5 not only wasn't + InterfaceVersion set but neither was the memory allocated + to OutStats initialized. As a result the InterfaceVersion field + value could be not only zero but random. The OutStats memory + was initialized to zeros beginning with + 726e1e13ff93e2cc1ac21964dc8d906869e64406. - 2. backup services will backup the corrected volume - - Teradactyl pointed out the problem which forces cell administrators - to manually trigger a backup for each volume that has been salvaged. - - Change-Id: I9a35b92e8abbe3b54b08e64ac13de44442736c72 - Reviewed-on: https://gerrit.openafs.org/12629 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit f5491119ff7d422b1c0c311a50e30bec1c15296c -Author: Michael Meffie -Date: Fri Jun 2 15:19:26 2017 -0400 - - bozo: do not fail silently on unknown bosserver options - - Instead of failing silently when the bosserver is started with an - unknown option, print an error message and exit with a non-zero value. - Continue to exit with 0 when the -help option is given to request the - usage message. - - This change should help make bosserver startup failures more obvious - when an unsupported option is specified. Example systemd status message: - - systemd[1]: Starting OpenAFS Server Service... - bosserver[32308]: Unrecognized option: -bogus - bosserver[32308]: Usage: bosserver [-noauth] .... - systemd[1]: openafs-server.service: main process exited, - code=exited, status=1/FAILURE - - Change-Id: I8717fb4a788fbcc3d1e2d271dd03511c5b504f10 - Reviewed-on: https://gerrit.openafs.org/12630 + Reviewed-on: https://gerrit.openafs.org/13067 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk - -commit aaa47dc1077f0dd5b0040006c831f64cc8a303b5 -Author: Jeffrey Altman -Date: Sat May 27 14:59:04 2017 -0400 - - rx: wake up send after 'twind' has been updated + (cherry picked from commit f045de21a45fcc8f71e2b30e826c22c8a7b4d0f2) - Beginning in AFS 3.4 and 3.5 the ack trailer includes the size of the - peer's receive window. This value is used to update the sender's - transmit window (twind). When the twind is increased the application - thread is signaled to indicate that more packets can be sent. - - This change wakes the application thread after twind is updated by - the peer's receive window instead of beforehand. Failure to do so - can result in 100ms transmit delays when the receive window transitions - from closed to open. - - Change-Id: Id129ea93e94612a4b8cce9f8cbddde9c779ff26b - Reviewed-on: https://gerrit.openafs.org/12625 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 63e530e7df0b8013bcc4421b0bba558d4f1d2d57 -Author: Joe Gorse -Date: Tue May 16 07:29:30 2017 +0000 - - LINUX: Switch to new bdi api for 4.12. - - super_setup_bdi() dynamically allocates backing_dev_info structures - for filesystems and cleans them up on superblock destruction. - - Appears with Linux commit fca39346a55bb7196888ffc77d9e3557340d1d0b - Author: Jan Kara - Date: Wed Apr 12 12:24:28 2017 +0200 - - Change-Id: I67eed0fcb8c96733390579847db57fb8a4f0df3e - Reviewed-on: https://gerrit.openafs.org/12614 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit b47dc5482da614742b01dcc62d5e11d766a9432f -Author: Joe Gorse -Date: Wed May 10 19:46:38 2017 +0000 - - LINUX: CURRENT_TIME macro goes away. - - Check if the macro exists, define it if it does not. - - Change-Id: I9990579f94bfba0804e60fa6ddcc077984cc46c3 - Reviewed-on: https://gerrit.openafs.org/12611 - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 7af9554bed2d906615e0f5a94537d3d553ca2d1e -Author: Michael Meffie -Date: Thu Apr 6 22:50:41 2017 -0400 - - redhat: update rpm spec file - - Update the spec file to keep up with accumulated changes. - - * Correct installation location of db check programs. - * Install afsd to the legacy location to avoid breaking - init scrips and systemd configs. - * Exclude yet another duplicated copy of kpwvalid. - * libubik_pthread.a is gone. - * Install the kpwvalid man page. - * Continue to remove the obsolete kdb program. - * Update the names of the pam_afs symlinks. - * Add libkopenafs to authlibs. - * Package dafssync-debug man pages. - * Package opr/queue.h in devel. - * Package akeyconvert and man page. - * Do not package fuse version of afsd. A separate sub-package - for afsd.fuse is warrented, since it adds new libfuse - dependencies. - * Package new server man pages, including dafsssync-* pages. - * Package libafsrfc3961.a as a devel lib. - * Continue to package kauth programs. - - Change-Id: I875c3b8dee53abbc67b0f05f8b291bb58abf41a5 - Reviewed-on: https://gerrit.openafs.org/12595 - Reviewed-by: Michael Meffie - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit dd80f081663c50f93618da7a309b390f2fbdbc59 -Author: Tim Creech -Date: Sun Mar 5 18:13:45 2017 -0500 - - FBSD: build fix for FreeBSD 11 - - r285819 eliminated b_saveaddr from struct buf, while r292373 changed the - arguments to VOP_GETPAGES. The approach used by this patch to address - these changes was inspired by FreeBSD's nfs and samba clients. - - Change-Id: Ibcf6b6fde6c86f96aa814af2bca08f1a8b286740 - Reviewed-on: https://gerrit.openafs.org/12575 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit dcfebc7ca2923c1f93df9105e493bd4228ea8a0e -Author: Michael Meffie -Date: Wed Apr 5 16:48:36 2017 -0400 - - redhat: convert rpm spec file to make install - - Convert the build and install from the deprecated 'make dest' to the - modern 'make install' method. - - * Clarify the install section by unrolling the shell scripts, - reorganizing, and improving the comments. - * Remove the gzip glob of the man pages; rpmbuild automatically - compresses the man pages and will handle symlinks correctly. - * Remove the generated temporary list file and specify files directly. - * Remove the extra tar commands to install the man pages out of the doc - directory; 'make install..' installs the man pagess. - * Remove code in the install section which determines the sysname. This is - no longer needed during the install. - * Update the kernel module install commands to accommodate the - conversion from 'make dest'. - - Change-Id: I97ec80185a2b11704b27ea74941b50ff4a5aca8c - Reviewed-on: https://gerrit.openafs.org/12594 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit bd8bec5b474315cd28df5a4741c1e07d48c7250a -Author: Michael Meffie -Date: Tue Apr 25 18:34:47 2017 -0400 - - redhat: fix whitespace errors in the rpm spec file - - Remove trailing whitespace characters that have crept into - the rpm spec file over the years. - - Change-Id: I08c7ad926ddb524d6938b26513963c28c70b4195 - Reviewed-on: https://gerrit.openafs.org/12606 - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 6b7b4239ab22fbb301e3b50e2ca4072445ba4e9e -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. - - Change-Id: Ia7e38160492b1e03cdb257e4b2bef4d18c4a28fb - Reviewed-on: https://gerrit.openafs.org/12593 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit c89fd17df1032ec2eacc0d0c9b73e19c5e8db7d2 -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. - - Change-Id: Ifc496c83141d2cfbd417133feb6d87c1146e5014 - 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 - -commit ad001550949b612ff6b4899fa8da50ee58f87533 -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. - - Change-Id: Ic9f174b92704eabcbd374feffe5fbeb92c8987ce - 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 - -commit de5ee1a67d1c3284d65dc69bbbf89664af70b357 -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. - - Change-Id: Ie4206140ae249c00a8906331c57da359c4a372c4 - 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 - -commit c666bfee8848183ccbc566c9e0fa019088e56505 -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. - - Change-Id: I28a5cca746823d69183ea5ce65c10e1725009c5c - Reviewed-on: https://gerrit.openafs.org/12443 + Change-Id: I0d15147081f6e8744680c16e43b22075070647e4 + Reviewed-on: https://gerrit.openafs.org/13117 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk -commit d2721be299c124d76b611ab2980c51be148fa1a7 -Author: Benjamin Kaduk -Date: Mon Feb 20 22:18:09 2017 -0600 - - XBSD: do not claim AFS_VM_RDWR_ENV - - The AFS_VM_RDWR_ENV configuration parameter (defined or not defined - in each platform's param.h) is undocumented, but appears to be an - indication of a property of the platform OS's VFS layer, or perhaps just - of the complexity of the read/write vnops that we implement for it. - That is, AFS_VM_RDWR_ENV is defined when the read/write vnops implement - partial write logic (and presumably when they interact with the OS VM - layer in ways not expressed by the afs_write() abstraction); systems - that do not define AFS_VM_RDWR_ENV can use the afs_write() function - fairly directly as the vnode operation. Use of AFS_VM_RDWR_ENV - evolved over time, with the original (AFS 3.2/3.3-era) code using a - simple scheme that handled partial writes directly in afs_write() - and avoided complexity in callers. In AFS 3.4, sunos and solaris - gained a more complicated read/write vnop that incorporated the - afs_DoPartialWrite() call itself, and eventually in 3.6 we see the - behavior established at the original IBM import, with all the (Unix) - OSes supported at that time defining AFS_VM_RDWR_ENV. - - When DARWIN support was brought in in commit - a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b, its param.h properly did - not define AFS_VM_RDWR_ENV, as OS X uses a VFS interface that shares - some level of abstraction with the traditional BSD VFS and its - read/write/getpages/putpages operations, so the afs_write() behavior - was natural and no extra complications needed for integration with the - VM layer or other optimizations. - - However, when the initial FreeBSD support came in a few months later, - it seems to have taken inspiration from the OSes that were supported - in the initial IBM import, and kept the AFS_VM_RDWR_ENV definition. - This was then propagated to all the later BSDs as they were added. - - Perhaps the most noticeable consequence of this definition is that - the calls to afs_DoPartialWrite() from afs_write() are bypassed, with - a comment that "[i]f write is implemented via VM, afs_DoPartialWrite() - is called from the high-level write op" (and calls to afs_FakeOpen() - and afs_FakeClose() are similarly skipped). This means that attempting - to write a file larger than the local cache will hang waiting for - more space to be freed, which will never happen as the vcache remains - locked and will not be written out in the background. - - In the absence of a documented meaning for AFS_VM_RDWR_ENV, this - also gives us a proxy that can be used to indicate whether a given - OS's support intended to claim the AFS_VM_RDWR_ENV -- such platforms - will actually contain the call to afs_DoPartialWrite() in the - appropriate vnode operation. This can be used to sanity-check the - places where AFS_VM_RDWR_ENV is removed by this commit. Interestingly, - HP-UX does not call afs_DoPartialWrite() but also is clearly in a VFS - that uses a rdwr()-based approach, as the corresponding vnode operation - is implemented by mp_afs_rdwr(), so leave it unchanged for now. - - Tim Creech is responsible for noting the lack of calls to - afs_DoPartialWrite() on FreeBSD, and Chaskiel Grundman for the - historical research into pre-OpenAFS AFS behavior. - - Designing and implementing more complicated BSD read/write vnops that - incorporate afs_DoPartialWrite() and other improvements is left for - future work. - - - Change-Id: I8e89855ac31303934f97d0753b64899fb7e3867c - Reviewed-on: https://gerrit.openafs.org/12520 - Tested-by: BuildBot - Reviewed-by: Antoine Verheijen - Reviewed-by: Tim Creech - Reviewed-by: Benjamin Kaduk - -commit 2421da2bf327525216ec7e79b9aa81fa2c4f77d5 +commit eb607b67793c37f57490ece47f93c65383a2fdf5 Author: Marcio Barbosa -Date: Tue Jan 31 11:43:18 2017 -0300 +Date: Tue May 15 17:10:45 2018 -0400 - vol: detach offline volumes on dafs + ubik: clones should not request votes - Taking a volume offline always clears the inService bit. Taking a - volume out of service also takes it offline. Therefore, if the - inService flag is false, the volume in question should be offline. - On dafs, an offline volume should be unattached. + Clones should not be able to become the sync-site. To make it possible, + regular sites do not vote for a site tagged as clone. In other words, + the clones ask for votes but they cannot be the sync-site. Knowing that + their requests for votes should be refused by the regular sites, they + should never have enough votes to win the election. - The attach2() function does not change the state of the volume received - as an argument to unattached when the inService flag is false. Instead, - this function changes the state of the volume in question to - pre-attached and returns VNOVOL to the client. As result, subsequent - accesses to this volume will make the server try and fail to attach - this offline volume over and over again, writing to the FileLog each - time. + In addition to the unnecessary network traffic created by these + unnecessary requests, this current approach can be problematic in some + specific situations. As an example, consider the following scenario: - To fix this problem, detach the volume received as an argument if the - inService flag is false. Since the new state of this volume will be - unattached, subsequent accesses will not hit attach2(). + The user wants to turn a regular site, called host1, into a clone. + To do so, he runs the following commands on every single server: - This situation where a volume is not offline but is also not in service - can occur if a volume is taken offline with vos offline and some time - later the DAFS fileserver is shutdown and restarted; the volume is - placed into the preattach state by default when the server restarts. - Each access to the volume by clients then causes the fileserver to - attempt to attach the volume, which fails, since the in-service flag in - the volume header is false from the previous vos offline. The - fileserver will log a warning to the FileLog on each attempt to attach - the volume, and this will fill the FileLog with duplicate messages - corresponding to the number of attempted accesses. + $ bos removehost -server -host host1 + $ bos addhost -server -host host1 -clone - Change-Id: Ifce07c83c1e8dbf250b88b847d331234bdaa9df5 - Reviewed-on: https://gerrit.openafs.org/12515 + After that, he restarts the servers, one by one. Depending on the delay + between the restarts, a clone can become the sync-site. This is possible + because the clones request votes from the other sites. If enough regular + sites are not aware (yet) that the request for vote came from a clone, + the clone in question can get enough votes to win the election. + + To fix the problems mentioned above, do not request votes if you cannot + be the sync-site. + + Reviewed-on: https://gerrit.openafs.org/12654 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk - -commit 22d841a45fff7026318b529a41dd957ce8bb0ddf -Author: Mark Vitale -Date: Tue Feb 28 18:02:39 2017 -0500 - - SOLARIS: prevent BAD TRAP panic with Studio 12.5 + (cherry picked from commit 3cc22a442e1dad628f0b11a32c4037fc7174dde4) - 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 - - Change-Id: Ic3c7860f7d524162fd9178a1dab5dd223722ee43 - Reviewed-on: https://gerrit.openafs.org/12558 + Change-Id: Ifa748546aec6928eb4ca988a036d0bf8fb70f6f8 + Reviewed-on: https://gerrit.openafs.org/13116 Tested-by: BuildBot + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk -commit 38a3f51fb8b3910ecdd7cacb06f35ec681990aea -Author: Mark Vitale -Date: Mon Feb 20 20:16:47 2017 -0500 - - DAFS: do not save or restore host state if CPS in progress - - If a fileserver is shutdown while one or more PR_GetHostCPS calls - are in progress, this state is saved in the fsstate.dat file as - hostFlags HCPS_WAITING, HCPS_INPROGRESS. Other hosts that are - merely waiting will have HCPS_WAITING recorded. - - However, it makes no sense to restore host structs in this state, - because the GetCPS calls will no longer be in progress. Once these - hosts become active, they will block server threads and quickly cause - all server threads to be exhausted as other CPS requests are blocked - behind them. - - Instead, exclude these states from both save and restore. - - Change-Id: I3fad67b70c96dc967d6f8e3a7b393cfda076c91d - Reviewed-on: https://gerrit.openafs.org/12561 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit bd15a5f56fde98983464acf5fd4cdd731d206d9f -Author: Stephan Wiesand -Date: Thu Mar 2 12:52:10 2017 +0100 - - doc: clarify the fs wscell manpage - - What's displayed by fs wscell is not necessarily the current content - of ThisCell, but that at the time of starting the client. Say so. - - FIXES 133339 - - Change-Id: Id3351f1236e5061340eb07041d4ce3e4de69a1a1 - Reviewed-on: https://gerrit.openafs.org/12537 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit d39e7c7af77b4e1b043611e1a6e78267f5f956ef +commit ecc94cdf1b79f49e87b4147cd9301f7dcb2af735 Author: Marcio Barbosa -Date: Thu Mar 2 18:01:48 2017 -0300 +Date: Thu May 10 00:46:01 2018 -0300 - osx: build afscell only for active architecture + afs: alloc openafs_lck_grp before osi_Init() on darwin - 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. + Commit a27bed59cae1a4244429c752edfde0a8363c8a3b moved init_hckernel_init + to osi_Init. On Darwin (AFS_DARWIN80_ENV), MUTEX_INIT + (called by init_hckernel_init) uses openafs_lck_grp as the argument of + one of the functions called during the initialization of the mutex in + question. Since openafs_lck_grp was not allocated yet, we crash. - To fix this problem, build the afscell xcode project only for active - architecture. + To fix this problem, call MUTEX_SETUP() before osi_Init() on Darwin. - Change-Id: I2a2bd5694826b668fceb7402567fba1d0f128479 - Reviewed-on: https://gerrit.openafs.org/12531 - Reviewed-by: Benjamin Kaduk + Reviewed-on: https://gerrit.openafs.org/13065 Tested-by: BuildBot - -commit 2a13973985bc7e190364d208c590ec42dbccf81b -Author: Michael Meffie -Date: Thu Jun 11 13:14:27 2015 -0400 - - libafs: vldb cache timeout option (-volume-ttl) + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 8e740aed774d4507e656e6ae743f6c6fe6c0e356) - The unix cache manager caches VLDB information for read-only volumes as - long as a volume callback is held for a read-only volume. The volume - callback may be held as long as files in the read-only volume are being - accessed. The cache manager caches VLDB information for read/write - volumes as long as volume level errors (such as VMOVED) are not returned - by a fileserver while accessing files within the volume. - - Add a new option to set the maximum amount of time VLDB information will - be cached, even if a callback is still held for a read-only volume, or - no volume errors have been encounted while accessing files in read/write - volumes. - - This avoids situations where the vldb information is cached indefinitely - for read-only and read/write volumes. Instead, the VL servers will be - periodically probed for volume information. - - Change-Id: I5f2a57cdaf5cbe7b1bc0440ed6408226cc988fed - Reviewed-on: https://gerrit.openafs.org/11898 + Change-Id: Ic1c58b5e2baeedd1cd24c364dd2907761064c8a9 + Reviewed-on: https://gerrit.openafs.org/13115 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk -commit 3893ed397283b0c3605def102004a645a325d476 -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. - - Change-Id: I7b3c90803825e2c0736548b56deb354183e81b15 - Reviewed-on: https://gerrit.openafs.org/12529 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 69aadea298825f1f224406064b83d1a947abf96b -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. - - Change-Id: Iaba816f1acf5f45d4e147ae517e73949eb8fe949 - Reviewed-on: https://gerrit.openafs.org/12528 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 6ea6c182c7fb6c22dafbbf203abcc23726e06cba -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 - - Change-Id: I157aa2ff25945c1c6e3b8e4a600557125711a681 - Reviewed-on: https://gerrit.openafs.org/12523 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 789319bf0f2b26ad67995f8cbe88cee87a1bbdc0 -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. - - Change-Id: I0c4d777e6d445857c395a7b5f9a43c9024b098e9 - Reviewed-on: https://gerrit.openafs.org/12506 - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 961cee00b8f5c302de5f66beb81caa33242c7971 -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. - - Change-Id: I9a85dc0311a3a706239bc9e471b2d7197ebe1946 - Reviewed-on: https://gerrit.openafs.org/12519 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 9bc6fd9312a2be591cc831d9b0afd91e53eec6fc -Author: Michael Meffie -Date: Fri Feb 10 10:39:09 2017 -0500 - - build: add --without-swig to override swig check - - Add the --without-swig option to disable the automatic swig detection - and disable the optional features which depend on swig. This allows - builders to avoid swig even if present on the build system. - - Also, add the --with-swig option to force the check and fail if not - detected. This allows builders to declare the swig features are - mandatory. - - The default continues to be to check for swig, and if present, build the - optional features which require swig. - - To disable the automatic check for swig and disable the features which - depend on swig: - - ./configure --without-swig # or --with-swig=no - - To force the check and fail if swig is not present on the system: - - ./configure --with-swig # or --with-swig=yes - - If --with-swig is given and swig is not detected, then configure will - fail with the message: - - configure: error: swig requested but not found - - The Perl 5 bindings for libuafs is the only feature which requires swig - at this time. - - Change-Id: I0726658a9cc7b1b2a9d5e5d306adb6e36ad3c0f6 - Reviewed-on: https://gerrit.openafs.org/12518 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit dd97cb7a7447313dbc1da65104786fe03ede7c8d -Author: Andrew Deason -Date: Fri Feb 10 01:29:28 2017 -0600 - - PERLUAFS: Modernize lang-specific swig typemaps - - Currently, our swig bindings for PERLUAFS define a couple of typemaps - like so: - - %typemap(in, numinputs=1, perl5) (char *READBUF, int LENGTH) { - [...] - } - - Embedding the target language name in the typemap arguments is a very - old way of specifying what language the typemap is for; they were - removed after swig 1.1. With swig 3.0.x releases (and possibly - others), the specific combination of this deprecated syntax and some - other features we're using causes a segfault. That's clearly a bug in - swig, but we shouldn't be using the deprecated syntax anyway. - - Update this to instead use preprocessor symbols to specify - language-specific typemaps (#ifdef SWIGPERL). We only actually define - these for perl right now, so make sure to throw an error if we're not - running for perl. - - FIXES 134103 - - Change-Id: I14264a2dfada53d99413808ed5d60b79b1ee44f3 - Reviewed-on: https://gerrit.openafs.org/12517 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 5dc53812df9e5a42fa822c9b890c1b8a442bed64 -Author: Anders Kaseorg -Date: Tue Dec 6 10:48:31 2016 -0500 - - AFS_component_version_number.c: Respect SOURCE_DATE_EPOCH if set - - To improve build reproducibility, if the SOURCE_DATE_EPOCH environment - variable is set, use it to deterministically replace the embedded build - date, and do not include the username or hostname in this case. - - https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal - - Change-Id: I9ba951f1836385ffd14aad95f071bf8c672a01bb - Reviewed-on: https://gerrit.openafs.org/12471 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 872a63bbfb04addbdc17dc5c09ec018bb9ddf515 -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. - - Change-Id: I6dc3896f330bb0c639cc75155f611ddaf11b9b75 - Reviewed-on: https://gerrit.openafs.org/12509 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit b146c2d54ff3bd99f2c4674eb88d5af417a194d7 -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; - - Change-Id: Ic4d50c6b046d10faa49cd4363692e0302707583d - Reviewed-on: https://gerrit.openafs.org/12508 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit a92a3a0675d941536103b60d708a6b3305b9b8fa -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 - -commit 19599b5ef5f7dff2741e13974692fe4a84721b59 -Author: Mark Vitale -Date: Sat Jan 7 06:22:47 2017 -0500 - - LINUX: eliminate unused variable warning - - Commit c3bbf0b4444db88192eea4580ac9e9ca3de0d286 added routine - osi_TryEvictDentries and included new logic for D_INVALIDATE_IS_VOID. - Unfortunately, this new code path no longer uses dentry; it also should - have been made conditional at that time. - - Wrap the declaration of dentry in #ifndef D_INVALIDATE_IS_VOID to - eliminate the unused variable warning. - - Change-Id: I89c1430ba984539ca775da2540ea966030de0701 - Reviewed-on: https://gerrit.openafs.org/12505 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 2207dcdaad40beed29b0326153dbb76bdf91564d -Author: Michael Meffie -Date: Tue Jan 3 14:41:36 2017 -0500 - - cleanup afs_args.h - - Collect the syscall op code (AFSOP_) defines in one section and cleanup - the use of whitespace and tabs. - - This should be a non-functional change. - - Change-Id: I1ba763a445b938fcb3677a388a703e1405ee166e - Reviewed-on: https://gerrit.openafs.org/12501 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit aab1e71628e6a4ce68c5e59e2f815867438280d1 -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.] - - Change-Id: I44023ee8aa42f3f69bb0c8a8e9178abd513951a1 - Reviewed-on: https://gerrit.openafs.org/11979 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 97fec642e591762391e6d453874ff9b5c9ba0c1e +commit 881062ab6f67887ce08ab1000a6ac79c41b12c2f Author: Benjamin Kaduk -Date: Mon Dec 26 12:15:35 2016 -0600 +Date: Tue May 8 18:04:21 2018 -0500 - afsd_kernel: remove gratuitous OS dependence + Use afs_DestroyReq in afs_PrefetchNoCache() - Commit 94c15f62 in 2010 gave NetBSD and only NetBSD the debug - printing of errno and the strerror() output, with no justification - in the commit message. In the interest of unifying behavior and - avoiding unnecessary OS dependence, give all platforms the errno - and strerror() behavior. + Since commit 76ad941902c650a4a716168d3cbe68f62aef109f we use afs_DestroyReq() + instead of osi_Free() directly. - [mmeffie@sinenomine.net: print errno iff syscall returns -1.] + Also update the UKERNEL version of the function to afs_CreateReq() properly. - Change-Id: If3c4e0ded54bbd4d5c2573f7d7ee1c82ee3e7223 - Reviewed-on: https://gerrit.openafs.org/12500 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 481047d2a2660609091dc04253d136f527469ceb -Author: Michael Meffie -Date: Mon Sep 12 22:21:59 2016 -0400 - - afsd: print syscalls on separate lines with afsd -debug + FIXES 134533 - afsd prints information to standard out for testing and debugging when the - -debug option is given. However, syscall tracing is emitted without trailing - newlines on all platforms except netbsd, creating an unreadable wall of text. - - # afsd -debug - ... - afsd: Forking 4 background daemons. - SScall(183, 28, 0)=0 183, 28, 6583200)=0 SScall(183, 28, 6583 - 200)=0 SScall(183, 28, 6583200)=0 SScall(183, 28, 6583200)=0 S - Scall(183, 28, 6583200)=0 SScall(183, 28, 6583200)=0 SScall(18 - ... - - Make the syscall call tracing usable by printing each one on a separate line. - - # afsd -deubg - ... - afsd: Forking 4 background daemons. - SScall(183, 28, 0)=0 183, 28, 6583200)=0 - SScall(183, 28, 6583200)=0 - SScall(183, 28, 6583200)=0 - ... - - Change-Id: Ic9208243c1e05352744fb6f575384e00d0e3e59c - Reviewed-on: https://gerrit.openafs.org/12385 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 9c0db059b6585959e151f7acce845de280952c55 -Author: Michael Meffie -Date: Mon Sep 26 11:19:13 2016 -0400 - - vol: convert vnode macros to inline functions - - Convert the vnode macros to inline functions to fix integer overflows - for very large vnode numbers (and generally improve the code robustness - and readability). - - The macro version of vnodeIndexOffset() will evaluate to an incorrect - offset for very large vnode numbers due to 32-bit integer overflow. The - vnode index file will then be corrupted when writing to the incorrect - offset. - - In code paths where the vnode number incorrectly defined as a signed - 32-bit integer, this change prevents vnodeIndexOffset() from evaluating - to a negative result when a vnode number is larger than 2^31. - - Thanks to Mark Vitale for reporting and providing analysis. - - Change-Id: Ia6e0f2d2f97fa1091e0b5a4029d40098692ee681 - Reviewed-on: https://gerrit.openafs.org/12397 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 0ae62bfa99df8ef5d85b4848783f59a041f82828 -Author: Michael Meffie -Date: Fri Jun 3 15:33:19 2016 -0400 - - doc: add the PtLog man page - - Clone the VLLog man page to create a man page for ptserver log as well. - - Fix the spelling of the PtLog file and add a link to the new PtLog man - page in the ptserver man page. - - Add the missing PtLog log file name to the bos getlog man page. - - Change-Id: I95ad4a2cf380077780160ec78fd1f9bdec132ba7 - Reviewed-on: https://gerrit.openafs.org/12294 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 9ec765d8b4a327ae36c26e38a84dae215d3a2664 -Author: Anders Kaseorg -Date: Fri Dec 16 02:43:48 2016 -0500 - - opr: Make opr_uuid_hash endian-independent - - And also make sure it doesnā€™t use unaligned accesses. Fixes a ā€˜make - checkā€™ failure on big-endian architectures. - - Change-Id: I490174f8d1eecb5f20969b4ef12ff16d0dd3806a - Reviewed-on: https://gerrit.openafs.org/12495 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - -commit 5151c03351e8a4d2bd1e212720d7ec9144bf23f0 -Author: Anders Kaseorg -Date: Fri Dec 16 03:04:18 2016 -0500 - - opr: Make opr_jhash_opaque consistent with opr_jhash - - Change-Id: I42e1030f8c841dcb974476012a774b91c87d3fb0 - Reviewed-on: https://gerrit.openafs.org/12494 + Reviewed-on: https://gerrit.openafs.org/13060 Tested-by: BuildBot Reviewed-by: Michael Meffie - Tested-by: Michael Meffie Reviewed-by: Benjamin Kaduk - -commit 958120b89d62c8567ab00bc697c4fabdfecd46b4 -Author: Anders Kaseorg -Date: Fri Dec 16 02:16:20 2016 -0500 - - opr: Make opr_jhash_opaque endian-independent + (cherry picked from commit 3ec0414f769c37a19410fbd9aefb086cb5b69e55) - gcc -O2 produces exactly the same code for this on little-endian - systems, but now big-endian systems have a chance of passing ā€˜make - checkā€™. - - Change-Id: Ifc6350648355a0a9f79184439e3f9522cd6f2ffa - Reviewed-on: https://gerrit.openafs.org/12493 - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit eb7d3ac4bbd30fc31741cea74fe2b23577deb61e -Author: Anders Kaseorg -Date: Wed Dec 14 17:52:35 2016 -0500 - - opr: ExitHandler: re-raise the signal instead of exiting with that code - - This fixes a ā€˜make checkā€™ failure introduced by commit - 803d15b6aa1e65b259ba11ca30aa1afd2e12accb ā€œvlserver: convert the vlserver - to opr softsigā€: - - $ make check - ā€¦ - volser/vos..............FAILED 6 - ā€¦ - $ cd tests - $ ./libwrap ../lib ./runtests -o volser/vos - 1..6 - ok 1 - Successfully got security class - ok 2 - Successfully built ubik client structure - ok 3 - First address registration succeeds - ok 4 - Second address registration succeeds - ok 5 - vos output matches - Server exited with code 15 - # wanted: 0 - # seen: -1 - not ok 6 - Server exited cleanly - # Looks like you failed 1 test of 6 - - afstest_StopServer has a check for the process terminating with signal - 15 (SIGTERM), but not for the process exiting with code 15. - - Change-Id: I022965ea2b5440486ea1cf562551d3bbd0516104 - Reviewed-on: https://gerrit.openafs.org/12489 - Tested-by: Anders Kaseorg + Change-Id: Ic85fef48f7adb2a152b5cb4d68b8c4a43c45c06a + Reviewed-on: https://gerrit.openafs.org/13114 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk -commit eee532ac13a680bfb4cc857485cbaf5e454ab492 -Author: Anders Kaseorg -Date: Fri Dec 16 00:29:21 2016 -0500 +commit 579c077aa63430120e6db8599074c815ff36417f +Author: Ben Kaduk +Date: Fri Dec 13 16:25:47 2013 -0500 - doc/man-pages/Makefile.in: mkdir man[158] in case we did regen.sh -q + Export {Get,Set}ServiceSpecific from liboafs_rx.la - Fixes this error: + rxgk will use service-specific data. - $ git clean -xdf - $ ./regen.sh -q - $ ./configure - $ make - [ā€¦] - make[3]: Entering directory '/ā€¦/openafs/doc/man-pages' - rm -f man*/*.noinstall - if [ "no" = "no" ] ; then \ - for M in man1/klog.1 man1/knfs.1 [ā€¦] man8/kpwvalid.8 man1/klog.krb.1; do \ - touch $M.noinstall; \ - done; \ - fi - touch: cannot touch 'man1/klog.1.noinstall': No such file or directory - touch: cannot touch 'man1/knfs.1.noinstall': No such file or directory - [ā€¦] - touch: cannot touch 'man8/kpwvalid.8.noinstall': No such file or directory - touch: cannot touch 'man1/klog.krb.1.noinstall': No such file or directory - Makefile:34: recipe for target 'prep-noinstall' failed - make[3]: *** [prep-noinstall] Error 1 - make[3]: Leaving directory '/ā€¦/openafs/doc/man-pages' - - Change-Id: I95098fb2b27f1d87fc9769497b225e9f91f72266 - Reviewed-on: https://gerrit.openafs.org/12492 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 93a7e754a44c333140e75e93cac09f61320f7cc9 -Author: Anders Kaseorg -Date: Wed Dec 14 15:47:21 2016 -0500 - - tests/opr/softsig-t: Avoid hanging due to intermediate sh -c - - If the build directory happened to contain shell metacharacters, like - the ~ in /build/openafs-vb8tid/openafs-1.8.0~pre1 used by the Debian - builders, Perl was running softsig-helper via an intermediate sh -c, - which would then intercept the signals we tried to send to - softsig-helper. Use the list syntax to avoid this sh -c. - - Change-Id: I054b9c8f606e197accb414bfe3f89719255c62c4 - Reviewed-on: https://gerrit.openafs.org/12488 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 9fd396adabaa1868517fdb3d7cfcbe9412c35b0b -Author: Benjamin Kaduk -Date: Thu Dec 15 22:12:01 2016 -0600 - - tests: use exec to call libwrap'd executables - - No need to leave the shell process hanging around. - - In particular, if we are manually running softsig-helper under - libwrap to debug test failures, the child process of the shell is - another shell, which interprets some signals that we wanted to - be passed through, like SIGTERM. On the other hand, once the - softsig-helper is exec()'d, you basically need another shell to - terminate it, which is a different problem.... - - Change-Id: Iff7c519886a018cb68e692746d40c427b6299457 - Reviewed-on: https://gerrit.openafs.org/12490 - Tested-by: BuildBot - Reviewed-by: Anders Kaseorg - Tested-by: Anders Kaseorg - Reviewed-by: Benjamin Kaduk - -commit 8b2c4665aabece187759157bda0e26c4b566dd2f -Author: Michael Meffie -Date: Tue Aug 16 12:56:47 2016 -0400 - - tests: fix signo to signame lookup in opr/softsig tests - - Fix the loop condition when scanning the signal number to name table to - convert a signal number to a name. Instead of looping sizeof(size_t) - times, loop for the number of elements in the table. - - This bug was masked on 64 bit-platforms, since the signal number to name - table table currently has 8 elements, which is coincidently the same as - sizeof(size_t) on 64-bit platforms. The bug becomes apparent on 32-bit - systems; only the first 4 elements of the table are checked. - - Example error output before this fix: - - $ cd tests - $ ./libwrap ../lib ./runtests -o opr/softsig - 1..11 - ok 1 - ok 2 - ok 3 - ok 4 - ok 5 - not ok 6 - # Failed test in ./opr/softsig-t at line 57. - # got: 'Received UNK - # ' - # expected: 'Received TERM - # ' - not ok 7 - # Failed test in ./opr/softsig-t at line 60. - # got: 'Received UNK - # ' - # expected: 'Received USR1 - # ' - not ok 8 - # Failed test in ./opr/softsig-t at line 63. - # got: 'Received UNK - # ' - # expected: 'Received USR2 - # ' - ok 9 - Helper exited on KILL signal. - ok 10 - Helper exited on SEGV signal. - ok 11 # skip Skipping buserror test; SIGBUS constant is not defined. - # Looks like you failed 3 tests of 11. - - Change-Id: I863cc9f3650c4a5e9ac9159d90e063b986a8460a - Reviewed-on: https://gerrit.openafs.org/12367 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1d8cb56999a4ab25ae4cbc8e8a688b8100aedd3b -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] - - Change-Id: I654b10dfc257e7de90c9a50048982427276f4d61 - Reviewed-on: https://gerrit.openafs.org/12475 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit b5e4e8c14130f601bbf43dee5927222ebf7613fa -Author: Mark Vitale -Date: Tue Jan 12 18:06:51 2016 -0500 - - afs: fs getcacheparms miscounts dcaches for large files - - fs getcacheparms issued with the -excessive option tabulates in-memory - dcaches ("DCentries") by size. However, any dcache with validPos > 2^31 - is miscounted in the 4k-16k bucket. This is caused by a type mismatch - between 'validPos' (afs_size_t) and 'size' (int) which leads to a - negative value for size by sign-extension. The size comparison "sieve" - fails for negative numbers; it skips the first bucket (0-4K) and dumps - them in the second one (4k-16k). - - Move the declaration of 'size' closer to its use, and declare it with - the same type as 'validPos' (afs_size_t) so the comparison sieve - correctly places these dcaches in the last (>=1M) bucket. - - Change-Id: Ib0d973da92865043a4f1c068de5e9b81bcde2b9a - Reviewed-on: https://gerrit.openafs.org/12347 - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit c966c0b8414ef0a041b1a8d5261c9eccd4d39d99 -Author: Mark Vitale -Date: Tue Jan 12 17:50:36 2016 -0500 - - afs: fs getcacheparms miscounts zero-length dcaches - - When fs getcacheparms is issued with the -excessive option, it - tabulates all in-memory dcaches ("DCentries") by size. - - dcaches with validPos == 0 were being tabulated in the 4k-16k bucket. - - Fix the first comparison in the 'sieve' so these dcaches will be counted - in the correct 0-4k bucket instead. - - Introduced by commit 176c2fddb95ced6c13e04e7492fc09b5551f273c - - Change-Id: I60acb0f115dad9f7951f0b17e5b3e37dc94321b9 - Reviewed-on: https://gerrit.openafs.org/12346 - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 7442752ba6ad618bcdf2185f699d90c56838e89e -Author: Benjamin Kaduk -Date: Mon Dec 5 18:11:22 2016 -0600 - - Make OpenAFS 1.8.0pre1 - - Update version strings for the first 1.8.0 prerelease. - - Change-Id: I4f534c9934f6eb1baac9a784fb7c357b19924fb0 - Reviewed-on: https://gerrit.openafs.org/12470 - Reviewed-by: Michael Meffie - Reviewed-by: Mark Vitale - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit edcafa93b6c4744e0747842a2e115df27e20fd93 -Author: Michael Meffie -Date: Fri Sep 23 00:22:22 2016 -0500 - - Update NEWS for 1.8 - - [kaduk@mit.edu: adjust sorting, rewrap, reword a few entries and - remove some entries that will not be applicable] - - Change-Id: Ifbadc31e3f201e05617a26c12e5e725a5f3c9195 - Reviewed-on: https://gerrit.openafs.org/12393 - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 37c47e5da1cfcceb3b14e5a0c4064a6ca5806bd0 -Author: Benjamin Kaduk -Date: Fri Sep 23 00:14:09 2016 -0500 - - Import NEWS from openafs-stable-1_6_x - - The 1.6.x changelog entries have been going directly on the - openafs-stable-1_6_x branch for ease of maintenance. - - However, we don't want to skip those changes when mentioning changes - in OpenAFS 1.8, so pull back a copy onto master before adding - things for 1.8. - - Change-Id: I545c19db9854300a84295d3ca8b1f301756c38b0 - Reviewed-on: https://gerrit.openafs.org/12392 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit 35f2b8cd49477b10cf358d853f5864b8ad24ba03 -Author: Benjamin Kaduk -Date: Tue Dec 6 17:07:40 2016 -0500 - - Update libafsdep files for in-kernel fortuna - - Commit 0d67b00ff9db added heimdal's rand-fortuna PRNG to the kernel - module on all architectures, even though it is only needed on the small - subset that do not provide a cryptographically strong random number - generator to kernel module consumers. This was done to ensure that - the build infrastructure for it gets regularly exercised by developers. - However, not all build infrastructure was exercised at the time of - that submission; in particular, the make_libafs_tree.pl script was - not tested. This led to a situation where the libafs tree generated - by that script omitted several files that were now referenced by - the kernel build due to the fortuna import. - - To remedy the situation, list the additional files that are needed, - so that they will be copied into the build area for this class of - kernel module builds. - - Since the libafs-tree functionality is used to build the Debian - kernel-module source packages, this fix is needed in order to have - a tree that can be built into debian packages without patching. - - Change-Id: I81502fb61d7fc718d337c5f73a51b88f6a433d6a - Reviewed-on: https://gerrit.openafs.org/12473 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 85c7d31cf2dacdbcd8a053fdc3f66952e7126528 -Author: Anders Kaseorg -Date: Tue Dec 6 10:53:40 2016 -0500 - - src/cf/roken.m4: Escape buildtool_roken correctly - - Fixes these errors from configure: - - ./configure: line 32154: LDFLAGS_roken: command not found - ./configure: line 32154: LIB_roken: command not found - - Change-Id: I63b9ade5c8f55948ea2a3f7ae023de4ed9f62341 - Reviewed-on: https://gerrit.openafs.org/12472 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 4c03e42f91b36a0bf59398b0f649aa0b31b02975 -Author: Andrew Deason -Date: Wed Oct 26 16:04:51 2016 -0500 - - rx: Add rxi_FlushWriteLocked - - Currently, a couple of places in Rx do this: - - MUTEX_EXIT(&call->lock); - rxi_FlushWrite(call); - MUTEX_ENTER(&call->lock); - - This is a little silly, because if rxi_FlushWrite has anything to do, - it just acquires/drops call->lock again. - - This seems like a very minor performance penalty, but in the right - situation it can become more noticeable. Specifically, when an Rx call - on the server ends successfully, rx_EndCall will rxi_FlushWrite (to - send out the last Rx packet to the client) before marking the call as - finished. If the client receives the last Rx packet and starts a new - Rx call on the same channel before the server locks the call again, - the client can receive a BUSY packet (because it looks like the - previous call on the server hasn't finished yet). Nothing breaks, but - this means the client waits 3 seconds to retry. - - This situation can probably happen with various rates of success in - almost any situation, but I can see it consistently happen with 'vos - move' when running 'vos' on the same machine as the source fileserver. - It is most noticeable when moving a large number of small volumes - (since you must wait an extra 3+ seconds per volume, where nothing is - happening). - - To avoid this, create a new variant of rxi_FlushWrite, called - rxi_FlushWriteLocked. This just assumes the call lock is already held - by the caller, and avoids one extra lock/unlock pair. This is not the - only place where we unlock/lock the call during the rx_EndCall - situation described above, but it seems to be easiest to solve, and - it's enough (for me) to avoid the 3-second delay in the 'vos move' - scenario. Ideally, Rx should be able to atomically 'end' a call while - sending out this last packet, but for now, this commit is easy to do. - - Note that rxi_FlushWrite previously didn't do much of note before - locking the call. It did call rxi_FreePackets without the call lock, - but calling that with the call lock is also fine; other callers do - that. - - Change-Id: I8f71e86f6c1f6019abea21c205d2b26b7da0d808 - Reviewed-on: https://gerrit.openafs.org/12421 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit f413fd927af14a9a87034e47125a78eec63e599e -Author: Benjamin Kaduk -Date: Tue Jan 13 21:39:57 2015 -0500 - - pts: add some sanity checks in ptuser.c - - Double-check that when we're expecting two entries back, we - actually got two entries, in addition to the RPC return value. - - Change-Id: I34631ac542667c337ed3268153eb61c70e3fa87e - Reviewed-on: https://gerrit.openafs.org/11668 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 32901c58b29ba4ac666f1dba9915cae2c1f03b52 -Author: Andrew Deason -Date: Mon Mar 9 18:01:29 2015 -0500 - - LINUX: Don't compile syscall code with keyrings - - osi_syscall_init() is not currently called if we have kernel keyrings - support, since we don't need to set up or alter any syscalls if we - have kernel keyrings (we track PAGs by keyrings, and we use ioctls - instead of the AFS syscall now). - - Since we don't call it, this commit makes us also not compile the - relevant syscall-related code. This allows new platforms to be added - without needing to deal with any platform-specific code for handling - 32-bit compat processes and such, since usually we don't need to deal - with intercepting syscalls. - - To do this, we just define osi_syscall_init and osi_syscall_cleanup as - noops if we have keyrings support. This allows us to reduce the #ifdef - clutter in the actual callers. - - Note that the 'afspag' module does currently call osi_syscall_init - unconditionally, but this seems like an oversight. With this change, - the afspag module will no longer alter syscalls when we have linux - keyrings support. - - Change-Id: I219b92d89303975765743712587ff897b55a2631 - Reviewed-on: https://gerrit.openafs.org/11936 + Reviewed-on: https://gerrit.openafs.org/10589 + Reviewed-by: Daria Phoebe Brashear Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Perry Ruiter + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie + Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 60a006bdc43df42e40eb43f1e1af7fffe3e85763) + + Change-Id: I997a6dc9ab728e9e87df321c30d0a26ce2853698 + Reviewed-on: https://gerrit.openafs.org/13108 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit acee367c684a262744a9d6718eaf10a9324bdc8e +Author: Pat Riehecky +Date: Fri May 25 12:11:54 2018 -0500 + + Add missing va_end + + Per man va_start: + Each invocation of va_start() must be matched by a corresponding + invocation of va_end() in the same function. + + Reviewed-on: https://gerrit.openafs.org/13087 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 2b08d687b992f238fa59773ef2ff1710c520f861) + + Change-Id: I8d649b06a8e0baedc40612fe7b2251df1426ce26 + Reviewed-on: https://gerrit.openafs.org/13151 + Tested-by: BuildBot + Reviewed-by: PatRiehecky + Reviewed-by: Benjamin Kaduk + +commit 9d633e1281cb3e8bec95d373fd23c04645851625 +Author: Benjamin Kaduk +Date: Sat May 5 15:59:08 2018 -0500 + + Export afs_getDirPath from shared libraries + + Add this function to the export list for libafsauthent on Windows + and Unix. + + Reviewed-on: https://gerrit.openafs.org/13059 + Reviewed-by: Anders Kaseorg + Tested-by: Anders Kaseorg + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 849ddd4fde0759e385cf3ed4054fc11c36a62fc3) + + Change-Id: I39dd95185a705eaf96852e7bae9acbb5f5c50159 + Reviewed-on: https://gerrit.openafs.org/13146 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit a6e96a8f10df738eb9b69227d344a72eb830e02e +commit 10caff7c0c37ecb9ad9357d1a15afb9bdb052a59 +Author: Benjamin Kaduk +Date: Sat May 5 15:42:51 2018 -0500 + + Rename getDirPath to afs_getDirPath in preparation for export + + The symbol name getDirPath is rather generic and we probably shouldn't + squat on it in the application's namespace. In preparation for exporting + this functionality from the Unix shared libraries, rename it to + afs_getDirPath. + + Retain a Windows-only wrapper getDirPath that can continue to be + exported from libafsauthent on Windows, for ABI compatibility. + New consumers should use afs_getDirPath. + + Reviewed-on: https://gerrit.openafs.org/13058 + Tested-by: BuildBot + Reviewed-by: Anders Kaseorg + Tested-by: Anders Kaseorg + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 554c38473d1465af4c4613209229c274807fffd8) + + Change-Id: If527d3f6d619e8bc41914353d28d5d74cb683637 + Reviewed-on: https://gerrit.openafs.org/13145 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 19eb5b5c7fbde760449e590750582753bfc00ad3 +Author: Benjamin Kaduk +Date: Sat May 5 15:35:03 2018 -0500 + + Remove duplicates from liboafs_util.la.sym + + Remove the extra copy of things which appeared twice. + + Reviewed-on: https://gerrit.openafs.org/13057 + Tested-by: BuildBot + Reviewed-by: Anders Kaseorg + Tested-by: Anders Kaseorg + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit b48fe6b57f13bacb368e27389ccd3f9c279822da) + + Change-Id: I322967df048cb49d270cc149d6b710a38797cbbf + Reviewed-on: https://gerrit.openafs.org/13144 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 034b141e24c999a3c83720b2e198dd7cf26a6d69 +Author: Benjamin Kaduk +Date: Sat May 5 14:42:31 2018 -0500 + + Export ubik_PR_ symbols from libafsauthent + + Also export from liboafs_prot the ones missing from this set. + + This brings the unix exports in sync with the Windows exports + (of ubik_PR_ symbols), and is tested as being sufficient to compile + python-afs. + + Reviewed-on: https://gerrit.openafs.org/13056 + Tested-by: BuildBot + Tested-by: Anders Kaseorg + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 3be1de0e823db7068e27b9c5c30a91673f058e52) + + Change-Id: I2cd44eb5686b1b7134eb0e4480f5f3502e865ce8 + Reviewed-on: https://gerrit.openafs.org/13143 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 2cdd866445fb786f5a20f0786849b0a57eccacf3 +Author: Benjamin Kaduk +Date: Sat May 5 14:00:27 2018 -0500 + + Export comerr initialization functions from libafsauthent + + Add to the libafsauthent export symbol list these comerr initialization + functions so that they are usable by consumers. + + Reviewed-on: https://gerrit.openafs.org/13055 + Tested-by: BuildBot + Reviewed-by: Anders Kaseorg + Tested-by: Anders Kaseorg + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 70c4922980d1596155b4021cd72d6895c2371e23) + + Change-Id: I7fb91b14c0730abd8544ff0484af8746c2bb50db + Reviewed-on: https://gerrit.openafs.org/13142 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 0c6d1610ac9309faf85530bde1b6308fbc8822af +Author: Benjamin Kaduk +Date: Sat May 5 13:11:00 2018 -0500 + + opr: install afs/opr.h and opr/lock.h + + These headers are (transitively) referenced from rx_pthread.h, which is pulled + in from rx.h when AFS_PTHREAD_ENV is defined. As such, we are presenting an + incomplete public API without this header. + + Reviewed-on: https://gerrit.openafs.org/13054 + Tested-by: BuildBot + Reviewed-by: Anders Kaseorg + Tested-by: Anders Kaseorg + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 792dd44ac57032a3f2a4743c83c8a0208a08ecec) + + Change-Id: I9785e4d408b2838a2c65ae372717a6c92e38767b + Reviewed-on: https://gerrit.openafs.org/13141 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit f52d15371e2dddfb79a8346b3ad69613963e8866 +Author: Mark Vitale +Date: Fri May 19 16:34:21 2017 -0400 + + ubik: remove redundant memset from udisk_write + + When udisk_write is extending the database, DRead will return a null + buffer. udisk_write then calls DNew to get a brand new buffer for the + extension write, and clears it with memset. However, this is redundant, + since DNew has already cleared the new buffer. + + Remove the redundant memset. + + No functional change should be incurred by this commit. + + Reviewed-on: https://gerrit.openafs.org/12621 + Reviewed-by: Benjamin Kaduk + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Marcio Brito Barbosa + Tested-by: BuildBot + (cherry picked from commit 845c8927ef20e245bb88bc783dc2e581b61fbaba) + + Change-Id: I58d4052c69c16e4758c6accfbb2a0b1ac2aa413f + Reviewed-on: https://gerrit.openafs.org/13124 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 99f1df279d26fe82b21406f3bf987595fd049542 +Author: Andrew Deason +Date: Thu May 10 16:23:48 2018 -0500 + + ubik: Make udisk_Log* functions static + + Nothing uses the udisk_Log* functions outside of disk.c. Declare these + static to make sure they stay that way, to make it easier to change + their semantics. + + Reviewed-on: https://gerrit.openafs.org/13069 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit f1d389e80367c7ea532441f9aa27a6cc3e2853a7) + + Change-Id: I9c1cae678fc099f1eabe4aa6a661dcbc4ea72648 + Reviewed-on: https://gerrit.openafs.org/13119 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 7200e6c5cbac93399640355fc2af6568ad6aa346 +Author: Andrew Deason +Date: Thu May 10 16:05:10 2018 -0500 + + ubik: Remove 'mtime' from ubik_stat + + Nothing uses the 'mtime' field from ubik_stat. Remove it. + + Reviewed-on: https://gerrit.openafs.org/13068 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit b8617f08d1bf57a6b3fbba44e5b4de24dc84a9bb) + + Change-Id: I1770e55aa45192b4bab6d4256be562cb308fd03a + Reviewed-on: https://gerrit.openafs.org/13118 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 74de0a543af154624ea7906b83ef10ba7c48590c +Author: Mark Vitale +Date: Fri May 25 17:05:28 2018 -0400 + + afs: fix broken volume callbacks (e.g. vos release) + + Commit e99bfcfaa3bca3e65f03928718c2c9eb5eff7c8c ('afs: use jenkins hash + for dcache, vcache tables') introduced new hashing implementations for + the dcache and vcache hash tables. Unfortunately, a typo introduced a + bug into the VCHashV hash function; instead of hashing by volume id, it + currently hashes by vnode. + + The most common symptom is that volume callbacks (RXAFSCB_Callback with + fid :0:0) fail to find and invalidate all the files for the + specified volume. This typically manifests as persistent stale RO + content after a 'vos release' for new RW content. + + This bug only affects the Unix cache manager; the Windows cache manager + implementation of RXAFSCB_Callback was unaffected. + + Reviewed-on: https://gerrit.openafs.org/13090 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 1dc9bb4e7362029db073250f23a09f949e1655de) + + Change-Id: I535f91630948e7aa6a8d72eb37e0cce88c33156d + Reviewed-on: https://gerrit.openafs.org/13140 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit c80af69e04bb39b0aa3d1b6705034fd26358f7c7 +Author: Benjamin Kaduk +Date: Fri Apr 13 08:07:59 2018 -0500 + + BSD: Work around panic in FlushVCache + + Commit 64cc7f0ca7a44bb214396c829268a541ab286c69 created the very useful + afs_StaleVCache() helper function, but unfortunately it also introduced + a subtle change into how we check for whether a vcache may be a directory. + Previously, we just used the low bit of the Fid's Vnode number, since files + have an even number and non-files an odd number. The new version uses + that check but also explicitly checks `vType(avc)` against VDIR, and this new + check involves consulting information stored in the associated vnode entry, + not the vcache directly. The afs_FlushVCache() implementation for + XBSD and DARWIN NULLs removes the cross-linkage between vcache and vnode, + so that AFSTOV(avc) becomes NULL. Just a few lines later, it calls + afs_StaleVCacheFlags(), at which point vType() dereferences a bad pointer + (offset from a NULL pointer) and panics. This would happen during shutdown, + or other periodic reclaim/flush events that can be scheduled. + + Reviewed-on: https://gerrit.openafs.org/13014 + Reviewed-by: Mark Vitale + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 54e84a98f9747bb5bb2ad4b8031115ad7684c914) + + Change-Id: I810f72e0be8ab98ea6b4ac05c23bc0cb44e4da3a + Reviewed-on: https://gerrit.openafs.org/13113 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 489dce6049a90cbef596b29ccff8d15b3bee6fdb Author: Michael Meffie -Date: Wed Nov 30 08:48:06 2016 -0500 +Date: Mon Apr 9 16:42:41 2018 -0400 - vos: fix vos release -verbose output + autoconf: remove more linux 2.4 references - Fix incorrect vos release -verbose messages introduced by commit - 9f4684cd5fac5eacf571b882e965150943383170. + Remove old linux 2.2 and 2.4 references in the autoconf macros left over + from the linux 2.2 and 2.4 days. - The commit 9f4684cd5fac5eacf571b882e965150943383170 did not take into - account the change from commit 3fc800be9c702c1a40869908831a9895602909cb - in which a partial commit is performed when just new sites are added and - the read-write volume was not changed since the previous release. - - Change-Id: If4b3ab81cd810df2e866d6eca0152f475c5448d6 - Reviewed-on: https://gerrit.openafs.org/12455 + Reviewed-on: https://gerrit.openafs.org/13003 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk + (cherry picked from commit 833a81eeda6e48ea1ced92169434e843d054c44d) + + Change-Id: I3bf407ec084d911cc826b50fc39f48a20eb0fd77 + Reviewed-on: https://gerrit.openafs.org/13110 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk -commit 5b28061fb593f5f48df549b07f0ccd848348b93c +commit 00f4b8b9471adf2c3d7d8f028afb7524d2f02160 Author: Marcio Barbosa -Date: Mon Nov 28 09:42:44 2016 -0500 +Date: Thu Mar 29 15:52:12 2018 -0300 - afs: release the packets used by rx on shutdown + autoconf: remove check for lorder - When the OpenAFS client is unmounted on DARWIN, the blocks of packets - allocated by RX are released. Historically, the memory used by those - packets was never properly released. + Currently, lorder is not being used. Remove the conditional that checks + if this binary exists. - Before 230dcebcd61064cc9aab6d20d34ff866a5c575ea, only the last block of - packets used to be released: - - ... - struct rx_packet *rx_mallocedP = 0; - ... - void - rxi_MorePackets(int apackets) - { - ... - getme = apackets * sizeof(struct rx_packet); - p = rx_mallocedP = (struct rx_packet *)osi_Alloc(getme); - ... - } - ... - void - rxi_FreeAllPackets(void) - { - ... - osi_Free(rx_mallocedP, ...); - ... - } - ... - - As we can see, ā€˜rx_mallocedPā€™ is a global pointer that stores the - first address of the last allocated block of packets. As a result, when - ā€˜rxi_FreeAllPacketsā€™ is called, only the last block is released. - - However, 230dcebcd61064cc9aab6d20d34ff866a5c575ea moved the global - pointer in question to the end of the last block. As a result, when the - OpenAFS client is unmounted on DARWIN, the ā€˜rxi_FreeAllPacketsā€™ - function releases the wrong block of memory. This problem was exposed - on OS X 10.12 Sierra where the system crashes when the OpenAFS client - is unmounted. - - To fix this problem, store the address of every single block of packets - in a queue and release one by one when the OpenAFS client is unmounted. - - Change-Id: Ibd6bd1a8bc45bb4802f9381a8e600c20ee85a59e - Reviewed-on: https://gerrit.openafs.org/12427 + Reviewed-on: https://gerrit.openafs.org/12981 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk - -commit f591f6fae3d8b8d44140ca64e53bad840aeeeba0 -Author: Mark Vitale -Date: Mon Nov 7 14:16:50 2016 -0500 - - dir: do not leak contents of deleted directory entries + (cherry picked from commit 1a0d68676526a5031d7f06f44d58c6dbb2b65da7) - Deleting an AFS directory entry (afs_dir_Delete) merely removes the - entry logically by updating the allocation map and hash table. However, - the entry itself remains on disk - that is, both the cache manager's - cache partition and the fileserver's vice partitions. - - This constitutes a leak of directory entry information, including the - object's name and MKfid (vnode and uniqueid). This leaked information - is also visible on the wire during FetchData requests and volume - operations. - - Modify afs_dir_Delete to clear the contents of deleted directory - entries. - - Patchset notes: - This commit only prevents leaks for newly deleted entries. Another - commit in this patchset prevents leaks of partial object names upon - reuse of pre-existing deleted entries. A third commit in this - patchset prevents yet another kind of directory entry leak, when - internal buffers are reused to create or enlarge existing directories. - All three patches are required to prevent new leaks. Two additional - salvager patches are also included to assist administrators in the - cleanup of pre-existing leaks. - - [kaduk@mit.edu: style nit for sizeof() argument] - - Change-Id: Iabaafeed09a2eb648107b7068eb3dbf767aa2fe9 - Reviewed-on: https://gerrit.openafs.org/12460 - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit a26c5054ee501ec65db3104f6a6a0fef634d9ea7 -Author: Benjamin Kaduk -Date: Sun Nov 6 23:29:22 2016 -0600 - - afs: do not leak stale data in buffers - - Similar to the previous commit, zero out the buffer when fetching - a new slot, to avoid the possibility of leaving stale data in - a reused buffer. - - We are not supposed to write such stale data back to a fileserver, - but this is an extra precaution in case of bugs elsewhere -- memset - is not as expensive as it was in the 1980s. - - Change-Id: I344e772e9ec3d909e8b578933dd9c6c66f0a8cf6 - Reviewed-on: https://gerrit.openafs.org/12459 - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 70065cb1831dbcfd698c8fee216e33511a314904 -Author: Mark Vitale -Date: Fri May 13 00:01:31 2016 -0400 - - dir: fileserver leaks names of file and directories - - Summary: - Due to incomplete initialization or clearing of reused memory, - fileserver directory objects are likely to contain "dead" directory - entry information. These extraneous entries are not active - that is, - they are logically invisible to the fileserver and client. However, - they are physically visible on the fileserver vice partition, on the - wire in FetchData replies, and on the client cache partition. This - constitutes a leak of directory information. - - Characterization: - There are three different kinds of "dead" residual directory entry - leaks, each with a different cause: - - 1. There may be partial name data after the null terminator in a live - directory entry. This happens when a previously used directory entry - becomes free, then is reused for a directory entry with a shorter name. - This may be addressed in a future commit. - - 2. "Dead" directory entries are left uncleared after an object is - deleted or renamed. This may be addressed in a future commit. - - 3. Residual directory entries may be inadvertently picked up when a new - directory is created or an existing directory is extended by a 2kiBi - page. This is the most severe problem and is addressed by this commit. - - This third kind of leak is the most severe because the leaked - directory information may be from _any_ other directory residing on the - fileserver, even if the current user is not authorized to see that - directory. - - Root cause: - The fileserver's directory/buffer package shares a pool of directory - page buffers among all fileserver threads for both directory reads and - directory writes. When the fileserver creates a new directory or - extends an existing one, it uses any available unlocked buffer in the - pool. This buffer is likely to contain another directory page recently - read or written by the fileserver. Unfortunately the fileserver only - initializes the page header fields (and the first two "dot" and "dotdot" - entries in the case of a new directory). Any residual entries in the - rest of the directory page are now logically "dead", but still - physically present in the directory. They can easily be seen on the - vice partition, on the wire in a FetchData reply, and on the cache - partition. - - Note: - The directory/buffer package used by the fileserver is also used by the - salvager and the volserver. Therefore, salvager activity may also leak - directory information to a certain extent. The volserver vos split - command may also contribute to leaks. Any volserver operation that - creates volumes (create, move, copy, restore, release) may also have - insignificant leaks. These less significant leaks are addressed by this - commit as well. - - Exploits: - Any AFS user authorized to read directories may passively exploit this - leak by capturing wire traffic or examining his local cache as he/she - performs authorized reads on existing directories. Any leaked data will - be for other directories the fileserver had in the buffer pool at the - time the authorized directories were created or extended. - - Any AFS user authorized to write a new directory may actively exploit - this leak by creating a new directory, flushing cache, then re-reading - the newly created directory. Any leaked data will be for other - directories the fileserver had in the buffer pool within the last few - seconds. In this way an authorized user may sample current fileserver - directory buffer contents for as long as he/she desires, without being - detected. - - Directories already containing leaked data may themselves be leaked, - leading to multiple layers of leaked data propagating with every new or - extended directory. - - The names of files and directories are the most obvious source of - information in this leak, but the FID vnode and uniqueid are leaked as - well. Careful examination of the sequences of leaked vnode numbers and - uniqueids may allow an attacker to: - - Discern each layer of old directories by observing breaks in - consecutive runs of vnode and/or uniqueid numbers. - - Infer which objects may reside on the same volume. - - Discover the order in which objects were created (vnode) or modified - (uniqueid). - - Know whether an object is a file (even vnode) or a directory (odd - vnode). - - Prevent new leaks by always clearing a pool buffer before using it to - create or extend a directory. - - Existing leaks on the fileserver vice partitions may be addressed in a - future commit. - - Change-Id: Ia980ada6a2b1b2fd473ffc71e9fd38255393b352 - Reviewed-on: https://gerrit.openafs.org/12458 - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 1637c4d7c1ce407390f65509a3a1c764a0c06aa6 -Author: Benjamin Kaduk -Date: Sun Nov 6 15:06:02 2016 -0600 - - bos: re-add -salvagedirs for use with -all - - The MR-AFS support code had a -salvagedirs option that was passed - through to the salvager (when running, and when -all was used), - that was removed in commit a9301cd2dc1a875337f04751e38bba6f1da7ed32 - along with the rest of the MR-AFS commands and options. - - However, it is useful in its own right, so add it back and allow - the use of -salvagedirs -all to rebuild every directory on the server. - - Change-Id: Ifc9c0e4046bf049fe04106aec5cad57d335475e3 - Reviewed-on: https://gerrit.openafs.org/12457 - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale + Change-Id: I3630b6ec9629361e86971ff0c37d93327f6763f4 + Reviewed-on: https://gerrit.openafs.org/13109 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 9e66234951cca3ca77e94ab431f739e85017a23a -Author: Michael Meffie -Date: Sun Nov 6 14:31:22 2016 -0600 - - dafs: honor salvageserver -salvagedirs - - Do not ignore the -salvagedirs option when given to the salvageserver. - When the salvageserver is running with this option, all directories will - be rebuilt by salvages spawned by the dafs salvageserver, including all - demand attach salvages and salvages of individual volumes initiated by - bos salvage. - - This does not affect the whole partition salvages initiated by bos - salvage -all. - - Change-Id: I4dd515ffa8f962c61e922217bee20bbd88bcd534 - Reviewed-on: https://gerrit.openafs.org/12456 - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3704fc6f2e6716d95446cd10aa2ec798be13472c -Author: Anders Kaseorg -Date: Fri Nov 4 20:17:32 2016 -0400 - - Remove NULL checks for AFS_NONNULL parameters - - Recent GCC warns about opr_Assert(p != NULL), where p is an - __attribute__((__nonnull__)) parameter, just like clang did before those - clang warnings were silenced by 11852, 11853. - - Now, we could go and add more autoconf tests and pragmas to silence the - GCC versions of these warnings. However, I maintain that silencing the - warnings is the wrong approach. The asserts in question have no - purpose. They do not add any safety, because GCC and clang are - optimizing them away at compile time (without proof!ā€”they take the - declaration at its word that NULL will never be passed). Just remove - them. - - Fixes these warnings (errors with --enable-checking) from GCC 6.2: - - In file included from casestrcpy.c:17:0: - casestrcpy.c: In function ā€˜opr_lcstringā€™: - casestrcpy.c:26:31: error: nonnull argument ā€˜dā€™ compared to NULL [-Werror=nonnull-compare] - opr_Assert(s != NULL && d != NULL); - ^ - /ā€¦/openafs/include/afs/opr.h:28:15: note: in definition of macro ā€˜__opr_Assertā€™ - do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0) - ^~ - casestrcpy.c:26:5: note: in expansion of macro ā€˜opr_Assertā€™ - opr_Assert(s != NULL && d != NULL); - ^~~~~~~~~~ - casestrcpy.c:26:18: error: nonnull argument ā€˜sā€™ compared to NULL [-Werror=nonnull-compare] - opr_Assert(s != NULL && d != NULL); - ^ - /ā€¦/openafs/include/afs/opr.h:28:15: note: in definition of macro ā€˜__opr_Assertā€™ - do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0) - ^~ - casestrcpy.c:26:5: note: in expansion of macro ā€˜opr_Assertā€™ - opr_Assert(s != NULL && d != NULL); - ^~~~~~~~~~ - casestrcpy.c: In function ā€˜opr_ucstringā€™: - casestrcpy.c:46:31: error: nonnull argument ā€˜dā€™ compared to NULL [-Werror=nonnull-compare] - opr_Assert(s != NULL && d != NULL); - ^ - /ā€¦/openafs/include/afs/opr.h:28:15: note: in definition of macro ā€˜__opr_Assertā€™ - do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0) - ^~ - casestrcpy.c:46:5: note: in expansion of macro ā€˜opr_Assertā€™ - opr_Assert(s != NULL && d != NULL); - ^~~~~~~~~~ - casestrcpy.c:46:18: error: nonnull argument ā€˜sā€™ compared to NULL [-Werror=nonnull-compare] - opr_Assert(s != NULL && d != NULL); - ^ - /ā€¦/openafs/include/afs/opr.h:28:15: note: in definition of macro ā€˜__opr_Assertā€™ - do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0) - ^~ - casestrcpy.c:46:5: note: in expansion of macro ā€˜opr_Assertā€™ - opr_Assert(s != NULL && d != NULL); - ^~~~~~~~~~ - casestrcpy.c: In function ā€˜opr_strcomposeā€™: - /ā€¦/openafs/include/afs/opr.h:28:12: error: nonnull argument ā€˜bufā€™ compared to NULL [-Werror=nonnull-compare] - do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0) - ^ - /ā€¦/openafs/include/afs/opr.h:37:25: note: in expansion of macro ā€˜__opr_Assertā€™ - # define opr_Assert(ex) __opr_Assert(ex) - ^~~~~~~~~~~~ - casestrcpy.c:98:5: note: in expansion of macro ā€˜opr_Assertā€™ - opr_Assert(buf != NULL); - ^~~~~~~~~~ - kalocalcell.c: In function ā€˜ka_CellToRealmā€™: - /ā€¦/openafs/include/afs/opr.h:28:12: error: nonnull argument ā€˜realmā€™ compared to NULL [-Werror=nonnull-compare] - do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0) - ^ - /ā€¦/openafs/include/afs/opr.h:37:25: note: in expansion of macro ā€˜__opr_Assertā€™ - # define opr_Assert(ex) __opr_Assert(ex) - ^~~~~~~~~~~~ - kalocalcell.c:117:5: note: in expansion of macro ā€˜opr_Assertā€™ - opr_Assert(realm != NULL); - ^~~~~~~~~~ - - Change-Id: I6fd618ed49255d7b3de2f8f3424d9659890829c0 - Reviewed-on: https://gerrit.openafs.org/12442 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 822ca15a0e760ad9f2c04cd177ca5634f85ee8d6 -Author: Dave Botsch -Date: Thu Nov 17 13:22:17 2016 -0500 - - Mac OS Sierra deprecates syscall() - - The syscall() function has been deprecated in MacOS 10.12 - Sierra. After - discussions with developers, it would appear that syscall() isn't really - needed, anymore, so we can just do away with it. - - Change-Id: I60e4220168b097bbae7a5ebaceb2d32276aad3e5 - Reviewed-on: https://gerrit.openafs.org/12452 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 74f837fd943ddfa20d349a83d6286a0183cb4663 -Author: Dave Botsch -Date: Thu Nov 3 12:22:21 2016 -0400 - - Define OSATOMIC_USE_INLINED to get usable atomics on DARWIN - - In Mac OS 10.12, legacy interfaces for atomic operations have been - deprecated. Defining OSATOMIC_USE_INLINED gets us inline implementations - of the OSAtomic interfaces in terms of the primitives. - This is a transition convenience. - - Also indent preprocessor directives within the main DARWIN block to - improve readability. - - Change-Id: Id10ae007d5427486f1b0a307a04a90f263201150 - Reviewed-on: https://gerrit.openafs.org/12433 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit f5f057ce8198480fb9c67f2a8c8eee906f8a7c4a -Author: Michael Meffie -Date: Thu Jul 7 15:51:18 2016 -0400 - - doc: update information about vlserver logging - - Mention the vlserver -d option can be used to set the initial logging - level. - - Thanks to Mark Vitale for the suggestion. - - Change-Id: Ia17a2063432343c2cf78e1b01c5897751625aae8 - Reviewed-on: https://gerrit.openafs.org/12324 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 37db7985fde9e6a5e71ae628d0b7124a27bf31c3 -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 - - Change-Id: Ic5abd82108cd59c0796a8d7659ddaffa791dbeee - Reviewed-on: https://gerrit.openafs.org/12453 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3af0460a4a6d7bf22e1789fd9e375659e20c3a55 +commit 7177faad0a7cb98fe59cd6fd41ed1a44c60be046 Author: Mark Vitale -Date: Mon Nov 21 13:25:40 2016 -0500 +Date: Wed May 17 16:32:20 2017 -0400 - doc: correct help for 'bos getlog' -restricted mode + ubik: death to orphaned signals - Commit f085951d39c0d6c1e6a626177c30235704317600 introduced an error in - the bos getlog helpfile. + ubik has a few very old "orphaned" LWP events that are signalled via + LWP_NoYieldSignal, but have no matching waits (LWP_WaitProcess). - Modify the helpfile to describe the actual restrictions imposed by - -restricted mode. + Each "signal" runs the LWP waiting element list for each LWP on the + blocked queue; this may add up to substantial wasted overhead on a + heavily loaded ubik server. - Change-Id: I8d8fedb558a1bdbd55d80046b2011f3aacc71b3f - Reviewed-on: https://gerrit.openafs.org/12454 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit c3bbf0b4444db88192eea4580ac9e9ca3de0d286 -Author: Mark Vitale -Date: Thu Aug 4 18:42:27 2016 -0400 - - LINUX: do not use d_invalidate to evict dentries - - When working within the AFS filespace, commands which access large - numbers of OpenAFS files (e.g., git operations and builds) may result in - active files (e.g., the current working directory) being evicted from the - dentry cache. One symptom of this is the following message upon return - to the shell prompt: - - "fatal: unable to get current working directory: No such file or - directory" - - Starting with Linux 3.18, d_invalidate returns void because it always - succeeds. Commit a42f01d5ebb13da575b3123800ee6990743155ab adapted - OpenAFS to cope with the new return type, but not with the changed - semantics of d_invalidate. Because d_invalidate can no longer fail with - -EBUSY when invoked on an in-use dentry. OpenAFS must no longer trust it - to preserve in-use dentries. - - Modify the dentry eviction code to use a method (d_prune_aliases) that - does not evict in-use dentries. - - Change-Id: I1826ae2a89ef4cf6b631da532521bb17bb8da513 - Reviewed-on: https://gerrit.openafs.org/12363 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 9d4be0bd01696768602a313f627a802b358b5885 -Author: Marcio Barbosa -Date: Fri Nov 11 13:21:58 2016 -0800 - - macos: do not quit prefpane unexpectedly - - If the user opens the OpenAFS preference pane and choose the Mounts - tab, the preference pane crashes. - - To fix the problem, do not assume that we can cast a NSdictionary - object to NSMutableDictionary. - - Change-Id: I3b5f6cb324a6b53c6b53606f71185f61450ee793 - Reviewed-on: https://gerrit.openafs.org/12446 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 3e8529b6efec4625a4c67e6779fc8367291461a0 -Author: Mark Vitale -Date: Wed May 18 00:36:12 2016 -0400 - - salvager: fix error message for invalid volumeid - - If the specified volumeid is invalid (e.g. volume name was specified - instead of volume number), the error is reported via Log(). However, - commit 24fed351fd13b38bfaf9f278c914a47782dbf670 moved the log opening - logic from before this check to after it, effectively making this Log() - call a no-op. - - Instead, use fprintf to issue the error message. - - Change-Id: I488bc93b178c7973e48d7c9ef4e7ecde9ba62696 - Reviewed-on: https://gerrit.openafs.org/12288 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e8f066dede63648d7d54c632e0e257c80db6effa -Author: Anders Kaseorg -Date: Fri Nov 4 20:48:02 2016 -0400 - - src/tools/rxperf/rxperf.c: Fix misleading indentation - - Fixes these warnings (errors with --enable-checking) from GCC 6.2: - - rxperf.c: In function ā€˜rxperf_serverā€™: - rxperf.c:930:4: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (ptr && *ptr != '\0') - ^~ - rxperf.c:932:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - break; - ^~~~~ - rxperf.c: In function ā€˜rxperf_clientā€™: - rxperf.c:1102:4: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (ptr && *ptr != '\0') - ^~ - rxperf.c:1104:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - break; - ^~~~~ - - Change-Id: I4e8e1f75ec14fa9f95441275cfc136adbb448e9e - Reviewed-on: https://gerrit.openafs.org/12440 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 85cf397ec18ecfde36433fb65e5d91ecd325b76e -Author: Anders Kaseorg -Date: Fri Nov 4 20:46:22 2016 -0400 - - src/gtx/curseswindows.c: Fix misleading indentation - - Fixes these warnings (errors with --enable-checking) from GCC 6.2: - - curseswindows.c: In function ā€˜gator_cursesgwin_drawcharā€™: - curseswindows.c:574:5: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (params->highlight) - ^~ - curseswindows.c:576:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - if (code) - ^~ - curseswindows.c:579:5: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (params->highlight) - ^~ - curseswindows.c:581:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - if (code) - ^~ - curseswindows.c: In function ā€˜gator_cursesgwin_drawstringā€™: - curseswindows.c:628:5: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (params->highlight) - ^~ - curseswindows.c:630:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - if (code) - ^~ - curseswindows.c:633:5: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (params->highlight) - ^~ - curseswindows.c:635:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - if (code) - ^~ - - Change-Id: Ib53eb5755eebb5e22a5414ced8a2540825b41e15 - Reviewed-on: https://gerrit.openafs.org/12439 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 86153c65cad10b0459d0f87bbe227a1ebe40f4ea -Author: Anders Kaseorg -Date: Fri Nov 4 20:44:00 2016 -0400 - - src/afsd/afsd.c: Fix misleading indentation - - Fixes these warnings (errors with --enable-checking) from GCC 6.2: - - afsd.c: In function ā€˜afsd_runā€™: - afsd.c:2176:6: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (enable_rxbind) - ^~ - afsd.c:2178:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - afsd_syscall(AFSOP_ADVISEADDR, code, addrbuf, maskbuf, mtubuf); - ^~~~~~~~~~~~ - afsd.c:2487:5: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (afsd_debug) - ^~ - afsd.c:2490:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - afsd_syscall(AFSOP_GO, 0); - ^~~~~~~~~~~~ - - Change-Id: Ic4769046dc06bb58d61428ac08ea12a2f70743e9 - Reviewed-on: https://gerrit.openafs.org/12438 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 38040db3bb7b5ae4d5b2c710da17ba60abe39935 -Author: Anders Kaseorg -Date: Fri Nov 4 20:39:34 2016 -0400 - - src/ubik/uinit.c: Fix misleading indentation - - Fixes this warning (error with --enable-checking) from GCC 6.2: - - uinit.c: In function ā€˜internal_client_initā€™: - uinit.c:96:2: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (code) - ^~ - uinit.c:98:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - return code; - ^~~~~~ - - Change-Id: Ib03c4128e206194fa5c34fa3c49bb06beb70e6d0 - Reviewed-on: https://gerrit.openafs.org/12437 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 0aeb8c17a2701169ddb7397d951c73cf361087c8 -Author: Anders Kaseorg -Date: Fri Nov 4 20:38:08 2016 -0400 - - src/rx/rx_packet.c: Fix misleading indentation - - Fixes these warnings (errors with --enable-checking) from GCC 6.2: - - rx_packet.c: In function ā€˜rxi_ReceiveDebugPacketā€™: - rx_packet.c:2009:9: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (rx_stats_active) - ^~ - rx_packet.c:2011:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - s = (afs_int32 *) & rx_stats; - ^ - rx_packet.c:2017:9: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (rx_stats_active) - ^~ - rx_packet.c:2019:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - rxi_SendDebugPacket(ap, asocket, ahost, aport, istack); - ^~~~~~~~~~~~~~~~~~~ - - Change-Id: Iaecedf63e9ed393607b8700b892aea7678c774b3 - Reviewed-on: https://gerrit.openafs.org/12436 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit bd70a176c19c09c49c6c3c01ea088ca947c45966 -Author: Anders Kaseorg -Date: Fri Nov 4 20:36:51 2016 -0400 - - src/rxgen/rpc_parse.c: Fix misleading indentation - - Fixes this warning (error with --enable-checking) from GCC 6.2: - - rpc_parse.c: In function ā€˜analyze_ProcParamsā€™: - rpc_parse.c:861:5: error: this ā€˜ifā€™ clause does not guard... [-Werror=misleading-indentation] - if (tokp->kind != TOK_RPAREN) - ^~ - rpc_parse.c:863:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ā€˜ifā€™ - *tailp = decls; - ^ - - Change-Id: Ia63311c20eb8cd96123ba97b0bf7621b82956e79 - Reviewed-on: https://gerrit.openafs.org/12435 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a7cc505d3be81e6aaf755bcc83d0dbcab85dbdad -Author: Anders Kaseorg -Date: Fri Nov 4 20:18:52 2016 -0400 - - regen.sh: Use libtoolize -i, and .gitignore generated build-tools - - Recent libtoolize actually deletes build-tools/missing, which Git was - treating as a change to the working copy. Besides, we should let - libtoolize copy in its more recent version of config.guess, config.sub, - and install-sh. - - Change-Id: If21f22649e1e1015ad3bcfbf6d34f297b56993a1 - Reviewed-on: https://gerrit.openafs.org/12434 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 22933e02e2510f25b79230964f135571c7bfe710 -Author: Benjamin Kaduk -Date: Thu Oct 27 17:27:26 2016 -0500 - - Reformat src/afs/LINUX/osi_vcache.c - - Apply the GNU indent options from CODING, with manual adjustments - to leave jump labels in column zero. - - Also rename and mark static a function-local helper function. - - Change-Id: I50b8300b675b2a3f76ae743136b204473ac0c8b0 - Reviewed-on: https://gerrit.openafs.org/12422 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 742643e306929ac979ab69515a33ee2a3f2fa3fa -Author: Mark Vitale -Date: Thu Aug 4 18:18:15 2016 -0400 - - LINUX: split dentry eviction from osi_TryEvictVCache - - To make osi_TryEvictVCache clearer, and to prepare for a future change - in dentry eviction, split the dentry eviction logic into its own routine - osi_TryEvictDentries. + Remove the orphaned signals. No functional difference should be incurred by this commit. - Change-Id: I5b255fd541d09159d70f8d7521ca8f2ae7fe5c2b - Reviewed-on: https://gerrit.openafs.org/12362 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Joe Gorse - -commit 0bed87a15db11bccb693b3a54f704ee5751ae553 -Author: Marcio Barbosa -Date: Sun Oct 23 12:52:49 2016 -0700 - - macos: packaging support for MacOS X 10.12 - - This commit introduces the new set of changes / files required to - successfully create the dmg installer on OS X 10.12 "Sierra". - - Change-Id: I8e715240c4b230c39c26c418324c0184268e1f73 - Reviewed-on: https://gerrit.openafs.org/12420 - Reviewed-by: Joe Gorse - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 0bdf750a962a81b9b2e61387d7a3340dabb13395 -Author: Marcio Barbosa -Date: Tue Oct 25 19:33:38 2016 -0700 - - macos: add support for MacOS 10.12 - - This commit introduces the new set of changes / files required to - successfully build the OpenAFS source code on OS X 10.12 "Sierra". - - Change-Id: I42326cd271d84735188f9e3003e292afe5ee34be - Reviewed-on: https://gerrit.openafs.org/12419 - Reviewed-by: Joe Gorse - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8aeb711eeaa5ddac5a74c354091e2d4f7ac0cd63 -Author: Mark Vitale -Date: Thu Oct 20 00:49:37 2016 -0400 - - Linux 4.9: inode_change_ok() becomes setattr_prepare() - - Linux commit 31051c85b5e2 "fs: Give dentry to inode_change_ok() instead - of inode" renames and modifies inode_change_ok(inode, attrs) to - setattr_prepare(dentry, attrs). - - Modify OpenAFS to cope. - - Change-Id: I72f8dfbdbd25d7c775e9c35116e323ea4359e95c - Reviewed-on: https://gerrit.openafs.org/12418 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit f21e3ef8ce5093b4e0578d29666f76bd99aef1a2 -Author: Mark Vitale -Date: Fri Sep 16 19:01:19 2016 -0400 - - Linux 4.9: inode_operation rename now takes flags - - In Linux 3.15 commit 520c8b16505236fc82daa352e6c5e73cd9870cff, - inode_operation rename2() was added. It takes the same arguments as - rename(), with an added flags argument supporting the following values: - - RENAME_NOREPLACE: if "new" name exists, fail with -EEXIST. Without - this flag, the default behavior is to replace the "new" existing file. - - RENAME_EXCHANGE: exchange source and target; both must exist. - - OpenAFS never implemented a .rename2() routine because it was optional - when introduced at Linux v3.15. - - In Linux 4.9-rc1 the following commits remove the last in-tree uses of - .rename() and converts .rename2() to .rename(). - aadfa8019e81 vfs: add note about i_op->rename changes to porting - 2773bf00aeb9 fs: rename "rename2" i_op to "rename" - 18fc84dafaac vfs: remove unused i_op->rename - 1cd66c93ba8c fs: make remaining filesystems use .rename2 - e0e0be8a8355 libfs: support RENAME_NOREPLACE in simple_rename() - f03b8ad8d386 fs: support RENAME_NOREPLACE for local filesystems - - With these changes, it is now mandatory for OpenAFS afs_linux_rename() - to accept a 5th flag argument. - - Add an autoconfig test to determine the signature of .rename(). Use this - information to implement afs_linux_rename() with the appropriate number - of arguments. Implement "toleration support" for the flags option by - treating a zero flag as a normal rename; if any flags are specified, - return -EINVAL to indicate the OpenAFS filesystem does not yet support - any flags. - - Change-Id: I165d2b7956942446d97beda8504ac1ed5185a036 - Reviewed-on: https://gerrit.openafs.org/12391 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8e81b182e36cde28ec5708e5fcbe56e4900b1ea3 -Author: Mark Vitale -Date: Wed Sep 14 18:01:22 2016 -0400 - - Linux 4.9: deal with demise of GROUP_AT - - Linux commit 81243eacfa40 "cred: simpler, 1D supplementary groups" - refactors the group_info struct, removing some members (which OpenAFS - references only through the GROUP_AT macro) and adding a gid member. - The GROUP_AT macro is also removed from the tree. - - Add an autoconfigure test for the new group_info member gid and define a - replacement GROUP_AT macro to do the right thing under the new regime. - - Change-Id: I85a52c0ae0d91fc141a523f443a4ffc05eb72a2b - Reviewed-on: https://gerrit.openafs.org/12390 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e17cd5df703b8a924591f92c76636dd9e0d9eaf9 -Author: Anders Kaseorg -Date: Sun Oct 9 06:39:12 2016 -0400 - - tests/util/ktime-t.c: Specify EST offset in TZ - - This fixes test failures observed on new Debian build servers that no - longer install tzdata by default. As the tests expect, EST is defined - as UTCāˆ’05:00 with no daylight saving time. - - Change-Id: Ida8cb33687b5d87761cb0422e446afd99246d47a - Reviewed-on: https://gerrit.openafs.org/12414 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1cd86de2912af9ad709d2d7cf8aa35d5d28fb6b3 -Author: Yadav Yadavendra -Date: Mon Oct 3 15:25:08 2016 -0400 - - afs: afs_linux_write_end only commit copied - - In afs_linux_write_end() only commit the number of bytes actually copied - to the page. - - Change-Id: I3576a28302d35917019d369adc9d1013ad5870c5 - Reviewed-on: https://gerrit.openafs.org/12409 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 0fdbc0754be58a50f60e3187fc4b34f057faf198 -Author: Daria Phoebe Brashear -Date: Sun Sep 25 19:45:48 2016 -0400 - - git: add a mailmap file - - I'd like the source tree to stop deadnaming me, so, sharing this change to do it - - Change-Id: Iee65d1c8e7e695ea939485db5b148615e052f953 - Reviewed-on: https://gerrit.openafs.org/12394 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 2fe3a28c6ec0ff9d19ddec5500b3a5e69b483210 -Author: Michael Meffie -Date: Mon Aug 22 19:53:34 2016 -0400 - - tests: avoid passing NULL strings to vprintf - - Some libc implementations will crash when NULL string arguments are given to - *printf. Avoid passing NULL string arguments in the make check tests that did - so, and pass the string "(null)" instead. - - Change-Id: I65f11a3eef88d1c7b210c867ae0c40018160f55a - Reviewed-on: https://gerrit.openafs.org/12377 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 4e0bc086d6d09db66b3dd26d221ff712ff351386 -Author: Michael Meffie -Date: Sat Aug 6 10:41:24 2016 -0400 - - afsd: fix afsd -help crash - - afsd crashes after the usage is displayed with the -help option. - - $ afsd -help - Usage: ./afsd [-blocks <1024 byte blocks in cache>] [-files ] - ... - Segmentation fault (core dumped) - - The backtrace shows the crash occurs when calling afsconf_Open() with an - invalid pointer argument, even though afsconf_Open() is not even needed - when -help is given. - - (gdb) bt - #0 __strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:32 - #1 0x00007ffff726fc36 in *__GI___strdup (s=0x0) at strdup.c:42 - #2 0x0000000000408383 in afsconf_Open (adir=0x0) at cellconfig.c:444 - #3 0x00000000004054d5 in afsd_run () at afsd.c:1926 - #4 0x0000000000407dc5 in main (argc=2, argv=0x7fffffffe348) at afsd_kernel.c:577 - - afsconf_Open() is called with an uninitialized pointer because commit - d72df5a18e0bb8bbcbf23df3e8591072f0cdb770 changed the libcmd - cmd_Dispatch() to return 0 after displaying the command usage when the - -help option is specified. (That fix was needed for scripts which use - the -help option to inspect command options with the -help option.) - - The afsd_kernel main function then incorrectly calls the afsd_run() - function, even though mainproc() was not called, which sets up the afsd - option variables. The afsconf_Open() is the first function we call in - afsd_run(). - - Commit f77c078a291025d593f3170c57b6be5f257fc3e5 split afsd into afsd.c - and afsd_kernel.c to support libuafs (and fuse). This split the parsing - of the command line arguments and the running of the afsd command into - two functions. The mainproc(), which originally did both, was split - into two functions; one (still called mainproc) to check the option - values given and setup/auto-tune values, and another (called afsd_run) - to do the actual running of the afsd command. The afsd_parse() function - was introduced as a wrapper around cmd_Dispatch() which "dispatches" - mainproc. - - With this fix, take the opportunity to rename mainproc() to the now more - accurately named CheckOptions() and change afsd_parse() to parse the - command line options with cmd_Parse(), instead of abusing - cmd_Dispatch(). - - Change the main fuction to avoid running afsd_run() when afsd_parse() - returns the CMD_HELP code which indicates the -help option was given. - - afsd.fuse splits the command line arguments into afsd recognized options - and fuse options (everything else), so only afsd recognized arguments - are passed to afsd_parse(), via uafs_ParseArgs(). The -help argument is - processed as part of that splitting of arguments, so afsd.fuse never - passes -help as an argument to afsd_parse(). This means we to not need - to check for CMD_HELP as a return value from uafs_ParseArgs(). But - since this is all a bit confusing, at least check the return value in - uafs_ParseArgs(). - - Change-Id: If510f8dc337e441c19b5e28685e2e818ff57ef5a - Reviewed-on: https://gerrit.openafs.org/12360 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 644d3b6ec4afb5e9c0f35f48058d20f791806a9d -Author: Michael Meffie -Date: Tue Aug 2 16:52:42 2016 -0400 - - revert: "LINUX: Fix oops during negative dentry caching" - - Commit fd23587a5dbc9a15e2b2e83160b947f045c92af1 was done to fix an oops - when parent_vcache_dv() was called without the GLOCK held. Since the - lockless code paths have been removed, and parent_vcache_dv() is always - called with the GLOCK held, revert the extra locked flag argument and - the calls obtain and release the GLOCK within parent_vcache_dv(). - - Change-Id: I21c3272ec4ed5d4fa1a746a0f783cccfc14e0c22 - Reviewed-on: https://gerrit.openafs.org/12354 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 74d4fea1683ccd5b4db53709fc2b5053062ea052 -Author: Andrew Deason -Date: Wed Mar 4 14:10:23 2015 -0600 - - Revert "Lockless path through afs_linux_dentry_revalidate" - - This reverts commit 3ecd65d3375f0a4fa4c28f9b59cdf6a1f6fd51b8. - - This commit made it possible to execute afs_linux_dentry_revalidate - without taking the GLOCK under some circumstances. However, it - achieved this by examining structure members outside of the GLOCK that - were previously only examined under the GLOCK (such as vcp->f.states - and vcp->f.m.DataVersion). - - While that does of course improve performance, it is not known to be - completely safe. Revert this commit so we may implement a fastpath - through afs_linux_dentry_revalidate using more trusted lockless - techniques (atomics, RCU, etc). - - Change-Id: Ia3ca2cf53f97244e4e548db7c1caf218c16aca5c - Reviewed-on: https://gerrit.openafs.org/11793 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a13ea7038ebe262ba1e5387f4a3b12897bd8822b -Author: Andrew Deason -Date: Fri Feb 13 13:11:09 2015 -0600 - - opr: Add opr_StaticAssert - - Add a static assert macro, for asserting that certain build-time - expressions are true. - - Change-Id: I33b0e7168f041e8e8406710d05689e044af45fad - Reviewed-on: https://gerrit.openafs.org/11792 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 7b99f2e4a8b7071930a5851c5f6c6ab6ddc0dd57 -Author: Andrew Deason -Date: Thu Jun 26 15:47:46 2014 -0700 - - afs: Create afs_SetDataVersion - - Several different places in the codebase change avc->f.m.DataVersion - for a particular vcache, when we've noticed that the DV for the vcache - has changed. Consolidate all of these occurrences into a single - afs_SetDataVersion function, to make it easier to change what happens - when we notice a change in DV number. - - This should incur no behavior change; it is just simple code - reorganization. - - Change-Id: I5dbf2678d3c4b5a2fbef6ef045a0b5bfa8a49242 - Reviewed-on: https://gerrit.openafs.org/11791 - Reviewed-by: Marc Dionne - Reviewed-by: Daria Phoebe Brashear - Reviewed-by: Benjamin Kaduk - Reviewed-by: Thomas Keiser - Tested-by: BuildBot - -commit fac0b742960899123dca6016f6ffc6ccc944f217 -Author: Andrew Deason -Date: Sun May 22 21:54:30 2016 -0500 - - ubik: Return an error from ContactQuorum when inquorate - - Currently, when we need to contact all other servers in the ubik - quorum (to create a write transaction, and send db changes, etc), we - call the ContactQuorum_* family of functions. To contact each server, - those functions follow an algorithm like the following pseudocode: - - { - int rcode = 0; - int code; - int okcalls = 0; - - for (ts = ubik_servers; ts; ts = ts->next) { - if (ts->up) { - code = contact_server(ts); - if (code) { - rcode = code; - } else { - okcalls++; - } - } - } - - if (okcalls + 1 >= ubik_quorum) { - return 0; - } else { - return rcode; - } - } - - This means that if we successfully contact a majority of ubik sites, - we return success, even if some sites returned an error. If most sites - fail, then we return an error (we arbitrarily pick the last error we - got). - - This means that in most situations, a successful write transaction is - guaranteed to have been transmitted to a majority of ubik sites, so - the written data cannot be lost (at least one of the sites that got - the new data will be in a future elected quorum). - - However, if a site is already known to be down (ts->up is 0), then we - skip trying to contact that site, but we also don't set any errors. - This means that if a majority of sites are already known to be down - (ts->up is 0), then we can indicate success for a write transaction, - even though the relevant data has not been written to a majority of - sites. In that situation, it is possible to lose data. - - Most of the time this is not possible, since a majority of sites must - be 'up' for the sync site to be elected and to allow write - transactions at all. There are a few ways, though, in which we can get - into a situation where most other sites are 'down', but we still let a - write transaction go through. - - An example scenario: - - Say we have sites A, B, and C. All 3 sites come up at the same time, - and A is the lowest IP so it starts an election (after around BIGTIME - seconds). Right after A is elected the sync site, sites B and C will - have 'lastYesState' set to 0, since site A hasn't yet sent out a - beacon as the sync site. - - A client can then start a write to the ubik database on site A, which - site A will allow since it's the sync site (and presumably all the - relevant recovery flags are set). Site A will try to contact sites B - and C for a DISK_Begin call, but lastYesState is set to 0 on those - sites. This will cause DISK_Begin to return UNOQUORUM - (urecovery_AllBetter will return 0, because uvote_HaveSyncAndVersion - will return 0, because lastYesState is not set). - - So site A will get a UNOQUORUM error from sites B and C, and so site A - will set 'ts->up' to 0 for sites B and C, and will return UNOQUORUM to - the client. The client may then try to retry the call (because - UNOQUORUM is not treated as a 'global' error in ubikclient.c's - ubik_Call_New), or another client write request could come in. Now - that 'ts->up' is unset for both sites B and C, we skip trying to - contact any remote sites, and the ContactQuorum functions will return - success. So the ubik write will go through successfully, but the new - data will only be on site A. - - At this point, if site A crashes, then sites B and C will elect a - quorum, and will not have the modifications that were written to site - A (so the data written to site A is lost). If site A stays up, then it - will go through database recovery, sending the entire database file to - sites B and C. - - In addition, it's very possible in this scenario for a client to write - to the database, and then try to read back data and confusingly get a - different result. For example, if someone issues the following two - commands while triggering the above scenario: - - $ pts createuser testuser - $ pts examine testuser - - If the second command contacts site B or C, then it will always fail, - saying that the user doesn't exist (even though the first command - succeeded). This is because sites B and C don't have the new data - written to site A, at least temporarily. While this confusing behavior - is not completely avoidable in ubik (this can always happen - 'sometimes' due to network errors and such), with the scenario - described here, it happens 100% of the time. - - The general scenario described above can also happen if sites B and C - are suddenly legitimately unreachable from site A, instead of throwing - the UNOQUORUM error. All of the steps are pretty much the same, but - there is a bit of a delay while we wait for the DISK_Begin call to - fail. - - To fix this, do not let 0 be returned if a quorum has not been - reached. In some sense, UNOQUORUM could *always* be returned in - that case, but it is more in keeping with historical behavior to - return a "real" error if there is one available. - - It is somewhat questionable whether we should even be propagating - errors received from calls like DISK_Begin/DISK_Commit to the ubik - client (e.g. if we get a -1 from trying to contact a remote site, we - return -1 to the client, so the client may think it couldn't reach the - site at all). But this commit does not change any of that logic, and - should only change behavior when a majority of sites have 'ts->up' - unset. A later commit might effect the change to always return - UNOQUORUM and ignore the actual error values from the DISK_ calls, - but that is not needed to fix the immediate issue. - - An important note: - - Before this commit, there was a window of about 15 seconds after a - sync site is elected where a write to the ubik db would appear to be - successful, but would only modify the ubik db on the sync site. - (Details described above.) With this commit, writes during that - 15-second window will instead fail, because we cannot guarantee that - we won't lose that data. If someone relies on 'udebug' data from the - sync site to let them know when writes will go through successfully, - this commit could appear to cause new errors. - - [kaduk@mit.edu: transfer long commit message describing the issue - from an alternative fix, and tidy up accordingly] - Change-Id: If6842d7122ed4d137f298f0f8b7f20350b1e9de6 - Reviewed-on: https://gerrit.openafs.org/12289 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 64cc7f0ca7a44bb214396c829268a541ab286c69 -Author: Andrew Deason -Date: Wed May 14 19:56:58 2014 -0500 - - afs: Create afs_StaleVCache - - In numerous different places in the code, we do something like this to - mark a vcache as stale: - - ObtainWriteLock(&afs_xcbhash, somenumber); - avc->f.states &= ~CStatd; - afs_DequeueCallback(avc); - ReleaseWriteLock(&afs_xcbhash); - if (avc->f.fid.Fid.Vnode & 1 || (vType(avc) == VDIR)) - osi_dnlc_purgedp(avc); - - There are some variations here and there, but all locations usually - involve at least some code like that. But they all do the same general - thing: invalidate a vcache so we hit the net the next time we need - that vcache. - - In order to make it easier to modify what happens when we invalidate a - vcache, and just to improve the code, take all of these instances and - put the functionality in a single function, called afs_StaleVCache, - which marks the vcache as 'stale'. - - To handle a few different situations that must be handled, we have - some flags that can also be passed to the new function. These are - primarily necessary to handle variations in the circumstances under - which we hit this code path; for instance, we may already have - afs_xcbhash locked, or we may be invalidating the entire osidnlc (if - we're invalidating vcaches in bulk, for example). - - This should result in the same general behavior in all cases. The only - slight differences in a few cases is that we hold locks for a few more - operations than we used to; for example, we may clear an osidnlc entry - while holding the vcache lock. But these are minor and shouldn't - result in any actual differences in behavior. - - So, this commit should just be code reorganization and should incur no - behavior change. However, this reorganization is complex, and should - not be considered a simple risk-free refactoring. - - [kaduk@mit.edu: implement Tom Keiser's suggestion of a third argument - to afs_StaleVCacheFlags, add AFS_STALEVC_CLEARCB and - AFS_STALEVC_SKIP_DNLC_FOR_INIT_FLUSHED] - - Change-Id: I2b2f606c56d5b22826eeb98471187165260c7b91 - Reviewed-on: https://gerrit.openafs.org/11790 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 733dcec01784617e3354c2b8b29f50b09464a4bb -Author: Matt K. Light -Date: Tue Sep 13 14:18:38 2016 -0500 - - Fix compile error for PPC64 gcc 6.1.1 - - Cast function pointer stubs to remove compile errors - on Fedora 24 PPC64 with ggcc 6.1.1 - - FIXES 133407 - - Change-Id: I59a191f7f8123ce17bfa6175b989ae14b5eab5a4 - Reviewed-on: https://gerrit.openafs.org/12386 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit f2f5a7bca5e77971ef71bf2ddabf93868fe79f1d -Author: Michael Meffie -Date: Wed Aug 17 10:57:48 2016 -0400 - - CODING: one-line if statements should not have braces - - Update the style guide with a declaration of the prevailing and - preferred brace style for one-line if statements and loops. Provide an - example and counter-example. - - Change-Id: Iafeea977203b76c0e67385779fb4ed57f3c6699a - Reviewed-on: https://gerrit.openafs.org/12370 - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit f0fa5a5327c7440070d34127a124d6b7eb4bd32d -Author: Michael Meffie -Date: Thu Jun 11 11:25:51 2015 -0400 - - libafs: update the volume setup time when the vldb is rechecked - - The vldb is rechecked when the fileserver returns certain error codes, - such as VMOVED. When the vldb is rechecked, update the volume - setupTime to reflect the most recent time the volume vldb information - is known to be correct. - - Be sure the VRecheck flag is cleared after checking the vldb, since - the volume write lock was dropped after finding the volume. - - Change-Id: I0ba389ee408de602e0059fbe8013012501c337d3 - Reviewed-on: https://gerrit.openafs.org/11897 - Reviewed-by: Mark Vitale + Reviewed-on: https://gerrit.openafs.org/12620 + Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit ee08dbe37d9db4fe314bd88b9280bf73c92c37bd -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] - - Change-Id: I01d29fff309337ae95b9b6c65db3d2212cf4bf89 - Reviewed-on: https://gerrit.openafs.org/11978 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit b39095c3a7e1c631bb17816b7e707bc21a6b8c71 -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. - - Change-Id: I78bb42913f2a5d84c9f323f17dc36d800d8acb84 - Reviewed-on: https://gerrit.openafs.org/12382 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 0028ea92ad3e7aac6a4c51f63703a4d9d7b9dcd6 -Author: Michael Meffie -Date: Wed Apr 29 12:00:24 2015 -0400 - - afs: add afsd -inumcalc option - - This commit adds the afsd -inumcalc command line switch to specify the - inode number calculation method in a platform neutral way. - - Inode numbers reported for files within the AFS filesystem are generated - by the cache manager using a calculation which derives a number from a - FID. Long ago, a new type of calculation was added which generates inode - numbers using a MD5 message digest of the FID. The MD5 inode number - calculation variant is computationally more expensive but greatly - reduces the chances for inode number collisions. - - The MD5 calculation can be enabled on the Linux cache manager using the - Linux sysctl interface. Other than the sysctl method of selecting the - inode calculation type, the MD5 inode number calculation method is not - specific to Linux. - - This change introduces a command-line option which accepts a value to - indicate the calculation method, instead of a simple flag to enable MD5 - inode numbers. This should allow for new inode calculation methods - in the future without the need for additional afsd command-line flags. - - Two values are currently accepted for -inumcalc. The value of 'compat' - specifies the legacy inode number calculation. The value 'md5' indicates - that the new MD5 calculation is to be used. - - Change-Id: I0257c68ca1a32a7a4c55ca8174a4926ff78ddea4 - Reviewed-on: https://gerrit.openafs.org/11855 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit c17d14223044936a5de5007052eff3488350e9d4 -Author: Michael Meffie -Date: Sat Aug 6 12:57:59 2016 -0400 - - CODING: update style guide for multiline comments - - Document the preferred style for multiple line comment blocks and give an - example. - - Change-Id: I73d6183da9014a943316e5aea1d43be2acc81ad7 - Reviewed-on: https://gerrit.openafs.org/12361 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit aca8ac83bd456862815a7f247e9a7b89583517a8 -Author: Benjamin Kaduk -Date: Wed Jul 13 18:23:50 2016 -0500 - - Document minimum supported compiler versions - - Pick some fairly old versions of clang and gcc and document them - as the minimum supported version. This will let us make assumptions - about compiler features that are available when using those compilers. - - Change-Id: Ibb8df72c9b12cc7adff39ece9708a428975ba703 - Reviewed-on: https://gerrit.openafs.org/12331 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 83a0f2a9ef88e63fbd300fbb436c17ca80c245b4 -Author: Anders Kaseorg -Date: Mon Jul 25 21:04:59 2016 -0400 - - Linux 4.7: Follow key_alloc API change - - Linux v4.7-rc1~124^2~2^2^2~9 adds an eighth optional argument - restrict_link. The same commit adds a KEY_ALLOC_BYPASS_RESTRICTION - macro, which we test so we can avoid adding another configure test. - - Change-Id: I83e27b54ba5711124dccaa41de7155be77054f47 - Reviewed-on: https://gerrit.openafs.org/12345 - Tested-by: BuildBot - Reviewed-by: Anders Kaseorg - Reviewed-by: Benjamin Kaduk - -commit fa5af899319b69fa9542add78beca388521e3450 -Author: Mark Vitale -Date: Fri May 27 16:44:17 2016 -0400 - - SOLARIS: corrupted content of mmap'd files over 4GiB - - Many Solaris programs and utilities (notably mdb and cp) use mmap() in - their implementation. When AFS files exceeding 4GiB are mmap'd, the - contents of the file will be incorrectly mapped into memory. Starting at - 4GiB + 1, the first 4GiB will be repeated for the remainder of the file. - If the mmap'd file is written back to storage (AFS or otherwise), the - newly created file will also be corrupted. - - This is due to a bug in the afs_map() routine that supports mmap() of - AFS files on Solaris. The segvn_crarg.offset passed to the Solaris - virtual memory APIs is incorrectly cast to u_int, causing it to wrap at - 4GiB. - - Although Solaris passes the offset from fop_map() to afs_map() as type - offset_t, the destination segvn_crargs.offset is actually type - u_offset_t. Existing examples of other Solaris filesystems (e.g. - zfs_map() ) cast the offset from offset_t to u_offset_t when assigning to - segvn_crargs.offset. If it's good enough for ZFS, it's good enough for - AFS. - - Correctly cast the offset to u_offset_t. - - Thanks to Robert Milkowski for the report and diagnosis. - - Change-Id: Id25363255ec011f2ad7e003ca3e4a1385bebff7e - Reviewed-on: https://gerrit.openafs.org/12292 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 75325fc9ab1cec4a338e1aaf1b32de1922492b12 -Author: Mark Vitale -Date: Thu May 26 16:53:47 2016 -0400 - - SOLARIS: support mmap() over 4GiB - - When mmap() is issued for exactly 4GiB of a large AFS-resident file, - mmap() fails with ENOMEM. This is because the AFS code is handling the - requested length as u_int instead of size_t, resulting in a 0 being - passed back to the caller. - - When mmap() is issued for non-multiples of 4GiB, the subsequent mapping - will not contain all the requested pages, and for the same reason - the - mapped size has been truncated to 32 bits. This results in SIGSEGV when - accessing the non-mapped page(s). - - Fix the signature of afs_map() to specify the correct type for the length. - - Thanks to Robert Milkowski for the report and diagnosis. - - Change-Id: I8a9f0cb04ff9b80de5516e14d0679b06ef0b3f9a - Reviewed-on: https://gerrit.openafs.org/12291 - Tested-by: BuildBot - Tested-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 19ffa2b7f09bffea816dda4713ad53f4d8cb93cb -Author: Marcio Barbosa -Date: Wed Jul 20 15:09:43 2016 -0400 - - macos: pkgbuild.sh should not be tracked by git - - The automatically generated pkgbuild.sh file should not be tracked by - git. To fix this problem, add the name of this file to the proper - .gitignore file. - - Change-Id: I9bdbad8e7cc02926de61e337ccb94d8a2c27ae43 - Reviewed-on: https://gerrit.openafs.org/12343 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 7f8af1b384cfdc2964a122953e4102b4d82e6cb1 -Author: Mark Vitale -Date: Thu Jun 18 15:32:36 2015 -0400 - - afs: incorrect comments for afs_ClearStatus - - The brief description was identical to the one for afs_Analyze. - - Update it to accurately describe afs_ClearStatus. - - Change-Id: I70ceca41342c1b47950c35f567f8ae5a2566f925 - Reviewed-on: https://gerrit.openafs.org/12005 - Reviewed-by: Perry Ruiter - Reviewed-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit d3dbdade7e8eaf6da37dd6f1f53d9f1384626071 -Author: Andrew Deason -Date: Sun May 1 11:24:30 2016 -0500 - - ubik: Don't RECFOUNDDB if can't contact most sites - - Currently, the ubik recovery code will always set UBIK_RECFOUNDDB - during recovery, after asking all other sites for their dbversions. - This happens regardless of how many sites we were actually able to - successfully contact, even if we couldn't contact any of them. - - This can cause problems when we are unable to contact a majority of - sites with DISK_GetVersion. Since, if we haven't contacted a majority - of sites, we cannot say with confidence that we know what the best db - version available is (which is what UBIK_RECFOUNDDB represents; that - we've found which database is the one we should be using). This can - also result in UBIK_RECHAVEDB in a similar situation, indicating that - we have the best db version locally, even though we never actually - asked anyone else what their db version was. - - For example, say site A is the sync site going through recovery, and - DISK_GetVersion fails for the only other sites B and C. Site A will - then set UBIK_RECFOUNDDB, and will claim that site A has the best db - version available (UBIK_RECHAVEDB). This allows site A to process ubik - write transactions (causing the db to be labelled with a new epoch), - or possibly to send the db to the other sites via DISK_SendFile, if - they quickly become available during recovery. Ubik write transactions - can succeed in this situation, because our ContactQuorum_* calls will - succeed if we never try to contact a remote site ('rcode' defaults to - 0). - - This situation should be rather rare, because normally a majority of - sites must be reachable by site A for site A to be voted the sync site - in the first place. However, it is possible for site A to lose - connectivity to all other sites immediately after sync site election. - It is also possible for site A to proceed far enough in the recovery - process to set UBIK_RECHAVEDB before it loses its sync site status. - - As a result of all of this, if a site with an old database comes - online and there are network connectivity problems between the other - sites and a ubik write request comes in, it's possible for the "old" - database to overwrite the "new" database. This makes it look as if the - database has "rolled back" to an earlier version. - - This should be possible with any ubik database, though how to actually - trigger this bug can change due to different ubik servers setting - different network timeouts. It is probably the most likely with the - VLDB, because the VLDB is typically the most frequently written - database. - - If a VLDB reverts to an earlier version, it can result in existing - volumes to appear to not exist in the VLDB, and can result in new - volumes re-using volume IDs from existing volumes. This can result in - rather confusing errors. - - To fix this, ensure that we have contacted a majority of sites with - DISK_GetVersion before indicating that we have located the best db - version. If we've contacted a majority of sites, then we are - guaranteed (under ubik assumptions) that we've found the best version, - since previous writes to the database should be guaranteed to hit a - majority of sites (otherwise they wouldn't be successful). - - If we cannot reach a majority of sites, we just don't set - UBIK_RECFOUNDDB, and the recovery process restarts. Presumably on the - next iteration we'll be able to contact them, or we'll lose sync site - status if we can't reach the other sites for long enough. - - Change-Id: I84f745b5e017bb62d93b538dbc9c7de845bee1bd - Reviewed-on: https://gerrit.openafs.org/12281 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3e531db9ce50dd41f0c64a11ab3bfcf0239ba0cd -Author: Andrew Deason -Date: Thu May 12 21:34:31 2016 -0500 - - vlserver: rx_SetRxDeadTime before ubik init - - Currently, vlserver calls rx_SetRxDeadTime to set the default rx - deadtime to 50 seconds, but it does so after calling - ubik_ServerInitByInfo. ubik_ServerInitByInfo creates several rx - connections before it returns, and so these connections get the - default rx deadtime (12 seconds), instead of the 50 seconds vlserver - tries to set. - - When ubik detects that a remote site is down, ubik recreates the rx - connections for that site, and this new connection gets the new - deadtime of 50 seconds. - - This means that ubik behavior can have different timings in the - vlserver, depending on if any remote sites have ever been detected as - being 'down' or not. This can result in seemingly-inconsistent or - confusing behavior, since some sequences of operations that appear - identical can produce different results, depending on if the 12-second - timeout or the 50-second timeout is being used. - - This behavior is not directly to blame for any problems, but it can be - very confusing, especially when trying to diagnose or reproduce bugs. - So to make things more consistent, just call rx_SetRxDeadTime earlier, - so all conns always get the 50-second timeout. - - In order to do this, though, we must also ensure that rx_Init is - called before rx_SetRxDeadTime (otherwise, rx_Init will overwrite our - configured deadtime). So also call rx_Init earlier; rx_Init is - idempotent, so it's okay that it may be called again after or before - this. - - Note that vlserver is currently the only ubik server that sets a - deadtime of 50 seconds, and it's not clear why. Another way to solve - this is to just remove the call to rx_SetRxDeadTime, to make vlserver - behave more similar to ptserver. But this commit takes a conservative - approach to result in a deadtime that is probably the most common in - current use. Since, most long-running vlservers will probably - eventually lose contact with remote sites at one time or another, and - so will eventually use a deadtime of 50 seconds. - - Change-Id: I49430144d9a62eb8cad1509c1aeafc9fcc927f8e - Reviewed-on: https://gerrit.openafs.org/12285 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 48ce41a447c354b8a20b769e4aa5b502ba5bcc09 -Author: Marcio Barbosa -Date: Fri Jul 15 12:22:11 2016 -0300 - - macos: use pkgbuild to build the package on 10.10/10.11 - - PackageMaker is no longer part of OS X. As a result, it - is not possible to build the package on OS X 10.10 and - OS X 10.11 using the existing code. - - To solve this problem, a new script, along with a couple - of new files, are provided. - - - pkgbuild.sh - - This script uses the command line tools pkgbuild and - productbuild to build the package on OS X 10.10 and - OS X 10.11. By default, the package built by this - script will not be signed. Optionally, the package - might be signed. - - - Distribution.xml - - This file is nothing more than an XML file used by - productbuild. It is mainly used to configure how the - installer will look and behave. - - - conclusion.txt - - Contains the text that is displayed by Installer at - the end of the installation process. Only used by - El Capitan and further. - - - Uninstall.14.15 - - This script can be used by OS X 10.10/10.11 users - to uninstall OpenAFS. - - Notes: - - - This work is based on a patch made by Brandon Allbery - with fixes and updates from - Andrew Deason . - - - El Capitan and further prevent us from touching - /usr/bin directly. As a result, /opt is used. - - - If the package is not signed, the user will have - to disable the OS X security protections. Otherwise, - the client will not work. - - - Now we have two different scripts to build the - package on OS X. For OS X 10.10 and newer versions, - pkgbuild.sh will be used. For older versions, - the existing buildpkg.sh will be used. - - Change-Id: If8320666c553b82af450c0263f5e80a00c33e3b8 - Reviewed-on: https://gerrit.openafs.org/12239 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1bfc24dda0f391b88d7617c6947d03216abb0d80 -Author: Marcio Barbosa -Date: Wed Jul 6 09:56:26 2016 -0300 - - pam: avoid warning messages - - In order to avoid some warning messages, do not - ignore the code returned by some functions. - - Change-Id: Ie01fa98b54010d566fb5b980b001d58989ef9a67 - Reviewed-on: https://gerrit.openafs.org/12298 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit a0417565a3ab7e6a49d7c48efd72d62bdeb4436c -Author: Garrett Wollman -Date: Sat Jul 28 18:35:13 2012 -0400 - - ptuser: guarantee that all names are valid C strings - - The prname type is represented in XDR as a vector[PR_MAXNAMELEN] - of char, not as a string, which means that the XDR (de)serializer - will not guarantee null-termination. Guarantee that all buffers - used in the public protection server API are in fact valid strings - by disallowing any names that are exactly PR_MAXNAMELEN (64) - characters long. DO NOT silently truncate names that are even - longer than this. Consistently use the prname typedef in - declarations to reinforce the length limitation to those reading - the header file. Introduces a new protection error code, - PRNAMETOOLONG, which will be returned if either IN or OUT parameters - would exceed the limit. - - [kaduk@mit.edu convert macro to static_inline function and expand - at call sites; add string_ wrapper to add checking to viced and libadmin; - export the string_ wrapper from libafsauthent for the windows build] - - Change-Id: I65f850afcfea2fd2bc0110ca7b7f6ecca247dd58 - Reviewed-on: https://gerrit.openafs.org/7896 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit f14d263a73f0be75e4de92f62e836fb2e55680dd -Author: Joe Gorse -Date: Thu Jun 9 14:11:23 2016 -0400 - - Linux 4.6: rm PAGE_CACHE_* and page_cache_{get,release} macros - - This is an automatic patch generated by Coccinelle (spatch) from the commit message of the linked commit: - https://github.com/torvalds/linux/commit/09cbfeaf1a5a67bfb3201e0c83c810cecb2efa5a - - We will not add an autoconfig test because the PAGE_{...} macros should exist - where the PAGE_CACHE_{...} were previously. - - The spatch used: - @@ - expression E; - @@ - - E << (PAGE_CACHE_SHIFT - PAGE_SHIFT) - + E - - @@ - expression E; - @@ - - E >> (PAGE_CACHE_SHIFT - PAGE_SHIFT) - + E - - @@ - @@ - - PAGE_CACHE_SHIFT - + PAGE_SHIFT - - @@ - @@ - - PAGE_CACHE_SIZE - + PAGE_SIZE - - @@ - @@ - - PAGE_CACHE_MASK - + PAGE_MASK - - @@ - expression E; - @@ - - PAGE_CACHE_ALIGN(E) - + PAGE_ALIGN(E) - - @@ - expression E; - @@ - - page_cache_get(E) - + get_page(E) - - @@ - expression E; - @@ - - page_cache_release(E) - + put_page(E) - - Change-Id: Iabe29b1349ab44282c66c86eced9e5b2056c9efb - Reviewed-on: https://gerrit.openafs.org/12297 - Reviewed-by: Michael LaƟ - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Tested-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit 16463b602a210768f80bec9ef7c6896ea8a9909d -Author: Stephan Wiesand -Date: Wed Jul 13 16:55:11 2016 +0200 - - redhat: Use a secure URL to retrieve CellServDB - - By default, makesrpm.pl will use wget to retrieve the CellServDB - as specified in the spec file. Even though the script need not and - thus should not be run by a privileged UID, make this a bit more - secure by specifying an https URL. - - Change-Id: I0f14bbac35e7dc30a6e194f8706f7f3674d15a3f - Reviewed-on: https://gerrit.openafs.org/12329 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 8b57f9fc423c6a69a0fb8147d0621cb703e1374e -Author: Marcio Barbosa -Date: Thu Jun 9 15:04:18 2016 -0300 - - build-sys: do not capitalize value of HAVE_PAM - - The value assigned to HAVE_PAM should not be capitalized. - If so, the PAM source files will not be compiled. - - To fix this problem, convert to lowercase one of the values - assigned to HAVE_PAM. - - Change-Id: I4973394f8d398bbea0f578fadb04aedee6fd1fc0 - Reviewed-on: https://gerrit.openafs.org/12296 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a443accfdf8771b90e2b06da04e7e3d1e88028fd -Author: Michael Meffie -Date: Thu Jun 11 11:02:20 2015 -0400 - - libafs: rename volume accessTime to setupTime - - Since OpenAFS 1.0, the struct volume accessTime member has been the time - time the volume structure is setup, not the last time the volume was - used (as indicated by the comments). This time stamp is only used to - find the oldest available volume slot in the disked backed volume cache. - (Perhaps in pre-OpenAFS this was updated each time the volume was - referenced.) - - Rename this structure member and update the comments for it. - - Change-Id: I33a6371e8800b2d0f7b2700db0785fc365a8649e - Reviewed-on: https://gerrit.openafs.org/11896 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit c5b52c815972b4f623defaec9e0d8c235228b7b8 -Author: Michael Meffie -Date: Mon Apr 4 12:35:11 2016 -0400 - - vlserver: --enable-ubik-read-while-write configure option - - Commit a0f416e3504929b304fefb5ca65e2d6a254ade2e unconditionally turned - on the new ubik_BeginTransReadAnyWrite functionality for the vlserver, - which allows us to read data from ubik during a conflicting ubik write - lock. - - This feature is not ready for production use. Make it a build time - option, marked as experimental, until more testing can be done. - - Change-Id: If64702e7a7ed2340066df5faf82ce8b0875fc610 - Reviewed-on: https://gerrit.openafs.org/12240 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit cd52915b3e8c8249c5af1cfebd57276cd34a00b9 -Author: Benjamin Kaduk -Date: Tue Oct 7 17:17:08 2014 -0400 - - LWP fileserver is no more - - Don't mention it in the man pages. - - Change-Id: I8a6d706f055545642116af5a98fa8c04f533b990 - Reviewed-on: https://gerrit.openafs.org/11529 Reviewed-by: Marcio Brito Barbosa Reviewed-by: Mark Vitale + Tested-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit e4c7321560acf0bd34eeee7d46269818d82fdb44) + + Change-Id: I4303542683aaa62895b73a5ea93bc3d0ac82804a + Reviewed-on: https://gerrit.openafs.org/13123 + Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 43a66de66c40171fedcf0450e9fa93b47c0d9f2e +commit 6c481da10e613e678e9d66582a0445177f923d1e Author: Michael Meffie -Date: Fri Jun 5 10:09:54 2015 -0400 +Date: Sun Jan 21 18:38:11 2018 -0500 - libafs: avoid resetting the dynroot volume every 10 minutes + Suppress statement not reached warnings under Solaris Studio - The dynroot volumes are synthetic, so do not need to be reset every time - the background daemon checks the volumes. + Solaris Studio issues warnings for statements which can not be reached, + such as statements following an infinite loop. For example, the return + statement will generate a 'statement not reached' warning in the + following code: - The results of osi_Time() is a signed 32-bit integer, and the volume - expireTime is an signed 32-bit integer, so use signed 32-bit integers - for the expiry check. + while (1) { + /* no breaks or gotos in this body */ + } + return 0; - Change-Id: Ib92157686c1d8b84a63d409cb148155705953b6d - Reviewed-on: https://gerrit.openafs.org/11895 - Reviewed-by: Benjamin Kaduk + Suppress these warnings by conditionally removing such statements when + building under Solaris Studio. + + Reviewed-on: https://gerrit.openafs.org/12958 Tested-by: BuildBot - -commit b3e85976936239e30d44da00bf28fbe8487f6998 -Author: Mark Vitale -Date: Thu Jun 18 15:54:28 2015 -0400 - - afs: document missing afs_Analyze parm + Reviewed-by: Benjamin Kaduk + (cherry picked from commit f47cb2d4a957910c3e7d4b755f41ddef5dd103c5) - rxconn was missing from the comments; add it. - - Change-Id: I8c0cf212ca2952d3a23c3bb5db1857dfd9a8f41e - Reviewed-on: https://gerrit.openafs.org/12004 - Reviewed-by: Perry Ruiter + Change-Id: I3ac84edbc18d7b6aebd568e9a1c4a3e47aba5512 + Reviewed-on: https://gerrit.openafs.org/13107 + Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit dda47aab6179b6940aa994a0cd7b88a4b0942fe6 -Author: Benjamin Kaduk -Date: Mon Jul 4 20:13:31 2016 -0500 +commit d3389b02b83baf28e663a6df8522d1e1704bd5dd +Author: Michael Meffie +Date: Sat Jan 13 20:14:59 2018 -0500 - Add sysname IDs for FreeBSD 10.2 and 10.3 + afs: squash empty declaration warning - While here, de-conflict the numbers for 10.0/10.1 and 7.2/7.3 + Remove spurious semi-colon which generates a warning when + building under Solaris Studio. - Change-Id: I87697587359a26258298f4710c7232bea417f807 - Reviewed-on: https://gerrit.openafs.org/12321 + "./src/afs/UKERNEL/sysincludes.h", line ...: warning: syntax error: empty declaration + + Reviewed-on: https://gerrit.openafs.org/12957 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 306f0f3100e453e165032ae3bc9022b4a9a9a4c5) + + Change-Id: Ie6657ab06c8d44b1452d9583908efd1596311971 + Reviewed-on: https://gerrit.openafs.org/13106 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit c9061ab02748a8dea3eef413d0d3d5efbd111179 +Author: Michael Meffie +Date: Sat Jan 20 18:34:18 2018 -0500 + + libafs: git ignore build artifacts on Solaris + + Ignore build artifacts generated when building the kernel + module for Solaris: + + src/libafs/inet + src/libafs/nfs + src/libafs/ufs + + Reviewed-on: https://gerrit.openafs.org/12955 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit e0066095e7f74653c2c08d1b00010ba59f4c2cf3) + + Change-Id: I5b25a5a4ef6a3b2134daaf848fef9d64b01ee156 + Reviewed-on: https://gerrit.openafs.org/13105 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit a2ae6ace35aca1ce02497962356fab22673bd27b +Author: Ben Kaduk +Date: Fri Dec 13 16:17:54 2013 -0500 + + Export a few krb5 routines for rxgk + + We need oafs_h_krb5_generate_random_block when generating random + keys and oafs_h_krb5_crypto_fx_cf2 for CombineTokens. + Having oafs_h_krb5_crypto_prf_length proves very convenient for + key derivation of transport keys, so move it to the public header + and export it. + oafs_h_krb5_enctype_keysize is needed so that we can tell whether or not we + need to pass through random_to_key() when making rxgk_keys. + oafs_h_krb5_random_to_key is needed for that random_to_key() operation. + + Reviewed-on: https://gerrit.openafs.org/10936 + Reviewed-by: Chas Williams <3chas3@gmail.com> + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 348dc87bb2eeb66d1e683dc91ee36724ee18f1af) + + Change-Id: I3ae0f5ba6b0bd2f851f4d41f756521153e303102 + Reviewed-on: https://gerrit.openafs.org/13104 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 0bb3fef5a38bda1cb5a72d94de2a2222c3a56ddf +Author: Ben Kaduk +Date: Wed Dec 4 13:03:15 2013 -0500 + + auth: Let superuser identities be superusers + + We have a special rx_identity_kind for superusers, let it actually + be useful for something. + + Reviewed-on: https://gerrit.openafs.org/10575 + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit fe8a1f3a2b669057451cac358faa7320722dc053) + + Change-Id: I36b6b6be6851c45b13c41e751e4d741cd0130fdb + Reviewed-on: https://gerrit.openafs.org/13103 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 690b0f0bd238695a2ccde3842198812fb9b89f5d +Author: Andrew Deason +Date: Wed Mar 7 13:28:34 2018 -0600 + + Avoid libtool 'nm' errors + + Starting around Solaris 11.3, '/usr/bin/nm -p' starts reporting some + symbols with the 'C' code. libtool cannot handle this (libtool bug + #22373), which causes global_symbol_pipe in the generated libtool + script to be empty. This causes a rather confusing error when we go to + actually use libtool to link something ("syntax error near unexpected + token '|'"; see libtool bug #20947), and prevents the build from + continuing. + + Address this in two ways: + + For all Solaris 11 builds, default to /usr/sfw/bin/gnm over + /usr/bin/nm. This avoids any interop issues with libtool and nm, since + libtool of course works very well with GNU tooling. + + In addition, try to catch any nm-related errors with libtool at + configure time, to provide a more helpful error message. + + To implement these changes, create a wrapper around LT_INIT, called + AFS_LT_INIT. + + Reviewed-on: https://gerrit.openafs.org/12945 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 3e9ea6107973ccc4fa3d405f5b5d76666bfd624f) + + Change-Id: I4a5a358857ec5bfbc31cd99fcca59f3390ad4d16 + Reviewed-on: https://gerrit.openafs.org/13066 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit ad86112bbde0979efd4e99f23ca629f93fa258b1 +Author: Ian Wienand +Date: Tue Mar 20 14:01:43 2018 +1100 + + Remove warning "find_preferred_connection: no connection and !create" + + find_preferred_connection() is called with !create via + afs_ConnByHost->afs_ConnBySA to determine if there is a cached + connection available. Don't warn, as it will next be called with the + create flag to create the connection anyway. + + Reviewed-on: https://gerrit.openafs.org/12964 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 909d8358109445fdb316b68a8e55e17626cf17c9) + + Change-Id: If2cb4fd25e98f5bbdde00f76e8b3850c53cb6358 + Reviewed-on: https://gerrit.openafs.org/13025 Tested-by: BuildBot Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk -commit 683acaed17da90455aab0cbb3d1539c51415b137 -Author: Benjamin Kaduk -Date: Sun May 15 13:51:56 2016 -0500 - - viced: make -vhashsize usable for non-DAFS - - The ability to set the size of the volume hash table was added - at the same time that DAFS was introduced, and got caught up - in the same preprocessor conditional. However, -vhashsize can - be useful for the traditional fileserver as well (even though - we recommend DAFS over the traditional fileserver), so let it - be used in that case. - - Update the man pages accordingly and fix some grammar while here. - - Noted by Mark Vitale. - - Change-Id: Ic3282c9d661d60cf36f9ffb197e723a3f71da167 - Reviewed-on: https://gerrit.openafs.org/12287 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit d3b8a05d229a80100f40fca4dfdcd820313fcea8 +commit 002844c5f5f0e4b5ff578182c82e2c5e4d21c1d9 Author: Marcio Barbosa -Date: Tue Jun 28 12:48:06 2016 -0300 +Date: Mon May 14 16:46:26 2018 -0300 - venus: fix memory leak + rx: fix atomics on darwin - The fs getserverprefs command displays preference - ranks for file / volume location server machine - interfaces. In order to get the complete set of - preference ranks, the VIOC_GETSPREFS system call - might have to be called several times. If so, the - memory previously allocated should be released. + As described by commit b2a21422129ca1eeeb5ea1a1f7b08b537fd2a9f7, the API + used for atomic operations in kernel space is not the same as the one + used in user space. To fix this problem, the commit mentioned above + introduced macros to correct the name of these functions in kernel space. + Unfortunately, the return value of the functions used in kernel space is + not the same as the ones used in user space. Generally speaking, the + kernel space atomic functions return the original value of the variable + received as an argument before the operation in question. On the other + hand, the user space atomic functions return the new value, after the + operation has been performed. To fix this problem, this commit provides + a new set of inline functions (only used in kernel space) with the + expected return values. - Change-Id: I8491117ead626e70aac40343923d52284f274efd - Reviewed-on: https://gerrit.openafs.org/12315 + Also, in order to get the inline implementations of the OSAtomic + interfaces in terms of the primitives, commit + 74f837fd943ddfa20d349a83d6286a0183cb4663 defines OSATOMIC_USE_INLINED + on OS X 10.12. However, the definition of this macro only affects the + user space legacy interfaces for atomic operations. The kernel space + interfaces for atomics are not deprecated and OSATOMIC_USE_INLINED does + not affect these functions. To fix this problem, only define + OSATOMIC_USE_INLINED in user space (OS X 10.12+). + + Reviewed-on: https://gerrit.openafs.org/13063 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit c16423ec4e678e5cb01dc99f4115065f8ef6caf7) + + Change-Id: Ic3ecc1f26a9e81eb0dc6e1503845be57ad80498a + Reviewed-on: https://gerrit.openafs.org/13084 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit 360f4ef53c454494cd5212a5ea46c658bdb2879c -Author: Benjamin Kaduk -Date: Sun May 1 19:48:40 2016 -0400 - - Linux 4.5: don't access i_mutex directly - - Linux commit 5955102c, in preparation for future work, introduced - wrapper functions to lock/unlock inode mutexes. This is to - prepare for converting it to a read-write semaphore, so that - lookup can be done with only the shared lock held. - - Adopt the afs_linux_*lock_inode() functions accordingly, and - convert afs_linux_fsync() to using those wrappers, since the - FOP_FSYNC_TAKES_RANGE case appears to be the current case. - - Amusingly, afs_linux_*lock_inode() already have a branch to - handle the case when inode serialization is protected by a - semaphore; it seems that this is going to come full-circle. - - Change-Id: Ia5a194acc559de21808655ef066151a0a3826364 - Reviewed-on: https://gerrit.openafs.org/12268 - Tested-by: BuildBot - Reviewed-by: Joe Gorse - Tested-by: Joe Gorse - Reviewed-by: Benjamin Kaduk - -commit 2ef27ea1bb032cee8d26980e60e02b52a0805763 -Author: Chaskiel Grundman -Date: Thu May 5 12:35:08 2016 -0400 - - Linux 4.5: get_link instead of follow_link+put_link - - In linux commit 6b255391, the follow_link inode operation was - replaced by the get_link operation, which is basically the same - but takes the inode and dentry separately, allowing for the - possibility of staying in RCU mode. - - For now, only support this if page_get_link is available and we are - using the USABLE_KERNEL_PAGE_SYMLINK_CACHE - - The previous test for USABLE_KERNEL_PAGE_SYMLINK_CACHE used a bogus, - undefined configure variable (ac_cv_linux_kernel_page_follow_link). - Remove it, as it was not needed - - Change-Id: I2d7851d31dd4b1b944b16fad611addb804930eca - Reviewed-on: https://gerrit.openafs.org/12265 - Tested-by: BuildBot - Reviewed-by: Joe Gorse - Tested-by: Joe Gorse - Reviewed-by: Benjamin Kaduk - -commit d9cfc1f3f5a75f1dbb14a56cd3da9db6b7a48065 -Author: Benjamin Kaduk -Date: Sun May 1 19:04:45 2016 -0400 - - Linux 4.5: no highmem in symlink ops - - Symlink bodies in the pagecache should not be in highmem, as - upstream converted in commit 21fc61c73. - - Change-Id: I1e4c3c51308df096cdfa4d5e7b16279e275e7f41 - Reviewed-on: https://gerrit.openafs.org/12264 - Tested-by: BuildBot - Reviewed-by: Joe Gorse - Tested-by: Joe Gorse - Reviewed-by: Benjamin Kaduk - -commit 49106a54993a0c9c64b407f05deaabe8f64e742d -Author: Nathaniel Wesley Filardo -Date: Fri Aug 1 02:48:21 2014 -0400 - - Use rxkad_crypt for inter-volser traffic, if asked - - Add a -s2scrypt option to the volume server, with possible options: - - * never -- the existing behavior - - * always -- switch to using afsconf_ClientAuthSecure, which uses - rxkad_crypt, for ForwardVolume calls. - - * inherit -- encrypt inter-server traffic if the causal client - connection is encrypted. This has the effect of "inheriting" the - "-encrypt" flag given to "vos release", for example. - - Thanks to Jeffrey Altman for pointers and to Andrew Deason for noting - the existence of rxkad_GetServerInfo. - - [mmeffie@sinenomine.net fix assertion and style update.] - - Change-Id: Ia295ba3f29a8494c8250a480fb26594468d2116a - Reviewed-on: https://gerrit.openafs.org/11349 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Thomas Keiser - Reviewed-by: Benjamin Kaduk - -commit 4bd716223492aec23599a5ac01bce3cc47160bfd -Author: Benjamin Kaduk -Date: Sat May 14 13:37:54 2016 -0500 - - Fix typo in kaserver appendix - - Though it's very unlikely that someone would actually want to - set up a new kaserver installation, if we have documentation for - it, it ought to at least do what it claims to do. - - Thus, change kinit to klog where it was intended. - - Reported by Karl-Philipp Richter. - - FIXES 133043 - - Change-Id: I478a42931fa863c11b4acca7624bcabc14e561b1 - Reviewed-on: https://gerrit.openafs.org/12286 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 74413d886d047073b2dd396fbf8f606fd1b263a0 -Author: Mark Vitale -Date: Thu May 12 22:23:36 2016 -0400 - - salvageserver: unable to write child log: out of memory - - Changes to salvageserver logging in commit - 24fed351fd13b38bfaf9f278c914a47782dbf670 - introduced a new bug in SalvageLogCleanup; the test for calloc() failure - was inadvertently inverted. - - Fix the sense of the test. - - Change-Id: Id0ee4ac3e60d7285163a9ab0b32bd7d48e570ac0 - Reviewed-on: https://gerrit.openafs.org/12284 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit bf17a719e3443502e2b4bdb7f6b9d2f0c1e39510 -Author: Mark Vitale -Date: Tue May 10 22:51:38 2016 -0400 - - salvageserver: segfault in DoSalvageVolume - - A typo in the recent logging changes for salvageserver - ad455347bc99d1bd499535995958b5f77c2388ff - caused a bad address to be passed to memset. - - Correctly memset the log options as intended. - - Change-Id: Ifef46defcc6da56df4e58f8ed9029717a77c0b39 - Reviewed-on: https://gerrit.openafs.org/12282 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 562efa7e4c303acadf5c1df35c72674a3743c577 -Author: Andrew Deason -Date: Thu May 5 00:01:22 2016 -0500 - - ubik: Don't clear ubik_lastYesTime on startup - - In uvote_Init, we set ubik_lastYesTime to the current time just a few - lines before. It is important to set ubik_lastYesTime to the current - time, since that prevents us from voting for anyone in an ubik - election for at least BIGTIME seconds. - - If we clear ubik_lastYesTime to 0, that means restarting a ubik server - could cause it to immediately start voting for a different site than - it was voting for before it started. This violates one of the ubik - invariants; as mentioned in the comments in SVOTE_Beacon, we cannot - promise sync site support to more than one site within BIGTIME - seconds. So initializing ubik_lastYesTime to 0 could cause two - different sites to be voted sync site simultaneously, if our restart - caused a premature change in vote. - - Change-Id: I410fbefa8d699aac1c900d1fdd4e355b87917ad7 - Reviewed-on: https://gerrit.openafs.org/12279 - Reviewed-by: Mark Vitale - Reviewed-by: Michael Meffie - Reviewed-by: Jeffrey Altman - Reviewed-by: Jeffrey Hutzelman - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 3c7a315b635fc4ee2118ee541f1169cf147622d5 -Author: Chas Williams (CONTRACTOR) -Date: Mon Jul 7 09:55:44 2014 -0400 - - auth: Allow subnet ranges in NetInfo and NetRestrict - - Add the ability to specify a range of addresses in both NetInfo and - NetRestrict. - - Change-Id: Iecdcca8587aa2e6e7cd56cbbebb63eb41b5d6f40 - Reviewed-on: https://gerrit.openafs.org/11313 - Reviewed-by: Daria Phoebe Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 88f10280f8d9f39c76e63fbaa9023c09d7c3f0d7 -Author: Benjamin Kaduk -Date: Mon May 12 12:35:44 2014 -0400 - - export some kauth symbols for libadmin sample apps - - These functions are used, so they should be in the library's - export list. - - Even though no one should be using kauth anymore. - - Change-Id: I3ad936c5b898f38194a461c7147792e2fe6f36b2 - Reviewed-on: https://gerrit.openafs.org/11139 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - -commit b0e6dd60b79e17a391dfdf1bcbb91f972f5c46b9 -Author: Michael Meffie -Date: Tue May 3 20:31:41 2016 -0400 - - afs: retire HAVE_LINUX_COMPLETION_H conditionals - - Now that support for linux 2.4 has been sunset, as of commit - ccf353ede6ef5cce7c562993d1bea0d20844bdb7, it is no longer necessary to - put conditional compilation checks around the linux wait-for-completion - functions, which were introduced sometime during the linux 2.4 series - and have been available since. - - Also, remove the remnant LINUX_COMPLETION_H_EXISTS autoconf macro, which - was removed from use in commit ef8bd5a29b937a1211540aa60398ee966470a712. - - Change-Id: Iea974236f73eef8c567a897d6a473254edf95379 - Reviewed-on: https://gerrit.openafs.org/12278 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 591da537e22be88da23216b2640331a7338ce0ae -Author: Michael Meffie -Date: Thu Apr 28 17:23:23 2016 -0400 - - afs: remove commented out sleep in afs_call.c - - The cell info setup was moved to the beginning of the startup sequence - and an unnecessary sleep commented out in the syscall in which the cell - info was set in commit 3fa5f389b2b7778cf0df5a506c91b427b147c4c2. - - Clean up afs_call.c a bit by removing this commented out code. - - Change-Id: I8ef0ddce4e1d327032b54ecebb48e9fdfe7767b4 - Reviewed-on: https://gerrit.openafs.org/12277 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 5277460eaa300fc973b59d007cd3eaea93d30873 -Author: Michael Meffie -Date: Thu Apr 28 17:15:06 2016 -0400 - - afs: remove commented out AIX specific tweak - - This AIX specific code block has been commented out since - openafs-ibm-1_0. The comments seem to indicate this was a networking - tweak specific to AIX, but the kernel variables involved were not - exported. Clean up afs_call.c by removing this dead code. - - Change-Id: Ieb66573c410199d590bfcccf942dca28547ed1e0 - Reviewed-on: https://gerrit.openafs.org/12276 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 91f5cecc937923e16c5feda675fccd36d2b95164 -Author: Michael Meffie -Date: Thu Apr 28 16:52:42 2016 -0400 - - afs: cleanup remnant afs_vfs_mount prototype in afs_call.c - - The call to afs_vfs_mount() in afs_call.c was removed in commit - a5ab24af71efe6b80eb0f78d1979c5ab1d1e594d. Remove the remnant prototype - and the useless conditionals around it. - - Change-Id: I032ab5971a6e18df203f799c3a6e4f683a66d726 - Reviewed-on: https://gerrit.openafs.org/12275 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8fb11c599270e6cc335258f3473ea4d10f22b85e -Author: Chas Williams (CONTRACTOR) -Date: Tue Jan 6 17:47:19 2015 -0500 - - rw: Properly cleanup LWP environment - - Change-Id: I344d2081bdcfc2bd383e30bcf9a53f003356e9cb - Reviewed-on: https://gerrit.openafs.org/11663 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit fd26f09d770c5d16cc2c8b45ac697876d41c91e3 -Author: Chas Williams (CONTRACTOR) -Date: Wed Dec 31 07:39:15 2014 -0500 - - lwp: fix bug in rw with assigning reader id - - Change-Id: I101202a49f14142cf503a64b45f9168a907bbace - Reviewed-on: https://gerrit.openafs.org/11651 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5731d3459c16ab7c6a706b4f738028875aed2287 -Author: Chas Williams (CONTRACTOR) -Date: Tue Dec 23 09:59:05 2014 -0500 - - lwp: fix some warnings for rw.c - - Change-Id: I5459353649e3896b3ade3300403d4b88c85d6084 - Reviewed-on: https://gerrit.openafs.org/11650 - Reviewed-by: Jeffrey Altman - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 8c6bfb61922241b06f5c1467f3df0cf70d08e376 -Author: Chas Williams (CONTRACTOR) -Date: Tue Dec 23 10:39:10 2014 -0500 - - lwp: remove preemption support - - This feature of lwp is basically unused and inconsistently implemented. - - Change-Id: Icf5c04b3bbd71af2c3d1b22dc4bfbe051952d80b - Reviewed-on: https://gerrit.openafs.org/11649 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit a9945c22185cfa22270a7b66d6ba356c2d9d8841 -Author: Chas Williams <3chas3@gmail.com> -Date: Fri Dec 25 06:37:06 2015 -0500 - - LINUX: dcache updates for mkdir and sillyrename - - Commit d075b0549d62e4a81b7543b9c2f5dac242074909 introduced - parent_vcache_dv() to get the data version from fakestat mount points. - .mkdir (essentially .create for directories) should use this when - updating ->d_time. - - In sillyrename, __dp is a negative dentry that should be forced to - revalidate since the new name in dentry now exists. - - Change-Id: I5b112ce0437bfb061479024fee745b46821e599c - Reviewed-on: https://gerrit.openafs.org/12141 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 687b4d8af07dbcf187dea685e75b420884727efd -Author: Benjamin Kaduk -Date: Thu Aug 20 13:55:02 2015 -0400 - - Make setting of CFLAGS_NOSTRICT make sense - - Previously, we would set -fno-strict-aliasing only when - --enable-checking was given to configure but not - --enable-checking=all. The intent seems to have been to - only warn about strict aliasing violations when --enable-checking=all - is in use, but that there was no need to disable the strict-aliasing - diagnostics when -Werror was not enabled. - - Unfortunately, -fno-strict-aliasing affects not only the diagnostics - emitted by the compiler, but also the code generation! So we were - leaving the normal (no --enable-checking) case with the compiler - assuming C's strict aliasing rules. The OpenAFS codebase has - historically not been strict-aliasing safe (for example, - commit 15e8678661ec49f5eac3954defad84c06b3e0164 refers to a - runtime crash using a certain compiler version, which is diagnosed - as the compiler using the C strict aliasing rules to make - optimizations that exposed the invalid program code. - - To avoid futher surprises due to new compiler optimizations - that utilize the C strict aliasing rules, always disable - strict aliasing except when --enable-checking=all is used. - - Change-Id: Ib5d3bbd7c88686bd9a878b6b2c5e7c2b4eeccc04 - Reviewed-on: https://gerrit.openafs.org/11988 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit bc123573539084ffc5a16ef1efaaaced5b2be202 -Author: Marcio Barbosa -Date: Thu Mar 3 18:23:28 2016 -0300 - - afs: fix memory leak - - An error code is returned by afs_ProcessOpCreate if - this function can not allocate memory for ttargetName. - - This function should release the memory previously - allocated for tname and decrement the reference count - of tdp as well. - - Change-Id: Ic771b1d57080df6ee562a7327762030afdd5b08c - Reviewed-on: https://gerrit.openafs.org/12208 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 2a68f7a1c374789961fdfc6de1c228f4f33a8132 -Author: Benjamin Kaduk -Date: Sun Dec 20 13:33:36 2015 -0600 - - Partially unifdef afs_pag_call.c - - This file is only built on linux, for afspag.ko. There is no - need to retain the artifiacts of its historical origin that include - conditionals for SUN5 or HPUX or the like. - - Change-Id: Icbb2390d261f2f51766b392968fe332c4fb8aa6c - Reviewed-on: https://gerrit.openafs.org/12134 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8d244c4a52b2111030e74fd32f79136aca5b8904 +commit c201f8d7a96b1f3ab0cb24dc15edb22f84ef1838 Author: Andrew Deason -Date: Tue Apr 1 13:28:20 2014 -0500 +Date: Tue Mar 6 22:04:28 2018 -0600 - vos: Remove redundant " done" messages + SOLARIS: Check for map_addr() without 'vacalign' - In 1.4, a 'vos backup' command looked like this: + Add a configure check to see if the map_addr() function contains the + 'vacalign' argument or not. The argument was removed sometime around + Solaris 11.4. - $ vos backup root.cell -verbose - Re-cloning backup volume 537351386 ... done - Created backup volume for root.cell + Reviewed-on: https://gerrit.openafs.org/12947 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 00e12efa29659c28f0fd7b6acbfb57d91a6ca477) - As of 1.6.1, this output now looks like this: - - $ vos backup root.cell -verbose - Re-cloning backup volume 537351386 ... done - done - Created backup volume for root.cell - - Note the extra " done". This change can break scripts that parse "vos" - output, but mainly it just looks confusing and doesn't make any sense. - - This extra " done" appeared in verbose output for 'vos backup', 'vos - backupsys', and 'vos clone'. It was introduced by commit 13a4f2b1, - which added a VDONE to DoVolClone. This new VDONE call does make - sense, as this does make DoVolClone more self-contained, but the old - VDONE messages were not removed, so an extra " done" got printed. - - In addition, commit 13a4f2b1 introduced a new call to DoVolDelete - followed by a VDONE, even though DoVolDelete calls VDONE itself, - causing another redundant " done". - - To get rid of all of these redundant " done" messages, remove some - extra VDONE calls in UV_BackupVolume and UV_CloneVolume. - - Almost all other calls to VDONE in vsprocs.c are matched by a - preceding message that says what we are doing. The sole exception is - UV_ChangeLocation, which outputs a " done" without any preceding - message. However, this is the behavior that UV_ChangeLocation (and - thus 'vos changeloc') has always has since it was introduced in - 0c03f860. - - Thanks to Jakub Moscicki of CERN, who originally reported this issue - at EAKC 2014. - - Change-Id: I6a13c85e73deb59b511086207a296f4017f799dc - Reviewed-on: https://gerrit.openafs.org/10980 + Change-Id: I141ad3c54b2aa3e32311785f4320eba04d840bb2 + Reviewed-on: https://gerrit.openafs.org/13102 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk -commit a62cbc209673632ec5124572304b5ee718ad1708 -Author: Stephan Wiesand -Date: Mon May 11 13:54:25 2015 +0200 +commit 04ed8a2f4fb33c22b1e6c0a56f137666e412a64d +Author: Andrew Deason +Date: Wed Mar 7 15:57:56 2018 -0600 - redhat: remove leftover legacy kmod code from spec + hcrypto: Avoid arc4random in kernel - Commit ec706b21530240d7fb66bad2f08513eff8f7c335 removed support - for Linux 2.4 and legacy kernel modules, but missed a few more - occurances of the latter. Remove those too. + Our HAVE_ARC4RANDOM symbol represents the availability of arc4random() + in userspace, not in the kernel. On Solaris, we'll define + HAVE_ARC4RANDOM, but the built kernel module will be unusable, since + we cannot resolve the arc4random symbol. - Change-Id: I449f0303ec916d597f65790c6f6a564d2f58ce48 - Reviewed-on: https://gerrit.openafs.org/11866 - Reviewed-by: Jeffrey Altman - Reviewed-by: Benjamin Kaduk - Reviewed-by: Stephan Wiesand + To to avoid this, undef HAVE_ARC4RANDOM when building hcrypto for the + kernel, just like we do with HAVE_GETUID. + + Reviewed-on: https://gerrit.openafs.org/12946 Tested-by: BuildBot - Reviewed-by: Marcio Brito Barbosa + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 6082243e42525c738239fe429bcb64e0e4f22207) + + Change-Id: I41c4c6f65581aee3d53a7c4b8f6c108f88631e3f + Reviewed-on: https://gerrit.openafs.org/13101 + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk -commit c5e8d594e6809aedac1e6615f65e7e63652528ba -Author: Benjamin Kaduk -Date: Sat Feb 13 13:02:55 2016 -0600 +commit e6198969d4b556c3e39085c01dc2e761731fbdb7 +Author: Michael Meffie +Date: Thu Feb 22 13:23:18 2018 -0500 - doc: set use.id.as.filename for chunk.xsl + venus: convert fs.c to safer string functions - The deployed documentation on docs.openafs.org uses html file names - that match the id element for the XML elements in question. On - recent Debian systems, rebuilding these documents uses different - names for the files, based on their position within the document - hierarchy. + Convert string handling to safer functions to avoid buffer overflows. - For consistency with past usage, and to avoid breaking direct links - when possible, set the xsl parameter use.id.as.filename to go back - to the old naming scheme. + Reviewed-on: https://gerrit.openafs.org/12923 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 5a8b68153124c3a9224f0b6993df9de9c6c54541) - Change-Id: I6d3fa2b74e319d1375891170817760d027e82f03 - Reviewed-on: https://gerrit.openafs.org/12189 + Change-Id: Ic7fd4c3c0ffd4b0b38b9735002e9bf8eba8fd0d6 + Reviewed-on: https://gerrit.openafs.org/13100 + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit e1b71e88452b2a5ff7473514661cb85dfac1b3c1 +Author: Michael Meffie +Date: Mon Feb 19 14:01:56 2018 -0500 + + venus: fix format overflow warning + + Recent versions of gcc generate a format overflow warning on the dfstring + buffer in fs.c. Increase the size of the buffer to avoid a possible buffer + overflow. + + fs.c: In function ā€˜AclToStringā€™: + fs.c:770:30: error: ā€˜%sā€™ directive writing up to 1024 bytes + into a region of size between 13 and 23 [-Werror=format-overflow=] + sprintf(dfsstring, " dfs:%d %s", acl->dfs, acl->cell); + ^~ + fs.c:770:2: note: ā€˜sprintfā€™ output between 8 and 1042 bytes into + a destination of size 30 + sprintf(dfsstring, " dfs:%d %s", acl->dfs, acl->cell); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Reviewed-on: https://gerrit.openafs.org/12917 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit c84f36a9b8c6b6adb9c77bab1c814ccd3aaf6a5b) + + Change-Id: I05bef3e09455377364a014b41de1e047f5322c8b + Reviewed-on: https://gerrit.openafs.org/13099 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 1bbe9a3fd555d6b968e0e9794edf34aa2e3ac1a6 +Author: Michael Meffie +Date: Thu Feb 22 16:07:55 2018 -0500 + + butc: convert butc/dump.c to safer string handling + + Convert butc/dump.c to safer string handling functions to avoid buffer + overflows. + + Reviewed-on: https://gerrit.openafs.org/12922 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 70b7f743550a8ce02292a12c4188deaf85b1a533) + + Change-Id: I7a062663b5ac2ab0000fe176c7bfdf3896cfb782 + Reviewed-on: https://gerrit.openafs.org/13098 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit dba69c2a190103d1941ca6232d9a466f259a206c +Author: Michael Meffie +Date: Mon Feb 19 13:57:16 2018 -0500 + + butc: fix format overflow warning + + Recent versions of gcc generate an overflow warning in the butc DUMPNAME macro + when copying values into the finishedMsg1 buffer. Increase the size of the + destination buffer to avoid a possible buffer overflow. + + dump.c:88:24: error: ā€˜%sā€™ directive writing up to 63 bytes into + a region of size 50 [-Werror=format-overflow=] + sprintf(dumpname, "%s (DumpId %u)", name, dbDumpId); + ^ + dump.c:1294:5: note: in expansion of macro ā€˜DUMPNAMEā€™ + DUMPNAME(finishedMsg1, nodePtr->dumpSetName, dparams.databaseDumpId); + ^~~~~~~~ + dump.c:88:6: note: ā€˜sprintfā€™ output between 12 and 84 bytes into + a destination of size 50 + sprintf(dumpname, "%s (DumpId %u)", name, dbDumpId); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + dump.c:1294:5: note: in expansion of macro ā€˜DUMPNAMEā€™ + DUMPNAME(finishedMsg1, nodePtr->dumpSetName, dparams.databaseDumpId); + ^~~~~~~~ + + Reviewed-on: https://gerrit.openafs.org/12916 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit cec45d59440f55316097cfd6652d2ea26cd55233) + + Change-Id: I9f3b284d4a32b868091986964af128ed9b3557fd + Reviewed-on: https://gerrit.openafs.org/13097 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit f947e1dcb35988f1e39ec51c7f5cf0f2c4fc321c +Author: Andrew Deason +Date: Thu Feb 15 18:40:07 2018 -0600 + + RHEL: Add aarch64/arm64 to spec file + + Reviewed-on: https://gerrit.openafs.org/12911 + Tested-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 3ddae7d168ac08c46b4e31517fdb1f6ac1ae63ac) + + Change-Id: Iabbdac7b2ca9e5d066db08dd871203ae341538af + Reviewed-on: https://gerrit.openafs.org/13096 + Tested-by: BuildBot + Reviewed-by: PatRiehecky + Reviewed-by: Benjamin Kaduk + +commit 10be5372aa520f84bf63cce258e9ecddbb6b43c0 +Author: Andrew Deason +Date: Sat Mar 7 17:27:47 2015 -0600 + + 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 . + + Reviewed-on: https://gerrit.openafs.org/11940 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 4f7550dcaf9375046514cdd97cea0f667e955e9f) + + Change-Id: I12988da1fbbc7e3733fddf4ca11ad65b96a9c02f + Reviewed-on: https://gerrit.openafs.org/13095 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 891cb67329d595d805289f533e6ee329c0a3851b +Author: Andrew Deason +Date: Sun Mar 8 11:47:28 2015 -0500 + + 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. + + Reviewed-on: https://gerrit.openafs.org/11939 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit b792dea0f1f83673b0b045adf608412901b3024c) + + Change-Id: I95a016ba4a3dc368680b512110eb0058fcfdb468 + Reviewed-on: https://gerrit.openafs.org/13094 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 518220c7f9b22bac6b9a237708737a18ee7f285e +Author: Andrew Deason +Date: Fri Mar 13 10:33:05 2015 -0500 + + Do not set default AFS_SYSCALL + + Currently, afs_args.h will define an AFS_SYSCALL value by default (31) + if the current platform does not define an AFS_SYSCALL value on its + own (via its param.h info). + + This is dangerous, since if a platform does not define an AFS_SYSCALL, + or if it happens to not be defined for any reason, some code may try + to call syscall 31, which could be anything. + + So get rid of this. If this breaks the build on any platform, then + that platform should define AFS_SYSCALL in its own platform-specific + header, or get rid of the problematic AFS_SYSCALL usage. + + Reviewed-on: https://gerrit.openafs.org/11938 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 0a896b93c86e86f5b438880ef1634b4e39ee5779) + + Change-Id: Ifcc17d5e26fde01302c43331ffdf005b6b9c3bd3 + Reviewed-on: https://gerrit.openafs.org/13093 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 73c15c4521f508e4b7d2c573a056b2105e51bb34 +Author: Andrew Deason +Date: Wed Mar 11 12:55:42 2015 -0500 + + 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. + + Reviewed-on: https://gerrit.openafs.org/11937 + Tested-by: BuildBot + Reviewed-by: Ian Wienand + Reviewed-by: Benjamin Kaduk + (cherry picked from commit ed513bb516acdb28fc6bbf01714ef2e1df422a8a) + + Change-Id: I5e7e2381935eaa595f9fa796f963260b870dc72c + Reviewed-on: https://gerrit.openafs.org/13092 + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 902e70a30a87aaabe468f48a792729effdc94f1b +Author: Andrew Deason +Date: Mon Feb 5 00:07:10 2018 -0600 + + 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"); + + Reviewed-on: https://gerrit.openafs.org/12893 + Tested-by: BuildBot + Reviewed-by: Ian Wienand + Reviewed-by: Benjamin Kaduk + (cherry picked from commit f5794e029903db79f345f42582230a1fd0f7d823) + + Change-Id: I33d14a62a04c0f79521ec253d51587952bf909a3 + Reviewed-on: https://gerrit.openafs.org/13091 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 9a03d84434af4dc69afa3e165fe856e45bab8623 +Author: Andrew Deason +Date: Tue May 8 19:09:42 2018 -0500 + + LINUX: Remove unused osi_fetchstore.c + + Ever since commit ae5f411c (Linux 4.4: Do not use splice()), most of + osi_fetchstore.c has been '#if 0'd out. The only portion that isn't is + a function definition that is unreferenced (afs_linux_read_actor). + + Remove the unused code, and other '#if 0' references to it; the code + can always be added back later when we can actually use it. + + Reviewed-on: https://gerrit.openafs.org/13061 + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit 96a4bee20d42484148d163b85ca049dcc980a7a5) + + Change-Id: I224a630f6f3f1d9e0d08a6cd7eae3d3b871b2bd6 + Reviewed-on: https://gerrit.openafs.org/13074 + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit 92de7260ee45200b6832cb7f727a582fc37c3699 +Author: Andrew Deason +Date: Mon Apr 30 17:58:43 2018 -0500 + + afs: WriteThroughDSlots: Avoid write error panic + + Currently, afs_WriteThroughDSlots panics if our call to + afs_WriteDCache fails. Since afs_WriteThroughDSlots is called every + minute by a background daemon, this means that if our cache fs becomes + inaccessible (by being forced read-only, or for any other reason), we + are virtually guaranteed to panic relatively quickly. + + To try to avoid this at least for some cases, change + afs_WriteThroughDSlots to return an error to our caller when we + encounter such an error. For our background task, we can just ignore + the error and retry the writes on a future iteration. During shutdown, + we still panic if we encounter an error, to try to avoid silently + allowing a corrupt cache to be used on subsequent boots. + + Reviewed-on: https://gerrit.openafs.org/13047 + Reviewed-by: Benjamin Kaduk + Reviewed-by: Michael Meffie + Tested-by: BuildBot + (cherry picked from commit 46d5695a383b2b993fdd598b770f4e3c0e1a41f3) + + Change-Id: Iccbec550c00ac725c0033b075ac3cd0b4e1c78c2 + Reviewed-on: https://gerrit.openafs.org/13073 + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + +commit e05a095455294feff4e1b28a432896222a3ffd94 +Author: Andrew Deason +Date: Mon Apr 30 17:33:14 2018 -0500 + + afs: Avoid afs_GetDCache panic on cache open error + + When we need to populate a dcache entry, afs_GetDCache calls + afs_CFileOpen to get a handle for our file backing that dcache. + Currently, if we cannot open the file, we panic. + + To handle this a little more gracefully, just return an error from + afs_GetDCache instead. The relevant userspace request will probably + fail with EIO, but this is better than possibly crashing the whole + system. + + Reviewed-on: https://gerrit.openafs.org/13046 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk - -commit 170b584b3f0fb0e5121df7ded55364bb4df5abb1 -Author: Steve Simmons -Date: Tue Sep 13 13:41:19 2011 -0400 - - Reconciliation of src/{afs,vol}/voldefs.h + (cherry picked from commit 22e64df8e043fa7bd78bff263866ee2bd6a6e13d) - Bring these two files back into synchronization. Fix - possible bug on very old SysV hosts where volume - header file extension could be handled inconsistently. - Overall differences reduced by about 50%. HPUX/AIX - differences now correctly managed in both versions. - Comment formats and whitespace in both modified to - remove differences and follow openafs standards. - - Change-Id: I8fdf9941a0ee6ad7a091be38740bc2796f2b1d18 - Reviewed-on: https://gerrit.openafs.org/5405 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit d3e043189abee8a6bd43a92a6e8c8ed7f578055e -Author: Benjamin Kaduk -Date: Thu Dec 24 18:17:34 2015 -0600 - - Add extra parentheses to macro bodies - - In order to avoid surprises due to operator precedence, the bodies - of macros that are intended to be used as values should always - be enclosed in an outer set of parentheses, if they contain more than - one term. - - Change-Id: If175b1977b9452a7507c5906e4e611eccafb4d67 - Reviewed-on: https://gerrit.openafs.org/12143 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - -commit 9c08ab654846b701557d89107e60cc8a96dc6d3a -Author: Michael Meffie -Date: Sat Apr 30 11:32:14 2016 -0400 - - git ignore akeyconvert - - Tell git to ignore the new akeyconvert binary added in commit - 6f4bdc8cb3cd020cf4b499c352ec4c4811b5a267. - - Change-Id: I4b9473e455319ac8ec378169a911c0619ab1fced - Reviewed-on: https://gerrit.openafs.org/12263 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 066ef66648f0d955aa310d0991d888afea9b68d7 -Author: Benjamin Kaduk -Date: Wed Mar 4 13:34:53 2015 -0500 - - configure: check for some more krb5 functions - - We will want to create a krb5_principal object that is used - as a sigil for comparison against, and need to do so in a portable - fashion. krb5_parse_name and krb5_unparse_name have been around - for a long time, but the counterpart krb5_free_unparsed_name is - not always available, so provide compatibility for it. - - krb5_free_keytab_entry_contents is only a symbol in MIT krb5; - we will need a compat macro on Heimdal systems where it is not present. - - Change-Id: I1cfe12910adac39216b8c7dd337b7e22d73555ed - Reviewed-on: https://gerrit.openafs.org/11785 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Michael Meffie - -commit 6f4bdc8cb3cd020cf4b499c352ec4c4811b5a267 -Author: Benjamin Kaduk -Date: Mon Mar 2 17:29:56 2015 -0500 - - Add akeyconvert, for rxkad.keytab to KeyFileExt conversion - - A simple utility to help with the 1.6-->1.8 upgrade by - bulk-converting keys, with some sanity checking. - - Change-Id: Ibae9a1ea3b7c3bbad5ffbc02410fa7a4ff6c4d7f - Reviewed-on: https://gerrit.openafs.org/11786 - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8bf89fdbc251822b6a3149088f5634bb40e5c225 -Author: Michael Meffie -Date: Thu Nov 5 16:29:05 2015 -0500 - - roken: do not include the rk_rename() implementation on unix - - libroken provides roken/rename.c for platforms where the native rename() - implementation does not replace the target if it already exists. As designed, - rk_rename() should be used instead of rename() everywhere and rk_rename() - is #defined to be rename() on platforms where this fix is not necessary. - - Do not include the rk_rename() implementation on platforms which do not need - the rk_rename since it is not used on those platforms. - - Note: This fix also avoids a recursive rename(). As currently implemented, the - rk_rename() function is redefined to rename() within the roken/rename.c module - when RENAME_DOES_NOT_UNLINK is not defined. This can mask the standard library - rename() and leads to a recursive call to rename(). - - Change-Id: I47a1fcd21939b161aaa7df7ffab26dc84e7b75ed - Reviewed-on: https://gerrit.openafs.org/12091 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 40dfd90a9f29ea56a871449172f809c4ae3cd4f6 -Author: Michael Meffie -Date: Fri Feb 6 11:33:48 2015 -0500 - - externalize log rotation - - Do not create new server log files when servers are restarted by - default. External log rotation tools may be used to rotate the logs by - renaming log files and then signaling server processes to reopen - log files. - - Add the -transarc-logs option to each server to provide backward - compatibility with the traditional Transarc-style logging. When - -transarc-logs is given, log files are renamed to an ".old" file - (overwriting the existing ".old" file) and the previous the log file is - truncated. - - Change-Id: I2eeb67e3db32b2f75fe685b68dab1159e62061e9 - Reviewed-on: https://gerrit.openafs.org/11731 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 79c8b36e11073c40fde2918ae9ee80cc5c3b8efe -Author: Michael Meffie -Date: Fri Feb 6 10:56:43 2015 -0500 - - util: reopen server logs on SIGUSR1 for external log rotation - - Claim the SIGUSR1 signal for reopening server log files. A server - process will reopen the log file when the SIGUSR1 signal is received. - If the log file does not exist, the server process will create a new, - empty log file. - - This allows external log rotation programs to rotate log files by - renaming an existing log file then sending a SIGUSR1 signal to the - corresponding server process. Any messages written to the log after the - log file was renamed but before the SIGUSR1 signal is received will - continue to be written to the renamed log file. The server process will - write messages to the new log file after handling the SIGUSR1 signal. - - The SIGUSR1 signal is used to reopen the log file instead of the more - commonly used SIGHUP signal, since SIGHUP is already used for resetting - the logging level. - - The retirement of Linux 2.4 support, in particular the desupport of - LinuxThreads, in commit ccf353ede6ef5cce7c562993d1bea0d20844bdb7 allows - for the use of SIGUSR1 in OpenAFS. - - Change-Id: Ie3ff52ae4986eae30c7420b5f05ff1eacdfe7596 - Reviewed-on: https://gerrit.openafs.org/11727 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5892473c2381b40a2be375a1b04ddae080711e12 -Author: Michael Meffie -Date: Sat Mar 12 18:54:43 2016 -0500 - - util: doxygenate server logging functions - - Provide doxygen style comment blocks for the server logging functions - and module variables. - - Change-Id: Iacb49ce5d221f9219290e2479df8fa9a54a88fa7 - Reviewed-on: https://gerrit.openafs.org/12221 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit ad455347bc99d1bd499535995958b5f77c2388ff -Author: Michael Meffie -Date: Wed Jan 6 17:06:54 2016 -0500 - - Remove server logging globals - - Remove the global variables used to setup server logging and replace - with an argument to OpenLog. - - Keep the LogLevel variable as a global for use by the logging macros, - but provide an inline function for applications which check the log - level to dump more information when the log level is increased. - - Provide consistency by adding syslog tags to processes that did not - previously set one (salvageserver, salvager, and volserver). - - [kaduk@mit.edu: update commit message, use old-style log rotation for - kalog, minor commenting fixes] - - Change-Id: I11cffbdd1418304d33f0be02dd7e600955c4a8bb - Reviewed-on: https://gerrit.openafs.org/12168 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 4bfb874d19135e1e5dfe96edbba8e8968cae32b0 -Author: Benjamin Kaduk -Date: Wed Dec 2 22:56:57 2015 -0600 - - Add comment about serverlog locking - - The lock protects global state such as the logging FD and the - syslog-related variables. - - Change-Id: I5ea1b6945c10047da14d35b948a6a0ea53b55add - Reviewed-on: https://gerrit.openafs.org/12123 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit a8c9997e93ba0fd36b0b71601157e4a0e9f3b9f5 -Author: Michael Meffie -Date: Thu Feb 5 16:59:52 2015 -0500 - - Reopen the correct filename when -logfile is given - - The name of the log file passed to ReOpenLog() may not match the name - given in the initial OpenLog() call. This can happen when the -logfile - option is given to the fileserver or volume server. - - Since the name given to ReOpenLog() must match the original name, change - ReOpenLog() to use the name previously given to OpenLog() and update all - callers. - - Change-Id: Ie6fa4cb6e3c03f853efe0207bbec5d8412c6fe59 - Reviewed-on: https://gerrit.openafs.org/11723 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit d92ef173bc6ab7dd85bd2cbadbb2a089a9d4bacf -Author: Michael Meffie -Date: Wed Feb 4 12:19:32 2015 -0500 - - util: always reopen the log file - - Reopen the log file even if the filename exists. This fixes the - situation where an external program moves or deletes the log - file, then creates a new file with the same log file name. - - Change-Id: I3b98d6fc0d05c7ab231f84e9a271f925506ab51f - Reviewed-on: https://gerrit.openafs.org/11725 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 02b228bc4c778645efbbc3d3bb12586a0424c1cd -Author: Michael Meffie -Date: Thu Feb 5 10:47:32 2015 -0500 - - util: refactor OpenLog and ReOpenLog - - Non-functional changes and cleanups in preparation for fixes and - enhancements. - - Move the duplicated code to redirect the stdio/stderr streams to a common - static function. Add a helper function to check for named pipes. Move the - code to rename files when opening logs to a separate static function. - - Change-Id: I5b56b80a7e799b6605cfad7b58ac8249ac93acc8 - Reviewed-on: https://gerrit.openafs.org/11721 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ac5346b3612e4f7dc3f97a57990959794b18c3a7 -Author: Benjamin Kaduk -Date: Sun Dec 20 22:11:23 2015 -0600 - - util: Remove undocumented magic of mrafs-style logs - - The MR-AFS-style logs would always include the thread number in - log entries with the timestamp; now that we are trying to rebrand - this feature as "timestampped logs", having this bonus feature - is unexpected. - - Thread ids are still used at higher log levels, as enabled by SIGTSTP. - - Change-Id: Ie8c276e47a34d729ccce685ddf27bfa9e7a8f9f1 - Reviewed-on: https://gerrit.openafs.org/12136 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 4b698db3198d30aa1cf1028d3cb7856211792f18 -Author: Michael Meffie -Date: Thu Feb 5 15:42:16 2015 -0500 - - util: fix file descriptor leak in mrafs-style logging - - When MR-AFS style logging is in effect, the SIGHUP signal handler will rename - then create a new, empty server log file to support log rotation. - - Unfortunately, the old log file descriptor is not closed, so each SIGHUP - signal will leak one file descriptor. - - Be sure to close the current log file descriptor before opening the log again. - The OpenLog() routine will move the current log file to a new file, with a - timestamp string appended to the log file, then open the server log file with - truncate flag to start a new log file. - - Change-Id: Ic3f29607fa50ed868b9245865e375dedde438471 - Reviewed-on: https://gerrit.openafs.org/11722 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit db74758924b4d889e1c713a46be898d47f4ae6a9 -Author: Michael Meffie -Date: Sun Mar 13 17:27:59 2016 -0400 - - util: fix log file renaming of mrafs-style logs - - Do not make timestamped log files with an invalid number of seconds when - renaming old mrsafs-style log files, i.e., more than 59 seconds in the - seconds field. - - Replace the goto used in the mrafs-style make file name retries with a - regular, bounded loop. - - Change-Id: I16d032197e4b1e227b1f005fbc395a013e099561 - Reviewed-on: https://gerrit.openafs.org/12220 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 721c3737c7f308c777a7f05cf014e4502c607eb2 -Author: Michael Meffie -Date: Wed Feb 4 20:53:52 2015 -0500 - - util: remove unused printLocks variable from mrafs-style logs - - Remove the unused printLocks variable, which was added in commit, - 86f1dc2117e6b6c8abb55ccbc8621743969b8996 "mrafs-server-log-handling-20010212" - but never used. - - Change-Id: I64459cf93e86352ef16d9526e46847cbb4997f10 - Reviewed-on: https://gerrit.openafs.org/11719 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 340ec2f79208ee21c3130c4b1c13995947ce426c -Author: Michael Meffie -Date: Mon Mar 14 16:09:56 2016 -0400 - - util: allocate log filename buffers - - Allocate the ourName buffer to save the log filename during OpenLog(), - instead of trying to copy the log filename to a fixed size buffer. - Deallocate this buffer when the log is closed with CloseLog(). Save the - log file name even when MR-AFS style logging is not effect to allow - ReOpenLog() to use the saved filename in a later commit. - - Dynamically allocate a buffer when formatting a file name for log - rotation instead of using a fixed size buffer on the stack. Allocate - the buffer for both traditional Transarc-style log file renaming - (appending ".old" to the log filename) and the MR-AFS style logging - (appending a timestamp to the log filename). - - Change-Id: Ie217a93b271b48ccfc7b5244ad3a8c949d55ef54 - Reviewed-on: https://gerrit.openafs.org/12219 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1a72f4a917f14c97ab067eb303252e3244cb59d1 -Author: Michael Meffie -Date: Sun Mar 13 16:55:48 2016 -0400 - - util: open mrafs-style logs with O_APPEND too - - Commit b71a041364d28d6a56905a770cd20d1497ee26ec added the O_APPEND flag when - opening the log file to allow sites to use logrotate's "copy and truncate" - feature. - - Add the O_APPEND to MR-AFS style logs as well so MR-AFS style logs can also be - handled correctly with logrotate, we have consistent open flags, and can remove - a duplicate call to open the log file descriptor. - - Change-Id: I8370838e1e2c7ddaa042508d6b9cbe1299339f68 - Reviewed-on: https://gerrit.openafs.org/12218 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 22da8ad7afa12313efdfba4eb6118c3496906275 -Author: Michael Meffie -Date: Sun Feb 1 16:53:26 2015 -0500 - - util: remove obsolete SETVBUF_REVERSED - - Commit 8af5762909714367c1cc764b3f491c06c2bcd5d0 "Clean up some - obsolete Autoconf code" removed the obsolete autoconf check - AC_FUNC_SETVBUF_REVERSED and one use of the results, but - overlooked another instance; remove it. - - Change-Id: Id62a2a96b911c0d16d51d8cce0966ae3736bde87 - Reviewed-on: https://gerrit.openafs.org/11718 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - -commit 5e49cb98ac09b85d830f443a4c006d91764d2e35 -Author: Michael Meffie -Date: Tue Feb 3 21:07:34 2015 -0500 - - util: always initialize the server log mutex - - Be sure to always initialize the server log mutex. Use pthread_once to - ensure the mutex is initialized only once. - - Before this change the server log mutex was not properly initialized - with pthread_mutex_init when logging to the syslog. - - Change-Id: Ief2ee6b373f7309bc05061f7413b6ff623b86e31 - Reviewed-on: https://gerrit.openafs.org/11717 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 661f73beeb8cc61c24e1d53003d310e835c48a45 -Author: Michael Meffie -Date: Thu Mar 12 18:12:06 2015 -0400 - - util: fix server log fd validity checks - - Do not assume the server log file descriptor cannot be zero. - - Thanks to Chas Williams for spotting this bug. - - Change-Id: I0d264828926bf8cd765b45db4e529233b8686404 - Reviewed-on: https://gerrit.openafs.org/11797 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit ee1e344cef437dd43610cd421e80df2f21001b80 -Author: Michael Meffie -Date: Wed Sep 2 17:22:16 2015 -0400 - - util: remove util/softsig - - Remove the old util/softsig implementation, which has been replaced by - opr/softsig. - - Change-Id: Ie32f04129dd0b09a8baf9f6739abf53fbf1b98eb - Reviewed-on: https://gerrit.openafs.org/11998 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 83fcf5d69800f6ba3c5733cb8cc0007f8b2c9dbc -Author: Michael Meffie -Date: Wed Sep 2 16:33:46 2015 -0400 - - ptserver: convert the ptserver to opr softsig - - Convert the ptserver from regular signal handling to the opr soft - signal handling when built with pthreads. This makes it safe to call - pthread functions within signal handlers. - - Change-Id: I43d345517c75e275d6896154a979a908181a1f39 - Reviewed-on: https://gerrit.openafs.org/11997 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 803d15b6aa1e65b259ba11ca30aa1afd2e12accb -Author: Michael Meffie -Date: Wed Sep 2 16:32:54 2015 -0400 - - vlserver: convert the vlserver to opr softsig - - Convert the vlserver from regular signal handling to the opr soft - signal handling when built with pthreads. This makes it safe to call - pthread functions within signal handlers. - - Change-Id: Ic9bd841c4796bd64b603505541da7e767afda83e - Reviewed-on: https://gerrit.openafs.org/11996 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit e0d7f9b591db66fd33b7e98f669b2e4ff9decf1c -Author: Michael Meffie -Date: Wed Sep 2 16:28:43 2015 -0400 - - volser: convert the volume server to opr softsig - - Convert the volume server from regular signal handling to the opr soft - signal handling when built with pthreads. This makes it safe to call - pthread functions within signal handlers. - - Change-Id: I25b9a9184c526f4ce9b6e2abb25ae9135cc97ec6 - Reviewed-on: https://gerrit.openafs.org/11995 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 093fdd6c4cdaeb31a2d9078bd0db5b2e1030b335 -Author: Michael Meffie -Date: Thu Mar 31 16:40:40 2016 -0400 - - viced: convert the fileserver to opr softsig - - Convert the fileserver from the obsolete softsig routines to the modern opr - softsig routines for pthreaded programs. - - Change-Id: I9e98e402f73ebca05fcaf0f852055b9a5ad93632 - Reviewed-on: https://gerrit.openafs.org/11994 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 97d02926d3d82bf49ad0f53b85c186e0c6a96530 -Author: Michael Meffie -Date: Mon Jun 29 11:03:16 2015 -0400 - - viced: remove old signal handler wrappers - - Remove remnants of old lwp thread signal handler wrapper functions from - the fileserver. The lwp softsig handlers required a function which was - passed a void pointer argument and returned a void pointer. Tidy the - code by removing the unneeded wrappers and use the signal handler - functions directly. - - Change-Id: I3d52efe659b03ee9a9484ec7a9d74404f1970278 - Reviewed-on: https://gerrit.openafs.org/11921 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit b5c2d7d3d574514fd8d4c602f8b01cb7bfa41091 -Author: Michael Meffie -Date: Thu Mar 31 16:39:48 2016 -0400 - - util: softsig version of function to setup logging signal handlers - - Provide a new routine to setup the server log signals which registers - soft signal handlers for the common log management signals (SIGTSTP and - SIGHUP). Keep the old SetupLogSignals() routine around while lwp still - exists. - - Change-Id: Ic9151c7ad25528e8e4008a4567836e4196cbe8c3 - Reviewed-on: https://gerrit.openafs.org/12238 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 524d92b497e525bb7bc0929385e722a0c4157890 -Author: Michael Meffie -Date: Thu Mar 31 16:38:29 2016 -0400 - - Windows: opr_softsig.h - - Make the opr softsig header file available in the windows builds - so it can be included unconditionally in the code base. - - Change-Id: I19a75ce060e20b525d83ec5bed42d3168362d852 - Reviewed-on: https://gerrit.openafs.org/12237 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 22030429fc680959d4d222f20b0756b82eb56d4c -Author: Michael Meffie -Date: Thu Mar 31 16:37:42 2016 -0400 - - procmgmt: wrappers for softsig handlers - - Provide procmgmt wrappers for Windows environments which match the opr_softsig - functions. This allows builds of the windows servers continue to use the - existing process management signal handling functions, without introducing - additional conditional compilation in the server code. - - Change-Id: I0ac287bde294996fb7f32c19370f2992a0af2a58 - Reviewed-on: https://gerrit.openafs.org/12236 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 24fed351fd13b38bfaf9f278c914a47782dbf670 -Author: Michael Meffie -Date: Wed Sep 9 21:26:23 2015 -0400 - - salvager: convert salvager and salvagerserver to libutil logging - - Use the libutil logging facility in the salvager and DAFS salvageserver - in order to have consistent logging features and time stamp formats with - the other OpenAFS servers. - - Change-Id: I8352d7e16b4a9f96b814a3b5c0b3b79a7c48e4bc - Reviewed-on: https://gerrit.openafs.org/12003 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 9c6e6d4c34d867639ac90ba9a46084f3700b57d1 -Author: Jonathon Weiss -Date: Fri Apr 15 19:29:58 2016 -0400 - - Find Tivoli TSM headers in 64 bit location - - When building with --enable-tivoli-tsm locate the Tivoli TSM headers - if they are installed in the path used by the 64 bit Tivoli TSM - installation. - - Change-Id: I4f114a4ada1babcbe1e52f451f10e78d861b7fd0 - Reviewed-on: https://gerrit.openafs.org/12258 - Tested-by: BuildBot + Change-Id: Iddc7b0ebc56a64d792251f1f42c576603f2a86cf + Reviewed-on: https://gerrit.openafs.org/13072 Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk - -commit 5c136c7d93ed97166f39bf716cc7f5d579b70677 -Author: Michael Meffie -Date: Thu Aug 27 13:06:05 2015 -0400 - - afs: shake harder in shake-loose-vcaches - - Linux based cache managers will allocate vcaches on demand and - deallocate batches of vcaches in the background. This feature is called - dynamic vcaches. - - Vcaches to be deallocated are found by traversing the vcache LRU list - (VLRU) from the oldest vcache to the newest. Up to a target number of - vcaches are attempted to be evicted. The afs_xvcache lock protecting - the VLRU may be dropped and re-acquired while attempting to evict a - vcache. When this happens, it is possible the VLRU may have changed, so - the traversal of the VLRU is restarted. This restarting of the VLRU - transversal is limited to 100 iterations to avoid looping indefinitely. - - Vcaches which are busy cannot be evicted and remain in the VLRU. When a - busy cache was not evicted and the afs_xvache lock was dropped, the VLRU - traversal is restarted from the end of the VLRU. When the busy vcache is - encountered on the retry, it will trigger additional retries until the - loop limit is reached, at which point the target number of vcaches will - not be deallocated. - - This can leave a very large number of unbusy vcaches which are never - deallocated. On a busy machine, tens of millions of unused vcaches can - remain in memory. When the busy vcache at the end of the VLRU is finally - evicted, the log jam is broken, and the background deamon will hold the - afs_xvcache lock for an excessively long time, hanging the system. - - Fix this by moving busy vcaches to the head of the VLRU before - restarting the VLRU traversal. These busy vcaches will be skipped when - retrying the VLRU traversal, allowing the cache manager to make progress - deallocating vcaches down to the target level. - - This was already done on the mac osx platform while attempting to evict - vcaches. Move the code to move busy vcaches to the head of the VLRU up - the the platform agnostic caller. - - Thanks to Andrew Deason for the initial version of this patch. - - Change-Id: I7768d00604e56d8d5369ac5215f7c2ab7996c4eb - Reviewed-on: https://gerrit.openafs.org/11654 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - -commit 961875cbedc2c91cdba6dc34a43c6136ea9797fb -Author: Michael Meffie -Date: Thu Feb 25 18:49:20 2016 -0500 - - LINUX: hold vcache while dropping dcache refs - - Hold a reference on a vcache while attempting to evict the inode from - the dcache. Since the afs_xvcache lock is dropped, it could be possible - for the vcache to be flushed during this time, making it unsafe to use - the vcache after the eviction attempt. - - Change-Id: I9d91db98387b7aaa986ed915420c6cafb4f12438 - Reviewed-on: https://gerrit.openafs.org/12206 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - -commit 3609ebcfa3f70ca7612364c0cc2345b1d7f1096b -Author: Stephan Wiesand -Date: Thu Apr 7 10:58:30 2016 +0200 - - Linux: Fix misleading indentation and other whitespace - - Commit 7edc6694e7632c9736bd1516935604a638165313 introduced a - misleading indentation of a line in afs_linux_prefetch. Correct - it, and once here remove trailing whitespace throughout the file. - - Change-Id: Idab888bb72c782bfd25c7fc81316eb1b65c0d128 - Reviewed-on: https://gerrit.openafs.org/12253 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 808b156bd890cd78dc59b443b4ebe32e98d440d4 -Author: Benjamin Kaduk -Date: Tue Apr 5 12:53:48 2016 -0500 - - Fix typo in cm_dcache.c - - Commit b85c5f9339e20d3de9b1316217dadbea41ad537e introduced a new - memset() but left out a prenthesis. - - In the absence of a windows build machine, this error went unnoticed. - - Reported by Mark Vitale. - - Change-Id: Ie250163029132896cd70dc822c6170913e83dafe - Reviewed-on: https://gerrit.openafs.org/12241 - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Tested-by: Michael Meffie - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit a3fa6dabf481cf0e79bdddaab315e801f213a46b -Author: Marcio Barbosa -Date: Mon Mar 28 15:50:16 2016 -0300 - - doc: add missing angle bracket - - The options -logfile and -config should be enclosed - by angle brackets. - - Change-Id: I9e5767b7e43753b37dbc8d86c5346c778f8bab8d - Reviewed-on: https://gerrit.openafs.org/12233 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ae5f411c3b374367ab8ae69488f78f8e0484ce48 -Author: Stephan Wiesand -Date: Tue Mar 8 14:15:17 2016 +0100 - - Linux 4.4: Do not use splice() - - splice() may return -ERESTARTSYS if there are pending signals, and - it's not even clear how this should be dealt with. This potential - problem has been present for a long time, but as of Linux 4.4 - (commit c725bfce7968009756ed2836a8cd7ba4dc163011) seems much more - likely to happen. - - Until resources are available to fix the code to handle such errors, - avoid the riskier uses of splice(). - - If there is a default implementation of file_splice_{write,read}, - use that; on somewhat older kernels where it is not available, - use the generic version instead. - - [kaduk@mit.edu: add test for default_file_splice_write] - - Change-Id: Ib4477cdfb2cd0f49f516da75edc3cb9d1a8817dc - Reviewed-on: https://gerrit.openafs.org/12217 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 58d82226a555d3781a5cb45e5cc177727628ebd8 -Author: Michael LaƟ -Date: Mon Jan 18 19:58:00 2016 +0100 - - Linux 4.4: Use locks_lock_file_wait - - The locks API was changed in Linux 4.4, introducing locks_lock_file_wait - (e55c34a66f87e78fb1fc6b623b78c5ad74b475af) and removing - flock_lock_file_wait (616fb38fa7a9599293e05ae1fa9acfaf73922434). - - locks_lock_file_wait can be used as a drop-in replacement so define - flock_lock_file_wait as an alias for it. - - Change-Id: Iba89a43c651737c86cbf519a933289d97c25a467 - Reviewed-on: https://gerrit.openafs.org/12170 - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 5067ee3ae11932a3f1c972c8f88b20afbd9e1d88 -Author: Michael LaƟ -Date: Mon Jan 18 18:29:00 2016 +0100 - - Linux 4.4: key_payload has no member 'value' - - In Linux 4.4 (146aa8b1453bd8f1ff2304ffb71b4ee0eb9acdcc) type-specific and - payload data have been merged. The payload is now accessed directly and has - no 'value' member anymore. - - FIXES 132677 - - Change-Id: Id26c40c80314a0087ecc0735029412787058ef07 - Reviewed-on: https://gerrit.openafs.org/12169 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 279f9c54b4ccd8a55812ac8423a153d5c2deb0ab -Author: Chas Williams <3chas3@gmail.com> -Date: Mon Nov 23 14:19:38 2015 -0500 - - Remove automated casting in rxgen - - We should let the compiler warn us when we attempt to convert types that - should not be converted. - - Change-Id: Ie9f5f6ab5d5978bbe5e741b1a20bfb4d36fb314c - Reviewed-on: https://gerrit.openafs.org/12116 - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 9823c576229f74fe4c308b5164149873e0fddbaf -Author: Chas Williams <3chas3@gmail.com> -Date: Mon Nov 23 14:15:08 2015 -0500 - - rxgen: Don't use size_t in struct rx_opaque with XDR - - OpenAFS's XDR doesn't support size_t at this time. For now, use a - temporary stack variable to avoid 32/64-bit issues and copy back the - returned value upon success. - - Change-Id: Ia3dd8abd665a19e04aa611f940728d088a8f87b7 - Reviewed-on: https://gerrit.openafs.org/12115 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 5aa6d4a26a5b84389ecb22bc8c6cd69dee8e4ca4 -Author: Chas Williams <3chas3@gmail.com> -Date: Mon Nov 23 12:29:31 2015 -0500 - - Refactor printing arguments to the xdr routines - - This makes some future changes a bit easier to read and implement. - - Change-Id: I48eafa67659739865f43a0bcfe1f8a897a7a8940 - Reviewed-on: https://gerrit.openafs.org/12114 - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit f99c1ec32bb6e8d31ac517173ff7502dbd85aa05 -Author: Michael Meffie -Date: Fri Mar 18 10:22:33 2016 -0400 - - doc: fs examine no longer requires read rights on the volume root vnode - - Update the man page to reflect the current access rights required for fs - examine. Historically, fs examine required read access on the root - vnode of the volume housing the directory or file being examined. This - access check was relaxed in commit d2d591caf2c9b4cf2ebae708cc9b4c8b78ca5a5a, - since the information returned by the file server is already available - anonymously by other means. - - Change-Id: If62b625bce8a260b98fb56a6feec49c674f2de53 - Reviewed-on: https://gerrit.openafs.org/12223 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 02a393de6b30a500b77f276011c70d41eff363b5 -Author: Benjamin Kaduk -Date: Wed Mar 16 16:16:49 2016 -0500 - - Add param files for FreeBSD 10.2, 10.3 - - FreeBSD 10.3 is in the beta stage now; better get ready for it. - - Change-Id: I2a6b6144916f13768bfad27af5eb5340e039939b - Reviewed-on: https://gerrit.openafs.org/12222 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e63c2570f9d95bee7c7a00dd578a6971c6e733b9 -Author: Benjamin Kaduk -Date: Mon Mar 14 23:15:20 2016 -0500 - - OPENAFS-SA-2016-002 ListAddrByAttributes information leak - - The ListAddrByAttributes structure is used as an input to the GetAddrsU - RPC; it contains a Mask field that controls which of the other fields - will actually be read by the server during the RPC processing. - Unfortunately, the client only wrote to the fields indicated by the - mask, leaving the other fields uninitialized for transmission on the - wire, leaking some contents of client memory. - - Plug the information leak by zeroing the entire structure before use. - - FIXES 132847 - - Change-Id: I9ccf814ceff206ddb3a74da97dc50b7e1e3c2014 - -commit c12b3fee2fabd92c57d92fc945d70acba9f53ab3 -Author: Benjamin Kaduk -Date: Mon Mar 14 23:15:20 2016 -0500 - - OPENAFS-SA-2016-002 VldbListByAttributes information leak - - The VldbListByAttributes structure is used as an input to several - RPCs; it contains a Mask field that controls - which of the other fields will actually be read by the server - during the RPC processing. Unfortunately, the client only - wrote to the fields indicated by the mask, leaving the other - fields uninitialized for transmission on the wire, leaking - some contents of client memory. - - Plug the information leak by zeroing the entire structure before use. - - FIXES 132847 - - Change-Id: I14964e98a57ba6ef060c6e392497f1ebd3afe042 - -commit 67646c7c901a1f346d78666f432b673c5b341380 -Author: Benjamin Kaduk -Date: Mon Mar 14 23:15:20 2016 -0500 - - OPENAFS-SA-2016-002 AFSStoreVolumeStatus information leak - - The AFSStoreVolumeStatus structure is used as an input to the - RXAFS_SetVolumeStatus RPC; it contains a Mask field that controls - which of the other fields will actually be read by the server - during the RPC processing. Unfortunately, the client only - wrote to the fields indicated by the mask, leaving the other - fields uninitialized for transmission on the wire, leaking - some contents of kernel memory. - - Plug the information leak by zeroing the entire structure before use. - - FIXES 132847 - - Change-Id: Ib309e6b00b95bc4178740352899d7f940f2eb1ea - -commit b85c5f9339e20d3de9b1316217dadbea41ad537e -Author: Benjamin Kaduk -Date: Sun Mar 13 12:56:24 2016 -0500 - - OPENAFS-SA-2016-002 AFSStoreStatus information leak - - Marc Dionne reported that portions of the AFSStoreStatus structure - were not written to before being sent over the network for - operations such as create, symlink, etc., leaking the contents - of the kernel stack to observers. Which fields in the request - are used are controlled by a flags field, and so if a field was - not going to be used by the server, it was sometimes left - uninitialized. - - Fix the information leak by zeroing out the structure before use. - - FIXES 132847 - - Change-Id: I84a5a10442732ebbcb5d5067ca22030fb795168b - -commit d853866c56a114616ecb68f06a914aaea0e5c7c7 -Author: Jeffrey Altman -Date: Wed Mar 9 20:38:10 2016 -0600 - - OPENAFS-SA-2016-001 group creation by foreign users - - CVE-2016-2860: - - In AFS 3.3 as part of the addition of the cross-cell support for foreign - user auto-registration a bug was introduced that permits foreign users - to create arbitrary groups as if they were system administrators. This - permits the groups to be created without any group quota checks, and - using group names that non-administrators would not normally be able to - create, such as groups with the "system:" prefix or groups with no colon - (that is, in the namespace for users). - - Additionally, all entries created using the auto-registration service - were marked as being created by system:administrators. This behavior - should not be changed on the stable release branch, but for the next - release the behavior will change to show these entries as being - self-created, to better reflect reality. - - FIXES 132822 - - [kaduk@mit.edu: reword commit message, minor style adjustments] - - Change-Id: I54ddca3e4e1339f76ed320f0d6c53d8820aed89c - -commit e3bb92c2a0883ae2922ac6019eed543201dbc2ec -Author: Jeffrey Altman -Date: Wed Mar 9 22:34:55 2016 -0600 - - ptserver: fix pt_util creation of groups - - In commit 53ac98931adf9f04c150d9bc084cae31f3913476 the adjustment of - owner id was moved from CreateEntry() into CreateGroupName(). This was - done for two reasons: - - 1. to reuse the computation of "is administrator" within - CreateGroupName() in order to permit the owner id to be set - to the invalid values 0 and ANONYMOUSID. - - 2. to allow the owner id to be altered in ChangeEntry(). - - Unfortunately, CreateEntry() needs to be able to alter the owner id - when creating users not only groups. - - This change moves the computation of "is administrator" and the - owner id assignment to CreateEntry() and ChangeEntry(). - - Change-Id: I0d37f5a43ea5919d1bbc3ba6d82b2924ab38befc - -commit b702ab5da216976ed01ad3b1c474ecd4cc522ff2 -Author: Michael Meffie -Date: Wed Feb 24 16:57:11 2016 -0500 - - LINUX: ifconfig is deprecated - - ifconfig is deprecated and is no longer installed by default on RHEL 7 and - Centos 7. Use the replacement ip command in the init script for linux. - Fallback to ifconfig in the event the ip command is not available. - - Thanks to Ben Kaduk for pointing out the hash built-in command. - - Change-Id: I7ffe272eb712cd83a70a7d880d239f72b40cb5df - Reviewed-on: http://gerrit.openafs.org/12192 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - -commit d833ba768064a32a19c6b0b94ffb0d8a3a40a089 -Author: Mark Vitale -Date: Thu Mar 27 06:36:59 2014 -0400 - - DAFS: large volume support - fileserver crash after "addled bitmap" - - Any DAFS fileserver operation that allocates a new vnode but fails - to update the vnode index will crash: - - "Fatal Rx error: assertion failed: --vp->nWaiters >= 0, - file: ../vol/volume.c, line: nnnn" - - Note: This crash was exposed by other bugs (to be addressed in future - commits) in OpenAFS large volume support. However, there may - be other failure paths (unrelated to large volumes) that expose - this error as well. - - When VAllocVnode() must allocate a new vnode but fails while - updating the vnode index file (e.g. an "addled bitmap" due to other - bugs in working with a vnode index larger than 2^31 bytes), it branches - to common recovery logic at label error_encountered:. - - Part of this recovery is to call VFreeBitmapEntry_r(). Commit - 08ffe3e81d875b58ae5fe4c5733845d5132913a0 added a VOL_FREE_BITMAP_WAIT - flag to VFreeBitmapEntry() in order to prevent races with VAllocBitmapEntry(). - If the caller specifies VOL_FREE_BITMAP_WAIT, VFreeBitmapEntry_r will - call VCreateReservation_r() and VWaitExclusiveState_r(). However, the - exit from VFreeBitmapEntry_r() calls VCancelReservation_r() unconditionally. - This works correctly with the majority of callers to VFreeBitmapEntry_r, - which do specify the VOL_FREE_BITMAP_WAIT flag. - - However, the VAllocVnode() error_encountered logic must specify 0 for - this flag because the thread is already in an exclusive state - (VOL_STATE_VNODE_ALLOC). This correctly causes VFreeBitmapEntry_r() to - forgo both the reservation and wait-for-exclusive-state. However, before - exit it erroneously calls VCancelReservation_r(). We now have unbalanced - reservations (nWaiters); this causes an assert when the VAllocVnode() - error_encountered recovery code later calls VCancelReservation_r() - for what it believes is its own prior reservation. - - Modify VFreeBitmapEntry_r() to make its final VCancelReservation_r() - conditional on flag VOL_FREE_BITMAP_WAIT. - - Change-Id: Id6cf6b1279b11e6dfc4704bba5739912f663beca - Reviewed-on: http://gerrit.openafs.org/11983 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit cc79ca882d180fddadb785f65279c4340210d5d0 -Author: Mark Vitale -Date: Sat Jul 18 01:12:51 2015 -0400 - - bozo: allow start of fs and dafs bnodes with options - - fs_create() and dafs_create() issue stat() to verify - the existence of each executable specified in the bnode. - However, commit fda2bc874751ca479365dc6389c0eebb41a0bda1 - inadvertently removed the code that stripped any command - arguments before the stat(). Therefore, any bnode that - specifies arguments (e.g. /usr/afs/bin/dafileserver -d 5), - causes the stat() to fail and the bnode will not start. - - Rename function AppendExecutableExtension() to a less - "window-ish" name: PathToExecutable(). - - Modify the Windows version of PathToExecutable() - to properly strip arguments. - - Reimplement the Unix macro as function PathToExecutable() - that properly strips arguments. - - Change-Id: I04f7ce2afb8211bd12b9063db1335738bff1cc1e - Reviewed-on: http://gerrit.openafs.org/11934 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 44349d0694c7a185fae4c55c75cb01196d109a26 -Author: Mark Vitale -Date: Tue Feb 16 14:55:03 2016 -0500 - - viced: incorrect FID audit of BulkStatus and InlineBulkStatus - - The audit code for object AUD_FIDS is off by one - we list the - first FID twice and skip the last FID. - - Repair so all FIDs are properly audited. - - Change-Id: I99f4687e25031eb26ccd7e07b732217b098005de - Reviewed-on: http://gerrit.openafs.org/12191 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - -commit c0876aa6b5edb2796330d786660ed4f2075a1fcf -Author: Michael Meffie -Date: Mon Feb 8 10:10:32 2016 -0500 - - test: skip buserror test when SIGBUS is not defined in perl POSIX module - - Older versions of the perl POSIX module do not define the SIGBUS symbol, which - causes the opr/softsig-t perl test to fail to compile. Instead of trying to - defined SIGBUS, which may be platform dependent, skip the buserror unit test on - these older platforms. - - Change-Id: Ib8cfd77215ea43566e9d47b501d4989556b83734 - Reviewed-on: http://gerrit.openafs.org/12186 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 378eae1d534d61d357a0ad681b57b5e203f814ad -Author: Michael Meffie -Date: Mon Feb 8 12:12:22 2016 -0500 - - CellServDB update 01 Jan 2016 - - Update all remaining copies of CellServDB in the tree, and make the - Red Hat packaging use it by default too. - - Change-Id: Idf9d97151b8e9075fefa7aece58fd023bfd857ff - Reviewed-on: http://gerrit.openafs.org/12187 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ed52d65fe98549e13023e0a8997da479b626085a -Author: Michael Meffie -Date: Fri Jan 30 12:20:10 2015 -0500 - - volser: detect eof in dump stream while reading acl - - Detect an EOF condition while reading the ACL in a dump stream - and return a restore error, instead of filling the ACL with - 0xFF and then failing the restore due to an invalid tag. - - Change-Id: If7a71946c81f47ac68ed2f7afdfca1023bad3baf - Reviewed-on: http://gerrit.openafs.org/11703 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 97150150e6d12cbbc0c4a5af3424c9bf1e56918c -Author: Benjamin Kaduk -Date: Sun Nov 22 14:23:49 2015 -0600 - - cellconfig: check for invalid dotted quads - - IP addresses entered into the CellServDB with components larger - than 255 would silently be trucated down to 8-bit unsigned integer - representations. This could cause confusing behavior with - occasional hangs. - - FIXES 131794 - - Change-Id: I44834cb4662e178fdb4be2eeb03ad58d2fa7c556 - Reviewed-on: http://gerrit.openafs.org/12109 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 11845765c75a2f15404ac55a882358c3f88595b9 -Author: Andrew Deason -Date: Sat Apr 11 20:51:09 2015 -0500 - - afs: Log abnormally large chunk files - - Any chunk in our cache for a regular file should be smaller than or - equal to our configured chunksize. If someone sets a chunk to be - larger than that, it is very strange and may cause other confusing - issues. Specifically, afs_DoPartialWrite determines if our cache is - "too full" by counting the number of dirty chunks. If we have a dirty - chunk that is much larger than the chunksize, it can throw off the - afs_DoPartialWrite calculation. - - This is only true for dcaches backing regular files, though. For - directories, we fetch the entire directory into a single chunk file, - and the size of a directory blob can easily exceed the chunksize - without issues. The aforementioned issue with afs_DoPartialWrite does - not apply, since directory chunks cannot be dirty (we only locally - modify the chunk if we modify the dir on the server, and the DVs - match). - - Anyway, it should not be possible to get a chunk for a regular file - larger than the chunksize. Log a message if it does occur, to help - assist anyone in tracking down issues when this does occur. - - [mmeffie@sinenomine.net remove unnecessary casts in afs_warn args.] - - Change-Id: I5cf58e3659dc04255c62fa56b044d5bc1c7ce877 - Reviewed-on: http://gerrit.openafs.org/11831 - Reviewed-by: Michael Meffie - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 775b8873f45ef563b5caaae9911acd91232f9966 -Author: Chas Williams <3chas3@gmail.com> -Date: Sat Apr 25 16:53:43 2015 -0400 - - opr: Use opr_Assert() instead of silently failing - - These routines should never be passed a NULL. If this happens it - is a serious issue that needs to be addressed. - - Change-Id: I9728dcd67bc9f8e9927bed1674fc0ee83567df1a - Reviewed-on: http://gerrit.openafs.org/11853 - Tested-by: BuildBot - Tested-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 04661c4139b3f0bc7d44a43160c9a0ac1405ca5e -Author: Chas Williams <3chas3@gmail.com> -Date: Sat Apr 25 16:38:12 2015 -0400 - - opr: Disable some warnings during opr assertions - - Detect _Pragma(), a C99 extension for inline #pragma's, and use it to - disable to certain warnings during the use of opr_Verify() and - opr_Assert(). - - Because some versions of clang support _Pragma, do not have support - for -Wtautological-pointer-compare, and do set -Werror and -Wunknown-pragmas, - we must explicitly check for pragma support for -Wtautological-pointer-compare - as well. - - Change-Id: Id3d5ee347f320a366a0571572b58414aa7044bf7 - Reviewed-on: http://gerrit.openafs.org/11852 - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 5fbf45b56298aa5a93cf9015f2d6346c7a0f615c -Author: Andrew Deason -Date: Thu Apr 9 21:26:25 2015 -0500 - - afs: Log weird 'size' fetchdata errors - - There are a couple of situations that should never happen when issuing - a fetchdata, but cause errors when they do: - - - The fileserver responds with more than 2^32 bytes of data - - The fileserver responds with more data than requested (but still - smaller than 2^32) - - While these should normally never be encountered, it can be very - confusing when they do, since they cause file fetches to fail. To give - the user or investigating developer some hope of figuring out what is - going on, at least log a warning in these situations, to at least - indicate this is the area in which something is breaking. - - Only log these once, in case something causes these conditions to be - hit, e.g., every fetch. Once is at least enough to say this is - happening. - - [mmeffie@sinenomine.net remove unneeded casts in afs_warn args and - explicit static initializers.] - - Change-Id: I7561a9ecc225386f9b140e633912b900c591a9bb - Reviewed-on: http://gerrit.openafs.org/11830 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit c0f52c3a3d76059c9d8b2df3374df844d8d6861b -Author: Andrew Deason -Date: Tue Apr 7 22:10:53 2015 -0500 - - afs: Fix fetchInit for negative/large lengths - - Currently, the 'length64' variable in rxfs_fetchInit is almost - completely unused (it just goes into an icl logging function). For the - length that we actually use ('*alength'), we just take the lower 32 - bits of the length that the fileserver told us. This method is - incorrect in at least the following cases: - - - If the fileserver returns a length that is larger than 2^32-1, - we'll just take the lower 32 bits of the 64-bit length the - fileserver told us about. The client currently never requests a - fetch larger than 2^32-1, so this would be an error, but if this - occurred, we would not detect it until much later in the fetch. - - - If the fileserver returns a length that is larger than 2^31-1, but - smaller than 2^32, we'll interpret the length as negative (which we - assume is just 0, due to bugs in older fileservers). This is also - incorrect. - - - If the fileserver returns a negative length smaller than -2^31+1, - we may interpret the give length as a positive value instead of a - negative one. Older fileservers can do this if we fetch data beyond - the file's EOF (this was fixed in the fileserver in commit - 529d487d65d8561f5d0a43a4dc71f72b86efd975). This positive length - will cause an error (usually), instead of proceeding without error - (which is what would happen if we correctly interpreted the length - as negative). - - On Solaris, this can manifest as a failed write, when writing to a - location far beyond the file's EOF from the fileserver's point of - view, because Solaris writes can trigger a fetch for the same area. - Seeking to a location far beyond the file's EOF and writing can - trigger this, as can a normal copy into AFS, if the file is large - enough and the cache is large enough. To explain in more detail: - - When copying a file into AFS, the cache manager will buffer the dirty - data in the disk cache until the file is synced/closed, or we run out - of cache space. While this data is buffering, the application will - write into an offset, say, 3GiB into the file. On Solaris, this can - trigger a read for the same region, which will trigger a fetch from - the fileserver at the offset 3GiB into the file. If the fileserver - does not contain the fix in commit - 529d487d65d8561f5d0a43a4dc71f72b86efd975, it will respond with a large - negative number, which we interpret as a large positive number; much - larger than the requested length. This will cause the fetch to fail, - which then causes the whole write() call to fail. Specifically this - will fail with EINVAL on Solaris, since that is the error code we - return from afs_GetOnePage when we fail to acquire a dcache. If the - cache is small enough, this will not happen, since we will flush data - to the fileserver before we have a large amount of dirty data, - e.g., 3GiB. (The actual error occurs closer to 2GiB, but this is just - for illustrative purposes.) - - To fix this, detect the various ranges of values mentioned above, and - handle them specially. Lengths that are too large will yield an error, - since we cannot handle values over 2^31-1 in the rxfs_* framework - currently. - - For lengths that are negative, just act as if we received a length of - 0. Do this for both the 64-bit codepath and the non-64-bit codepath, - just so they remain identical. - - [mmeffie@sinenomine.net: directly use 64 bit comparisons, don't mask - end call error code, commit nits.] - - Change-Id: I7e8f2132d52747b7f0ce4a6a5ba81f6641a298a8 - Reviewed-on: http://gerrit.openafs.org/11829 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk Tested-by: BuildBot -commit 3caee7575491c33920b9c84f5dc4098d99373cf6 +commit a5eeee6d2ef87d95722950989a2d261efc72b959 Author: Andrew Deason -Date: Thu Apr 9 19:58:51 2015 -0500 - - afs: Avoid incorrect size when fetching beyond EOF - - Currently, afs_GetDCache contains a couple of calculations that look - similar to this: - - if (position + size > file_length) { - size = file_length - position; - } - if (size < 0) { - size = 0; - } - - Most of the time, this is fine. However, if 'position' is more than - 2GiB greater than file_length, 'size' will calculated to be smaller - than -2GiB. Since 'size' in this code is a signed 32-bit integer, this - can cause 'size' to underflow, and result in a value closer to - (positive) 2GiB. - - This has two potential effects: - - The afs_AdjustSize call in afs_GetDCache will cause the underlying - cache file for this dcache to be very large (if our offset is around - 2GiB larger than the file size). This can confuse other parts of the - client, since our cache usage reporting will be incorrect (and can be - even way larger than the max configured cache size). - - This will also cause a read request to the fileserver that is larger - than necessary. Although 'size' will be capped at our chunksize, it - should be 0 in this situation, since we know there is no data to - fetch. At worst, this currently can just result in worse performance - in rare situations, but it can also just be very confusing. - - Note that an afs_GetDCache request beyond EOF can currently happen in - non-race conditions on at least Solaris when performing a file write. - For example, with a chunksize of 256KiB, something like this will - trigger the overflow in 'size' in most cases: - - $ printf '' > smallfile && printf b | dd of=smallfile bs=1 oseek=2147745793 - - But there are probably other similar scenarios. - - To fix this, just check if our offset is beyond the relevant file - size, and do not depend on 'size' having sane values in edge cases - such as this. - - Change-Id: Ie36f66ce11fbee905062b3a787871ec077c15354 - Reviewed-on: http://gerrit.openafs.org/11828 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - -commit 4a69d3894c68a52f592b43d3d8d8cb73691f7eee -Author: Michael Meffie -Date: Thu Jan 21 17:55:37 2016 -0500 - - doc: afsd -settime and -nosettime are obsolete - - Update the afsd man page -settime and -nosettime options, which are obsolete - and no longer have any effect. Use the same wording as the other obsolete - options in the afsd man page. Keep the recommendations to use the time keeping - daemons provided by the operating system to maintain the system time. - - Change-Id: I08a1bd5ae0b2d6618b3e212ebcbb98f470e33820 - Reviewed-on: http://gerrit.openafs.org/12175 - Reviewed-by: Michael LaƟ - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit f3145b0de0e7718e0ad741ee826764e284fc8b3a -Author: Dave Botsch -Date: Wed Oct 28 11:53:26 2015 -0400 - - rxinit_status needs to be global for the kext since - RXK_UPCALL_ENV is defined in src/rx/DARWIN/rx_knet.c - - Change-Id: I23b535f0cd6b45c3e186319c4bacf5b6c5a93681 - Reviewed-on: http://gerrit.openafs.org/12073 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Tested-by: BuildBot - -commit bf3707ccbf98f44103171f4a5c6fb5bcd0744bfc -Author: Dave Botsch -Date: Wed Oct 28 11:28:01 2015 -0400 - - Initial set of changes for El Capitan OS X 10.11 . - - Mainly new El Capitan specific config files and defitions of - Darwin 15 variables and config tests/etc. - - Change-Id: I87b926109561f41ee95a2f3f94fbdbcf2903691a - Reviewed-on: http://gerrit.openafs.org/12072 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 767694d9ec86fc9451f5a4ba2ec7405c29986a21 -Author: Benjamin Kaduk -Date: Sun Nov 22 18:22:58 2015 -0600 +Date: Mon Apr 30 17:30:56 2018 -0500 - Fix optimized IRIX kernel module builds + LINUX: Return NULL for afs_linux_raw_open error - Commit 9f94892f8d996a522e7801ef6088a13769bee7c2 (from 2006) - introduced per-file CFLAGS, using $(CFLAGS-$@); this construct - is not parsed well by IRIX make, which ends up attempting to - expand '$@)' and finding mismatched parentheses. + Currently, afs_linux_raw_open (and by extension, LINUX's + implementation of osi_UFSOpen) panic when they are unable to open the + given cache file. To allow callers to handle the error more + gracefully, change afs_linux_raw_open and osi_UFSOpen to return NULL + on error, instead of panic'ing. Expand the language a little on the + message logged while we're here, since the system might keep running + after this situation now. - Commit 5987e2923a2670a27a801461dc9668ec88ed7d2a (from 2007) followed, - fixing the IRIX build but only for the NOOPT case. This left the - problematic expression in CFLAGS_OPT until 2013, when another RT - ticket was filed reporting the continued breakage. That ticket - was then ignored until 2015 (now) with no particular cries of - outrage on the mailing lists. Perhaps this gives some indication - of the size and/or mindset of the IRIX userbase. (There have - been successful IRIX installations during this time period, so - presumably it was discovered that disabling optimizations helped - the build along.) - - FIXES 131621 - - Change-Id: Id5298103221b016239723aa08ebe0dc54bdadc5e - Reviewed-on: http://gerrit.openafs.org/12111 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit baa037a14f167b87a83762904eb52efc96baf3f9 -Author: Chas Williams <3chas3@gmail.com> -Date: Thu Dec 24 17:58:32 2015 -0500 - - LINUX: don't cache negative entries for dynroot - - The dynroot volume lacks any callbacks that would invalidate the directory - or change the data version. Further, the data version for the dynroot - is only updated for when a new cell is found or added (a positive lookup). - - Change-Id: If0b022933de7335d3d94aafc77c50b85b99f4116 - Reviewed-on: http://gerrit.openafs.org/12140 - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 6db49a841784459cf583e914b3f2433ce1e70f4c -Author: Benjamin Kaduk -Date: Sat Dec 19 01:08:06 2015 -0600 - - Typo fix in comment - - afsd -shutdown takes only a single dash, as with all cmd-style - options. - - Improve the grammar a bit while we're here. - - Change-Id: Ie96c80dba1770e735617e5c93fe3d4c1e3afd3a9 - Reviewed-on: http://gerrit.openafs.org/12133 - Reviewed-by: Michael Meffie - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 70fd9bc6dcc79cb25e98cdcfd0f085c4bf4f310a -Author: Marcio Barbosa -Date: Tue Dec 29 10:31:43 2015 -0300 - - afs: do not allow two shutdown sequences in parallel - - Often, ā€˜afsd -shutdownā€™ is called right after ā€˜umountā€™. - Both commands hold the glock before calling ā€˜afs_shutdownā€™. - However, one of the functions called by 'afs_shutdown', namely, - ā€˜afs_FlushVCBsā€™, might drop the glock when the global - 'afs_shuttingdown' is still equal to 0. As a result, a scenario - with two shutdown sequences proceeding in parallel is possible. - - To fix the problem, the global ā€˜afs_shuttingdownā€™ is used as an - enumerated type to make sure that the second thread will not run - ā€˜afs_shutdownā€™ while the first one is stuck inside ā€˜afs_FlushVCBsā€™. - - Change-Id: Iffa89d82278b0df5fb90fc35608af66d8e8db29e - Reviewed-on: http://gerrit.openafs.org/12016 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit a4c4b786059ac7d5f9ecc5ec07727f000b62c13f -Author: Brian Torbich -Date: Thu Jan 21 10:08:27 2016 -0500 - - redhat: Correct permissions on systemd unit files - - Change the systemd unit file permissions created via - openafs.spec to be 0644 instead of 0755. Having the - systemd unit files be executable will trigger a systemd - warning. - - FIXES 132662 - - Change-Id: I9f5111c855941528193aaabeb42bf1b732246a7e - Reviewed-on: http://gerrit.openafs.org/12174 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit 9ee5fa152b7b7de6a6ddc6ed87bbf9f76da6e3e4 -Author: Stephan Wiesand -Date: Mon Jun 22 10:44:11 2015 +0200 - - redhat: Avoid bogus dependencies when building the srpm - - By default the spec defines that both userland and kernel module - packages should be built. This results in a dependency of the form - "kernel-devel-`uname -m` = `uname -r`" being added to the source - package created by makesrpm.pl, which is bogus because the uname - values are from the system on which the srpm is built and needn't - apply to the system where it is used. While rpm and rpmbuild ignore - such dependencies of source packages, other tools don't and may fail. - - Some versions of rpmbuild will also enforce those requirements when - building the srpm itself, which is pointless too. - - Avoid both problems by pretending not to attempt building modules - and ignoring any dependencies when makesrpm.pl invokes rpmbuild -bs. - - Change-Id: I0134e1936638c7d9c3fd9ff0ccf1cba36710d0d3 - Reviewed-on: http://gerrit.openafs.org/11903 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Tested-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit db4343b870232417079ab6628381e356964497fa -Author: Benjamin Kaduk -Date: Mon Dec 28 18:30:30 2015 -0600 - - Tweak grammar in README - - So as to get a trivial change as confirmation that an updated - gerrit is functioning correctly. - - Change-Id: I04eb12cab982a3f1b5ecc92d60c455e7a0d2242c - Reviewed-on: http://gerrit.openafs.org/12156 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 318692134d16caeab7176219f56aee98dfaa439b -Author: Benjamin Kaduk -Date: Mon Dec 28 16:11:17 2015 -0600 - - Remove blank line from README - - There's no reason for this file to start with a blank line. - - Change-Id: I175390d3c9796fc10ef8086a5b179f4fc27362b5 - Reviewed-on: http://gerrit.openafs.org/12153 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit f7c6915358f30d25287cf28092625c75e5d5c7b7 -Author: Benjamin Kaduk -Date: Wed Feb 4 10:11:29 2015 -0500 - - Update extra-iput configure argument description - - Commit 15260c7fdc5ac8fe9fb1797c8e383c665e9e0ccd did not function - as advertised, since the conditional which attempted to make - the configure option --(en|dis)able-linux-d_splice_alias-extra-iput - mandatory on linux checked a variable for the system type which - was not set at the time the check ran. - - Subsequent discussion of this behavior produced a consensus that - there is not a need to make the configure option mandatory, - due to the narrow range of kernels affected by the bug in question, - so this follow-up commit just fixes the documentation and removes - the ineffective code. - - Change-Id: I36d1f8801d355f33c3132fcab166ea76faab8e87 - Reviewed-on: http://gerrit.openafs.org/11710 - Reviewed-by: Anders Kaseorg - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 5fd9aed2ba6f43eeb157560724f56cd742fd3c62 -Author: Simon Wilkinson -Date: Mon Mar 4 16:15:37 2013 +0000 - - compile_et: Don't overflow input file buffer - - Don't overlow the buffer that's used for the input filename by - copying in to much with sprintf. Use asprintf to dynamically - allocate a buffer instead. - - Link roken for rk_asprintf where needed. - - Build compile_et with libtool, to ensure that it is linked statically, - as is needed for build tools such as compile_et. (This requires - a preceding change to set a buildtool_roken make variable.) - - Caught by coverity (#985907) - - Change-Id: I207dd2c49bcae3f04fa41c826b08a0a615d5f422 - Reviewed-on: http://gerrit.openafs.org/9545 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 87ce2a6f05e313dad43311fba93224f33b86f54f -Author: Benjamin Kaduk -Date: Wed Feb 25 18:46:28 2015 -0500 - - Provide a buildtool_roken make variable - - When using roken in build tools, i.e., binaries which must be - executed during the build stage, the roken library must be usable - prior to the 'install' stage. In particular, if the internal - rokenafs is used, the shared library will not be installed and - the runtime linker will not be able to find it, causing execution - of the build tool to fail. To avoid this failure, librokenafs - must be linked statically into these build tools. - - Unfortunately, the way we currently use libtool is not very - well aligned to libtools model of how it should be used. As a result, - it does not seem feasible to cause libtool to link librokenafs - statically without breaking other parts of the build. - - Libtool peeks at the compiler command-line arguments to affect its - behavior when invoked as a linker. The flags -static, -all-static, - and -static-libtool-libs can affect whether dynamic or static linkage - is used for various libraries being linked into the executable. - Passing -all-static tells libtool to not do any dynamic linking at - all, but is silently a no-op if static linking is not possible (the - default situation on most modern Linuxen, OS X, and Solaris). - Passing -static causes libtool to not do any dynamic linking of - libtool libraries which have not been installed, and passing - -static-libtool-libs causes libtool to not do any dynamic linking - of libtool libraries at all. - - In order to get libtool to actually link statically in all cases, - we should pass -all-static, not just -static. However, because - too many platforms disallow static linking by default, this is - not a viable option. - - If we retain the libtool archive librokenafs.la in the linker search - path, libtool then records the library dependency of libafshcrypto on - librokenafs in its metadata and refuses to install libafshcrypto.la to - any path other than the configured prefix. This restriction of - libtool is incompatible with our use in 'make dest', and it is not - feasible to desupport 'make dest' before the 1.8 release. - - The most appropriate workaround seems to be to just pass the - path to librokenafs.a on the linker command line when linking - build tools. As such, provide a new make variable buildtool_roken - which is appropriate for linking roken into build tools -- this - variable will be set to the path to librokenafs.a when the internal - roken is used, and the normal -lrokenafs when an external roken - is used. - - Change-Id: I079fc6de5d0aa6403eb1071f3d58a248b1777853 - Reviewed-on: http://gerrit.openafs.org/11763 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - -commit 93f7041a08526b1c3ac37197cd7bee40c7430010 -Author: Anders Kaseorg -Date: Fri Jul 31 01:42:55 2015 -0400 - - rxkad: Resolve warnings in ticket5.c - - Resolves these warnings: - - ticket5.c: In function ā€˜tkt_MakeTicket5ā€™: - ticket5.c:574:33: warning: pointer targets in passing argument 1 of ā€˜_rxkad_v5_encode_EncTicketPartā€™ differ in signedness [-Wpointer-sign] - code = encode_EncTicketPart(encodebuf, allocsiz, &data, &encodelen); - ^ - In file included from ticket5.c:80:0: - v5gen-rewrite.h:43:30: note: expected ā€˜unsigned char *ā€™ but argument is of type ā€˜char *ā€™ - #define encode_EncTicketPart _rxkad_v5_encode_EncTicketPart - ^ - v5gen.c:1889:1: note: in expansion of macro ā€˜encode_EncTicketPartā€™ - encode_EncTicketPart(unsigned char *p, size_t len, const EncTicketPart * data, size_t * size) - ^ - ticket5.c:602:33: warning: pointer targets in passing argument 1 of ā€˜_rxkad_v5_encode_EncryptedDataā€™ differ in signedness [-Wpointer-sign] - code = encode_EncryptedData(ticket + *ticketLen - 1, *ticketLen, &encdata, &tl); - ^ - In file included from ticket5.c:80:0: - v5gen-rewrite.h:16:30: note: expected ā€˜unsigned char *ā€™ but argument is of type ā€˜char *ā€™ - #define encode_EncryptedData _rxkad_v5_encode_EncryptedData - ^ - v5gen.c:690:1: note: in expansion of macro ā€˜encode_EncryptedDataā€™ - encode_EncryptedData(unsigned char *p, size_t len, const EncryptedData * data, size_t * size) - ^ - ticket5.c: In function ā€˜tkt_DecodeTicket5ā€™: - ticket5.c:320:10: warning: ā€˜plainsizā€™ may be used uninitialized in this function [-Wmaybe-uninitialized] - code = decode_EncTicketPart((unsigned char *)plain, plainsiz, &decr_part, &siz); - ^ - - Change-Id: Ic1b878f01cf82222dc258847747ce192ee5948fc - Reviewed-on: http://gerrit.openafs.org/11955 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit c0d771672f8bad23fa6816d383f5ad81137f6e57 -Author: Benjamin Kaduk -Date: Mon Mar 2 20:19:07 2015 -0500 - - Add filepath entries for rxkad.keytab - - Even though master is not using it, we still want to be able to - find it. - - Change-Id: I31fa39fe4d4bed5144c5169236b1106bd9f18501 - Reviewed-on: http://gerrit.openafs.org/11784 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a14dec2bff2423c4fbb9db672ef91659bcdfb4ba -Author: Benjamin Kaduk -Date: Mon Mar 2 16:05:51 2015 -0500 - - Make typedKey helpers more friendly to use - - Make freeing a NULL key pointer a no-op. - - Allow passing NULL to afsconf_typedKey_values() when not all - values are needed. - - Change-Id: I3a4088747913e9e88be094da891cd2cca0cbb114 - Reviewed-on: http://gerrit.openafs.org/11783 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 6e4f8e55282963a5b2e28c4d90f7a32f5ceb37b0 -Author: Marcio Barbosa -Date: Thu Dec 24 17:23:23 2015 -0300 - - viced: do not overwrite possible failure - - The function ā€˜hpr_Initializeā€™ overwrites the code - returned by ā€˜ubik_ClientInitā€™. As a result, ā€˜hpr_Initializeā€™ - will not report any failure triggered by ā€˜ubik_ClientInitā€™. - - To fix this problem, store the code returned by ā€˜rxs_Releaseā€™ - in a new variable. Only return this code if the function - ā€˜ubik_ClientInitā€™ worked properly. Otherwise, return the code - provided by ā€˜ubik_ClientInitā€™. - - Change-Id: I1820e3cbc2131daace01cec0464e56fd2982a783 - Reviewed-on: http://gerrit.openafs.org/12137 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit b8757341fb9592519032ef64030d0e98195d8d3d -Author: Mark Vitale -Date: Mon Nov 23 21:03:57 2015 -0500 - - afs: incorrect types for AFSDB IPv4 addresses - - DNS lookup results were being handled with int types. - - Fortunately, this seems to be harmless, due to use of - memcpy when the types don't match, and assignment only - when both sides were int. - - However, to avoid any future unpleasantness, change - them to afs_uint32. - - No functional change should be incurred. - - Change-Id: I31aeabb4ae3194a00b29a1fa767d05af167b4e4f - Reviewed-on: http://gerrit.openafs.org/12117 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - -commit 17ca935bbd18dd96b8252e22229c9470850fb20f -Author: Mark Vitale -Date: Fri Aug 7 11:56:16 2015 -0400 - - afs: pioctl kernel memory overrun - - CVE-2015-8312: - Any pioctl with an input buffer size (ViceIoctl->in_size) - exactly equal to AFS_LRALLOCSIZE (4096 bytes) will cause - a one-byte overwrite of its kernel memory working buffer. - This may crash the operating system or cause other - undefined behavior. - - The attacking pioctl must be a valid AFS pioctl code. - However, it need not specify valid arguments (in the ViceIoctl), - since only rudimentary checking is done in afs_HandlePioctl. - Most argument validation occurs later in the individual - pioctl handlers. - - Nor does the issuer need to be authenticated or authorized - in any way, since authorization checks also occur much later, - in the individual pioctl handlers. An unauthorized user - may therefore trigger the overrun by either crafting his - own malicious pioctl, or by issuing a privileged - command, e.g. 'fs newalias', with appropriately sized but - otherwise arbitrary arguments. In the latter case, the - attacker will see the expected error message: - "fs: You do not have the required rights to do this operation" - but in either case the damage has been done. - - Pioctls are not logged or audited in any way (except those - that cause loggable or auditable events as side effects). - - root cause: - afs_HandlePioctli() calls afs_pd_alloc() to allocate two - two afs_pdata structs, one for input and one for output. - The memory for these buffers is based on the requested - size, plus at least one extra byte for the null terminator - to be set later: - requested size allocated - ================= ================================= - > AFS_LRALLOCSIZ osi_Alloc(size+1) - <= AFS_LRALLOCSIZ afs_AllocLargeSize(AFS_LRALLOCSIZ) - - afs_HandlePioctl then adds a null terminator to each buffer, - one byte past the requested size. This is safe in all cases - except one: if the requested in_size was _exactly_ - AFS_LRALLOCSIZ (4096 bytes), this null is one byte beyond - the allocated storage, zeroing a byte of kernel memory. - - Commit 6260cbecd0795c4795341bdcf98671de6b9a43fb introduced - the null terminators and they were correct at that time. - But the commit message warns: - "note that this works because PIGGYSIZE is always less than - AFS_LRALLOCSIZ" - - Commit f8ed1111d76bbf36a466036ff74b44e1425be8bd introduced - the bug by increasing the maximum size of the buffers but - failing to account correctly for the null terminator in - the case of input buffer size == AFS_LRALLOCSIZ. - - Commit 592a99d6e693bc640e2bdfc2e7e5243fcedc8f93 (master - version of one of the fixes in the recent 1.6.13 security - release) is the fix that drew my attention to this new - bug. Ironically, 592a99 (combined with this commit), will - make it possible to eliminate the "offending" null termination - line altogether since it will now be performed automatically by - afs_pd_alloc(). - - [kaduk@mit.edu: adjust commit message for CVE number assignment, - reduce unneeded churn in the diff.] - - Change-Id: I1a536b3a53ec4b6721fbd39a915207da4358720c - -commit 634ca4fdc206884afe0826bc682aa7d5208cdc8b -Author: Michael Meffie -Date: Thu Apr 16 20:03:21 2015 -0400 - - viced: add missing new lines to log messages - - The server logger requires an explicit new line. - - Change-Id: Iffbfcfee7499bfa745a63d1b5ccb8038ee06acd0 - Reviewed-on: http://gerrit.openafs.org/11841 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 0bf9fba458b39035a09f45c1b63f1e65672d4c00 -Author: Michael Meffie -Date: Fri Jan 30 12:12:03 2015 -0500 - - volser: range check acl header fields during dumps and restores - - Perform range checks on the acl header fields when reading an - acl from a dump stream and when writing an acl to a dump - stream. - - Before this change, a bogus value in the total, positive, or - negative acl fields from a dump stream could cause an out of - bounds access of the acl entries table, crashing the volume - server. - - Change-Id: Ic7d7f615a37491835af8d92f3c5f1b6a667d9d01 - Reviewed-on: http://gerrit.openafs.org/11702 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 888fc16db5f0063464bf219a6cf6fee0faea4705 -Author: Benjamin Kaduk -Date: Sun Nov 22 13:24:43 2015 -0600 - - volser: set error, not code, before rfail - - The rfail cleanup handler overwrites 'code' ~unconditionally, but - does use an existing 'error' value if present. Since the intent - is to return failure to the caller, preserve the code in the error - variable and do so. - - FIXES 131897 - - Change-Id: I25db2f9ad75a5b856626d39d35f97a09f26bd7a9 - Reviewed-on: http://gerrit.openafs.org/12108 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 2f3b27ac47e26e57796b66b670f378222ef45009 -Author: Michael Meffie -Date: Wed Sep 9 21:24:04 2015 -0400 - - util: add CloseLog routine to close the server log - - Add the missing complement to OpenLog(). - - Change-Id: I45e7e5d2da3241c163d2d4baa6b386167e90e582 - Reviewed-on: http://gerrit.openafs.org/12002 - Reviewed-by: Marcio Brito Barbosa - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit d646387c8e52eb13fc36e95f5cfe21360d3e056e -Author: Michael Meffie -Date: Wed Sep 9 13:22:26 2015 -0400 - - salvager: redd up showlog global flag - - Clean up the show log flag so it is only set by the salvager and - is reset when spawning a child process. - - Change-Id: I1702cf98faca583409594d1199a8215ffe08a75e - Reviewed-on: http://gerrit.openafs.org/12001 - Reviewed-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 4ed8f850b4bcef4db9c0bba0ebffdf3d410190b7 -Author: Michael Meffie -Date: Mon Feb 9 10:14:41 2015 -0500 - - dafs: log to stderr when running salvageserver in client mode - - When the -client option is given to the salvageserver, print - Log() messages to stderr instead of losing them. - - Change-Id: I065e8136db9a8cc241639fbe34607db884751b95 - Reviewed-on: http://gerrit.openafs.org/11729 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit dc134f3eff66c7cc5f3dcc1f2d92536ffdbc771e -Author: Michael Meffie -Date: Mon Mar 30 13:20:42 2015 -0400 - - dafs: remove the salvageserver -showlog option - - Remove the salvagerserver option to print log messages to stdout. This - was a carry over from the stand-alone salvager and is not appropriate for - a daemon. - - Change-Id: I55b99112278cdabb3e9911948dbda6a628030951 - Reviewed-on: http://gerrit.openafs.org/11815 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit b800f7d9bd5ea390ab330c1c0c38ac8277eb9998 -Author: Brandon S Allbery -Date: Tue Nov 24 16:39:02 2015 -0500 - - gtx: use getmaxyx() with sensible fallbacks - - configure now checks for the standard getmaxyx() macro; failing that, - it looks for the older but pre-standardization getmaxx() and getmaxy(), - then falls back to the 4.2BSD curses _maxx and _maxy fields; if all - else fails, gtx building is disabled. - - gtx now defines getmaxyx() itself if necessary, based on the above. - - This also fixes a bug in gtx with all ncurses versions > 1.8.0 on - platforms other than NetBSD and OS X: gtx was using the _maxx and - _maxy fields, which starting with ncurses 1.8.1 were off by 1 from - the expected values. As such, behavior of scout and/or afsmonitor - may change on most ncurses-using platforms. - - Change-Id: I49778e87adacef2598f0965e09538dfc3d840dcc - Reviewed-on: http://gerrit.openafs.org/12107 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - -commit 359e1f2a25d242984229edfb378c0b95c3ee8570 -Author: Chas Williams <3chas3@gmail.com> -Date: Wed Dec 2 10:38:42 2015 -0500 - - Open syscall emulation file O_RDONLY - - As reported on the -info mailing list, docker is now exporting the - /proc filesystem as read only. ioctl() doesn't need write permissions - to do its work, so change O_RDWR to O_RDONLY. - - Change-Id: I2068888b13b6b5e31b1a2205bbcbe43f5f9fc55a - Reviewed-on: http://gerrit.openafs.org/12122 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Benjamin Kaduk - -commit a86b0b4902e8308de4ec3346006af0cbe03a1ef1 -Author: Michael Meffie -Date: Mon Mar 30 13:17:25 2015 -0400 - - dafs: remove the salvageserver -datelogs option - - Remove the undocumented -datelogs option from the salavageserver, which - was a carry over from the standalone salvager program, but is not - appropriate for a daemon. - - Change-Id: Ia382d6550e0641edcba55a414e00323755487e18 - Reviewed-on: http://gerrit.openafs.org/11814 - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit fb91be7759605bb4ea5b4dd3ce089df1141c431a -Author: Michael Meffie -Date: Tue Mar 31 11:08:34 2015 -0400 - - doc: remove unimplemented -showsuid and -showmounts from the salvageserver man page - - These options were copied from the salvager man page and are not implemented by - the salvageserver. - - Change-Id: Ib6c5b3fd494f1662b958442863e5fbfc0755a0c2 - Reviewed-on: http://gerrit.openafs.org/11817 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit fee3e66161a06fd96a912a618482040b32d78f69 -Author: Benjamin Kaduk -Date: Sun Nov 22 16:34:16 2015 -0600 - - Fix ptserver -default_access parsing - - Commit 0b9986c8758c13a1de66b8bdae51b11abaea6cf3 converted ptserver - to use libcmd for parsing, but erroneously listed the - -default_access argument as CMD_SINGLE instead of CMD_LIST, since - two arguments are needed. This made it impossible to use - -default_access at all, since libcmd would reject an extra argument - and the later argument processing would notice that the second - argument was missing. - - FIXES 131731 - - Change-Id: Ib8241308d4f40f980d635513e2255aafa06c3d8a - Reviewed-on: http://gerrit.openafs.org/12110 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e4bae29efc3d370d1eaf6d954c63c324094c48e5 -Author: Michael Meffie -Date: Tue Mar 31 11:04:26 2015 -0400 - - doc: add syslog options to salvageserver man page - - Add the missing -syslog and -syslogfacility options to - the salvageserver man page. - - Change-Id: I1cb057a8085c4aeda32bb003cc4cec5035d00407 - Reviewed-on: http://gerrit.openafs.org/11816 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5a0e69726d4a8cedb29e074d398f0ff29984524e -Author: Christof Hanke -Date: Wed Nov 18 14:02:50 2015 +0100 - - tabular_output: allocate footer-line when set for the first time - - If the footer line is not allocated, programs segfault at runtime. - The printFooter functions should check if the footer - is allocated before printing them. - - Change-Id: Ib4066a67ee104be918811e178c0b7d7d33d790b8 - Reviewed-on: http://gerrit.openafs.org/11753 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 670381aa5d3a7bc91ad74c7499605cca2c33d612 -Author: Mark Vitale -Date: Wed Nov 18 15:09:37 2015 -0500 - - vlserver: VL_GetEntryByName* requests undercounted - - Commit a14e791541bf19c6c377e68bc2f978fba34f94b1 - refactored and corrected the counting of requests and aborts. - However, it inadvertently introduced a new undercount for - VL_GetEntryByName* requests, counting them only if - NameIsId(volname), e.g. volname="536870911". - - Ensure that the normal case of a non-"numeric" volname is - also counted. - - Discovered during review of pullup to 1.6.x. - - Change-Id: Ic5dbc1a5871d0e0ff184dc4f3b11e92166c92f65 - Reviewed-on: http://gerrit.openafs.org/12106 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit f6247f90c9644d7a396531c219c585f705e0c251 -Author: Stephan Wiesand -Date: Tue Nov 17 15:03:03 2015 +0100 - - writeconfig: emit error messages again in VerifyEntries - - Before commit e4a8a7a38dbf29e89bc1a7b6b017447a6aa0c764 an error message - was printed if looking up a server hostname failed. Restore this, and - also print a message in the now detected case that the lookup returns - loopback addresses only. - - Change-Id: Idf7c3133ab5c83e081335ba1dc8fcbddb7da7329 - Reviewed-on: http://gerrit.openafs.org/12097 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit 33020f573bb52c00e1a2f2f0da8062e17b6d1278 -Author: Benjamin Kaduk -Date: Thu Aug 27 20:20:58 2015 -0500 - - CODING: permit --enable-checking with clang - - Starting at 3.2, a mostly arbitrarily selected version. - - Change-Id: I9f6a946e2571b939911cbf4b1b64e1d62e39e1a3 - Reviewed-on: http://gerrit.openafs.org/11991 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ef435746d04845753477af8b7d920d66e9dce54f -Author: Michael Meffie -Date: Mon Feb 9 09:37:54 2015 -0500 - - doc: fix the salvageserver log file name - - Fix capitialization of the salvageserver log file name. - - Change-Id: If08dd191e35e7fb15db533a623b832154a6f9f17 - Reviewed-on: http://gerrit.openafs.org/11728 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit 11468ae0e12a627a8802711e8562948828834f06 -Author: Michael Meffie -Date: Wed Jan 21 14:42:47 2015 -0500 - - bozo: create a syslog connection only if the -syslog option is given - - Fix a minor bug in which an unnecessary syslog connection is opened when - the BosLog is not present (typically, the first time the bosserver is - started) or when the BosLog is a named pipe, even if the -syslog option - was not given. - - This bug was introduced in commit bdc7e43117706d0aa46d3b6435489e9d4c2b0888, - which added checks to avoid renaming logs when they are named pipes. - - lstat() and S_ISFIFO are provided by libroken, so do not need to be hidden - behind conditional compilation. - - Change-Id: I828534be69949fe017cc7dbed1b6798aa4c0ba17 - Reviewed-on: http://gerrit.openafs.org/11686 - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 15e8678661ec49f5eac3954defad84c06b3e0164 -Author: Michael Meffie -Date: Tue Feb 17 21:54:46 2015 -0500 - - prdb_check: fix out of bounds array access in continuation entries - - A continuation entry (struct contentry) contains 39 id elements, however - a regular entry (struct prentry) contains only 10 id elements. - Attempting to access more than 10 elements of a regular entry is - undefined behavior. - - Use a stuct contentry when when processing continuation entries in - prdb_check. This is done to safely traverse the id arrays of the - continuation entries. Use the new pr_PrintContEntry to print - continuation entries. - - The undefined behavior manfests as a segmentation violation in - WalkNextChain() when built with GCC 4.8 with optimization enabled. - - Change-Id: I7613345ee6b7b232c5a0645f4f302c3eac0cdc15 - Reviewed-on: http://gerrit.openafs.org/11742 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3e9e244d1004972f202490faa0375768959f7690 -Author: Michael Meffie -Date: Tue Feb 17 20:58:27 2015 -0500 - - prdb_check: check for continuation entries in owner chains - - Continuation entries may not be in owner chains. Fix the - comments in WalkOwnerChain (which were probably copied from - WalkNextChain) and add a check and error message for - continuation entries found on owner chains. - - Change-Id: I8c49378478cf6a3d31317ff90a52fe1e74517dd3 - Reviewed-on: http://gerrit.openafs.org/11751 - Reviewed-by: Daria Phoebe Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 121ac2d939e19741986ddfbd387b5310c40edd0d -Author: Michael Meffie -Date: Tue Feb 17 21:11:50 2015 -0500 - - libprot: add pr_PrintContEntry function - - A continuation entry (struct contentry) contains 39 id elements, however - a regular entry (struct prentry) contains only 10 id elements. Attempting - to access more than 10 elements of a regular entry is undefined - behavior. - - Add a new function to safely print continuation entries and change - pr_PrintEntry to avoid accessing the entries array out of bounds. - - The pr_PrintEntry function is at this time only used by the prdb_check - and ptclient debugging utilities. - - Change-Id: Ie836983c8a5970a9495b87d0627ba6c05d117a9b - Reviewed-on: http://gerrit.openafs.org/11750 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ed52ea68c661a7428baeddeca2d95972fe3fe618 -Author: Michael Meffie -Date: Wed May 21 17:27:47 2014 -0400 - - doc: document the version subcommand - - Document the built-in version sub-command which displays - the OpenAFS version string. This sub-command is provided - by the cmd library. - - Document the switch style -version option provided by the cmd - library for the initcmd based commands: afsmonitor, scout, - xstat_fs_test, and xstat_cm_test. - - Change-Id: Id421d2c68a5c49a2b1a5abb2f3e9ca64ea36cd3e - Reviewed-on: http://gerrit.openafs.org/11161 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit eca86749d8f158d27d131ecaafe6be282703535e -Author: Michael Meffie -Date: Mon Oct 12 22:16:54 2015 -0400 - - afs: fix for return an error from afs_readdir when out of buffers - - Commit 9b0d5f274fe79ccc5dd0e4bba86b3f52b27d3586 added a return code to - BlobScan to allow afs_readdir to return an error when afs_newslot failed - to allocate a buffer. Unfortunately, that change introduced a false - EIO error. - - Originally, BlobScan would return a blob number of 0 to indicate the end - of the file has been reached while traversing the directory blobs. - Restore that behavior by changing the cache manager's DRead function to - return ENOENT instead of the generic EIO error to indicate the page to - be read is out of bounds, and change BlobScan to return a blob of zero - to indicate to callers the last blob has been reached. All callers - already check for a blob number of zero, which is out of range. - - Change-Id: I5baae8e5377dd49dcca6765b7a4ddc89cca70738 - Reviewed-on: http://gerrit.openafs.org/12058 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale - Reviewed-by: Benjamin Kaduk - -commit 69d11fd5ee556bb375967d7c41dab39b9c1befbe -Author: Michael Meffie -Date: Fri Nov 6 11:56:31 2015 -0500 - - vos: reinstate the -localauth option for vos setaddrs - - Commit d1d411576cf39c4bc55918df0eb64327718d566c added the vos remaddrs - subcommand, but unfortunately stole the common parameters from - setaddrs. Fix this bug and remove the extra blank line between - the subcommand syntax and the common params macro. - - Change-Id: I1171bfadec08ac34679204f0a9245d76c468cafa - Reviewed-on: http://gerrit.openafs.org/12093 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1c6db90677a8c0d185a408a3b7fa18cf0f47df0a -Author: Tim Creech -Date: Mon Nov 2 08:12:32 2015 -0500 - - Make libuafs safe for parallel make - - In src/libuafs, "make" with a large number of jobs (e.g., "make -j16") - can fail because some of the LT_objs depend on make_h_tree having been - called already. - - Make "h" (the libuafs header subdirectory) a dependency of all of - LT_objs. - - Change-Id: Ie005dbb1f1b0a794c703147062615808a45956dc - Reviewed-on: http://gerrit.openafs.org/12079 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5f70b79817f98b5f482414a4ec849bd4bd15a5d6 -Author: Jeffrey Altman -Date: Thu Oct 8 22:22:12 2015 -0400 - - rx: OPENAFS-SA-2015-007 "Tattletale" - - CVE-2015-7762: - - The CMU/Transarc/IBM definition of rx_AckDataSize(nAcks) was mistakenly - computed from sizeof(struct rx_ackPacket) and inadvertently added three - octets to the computed ack data size due to C language alignment rules. - When constructing ack packets these three octets are not assigned a - value before writing them to the network. - - Beginning with AFS 3.3, IBM extended the ACK packet with the "maxMTU" ack - trailer value which was appended to the packet according to the - rx_AckDataSize() computation. As a result the three unassigned octets - were unintentionally cemented into the ACK packet format. - - In OpenAFS commit 4916d4b4221213bb6950e76dbe464a09d7a51cc3 Nickolai - Zeldovich noticed that the size produced by the - rx_AckDataSize(nAcks) macro was dependent upon the compiler and processor - architecture. The rx_AckDataSize() macro was altered to explicitly - expose the three octets that are included in the computation. - Unfortunately, the failure to initialize the three octets went unnoticed. - - The Rx implementation maintains a pool of packet buffers that are reused - during the lifetime of the process. When an ACK packet is constructed - three octets from a previously received or transmitted packets will be - leaked onto the network. These octets can include data from a - received packet that was encrypted on the wire and then decrypted. - - If the received encrypted packet is a duplicate or if it is outside the - valid window, the decrypted packet will be used immediately to construct - an ACK packet. - - CVE-2015-7763: - - In OpenAFS commit c7f9307c35c0c89f7ec8ada315c81ebc47517f86 the ACK packet - was further extended in an attempt to detect the path MTU between two - peers. When the ACK reason is RX_ACK_PING a variable number of octets is - appended to the ACK following the ACK trailers. - - The implementation failed to initialize all of the padding region. - A variable amount of data from previous packets can be leaked onto the - network. The padding region can include data from a received packet - that was encrypted on the wire and then decrypted. - - OpenAFS 1.5.75 through 1.5.78 and all 1.6.x releases (including release - candidates) are vulnerable. - - Credits: - - Thanks to John Stumpo for identifying both vulnerabilities. - - Thanks to Simon Wilkinson for patch development. - - Thanks to Ben Kaduk for managing the security release cycle. - - Change-Id: I29e47610e497c0ea94033450f434da11c367027c - -commit c372bc92a3f78ac00aa69b2fb7a2050993b4fed8 -Author: Jeffrey Altman -Date: Mon Oct 12 09:56:07 2015 -0400 - - Windows: CM_ERROR_INEXACT_MATCH is not a fatal error - - cm_BPlusDirLookup() and cm_Lookup() can return CM_ERROR_INEXACT_MATCH - which is not a fatal error. Instead it is an indication that the returned - cm_scache object was not a case sensitive match. Do not fail the request - and do not leak the cm_scache reference. - - Change-Id: Ieef3ce1ac96a8794859b5b9c530545d4fdd26bd5 - Reviewed-on: http://gerrit.openafs.org/12057 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7e3289891d9032288f32b550ba6376f59f7e9a08 -Author: Jeffrey Altman -Date: Wed Jul 8 19:47:26 2015 -0400 - - Windows: cm_Lookup return ambiguous filename to caller - - cm_Lookup() must not mask a CM_ERROR_AMBIGUOUS_FILENAME error by - converting it to CM_ERROR_BPLUS_NOMATCH. Doing so results in the - redirector believing that the object does not exist instead of - there being a STATUS_OBJECT_NAME_COLLISION. - - Change-Id: Iaa84d50271c234a84e11dd58d78ef90f5d224032 - Reviewed-on: http://gerrit.openafs.org/11930 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dffaab441d09a3b955d358292c550116b76a6410 -Author: Jeffrey Altman -Date: Wed Jul 8 16:49:38 2015 -0400 - - Windows: fix RDR detection of ambiguous directory entries - - The redirector is supposed to reject access to file objects if there - is no case exact match and multiple entries match in a case insensitive - comparison. The check was only present in the AFSLocateNameEntry() - function and not elsewhere. - - Fix the AFSLocateNameEntry() call and addd the missing checks. - - Change-Id: I15aba954179fa85e28b348989779bc05122c0037 - Reviewed-on: http://gerrit.openafs.org/11929 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit be603388ef3ec8918dba47ede9dc3e4196492100 -Author: Jeffrey Altman -Date: Sun Oct 18 20:32:06 2015 -0400 - - Windows: rdr pioctl operations are opaque - - Although pioctl operations are delivered through the redirector the - contents of the operations are opaque to the redirector. Therefore, - the cm_req must not be initialized as a redirector operation. If they - are the necessary invalidation notifications for symlink and mount point - operations will not be delivered. - - Change-Id: I48c2d89d2b2e0fc3f0ef56e7731108a8c51e1674 - Reviewed-on: http://gerrit.openafs.org/12062 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8b530d52a5f482145c71682b407e9c8f258dac70 -Author: Jeffrey Altman -Date: Thu Oct 15 13:22:05 2015 -0400 - - Windows: clientServiceProviderKeyExists use subkey - - clientServiceProviderKeyExists() must use AFSREG_CLT_SVC_PROVIDER_SUBKEY - since it is a relative path from HKEY_LOCAL_MACHINE. - - Change-Id: I975d594bfe69c563f692978057c08b834d54b8b1 - Reviewed-on: http://gerrit.openafs.org/12059 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4f20b7305efcea9d930f64c348fc58555a736c6b -Author: Jeffrey Altman -Date: Fri Oct 9 10:20:41 2015 -0400 - - Windows: if no known IP addrs, query the addr list - - If cm_noIPAddrs == 0, then no servers will be probed. If - syscfg_GetIFInfo() fails then cm_noIPAddrs is set to 0. Therefore, - also set cm_LanAdapterChangeDetected to non-zero if syscfg_GetIFInfo() - fails so that the interface info can be queried again prior to a server - probe attempt. - - Change-Id: I6639441fa6266671cfb875256eb23c3b018e67c9 - Reviewed-on: http://gerrit.openafs.org/12055 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c615a712bf9eae3c88252c4a37bd91a0e9db89da -Author: Jeffrey Altman -Date: Wed Oct 7 18:09:50 2015 -0400 - - Windows: Only install Service NP if one exists - - Do not blindly install a network provider for the service since at - least one end user organization does not install the service's network - provider. - - Change-Id: I15a528ff34ffd3e060fdbd93545af3857592c835 - Reviewed-on: http://gerrit.openafs.org/12051 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cda7556b854a07220326a617a56edcf55769567a -Author: Jeffrey Altman -Date: Wed Oct 7 18:09:17 2015 -0400 - - Windows: InstNetProvider do not leak key handle - - If we open a handle, close it. - - Change-Id: I1a5b2308a91f3c66791e65f76ca17ae52d34789f - Reviewed-on: http://gerrit.openafs.org/12050 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3957abea2abcd791e97e66be3f3ef211672ce713 -Author: Jeffrey Altman -Date: Wed Sep 30 13:23:36 2015 -0400 - - Windows: multi ping do not leak ping count - - In cm_CheckServersMulti() if cm_ConnByServer() fails or if cm_noIPAddr is - zero then a cm_server.pingCount will be leaked. This can result in - servers being marked down and never restored to an up state. - - This change adds the necessary pingCount decrement and moves the - assignment of the cm_server_t pointer to serversp[] to make it clear - that the cm_server_t will not be in the array if a failure occurs. - Only objects in the array will have the pingCount decremented after - the RPCs are issued. - - Change-Id: I18895c848039e4131a674d814019f236a1b0e5b5 - Reviewed-on: http://gerrit.openafs.org/12048 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f8bf8221db919521ecabea20c4c8e496fb423ef4 -Author: Perry Ruiter -Date: Sun Sep 13 08:53:22 2015 -0700 - - SOLARIS: Minor whitespace corrections - - Fix some incorrectly indented code in osi_file.c - - Change-Id: I75a8ec18bfef13bb05a99f84b2cfbfae34fcd440 - Reviewed-on: http://gerrit.openafs.org/12017 - Tested-by: BuildBot - Reviewed-by: Marcio Brito Barbosa - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit c565450501e4bb43697fa957f55f8486f21071fa -Author: Michael Meffie -Date: Fri Jan 30 11:53:58 2015 -0500 - - volser: update log formatting in dump and restore - - Update the log messages to use modern formatting specifiers for - volume ids and inodes in the volume dump and restore code. - - Change-Id: Ic2844e389e5951d2f2bbbc31a86c2342f2e8d848 - Reviewed-on: http://gerrit.openafs.org/11701 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 518807cae868b6547685a3b5aaf41c6f012665ac -Author: Jeffrey Altman -Date: Fri Sep 25 18:12:24 2015 -0400 - - Windows: remove extraneous "pingCount" format param - - In 0a0927497c8165aec11e718df01632da75fa4cdc an extra "pingCount" - format parameter was added in cm_DumpServers(). Remove it. - - Change-Id: I79c2212c11319d7f94f963214d90b0530a978ab5 - Reviewed-on: http://gerrit.openafs.org/12046 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0a0927497c8165aec11e718df01632da75fa4cdc -Author: Jeffrey Altman -Date: Tue Jul 16 09:10:04 2013 -0400 - - Windows: Replace CM_SERVERFLAG_PINGING with pingCount - - Instead of replying upon a server flag use a pingCount interlocked - variable to track whether active ping operations are being performed - and whether or not to wait sleeping threads. - - Change-Id: Ie967beee0debdb9c0963ca40b12737bd3fa88548 - Reviewed-on: http://gerrit.openafs.org/12022 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e314167f11f289248704426fe65fea13a734a937 -Author: Jeffrey Altman -Date: Thu May 14 18:29:45 2015 -0400 - - Windows: cm_GetCell_Gen rework cell prefix matching - - The cm_GetCell_Gen() function permits cells to be searched for by - prefix. The idea is to permit "cs.cmu.edu" to be abbreviated "cs" - when at CMU. There are two problems with the current behavior: - - 1. the existing match rules will accept "cs.c" and "cs.cmu.ed" as - valid prefix matches. By not restricting the prefix matching - to full components the Freelance symlink list can become - cluttered. - - 2. the existing match rules will accept the first cell that - matches even if there are more than one cells that would match. - this can result in unpredictable behavior since the ordering - of the cells is not guaranteed. - - Instead, fail requests for cell prefixes that are not full component - matches or that would be ambiguous. - - Change-Id: I59fb5ea9bba4cebdd71808fc9fae9662456943e0 - Reviewed-on: http://gerrit.openafs.org/11886 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 946d2c1699be7ec8d31251d54d603d321b1f7936 -Author: Jeffrey Altman -Date: Mon May 4 13:25:04 2015 -0400 - - Windows: Network Provider registration at service start - - Windows 8, 8.1 and pre-releases of 10 have a horrible bug as part - of the upgrade process. All non-Microsoft network provider services - are removed from the NetworkProvider "Order" registry value. For - OpenAFS this has the side effect of breaking integrated logon and - all drive letter mappings to \\AFS. - - During service start add code to: - - 1. Add "AFSRedirector" before "LanmanWorkstation" if not present - 2. Add "TransarcAFSDaemon" to the end of the list if not present - - If the service is running in SMB mode - - 3. Remove "AFSRedirector" if present - - Change-Id: I14a703e44c6e0ee1bd36afd306f92a17dcc0d2a5 - Reviewed-on: http://gerrit.openafs.org/12024 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6baaa39333fba8afda84ccdb68ba106ce7ae3705 -Author: Jeffrey Altman -Date: Sun Jun 28 15:06:34 2015 -0400 - - Windows: cm_Analyze mark server down for misc rx errors - - In cm_Analyze() replace the token error retry logic for miscellaneous - rx errors and simply mark the server down. The most common error - that will be seen in this category is RX_INVALID_OPERATION which would - be received if the Rx service id or security class is not recognized - by the peer. This could happen if an AuriStor server is replaced by - an AFS3 server or if a packet is reflected. - - A side effect of this change is that V* and CM_ERROR_* errors will - once again be retried. This will permit proper failover to occur. - - Change-Id: I77e6325eb05643ea6df1fc0bc877bd4ef496c974 - Reviewed-on: http://gerrit.openafs.org/11920 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 653647e8617d4fc3e7721832ebdd1f1e9057e9ac -Author: Jeffrey Altman -Date: Sun Jun 28 14:56:47 2015 -0400 - - Windows: avoid vldb lookup race with network stack - - If a VLDB query attempt occurs when there is no current cell db server - list then the VLDB query won't actually occur but the last query time - would be set. This prevents a query from taking place again on the volume - for 60 seconds. If the volume in question is the root.cell volume then - the redirector will be forced to return device not ready for the share - (aka \\afs\cell). - - Check for a failure of cm_UpdateCell() and only set the last update time - for the volume if there was success or if the VLDB responded with volume - unknown. - - Change-Id: Ic87d871feac3f2ea3d3db377854efa9dc9db3c00 - Reviewed-on: http://gerrit.openafs.org/11919 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit af957c35e940aa80fda4dd42ebf92f7e7ed18f3b -Author: Jeffrey Altman -Date: Sun Jun 28 14:00:24 2015 -0400 - - Windows: cm_ApplyDir calls cm_SyncOpDone too soon - - cm_ApplyDir() failed to maintain the synchronization state while the - GetBuffer() operation proceeded. - - Change-Id: I616622e9aebbdb20a325826032991e5d5c5d9e24 - Reviewed-on: http://gerrit.openafs.org/11918 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1409bf8e007ac1060dfaf8ec09bdc27e95db3ba9 -Author: Jeffrey Altman -Date: Sun Jun 28 13:59:28 2015 -0400 - - Windows: cm_CheckNTDelete missing SyncDone call - - cm_CheckNTDelete() forgot to call cm_SyncDone() in one of the error - paths. Fixup the call pattern and do not forget to call cm_SyncDone(). - - Change-Id: I9274b65c5a5f22ca71e0b10f860d57d7e567a56c - Reviewed-on: http://gerrit.openafs.org/11917 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dfc8db6e3d21208c43f07bc90835cdd37f6f6812 -Author: Jeffrey Altman -Date: Sun Jun 28 13:51:40 2015 -0400 - - Windows: NPSupport Remote Name verification - - When adding a connection verify that the server name and the share name - are valid. If not return ERROR_BAD_NETWORK_NAME. - - When getting connection information, if a pre-existing connection does - not exist and either the server name or the share name do not verify - return ERROR_BAD_NETWORK_NAME and not ERROR_INVALID_PARAMETER. - - Change-Id: Ib40a6b56318793d1c1b351ba895736beb616585d - Reviewed-on: http://gerrit.openafs.org/11916 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2f072b2fe6e7d5927bd4e597614af7f62240ccb1 -Author: Jeffrey Altman -Date: Sun Jun 28 13:43:03 2015 -0400 - - Windows: NPGetResourceInformation return redir error - - When the redirector ioctl fails in NPGetResourceInformation() return the - actual error to the caller. Do not hide all errors as WN_BAD_NETNAME. - - Change-Id: Ie02ca5331aa34aef4476c99045048871c6c25de0 - Reviewed-on: http://gerrit.openafs.org/11915 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d977906371ef9cef4e62d9b86daf673b0d9b599b -Author: Jeffrey Altman -Date: Sun Jun 28 13:39:32 2015 -0400 - - Windows: NP RemoteName Length checks - - Ensure that RemoteName paths have at least two characters before - attempting to access character [1]. - - Change-Id: I75487056686dccf2bf57b22e7c99e9d8210eaaf3 - Reviewed-on: http://gerrit.openafs.org/11914 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 69bc77c538a181315f532ce4ee9e49698e589083 -Author: Jeffrey Altman -Date: Sun Jun 28 13:27:03 2015 -0400 - - Windows: AFSParseName() uniFullName.MaximumLength - - The uniFullName.MaximumLength in AFSParseName() is not properly - modified and can end up being extended beyond the actual memory - allocation due to a missing decrement. - - Change-Id: I070ee33acd32849d05bbc83c6e7cfaf55e6a0997 - Reviewed-on: http://gerrit.openafs.org/11913 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b170a840b5f702356c15bb59737e7ed106cdc88c -Author: Jeffrey Altman -Date: Sun Jun 28 13:24:13 2015 -0400 - - Windows: remove dead network provider code - - Remove all #if 0 code blocks. - - Change-Id: I981d7a178c0ae1be7b3ca9f546a7a1aab8f5a48c - Reviewed-on: http://gerrit.openafs.org/11912 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6405e0584a16711d09cf0e0c80b5916a050be7d2 -Author: Jeffrey Altman -Date: Sun Jun 28 13:21:35 2015 -0400 - - Windows: npdll do not retrieve auth id - - The authentication id for the process will always be obtained in kernel - so no longer try to fetch it in userland. - - Change-Id: I8d35af1349e137b8a3d7d8299b16e443710c6482 - Reviewed-on: http://gerrit.openafs.org/11911 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 967c5dbef3340ee0c870b1fb1f91c24fb6443358 -Author: Jeffrey Altman -Date: Sun Jun 28 13:18:01 2015 -0400 - - Windows: Always fetch auth id in kernel - - When processing network provider requests in afsredirlib.sys always - obtain the auth id using the SYSTEM worker thread. Do not trust - the values provided by userland. - - Change-Id: I9786b0c836cf967074035a7595c38c8700cb7589 - Reviewed-on: http://gerrit.openafs.org/11910 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d35164370a8e799ed35f7f23670ddee02dc87f50 -Author: Jeffrey Altman -Date: Sun Jun 28 13:12:13 2015 -0400 - - Windows: Move GetAuthenticationId to Worker Thread - - When PsReferenceImpersonationToken(), PsReferencePrimaryToken(), and - SeQueryInformationToken() are called in the kernel from a user process - thread the restrictions on the userland process still apply. Since we do - not want to be restricted we must obtain the token and query the token - information from a SYSTEM thread. - - This change restructures the AFSGetAuthenticationId() process to queue a - synchronous task to the worker thread. - - This should address the problem that has been seen during system boot when - the Group Policy Service attempts to query, remove or create a drive - letter mapping. - - Change-Id: Ib8772e185aa1e4e52979ec847bbc18a9878bcaca - Reviewed-on: http://gerrit.openafs.org/11909 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4233e4d661e3beb8e4ecb59e4a4c0ed3d9df69b7 -Author: Jeffrey Altman -Date: Tue Jun 9 08:55:44 2015 -0400 - - Windows: AFSRetrieveFileAttributes no parent path - - Modify AFSRetrieveFileAttributes() to handle the case of a ParentPathName - with a Length == 0. In such a case the introduction of a path separator - would result in the construction of an absolute path when a relative path - is required. - - Change-Id: I2e633b22992b0aee914927a451bb146fc57110e8 - Reviewed-on: http://gerrit.openafs.org/11889 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 456b68ccb6d8ad31b735d2c08d0313963ff66c22 -Author: Jeffrey Altman -Date: Tue Jun 9 08:44:43 2015 -0400 - - Windows: AFSRetrieveParentPath handle no parent - - AFSRetrieveParentPath() when presented with a relative path that has no - parent will walk off the front of the FullFileName buffer. Add checks to - ensure that Length never becomes less than zero. - - Change-Id: I7d619dc569d6c002b1d236a9340921414c51647f - Reviewed-on: http://gerrit.openafs.org/11888 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit af7f7da0aad29ff9bf5adad288b512d31954b36e -Author: Jeffrey Altman -Date: Tue May 12 23:15:50 2015 -0400 - - Windows: AFSGetConnectionInfo partial match validation - - AFSGetConnectionInfo() is called to respond to NPGetResourceInformation - and NPGetConnectionPerformance WNet API requests. The former permits - the requestor to provide a path containing components that are not - processed by the file system represented by the called network provider. - As such partial matches are permitted BUT they must consist of full - components. In other words, \\afs\sh is not a valid partial match for - \\afs\share but \\afs\share is a valid partial match for \\afs\share\dir. - - This change adds validation checks to enforce full component comparisons. - It also cleans up some of the associated comparisons and trace output. - - Change-Id: Ia736030f554f9770b201227c4dce26d7d45fe0d2 - Reviewed-on: http://gerrit.openafs.org/11887 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 99894f0a7070caca7c8e96af3d82cf2bfdfe2bb9 -Author: Jeffrey Altman -Date: Mon Jul 6 01:39:41 2015 -0400 - - Windows: NetrShareGetInfo do not return registry errors - - In NetrShareGetInfo() when registry api calls fail do not leak the - error codes to the caller. Instead, set the error to CM_ERROR_NOSUCHPATH - so that NERR_NetNameNotFound can be returned. - - Change-Id: I2c8f12573ca604385176ebb18d92ff2f7023a27e - Reviewed-on: http://gerrit.openafs.org/11924 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a640e76d0f84c647abfe4968c842c0cb33f670e5 -Author: Jeffrey Altman -Date: Mon Jul 6 01:38:01 2015 -0400 - - Windows: NetrShareGetInfo no return buffer on error - - When processing the NetrShareGetInfo() pipe service rpc do not - allocate memory for the return buffer is the path cannot be found. - - Change-Id: I782df44de4d6b7a4664234ae0f8295294b889469 - Reviewed-on: http://gerrit.openafs.org/11923 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ac05e8ceebd05c2d8496759e70cf7b1b92541134 -Author: Michael Meffie -Date: Wed Apr 29 11:54:45 2015 -0400 - - libafs: remove linux conditionals for md5 inode number calculation - - Remove the conditionals which hide the md5 digest calculation for inode - numbers on non-linux platforms. This feature was originally added to - support sites running on linux, but is generally useful and the - implementation is not specific to linux. - - Change-Id: I7f406f9492780c1893dc1a2892db253b05036120 - Reviewed-on: http://gerrit.openafs.org/11854 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit c6a8739a67edca8a7e987bd1f3d5dcc226ad47a0 -Author: Daria Phoebe Brashear -Date: Thu Aug 20 13:20:38 2015 -0400 - - openafs: add a contributor code of conduct - - In the interest of fostering a friendly, welcoming environment - for contributors, institute a code of conduct for the project. - - Adapted from the Contributor Covenant. - - LICENSE MIT - - Change-Id: I4eb3b8a84981ef04f02e7d60ec46873305888147 - Reviewed-on: http://gerrit.openafs.org/11987 - Tested-by: BuildBot - Reviewed-by: Jonathan A. Kollasch - Reviewed-by: Thomas L. Kula - Reviewed-by: Nathaniel Filardo - Reviewed-by: Michael Meffie - Reviewed-by: Marcio Brito Barbosa - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - -commit fd23587a5dbc9a15e2b2e83160b947f045c92af1 -Author: Michael Meffie -Date: Tue Sep 15 13:33:12 2015 -0400 - - LINUX: Fix oops during negative dentry caching - - Commit 2e9dcc069904aaa434787eec53c6f9821911cbab reinstated negative - dentry caching, but introduced an oops when fakestat is in use. Be sure - the GLOCK is held when looking up the parent vcache dv when the parent - is a mount point and fakestat is in use, since the calls to do the - lookup require the GLOCK to be held. - - Change-Id: I6c47fbf53280400bf40271b1ff2837bd7c6dc69e - Reviewed-on: http://gerrit.openafs.org/12019 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 152ad2848661c0827a29d4f15543be341c1251c3 -Author: Chas Williams (CONTRACTOR) -Date: Thu Jan 15 20:27:04 2015 -0500 - - doc: remove supergroup caution from pt_util - - Supergroup information is explicitly present in -members - - Change-Id: I25527c093858bc0b029417cbf2bb07717c50bb32 - Reviewed-on: http://gerrit.openafs.org/11681 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ab4b5557b8c10fb27ac2e63ffdece2fc78c027d8 -Author: Michael Meffie -Date: Wed Jan 21 22:44:32 2015 -0500 - - bozo: move more initialization code to functions - - Move the code to create the initial "localcell" configuration and the - code to get the rx bind address out of main and into separate - functions. - - Replace the global array of host addresses used to get the rx bind - address with a local variable. - - Replace the call to rx_getAllAddr() with rx_getAllAddrMaskMtu(). The - former is not safe to call before rx_InitHost(). - - Initialize the cell info structure to zeros when creating the initial - "localcell" configuration. - - Change-Id: I756aef86018d0cdd499afa58fdea99a7ac0d99df - Reviewed-on: http://gerrit.openafs.org/11690 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit 0aee126cf20a4357d9ab1df08a8428ae9313e3b9 -Author: Michael Meffie -Date: Thu Sep 3 16:07:32 2015 -0400 - - opr: export softsig functions - - Add the softsig functions to the exported symbols list. - - Change-Id: I9378297ae035111459e597ae211fe832e93b63e3 - Reviewed-on: http://gerrit.openafs.org/11999 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8e97a6c93604014b126fb2e9e33642b11f4c2fc0 -Author: Benjamin Kaduk -Date: Thu Jan 15 11:54:30 2015 -0500 - - afs: Increase vcache and dcache hash table sizes - - Now that we are using a real hash function, larger hash tables - will be more useful. - - The vcache hash tables are statically sized, and this increase will - add about a megabyte to the kernel module's memory footprint. - - Update the algorithm used to dynamically size the dcache hash tables, - keeping the old behavior for small numbers of dcaches, but growing - the hash table's size to keep the average chain length near two - for a range of dcache numbers. Cap the dcache hash tables at 32k - entries to avoid excessive resource usage. - - This involves code from opr, namely opr/ffs.h, which is acceptable - in the kernel module because that header is a standalone header - like jhash.h, with no dependencies on the system. - - Change-Id: I7cdb3e993b1c2ad177a46ecc06bfa2be52e619e5 - Reviewed-on: http://gerrit.openafs.org/11679 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 9b0d5f274fe79ccc5dd0e4bba86b3f52b27d3586 -Author: Michael Meffie -Date: Fri Dec 18 08:20:24 2009 -0500 - - return an error from afs_readdir when out of buffers - - Instead of silently failing, return EIO from readdir when the - cache manager is unable to allocate a buffer in afs_newslot, - (afs: all buffers locked). - - Change-Id: I3d5a5d73ce78db216400cab45a651fd8a49ea0c3 - Reviewed-on: http://gerrit.openafs.org/1001 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 2e9dcc069904aaa434787eec53c6f9821911cbab -Author: Andrew Deason -Date: Sun Aug 24 23:01:16 2014 -0500 - - LINUX: Restore negative dentry caching - - One of the changes in commit 652f3bd9cb7a5d7833a760ba50ef7c2c67214bba - effectively disabled negative caching for dentries, by always - invalidating a negative dentry in afs_linux_dentry_revalidate. This - was because various temporary errors could result in ENOENT errors - being returned to afs_lookup, which created incorrect negative dentry - cache entries. - - These incorrect ENOENT errors were rectified in change - Ib01e4309e44b532f843d53c8de2eae613e397bf6 . So, negative dentry cache - entries should work now, so remove the code to unconditionally - invalidate these negative entries. - - Change-Id: Ic027147fd1f733beaa0fafbbabfa8c09f5656d34 - Reviewed-on: http://gerrit.openafs.org/11789 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 07e474e35e070b9ddcc5158796c95442aea0597f -Author: Benjamin Kaduk -Date: Tue Jan 27 16:33:25 2015 -0500 - - Make compile_et output usable out-of-tree - - Prior to this commit, the output C files from compile_et would - emit #includes of and . These files - are not installed, and are only available in an OpenAFS build tree. - The output C files also emit #includes of , which - is an installed file, and is therefore expected to be available on - a system with OpenAFS installed. Removing the first two headers will - allow OpenAFS's compile_et binary to be used to compile error tables - which are not part of OpenAFS, on systems where OpenAFS is installed. - - The inclusion of afsconfig.h was added in commit - 972a4072827fb2ec680354d5adebc2c5cca06939 to ensure that it was included - prior to afs/param.h; however, the inclusion of afs/param.h in - compile_et.c stems from the original IBM import and seems of minimal - value. The only changes needed to build without param.h are to use - int instead of afs_int32 in a couple places (int is 32 bits on - all platforms currently supported) and to include - for size_t. - - Change-Id: I1ee969eec92b139d265a7494e13ddfc69c05f238 - Reviewed-on: http://gerrit.openafs.org/11708 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit e99bfcfaa3bca3e65f03928718c2c9eb5eff7c8c -Author: Benjamin Kaduk -Date: Tue Jan 13 20:22:59 2015 -0500 - - afs: use jenkins hash for dcache, vcache tables - - Switch the four dcache and vcache hash tables to use the jenkins - hash from opr. - - This requires making DCHash into a full-weight function in order - to properly hash all three inputs; convert all four symbols to - full functions for consistency. Just pull in via - afs.h so all consumers (e.g., of VCSIZE) can use it without - modification. - - This is the first use of src/opr/ in src/afs/ (outside UKERNEL), - but it is permissible because opr/jhash.h is a standalone - header and there are no C files needed for its implementation which - would require anything from the system. - - Change-Id: Ic7f31e7dc548ff2cf13ac087a9e4bbb2b874e03a - Reviewed-on: http://gerrit.openafs.org/11673 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 244b82d24c37355bc855361815a7e682d6445af3 -Author: Benjamin Kaduk -Date: Sun Dec 14 16:13:39 2014 -0500 - - rx: Tidy up rxi_CheckCall()'s mtuout handling - - We don't actually do anything that matters if lastPacketSizeSeq - is set and lastPacketSize is zero, so zero both when we're cleaning - up. - - lastPacketSize and lastPacketSizeSeq are set together in - rxi_SendPacket (and rxi_SendPacketList), when we are sending a packet - larger than the current estimate of the peer's maxPacketSize. - - The two fields are checked together during ack processing, but - rxi_CheckCall() only checks lastPacketSize, ignoring lastPacketSizeSeq. - - Change-Id: I4e52bed0900b5551859200699f114f5d5a61581c - Reviewed-on: http://gerrit.openafs.org/11633 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 20d5760fe9653fb748fc25661257ab9720b2b5a6 -Author: Benjamin Kaduk -Date: Fri Feb 27 18:20:19 2015 -0500 - - Document KeyFileExt(5) - - Add a manual page for the KeyFileExt file. - - Add cross-references from all places which currently reference - KeyFile(5), and update their body text accordingly. - - Change-Id: Iab56847fcb59dda0c8a344a626ddb0ff35b98b26 - Reviewed-on: http://gerrit.openafs.org/11770 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 05e7c2f2fb60805e21f6235d7666b9c6f943a685 -Author: Michael Meffie -Date: Wed Jan 21 14:31:51 2015 -0500 - - bozo: use the full path when renaming BosLog to BosLog.old - - Use the full path when renaming the BosLog file to BosLog.old and when - checking whether the BosLog file can be opened, otherwise the rename - will fail (and go unnoticed), and the initial BosLog check opens a - handle to a file in the wrong directory. - - Create the server directories, including the logs directory, before - forking and log file initialization. - - Change-Id: I3733d64335f348190572f6278086b634641f2754 - Reviewed-on: http://gerrit.openafs.org/11685 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit df05a15ce3cb1c730bf87613711c38fa25be349f -Author: Michael Meffie -Date: Mon Feb 9 15:04:19 2015 -0500 - - bozo: fix -pidfiles default - - Fix the default value for the -pidfiles argument. The pidfiles - should be stored in the local state directory, not the server - configuration directory when using modern paths. - - Fixes commit bdf86d245fd55c5c7ac7ea81e3d6b6bafdbe1783. - - Change-Id: Ie338b0071c6ea6ee44b376d231d12b85571de6ae - Reviewed-on: http://gerrit.openafs.org/11732 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 64eb76eebb7e4f0363aca2c92fd6b1cc0ce8e7b0 -Author: Anders Kaseorg -Date: Fri Jul 31 01:49:03 2015 -0400 - - kauth: Resolve date signedness warning in SetFields - - Resolves this warning: - - admin_tools.c: In function ā€˜SetFieldsā€™: - admin_tools.c:611:30: warning: pointer targets in passing argument 2 of ā€˜ktime_DateToInt32ā€™ differ in signedness [-Wpointer-sign] - code = ktime_DateToInt32(s, &expiration); - ^ - In file included from /home/anders/wd/openafs/include/afs/afsutil.h:84:0, - from admin_tools.c:39: - /home/anders/wd/openafs/include/afs/afsutil_prototypes.h:101:18: note: expected ā€˜afs_int32 *ā€™ but argument is of type ā€˜afs_uint32 *ā€™ - extern afs_int32 ktime_DateToInt32(char *adate, afs_int32 * aint32); - ^ - - Change-Id: Id24e7a6cd1ab2291c0c05d3835f4ad7fddfec8d7 - Reviewed-on: http://gerrit.openafs.org/11956 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit fa8e0beb96c8693a98d5ce0f310255bcd0731f6f -Author: Benjamin Kaduk -Date: Fri Feb 27 17:47:45 2015 -0500 - - Update asetkey.8 for KeyFileExt - - Prefer KeyFileExt to KeyFile ~everywhere. Make the main documentation - assume a modern cell with KeyFileExt and rxkad-k5, moving the old - rxkad and KeyFile documentation to a new section, - HISTORICAL COMPATIBILITY. - - Note that kaserver is deprecated. - - Do not mention the Update Server, which is also disrecommended for - new installations. - - Add a copyright statement for the new content. - - Change-Id: Idcb4940615a00189b655538a9a190cc35153cc89 - Reviewed-on: http://gerrit.openafs.org/11769 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 05f64de7d723a8d5430d9b5928c2025838a6fa52 -Author: Marc Dionne -Date: Wed Jul 29 09:03:14 2015 -0300 - - Linux: Only use automount for volume roots - - As long as we avoid using directory aliases when crossing - a mount point (at the volume root), we should always get - to a given non root directory with the same dentry. - The mechanism added by commit de381aa0 ("Linux: Make dir - dentry aliases act like symlinks") is therefore only really - necessary for a volume root. - - With kernel 4.2 it is not possible to tweak the "total link - count", resulting in ELOOP errors when looking up a path - with 40 or more directories that are being looked up for - the first time. With this change, only mountpoints will - count against the limit. - - Change-Id: Id0e5a51d579eee51ecb8d7fb575a7a30740ea70e - Reviewed-on: http://gerrit.openafs.org/11945 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit c38382c12763128d3f66e750e5e7b1c767ac74f7 -Author: Marcio Barbosa -Date: Thu Aug 6 11:53:23 2015 -0300 - - tests: give the full path to the softsig test helper program - - In order to start the softsig test helper properly, - the full path of this program is necessary. - - FIXES 132246 - - Change-Id: I4e9ff1e62a0b82078338eeaf0d4368ac1b35dccc - Reviewed-on: http://gerrit.openafs.org/11977 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - -commit fcfa8d039a56d051838142cc5b361be195d225e3 -Author: Anders Kaseorg -Date: Fri Jul 31 23:26:43 2015 -0400 - - tests/auth/keys-t.c: Donā€™t ignore return value of write - - Resolves this warning: - - keys-t.c: In function ā€˜copyā€™: - keys-t.c:63:6: warning: ignoring return value of ā€˜writeā€™, declared with attribute warn_unused_result [-Wunused-result] - write(out, block, len); - ^ - - Change-Id: If2427f2658b428091ffba3d11643ad95f193a67d - Reviewed-on: http://gerrit.openafs.org/11957 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 86053beac56629f7bdbc2695fda560e0410e430f -Author: Simon Wilkinson -Date: Sat Mar 2 09:19:13 2013 +0000 - - Unix CM: Make rootVolume array big enough - - In afs_CheckRootVolume, the local rootVolumeName array needs to - be large enough to hold the contents of the global - afs_rootVolumeName string, which is 64 characters long. Fix our - local array to be the same length by using a new defined constant - MAXROOTVOLNAMELEN. - - Caught by coverity (#985758) - - Change-Id: I4c926b94efb40d7107e2d7160ade0ba8b381004e - Reviewed-on: http://gerrit.openafs.org/9348 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 06caaaa6d089e0c0393e45c43b525d202c9c7a24 -Author: Hans-Werner Paulsen -Date: Wed Jan 14 12:39:38 2015 +0100 - - vos dump -clone: use volumename of cloned volume - - with the command "vos dump -clone" use the volumename of the cloned volume - instead of the fixed string "dump-clone-temp". This volumename is recorded - in the DumpHeader and VolumeHeader of the dump file. - - Change-Id: I38ef846f043680c8f13dce263581a61bbd7ef7dd - Reviewed-on: http://gerrit.openafs.org/11670 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 8ea75188476edde820ec369039691497057b88ab -Author: Marc Dionne -Date: Mon Dec 16 16:52:17 2013 -0500 - - afsmonitor: Skip additional bits for large timeval - - When the timeval structure uses 64-bit values for sec and usec, - 64 extra bits need to be skipped in the input for every time value - that is parsed. There's a remaining assumption in this part of the - code that the time values received from the server are 32-bits, but - after decoding they will always have the local size which may well - be 64-bits. - - Change-Id: Iaf52df8f9da1146807dddc1c44a9e52e83654d9c - Reviewed-on: http://gerrit.openafs.org/10592 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 763eb16380986959aeb8c2cc6111f1d9cdb7b17d -Author: Benjamin Kaduk -Date: Mon Jan 12 16:34:21 2015 -0500 - - vol: Switch to Jenkins hash for volume hash table - - While here, bump the default size from 256 to 1024. - - Change-Id: Ife95f14009764785a18556289d5dfe5e7a96b477 - Reviewed-on: http://gerrit.openafs.org/11667 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit ebf04c3a3eeb6dd49756a93f31e0f90fd706a44f -Author: Benjamin Kaduk -Date: Mon Jan 12 16:13:28 2015 -0500 - - Switch to jhash for VNODE_HASH - - Remove the vnodeHashOffset field, as the Jenkins hash will get - a uniform-enough distribution without this extra help. Per-volume - unique hashing is retained by using the volume ID as the initial - value input to the Jenkins hash. - - While here, increase the vnode hash table size from 256 to 2048. - - Change-Id: I353dfc8178f13f4e9adcd03a331adf2a7c64a1a9 - Reviewed-on: http://gerrit.openafs.org/11666 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 22faedd3ccac9b74f759709a6116befb3c4bc17a -Author: Benjamin Kaduk -Date: Mon Jan 12 16:15:53 2015 -0500 - - vol: relocate some comments - - Put them closer to the code they are describing. - - Change-Id: Iaf7137eae2bf4464f26d98b0c3e0e9040f19c321 - Reviewed-on: http://gerrit.openafs.org/11665 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit bfa668c14730b2335c29abd7b8aa20b8e6df338b -Author: Benjamin Kaduk -Date: Mon Jan 12 15:14:48 2015 -0500 - - Normalize on vp->hashid for hash table usage - - At present the hashid is set to the same value as the volume ID - (i.e., V_id(vp) a.k.a. vp->header->diskstuff.id), but we should - not leak across the abstraction barrier without cause. - - Change-Id: I6a727e60c34bdc938f4ae2e815c7513802a4dbc9 - Reviewed-on: http://gerrit.openafs.org/11664 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 899f8eaf3f63b1f91fe6b6eb8f582f82bd10cb66 -Author: Andrew Deason -Date: Thu Aug 14 15:13:48 2014 -0500 - - objdir build: Normalize COMPILE_ET_* commands - - A few different places in the tree currently invoke compile_et in a - few different ways. These three general styles all appear: - - ${COMPILE_ET_H} -p ${srcdir} foo - ${COMPILE_ET_H} -p ${srcdir} foo.et - ${COMPILE_ET_H} ${srcdir}/foo.et - - Of these, the first is the correct way to invoke compile_et in a - Makefile. The other two can fail during at least some objdir builds. - - Take this example of the second style of invocation: - - afs_trace.h: afs_trace.et - ${COMPILE_ET_H} -v 2 -p ${srcdir} afs_trace.et - - During an objdir build, the compile_et command will get expanded like - so, due to VPATH expansion: - - $top_objdir/src/comerr/compile_et -emit h -v 2 \ - -p $top_srcdir/src/afs \ - $top_srcdir/src/afs/afs_trace.et - - The compile_et command concatenates the -p prefix with the actual - filename provided, so the file it tries to open is: - - $top_srcdir/src/afs/$top_srcdir/src/afs/afs_trace.et - - For non-objdir builds this doesn't happen, since $srcdir is just '.', - and afs_trace.et gets expanded to just afs_trace.et (or possibly - ./afs_trace.et). This is also not a problem for objdir builds that are - specified as a relative path and are 'adjacent' to the srcdir. For - example, if we ran '../openafs-1.6.10pre1/configure --options', our - $top_srcdir is just '../openafs-1.6.10pre1', with some magic to - expand '..' to the correct number of levels. So in the above example, - the compile_et invocation gets expanded to: - - /path/to/objdir/src/comerr/compile_et -emit h -v 2 \ - -p ../../../openafs-1.6.10pre1/src/afs \ - ../../../openafs-1.6.10pre1/src/afs/afs_trace.et - - And compile_et then tries to open the path - ../../../openafs-1.6.10pre1/src/afs/../../../openafs-1.6.10pre1/src/afs/afs_trace.et - which collapses to just - ../../../openafs-1.6.10pre1/src/afs/afs_trace.et, which is the correct - file. - - However, if the $srcdir is specified as an absolute path, or if the - number of '..'s is wrong, this doesn't work. It is perhaps easiest to - explain why by just using another example. For an absolute path, the - invoked command is: - - /path/to/objdir/src/comerr/compile_et -emit h -v 2 \ - -p /path/to/openafs-1.6.10pre1/src/afs \ - /path/to/openafs-1.6.10pre1/src/afs/afs_trace.et - - And compile_et tries to open - /path/to/openafs-1.6.10pre1/src/afs/path/to/openafs-1.6.10pre1/src/afs/afs_trace.et, - which obviously does not exist. This results in a build failure like: - - /path/to/openafs-1.6.10pre1/src/afs/path/to/openafs-1.6.10pre1/src/afs/afs_trace.et: No such file or directory - *** Error code 1 - make: Fatal error: Command failed for target `afs_trace.msf' - - For a non-working relative objdir, we may invoke a command like this: - - /path/to/objdir/src/comerr/compile_et -emit h -v 2 \ - -p ../../../../openafs-1.6.10pre1/src/afs \ - ../../../../openafs-1.6.10pre1/src/afs/afs_trace.et - - And compile_et tries to open - ../../../../openafs-1.6.10pre1/src/afs/../../../../openafs-1.6.10pre1/src/afs/afs_trace.et, - which is ../../../../../openafs-1.6.10pre1/src/afs/afs_trace.et, which - (probably) doesn't exist, since it goes one too many levels up. - - To avoid this, we can just prevent the filename argument to compile_et - from undergoing VPATH expansion. compile_et never opens the given path - directly if -p is given, so it's not really a file path and so should - not be altered by VPATH. - - compile_et will add a trailing .et to the filename if it doesn't have - one, so we can avoid the VPATH expansion by just leaving out the - trailing .et. We could also avoid the VPATH expansion by specifying - something like './afs_trace.et', but it is perhaps more clear to not - say the explicit filename, since we're not really specifying a path to - a file. - - Just leaving out the -p option, as in this style of compile_et - invocation: - - dumpscan_errs.h: ${srcdir}/dumpscan_errs.et - $(COMPILE_ET_H) ${srcdir}/dumpscan_errs.et - - also fails for objdir builds. This is because, without the -p option, - compile_et defaults to '.' as the prefix. If the srcdir is - /path/to/openafs-1.6.10pre1, then this will expand to: - - /path/to/objdir/src/comerr/compile_et -emit h \ - .//path/to/openafs-1.6.10pre1/src/tools/dumpscan/dumpscan_errs.et - - which will fail, since that path to dumpscan_errs.et does not exist. - - So to fix this, make all compile_et invocations follow this style: - - ${COMPILE_ET_H} -p ${srcdir} foo - - Many other invocations of compile_et in the tree are already like - this, so this commit just changes the others to match. - - Change-Id: Ied12e07a1cc6e115d4a10cd7a6c97aae9ce7f5f9 - Reviewed-on: http://gerrit.openafs.org/11391 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 4e05184264bf1c0d54e20741563ba9dadc2ef522 -Author: Andrew Deason -Date: Sun Jan 12 23:24:55 2014 -0600 - - LINUX: Fix "unused but set var" autoconf warnings - - A few of the linux autoconf tests generate -Wunused-but-set-variable - warnings, unless the test is run with -Wno-unused-but-set-variable. - Since we run these tests with -Werror, this can cause the tests to - incorrectly fail if they are not run with - -Wno-unused-but-set-variable. - - The Linux kernel build process normally does run with that option, but - due to some other (possibly buggy) behavior, sometimes these configure - tests do not run with that option. So, make our tests work without - generating that warning, so we will work in more cases. - - Reorganize a few of these tests so we are setting a field in a global - structure, instead of a function-local one. Make the test function - names and style little more consistent while we are here, but do not - make the global structure 'static', in case the compiler recognizes we - are setting fields for a structure that cannot be used by anything. - - In particular, the "revalidate takes nameidata" test had been wrongly - succeeding, but that didn't usually matter because of how the feature - tests are ordered in the code. It does matter in the case when the - "revalidate takes unsigned" check also gets a wrong result, which - can cause kernel BUGs, which should be fixed by these changes. - - See: - - - - Change-Id: Ic29c4fc61da17633d8d1af81949b3917beb58cf6 - Reviewed-on: http://gerrit.openafs.org/10706 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 9738c82bd6e5a1c294911d06e3c3e38b70a8caa8 -Author: Sami Kerola -Date: Sun Jun 23 22:08:34 2013 +0100 - - opr: fix often reported warning - - $ make CC=cgcc CHECK="smatch -Wsparse-all" 2>&1 | tee debug - $ sed -n 's/.*warning: //p' debug | sort | uniq -c | sort -n | tail -1 - 7218 passing argument 1 of 'opr_AssertionFailed' discards 'const' qualifier from pointer target type [enabled by default] - - Change-Id: I81c5c1db39b1a08c7dda3caa3d4cdf685186ff5b - Address: http://smatch.sourceforge.net/ - Reviewed-on: http://gerrit.openafs.org/10019 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 204cb4deec73121ff8ef13654beb9936f828a804 -Author: Andrew Deason -Date: Mon Feb 10 14:13:39 2014 -0600 - - vol: Log more info on wrong SYNC response length - - We log that the length of the response was wrong, so we're dropping - the connection. Log what the actual and expected lengths were, at - least, so we can maybe get a little bit of useful information from - this message. - - Change-Id: I499d43c7625712b507698d908feb21477b789563 - Reviewed-on: http://gerrit.openafs.org/10829 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 2aa4cb047596b654a175f5a22197c2923002a271 -Author: Andrew Deason -Date: Fri Feb 13 18:08:25 2015 -0600 - - afs: Stop abusing ENOENT - - When looking up a file, the ENOENT error code is supposed to be used - if we know that the target filename does not exist. That is, the - situation is a user or application error; they specified a filename - that was not previously created. - - Currently, though, we use ENOENT for a variety of different - situations, such as: - - - After successfully looking up a directory entry, we fail to - afs_GetDCache or afs_GetVCache on the FID for that entry. - - - We encounter an invalid mount point, in certain code paths. - - In each of these situations, an ENOENT error code is incorrect, since - the target filename does indeed exist and these situations may be - caused by network or administrative errors. An ENOENT error implies - that the user may be able to then create the target filename, which is - not true most of the time in the above situations. - - In addition, on LINUX we return a negative dcache entry when we - encounter an ENOENT error on lookup. This means that if any of the - above scenarios occur, Linux would cache the fact that that directory - entry did not exist, and return ENOENT for future lookups. This was - worked around in one of the changes in commit - 652f3bd9cb7a5d7833a760ba50ef7c2c67214bba to always invalidate such - negative dentries, but at the cost of performance (since this caused - negative lookups to never be cached). - - To avoid all of these issues, just don't use ENOENT in these - situations. For simple non-disconnected afs_GetDCache or afs_GetVCache - errors, return EIO, since we have encountered an error that is - internal to AFS (either the underlying data is inconsistent, or we - have a network error, or something else). In disconnected operation, - return ENETDOWN like in other disconnected code paths, since often the - root cause is due to us not having network access. When a bad - mountpoint is encountered, return ENODEV, since that is what we use - elsewhere in the code when encountering a bad mountpoint. - - It is also noteworthy that this changes removes the translation of - VNOVNODE into ENOENT, since a nonexistent vnode is not the same as a - nonexistent filename, as described above. Some code paths have special - behavior for this situation (ignoring the error in some cases where it - does not matter). These code paths should be okay with this change, - since all of them examine error codes that have not been translated - through afs_CheckCode. - - Some useless references to ENOENT were also removed in - src/afs/LINUX*/osi_misc.c. These did not result in incorrect behavior, - but removing them makes searching for bad ENOENT references easier. - - Change-Id: Ib01e4309e44b532f843d53c8de2eae613e397bf6 - Reviewed-on: http://gerrit.openafs.org/11788 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a19728ba55f30a41799855b49c5cf6c07c840f87 -Author: Andrew Deason -Date: Fri Feb 13 18:02:44 2015 -0600 - - afs: Clarify vcache->mvid accesses - - Currently, numerous places in the code treat the 'mvid' field in - struct vcache as a few different things: - - - If the vcache is a mountpoint, mvid points to the fid of the root - dir of the target volume. - - - If the vcache is a volume root dir, mvid points to the fid of the - parent dir for the mountpoint. - - - If the vcache is a sillyrenamed file, mvid points to a string, - which is the name the vcache was renamed to. - - Despite these three things being very different (and one of them is a - completely different type than the others), everywhere in the code - just accesses mvid as 'avc->mvid'. This can make it very confusing as - to what the field actually means at any particular part of the code, - and makes it very difficult to search the code for places that use - mvid in any one of these specific ways. - - So, to aid in code clarity, make mvid into a union, with the following - members: - - - target_root: For the "mountpoint" case. - - - parent: For the "root dir" case. - - - silly_name: For the "sillyrename" case. - - This should have no effect on code behavior, but just makes the code a - bit clearer. - - Change-Id: I45391bb7a99d6f8e35c44873b677d157ea681900 - Reviewed-on: http://gerrit.openafs.org/11748 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 65cffcadb96389ff3e794eb822d2231220c71160 -Author: Andrew Deason -Date: Fri Feb 13 17:31:37 2015 -0600 - - afs: Use named constants for mvstat - - Currently the vcache 'mvstat' field is assigned three magic values: 0 - for normal files and directories, 1 for mountpoint objects, and 2 for - volume root dirs. These values are clearly defined in comments, but - everywhere we actually assign or compare these values, we use the bare - numbers. - - Stop this nonsense and use named constants, to make the code less - inscrutable. - - Change-Id: Ic1b133109d619b70317141431f163e552bafd109 - Reviewed-on: http://gerrit.openafs.org/11747 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - -commit 721451286285d4cc15b2fc22bfcde83b21e954a3 -Author: Andrew Deason -Date: Mon Aug 11 13:51:39 2014 -0500 - - vol: Avoid FDH_SEEK/FDH_READ - - All code in the tree except for this uses positional i/o - (FDH_PREAD/FDH_PWRITE). For consistency and to ensure that we do not - mix positional and non-positional i/o, just use the positional i/o - functions here. It's simpler, too. - - Change-Id: Ib65f81dde7532631cd7d642c9ef814d47c71581a - Reviewed-on: http://gerrit.openafs.org/11377 - Tested-by: BuildBot - Reviewed-by: Hans-Werner Paulsen - Tested-by: Hans-Werner Paulsen - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit ce51d192861ca8a21208fadf38e30a62ac06a019 -Author: Michael Meffie -Date: Mon Mar 31 14:25:54 2014 -0400 - - readme: remove README.PTHREADED_UBIK - - We enabled pthreaded ubik by default in commit 27cb0d38885428474b0d4287, - and it is no longer considered beta or experimental. There is no longer - a need for separate documentation of it, and adjust the options - listing in INSTALL accordingly. - - [kaduk@mit.edu: adjust for the changed default behavior.] - - Change-Id: Ib1315e55c1e00bdae0f55f0f8446f5a2c3d9671f - Reviewed-on: http://gerrit.openafs.org/10978 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9a77af6d2265c478b561bf1c5525e913b371525d -Author: Michael Meffie -Date: Mon Mar 31 14:03:58 2014 -0400 - - readme: Rename README to INSTALL - - Create a new top level README to introduce OpenAFS. - - Move the old README to a file called INSTALL for information about - building and installing OpenAFS on various platforms. - - Change-Id: Id8853de73f669a6d5497cafd65a1e98b309c6efc - Reviewed-on: http://gerrit.openafs.org/10976 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f61beda6d628f72a0357e2066d4e03cf52f0ba03 -Author: Michael Meffie -Date: Mon Mar 31 13:02:00 2014 -0400 - - readme: move the LICENSE file to the top level directory - - Move the LICENSE file to the top directory to make it - more visible and to clean up the src directory. - - Update the top level make file and redhat packaging - to accomodate the new path to the LICENSE file. - - Change-Id: I64b655584cf61b8a45c6d6788a84aff31df8e83e - Reviewed-on: http://gerrit.openafs.org/10972 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c9f430fd8f479bbfe28829f7032ecd325a4f833d -Author: Jeffrey Altman -Date: Sat Aug 1 09:32:35 2015 -0400 - - vlserver: ListAttributesN2 volume name safety - - The vlserver ListAttributesN2 RPC permits filtering the result set - by volume name in addition by site or volume id. - - Two issues identified by Andrew Deason (Sine Nomine Associates) are - addressed by this patch. First, the size of the volumename[] buffer - is insufficient to store the valid input read over the network. The - buffer needs to be able to store VL_MAXNAMELEN characters of the volume - name, two characters for the regular expression '^' and '$', and the - trailing NUL. - - Second, sprintf() is used to write to the buffer and even with valid - input from the caller SVL_ListAttributesN2 can overflow the buffer - when ".backup" and ".readonly" are appended to the volume name. If - there is an overflow the search name is invalid and there can not be - a valid match. - - This patch increases the size of volumename[] to VL_MAXNAMELEN+3. - - It also uses snprintf() instead of sprintf() and performs error - checking. The error VL_BADNAME is returned when the network input is - invalid. - - Change-Id: Id65b83e0dd14c6f41af73c6868975ae53c4975a7 - Reviewed-on: http://gerrit.openafs.org/11969 - Reviewed-by: Mark Vitale - Reviewed-by: Nathaniel Filardo - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 049323e7e03c64f534a73ff452d218f19d5b8132 -Author: D Brashear -Date: Fri Jul 18 16:00:12 2014 -0400 - - vlserver: limit use of regex to admins always - - allow regexes only if the querying user is a superuser. - if the superuser uses up all the resources, well, they could just do - whatever damage directly anyway. means even in unrestricted mode - we are not vulnerable - - Change-Id: Ib35d649f31e752ba5ae8373a06b67ea76f97425c - Reviewed-on: http://gerrit.openafs.org/11968 - Reviewed-by: Daria Brashear - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit fc43236872c798fe426590714d19773c74d4bbbe -Author: Jeffrey Altman -Date: Mon Aug 3 15:03:00 2015 -0400 - - Revert "vlserver: Disable regex volume name processing in ListAttributesN2" - - This change reverts commit 22481ab3705522ac1988b7de038c4dbc1e5009a9 which - by disabling regex queries of volume names breaks some backup software - including TSM. - - Change-Id: Ic8b398e289845b45b6b073729e9a091c8b5d71b5 - Reviewed-on: http://gerrit.openafs.org/11967 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - Reviewed-by: Mark Vitale - -commit 682d5e74347495045fc2a550adddea243118126b -Author: Anders Kaseorg -Date: Sun Aug 2 21:26:13 2015 -0400 - - kas: remove @CFLAGS_NOERROR@ in favor of specific pragma - - Change-Id: Icf07c63a0e5a59da19a9db4edf7ac3c346349088 - Reviewed-on: http://gerrit.openafs.org/11966 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 7254d831b766c72f8e1b77158082e0e5b3d20224 -Author: Anders Kaseorg -Date: Fri Jul 31 23:28:49 2015 -0400 - - tests/volser/vos-t.c: Donā€™t ignore return value of pipe - - Resolves this warning: - - vos-t.c: In function ā€˜TestListAddrsā€™: - vos-t.c:60:5: warning: ignoring return value of ā€˜pipeā€™, declared with attribute warn_unused_result [-Wunused-result] - pipe(outpipe); - ^ - - Change-Id: I7eb58a91b5a7d9df18a4952400f74c79299e857d - Reviewed-on: http://gerrit.openafs.org/11958 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5a0603ced26bebb867b52f3f3a0cb1604880d0df -Author: Anders Kaseorg -Date: Sat Aug 1 05:05:11 2015 -0400 - - tests/opr/jhash-t.c: Fix unsigned constant warning - - Resolves this warning on 32-bit GCC: - - jhash-t.c: In function ā€˜mainā€™: - jhash-t.c:60:4: warning: this decimal constant is unsigned only in ISO C90 - is_int(3704403432, opr_jhash(test, 2, 0), - ^ - jhash-t.c:62:4: warning: this decimal constant is unsigned only in ISO C90 - is_int(3704403432, opr_jhash_int2(test[0], test[1], 0), - ^ - - Change-Id: Ie3ab0f5aacdc719fa63f32e545b5863ec351f5eb - Reviewed-on: http://gerrit.openafs.org/11961 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 540050bbc893416fbd075ed5e349abaa5baaeba1 -Author: Anders Kaseorg -Date: Sat Aug 1 03:15:39 2015 -0400 - - Squash a frightening number of warnings from XBSA-related code - - Mostly missing prototypes and mismatched format strings, but also some - more disturbing bugs. - - Change-Id: I9a10728c7da645bb562374a3598414484de33f4d - Reviewed-on: http://gerrit.openafs.org/11960 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 8f78afa65be0c8a1c130661a590e5b15be527537 -Author: Anders Kaseorg -Date: Sat Aug 1 03:58:19 2015 -0400 - - Add XBSA_XLIBS to XLIBS after itā€™s computed - - Commit 353aa7ef2c172f574998480d6d051b3f4e95ae7b (after 1.6 was - branched) reordered things such that XBSA_XLIBS was being added to - XLIBS before it was computed, which caused link failures with - --enable-tivoli-tsm. - - Change-Id: I791add1b916c845d975d1ee21652c13244c50736 - Reviewed-on: http://gerrit.openafs.org/11959 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ac39d879f8cb6adc11efecef4cb3966582e09c82 -Author: Anders Kaseorg -Date: Sat Aug 1 05:54:42 2015 -0400 - - tests/opr/time-t.c: Use labs instead of abs for long argument - - Resolves this warning with clang: - - time-t.c:46:8: warning: absolute value function 'abs' given an argument of type 'long' but has parameter of type 'int' which may cause - truncation of value [-Wabsolute-value] - ok(abs(osTime - osNow) < 2, "opr_time_Now returns a reasonable value"); - ^ - time-t.c:46:8: note: use function 'labs' instead - ok(abs(osTime - osNow) < 2, "opr_time_Now returns a reasonable value"); - ^~~ - labs - - Change-Id: Ib98069e1349161d936c8ada0e69f9b33d2f71ce3 - Reviewed-on: http://gerrit.openafs.org/11965 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 09bf3ebb26a3d8a4bd10571b394a59207a7f6980 -Author: Anders Kaseorg -Date: Sat Aug 1 05:52:59 2015 -0400 - - src/kauth/krb_udp.c: Remove redundant NULL check for array address - - Resolves this warning with clang: - - krb_udp.c:302:13: warning: address of array 'tentry.misc_auth_bytes' will always evaluate to 'true' [-Wpointer-bool-conversion] - if (tentry.misc_auth_bytes) { - ~~ ~~~~~~~^~~~~~~~~~~~~~~ - - Change-Id: I0656b055090654eada2cd63476330fb288490acc - Reviewed-on: http://gerrit.openafs.org/11964 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 38bd5def2a90303b6bb07926f99d0ab095ba96c0 -Author: Anders Kaseorg -Date: Fri Jul 31 01:35:05 2015 -0400 - - rfc3961: prototype _krb5_internal_hmac - - Resolves this warning: - - src/external/heimdal/krb5/crypto-arcfour.c: In function ā€˜_oafs_h__krb5_HMAC_MD5_checksumā€™: - src/external/heimdal/krb5/crypto-arcfour.c:82:5: warning: implicit declaration of function ā€˜_oafs_h__krb5_internal_hmacā€™ [-Wimplicit-function-declaration] - ret = _krb5_internal_hmac(context, c, signature, sizeof(signature), - ^ - - Change-Id: I10f028b8a0e1756cb1f1638a061616db0e76779e - Reviewed-on: http://gerrit.openafs.org/11953 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit f5a35b240b183f2daeef83caa985e8f4a712fec9 -Author: Anders Kaseorg -Date: Fri Jul 31 21:27:42 2015 -0400 - - make distclean: clean doc/xml/*/Makefile - - These files are conditionally generated by configure.ac. - (Conditionally is okay because this is an ā€˜rm -fā€™ line.) - - Change-Id: I7ade07e09b5e378b2abf6481dc8ffac26b574eed - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/11952 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 8d75f24aae3d2ed62dc070fd257464713d615a23 -Author: Anders Kaseorg -Date: Fri Jul 31 20:47:35 2015 -0400 - - libadmin: #define UBIK_LEGACY_CALLITER 1 in afs_kasAdmin.c - - Replaces this warning: - - afs_kasAdmin.c: In function ā€˜GetPrincipalLockStatusā€™: - afs_kasAdmin.c:710:6: warning: implicit declaration of function ā€˜ubik_CallIterā€™ [-Wimplicit-function-declaration] - ubik_CallIter(KAM_LockStatus, kaserver->servers, UPUBIKONLY, - ^ - - with these marginally less alarming warnings: - - In file included from ../adminutil/afs_AdminInternal.h:17:0, - from afs_kasAdmin.c:21: - /home/anders/wd/openafs/include/ubik.h:627:1: warning: function declaration isnā€™t a prototype [-Wstrict-prototypes] - extern afs_int32 ubik_CallIter(int (*aproc) (), struct ubik_client *aclient, - ^ - /home/anders/wd/openafs/include/ubik.h:632:1: warning: function declaration isnā€™t a prototype [-Wstrict-prototypes] - extern afs_int32 ubik_Call_New(int (*aproc) (), struct ubik_client - ^ - - Change-Id: I49dbc5f6bb9199764c73c6ee8449d62518f377e6 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/11954 - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 22481ab3705522ac1988b7de038c4dbc1e5009a9 -Author: Andrew Deason -Date: Wed Jul 8 14:37:16 2015 -0400 - - vlserver: Disable regex volume name processing in ListAttributesN2 - - For the interim and until it is needed, this is most prudently - simply disabled. - - FIXES 131890 - - Change-Id: Ib52da4ba38b579e51a0d8571e2da1307ae50a06f - -commit 8ce4a3905268385d3f5a0e11f20594875467cae6 -Author: Mark Vitale -Date: Wed Jul 8 14:28:50 2015 -0400 - - Solaris: setpag should verify that ngroups will not overflow - - Our ngroups management (since PAGs are still encoded as 2 groups) needs - to ensure that we do not overflow what we are prepared to handle, - and do not panic due to misheld mutexes if we have to return an error - when handling it. - - FIXES 131878 (CVE-2015-3286) - - Change-Id: I044d5e7d3161de815b3c2dace9c211fbb4b51ffa - -commit ef671f497e9161ec2759446d594789495d3346f1 -Author: Andrew Deason -Date: Wed Jul 8 14:20:13 2015 -0400 - - afs: Use correct output buffer for FSCmd pioctl - - MRAFS added the FsCmd pioctl for passing messages to the fileserver; - a bug causes it to write into the wrong memory and potentially panic - clients. - - FIXES 131896 (CVE-2015-3285) - - Change-Id: Ic3a81fe06edc886f24bbc0537ea53e994b086c9e - -commit 592a99d6e693bc640e2bdfc2e7e5243fcedc8f93 -Author: Daria Brashear -Date: Wed Jul 8 14:16:41 2015 -0400 - - afs: Clear pioctl data interchange buffer before use - - Avoid leaking data in pioctl interchange buffers; clear the memory - when one is allocated. - - FIXES 131892 (CVE-2015-3284) - - Change-Id: I880bbaa75b07b491a08c62fb17527b9fff47ec8c - -commit 62926630a82b8635d1cb1514b852f9f7a2609311 -Author: Daria Brashear -Date: Wed Jul 8 14:11:33 2015 -0400 - - bos: Use crypt for commands where spoofing could be a risk - - bos defaults to not requiring crypt in a lot of cases, instead using clear. - - As the simplest way to secure the channel is to enable crypt, do so. - - FIXES 131782 (CVE-2015-3283) - - Change-Id: I354fcbb5db37db225391a47b59d99518d1d0b2f9 - -commit 415a2aad4c1e9ab5d034b62989e4c16a37b5dcc7 -Author: Daria Brashear -Date: Wed Jul 8 13:51:47 2015 -0400 - - vos: Clear nvldbentry before sending on the wire - - Don't leak stack data onto the wire. Clear nvldbentry before use. - - FIXES 131907 (CVE-2015-3282) - - Change-Id: I18ea2c6ce21b6462277d067de329f4fb44dfb3ae - -commit 656aaacd01a90f658a5126111af9988fa1854dec -Author: Michael Meffie -Date: Tue Dec 16 19:25:06 2014 -0500 - - vos: changeaddr refuse to change mh entries without -force - - Add a client side check to vos changeaddr -oldaddr -newaddr - to refuse to change multihomed server entries, unless -force - is given. - - Change-Id: I1428e94f0c2fc19bb6ba3b2c53468f4587283bbc - Reviewed-on: http://gerrit.openafs.org/11638 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 6c3ac6dc1ea865153a65b5c5c4f288617a3e6d0f -Author: Marc Dionne -Date: Mon Jul 6 13:01:38 2015 -0300 - - Linux 4.2: Changes in link operation APIs - - The follow_link and put_link operations are revised. - Test for the new signature and adapt the code. - - Change-Id: I2834589cbe36c41924ab0505e6ca4ecd797a57fd - Reviewed-on: http://gerrit.openafs.org/11928 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c2c0b6bc86c6d67814d0f7fe14fa8eefc445b4a4 -Author: Marc Dionne -Date: Mon Jul 6 12:00:10 2015 -0300 - - Linux: Add AC_CHECK_LINUX_OPERATION configure macro - - Add a new macro to check the signature of a particular - operation against a provided typed argument list. - One of the arguments is an arbitrary label that is used - to construct the pre-processor define name. This will - allow for testing of different forms for the same - operation. - - This can be used to replace many of the remaining odd - checks in src/cf/linux_test4.m4. - - Change-Id: Ic619ace54f81aa8e1eb744e2d11f541a303b9587 - Reviewed-on: http://gerrit.openafs.org/11927 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 89aeb71a3e23c944f58cfa9572e9eae4d2130d37 -Author: Marc Dionne -Date: Mon Jul 6 11:00:13 2015 -0300 - - Linux 4.2: total_link_count is no longer accessible - - The value is now stored in the nameidata structure which - is private to fs/namei.c, so we can't modify it here. - - The effect is that using a path that contains 40+ directories - may fail with ELOOP, depending on which directories in the - path were previously used. After a directory is accessed once - its D_AUTOMOUNT flag is reset and it will no longer count - against the symlink limit in later path lookups. - - Change-Id: I90e4cb0e9004b075bff2330d165c67b7a923193f - Reviewed-on: http://gerrit.openafs.org/11926 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e597b879677d023165298adadfb88db031883ff4 -Author: Marc Dionne -Date: Wed Jul 8 14:32:31 2015 -0300 - - Linux 4.2: Pass namespace to sock_create_kern - - sock_create_kern gains an additional network namespace - argument. - - Pass in the default system namesapce. - - Change-Id: I640e9497510242788e5060759779785ffb563a81 - Reviewed-on: http://gerrit.openafs.org/11925 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 4ef47f787a64dc5c8ebb73a454b0851c86d7c06b -Author: Michael Meffie -Date: Fri Jun 26 09:09:18 2015 -0400 - - doc: bosserver runs in the background - - Since OpenAFS 1.0 bosserver automatically puts itself into the - background and removes it's controlling terminal. Update the examples in - the Admin and Quick Start Guides to remove the unneeded '&' on the - command line to start the bosserver. - - Change-Id: I1fd8f31c604004b099d50ffe166262b4d0d58804 - Reviewed-on: http://gerrit.openafs.org/11906 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 73e080cbb043424d9094a4bdd8f3e82c47a89502 -Author: Michael Meffie -Date: Fri Jun 12 12:38:49 2015 -0400 - - tests: fix typo in softsig test helper - - Change-Id: I74183a04b54b70bf3593a53fdb5f164cbd6c3b98 - Reviewed-on: http://gerrit.openafs.org/11893 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit 683ea4a983ada3845ecc8589f0362802ed967dc2 -Author: Daria Brashear -Date: Wed Mar 4 17:25:14 2015 -0500 - - vos: desupport -stayonline - - roll back -stayonline support for volume releases for now. - - Change-Id: I5b4de15892f975514ea699994cb7c1da17ac83c2 - Reviewed-on: http://gerrit.openafs.org/11787 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 82e02157fec248293e7336f0e0b3d1c9da545228 -Author: Michael Meffie -Date: Thu Jun 11 20:28:43 2015 -0400 - - libafs: reset all the volumes with fs flushall - - Fix a logic bug in fs flushall in which only the first volume in each - hash chain is reset (invalidated). Instead, reset all the volumes in - the volume hash. - - This bug was introduced in commit 4197bbecd9d0b2ff0b8eaec75a0df9a64f713cf0 - (libafs: fs flushall for unix cm) - - Also, when flushing a single volume with fs flushvolume, don't bother - searching all the hash chains, instead start on the hash chain - containing the volume being flushed. - - Change-Id: I7be67fdb310b4845d02dc916f4400f83cc649cb8 - Reviewed-on: http://gerrit.openafs.org/11892 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Jeffrey Altman - -commit 0b8e85c1f9c6d741e1b8556cc3be6b62c97e7937 -Author: Benjamin Kaduk -Date: Mon Feb 9 12:09:32 2015 -0500 - - pagsh: do not call set[ug]id() - - Supposedly calling setuid(getuid()) and setgid(getgid()) would - help pick up a new group list on some systems, in the depths - of history. In the absence of reason to believe this is still - the case, drop the calls to avoid scary warnings about unchecked - return values. - - Change-Id: I39e87a27fb52f5a6868b867c9325d4a5fa93ef58 - Reviewed-on: http://gerrit.openafs.org/11759 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Jeffrey Altman - -commit c6ec6410afdb21cc6f2ecdf0d36559dc8f0fc6cd -Author: Benjamin Kaduk -Date: Mon Feb 9 10:38:04 2015 -0500 - - Avoid unsafe scanf("%s") - - Reading user input into a fixed-length buffer just to check the - first character is silly and an easy buffer overrun. gcc on - Ubuntu 13.03 warns about the unchecked return value for scanf(), - but scanf("%s") is guaranteed to either succeed or get EOF/EINTR/etc.. - - In any case, we don't need to use scanf() at all, here -- reuse an - idiom from BSD cp(1) and loop around getchar to read the user's - response, eliminating the fixed-length buffer entirely. A separate - initial loop is needed to skip leading whitespace, which is done - implicitly by scanf(). - - Change-Id: Ic5ed65e80146aa3d08a4b03c213f748ef088156b - Reviewed-on: http://gerrit.openafs.org/11758 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Reviewed-by: Michael Meffie - Reviewed-by: Jeffrey Altman - -commit 74ffe9bc78a898361bdcb3b97cb512bac338c62a -Author: Benjamin Kaduk -Date: Wed May 27 16:13:13 2015 -0400 - - afs: Do not supply bogus poll vnodeops for FBSD - - We currently provide one which just always returns 1, but the - kernel provides a vop_nopoll which conceptually is the same thing. - That one, however, provides some feature checks and fails when - consumers ask for fancy features that are not portable. - - Change-Id: Iba03904aac2883e18a1abdd4f09289b6c6f907c0 - Reviewed-on: http://gerrit.openafs.org/11882 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Jeffrey Altman - -commit c19cadbf6a7b625f034f26245dcba225afc03aba -Author: Benjamin Kaduk -Date: Fri Feb 6 14:15:11 2015 -0500 - - Ignore return values more harder - - Building on Ubuntu 14.04 with gcc 4.8.2-19ubuntu1, we encounter - fatal warnings about unchecked return values in uss, which is - now always built, as of 00a33b26d74aa067086ddc340efb82184715857f. - - Change-Id: I997dcb683e33902c2765121c70bdcf21e9d5e892 - Reviewed-on: http://gerrit.openafs.org/11757 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Jeffrey Altman - -commit 95b857399d71cb1f6619e625bff256f8c4c72c6a -Author: Marc Dionne -Date: Wed Apr 22 15:06:12 2015 -0300 - - Linux: mmap: Apply recursion check only to recursion cases - - The CPageWrite flag was originally added to prevent a scenario - where a thread doing "writepage" would realize that the cache - was too full and that some of its contents need to be written - back to the server. Before writing back it would ask the OS to - flush any dirty VM associated with the vcache entries that are - to be written, to make sure the data is not stale. This flush - could itself trigger writeback, leading to deadly recursion. - One such scenario is a process doing mmap writes to a file larger - than the cache. - - With some kernel versions and some callers of writepage, this - can cause the mapping to be marked as being in an error state, - leading to EIO errors passed back to user space. - - Make the recursion check more specific to only bail when the - calling thread is one that was originally seen writing. A list - of current writers is maintained instead of a single state flag. - - This lets other threads (like the flusher thread) go on with - writeback to the same file, and limits the WRITEPAGE_ACTIVATE - return case to call sites that can deal with it. - - In testing this helps avoid EIO errors when writing large - chunks of data through mmap. - - Thanks to Yadav Yadavendra for extensive analysis and testing. - - Change-Id: Ic3136d7050c62e3ffac5e52441171f322b60fe86 - Reviewed-on: http://gerrit.openafs.org/11124 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit cb0081604ef5369f34279c6eb77eb4d28406f2ac -Author: Simon Wilkinson -Date: Fri Mar 23 21:26:14 2012 +0000 - - opr: Add new softsig implementation - - Signals and pthreaded applications are a poor match. OpenAFS has had - the softsig system (currently in src/util/softsig.c) in an attempt to - alleviate some of these problems. However, that implementation itself - has a number of problems. It uses signal functions that are unsafe in - pthreaded applications, and uses pthread_kill within its signal - handlers. Over the years it has been responsible for a number of - portability bugs. - - The old implementation continues to receive signals in the main thread - of the application. However, the handler code is run within a seperate - signal handler thread. When the main thread receives a signal a stub - handler is invoked, which simply pthread_kill()s the signal handler - thread. - - The new implementation simplifies things by only receiving signals in - the handler thread. It uses only pthread-compatible signal functions, - and invokes no code from within async signal handlers. - - A complete test suite is supplied. - - Change-Id: I4bac68c2f853f1e7578b54ddced3833a97dd3f82 - Reviewed-on: http://gerrit.openafs.org/6947 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - -commit b8648dbefb3968329d20cad8976ce15947428678 -Author: Benjamin Kaduk -Date: Wed May 20 10:57:53 2015 -0400 - - afsio: switch BreakUpPath to strdup - - The current version of BreakUpPath is slightly broken, since - commit 4e68282e26b0c4569d25d076d54274f0da47a691 -- it has two - output parameters but takes only one length parameter for the - size of the output buffers passed in. The callers ended up using - the shorter of the buffer lengths in question, so there is not - a risk of a buffer overrun, but long paths would not be properly - handled. - - There is not really any need to pass in a length at all, since - what is going on is conceptually strdup, and there is no real - need to use strlcpy at all. Make the change from strlcpy to - str(n)dup, and adjust callers to free the outputs as appropriate. - - While here, convert writeFile() to use goto and a cleanup handler - to avoid leaks. - - Change-Id: Ib742cb73a6d70aa863c8d30423416887b977677b - Reviewed-on: http://gerrit.openafs.org/11874 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Daria Brashear - -commit 9076cbd58dd48801ad212f803f586fdc53d7b886 -Author: Daria Brashear -Date: Thu May 21 16:34:09 2015 -0400 - - Add defines for recent darwin sysctl constants - - These were accidentally omitted from commit - ab9bb6363ca95f658764fbb9fb68ec88f89a5b3f. - - Change-Id: Ic3374484eb79fe44a4032def1484c9ed733f9422 - Reviewed-on: http://gerrit.openafs.org/11875 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit 5c1237432edf4600111845d175c92252430d5f76 -Author: Marc Dionne -Date: Mon Apr 20 10:41:53 2015 -0300 - - Linux 4.1: Don't define or use ->write directly - - We no longer have to define a ->write operation, and we can't - expect the underlying disk cache filesystem to have one. Use - the new __vfs_read/write helpers that will select the operation - to use based on what's available for that particular filesystem. - - Change-Id: Iab923235308ff57348ffc2dc6d718dd64040656b - Reviewed-on: http://gerrit.openafs.org/11849 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit fcfa5ae2468d878db962a93d6013fcd3042e6c13 -Author: Marc Dionne -Date: Mon Apr 20 10:37:40 2015 -0300 - - Linux 4.1: No need for do_sync_read - - Make the test here a bit more specific. do_sync_read no longer - exists, but we don't use it for new kernels. Trying to define it - here in terms of generic_file_read is not helpful as that doesn't - exist anymore. - - Change-Id: Iffb059716165436c3439e66db15002cdec5dfc16 - Reviewed-on: http://gerrit.openafs.org/11848 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 810f0ccd0354dac30af024ca7b5acf3ebabf5f4b -Author: Benjamin Kaduk -Date: Wed Apr 22 13:43:43 2015 -0400 - - kauth: fix clock skew detection - - Commit 5b3c1042969daec38ccb260e61d665eda0c713ea changed/removed some - uses of abs() on unsigned time values. While the previous use of abs() - was indeed incorrect, the result wasn't necessarily much better, even - though it built with recent compilers, since it only checked for skew - in one direction. - - Define and use a macro to correctly evaluate the conditionals in 64-bit - precision, avoiding C's integer promotion rules which prefer unsigned types - (Date) to signed types of the same width (time_t on 32-bit systems). - - Change-Id: Ifcbe59e73942a52a8635cb0f43cce94fdeea85a3 - Reviewed-on: http://gerrit.openafs.org/11850 - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit abca1fefc018e7f7ccc91ff31ada1d5e6d8076e0 -Author: Perry Ruiter -Date: Wed Apr 22 09:58:48 2015 -0700 - - afsd: Update list of supported flags - - afsd.c starts with a block comment listing the flags supported by the - afsd command. As the code has evolved this list has not been kept up - to date. Bring the list up to date. Some obsolete options no longer - have any backing code. These are marked OBSOLETE. Some obsolete - options have code that says they are now deprecated. These are - marked IGNORED. - - Additionally fix a typo in backuptree's help text. - - Change-Id: I90ddf4db826c891bf1daf6959f94feee17d35f78 - Reviewed-on: http://gerrit.openafs.org/11857 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit df5f4925aa0f9f9e6e3b38f5804ad00e71a63d76 -Author: Michael Meffie -Date: Thu Apr 30 09:47:11 2015 -0400 - - libafs: remove extraneous solaris headers from afs_util.c - - Remove several solaris specific headers from afs_util.c which are no - longer needed. - - Change-Id: Id3874c90448215dc506b7ab9b5e695c2aeef50f3 - Reviewed-on: http://gerrit.openafs.org/11856 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ab9bb6363ca95f658764fbb9fb68ec88f89a5b3f -Author: Daria Brashear -Date: Thu Apr 16 13:12:05 2015 -0400 - - osx: update afssettings for yosemite - - handle deprecated functions - - Change-Id: I437ec88b7909c38af247f44d58599da8810a72f2 - Reviewed-on: http://gerrit.openafs.org/11836 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fda2bc874751ca479365dc6389c0eebb41a0bda1 -Author: Jeffrey Hutzelman -Date: Mon Jun 17 21:08:14 2013 -0400 - - Allocate pathname buffers dynamically - - This change reworks numerous places which formerly used potentially - large on-stack buffers (of size AFSDIR_PATH_MAX) for constructing or - storing pathnames. Instead, these buffers are now allocated from the - heap, either by using asprintf() to build a pathname in a correctly - sized buffer or, where necessary, using malloc() to allocate a buffer - of size AFSDIR_PATH_MAX. - - A few occurrances of AFSDIR_PATH_MAX-sized buffers are not changed; - these are generally either globals or are contained within another - data structure that is already allocated on the heap. - - [kaduk@mit.edu convert to cleanup-handler memory management where - appropriate] - - Change-Id: Ib1986187a1c467e867d50280aaf1d8a86d9108c8 - Reviewed-on: http://gerrit.openafs.org/9985 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Jeffrey Altman - -commit 6f1979c83a4357c82be2e011b79d993b21e545f9 -Author: Benjamin Kaduk -Date: Wed Jan 14 15:32:47 2015 -0500 - - vol: use ffs from opr instead of inline - - volume.c defined its own ffs() macro if AFS_HAVE_FFS was not - defined. Now that ffs() is in opr, just use it from there always. - - Change-Id: Ia80a439924541be236b3221b9480143b511c885a - Reviewed-on: http://gerrit.openafs.org/11674 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit ec706b21530240d7fb66bad2f08513eff8f7c335 -Author: Benjamin Kaduk -Date: Mon Apr 13 12:05:12 2015 -0400 - - Remove Linux 2.4 compat from RedHat packaging - - You can't package what you can't build. - - Change-Id: Ife3a46dfa1fee72b36d0f1fb21d82928aa8d83b6 - Reviewed-on: http://gerrit.openafs.org/11833 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit d457769173753a73c3f767294743ab486ed1d3e5 -Author: Benjamin Kaduk -Date: Wed Mar 18 13:36:26 2015 -0400 - - Remove linux24 conditionals from mcas/Makefile.osi - - Linux 2.4 has been desupported by OpenAFS. - - Change-Id: I7803d718ca9d2760a799f1ac2c438f8e6df8b9b9 - Reviewed-on: http://gerrit.openafs.org/11806 - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit b3ad01ec0c091d43976061cb575224fc64aba6ee -Author: Benjamin Kaduk -Date: Wed Mar 18 13:34:49 2015 -0400 - - Remove stale MakefileProto.LINUX.in conditionals - - Linux 2.4 and older are no longer supported; there's no need to - keep the noise in this file. - - Change-Id: Ia1a968e0cdc1180e66bdedd0aa0638eadfd897fb - Reviewed-on: http://gerrit.openafs.org/11805 - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit 763a18f488a5d5677bb2f742c7b0b9a2b9d90409 -Author: Benjamin Kaduk -Date: Wed Mar 18 13:23:43 2015 -0400 - - Remove LINUX24 from src/rx - - These files are no longer used. - - Change-Id: Iebf85590e18c2542663ebdd279b126a3ab058213 - Reviewed-on: http://gerrit.openafs.org/11803 - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit 91713206b0c414c82992fc3bb18da36995ae83c0 -Author: Benjamin Kaduk -Date: Wed Mar 18 13:23:16 2015 -0400 - - Remove LINUX24 from src/afs - - These files are no longer used. - - Change-Id: I4a7e0cc8c308399004c999b3769c77388794cfdd - Reviewed-on: http://gerrit.openafs.org/11802 - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit 83a27da150dd164f9f7afbb29163431c89a504bc -Author: Benjamin Kaduk -Date: Wed Mar 18 13:20:07 2015 -0400 - - Remove linux22 and linux24 param files - - They are no longer used. - - Change-Id: I1337bf0e1239336e7ae39f88f484cb8237002302 - Reviewed-on: http://gerrit.openafs.org/11801 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit 7a998206127e03e48837380063566a464321604b -Author: Benjamin Kaduk -Date: Wed Mar 18 13:17:59 2015 -0400 - - Remove osconf conditionals for linux24 - - They are no longer triggerable now that linux 2.4 is desupported, - so make the code easier to read. - - Change-Id: I77b48d30db66b635cfdc06e977f9884dd2825713 - Reviewed-on: http://gerrit.openafs.org/11800 - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit ccf353ede6ef5cce7c562993d1bea0d20844bdb7 -Author: Benjamin Kaduk -Date: Wed Mar 18 13:11:44 2015 -0400 - - Mark Linux 2.4 as unsupported - - The Linux 2.4 series (and older) will not be supported platforms - for OpenAFS 1.8 and later. Detect these systems at configure time - and direct users of those systems to the OpenAFS 1.6 series of releases. - - These systems are believed to not be in common use with OpenAFS, - and retaining support for the LinuxThreads threading implementation - they require presents a maintenance burden that the project is - not equipped to deliver. The project will be able to move forward - more quickly by desupporting these systems. - - Code conditional on these old systems can be removed in subsequent - commits. - - Change-Id: I679fc2390b35851f3b0457a846047c812bc03dba - Reviewed-on: http://gerrit.openafs.org/11799 - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Tested-by: Daria Brashear - -commit 6c62237ecd80077b0a72b24fec5db20b623eb897 -Author: Ben Kaduk -Date: Thu Feb 12 16:01:28 2015 -0500 - - aklog: swap order of roken and hcrypto - - hcrypto depends on roken, so roken must come after it. - - Change-Id: Ic63de1f9095555a6c3e83f2f6d2f9d024ad00006 - Reviewed-on: http://gerrit.openafs.org/11743 - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d1d411576cf39c4bc55918df0eb64327718d566c -Author: Michael Meffie -Date: Mon Nov 17 11:23:38 2014 -0500 - - vos: remaddrs sub-command - - Introduce the vos remaddrs sub-command for removing multi-homed server - entries from the vldb. The remaddrs sub-command completes the listaddrs - and setaddrs command suite and allows vos changeaddr to be deprecated - completely. - - Change-Id: I98e92e776a153591a617a5b04037c3b6139d4732 - Reviewed-on: http://gerrit.openafs.org/11606 - Tested-by: BuildBot - Reviewed-by: Chas Williams <3chas3@gmail.com> - Reviewed-by: Daria Brashear - Reviewed-by: Jeffrey Altman - -commit 25373555f838ec7f9a7a1625e66c7d83108a62f2 -Author: Benjamin Kaduk -Date: Wed Mar 18 10:35:33 2015 -0400 - - Do not redeclare mutexes for darwin - - Partially revert commit e2e93aa8920c0b1bfc672a555a59eb4e15dbeaae, - which added local declarations for des_init_mutex, des_random_mutex, - and rxkad_random_mutex to a number of files in libadmin, apparently - to fix the build on macos 10.3. That OS is long EoL-ed, and - more recent versions of OS X include toolchains that do not - need these extra declarations. In particular, the extra declarations - can be harmful when these files start to pull in more symbols - from our libraries (e.g., libafscp), since the details of the - linking process can cause that to generate duplicate symbol errors. - - There is no longer any need to have local declarations of these - symbols for OS X, so just remove them. - - Change-Id: Ie152387b4bd16b470054821fc8ddf852e1a4285c - Reviewed-on: http://gerrit.openafs.org/11798 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 777870da86e9ed66756e01e858a54e959959482d -Author: Nathan Dobson -Date: Fri Mar 20 18:32:22 2015 -0400 - - aklog: Correct size used for strlcpy() - - When copying into the 'cell' array, use the size of cell, not - the size of some other array that is copied into a few lines previously. - - Change-Id: Ib8b523901dd8008038c5a95a7c315b899cff8cee - Reviewed-on: http://gerrit.openafs.org/11807 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 7ae8e64d1ee79c23da96c326111fdc40015ed5a6 -Author: Mark Vitale -Date: Mon Feb 9 18:16:16 2015 -0500 - - pioctl.c: restore required result variable - - Commit b9fb9c62a6779aa997259ddf2a83a90b08e04d5f refactored lpioctl() - so that LINUX would have its own implementation. This also simplified - the other lpioctl() implementations by removing superfluous variable - 'rval'. - - Unfortunately, 'rval' was actually required for both DARWIN and SUN511. - On both of these platforms, the address of 'errcode' is passed - to the respective ioctl_*() routine so its value may be passed back - to lpioctl(). Therefore, 'errcode' must not also be used for the - return value from these functions; doing so results in the return - value from the function overwriting the intended value of 'errcode' upon - return to lpioctl(). - - In the case of Solaris 11, ioctl_sun_afs_syscall() always returns zero - (as long as the ioctl device 'dev/afs' opened successfully). - So 'errcode' was always being set to zero, even if the pioctl had - actually failed. For example, without this fix, 'fs listcells' - loops forever on Solaris 11, listing an infinite number of "cells", - because it will never "see" the EDOM that informs it of the last defined - cell. - - Partially revert b9fb9c62a6779aa997259ddf2a83a90b08e04d5f by restoring - the 'rval' variable and logic for DARWIN and SUN511. - - Change-Id: I4407af29d54813689cf8ccf2517bb2df4dd8eb25 - Reviewed-on: http://gerrit.openafs.org/11734 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 026fcc6f975dbc13ac39d3276d28a48a9b56ee7d -Author: Christof Hanke -Date: Thu Feb 5 12:07:50 2015 +0100 - - bos, pts: emit error messages on stderr - - as one expects. - - Change-Id: Icb67a05b61ddcef8def826768491b9a1952862e9 - Reviewed-on: http://gerrit.openafs.org/11605 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c73d151853a80806247126730a0ffbd984508559 -Author: Ben Kaduk -Date: Wed Feb 11 19:02:00 2015 -0500 - - Namespace-clean some more heimdal symbols - - We get linker conflicts if we try to statically link against the - system libkrb5 when it is heimdal, from both hcrypto and rfc3961. - - While here, add an include guard to hcrypto's config.h. - - Change-Id: Ib5fcd9291b295415325a4ed230bd35d496961367 - Reviewed-on: http://gerrit.openafs.org/11740 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5b3c1042969daec38ccb260e61d665eda0c713ea -Author: Ben Kaduk -Date: Fri Feb 13 09:47:20 2015 -0500 - - Fix incorrect uses of abs() - - abs(3) is a function of one variable of type int returning int. - labs(3) is a function of one variable of type long returning long. - - labs(3) should be used when the input is of type long, as in - kaprocs.c. - - Calling anything from the abs(3) family on a variable of unsigned - type is a bogus type pun, and a logical operation which is a no-op. - (Unsigned values are never negative and thus the absolute value - function is the identity over the entire range of values representable - in an unsigned type.) Just remove the use of abs() for unsigned - values, as in kaprocs.c, krb_udp.c, and vldb_check.c - - While in kaprocs.c, wrap a long line that was touched for the - conversion to labs(3), spell the argument to time(3) as NULL - instead of 0, remove unneeded parentheses, and correct the spelling - of "reserved". - - Change-Id: I0897b250fd885a1230d1622015eec9afe3450b46 - Reviewed-on: http://gerrit.openafs.org/11745 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - -commit fb499c2406450fa5dc423a0b038266d3b8e79e33 -Author: Ben Kaduk -Date: Wed Feb 11 17:47:10 2015 -0500 - - Remove spurious NULL checks - - clang 3.5 is more aggressive about these checks than the previous - FreeBSD system compiler, so new warnings (which became errors) - appeared on FreeBSD 11-CURRENT. - - In afs_dcache.c, checking &tdc->f for NULL-ness has no effect. - The struct fcache f member of struct dcache is an ordinary structure - element; its address will be the value of tdc plus the offset of - f within struct dcache, which will not be NULL even if tdc is NULL. - - In ubik_db_if.c, udbHandle is a file-scope global and thus has - allocated storage; the address of a member variable will never - be NULL. The 0 it was compared against was spelled RX_SECIDX_NULL, - which shows the intended check, which is for the value of the - uh_scIndex member variable, not its address. - - In afscp_server.c, srv->conns can never be NULL since conns is a member - variable of struct afscp_server (of array type, containing pointers - to struct rx_connection). Comparing the array member variable against - NULL is comparing the address of the array, which is never NULL since - it is not allocated separately from struct afscp_server. - - In fssync-debug.c, state.vop->partName is never NULL because - common_volop_prolog always allocates for state.vop, and the - partName member variable of struct fssync_state is of array type, - and thus is not separately allocated from the containing structure. - - Change-Id: I03e1332d8a3320f1a4d303b444985648a207116e - Reviewed-on: http://gerrit.openafs.org/11739 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 8cb4a42496f71c3d47ebe30a96ec33478e203c82 -Author: Stephan Wiesand -Date: Thu Feb 26 10:13:50 2015 +0100 - - Update CellServDB to 20150119 snapshot - - Update all remaining copies of CellServDB in the tree, and make the - Red Hat packaging use it by default too. - - Change-Id: Id915a82b1364ef6e301921e4d3873c7203aef91c - Reviewed-on: http://gerrit.openafs.org/11764 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 1cc77cd43732cca1c617db329a71693903d2b699 -Author: Michael Meffie -Date: Tue Dec 16 16:13:01 2014 -0500 - - vlserver: do not perform ChangeAddr on mh entries, except for removal - - Fix a long standing bug in the ChangeAddr RPC which damages the vldb, - - When vos changeaddr is run with -oldaddr and -newaddr, and the -oldaddr - is present in an multi-homed entry, instead of changing the address in - the mh entry, the server slot is "downgraded" to a single homed entry - and the mh entry is orphaned in the vldb. - - Instead, if the -oldaddr is in a multi-home entry, refuse to change the - address with a VL entry not found error and log the event. - - Multi-homed addresses can be changed manually using the vos setaddrs - command which calls the RegisterAddrs() RPC. - - Change-Id: I20ba3e7fa5ffdb1b1abd2e2a716d8e4bb6594542 - Reviewed-on: http://gerrit.openafs.org/11639 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 30667a5d7b86b29f9aafe2b490d89b8e01bfc541 -Author: Jeffrey Altman -Date: Wed Feb 11 01:25:04 2015 -0500 - - ubik: DISK_UpdateInterfaceAddr == server restart - - If a DISK_UpdateInterfaceAddr RPC is received the server that sent - it restarted. Force the urecovery code to verify the server state. - - Change-Id: I465863dc3a52d844b56d576bd55229435556cfd6 - Reviewed-on: http://gerrit.openafs.org/11738 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - Reviewed-by: Jeffrey Hutzelman - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit d47beca13236c64ed935fabeff9d1001e8a8871f -Author: Jeffrey Altman -Date: Thu Jan 22 01:14:28 2015 -0500 - - ubik: SDISK_Begin no quorum, wrong db, no transaction - - When processing an DISK_Begin RPC verify that there is an active quorum - and that the local database is current. Otherwise, fail the RPC with - a UNOQUORUM error. - - The returned error must be UNOQUORUM instead of USYNC becase the returned - error code will be returned by the coordinator's ContactQuorum_iterate() - to the client that triggered the write transaction. Most ubik clients - will only retry if the error is UNOQUORUM. - - FIXES 131997 - - Change-Id: Icaa30e6aca82e7e7d33e9171a4f023970aba61df - Reviewed-on: http://gerrit.openafs.org/11689 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Hutzelman - Reviewed-by: Jeffrey Altman - -commit 5cca05d1a1c9883e33c953b31c4cb32252474f77 -Author: Anders Kaseorg -Date: Mon Feb 23 00:13:05 2015 -0500 - - Linux 4: struct address_space no longer has backing_dev_info - - The backing_dev_info is only stored in the super_block now. - - Change-Id: I57e147100bd47a8d1f5e97224ceb3322ea102a48 - Reviewed-on: http://gerrit.openafs.org/11756 - Reviewed-by: Marc Dionne - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a5b091e1ec69d4a43d6f1b1efc93134ef7ed2167 -Author: Anders Kaseorg -Date: Sun Feb 22 23:43:49 2015 -0500 - - Treat Linux 4 (and greater) as Linux 2.6/3 - - In an age where Linux version numbers are determined by Google+ polls, - itā€™s clear that they arenā€™t going to be very useful for marking major - API compatibility boundaries like they were in the days of 2.2/2.4. - - Change-Id: I56e0e88eb178573c3eb280d5a5a01d8b8a20a363 - Reviewed-on: http://gerrit.openafs.org/11755 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Marc Dionne - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit e02b852f05c0927d48b6467872378bae99df2760 -Author: Stephan Wiesand -Date: Tue Feb 17 15:34:33 2015 +0100 - - Document --enable-linux-d_splice_alias-extra-iput - - Even though we hope no one will actually ever need to use it, explain - this configure switch in the same place as the others. - - Change-Id: Ib59f963b9000c3e66dc84c7b18eb220f0e108bd5 - Reviewed-on: http://gerrit.openafs.org/11749 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Perry Ruiter - Reviewed-by: Daria Brashear - -commit 7266685a03b12ca03c247623e7ffdc054a017382 -Author: Michael Meffie -Date: Mon Sep 29 12:14:24 2014 -0400 - - vos: preserve cloneId and backupId when restoring - - Preserve the volume clone and backup ids in the volume header when - restoring over an existing volume, instead of always setting the clone - and backup ids to zero. - - For example, before this change, restoring over a volume resets the - ROnly and Backup ids reported in the volume header section of vos - examine. - - $ vos examine xyzzy - xyzzy 536871023 RW 3 K On-line - myhost /vicepa - RWrite 536871023 ROnly 536871024 Backup 536871025 - ... - RWrite: 536871023 ROnly: 536871024 Backup: 536871025 - number of sites -> 2 - server myhost partition /vicepa RW Site - server myhost partition /vicepa RO Site - - $ cat /tmp/xyzzy.dump | vos restore myhost a xyzzy -overwrite incremental - Restoring volume xyzzy Id 536871023 on server myhost partition /vicepa .. done - Restored volume xyzzy on myhost /vicepa - - $ vos examine xyzzy - xyzzy 536871023 RW 3 K On-line - myhost /vicepa - RWrite 536871023 ROnly 0 Backup 0 - ... - RWrite: 536871023 ROnly: 536871024 Backup: 536871025 - number of sites -> 2 - server myhost partition /vicepa RW Site - server myhost partition /vicepa RO Site - - Change-Id: If7ffcf84a983046c10d9d215d672a6a1ba1f9400 - Reviewed-on: http://gerrit.openafs.org/11516 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 34e495d69a8831c57cac2ccf18898e63f02c7745 -Author: Benjamin Kaduk -Date: Wed Dec 10 14:07:14 2014 -0500 - - Handle backupDate of zero - - In older versions of OpenAFS (prior to 2001), the backupDate was - never set. Try to provide somewhat more reasonable behavior in - this case, by using a different date in that case. - - Change-Id: Id74ce003c6a2317b06e78ba64d6891229c16421a - Reviewed-on: http://gerrit.openafs.org/11627 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d14ad1374d39693d8a44c75f4d95607a45b260d2 -Author: Andrew Deason -Date: Thu Jan 30 13:38:01 2014 -0600 - - libafscp: Remove comment with dead code - - You're not supposed to write the length of the submitted data on the - split rx stream for a StoreData operation; the fileserver knows how - much data to read from the "Length" parameter of the StoreData RPC. - - For a FetchData, putting the data length over the split rx stream is - required, since we can't get the "OUT" arguments before reading the - file data. But for a StoreData, this is unnecessary, since the length - is right there in the arguments. - - So just get rid of this commented-out code; it's clearly wrong and - this commit explains why. - - Change-Id: Idde0f9079e90da75d71a142f4a9f36a84ce79776 - Reviewed-on: http://gerrit.openafs.org/10786 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d309b193671a85c118e75c82171144c52ad1c48c -Author: Andrew Deason -Date: Thu Jan 30 00:02:24 2014 -0600 - - rx: Set lastBusy on RX_CALL_TIMEOUT - - Currently, if a server RPC hangs forever, the client call will error - out with RX_CALL_TIMEOUT (if idle/dead timeouts are configured). If we - later try to make a new call on that conn, the server will respond - with BUSY packets, and we'll have to wait until we RX_CALL_TIMEOUT - again. After that we'll set lastBusy and avoid the call channel, but - that extra delay with the BUSY packets is avoidable. - - So, avoid this extra delay by setting lastBusy when we kill a call - with RX_CALL_TIMEOUT, so a future rx_NewCall will avoid the call - channel. It makes sense to set lastBusy here, since the call channel - is more likely to be busy than the other call channels. - - Change-Id: Iadf77f52ae418491e3108a4b0b5388361f2424aa - Reviewed-on: http://gerrit.openafs.org/10785 - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 28f9712b4b1c615e5d0b565fbcaa828b559bff4a -Author: Andrew Deason -Date: Thu Jan 30 00:40:57 2014 -0600 - - rx: Remove RX_CALL_BUSY - - Commit 23d6287f7f494383891a497038e8c0e870e824bf introduced the - behavior where a client can immediately retry a call if it receives a - "busy" packet from the server (meaning, the call channel is already in - use). This happened via Rx returning the error code RX_CALL_BUSY, and - the caller was supposed to immediately retry the call, so Rx could - reissue the RPC on a different call channel. - - However, this behavior makes it more likely for the server to process - an RPC that the client thinks has not been processed. Say the client - issues an RPC, the server replies with a "busy" packet, and the client - resends the original packet before it sees the "busy" packet. In - this case, the server will get the resent packet for the RPC request - and process it, but the client will think the call has failed (and - presumably will retry the call on a new channel). For calls that are - non-idempotent (e.g. MakeDir), this can result in incorrect errors - (e.g. EEXIST) as well as incorrect cache state in the client. - - There may be some ways to mitigate at least some of the problems here, - but this kind of "instant" retry behavior is often not really that - helpful. Calls that take a very long time to run on the server are - very rare (and usually indicate some other problem), while the - occasional short-lived "busy" packet is relatively common (sometimes - the server just hasn't cleaned up the call by the time we issue a new - call). So just get rid of the retrying behavior to ensure we don't - continue to encounter any problems like this. - - To get rid of this behavior, we remove the RX_CALL_BUSY code, and all - code dealing with processing it. This means removing the RX_CALL_BUSY - handling from the client, as well as removing - rx_SetBusyChannelError(). This effectively reverts most of - 23d6287f7f494383891a497038e8c0e870e824bf, and a few other commits - related to RX_CALL_BUSY. - - With this change, if all we get from the server are BUSY packets when - we try to issue an RPC, the call will eventually error out with - RX_CALL_TIMEOUT (or hang forever, if no timeouts are configured). This - can be thought of intuitively as similar to "idle dead" behavior, - since we are just waiting for the server to proceed with processing - the call. So, if "idle dead" is configured, we still timeout after the - "idle dead" timeout. And if no idle or hard dead timeout is - configured, we will hang forever; just like if the server started - processing the call but then hangs forever. - - Note that not all of 23d6287f7f494383891a497038e8c0e870e824bf is - reverted. Namely, the logic to have rx_NewCall try to pick the "least - busy" channel is retained. - - Thanks to Simon Wilkinson for bringing up and discussing this issue in - this thread: - - - - Change-Id: I272e51f252356aa14bc4b8a3b7c594700deb432c - Reviewed-on: http://gerrit.openafs.org/10784 - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0f339711ebf7b7a76e299f9ab9ee74264bedb0d2 -Author: Andrew Deason -Date: Thu Jan 30 00:39:39 2014 -0600 - - rx: Remove RX_CALL_IDLE - - After change Ie0497d24f1bf4ad7d30ab59061f96c3298f47d17, RX_CALL_IDLE - is not generated by Rx anymore; "idle dead" timeouts just cause - RX_CALL_TIMEOUT errors. Any code dealing with it is thus now dead code - (this value was deliberately never sent over the wire), so remove the - dead code. - - Change-Id: I2b38327f77ffc8168712b83506afa1da3eea1224 - Reviewed-on: http://gerrit.openafs.org/10783 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 846f2c8eae4968d1c400d18ec66ca1daf5fdef02 -Author: Andrew Deason -Date: Thu Jan 30 00:36:22 2014 -0600 - - rx: Remove idleDeadDetection - - After change Ie0497d24f1bf4ad7d30ab59061f96c3298f47d17, - testing for idleDeadDetection is equivalent to testing if idleDeadTime - is non-zero. The idleDeadDetection field is thus redundant, so remove - it. - - Change-Id: Id11f2829167f4de1505cee286dcc7c56b431a5a6 - Reviewed-on: http://gerrit.openafs.org/10782 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Daria Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - -commit 7acac948fcda0e772326a26ad24481ccf1ae31ef -Author: Andrew Deason -Date: Mon Jan 27 00:36:14 2014 -0600 - - rx: Rely on remote startWait idleness for idleDead - - This commit removes the functionality introduced in - c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1 (which is also modified by a - few later commits), as well as - 05f3a0d1e0359f604cc6162708f3f381eabcd1d7. Instead we modify the - startWait check in rxi_CheckCall to apply to both "reading" and - "writing" to enforce "idle dead" timeouts. - - Why do this? First, let's start out with the following: - - If an Rx call gets permanently "stuck", what happens? What should - happen? - - Here, "stuck" means that either the server or client hangs while - processing the call. The server or client is waiting for something to - complete before it issues the next rx_Read() or rx_Write() call. In - various situations over the years, this has happened because the - server or client is waiting for a lock, waiting for local disk I/O to - complete, or waiting for some other arbitrary event to occur. - - Currently, what happens with such a "hanging" call is a little - complex, and has several different results in different situations. - The behavior of a call in this "stuck" situation is handled by the - "idle dead" timeout of an Rx call/connection. This timeout is enforced - in rxi_CheckCall, in two different conditionals (if an "idle dead" - timeout is configured): - - if (call->startWait && ((call->startWait + idleDeadTime) < now) && - (call->flags & RX_CALL_READER_WAIT)) { - if (call->state == RX_STATE_ACTIVE) { - cerror = RX_CALL_TIMEOUT; - goto mtuout; - } - } - - and - - if (call->lastSendData && ((call->lastSendData + idleDeadTime) < now)) { - if (call->state == RX_STATE_ACTIVE) { - cerror = conn->service ? conn->service->idleDeadErr : RX_CALL_IDLE; - idle_timeout = 1; - goto mtuout; - } - } - - The first of these handles the case where we are waiting to rx_Read() - from a call for too long (the other side of the call needs to give us - more data). The second handles the case where we are waiting to - rx_Write() for too long (the other side of the call needs to read some - of the data we sent previously). - - This second case was added by commit - c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1, but it has the general - problem that this check does not check if anyone is actually trying to - write to the call, and just tries to keep track of the last time we - wrote to the call. So, we may have written some data to the call - successfully, and then we went off to do something else. We can then - kill the call later for taking too long to write to, even though - nobody is trying to write to it. This results in a few problems: - - (1) When the fileserver is writing to the client, it may need to wait - for various locks and it may need to wait for local disk I/O to - complete. If this takes too long for any reason, the fileserver - will kill the call (currently with VNOSERVICE), but the thread - for servicing the call will still keep running until whatever the - fileserver was waiting for finishes. - - (2) lastSendData is set whenever we send any ACK besides an - RX_ACK_PING_RESPONSE (as of commit - 658d2f47281306dfd46c5eddcecaeadc3e3e7fa9). If we are the server, - and we send any such ACK (in particular, RX_ACK_REQUESTED is - common), the "idle dead" timer starts. This means the server can - easily kill a call for idleness even if the server has never sent - the client anything, and even if the server is still actively - reading from the client. - - (3) When a client tries to issue an RPC for the server, the "idle - dead" timeout effectively becomes a hard dead timeout, since we - will write the RPC arguments to the Rx stream, and then wait for - the server to respond with the output arguments. During this - time, our 'lastSendData' is the last time we sent our arguments - to the server, and so the call must finish before - 'call->lastSendData + idleDeadTime' is in the past. - - In addition to this "idle dead" processing, commit - 05f3a0d1e0359f604cc6162708f3f381eabcd1d7 appears to attempt to provide - "idle dead"-like behavior by disabling Rx keepalives at certain points - (when we're waiting for disk I/O), controlled by the application - process (currently only the fileserver). The idea is that if - keepalives are disabled, the server will just appear unreachable to - the client, and so if disk I/O takes too long, the client will just - kill the call because it looks like the server is gone. However, this - also has some problems: - - (A) Clients send their own keepalives, and the server will still - respond to them. So, the server will not appear to be - inaccessible anyway. But even if it did work: - - (B) This approach only accounts for delays in disk I/O, and not - anywhere else (we could hang for a wide variety of reasons). It - also requires the fileserver to decide when it's okay for a call - to be killed due to "idle dead" and when it's not, which - currently seems to be decided somewhat arbitrarily. - - (C) This doesn't really let the client dictate its own "idle dead" - timeout for idleness specifically; it just looks like the server - went away. - - (D) The fileserver would appear to be unreachable in this situation, - but it's not actually unreachable. This can be confusing to - clients, since distinguishing between a server that is completely - down vs just taking too long is an important distinction. - - (E) As noted in (1) above, the fileserver thread will still keep - waiting for whatever it has been waiting for, even though the - call has been killed and is thus useless. - - So instead of all of this stuff, just modify the rxi_CheckCall "idle - dead" check to depend on the call->startWait parameter instead. This - parameter will be set whenever anyone is waiting for something to - proceed in the call, whether that is waiting to read data or write - data. This should make "idle dead" processing much simpler, as it is - reduced to effectively: if we've been waiting for longer than N - seconds, kill the call. - - This involves ripping out much of the code related to lastSendData and - rx_KeepAlive*. This means removing the call->lastSendData field and - the rx_SetServerIdleDeadErr function, since those were only used for - the behavior in c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1. This also - means removing rx_KeepAliveOn and rx_KeepAliveOff, since those were - only used for the behavior in - 05f3a0d1e0359f604cc6162708f3f381eabcd1d7. This commit also removes the - only known use of the VNOSERVICE error code, so add some comments - saying what this code was used for (especially since it is quite - different from other V* error codes). - - Note that the behavior in (1) could actually be desirable in some - situations. In environments that have clients without "idle dead" - functionality, and those clients cannot be upgraded or reconfigured, - this commit means those clients may hang forever if the server hangs - forever. Some sites may want the fileserver to be able to kill such - hanging calls, so the client will not hang (even if it doesn't free up - the fileserver thread). However, such behavior should really be a - special case for such sites, and not be the default behavior (or only - behavior) for all sites. The fileserver should just be concerned with - maintaining its own threads and availability, and clients should - manage their own timeouts and handle hanging servers. - - Thanks to Markus Koeberl, who originally brought attention to some of - the problematic behavior here, and helped investigate what was going - on in the fileserver. - - Change-Id: Ie0497d24f1bf4ad7d30ab59061f96c3298f47d17 - Reviewed-on: http://gerrit.openafs.org/10773 - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 1f2818192fef9bd2707068414e8800dfc56b681e -Author: Jeffrey Altman -Date: Tue Feb 10 02:36:03 2015 -0500 - - Windows: Fake status info on EACCES - - When enumerating a directory if status info for an entry cannot be - obtained, fake it. Do not return STATUS_ACCESS_DENIED to the redirector - as that will be interpreted as the directory not being listable. - - Change-Id: I488f5d8d244c363135e00e156a685cd56fd060c8 - Reviewed-on: http://gerrit.openafs.org/11736 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit 0008ca80a873975e042993b30cbdc47d8f8f116b -Author: Jeffrey Altman -Date: Thu Jan 22 19:48:32 2015 -0500 - - Windows: foo.backup -> foo.backup too many symlinks - - In the case where an explicit mount point to a .backup volume is - resolved from a .backup volume the cache manager refuses to evaluate - the mount point target. This is meant to address unwanted recursion - in the directory tree searches. - - Change the error code to ERROR_TOO_MANY_SYMLINKS and propagate that - error to the AFS redirector. That will result in the application - receiving STATUS_ACCESS_DENIED instead of - STATUS_REPARSE_POINT_NOT_RESOLVED. - - The STATUS_REPARSE_POINT_NOT_RESOLVED error causes cmd.exe and - powershell.exe to terminate recursive directory searches. - - Change-Id: I5dfdd835e8696b823af45a8e5c33a5ca6320cf31 - Reviewed-on: http://gerrit.openafs.org/11693 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 73cad3be0a3489237ab7e66d3b12c52ffb0b67d0 -Author: Jeffrey Hutzelman -Date: Sun Jun 16 16:28:22 2013 -0400 - - Ignore return values harder - - In various places where we intentionally ignore the return values of system - calls and standard library routines, this changes the way in which we do so, - to avoid compiler warnings when building on Ubuntu 12.10, with gcc 4.7.2 and - eglibc 2.15-0ubuntu20.1. - - Change-Id: I41f806a686d68b02aec2847886bd5d787cbff3d3 - Reviewed-on: http://gerrit.openafs.org/9980 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a762e6871ad6837ee126cec9e63d99388b4bf119 -Author: Andrew Deason -Date: Wed Feb 4 10:25:38 2015 -0600 - - rx: Zero unitialized uio structs - - We use some uio structures that were allocated on the stack, but we - only initialize them by initializing individual fields. On some - platforms (Solaris is one known example, but probably not the only - one), there are additional fields we do not initialize. Since we - cannot be certain of what any additional fields there may be, just - zero the whole thing. - - This is basically the same change as - I0eae0b49a70aee19f3a9ec118b03cfb3a6bd03a3, but in the rx subtree. - - Change-Id: I400144143bb1f47409eccb931daacc8a5058e074 - Reviewed-on: http://gerrit.openafs.org/11711 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - Reviewed-by: Daria Brashear - -commit c16ec571273b03e9d4f4905efdeaa2182bbe0c6a -Author: Benjamin Kaduk -Date: Wed Nov 5 14:26:36 2014 -0500 - - Deorbit AIX-specific QuickStartGuide bits - - Although there are still servers deployed on AIX systems, - there may not be any clients in use, and it is unlikely that - there will be new deployments which require this documentation. - - Change-Id: Id6554e120cb01c5d4de5c7de67e74e802b7ea217 - Reviewed-on: http://gerrit.openafs.org/11592 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ca66b1aff35b31a944679656ca71546768c91c47 -Author: Benjamin Kaduk -Date: Wed Nov 5 14:26:36 2014 -0500 - - Deorbit HP-UX-specific QuickStartGuide bits - - Get the rest of them all at once. - - Change-Id: Idb33746d43a4a1a9f41e21d7f6d81360ecdd952e - Reviewed-on: http://gerrit.openafs.org/11591 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 69e84bd8a2ccc6065c3a06b7239c855207b92e4d -Author: Daria Brashear -Date: Wed Jan 14 10:22:25 2015 -0500 - - LINUX: ensure mvid is set on root vnodes - - it shoudn't happen that we aren't setting mvid on root vnodes, - so assert so we notice if the invariant is violated - - Change-Id: I32c8aa4dced8751d11817d74508b87ff44261837 - Reviewed-on: http://gerrit.openafs.org/11669 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - -commit 31e4a030f58f7ecb0cbc4236cab3d7cc25f29ccb -Author: Jeffrey Altman -Date: Thu Jan 22 19:36:59 2015 -0500 - - afs: refactor afs_linux_dentry_revalidate - - No functional change. Separate the - - if (locked && vcp->mvstat == 1) { ... } - - conditional into - - if (locked) { - if (vcp->mvstat == 1) { ... } - } - - in preparation for another change. - - Change-Id: I1fe42ed7771882ce365d9359a4e6187c283592a8 - Reviewed-on: http://gerrit.openafs.org/11692 - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 381c7afbe60a0e6d53e8cc1bca2de920574b3383 -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. - - Change-Id: Ie6ecf126d1ed663f161c26da2a8c4d568369d99d - Reviewed-on: http://gerrit.openafs.org/11684 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit d908845831ec6d6f641b06926b6724bd4818043c -Author: Perry Ruiter -Date: Mon Jan 19 19:35:41 2015 -0800 - - doc: backup manpage fix - - While reviewing gerrit 11678 I noticed the -n flag was - duplicated. Remove the duplicate flag. - - Change-Id: I4a63a50199e1564a0b0394445e9dc1569bb08a0c - Reviewed-on: http://gerrit.openafs.org/11688 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - -commit 5ef1de5eddccce0e7b135bb9ed4decaa62fc19ce -Author: Andrew Deason -Date: Fri Jan 30 13:29:57 2015 -0600 - - afs: Zero uninitialized uio structs - - In several places in the code, we allocate a 'struct uio' on the - stack, or allocate one from non-zeroed memory. In most of these - places, we initialize the structure by assigning individual fields to - certain values. However, this leaves any remaining fields assigned to - random garbage, if there are any additional fields in the struct uio - that we don't know about. - - One such platform is Solaris, which has a field called uio_extflg, - which exists in Solaris 11, Solaris 10, and possibly further back. - One of the flags defined for this field in Solaris 11 is UIO_XUIO, - which indicates that the structure is actually an xuio_t, which is - larger than a normal uio_t and contains additional fields. So when we - allocate a uio on the stack without initializing it, it can randomly - appear to be an xuio_t, depending on what garbage was on the stack at - the time. An xuio_t is a kind of extensible structure, which is used - for things like async I/O or DMA, that kind of thing. - - One of the places we make use of such a uio_t is in afs_ustrategy, - which we go through for cache reads and writes on most Unix platforms - (but not Linux). When handling a read (reading from the disk cache - into a mapped page), a copy of our stack-allocated uio eventually gets - passed to VOP_READ. So VOP_READ for the cache filesystem will randomly - interpret our uio_t as an xuio_t. - - In many scenarios, this (amazingly) does not cause any problems, since - generally, Solaris code will not notice if something is flagged as an - xuio_t, unless it is specifically written to handle specific xuio_t - types. ZFS is one of the apparent few filesystem implementations that - can handle xuio_t's, and will detect and specially handle a - UIOTYPE_ZEROCOPY xuio_t differently than a regular uio_t. - - If ZFS gets a UIOTYPE_ZEROCOPY xuio_t, it appears to ignore the uio - buffers passed in, and supplies its own buffers from its cache. This - means that our VOP_READ request will return success, and act like it - serviced the read just fine. However, the actual buffer that we passed - in will remain untouched, and so we will return the page to the VFS - filled with garbage data. - - The way this typically manifests is that seemingly random pages will - contain random data. This seems to happen very rarely, though it may - not always be obvious what is going on when this occurs. - - It is also worth noting that the above description on Solaris only - happens with Solaris 11 and newer, and only with a ZFS disk cache. - Anything older than Solaris 11 does not have the xuio_t framework - (though other uio_extflg values can cause performance degradations), - and all known non-ZFS local disk filesystems do not interpret special - xuio_t structures (networked filesystems might have xuio_t handling, - but they shouldn't be used for a cache). - - Bugs similar to this may also exist on other Unix clients, but at - least this specific scenario should not occur on Linux (since we don't - use afs_ustrategy), and newer Darwin (since we get a uio allocated for - us). - - To fix this, zero out the entire uio structure before we use it, for - all instances where we allocate a uio from the stack or from - non-zeroed memory. Also zero out the accompanying iovec in many - places, just to be safe. Some of these may not actually need to be - zeroed (since we do actually initialize the whole thing, or a platform - doesn't have any additional unknown uio fields), but it seems - worthwhile to err on the side of caution. - - Thanks to Oracle for their assistance on this issue, and thanks to the - organization experiencing this issue for their patience and - persistence. - - Change-Id: I0eae0b49a70aee19f3a9ec118b03cfb3a6bd03a3 - Reviewed-on: http://gerrit.openafs.org/11705 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Daria Brashear - -commit b9647ac1062509d6a3997ca575ab1542d04677a2 -Author: Andrew Deason -Date: Fri Jan 30 13:08:19 2015 -0600 - - SOLARIS: Avoid uninitialized caller_context_t - - Currently we pass a caller_context_t* to some of Solaris' VFS - functions (VOP_SETATTR, VOP_READ, VOP_WRITE, VOP_RWLOCK, - VOP_RWUNLOCK), but the pointer we pass is to uninitialized memory. - - This code was added in commit 51d76681, and this particular argument - is mentioned in - , - where the author doesn't really know what the argument is for. - - Over 10 years later, it's still not obvious what this argument does, - since I cannot find any documentation for it. However, browsing - publicly-available Illumos/OpenSolaris source suggests this is used - for things like non-blocking operations for network filesystems, and - is only interpreted by certain filesystems in certain codepaths. - - In any case, it's clear that we're not supposed to be passing in an - uninitialized structure, since the struct has actual members that are - sometimes interpreted by lower levels. Other callers in - Illumos/OpenSolaris source seem to just pass NULL here if they don't - need any special behavior. So, just pass NULL. - - I am not aware of any issues caused by passing in this uninitialized - struct, and browsing Illumos source and discussing the issue with - Oracle engineers suggest there would currently not be any issues with - the cache filesystems we would be using. - - However, it's always possible that issues could arise from this in the - future, or there are issues we don't know about. Any such issues would - almost certainly appear to be non-deterministic and be a nightmare to - track down. So just pass NULL, to avoid the potential issues. - - Change-Id: I41babe520530ba886d1877de99eb1644c1b9f699 - Reviewed-on: http://gerrit.openafs.org/11704 - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit cb6de07fb8a12199ad0f1c4990f19074a9a54fcc -Author: Hans-Werner Paulsen -Date: Wed Sep 17 09:41:16 2014 +0200 - - use V_creationDate in DumpHeader for R/O volumes - - This patch modifies a patch committed as 1e6fb1b7b7, the dumpTimes.to is now - set to creationDate for R/O volumes. The old value copyDate is wrong, if the - R/O volumes is re-cloned. This does not happen with "vos dump -clone", but - may happen with dumping a R/O volume directly: "vos dump ". - - Change-Id: Ia3ae7e1ae4a22aa47f0f28fac45077ff6789e720 - Reviewed-on: http://gerrit.openafs.org/11468 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - -commit 40d97fa9f0356fce7aec76d69dbacb81eac3db37 -Author: Antoine Verheijen -Date: Tue Jan 27 19:49:04 2015 -0700 - - OpenBSD: Clean up use of LK_CANRECURSE in call to lockmgr() - - The LK_CANRECURSE and LK_RECURSEFAIL flags in the call to lockmgr() - are mutually exclusive. Previous version of OpenBSD didn't really - check well for this but more recent versions look for the conflict - and take a kernel panic when they're both set. - - The OpenBSD kernel module currently just blindly sets the - LK_CANRECURSE flag in its call to lockmgr(). This patch changes - that behaviour so that it checks to make sure that the LK_RECURSEFAIL - flags is not set before it actually applies the LK_CANRECURSE flag. - That removes the kernel panics that have started to arise. - - This behaviour is more consistent with other OpenBSD code that makes - use of the LK_CANRECURSE flag. - - Change-Id: Ie435559f4b88195136e09c6184543861f06257da - Reviewed-on: http://gerrit.openafs.org/11699 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit d354386b8c6047206800dc52ab82886e23db77ad -Author: Antoine Verheijen -Date: Tue Jan 27 19:44:56 2015 -0700 - - OpenBSD: Remove obsolete parameter in call to osi_VM_FlushVCache() - - The second parameter in the call to osi_VM_FlushVCache() in the kernel - module is obsolete and has been removed. However, one call in the - OpenBSD module still contains that parameter in its call. This patch - removes it, eliminating the compile error. - - Change-Id: Ia3f79c74e86b8038301459e1adbf17a58056e8b1 - Reviewed-on: http://gerrit.openafs.org/11698 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - -commit 15260c7fdc5ac8fe9fb1797c8e383c665e9e0ccd -Author: Marc Dionne -Date: Thu Dec 18 08:43:22 2014 -0500 - - Linux: d_splice_alias may drop inode reference on error - - d_splice_alias now drops the inode reference on error, so we - need to grab an extra one to make sure that the inode doesn't - go away, and release it when done if there was no error. - - For kernels that may not drop the reference, provide an - additional iput() within an ifdef. This could be hooked up - to a configure option to allow building a module for a kernel - that is known not to drop the reference on error. That hook - is not provided here. Affected kernels should be the early - 3.17 ones (3.17 - 3.17.2); 3.16 and older kernels should not - return errors here. - - [kaduk@mit.edu add configure option to control behavior, which - is mandatory on non-buildbot linux systems] - - Change-Id: Id1786ac2227b4d8e0ae801fe59c15a0ecd975bed - Reviewed-on: http://gerrit.openafs.org/11643 - Tested-by: BuildBot - Reviewed-by: Michael LaƟ - Reviewed-by: Jeffrey Altman - -commit b9d86a12d1fccf93f0663b06a317a01811d981d8 -Author: Chas Williams (CONTRACTOR) -Date: Mon Dec 15 11:04:06 2014 -0500 - - IRIX: remove mention of unsupported sgiefs from Makefile.in - - Change-Id: Ib3594fa5c75df2c10d2692801ed64d657ece5d19 - Reviewed-on: http://gerrit.openafs.org/11635 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 84422047f4948d88ab91fc4132767c272138d3f4 -Author: Chas Williams (CONTRACTOR) -Date: Mon Dec 15 10:58:02 2014 -0500 - - IRIX: Move src/sgistuff to platform/IRIX - - Change-Id: Ie7e17859c346e472af1d07adf2c359250f71d653 - Reviewed-on: http://gerrit.openafs.org/11634 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 6e545ebf974c81f29b3249d3201821b52586ba6f -Author: Benjamin Kaduk -Date: Wed Nov 5 14:26:36 2014 -0500 - - Deorbit IRIX-specific QuickStartGuide bits - - Get the rest of them all at once. - - Change-Id: Ife9920f00ec8eea953929a76a30f86d958d55f9c - Reviewed-on: http://gerrit.openafs.org/11590 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ccda3b6cbbb61fb8d9bc3eea451beb299ad01c1b -Author: Benjamin Kaduk -Date: Thu Dec 4 16:52:37 2014 -0500 - - Add auditing to GetXStats - - This will record the caller as well as the fact that we received - a GetXStats call. - - Change-Id: I101b9fcea37e26e031efa4a8cf74df8351866dcf - Reviewed-on: http://gerrit.openafs.org/11620 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 012fc253c21e6ab35ddc571aed6706fd3c75e74e -Author: Hans-Werner Paulsen -Date: Tue Aug 26 16:44:51 2014 +0200 - - AFSVolClone: remove calls to AssignVolumeName - - The calls in AFSVolClone to AssignVolumeName are unnecessary, because - the volume name is overwritten few lines later with strcpy. - - Change-Id: If5031271b9ade08ae248703c8a72f3a083fd4fce - Reviewed-on: http://gerrit.openafs.org/11432 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 2b1481dae535c399cce837f3d63b1c76831b8190 -Author: Simon Wilkinson -Date: Wed Jan 9 09:52:53 2013 +0000 - - Build system: MT_LIBS includes XLIBS - - The MT_LIBS library list already includes XLIBS, so there's no need - to specify both on a link line. - - Change-Id: I8594b1b6e1a16af741b40822cbce49e846b26f49 - Reviewed-on: http://gerrit.openafs.org/8904 - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit d7052df849278ca685bae113a580bfaadce3d2aa -Author: Andrew Deason -Date: Fri Apr 23 17:51:28 2010 -0500 - - Add asserts to VLock* functions - - Make sure we don't continue on if we have unbalanced locks and - unlocks. Having a negative refcount is a serious internal error, and - they are difficult to fix unless we assert right away. - - Change-Id: Ib9b5b3f209635e0365df96c79ea8bf49c765008b - Reviewed-on: http://gerrit.openafs.org/2594 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Daria Brashear - -commit 82a30ed17c9cf56e319d5e13ca2e18d82f8b239c -Author: Andrew Deason -Date: Thu Oct 4 14:15:34 2012 -0500 - - DAFS: Free header on partially-attached vol salv - - When we VRequestSalvage_r a volume, normally the header is freed when - the volume goes offline. This happens when we VOfflineForSalvage_r, - either via VCheckSalvage when nUsers drops to 0, or in - VRequestSalvage_r itself if nUsers is already 0. We cannot free the - header under normal circumstances, since someone else may have a ref - on vp, which implies that the vol header object is okay to use. - - However, for VOL_SALVAGE_NO_OFFLINE, we skip all of that. For - VOL_SALVAGE_NO_OFFLINE, the volume has only been partially attached, - so it does not go through the full offlining process, so we don't ever - hit the normal VPutVolume_r handlers etc. So, in the current code, we - don't free the header. But our nUsers drops to 0 anyway, and when - nUsers is 0, our header is supposed to be on the LRU (if we have one). - "oops" - - Rectify this by freeing the volume header when VOL_SALVAGE_NO_OFFLINE - is set. Add some comments to try to be very clear about what's going - on. - - Note that similar behavior was removed in commit - 4552dc552687267fce3c7a6a9c7f4a1e9395c8e5 via a similar flag called - VOL_SALVAGE_INVALIDATE_HEADER. I believe now that this is the same - scenario that VOL_SALVAGE_INVALIDATE_HEADER was trying to solve. - However, VOL_SALVAGE_INVALIDATE_HEADER was not always used correctly, - and its purpose was not really adequately explained, which contributed - to the idea that its very existence was buggy. - - Previously, when VOL_SALVAGE_INVALIDATE_HEADER existed, it was used - incorrectly in the VRequestSalvage_r calls in GetVolume, - VForceOffline_r, and VAllocBitmapEntry_r. All of these call sites - could have a vp with other references held on it, and so invalidating - the header there can cause segfaults when the header is freed. So - ideally, commit 4552dc552687267fce3c7a6a9c7f4a1e9395c8e5 would have - just removed the flag from those call sites. - - This change effectively restores the behavior that - VOL_SALVAGE_INVALIDATE_HEADER provided. But no new flags are gained, - since this behavior is what we want for the VOL_SALVAGE_NO_OFFLINE - flag. This is not a coincidence; for the 'normal' case, we will free - the header whenever we offline the volume. But for the 'do not - offline' case, obviously that will never happen, so we need to do it - separately. So, these two flags are really the same thing. - - Change-Id: Ia369850a33c0e781a3ab2f22017b8559410ff8bf - Reviewed-on: http://gerrit.openafs.org/8204 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 71072c2bb373a6ae5edec91884985c3cfc478147 -Author: Andrew Deason -Date: Thu Apr 4 14:39:41 2013 -0500 - - ihandle: Add a comment on IH_OPEN/IH_REALLYCLOSE - - Currently, it's not really 'safe' in ihandle to issue an IH_OPEN - against an IHandle_t when an IH_REALLYCLOSE is running at the same - time. The reasons for this are explained a bit in ticket 131530 and - related commits, but briefly: - - Say IH_OPEN runs, and drops IH_LOCK to open a new fd on disk. Then - IH_REALLYCLOSE runs and closes all fds, or marks them as needing - close. The running IH_OPEN then acquires IH_LOCK again and puts the - newly-opened fd onto the per-IH list of fds. We now have an fd that - effectively "survives" across the IH_REALLYCLOSE; effectively - IH_REALLYCLOSE did not close all fds for the ih. - - This is possibly fixable by maintaining some extra information in - IHandle_t's, but this is only a problem if we allow IH_OPEN calls to - happen simultaneously with IH_REALLYCLOSE calls. Ever since - ih_sync_thread was removed (or changed to not call IH_OPEN), there - should be no cases where this is possible. All instances of - IH_REALLYCLOSE happen during error recovery for a newly-created file, - or happen under a per-vnode write lock, or for volume metadata files - only happens when the ref count for a volume drops to zero when we're - offlining the volume. - - So, do not bother trying to fix this, since doing so is currently a - waste of time and the resulting complexity could introduce bugs. But - in case someone ever tries to do something resulting in IH_OPEN calls - executing outside the normal threads of execution, add a comment - around the IH_REALLYCLOSE explanations to try and briefly explain that - this cannot currently be done. - - Change-Id: I989806635f3b048b0c084480a4b02dc1902ba031 - Reviewed-on: http://gerrit.openafs.org/9709 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit d43699173e0e5ee5650974fcff105b38105c0422 -Author: Benjamin Kaduk -Date: Wed Jan 14 15:05:35 2015 -0500 - - opr: implement the BSD ffs() functions - - Provide opr implementations of ffs(), fls(), ffsll(), and flsll(). - There is no need to provide the 'long' form, since int is 32 bits - and long long is 64 bits. - - These functions return the index of the first (or last) bit set - in a given (long long) word, or zero if no bits are set. - - Change-Id: I126000f8b650f41d67567a9af659e0805478af2d - Reviewed-on: http://gerrit.openafs.org/11671 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Daria Brashear - -commit 6419d241866af95942d285b2e07dd510a43086f6 -Author: Benjamin Kaduk -Date: Mon Jan 12 17:48:25 2015 -0500 - - afs: Remove unused constant DCSIZE - - The size of the dcache hash table is automatically determined - from the size of the vcache hash table size, since even before - the initial OpenAFS 1.0 release. AFS 3.3 had constants - DCHASHSIZE and DVHASHSIZE which were used to size the respective - hash tables, but DCSIZE was unused even there. - - Change-Id: I1f4e278eacb881b60a457fa9871225de7ce0f9f8 - Reviewed-on: http://gerrit.openafs.org/11672 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit afa6bda887c39101dbfc7c3268a315e48d47fa09 -Author: Andrew Deason -Date: Tue Dec 16 17:03:34 2014 -0600 - - cacheout: Use authenticated secClass for VLDB - - Currently 'cacheout' will always utilize an unauthenticated connection - when talking to the VDLB, even if it uses an authenticated connection - when talking to fileservers. This is regardless of any tokens - retrieved or command-line parameters, etc. - - Using an authenticated connection to the VLDB can be useful, since a - user may want to encrypt the VLDB communication, or require stronger - guarantees of data consistency. So, just use the same security class - information for our VLDB communication as for our fileserver - communication. - - 'scnull' is now not used anywhere after this commit, so get rid of it. - - Change-Id: I1e8a440ea7427399a3b219246e4c3623a603c35e - Reviewed-on: http://gerrit.openafs.org/11637 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 52b8073a6c1ef11f1a47fb26d77efd87425be556 -Author: Michael Meffie -Date: Fri Nov 14 16:57:53 2014 -0500 - - fix byte ordering in check_sysid - - Several uuid fields as well as the ip addreses in the sysid file are in - network byte order. Fix the check_sysid utility to decode these fields - properly. In addition, print the server uuid in the common string - format used to display uuids, instead of by individual uuid fields. - - Change-Id: I9688e9117490d0ef0eb6dd5af417222482322e0c - Reviewed-on: http://gerrit.openafs.org/11603 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 7644d02f258cd2dfd880d7d52c2f41b2eb2ce870 -Author: Benjamin Kaduk -Date: Sun Dec 14 15:12:04 2014 -0500 - - rx: rxi_SendPacketList remove duplicate conditional - - Presumably these checks were different at some point in the past. - - Change-Id: I0fb8737404a3c4fa786ab7965b60d35328d0bf32 - Reviewed-on: http://gerrit.openafs.org/11632 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit a1a6331e2e1ccfd846927752a5aacb7a39c14488 -Author: Benjamin Kaduk -Date: Sat Dec 13 23:18:36 2014 -0500 - - rx: Remove dead AFS_ADAPT_PMTU SUN5 code - - AFS_ADAPT_PMTU is only defined on linux26, so anything which is - conditional on both AFS_ADAPT_PMTU and AFS_SUN5_ENV being set is - dead code. - - This seems to have been dead code since its introduction in - commit 1206e7538be86f073b21cd289266286b60a95d0a. - - Change-Id: I9bb6ff40de87a7f2d8d953ef7583c6c2b090ab48 - Reviewed-on: http://gerrit.openafs.org/11631 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Daria Brashear - -commit d03e3c392eee2bd9158c417f42bcbf2009dabfc3 -Author: Andrew Deason -Date: Thu Sep 13 17:58:50 2012 -0500 - - rx: Normalize use of some MTU-discovery fields - - When we store MTUs (peer->ifMTU, peer->natMTU, etc.), we store the - maximum transport unit usable by RX, i.e., excluding the IP and UDP - headers, but including the RX header. Contrariwise, when we track the - size of packets we've sent (conn->lastPacketSize, peer->maxPacketSize), - we track logical packet lengths which exclude the RX header (and the IP - and UDP headers). However, the consumers of lastPacketSize and - maxPacketSize were not always interpreting their values correctly as - excluding the RX (and other) headers. - - Add comments to these fields in their respective structure definitions - to help make clear what they contain (and the difference between them). - Correct several checks which were using the wrong constant for - correcting between these two worldviews (and the wrong sign). Modernize - the style of lines that are touched. - - The lastPacketSize and maxPacketSize variables are only accessed from - five places: while sending packets, while processing acks, while sending - acks, while handling growMTU events, and in rxi_CheckCall(). They are - used to track the size of packets that have been successfully sent (and - thus, indirectly, to control the size of packets we send). The - maxPacketSize is only set once we have received an ack from the peer for - a packet of that size, and lastPacketSize tracks the size of a - speculative packet larger than that size, until it is acked. - - When sending packets, we check if the size of the packet we are sending - exceeds the recorded maxPacketSize, and if so, record that speculative - size in the lastPacketSize variable, along with the sequence number of - that packet in lastPacketSizeSeq. - - Correspondingly, when processing acks, if the packet tracked in - lastPacketSizeSeq is being acked, we know that our speculative large - packet was successfully received, and can attempt to update the recorded - maxPacketSize for the peer. This is done through an intermediate - variable, 'pktsize', which holds either the value of lastPacketSize or - lastPingSize, without adjustment for the size of any headers. - - The ack processing has a bit of code to handle the case where - maxPacketSize has been reset to zero, initializing it to a small value - which should be expected to always work. The intention seems to have - been to initialize maxPacketSize to the smallest permitted value (since - RX_MIN_PACKET_SIZE is amount of data available to RX in the smallest - permitted IP packet), but the old code was actually initializing - maxPacketSize from zero to something a bit larger than the minimum, by - RX_IPUDP_SIZE + RX_HEADER_SIZE. This over-large initialization was - mostly harmless, see below. After this potential initialization, - 'pktsize' was incorrectly used to set a new ifMTU and natMTU for the - peer. It correctly determined that a packet larger than the previous - maxPacketSize had been acked, but then set the peer's ifMTU and natMTU - to smaller values than the acked packet actually indicates. (It is - careful to only increase the ifMTU, though.) The actual peer->MTU is - *not* updated here, but will presumably trickle through eventually via - rxi_Resend() or similar. It is possible that this code should be using - rxi_SetPeerMtu() or similar logic, but that might involve locking issues - which are outside the scope of this analysis. - - The over-large initialization of maxPacketSize (from zero) was - fortuitously mostly harmless on systems using minimum-sized IP packets, - since a correspondingly wrong check was used to detect if a new MTU - invalidates this maxPacketSize, with the constants offsetting. - Likewise, the checks in rxi_SendAck() had the wrong constants, but they - offset to produce the correct boundary between small and large packets - while trying to grow the MTU. Unfortunately, the old behavior in the - "small" case is not correct, and the grow MTU event would try to send a - packet with more padding than was intended. In networks allowing - packets slightly larger than the minimum (but not much larger than the - minimum), the old code may have been unable to discover the true MTU. - - In the main (MTU-related) logic of rxi_SendAck, a variable 'padbytes' is - set to a small increment of maxPacketSize in the "small" case, and a - larger increment of maxMTU in the "large" case. There is a floor for - padbytes based on RX_MIN_PACKET_SIZE, which ended up being larger than - intended in the old code by approximately the size of the rx header. - (Some of the adjustments performed are rather opaque, so the motivations - are unclear.) - - The more interesting places where accesses to lastPacketSize and - maxPacketSize happen are during the MTU grow events and in - rxi_CheckCall(). - - In rxi_CheckCall(), the packet size variables are only accessed if - the connection has the msgsizeRetryErr flag set, the call is not timed - out (whether for idleness or during active waiting), and the call has - actually received data. In this case, we conclude that sending packets - failed and decrease the MTU. The old code was quite broken in this - regard, with a reversed sense of conditional for whether a speculative - large packet was outstanding, and a rather large decrease in MTU size - of effectively 128 + RX_HEADER_SIZE + RX_IPUDP_SIZE = 212, when only - a decrease of 128 was intended. The new code corrects the sense of - the conditional and sets the decrease in MTU to the intended value of 128. - - With respect to MTU grow events, this change only touches - rxi_SetPeerMtu(), to correct the conditional on whether the MTU update - invalidates/overrides the cached maxPacketSize. There is a window of - values which could cause the old code to incorrectly fail to invalidate - the cached maxPacketSize. Values in this window could result in the old - code being stuck on a bad MTU guess, but should not cause an actual - failure to communicate. That conditional zeroing of maxPacketSize is - the only access to the PacketSize variables in rxi_SetPeerMtu(). - maxPacketSize is also checked in rxi_GrowMTUEvent(), but only against - zero to avoid sending RX_ACK_MTU packets needlessly, so it is unaffected - by the issue at hand. - - In summary, in certain network conditions, the old code could fail - to find an optimum MTU size, but would always continue to operate. - The new code is more likely to find a better MTU size, and the old - and the new code should interoperate fine with both each other and - themselves. - - [kaduk@mit.edu add a few missed cases; expound on analysis in commit message] - - Change-Id: I7494892738d38ffe35bdf1dfd483dbf671cc799a - Reviewed-on: http://gerrit.openafs.org/8111 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit fa5434adf19d040bd194b63993b81263c395fa78 -Author: Andrew Deason -Date: Sun Sep 14 14:24:17 2014 -0500 - - afs: Warn about afs_conn overcounts - - Currently we panic if we detect an undercount on an afs_conn - structure, as this is a serious bug and can cause corruption and other - issues. But an overcount is never noticed, until the refCount - overflows and looks negative. Log a warning if the refCount gets - really high, so an administrator has a chance at noticing and - notifying a developer before the machine actually panics. - - [kaduk@mit.edu use the %p format specifier, mandated by C89] - - Change-Id: Ifc291fc10959e4e1c60115813d82a09e5a65ef75 - Reviewed-on: http://gerrit.openafs.org/11465 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Daria Brashear - -commit 0c89335b5aa7ae3582862596878936dfcbe99bf1 -Author: Andrew Deason -Date: Tue Apr 30 17:32:26 2013 -0500 - - afs: Refactor GetDSlot parameters - - The 'indexvalid' and 'datavalid' parameters were really representing 3 - different scenarios, not 2 different values with 2 possibilities each. - Change these to a single parameter, 'type', with 3 different values: - DSLOT_NEW, DSLOT_UNUSED, and DSLOT_VALID. Hopefully this will make the - relevant code paths easier to understand. - - This should incur no functional change; it is just code - reorganization. - - Change-Id: Iac921e74532de89121b461fa0f53ddb778735e0c - Reviewed-on: http://gerrit.openafs.org/9834 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Daria Brashear - -commit d61cb9ad764115811fcca3dd0a735ecad1d6eac4 -Author: Andrew Deason -Date: Mon Dec 1 10:11:38 2014 -0600 - - LINUX: Remove fix_bad_parent - - For Linux, fix_bad_parent (and in 1.6 and earlier, check_bad_parent) - served the purpose of fixing mvid if it was "wrong", for volume-root - vcaches (mvstat == 2). - - However, in modern Linux, we never really use mvid for root vcaches. - This would normally be used for looking up ".." entries in the root - dir, but Linux handles that for us. - - Specifically, the only times an "mvstat == 2" mvid is used are: - - - afs_lookup(), where we specifically check for a ".." lookup. Linux - cannot give us a lookup for "..", since Linux itself services ".." - lookups through the dcache. - - - afs_readdir_move(), where we look for ".." entries. Linux does not - use this function, since Linux reimplements afs_readdir() in - afs_linux_readdir(), and so this function is never called. - - Of course, mvid is used in many other locations, mostly for "mvstat == - 1" vcaches (mountpoints) and a few other special cases. But these are - the instances where mvid is relevant for root dirs. - - So, since mvid is never really used for "mvstat == 2" vcaches on - Linux, don't bother trying to keep it up-to-date. Doing so is just - needless waste, and causes problems when there are bugs in - fix_bad_parent. The mvid field is still updated in cross-platform code - from time to time; removing that would be more complex and possibly - not worth the effort. - - Change-Id: I5011ba069e5c8ed947ab6ff8d8dd393241d9c4bf - Reviewed-on: http://gerrit.openafs.org/11615 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Daria Brashear - -commit 8b6ea7213a69f19ce2e591f1ae56a1db946c136c -Author: Benjamin Kaduk -Date: Wed Dec 10 14:36:36 2014 -0500 - - Add AFSCONF_NOCELLNAME error code - - Contrast with AFSCONF_NOCELL, which is for when no cell configuration - information is available at all (i.e., a struct afsconf_dir* was NULL) -- - this code is used when there is some cell configuration available, but - that configuration does not include the cell name. - - Replace the only existing use of AFSCONF_UNKNOWN with this more-informative - error code, leaving AFSCONF_UNKNOWN free for use in other situations. - - Change-Id: I989756a960e5377545af43f8e9414d1f2d6476b4 - Reviewed-on: http://gerrit.openafs.org/11628 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 72e22eb00f641f137f7dbe4195d6d82f4a8addc9 -Author: Marc Dionne -Date: Mon Jan 5 07:17:14 2015 -0500 - - Linux 3.19: struct nameidata becomes opaque - - With kernel 3.19 struct nameidata becomes opaque. As a result - we cannot rely on STRUCT_NAMEIDATA_HAS_PATH being true for - new kernels. - - Rework the conditions here so that STRUCT_NAMEIDATA_HAS_PATH - is only tested when we're using a nameidata structure and - the result matters. - - Also modify a configure test to use a nameidata pointer - instead of an actual structure. - - Change-Id: I0d71fca44a67570ac3b86151c70f2969dc463f4f - Reviewed-on: http://gerrit.openafs.org/11648 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit ec9a7c2db833efacfd0692c658c2d38ed9f852ba -Author: Marc Dionne -Date: Mon Jan 5 07:13:37 2015 -0500 - - Linux 3.19: Use mgs_iter in struct msghdr - - struct msghdr gets msg_iov replaced by msg_iter. Add a configure - test and adjust the affected code. - - Change-Id: I9b9e3987e55a10e48087b318d98a5a7bb17a4612 - Reviewed-on: http://gerrit.openafs.org/11647 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit f9ca302b7a10ffc36f2439e068333ab147791c5a -Author: Marc Dionne -Date: Mon Jan 5 07:03:16 2015 -0500 - - Linux 3.19: No more f_dentry - - Back in kernel 2.6 .20 struct file lost its f_dentry field - which was replaced by f_path.To ease transition f_dentry - was defined as f_dpath.dentry in the same header.This - define finally gets removed with kernel 3.19. - - Keep using f_dentry in the code, but add a configure test - for the presence of f_path and the absence of the f_dentry - macro so we can add it if its missing. - - Change - Id:I8e8a7e4d3ddd861018de50af1eb7315e730ad529 - - Change-Id: I4b05aa3d37f01e0e675c420cbf941d682c49c69c - Reviewed-on: http://gerrit.openafs.org/11646 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit d6f29679098aff171e69511823b340ccf28e5c31 -Author: Marc Dionne -Date: Thu Dec 18 07:13:46 2014 -0500 - - Linux: d_alias becomes d_u.d_alias - - The fields in struct dentry are re-arranged so that d_alias - shares space wth d_rcu inside the d_u union. Some references - need to change from d_alias to d_u.d_alias. - - The kernel change was introduced for 3.19 but was also backported - to the 3.18 stable series in 3.18.1, so this commit is required - for 3.19 and current 3.18 kernels. - - Change-Id: I711a5a3a89af6e0055381dfd4474ddca2868bb9c - Reviewed-on: http://gerrit.openafs.org/11642 - Reviewed-by: Anders Kaseorg - Reviewed-by: Michael LaƟ - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit a0ffea098d8c5c5b46c6bf86a12d28d6e7096685 -Author: Andrew Deason -Date: Tue Mar 12 09:51:39 2013 -0500 - - ptserver: Limit length on namelist, idlist - - namelist and idlist are used as IN parameters to ptserver RPCs that - can be issued by unauthenticated clients. Not having a length limit on - them means anyone can use up a ton of ptserver memory by just issuing - those RPCs with a very large length. - - So, put a limit on them. PR_MAXLIST is a constant that already exists, - but is small enough to potentially limit real use, so define a new - OpenAFS-internal value for this purpose. - - prlist and prentries are returned from the ptserver to clients, so - also limit them in the same way. - - Change-Id: Iaf45639bbae401093354adbfb4daa172fe97ede1 - Reviewed-on: http://gerrit.openafs.org/9588 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 00a33b26d74aa067086ddc340efb82184715857f -Author: Chas Williams (CONTRACTOR) -Date: Mon Jan 5 10:41:53 2015 -0500 - - uss: always build uss - - Revert change Ibab1dd189e7fbc41ca01e7ef7479421c056999f5 since uss - should always be safe to build now that its parser symbols are private. - - Change-Id: I65fd2008b037dd36a2c7d3ef8817d4d7dda689d7 - Reviewed-on: http://gerrit.openafs.org/11653 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 1bb8ad417188650e9049da9b33177de7f14226cb -Author: Chas Williams (CONTRACTOR) -Date: Tue Jan 6 17:58:05 2015 -0500 - - uss: Avoid -i (inplace) with sed - - Not all sed versions support inplace editing, so do things ourselves. - Also use the sed version found by configure for consistency. - - Change-Id: I6194b8dd6b7abf88d0b0fa36ba871e0ba092ce1e - Reviewed-on: http://gerrit.openafs.org/11655 - Tested-by: BuildBot - Reviewed-by: Daria Brashear - -commit 6ca324e565c34d9d04f3c553b7d0febe675ae538 -Author: Marc Dionne -Date: Thu Dec 18 06:57:22 2014 -0500 - - Linux: Move code to reset the root to afs/LINUX - - Move the Linux specific bit of code to reset the root to - afs/LINUX platform specific files. Things that play with - the Linux vfs internals should not be exposed here. - - No functional change, but this helps cleanup some ifdef - mess. - - Change-Id: Ia27fca3d8052ead45783cb2332c04fe6e99e5d9f - Reviewed-on: http://gerrit.openafs.org/11641 - Tested-by: BuildBot - Reviewed-by: Michael LaƟ - Reviewed-by: Daria Brashear - -commit 720363fa9bf7cfbebdc485104b74ca6bac1895f6 -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. - - Change-Id: Id526f5dd7ee48be2604b77a3f00ea1e51b08c21d - Reviewed-on: http://gerrit.openafs.org/9979 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 218561a5d920bb9bfaa668d3bdd11e1dfac1df9f -Author: Michael Meffie -Date: Mon Jul 21 17:41:32 2014 -0400 - - vol: rename volUpdateCounter macro - - Change the volUpdateCounter volume macro name to be - consistent with the volume header name. - - Change-Id: I55f55f2c084135e9598c194ed9081fce800ddfe9 - Reviewed-on: http://gerrit.openafs.org/11318 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit ada9dba0756450993a8e57c05ddbcae7d1891582 -Author: Michael LaƟ -Date: Mon Dec 8 08:34:26 2014 +0100 - - Remove traces of Debian packaging - - In e34e0d1 the Debian packaging was removed. Some traces are still left, so - remove those as well. - - Change-Id: I1d5c22181f59b2bee42dd34c9f3a043297d294a2 - Reviewed-on: http://gerrit.openafs.org/11630 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 88a4efbfa3dbf497a96ad4d8b8ab2cd68351ffbf -Author: Michael Meffie -Date: Thu Dec 19 09:49:33 2013 -0500 - - dafs: avoid asserting on dafs VSALVAGING error code - - DAFS introduced the VSALVAGING error code which is returned when a vnode - cannot be put and a volume has been scheduled to be salvaged. - - Update the afsfileprocs to not assert on VSALVAGING, as well as the - VSALVAGE error code. - - For example, VPutVnode() and VVnodeWriteToRead() may call - VRequestSalvage_r() which will set the error code to VSALVAGING when a - salvage is requested. - - This was noticed during a code inspection. - - Change-Id: I6cacfe92347bc5af57defef17b8a2f98c5302f93 - Reviewed-on: http://gerrit.openafs.org/10611 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ed1b1df3c8acf9a2c5d4dface88ac15dcb8d7a2e -Author: Andrew Deason -Date: Mon Feb 10 16:23:07 2014 -0600 - - bozo: Constify bozo_Log 'format' argument - - We clearly do not need to modify the format string; declare it const. - This makes the signature of bozo_Log identical to FSLog, which can - make it easier to use these functions interchangeably. - - Change-Id: I89ae9babec2c4e8714019f58fe29dacc7283ae15 - Reviewed-on: http://gerrit.openafs.org/10830 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 4b648925603a50d2a248304a954308e8fa902df4 -Author: Mark Vitale -Date: Wed Nov 20 15:05:21 2013 -0500 - - fssync-debug: close test connection - - A valid fssync-debug query command issued against - a DAFS fileserver will produce the following error messages in FileLog: - - SYNC_getCom: error receiving command - FSYNC_com: read failed; dropping connection (cnt=1) - - Routine dafs_prolog() issues a tentative FSYNC_VOL_LISTVOLUMES operation - to test for the presence of a DAFS fileserver. If DAFS is detected, - we then call dafssync-debug for the original requested operation. - However, the FSYNC connection for the tentative LISTVOLUMES operation - is never closed. This results in the errors when the command completes. - - Close the test connection. - - Change-Id: I3c987289408407ba38cd184b7518e72ee1ae9cfc - Reviewed-on: http://gerrit.openafs.org/10476 - Reviewed-by: Daria Brashear - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit ffe0757a5610d1fe6cf7e513d62ccc570d559206 -Author: Benjamin Kaduk -Date: Tue Aug 12 15:13:46 2014 -0400 - - Attempt to clean up tvolser dependencies - - The volserver only needs vl_errors.c to be locally generated, not - vlserver.h; in fact, the only consumers of vlserver.h in src/volser/ - consume it via afs/vlserver.h. - - Instead of reaching over to ../volser for the generated volerr.c, - generate our own local copy, as well as the volser.h generated from - the same error table -- volser.h is included with double-quotes from - the volser sources. - - Add the appropriate dependencies on volser.h, and remove the unneeded - dependencies on vlserver.h - - Change-Id: Ic6e728fa455419cc8e95dc25c41ed6d6b7d20934 - Reviewed-on: http://gerrit.openafs.org/11380 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 05217c29179100b69a32562202b302ae60b4b36c -Author: Andrew Deason -Date: Tue Oct 1 14:54:15 2013 -0500 - - rx: Ignore responses to nonexistent challenges - - Consider the following situation: - - - A client sends a data packet to a server, using a security class - that requires a challenge - - The server responds with a challenge - - The server is restarted - - The client responds to the challenge with a response - - In that situation, the server will process the response, but since the - server was restarted, it has no knowledge of the challenge that was - sent. This generally means that we error the connection, since the - given response is not valid. For rxkad with modern endpoints, this - results in an RXKADPACKETSHORT error, since we interpret the response - as an 'old' response, but it's actually a 'v2' response, so we - interpret the fields in the response as garbage. - - This means that the client gets a connection error when the client did - nothing wrong, and there's no way for the client to distinguish this - from a real connection error. - - One way to solve this would be to send a Challenge packet to the - client immediately when we detect that this situation has occurred. - However, if we do that, then we never see a data packet with a - checksum, so we fall back to using "old" challenges and responses. And - in general, that would cause the server side to never see a data - packet during the connection negotiation, which is unusual and I am - concerned there may be other niggles of odd behavior that may occur in - that scenario. - - So instead, to fix this, make the server ignore responses in this - situation (that is, if we haven't sent out any challenges yet). - Clients will eventually resend the data packet, and we will go through - negotiating the connection security like normal. This should never - cause any new problems, since dropping a challenge packet must be - handled anyway (sometimes packets just get dropped). And a client will - never hang on sending the same response over and over again; clients - only ever send a Response in response to a Challenge packet. - - Change-Id: Id3fae425addb2ac8ab60965213b3ebca2e64ba5d - Reviewed-on: http://gerrit.openafs.org/10315 - Reviewed-by: Daria Brashear - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 3b9d52b2e8020cce65d55516db36580d58a51f0b -Author: Michael Meffie -Date: Sat Nov 8 13:14:27 2014 -0500 - - vldb_check: rebuild free list with -fix - - Rebuild the vldb free chain in addition to the hash chains when - vldb_check is run with the -fix option. Print a FIX: message for - entries added to the free chain. - - Example vldb with a broken free chain. - - $ vldb_check vldb.broken - address 199364 (offset 0x30b04): Free vlentry not on free chain - address 223192 (offset 0x36818): Free vlentry not on free chain - address 235180 (offset 0x396ec): Free vlentry not on free chain - Scanning 1707 entries for possible repairs - - $ vldb_check -fix vldb.broken - Rebuilding 1707 entries - FIX: Putting free entry on the free chain: addr=199364 (offset 0x30b04) - FIX: Putting free entry on the free chain: addr=223192 (offset 0x36818) - FIX: Putting free entry on the free chain: addr=235180 (offset 0x396ec) - - Thanks to Kostas Liakakis for reporting this bug. - - Change-Id: I57d6b17263ffe5f8818f70f8260a0dce8d85ab1f - Reviewed-on: http://gerrit.openafs.org/11598 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 9de36a0398a53fffd7bde8ed9e57573bed3b669d -Author: Andrew Deason -Date: Mon Dec 23 17:27:05 2013 -0500 - - RedHat: Update configure options, again - - Commit 83f85c9ad6c439eb9676436a3e09c40c2813f1c1 updated the arguments - we give to configure, since --enable-disconnected and --with-krb5-conf - no longer exist. But, it only updated the configure options for the - userspace configure, and did not update the configure invocation for - building kmod kernel modules. - - Update the other configure invocation, so they match and both of them - avoid using outdated configure options. - - Change-Id: Ia7fe16a373b5feabd4060bd85fbf9220407082f5 - Reviewed-on: http://gerrit.openafs.org/10623 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 24f0fdcce4cdc493edcf35c8578a151b8bbb32fd -Author: Chas Williams (CONTRACTOR) -Date: Fri Oct 10 09:12:31 2014 -0400 - - uss: Make the uss parser private - - Attempt to make the parser in uss private so that it doesn't - conflict with other libraries that might leak their parser symbols. - - Change-Id: I15b52f55b419b3bbc788ced9660bc41163e2be36 - Reviewed-on: http://gerrit.openafs.org/11533 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit c11c58646f56f0adc2016e31a7d3a3d34d6cdd3a -Author: Nathaniel Wesley Filardo -Date: Sun Oct 19 02:42:08 2014 -0400 - - Linux: get sysname even if kernel module disabled - - Fall back to `uname -r` if we aren't probing for kernel sources, - as we still need to know for the rest of the build. While this - could be worked around by explicitly passing the sysname as an - argument, this seems friendlier. - - Change-Id: I0db75ba5fc7d1f5ec08d27dfce6858b968b6ce28 - Reviewed-on: http://gerrit.openafs.org/11552 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b22c586bcdf785c489009ab96cbb572181cb9b09 -Author: Marc Dionne -Date: Fri Dec 19 10:11:53 2014 -0500 - - Unix CM: Avoid using stale DV in afs_StoreAllSegments - - It was reported in RT 131976 that on Linux some file - corruption was observed when doing mmap writes to - a file substantially larger than the cache size. - - osi_VM_StoreAllSegments drops locks and asks the OS to flush - any dirty pages in the file 's mapping. This will trigger - calls into our writepage op, and if the number of dirty - cache chunks is too high (as will happen for a file larger - than the cache size), afs_DoPartialWrite will recursively - call afs_StoreAllSegments and some chunks will be written - back to the server. After potentially doing this several - times, control will return to the original afs_StoreAllSegments. - - At that point the data version that was stored before - osi_VM_StoreAllSegments is no longer correct, leading to - possible data corruption. - - Triggering this bug requires writing a file larger than the - cache so that partial stores are done, and writing enough - data to exceed the system's maximum dirty ratio and cause - it to initiate writeback. - - To fix, just wait until after osi_VM_StoreAllSegments to - look at and store the data version. - - FIXES 131976 - - Change-Id: I959f06b5a7a51171e7ed70189620e9d11d52efa2 - Reviewed-on: http://gerrit.openafs.org/11644 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4f03d6e07ba8ea5bddfd952cf47f9d2172051ca4 -Author: Michael Meffie -Date: Sat Nov 8 11:10:52 2014 -0500 - - doc: document the vldb free list - - Document vldb free list in the vldb format (vldb.txt). The nextIdHash[0] - is on the free chain when the vl entry is free. - - Also fix two typos in vldb.txt. - - Change-Id: I5d79f55214295e029e7174ef46838afd7dc44bf1 - Reviewed-on: http://gerrit.openafs.org/11597 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 54c0ee608f4afd2b178c9b60eabfc3564293d996 -Author: Andrew Deason -Date: Sun Sep 14 14:10:11 2014 -0500 - - afs: Fix some afs_conn overcounts - - The usual pattern of using afs_Conn looks like this: - - do { - tc = afs_Conn(...); - if (tc) { - code = /* ... */ - } else { - code = -1; - } - } while (afs_Analyze(...)); - - The afs_Analyze call, amongst other things, puts back the reference to - the connection obtained from afs_Conn. If anything inside the do/while - block exits that block without calling afs_Analyze or afs_PutConn, we - will leak a reference to the conn. - - A few places currently do this, by jumping out of the loop with - 'goto's. Specifically, in afs_dcache.c and afs_bypasscache.c. These - locations currently leak references to our connection object (and to - the underlying Rx connection object), which can cause problems over - time. Specifically, this can cause a panic when the refcount overflows - and becomes negative, causing a panic message that looks like: - - afs_PutConn: refcount imbalance 0xd34db33f -32768 - - To avoid this, make sure we afs_PutConn in these cases where we 'goto' - out of the afs_Conn/afs_Analyze loop. Perhaps ideally we should cause - afs_Analyze itself to be called in these situations, but for now just - fix the problem with the least amount of impact possible. - - FIXES 131885 - - Change-Id: I3a52f8ccef24f01d04c02db0a4b711405360e323 - Reviewed-on: http://gerrit.openafs.org/11464 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Daria Brashear - Tested-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 604f1eece60a8586642bb7006e2265913d2a4a25 -Author: Chas Williams (CONTRACTOR) -Date: Sat Dec 6 07:40:04 2014 -0500 - - doc: fix unbalanced in AdminGuide/auagd018.xml - - This was introduced by c04c57c6c57d2e0b09ba60b68de738b636c9450b - - Change-Id: I2dbc558bf97673074c774b457b53b4a4436b43c1 - Reviewed-on: http://gerrit.openafs.org/11624 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5cc3920ce40d5943fb400f5aca04151da70cea63 -Author: Chas Williams (CONTRACTOR) -Date: Sat Dec 6 07:31:46 2014 -0500 - - doc: fix duplicate tag usage in QuickStartUnix - - The duplicate LIWQ54 tag appears to break newer versions of fop. Since it - isn't referenced by anything, just remove in both instances. - - Change-Id: Ie996f0110a9114399a1873ebda1eba4c7696f716 - Reviewed-on: http://gerrit.openafs.org/11623 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 5e3df1d99df207a65d883f6747d8a616fa4b8f9c -Author: Chaskiel Grundman -Date: Fri Sep 20 15:04:13 2013 -0400 - - rxgen: Only cast array/pointer/vector types - - Assuming the correct values are passed to the xdr functions, no casts - are required. Don't cast simple/struct/union/typedef values. Do cast - array/pointer/vectors, since the relevant xdr wrapper functions expect - char *. - - Change-Id: I375c03899576735668c1a0df0af47377223ae97a - Reviewed-on: http://gerrit.openafs.org/10260 - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit b7bfd3aa2715e49b2b1ec056b60d8dda72317ebc -Author: Chaskiel Grundman -Date: Fri Sep 20 14:28:07 2013 -0400 - - rxgen: Always pass aliases (typedefs) as pointers - - Since prototypes were introduced, xdr functions for typedef foo - expect a foo *, never a foo, even if the underlying type is an array. - print_param (for stubs) got this right, but print_stat (for inter-xdr - calls) did not. - - Change-Id: I2b12aaf919fd39e6195d85072fdfd915a1c509f0 - Reviewed-on: http://gerrit.openafs.org/10259 - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 1c445cc7e5d66881ef28860c9d43695feedf37d7 -Author: Chaskiel Grundman -Date: Fri Sep 20 10:42:20 2013 -0400 - - Remove sunrpc compatibility - - Remove sunrpc compatibility from rxgen. It's not tested, and - rpcgen is available from other sources. This will allow changes to be - made to rxgen without worrying about their impact on rpcgen compatibility. - - Removals consist of the -l, -m, and -s switches, the source files - rpc_clntout.c and rpc_svcout.c, and the scan tokens 'program' and - 'version'. The -R switch ('R compatibility') is also removed, as it's - a noop. - - Change-Id: I960fac14faf072d221b8cb166e9388ab4accfa26 - Reviewed-on: http://gerrit.openafs.org/10258 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 4d72af9fbd8f676e722fe8fa07b8e1342255fd01 -Author: Chas Williams (CONTRACTOR) -Date: Sun Mar 23 17:47:25 2014 -0400 - - vlserver: Refactor auditing - - Refactor auduting to be more like other uses in the code base. - Auditing is now done in a wrapper. - - Change-Id: I491aeda31c223e594e3870573871ae10a541d010 - Reviewed-on: http://gerrit.openafs.org/11315 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Benjamin Kaduk - -commit 75d67780b42c1a7bfa506fcd230b28a6f293fcbd -Author: Michael Meffie -Date: Thu Nov 13 12:12:12 2014 -0500 - - redhat: do not overwite the server CellServDB - - The bosserver creates a pair of symlinks in the client's configuration - directory (/usr/vice/etc) during startup, if the configuration files are - not present: - - /usr/vice/etc/CellServDB -> /usr/afs/etc/CellServDB - /usr/vice/etc/ThisCell -> /usr/afs/etc/ThisCell - - Due to a bug in the bosserver (which is not fixed on 1.6.x), the - symlinks are only created when the /usr/vice/etc directory already - exists when the bosserver is started. - - If the bosserver is started before the client is installed (and the - /usr/vice/etc directory is present), then the packaging script will - write to the symlink CellServDB, overwriting the server's CellServDB with - the contents of the client's CellServDB.local and CellServDB.dist files. - Also, if the client is started after the bosserver creates the symlinks, - the client init script will overwrite the server's CellServDB with the - contents of the client's CellServDB.local and CellServDB.dist files. - - Update the packaging and the client init script to delete this symlink - if present, since it is only intended to provide stub configuration - for the client utilities while setting up an initial server. Then, - the updating of the CellServDB will create a local file, instead of - following the symlink and overwriting the server CellServDB. - - While here, adjust the indentation whitespace to match the tabs below. - - Change-Id: I802fd8d85f73946ca8d8d57e115abb8ae6958196 - Reviewed-on: http://gerrit.openafs.org/11601 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit de1ac7daff3183bf5b2c2a3482e74a099f7fb641 -Author: Andrew Deason -Date: Sun May 20 17:32:13 2012 -0500 - - afs: Add xvcache-related afs_FlushVCache comments - - Add a couple of comments to help make it explicit when it is okay to - drop afs_xvcache here. - - Change-Id: I451ffe80755ea471322e32017f71c0619e6a8e63 - Reviewed-on: http://gerrit.openafs.org/7436 - Reviewed-by: Daria Brashear - Reviewed-by: Alistair Ferguson - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 73bfe94802ef62a7e6f8d2c36cb801be6ab2863a -Author: Andrew Deason -Date: Fri May 18 17:49:31 2012 -0400 - - afs: Remove 'slept' from osi_VM_FlushVCache - - No implementation of osi_VM_FlushVCache drops and reacquires - afs_xvcache. Doing so would cause problems when afs_FlushVCache calls - osi_VM_FlushVCache, since someone could grab a reference to the vcache - while xvcache is dropped. So, prohibit dropping and reacquiring - afs_xvcache in osi_VM_FlushVCache, and remove the 'slept' argument to - it. - - Change-Id: I50b4ee35f54a5277749f44e93b1094e4fb5c93e9 - Reviewed-on: http://gerrit.openafs.org/7435 - Reviewed-by: Alistair Ferguson - Reviewed-by: Daria Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - -commit 2b10d96762366ce25a4816641ecfaf9705592d44 -Author: Perry Ruiter -Date: Mon Dec 8 12:33:05 2014 -0800 - - afs: Correct routine name on error message - - While studying some code I noticed one of the error messages in - afs_UFSGetVolSlot was prefixed with a different routine name. - More shocking was that git blame fingered me as the last person - to update that line! Indeed I had but I hadn't noticed, nor had - my reviewers, the mis-matched routine name. - - Update afs/afs_volume.c to correct routine name. - - Change-Id: Id7ee275c9f8991bb71082b9dfcd52c14ead83955 - Reviewed-on: http://gerrit.openafs.org/11625 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dc4d9d64342b76be7be3e8f0264e66c6d943b64c -Author: Chas Williams (CONTRACTOR) -Date: Sat Apr 26 14:49:36 2014 -0400 - - afs: Remove AFS_BOZONLOCK_ENV - - The only user of AFS_BOZONLOCK_ENV is ppc_darwin_80. This was added - to the param file by commit: - - commit 379e3be3196aeb3fefaa1e9296e52a9f8018550a - Author: Derrick Brashear - Date: Sun Jun 19 00:20:01 2005 +0000 - - ppc-darwin80-20050618 - - this is actually a throwaway - - It isn't clear to me what the intent was. Darwin clearly isn't - using the Bozon lock around every osi_FlushPages() despite comments - in DARWIN/osi_vnodeops.c about said lock. The possibility of the - Bozon lock being required only ppc_darwin_80 and not ppc_darwin_70 and - ppc_darwin_90 is unlikely. - - The comments about the Bozon lock in FBSD/osi_vnodeops.c appears to be - a copy/paste from DARWIN's. Curiously, FBSD doesn't drop the GLOCK() - when osi_FlushPages() calls osi_VM_FlushPages() despite a comment to - the contrary in osi_VM_FlushPages(). - - Also, instead of editing the alpha_dux param files, just remove them. - Nothing is using them. - - Change-Id: Ic1f6aabd82b9bd3686c95fd501a9d72163595421 - Reviewed-on: http://gerrit.openafs.org/11108 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 2725a4ca14fb29f897d905d9de0e3c9c1925e597 -Author: Chas Williams (CONTRACTOR) -Date: Mon Sep 24 16:26:43 2012 -0400 - - budb: Avoid use of anonymous structures to determine size - - Change-Id: Ife337e4e020a0450020f9ae641b1711435b936c4 - Reviewed-on: http://gerrit.openafs.org/8153 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit 49088ad21aea794aecd5df928f21e7872ee36280 -Author: Marc Dionne -Date: Thu Nov 27 16:23:12 2014 -0500 - - volser: Break callbacks to the target of VolClone - - With the "-stayup" release mechanism, clients may have callbacks - to the target of VolClone rather than the target of VolRestore, - so also break callbacks there. - - This could cause clients to not be notified of a volume release - done with -stayup and have stale contents. - - Change-Id: I94009f4b9382471a3615d2a729e4ee3955a14d44 - Reviewed-on: http://gerrit.openafs.org/11619 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit c47d619f6c93ba3362f3e65f102a875d509e5c44 -Author: Benjamin Kaduk -Date: Thu Dec 4 17:00:04 2014 -0500 - - Remove FreeBSD packaging - - The packaging used by official FreeBSD package builds is taken from - the FreeBSD Ports Collection's version control, which is currently - available at https://svnweb.freebsd.org/ports/head/net/openafs/ . - - The version of the FreeBSD packaging in the openafs repository - will almost always be out-of-date and is not needed by FreeBSD - (although a small portion of it is currently used by the upstream - FreeBSD packaging), and the actual packaging used by FreeBSD is - easily available, so there is no purpose in maintaining FreeBSD - packaging in the OpenAFS source code repository. - - Change-Id: I969cd6933ecd56d6940b8d48da67f50260101571 - Reviewed-on: http://gerrit.openafs.org/11622 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e34e0d149f3b3a8b48ab563b7b52174065925975 -Author: Benjamin Kaduk -Date: Thu Dec 4 17:00:04 2014 -0500 - - Remove Debian packaging - - The packaging used for uploads to Debian is maintained on Debian - infrastructure, presently at - http://anonscm.debian.org/cgit/pkg-k5-afs/openafs.git . - - The packaging repository for any given Debian openafs source - package will be listed in the Vcs-* fields in the package's - control file. - - The version of the Debian packaging in the openafs repository - will almost always be out-of-date and is not used by Debian, - and the actual packaging used by Debian is easily available, so - there is no purpose in maintaining Debian packaging in the OpenAFS - source code repository. - - Change-Id: I23011315ece011e32cdddd992c4f8a176e348c67 - Reviewed-on: http://gerrit.openafs.org/11621 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a4dc1d8fc0ae5b9b0130d2524aff0c22fa34faa3 -Author: Sami Kerola -Date: Sat Jun 22 20:20:52 2013 +0100 - - build-sys: make docbook path find easier to read - - Additional gain, when horizontal lists are converted to vertical, is that - each item will be individually version controlled. - - Change-Id: I4f12efac9c3d828fafdc7ab8a15740cfb0276538 - Reviewed-on: http://gerrit.openafs.org/10014 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 72ca1e876f61ec7a2984e4379dcc59cfd160f2a5 -Author: Nathaniel Wesley Filardo -Date: Sat Jul 26 15:05:19 2014 -0400 - - Make all VLDB interactions use VLF/VLSF names - - src/volser/volser.p.h defined the values used in VLDB entries. These values - appear (by exhaustive walk of source and by inspection of the volser's rxrpc - api) to be unused by any aspect of the volser and were solely used in - communication with the VLDB. - - This patch deletes the misplaced definitions and moves the entire tree to - use the VLF_{RW,RO,BACK}EXISTS and VLSF_* macros from vlserver/vldbint.xg . - No include wrangling was needed; these definitions have always been in scope - but relatively unused. - - It also serves to head off a potential problem, which actually motivated the - whole thing: ITSRWREPL was 0x10, which was claimed as VLSF_UUID; - VLSF_RWREPLICA is 0x40, which did not have an ITS equivalent. As ITSRWREPL - was not used, this had never shown itself in operation. There was no ITS - semantic equivalent of VLSF_UUID. - - Change-Id: I60426c2635976b9ac34bf820a8aec7a0c8575e20 - Reviewed-on: http://gerrit.openafs.org/11331 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit e331ee87a32ad3a26c7c933203e1d3690148448f -Author: Nathaniel Wesley Filardo -Date: Wed Dec 3 02:06:35 2014 -0500 - - DeleteVolume should check ITSROVOL as a bit - - Other bits may be asserted even if this is a RO vol. - - Change-Id: Iff5256db25502b61b161ec068bd9d2a389f796c7 - Reviewed-on: http://gerrit.openafs.org/11617 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit a36aab0dd6e846dbce925cbf3484b74f7f8590a9 -Author: Nathaniel Wesley Filardo -Date: Thu Jul 31 01:52:30 2014 -0400 - - Revert "vos-sync-flag-voltype-properly-20080521" - - The convention appears to be that ITSRWVOL is the correct flag for - the backup volume. - - This reverts commit dcafea769a1cb70c7b1f8763ae4f7b7744b2a436. - - Change-Id: I0f88107d56817515f41a68062053b263683afc94 - Reviewed-on: http://gerrit.openafs.org/11341 - Reviewed-by: Daria Brashear - Tested-by: BuildBot - -commit 654f9e4ad46dd31e789b71a23f7e1465f8300132 -Author: Sami Kerola -Date: Sat Jun 22 20:06:34 2013 +0100 - - build-sys: reindent AC_ARG_WITH section in acinclude.m4 - - Change-Id: I80b68eeecf9f72ac7f2ce133d9a5642a67dde22c - Reviewed-on: http://gerrit.openafs.org/10013 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 2f2e6effa791e3f36f002702cd72e615ccf1a1a7 -Author: Andrew Deason -Date: Fri Aug 30 12:23:43 2013 -0500 - - namei: Remove icreate tfd hack - - Currently, the namei icreate routine creates a fake FdHandle_t for a - SetLinkCount call if we're creating a linktable. In the past this was - probably done because we did not want to open a "real" fdP ,since that - would mean opening another file descriptor, when we already had a file - descriptor (from the creating afs_open call). - - This is a problem in the salvager, since it means that we can reach - ihandle code before the ihandle package has been initialized. - Specifically, we can reach icreate -> namei_SetLinkCount -> ih_fdsync. - If we reach ih_fdsync without the ihandle package being initialized, - we assert and dump core. - - The ihandle package assumes that we've already initialized it if we - reach any ihandle code, since creating any IHandle_t causes the - package to initialize. But since namei_icreate fakes its own IHandle_t - and FdHandle_t structures, that doesn't happen. - - So, to avoid this, stop faking our FdHandle_t and create a real one. - Since we have ih_attachfd, we can create a real FdHandle_t with our - existing file descriptor. - - Change-Id: I7a8c1e0ed1ee8e5c8ce2e165b9493811d5d2435d - Reviewed-on: http://gerrit.openafs.org/10213 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 47a1a786786bc7f1e3939aff9100c2196cfcb5a7 -Author: Mark Vitale -Date: Tue May 13 19:18:57 2014 -0400 - - kauth: fix klog principal name parsing - - If a principal name is specified to the klog command, it is not - correctly passed in the pw structure. This in turn causes - uninitialized storage to be passed to ka_UserAuthenticateGeneral. - This may either lead to a segmentation fault in klog, or cause - garbage to be passed to the kaserver, leading to garbage in some - log and audit messages. In all cases it is impossible to authenticate - to kaserver with a specified principal name. However, klog - still works correctly when no principal name is specified. - - This was introduced by commit 68ce3aa814a7e3085242e705f013f05ed5da2d5c - which removed lclpw to eliminate a clang warning. However, the clang - warning was misleading in this case, as lclpw was actually used - (confusingly) to indirectly update the pw structure. - - Instead of reverting this commit, just update pw->pwname directly. - - Change-Id: I565360c6e2f970637422e8b01998d3fc29874ec4 - Reviewed-on: http://gerrit.openafs.org/11145 - Reviewed-by: Mark Vitale - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 01917b4497c5ad4f91bf8bd260a3cc6b7c25f150 -Author: Chas Williams (CONTRACTOR) -Date: Thu Jul 3 10:53:51 2014 -0400 - - auth: Clean up and document functions in netrestrict.c - - Clean up and document parseNetRestrictFile_int and ParseNetInfoFile_int - in preparation for some future changes. - - Change-Id: I3c8f1823ba1e042fb6ae68c6f0aba58128ef5b81 - Reviewed-on: http://gerrit.openafs.org/11312 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 185966b471325ce15d05d28325e98faaa34ad146 -Author: Nathaniel Wesley Filardo -Date: Mon Jul 28 13:26:22 2014 -0400 - - Export xdr_nbulkentries in liboafs_vldb - - Change-Id: Id6ba0e4fdb802cc10aa98b32d7e7c9b605c90606 - Reviewed-on: http://gerrit.openafs.org/11334 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - -commit 35247b0adb7f31775409fd86aa7a4c4db6267b53 -Author: Christof Hanke -Date: Wed Oct 9 07:38:10 2013 +0200 - - liboafs_util: export symbols for tabular_output - - Otherwise compilation fails on AIX. - - Change-Id: Id22b7726d9aa56f9a2e0665257b3099baf774896 - Reviewed-on: http://gerrit.openafs.org/10326 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit cd8f24d9a1ba8563c6bef2b8d30885a753e8d30c -Author: Andrew Deason -Date: Tue Jun 10 14:47:31 2014 -0500 - - doc: Document fs listquota 2TB partition limit - - We have previously documented that volumes over 2TB can result in - inaccuracies, but this documentation does not say how the 'partition' - field in "fs listquota" can be inaccurate. It is confusing to see a - usage of 0% for a partition that you know is being used, so try to - briefly explain in what way this field is inaccurate. - - The reason we _under_-report the partition usage is that the - fileserver actually gives back PartBlocksAvail and PartMaxBlocks (not - "blocks used" and "blocks total"). So 1TB used and 4TB total is - truncated to 2TB and given back as 2TB free and 2TB total. One we hit - 3TB used we'll report it as 1TB free 2TB total (50%) when the actual - usage is 75%. - - Change-Id: I0b3de04ef2bd6cd32fdcb1a82cbac58d5d621e5b - Reviewed-on: http://gerrit.openafs.org/11245 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit f889469e271cee5ccf362d829c7827307a6add4c -Author: Andrew Deason -Date: Tue Feb 18 13:00:38 2014 -0600 - - vol: Make FindLinkHandle static and namei-only - - FindLinkHandle is only referenced inside vol-salvage.c. Also, the - concept of a link table only exists on namei, so the function is only - used for the namei server (and it's only called by other namei-only - code). - - So, make the function static, and put it inside the AFS_NAMEI_ENV - ifdef, to be a little more clear about where it can be used. Moving it - inside the AFS_NAMEI_ENV ifdef also avoids a warning if FindLinkHandle - is made static, since otherwise the function would be defined but - unused on non-namei. - - This change should incur no difference in behavior; it is just code - reorganization. - - Change-Id: Ia8cdadafaf15c724462f600514aa59910619a090 - Reviewed-on: http://gerrit.openafs.org/10848 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 4103aee514615c46e919202fb7842b9b2e254ff9 -Author: Andrew Deason -Date: Tue Oct 14 13:17:27 2014 -0500 - - ubik: Unlock version lock before udisk_end - - Currently, BeginTrans calls udisk_end with UBIK_VERSION_LOCK held when - it gets an error from DISK_Begin. However, udisk_end itself acquires - UBIK_VERSION_LOCK to update the database flags, so this causes a - deadlock. - - So, unlock UBIK_VERSION_LOCK before calling udisk_end. Also unlock it - before calling DISK_Abort, udisk_abort, and DISK_Begin, as well, since - none of those modify fields protected by UBIK_VERSION_LOCK. (Any read - access is allowed because we DBHOLD the database.) This commit unlocks - the lock immediately after we are done modifying versioning - information, which is right after we change writeTidCounter for write - transactions. - - Change-Id: I31343d67c82734ff88b76bec740ef16767bb9667 - Reviewed-on: http://gerrit.openafs.org/11541 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit b19bb7db413de426984f6ddb79b7b97ea478ffaf -Author: Andrew Deason -Date: Mon Oct 13 15:06:36 2014 -0500 - - ubik: Convert DoProbe 'i' to 'nconns' - - DoProbe was using the variable 'i' to keep track of how many - connections we have in the conns array. Keep track of this separately - using a variable called 'nconns' instead, to make this function a bit - less confusing. - - Change-Id: Ica2b4901c083b315e901366820042fad64030b3c - Reviewed-on: http://gerrit.openafs.org/11540 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 8ce37d0d4aa4e6107f79efaf5027f31ea5a17604 -Author: Michael Meffie -Date: Thu Nov 13 22:28:08 2014 -0500 - - libafs: remove "Please install afsd with check server daemon" warning - - Apparently, ancient versions of afsd did not start the check server - daemon (AFSOP_START_CS). The afs_Daemon tries to detect when the check - server daemon is not running and issues a warning to upgrade afsd. The - afs_Daemon waits for the cache initialization to complete (AFSOP_GO) - before detecting if the cache server daemon is started. - - Unfortunately, when running with memcache, the cache initialization is - fast enough to race with the start of the check server daemon, and the - "Please install afsd with check server daemon" message is sometimes - printed to the syslog. - - Since all modern versions of afsd do start the check server daemon, this - error message is no longer needed, so just remove the message and the - flag used to print it on only once. - - Change-Id: If6a57ca0e6fb7e20a1e104c46416139cf5fe785a - Reviewed-on: http://gerrit.openafs.org/11602 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 1e1f6e4e8f70b0994ba7fdfaeb9df926709b806b -Author: Chaskiel Grundman -Date: Fri Mar 8 19:19:05 2013 -0500 - - Free security objects used in VolForward - - VolForward and VolForwardMulti create rx security objects, but - never free them. The RXS_Close's are positioned where they are - to limit the need for conditionals - - Change-Id: Iec6879270ad54c30c1fea571cea583afaca9364b - Reviewed-on: http://gerrit.openafs.org/9527 - Reviewed-by: D Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit aea3c2a327860297168ea42bb72145b44e6e5acf -Author: Sami Kerola -Date: Sat Jun 22 19:52:51 2013 +0100 - - build-sys: fix indentation in test code - - Change-Id: If2c0c2a0b0b01bb425f8c1658cef9df232844b1c - Reviewed-on: http://gerrit.openafs.org/10012 - Reviewed-by: D Brashear - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - -commit 7d689390a89823df8a102c844d313c1c7a2c096a -Author: Sami Kerola -Date: Wed Jun 19 21:15:19 2013 +0100 - - build-sys: fix m4 quotation to make upstream autotools to work - - Macro arguments for AC_ARG_WITH, such as AC_CHECK_PROGS, need to be - quoted. Unless they are the latest version of autoconf will expand - macros slightly wrong way making the configure to fail at line where - there are only two ticks. - - $ ./regen.sh - [...] - $ automake -a -f - [...] - automake: error: no 'Makefile.am' found for any configure output - $ ./configure - [...] - checking pkg-config is at least version 0.9.0... yes - ./configure: line 13348: syntax error near unexpected token `newline' - ./configure: line 13348: ` ''' - - Notice that the 'automake' run is needed in order to avoid later - configure error, which would look something like. - - configure: error: cannot find install-sh, install.sh, or shtool in build-tools "."/build-tools - - Change-Id: I39476270f351d2f5b332c5c945d6ac67fe16dd82 - Reviewed-on: http://gerrit.openafs.org/9995 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 23d81757394824702c3e8bce31fd0f6d568dd680 -Author: Chaskiel Grundman -Date: Wed May 29 13:24:37 2013 -0400 - - Remove UKERNEL code from files that don't need it - - Remove #ifdef UKERNEL sections from auth, kauth, ptserver, and ubik sources - that are no longer part of libuafs - - Change-Id: I515f65c7e634d9562680c60666a15758261aaae0 - Reviewed-on: http://gerrit.openafs.org/9955 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 8b0a296bef8529cf66664b0713a3b451e3b5a5ec -Author: Chaskiel Grundman -Date: Wed May 29 13:26:29 2013 -0400 - - Remove kauth headers from afs_usrops.c - - Since ka_* functions are no longer called from here, we don't need - the headers - - Change-Id: I538c27cf4fe2f16811d1d3056b25054c80ba5b2a - Reviewed-on: http://gerrit.openafs.org/9956 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 1df1a68535bcf243b7f6c43f79bc597322719ff8 -Author: Chaskiel Grundman -Date: Wed May 29 13:05:15 2013 -0400 - - rxgen: skip ubik for KERNEL - - Declare ubik rxgen stubs only for !KERNEL, UKERNEL doesn't need them anymore. - Don't declare ubik_client or #include ubik.h on KERNEL or UKERNEL. - - Change-Id: I0b1587eb46e9efbf627f04c74e0d76f9858bffd0 - Reviewed-on: http://gerrit.openafs.org/9954 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit c09785aa036125074db03a799f7dfebb411f4852 -Author: Andrew Deason -Date: Sun May 20 17:20:54 2012 -0500 - - FBSD: Drop afs_xvcache for vgone() - - For FreeBSD, osi_TryEvictVCache was calling vgone() without dropping - afs_xvcache. Prior to aad83a30a82407bfa6ac15b49fd31d69b563e898, this - is what osi_TryEvictVCache did, and since the 'slept' pointer - represents whether we dropped xvcache (not whether we dropped glock), - it seems like this is the intention of the code. - - Change-Id: Icb8cc86d972d7ca717bd91e250771d90931e1ba7 - Reviewed-on: http://gerrit.openafs.org/7434 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit b656710d30e6227c5bab75805ef422d237359f46 -Author: Andrew Deason -Date: Sun May 20 17:16:37 2012 -0500 - - FBSD: Do not vgone() in osi_VM_FlushVCache - - osi_VM_FlushVCache just needs to remove VM references to the given - vcache; calling vgone() entirely should be unnecessary. Remove the - call to vgone() and other osi_TryEvictVCache-ish stuff, and just try - to cache_purge the vnode, like the other BSD implementations do. - - Change-Id: I71d71f137c04d9ef3625f6a8ae22f0ffb90b9637 - Reviewed-on: http://gerrit.openafs.org/7433 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 0315bb393fa9429361e27478832e8a4ed68182d4 -Author: Benjamin Kaduk -Date: Wed May 28 10:47:32 2014 -0400 - - Rewrap some long lines in the toplevel Makefile - - Only rewrap long lines in make scope; long lines in shell scope - are untouched. - - We are inconsistent about whether continuation lines for listing - the dependencies of a target are indented by one or two tabs, - which this commit does not fix. - - Change-Id: I2e438a0f42faa2ef7922d2c3b143e14bc82de826 - Reviewed-on: http://gerrit.openafs.org/11178 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 138017efd8166f248d6a1706e5851f2074ad1b34 -Author: Ben Kaduk -Date: Wed May 15 18:16:00 2013 -0400 - - Remove FOREIGN - - It has been unused since the original import of IBM's code. - - Change-Id: Ieec597c76e53453d012f1cd86f6860ae60dade5c - Reviewed-on: http://gerrit.openafs.org/9918 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit bd6859861d7331569081d03450db80a0b476875d -Author: Andrew Deason -Date: Thu Aug 29 16:14:23 2013 -0500 - - salvager: Don't lie about locked-ness to namei_SLC - - We have not locked the linktable with a prior call to - namei_GetLinkCount. So don't claim that we did. - - Change-Id: I43adf92b60a0e46b90ae624e4713747585d12c67 - Reviewed-on: http://gerrit.openafs.org/10198 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit bdd8c60e798cd1cc6d9e6ec4ee55d60eab1574ca -Author: Andrew Deason -Date: Thu Aug 29 16:00:37 2013 -0500 - - namei: Remove namei_SetNonZLC - - This function is unused. Remove it. - - Change-Id: Ie48d5370187c851afdd7cd359115d9e74d001aae - Reviewed-on: http://gerrit.openafs.org/10197 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 752d77b5561bfb6b70e203d3bfcddd93c9dffa12 -Author: Andrew Deason -Date: Thu Aug 29 15:33:49 2013 -0500 - - namei: IH_REALLYCLOSE special inode on delete - - When we delete a special inode, we should IH_REALLYCLOSE it, to ensure - no other cached file handles are open for that special inode. However, - currently PurgeHeader_r does this, and then IH_DECs the special - inodes. On namei, calling IH_DEC on a special inode causes the inode - to be opened, so we create a cached file handle right after we closed - all cached file handles for that inode with IH_REALLYCLOSE. - - Making namei IH_DEC not open an FdHandle_t for the given file is - non-trivial, at least when dec'ing the linktable. So instead, just - make namei IH_DEC itself issue the IH_REALLYCLOSE right before the - actual unlink() call. - - With this, we can keep the cached file handle open for special inodes - until right before they are actually deleted, so we don't issue extra - unnecessary open()s and close()s. - - Change-Id: I35b234ab429bc7cd0f29654cc8f854c82c961071 - Reviewed-on: http://gerrit.openafs.org/10196 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 5b62fac45d9eab00626f8aba9d9994d9138980c0 -Author: Andrew Deason -Date: Thu Aug 29 15:16:00 2013 -0500 - - namei: Remove redundant linktable SetLinkCount - - If we're setting the linktable linkcount to 0, we're about to delete - the whole linktable. So, don't bother setting the link count. Still - make sure we unlock the linktable, as we still have it locked at this - point, from the previous GetLinkCount call. - - Change-Id: Ia00c1e14de6b8fcd69d594f0dbdbafa32b066dc5 - Reviewed-on: http://gerrit.openafs.org/10195 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit d527a8082507bf091f89c7964ce152dfce5d4052 -Author: Jeffrey Hutzelman -Date: Sat Jun 15 18:58:13 2013 -0400 - - Fix unchecked calls to asprintf - - The return value of asprintf() is the number of bytes printed, or -1 if there - was an error allocating a large enough buffer. In the latter case, the value - of the result string is undefined, and so it cannot be counted on to be NULL. - - This change fixes numerous places where the result of asprintf is checked - incorrectly (by examining the output pointer and not the return value) or not - at all. - - Change-Id: I9fef14d60c096795d59c42798f3906041fb18c86 - Reviewed-on: http://gerrit.openafs.org/9978 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 13c1684b59d5780e205f451da1a7d7f61f5ce78d -Author: Derrick Brashear -Date: Mon Jan 7 13:33:12 2013 -0500 - - volser: make splitvol use VolumeId - - convert split volume rpc to also use volumeid type - - Change-Id: I6b1ed670a0abdc1487daa65b7e136a1370afd5fd - Reviewed-on: http://gerrit.openafs.org/8888 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 81a1a53a367f550f6804c7fc562498534ce10d51 -Author: Benjamin Kaduk -Date: Wed Oct 8 16:51:33 2014 -0400 - - Clean up our cleaning - - 'make clean' and 'make maintainer-clean' still leave around a fair - number of droppings, prior to this commit. - - We were not descending into the 'tests' top-level directory while - cleaning. Furthermore, tests/opr/Makefile needed $(LT_CLEAN), and - tests/rx/Makefile needed to spell it correctly. - - The libtoolization places a lot of files to be removed in the - 'pristine' target. - - The processing used to implement the =include directive in the pod - sources for the man pages leaves around the non-.in versions of - files; we should clean that up in the 'pristine' target as well. - - The 'pristine' target should likewise remove the man pages which - are generated from the pod files. - - Additionally, the documentation build uses a Doxyfile which is - output by configure; that should be removed (if present) by the - 'distclean' target. - - When hcrypto was converted to libtool, the use of ${OBJECTS} in - the clean target was missed, so we were leaving around most of the - actual object files -- $(LT_CLEAN) does not handle this for us. - Change the rule to remove *.o as is done elsewhere. - - The conversion of libafsrpc to libtool added a convenience library - libafsrpc_sys.la, and changed how syscall.o was generated on - most architectures, to be the result of compiling an empty .c file - (instead of just an empty .o file). This introduced a new - intermediate file, syscall.c, which must be cleaned up. - - tvolser was only listing volserver and not vos in its list of - executables to remove while cleaning. - - The conversion of venus/test to libtool was not done quite right. - Makefile.libtool and the .lo suffix are only needed when libtool - is being used to link *libraries*; just Makefile.pthread suffices - when libtool is being used to link executables. As such, remove - the inclusion of Makefile.libtool, and change the .lo targets back - to regular .o ones, and add back *.o to the list of files to remove - in the 'clean' target (it was needed there even without the - other changes to that Makefile). - - Change-Id: Ifbc3eee4ad2dce54df991301bc5edd11eb29a24a - Reviewed-on: http://gerrit.openafs.org/11532 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 8f2fa9d6393a958080387e8d84f6b8cd032b5ff8 -Author: Andrew Deason -Date: Wed Sep 24 17:50:02 2014 -0500 - - afs: Consolidate fheader initialization - - We were initializing an afs_fheader structure in two different places, - with the same values. Consolidate these into a single function, so - updating the structure is easier. Also zero the whole structure, just - to make sure everything is initialized, even if the structure changes. - - This commit should have no behavior impact; it is just code - reorganization. - - Change-Id: If90757166d8490eaa053aa086c7b95349a62332e - Reviewed-on: http://gerrit.openafs.org/11510 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - -commit 0125d8c911faf0706667a1733fc086adae6decce -Author: Michael Meffie -Date: Thu Nov 20 16:54:25 2014 -0500 - - vos: fix crash when getting a non-loopback host address - - Fix a crash in vos when trying to find a non loopback server address. - - The struct hostent h_addr_list field is a null terminated array of - pointers to addresses, in network byte order. The struct hostent length - field is not the length of the h_addr_list array (as one would expect), - but rather the length of an address in bytes, which is always 4 for IP - version 4 addresses. - - Verify the returned addresses are IPv4 and take care to not iterate - beyond the end of the address pointer array. - - The non-loopback address check was introduced - commit dc2a4fe4e949c250ca25708aa5a6dd575878fd7e. - - Change-Id: I75dff5ed2a7dd3c4bd6605b375a7a2ffa91eff01 - Reviewed-on: http://gerrit.openafs.org/11609 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 21c9f5341ecb7ef17f37f19406804971090f276f -Author: Ben Kaduk -Date: Wed Dec 4 18:43:51 2013 -0500 - - libafs: fix some nits around the symlink VOP - - Commit 3f4c1099b7b (gerrit 10474) introduced a few issues, addressed here. - - vpp is idiomatically of type 'struct vnode *', not 'struct vcache *'; - use pvc as the name of the parent vcache pointer instead. - - Fix whitespace. - - Change-Id: Ic5d98a43446861bb571fe5a260e7ae1eea1051fd - Reviewed-on: http://gerrit.openafs.org/10531 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ba0b0986ecd6407fc07d5733ca741c1e5fa7bf52 -Author: Jeffrey Altman -Date: Mon Oct 6 19:20:27 2014 -0400 - - Windows: Fix cm_AppendServerList - - Should use || and not | as the operator when testing for - NULL pointers. - - Change-Id: I00afe64aec4f965d6a831028b546ed01d8e9672a - Reviewed-on: http://gerrit.openafs.org/11523 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 3b8c4abf81ea90e7f24fb7d729062ebb0753043d -Author: Michael Meffie -Date: Fri Apr 4 10:14:15 2014 -0400 - - cmd: avoid piggy-backing flags in the help string - - Remove the hack to piggy-back the hidden command option - in the help string argument. - - Change-Id: Iedcb6b96e98b766e3ef2c87cd6e5d41874f2c0b7 - Reviewed-on: http://gerrit.openafs.org/10982 - Reviewed-by: D Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - -commit 0adad43d8e400e273ae243cc98ab1503673eb8be -Author: Michael Meffie -Date: Thu Aug 21 00:25:45 2014 -0400 - - cmd: add flags argument to create syntax function - - Add the flags argument to cmd_CreateSyntax() and update all callers. - The flags argument will be used to set command options, such as - CMD_HIDDEN. - - Change-Id: Ia51be9635f262516cb084d236a9e0756f608bf16 - Reviewed-on: http://gerrit.openafs.org/11430 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 744a0e6df11ceefde0885a2ab737a8e689762d53 -Author: Garrett Wollman -Date: Tue Aug 12 21:56:22 2014 -0400 - - FBSD: osi_vcache: remove support for unsupported FreeBSD releases - - Support for FreeBSD 7.x terminated in early 2013, and it's highly - unlikely that anyone was successfully using OpenAFS in that - environment. OpenAFS has not been tested on 7.x since at least that - time, probably longer. This removes the #ifdefs that support pre-8.0 - releases. - - Change-Id: I01cbce2d98f02755b170df34d948a94525df3853 - Reviewed-on: http://gerrit.openafs.org/11382 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 94d5807d82cc863eefee2814bcc71a7c91f88d51 -Author: Nathaniel Wesley Filardo -Date: Sun Sep 7 20:41:06 2014 -0400 - - Export xdr_nbulkentries from liboafs_vldb - - Change-Id: I117b875189f4f9de971a99ff68eca470515a11ad - Reviewed-on: http://gerrit.openafs.org/11449 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit e053b6bf435519cbbdedaef23f537992f3b50a15 -Author: Nathaniel Wesley Filardo -Date: Sun Jul 27 20:16:35 2014 -0400 - - Move vos COMMONPARMS to a larger offset - - Currently, vos.c leaves a gap of 12 in the argument handling array - before its common operations (-verbose, -noauth, etc.); 'vos each' - will take more, so move that to 25. - - While here, switch to named constants for these arguments, which - should make it easier to do this again, if ever necessary. - - Change-Id: Idc4424e5fe4efd78389ea8421db000a361b461ec - Reviewed-on: http://gerrit.openafs.org/11332 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - -commit 562b8f39d14fbcbabb9b39547c3ac81516f6b6d2 -Author: Ben Kaduk -Date: Wed Nov 27 17:31:16 2013 -0500 - - rx: Named values for securityObjectStats types - - Stop using hardcoded constants and use defined symbols for these - values. - - Change-Id: I3edcf809572cb8c8360af19dcab7a12c4d1be4a9 - Reviewed-on: http://gerrit.openafs.org/10528 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit da12da791e53c8f1ff7f67eda1b58d53a3a2e1cc -Author: Benjamin Kaduk -Date: Wed Mar 26 07:35:29 2014 -0400 - - Disallow creating users with ANONYMOUSID - - It can result only in sadness. - - Document this restriction alongside UID 0 as a reserved number. - - Change-Id: Ibea2d98bc15a730bc85e84477791ca45a40f2d92 - Reviewed-on: http://gerrit.openafs.org/10950 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - -commit cb8195d2d6ce1c01e132c05c1bf5593eab45b2c6 -Author: Andrew Deason -Date: Tue Sep 2 17:51:46 2014 -0500 - - systemd: RemainAfterExit in openafs-client.service - - Currently, if the client is started without any options that require - an extra thread (like -afsdb), all processes spawned by afsd will - exit. There may be some kernel threads still active, but those are - spawned by the kernel module, and are not child processes of the - parent afsd process, or anything like that. - - Since we are a Type=forking service in systemd, systemd interprets - this situation to mean that the service has stopped successfully, and - then runs the ExecStop commands. So, for example, if our AFSD_ARGS in - our sysconfig is "-fakestat -afsdb", the service starts as normal. But - if it is changed to "-fakestat", then when openafs-client.service is - started, it immediately stops again. - - To avoid this, turn on the systemd option RemainAfterExit, which tells - systemd that the service has not stopped if all of our processes have - exited. The client service will thus remain running until it is - stopped. - - Issue reported by Rich Sudlow. - - Change-Id: If760d3617d4afbcfac923df726eb58b03ce25771 - Reviewed-on: http://gerrit.openafs.org/11440 - Tested-by: BuildBot - Reviewed-by: Anders Kaseorg - Reviewed-by: Benjamin Kaduk - -commit cbf67da1e5b8134be58bb1632be6ea69f2052cf5 -Author: Jonathan A. Kollasch -Date: Thu Apr 17 11:03:11 2014 -0500 - - NetBSD osi_crypto: use cprng(9) for random source on NetBSD 6.99/7.x - - Change-Id: Id8ee7f149cdc921989a5de7dda35739147de0014 - Reviewed-on: http://gerrit.openafs.org/11086 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit ce0cad182cddd21ccdebbf05a3e2379c7fcbe8fe -Author: Benjamin Kaduk -Date: Wed Nov 19 14:14:07 2014 -0500 - - Update CellServDB to 20141117 snapshot - - This should be all the locations we keep it in-tree. - - Change-Id: I6819bf0658766aaad21ad38417295616418d41c5 - Reviewed-on: http://gerrit.openafs.org/11607 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f8ec0c9d559cc61561d0245f133cb162c4b6f6d5 -Author: Jonathan A. Kollasch -Date: Thu Apr 17 12:32:17 2014 -0500 - - NetBSD: catch up to removal in NetBSD 6.99.x - - Change-Id: I2c663fc426914e978e98c6003419503b57a020d3 - Reviewed-on: http://gerrit.openafs.org/11087 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - -commit 7ae5b73a90940fe693fd5a726aa31408bd7aec39 -Author: Michael Meffie -Date: Fri Oct 31 23:45:13 2014 -0400 - - fix whitespace errors in acinclude.m4 - - Use tabs instead of spaces in the sysname lookup case - statement for the macos cases. - - Change-Id: Iee03d1b593aee4f6c4bc2488b069b21e116c9f1d - Reviewed-on: http://gerrit.openafs.org/11566 - Reviewed-by: D Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a9a3cb2efff7e6c020be4687b004d157bc070ac6 -Author: Andrew Deason -Date: Wed Nov 5 10:22:00 2014 -0600 - - LINUX: Avoid check for key_type.match existence - - Commit b5de4a9f removed our key_type 'match' function for kernels that - do not have such a 'match' function pointer. However, this added a - configure test where we are supposed to fail for the "new" behavior, - which is discouraged. - - This causes an actual problem, because this test will fail on at least - RHEL5, due to arguably unrelated reasons (the header file for the - relevant struct is in key.h instead of key-type.h). And so, in that - situation we avoid defining a 'match' function callback, meaning our - 'match' function callback is NULL, which causes a panic when we try to - actually look up keys for a PAG. - - To fix this, transform the 'match' config test into one where we - succeed for the "new" behavior. We do this by testing for the - existence of the new functionality that replaced the old 'match' - function, which is the match_preparse function (specifically, the - 'cmp' field in the structure accepted by match_preparse). This should - cause unrelated compilation errors to cause us to revert to the "old" - behavior instead of the "new" behavior. At worst, this should cause - build issues if we get the config test wrong (since we will try to use - the 'match' function definition that does not exist), instead of - panicing at runtime. - - Note that while we test for key_type.match_preparse, we don't actually - use that function, since our 'match' functionality is the same as the - default behavior (according to b5de4a9f). So, we can avoid defining - any such function for newer kernels. - - Thanks to Stephan Wiesand for bisecting this issue. - - Change-Id: If6f93d6b5340fa738a55adeb7778d26ff5dbacc1 - Reviewed-on: http://gerrit.openafs.org/11589 - Reviewed-by: Marc Dionne - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 255c0a564fce8616a2ebc9e6d1c2d7370b1d6908 -Author: Arne Wiebalck -Date: Fri Feb 7 11:23:32 2014 +0100 - - rx: initialize memory before use - - initialize sockaddr_in.sin_zero before using. cosmetic, might fix some - compiler warnings. - - Change-Id: Ib9c4707373ca98742f6a5e28e60006499527fa38 - Reviewed-on: http://gerrit.openafs.org/10816 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 7583f97d5f19aa2d207f8a35a1a3a8b76f672e30 -Author: Benjamin Kaduk -Date: Wed Oct 15 15:03:36 2014 -0400 - - Allow compiling with KERNEL and AFS_PTHREAD_ENV - - Add the necessary preprocessor conditionals to allow building - libuafs with AFS_PTHREAD_ENV defined. - - A follow-up commit will switch to building libuafs using libtool, - which will set the pthread compiler/linker flags. UKERNEL is already - using the pthread primitives for its internal kernel synchronization, - so there should not be any harm from additionally specifying the - pthread build arguments. - - This change was produced mostly in a mechanical fashion, attempting - to perform such a build, and eliminating compiler and linker errors - in an iterative process. No concerted effort has been made to audit - the whole kernel codebase for correctness of conditionals, but the - linktest executable does link (that is, the overall build succeeds). - - Change-Id: I14a3ab5fce72812d92ba5657c734783dbd086ee3 - Reviewed-on: http://gerrit.openafs.org/11546 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit a55d61b1f5206d4e8dffca0088e31c54836110f9 -Author: Jeffrey Altman -Date: Wed Oct 15 12:19:44 2014 -0400 - - klog: make krb5_524 non-fatal for native K5 tokens - - The krb5_524_conv_principal() function should fail whenever the Kerberos - v5 principal cannot safely be mapped onto a Kerberos v4 principal, and - does fail on some Kerberos v5 principals used in real-world AFS - deployments. - - Prior to this patchset a failure was treated as a fatal error that - in turn prevents an AFS token from being generated or set into the - cache manager. - - Prior to b1f9b4cb5dd295162ae51704310e9d6058008f0a the - krb5_524_conv_principal() function wasn't used and a local client - mapping was created. b1f9b4cb5dd295162ae51704310e9d6058008f0a - replaced the local mapping with the krb5 function because the local - mapping could be wrong and confusing. - - The krb5_524_conv_principal() function as applied to AFS tokens is - just a local guess. How the username in the token is interpreted by - the AFS server is up to the server. - - krb5_524_conv_principal() is only used for Krb5 native tokens. For Krb4 - tokens the krb5_524_convert_creds() function is used to obtain both the - Kerberos v4 ticket and the converted names from the KDC. Many - organizations used the krb524d service to perform name translation. When - the krb524d service is used, the name translation is performed by the KDC, - so there is no local call to krb5_524_conf_principal() which might fail. - As a result, disallowing the use of a native Krb5 token due to a failed - local name translation is a needless loss of functionality; the local name - translation is not an essential part of obtaining a token. - - This patchset modifies the behavior such that krb5_524_conv_principal() - errors are non-fatal. - - 1. If -noprdb is not specified the error message is generated - and a NULL username is used. - - 2. If the username is NULL the prdb lookup is disabled. - - 3. If the username is NULL the informational messages do not - include a username. - - 4. If the username is NULL the username info provided to the - cache manager in the token description is the nul string. - - Credit to Ben Kaduk for assistance with the wording of this - commit message. - - Change-Id: Ib07131fc0ff4bf5319815213198c3f0adac17b10 - Reviewed-on: http://gerrit.openafs.org/11542 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit d9a39f3580484a0818f2169f6db38fc685afda80 -Author: Nathaniel Wesley Filardo -Date: Mon Oct 13 01:02:41 2014 -0400 - - Stylistic tweak lwp/process.o machinery - - Rename process.s to process.default.s so that the name "process.s" is free - for use, and switch to using that as the ephemeral file name. This enables - the use of gcc for ${AS}, despite gcc's ignoring files with extensions that - it does not recognize. - - Change-Id: Idc0716547770fe4fc94bc3fa2c223966f3f76c3b - Reviewed-on: http://gerrit.openafs.org/11535 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 96e001088c7e22e992366d5a6dd03e300c858f43 -Author: Andrew Deason -Date: Mon Oct 6 13:47:13 2014 -0400 - - tests: Fix fmt-t.c warning - - 'main' in fmt-t.c was declared as a prototype-less function, which - triggers a warning, which is an error with --enable-checking. Fix it - by declaring 'main' properly. - - Change-Id: I45cfec591acd0ef8d7836c79e997e8ffe29b9e38 - Reviewed-on: http://gerrit.openafs.org/11539 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Nathaniel Filardo - -commit 6b93ad695e53a86dbe9eea13bd0ff651e1d8c9b7 -Author: Michael Meffie -Date: Fri Oct 24 17:17:07 2014 -0400 - - vldb_check: fix false mh block error message - - Fix a false error message about invalid mh blocks when the vldb has more - than one mh block. To add insult to injury, vldb_check complains about - the wrong address and block number. - - The flags field in the mh block header is in network byte order, in all - of the blocks, not just the first one. Be sure to convert all of them - to host byte order so the VLCONTBLOCK flag check works. Fix the error - message on the secondary blocks to show the correct address and block - number. - - Example bogus error messages: - - vldb_check ./vldb.DB0 - address 132120 (offset 0x20458): Multihomed Block 0: Not a multihomed block - address 132120 (offset 0x20458): Multihomed Block 0: Not a multihomed block - address 132120 (offset 0x20458): Multihomed Block 0: Not a multihomed block - - Change-Id: I31d96ad43f01fbf2774815184942be45e2d7820b - Reviewed-on: http://gerrit.openafs.org/11555 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 46bc619c38591b831b61b3efa7fb7706fbd44527 -Author: Benjamin Kaduk -Date: Mon Oct 6 17:19:44 2014 -0400 - - Finish deorbiting libjuafs.a - - Change I2074d5bc26e326db36b16e055431818ef1c69210 removed the separate - compilation/link of a libjuafs.a (since it was functionally identical - to the libuafs.a already being built), but retained a libjuafs.a in - TOP_LIBDIR for use by src/JAVA/libjafs/. - - This commit adjusts src/JAVA/libjafs to refer to libuafs.a directly, - and removes references to libjuafs.a which are no longer relevant. - - Change-Id: I0d02ea9e4be773ac50a04925c45e5f243650e21a - Reviewed-on: http://gerrit.openafs.org/11526 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 003519485db7a185f0e1b843e5b569977ff1224b -Author: Benjamin Kaduk -Date: Thu Oct 16 00:04:14 2014 -0400 - - Make afs_usrops.h more closely resemble reality - - Remove prototypes for many routines which are not implemented. - (I thought some toolchains would complain about this sort of thing? - Maybe we disable it.) - - Change-Id: Id09f494f1c64c2feb05ae82ead9898c08888a5de - Reviewed-on: http://gerrit.openafs.org/11547 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 33f20e841d1ba39761b292d8a69aec2e6fdf883d -Author: Benjamin Kaduk -Date: Fri Sep 19 23:04:10 2014 -0400 - - Build libuafs with libtool - - Use the standard program for building PIC and non-PIC object files, - instead of rolling our own. This allows us to pull the build rules - into the Makefile.common, leaving just compiler flags and similar - in the MakefileProtos. - - This does change the build flags being used to compile these files - somewhat -- the old CRULE1 and CRULEPIC used CC instead of CCOBJ - or MT_CC, and did not pass MT_CFLAGS, but it should be safe to - move to the standard compiler invocations. We can also eliminate - the libuafs-specific 'OPTF' variable which expands to OPTMZ almost - everywhere. - - Rename our COMMON_INCLUDE to MODULE_INCLUDE so it's picked up properly - by the standard build rules; this will let us remove - ${TOP_OBJDIR}/src/config and ${TOP_INCDIR} once the rest of the - build rules in this Makefile are converted to use libtool, as those - include directories are already added by COMMON_INCL in Makefile.config. - - As a side effect, we get rid of the LIBUAFS make variable -- all sites - were defining it to libuafs.a anyway, so we can just hardcode it. - - We can also build a shared libuafs.la "for free". Don't install - it anywhere just yet, though. - - Change-Id: I2bda2f40bbd0aa808c24e074d2d7bcd329f6b77e - Reviewed-on: http://gerrit.openafs.org/11472 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit ba229cbf45bce094d1a93f800483c4b98d32f6db -Author: Benjamin Kaduk -Date: Thu Oct 16 12:46:11 2014 -0400 - - Attempt to make hcrypto parallel-safe - - make -j4 on a Fedora buildbot machine failed to compile engine.lo - because hcrypto/rand.h was missing. - - Change-Id: I2750db9ed932144fbc66ede41d24c4930172a446 - Reviewed-on: http://gerrit.openafs.org/11548 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit c7f1db24d5d0e1fdc956896c7b9804657e4d5b28 -Author: Benjamin Kaduk -Date: Wed Oct 15 19:49:12 2014 -0400 - - (Partially) unify XDR for libuafs and libafs - - The libuafs build was getting xdr_vector() from both afsaux.c and - xdr_update.c, but because of the rules for creating static libraries, - this did not cause build errors. - - The libafs build is sensitive to duplicate symbols, and was only - getting xdr_vector() from afsaux.c; libafs was not building xdr_update.c - or xdr_refernce.c (that is not a typo). - - Remove duplicate xdr_vector() from afsaux.c, and build xdr_update.c - and xdr_refernce.c into libafs. - - Remove the unused #define of AUTH_DES. - - Change-Id: I58ea595d424801697acb07406664ede33aeaf026 - Reviewed-on: http://gerrit.openafs.org/11545 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 67d168511e716d12cc68476a7fda7e984e2ff96a -Author: Benjamin Kaduk -Date: Wed Oct 15 17:52:22 2014 -0400 - - Avoid AFS_version conflicts in uafs - - libuafs links in both afsd.o and AFS_component_version_number.o; - afsd.c #includes AFS_component_Version_number.c, which causes - symbol conflicts when linking shared. - - Don't include the version file when compiling for UKERNEL, to - avoid the conflict. - - Change-Id: I9474faf10e029d0022b12431aad51e27412b19fc - Reviewed-on: http://gerrit.openafs.org/11544 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 7223d7b00c20032a957bd6f82ddaf2e0c7d522a9 -Author: Benjamin Kaduk -Date: Mon Apr 7 21:54:46 2014 -0400 - - Do not install kauth manpages when kauth is disabled - - Commit 5afe7a882b0bb90a515e505d9ffce4f644633f06 added a configure - option to disable the installation of the kauth suite, but did not - add any logic to disable the installation of the corresponding man - pages, so those man pages were always installed regardless of the - options to configure. - - Add logic to doc/man-pages/Makefile.in to create .noinstall files - for man pages which should not be installed in the current configuration. - Depend on the Makefile (which will be regenerated by configure) in - this target so as to attempt to behave properly if configure is re-run - with different arguments in the same working tree. - - Change-Id: I19b77a9f20fe27c49db14f3e800d8c77cda1bb3a - Reviewed-on: http://gerrit.openafs.org/10993 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit c36a1525f13d3900817caea7dbd0c934cc93931e -Author: Andrew Deason -Date: Tue Oct 14 17:02:55 2014 -0500 - - auth: Fix GetNthIdentityOrUser EOF return code - - Before commit 0af17e7e, afsconf_GetNthUser always returned 1 on - failure, to indicate to the caller that they should stop traversing - over the list. After commit 0af17e7e, when reaching the end of the - list, we return EIO or -1. This causes 'bos listusers' invocations to - always fail, since 'bos' clients expect to get the code 1 when - reaching the end of the SUsers list. - - To fix this, make GetNthIdentityOrUser always return -1 when searching - beyond the end of the list. For the newer interface - afsconf_GetNthIdentity, we return this as-is, to have a separate - return code specifically for EOF, but still allowing us to return any - positive error code in case of an error. - - For the older interface afsconf_GetNthUser, return 1 in this - situation, to retain compatibility with the old interface (both at the - libauth level and on the wire). - - Change-Id: I2db4760440d7846dc290a05fa24e24ec97a02f12 - Reviewed-on: http://gerrit.openafs.org/7377 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 01bbe3772734c496b64af2cd7c213cc5f6533ba6 -Author: Benjamin Kaduk -Date: Wed Oct 15 15:04:16 2014 -0400 - - Remove dead code - - RX_ENABLE_TSFPQ is never defined for KERNEL builds. - - In any case, there's a syntax error in the removed code, with a - missing '&' before rx_stats.receivePktAllocFailures. - - Change-Id: I3aaf3d80f7dfee6836016b65b057e1312d716368 - Reviewed-on: http://gerrit.openafs.org/11543 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit f39dd54e11dff5e2b4da3eec419ae7c0825c210f -Author: Benjamin Kaduk -Date: Thu Oct 30 19:51:29 2014 -0400 - - Build fix for recent FreeBSD -current - - r273707 added a flags argument to syscall_register(), so - add the appropriate version check in param.generic_fbsd.h - and ues that in the main code. - - Change-Id: I7ddf6e1295d7ed94625f19fdeee4e38ef5fd511e - Reviewed-on: http://gerrit.openafs.org/11565 - Tested-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit ae8df21d26dd3462c75beb89e6ebbe6dedebd106 -Author: Michael Meffie -Date: Thu Aug 21 00:06:26 2014 -0400 - - remove cmd-suite-option-for-hiding-admin-commands - - Remove the incomplete and non-functional cmd option for hiding admin - commands, introduced in commit 36d02757fd6863a845163daf0d730bdcc0a28343. - - This patch removes the CMD_ADMIN flag, the non-functional help -admin - parameter, and the non-functional cmd_IsAdministratorCommand() function. - - Thanks to Jeffrey Altman for pointing out this old commit and for - suggestions on cleanup. - - Change-Id: I72c7d2ed7109b1238713fe0d6d177c5af6fc6b7d - Reviewed-on: http://gerrit.openafs.org/11429 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Garrett Wollman - Reviewed-by: Jeffrey Altman - Reviewed-by: D Brashear - -commit c22e1797e8c200140f3885647d0ddcb901e8fc37 -Author: Nathaniel Wesley Filardo -Date: Sun Nov 2 01:22:52 2014 -0500 - - Add sparc_linux26 sysname and params - - A copy of sparc_linux24 without #undef USE_UCONTEXT. Userland - tested on a Debian unstable-release machine. - - Change-Id: I69a4226622748b18f5835d6517297b2d3750586a - Reviewed-on: http://gerrit.openafs.org/11567 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 27b66f24aad04d1e74a7aa43d6ebcca0b98af18f -Author: Benjamin Kaduk -Date: Thu Oct 30 19:38:50 2014 -0400 - - Attempt to make the server install bits current - - Avoid using -noauth, and mention both the rxkad.keytab (1.6) - and the KeyFileExt (as 1.8, though it's only master at present). - To support these, move forward the use of kadmin to extract - the afs/cell principal's keytab. - - Move the buserver's creation to the end of the list and mark it - as optional (many sites do not run the AFS backup suite). - - Deindent some programlisting blocks so they don't flow off the - page as much in the PDF version. - - Drop vos syncserv and vos syncvldb from the tasks for setting - up a new server; they should not be needed, as the new db server - should pick up the existing database when it joins the quorum. - - General edits for clarity, whitespace and such. - - Change-Id: I951ec3ee237e4c83a17c82802328f0a454b61097 - Reviewed-on: http://gerrit.openafs.org/11581 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit f0ba037073bc215132c02c40e66732f2514983d6 -Author: Benjamin Kaduk -Date: Mon Nov 3 13:33:56 2014 -0500 - - Switch other-linux to built-from-source - - Don't talk about tarball distributions; we shouldn't be - doing those anymore. Also switch away from 'make dest'. - - Change-Id: If0badacab4b3c2492e90867328153f83da82bfc1 - Reviewed-on: http://gerrit.openafs.org/11580 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 112064b98ff14da8418d1b4fe0844ef1adb9f258 -Author: Benjamin Kaduk -Date: Mon Nov 3 13:13:44 2014 -0500 - - Add a Debian/Ubuntu subsection - - As an alternative to rpm-based systems or "systems packaged as - tar files". Luckily, the instructions are pretty simple. - - Change-Id: I8045763b518465c3ffd7fe3f177fff98146033fb - Reviewed-on: http://gerrit.openafs.org/11579 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit face986d9440faa28c00dfbc5ff33a3a852ed14c -Author: Benjamin Kaduk -Date: Mon Nov 3 16:47:16 2014 -0500 - - Deorbit upserver from the quickstart guide - - It's not the recommended way to push updates anymore, - and clutters up the guide. - - Change-Id: I248380f12609a2ca03f47602773dc08f230b6fbe - Reviewed-on: http://gerrit.openafs.org/11578 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit b83ba7e3fd950c88db3afedd989349e6fa7bb4d8 -Author: Benjamin Kaduk -Date: Mon Nov 3 16:46:20 2014 -0500 - - Drop the non-DA fileserver - - The instructions are clearer when we just tell people what - to do, and we think that dafs should be right for almost - everyone. Mention that the traditional fileserver is an - option and where to read about it, but nothing more. - - Change-Id: I1fccceb8ee2bf2ec1e5afb0f5b034f029ee96c61 - Reviewed-on: http://gerrit.openafs.org/11577 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 2c6886bf8c62f72eb399d96508012ff7724e1180 -Author: Benjamin Kaduk -Date: Mon Nov 3 12:59:14 2014 -0500 - - Reorder "Getting Started" sections - - Put the ones most likely to be relevant at the top, instead - of sorting alphabetically. - - Change-Id: I6ad80ee2a30b7192d8c8e4668234fa1789e1a213 - Reviewed-on: http://gerrit.openafs.org/11576 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit f71063b0324031178432468aff6dca12c3019f4b -Author: Benjamin Kaduk -Date: Mon Nov 3 12:57:08 2014 -0500 - - Deorbit "Getting started on IRIX systems" - - IRIX is mostly gone as an upstream. The case for removing this - is less clear than the case for removing the HP-UX docs, but - it still feels like clutter in this document. - - Change-Id: Ib7e9bfc8f7ae8e08e9f12b70d5df615496f57bb6 - Reviewed-on: http://gerrit.openafs.org/11575 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit ce57b96ecb4274901d96a01c602dc747509d604e -Author: Benjamin Kaduk -Date: Mon Nov 3 12:55:55 2014 -0500 - - Deorbit "Getting started on HP-UX systems" - - We don't really support HP-UX anymore; no need to clutter up - the documentation with it. - - Change-Id: Ib75f4f137c3cfcb5ab2aece3746964f1cfbab051 - Reviewed-on: http://gerrit.openafs.org/11574 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 2e9c06056b6047f1b9f6fb8ad18caba3a849c2f4 -Author: Benjamin Kaduk -Date: Wed Oct 29 09:10:21 2014 -0400 - - Update QuickStartGuide front matter - - Bump copyright and, uh, major version for the "in progress" note... - - Change-Id: I5edd235864138b82c84dc1c1218f849217efad1e - Reviewed-on: http://gerrit.openafs.org/11573 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 86cdf6daa74e6f6f963eaf8c014b4ad5dc68d7e4 -Author: Michael Meffie -Date: Fri Aug 1 09:13:43 2014 -0400 - - roken: configure checks for inet_ntop and inet_pton - - Change-Id: Idf2eee040235bbf1f34ed993c74dd5936ae063c6 - Reviewed-on: http://gerrit.openafs.org/11584 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit dedc1734e511329e06100b7c39cc33502e0581ab -Author: Heimdal Developers -Date: Fri Aug 1 08:56:02 2014 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 5dfaa0d10b8320293e85387778adcdd043dfc1fe (git2svn-syncpoint-master-311-g5dfaa0d) - - New files are: - roken/inet_ntop.c - roken/inet_pton.c - - Change-Id: Ice2f687c67550409b366fbea3e52ae42284f4cbd - Reviewed-on: http://gerrit.openafs.org/11583 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit f4c2befbdf1d8b251a2b029297c31c3ab1ba917c -Author: Michael Meffie -Date: Fri Aug 1 08:38:45 2014 -0400 - - roken: add inet_ntop and inet_pton to the imported file list - - Change-Id: If785d18e3fd5f333c62bff9ddee2c5835ee871db - Reviewed-on: http://gerrit.openafs.org/11582 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit e4a8a7a38dbf29e89bc1a7b6b017447a6aa0c764 -Author: Michael Meffie -Date: Mon Nov 3 19:06:15 2014 -0500 - - avoid writing loopback addresses into CellServDB - - Do not use loopback addresses for the server side CellServDB file. Use - getaddrinfo() instead of gethostbyname() to look up a list of IPv4 - addresses for a given hostname, and take the first non-loopback address. - - This avoids writing a loopback address into the CellServDB on systems - such as Debian, which map the address 127.0.1.1 to the hostname in the - /etc/hosts file. - - Change-Id: I11521df50262ca80c7db21b7b44671d94bef3587 - Reviewed-on: http://gerrit.openafs.org/11585 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 9be7e23cc562a2dfec2dc4cd7614c5ca5f397789 -Author: Michael Meffie -Date: Wed Oct 29 17:25:29 2014 -0400 - - Document the vldb (ubik) file format - - Briefly document the vldb version 4 file format. Describe the vl - header, the vl entry, and mh extensions. - - Thanks to Marcio Barbosa for an initial draft, comments, and review. - - Thanks to Ben Kaduk the prdb.txt, and for an initial review and comments. - - Change-Id: If3ca85419027a218b7bb1585f5d5cd4763ad5b26 - Reviewed-on: http://gerrit.openafs.org/11564 - Reviewed-by: Nathaniel Filardo - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit ba1cc838ab4a80b7a7787c441a79aca31d84808c -Author: Andrew Deason -Date: Tue Oct 28 00:10:56 2014 -0500 - - LINUX: Avoid d_revalidate failure on mtpt mismatch - - Currently, if afs_linux_dentry_revalidate is given an inode that - corresponds to a mtpt vcache ('vcp'), it resolves the mtpt to its root - dir if it's easy to do so (mvid and CMValid are set). Later on, we run - afs_lookup to see if looking up our dentry's name returns the same - vcache that we got; afs_lookup presumably will also resolve the mtpt - if it's easy to do so. - - However, it is possible that afs_linux_dentry_revalidate and - afs_lookup will make different decisions as to whether or not they - resolve a mtpt to a dir. Specifically, if CMValid is cleared after - afs_linux_dentry_revalidate checks for it, but before afs_lookup does, - then afs_lookup will return a different vcache than - afs_linux_dentry_revalidate is expecting, even though the relevant - directory entry has not changed. That is, tvc is not equal to vcp, but - tvc could be a mtpt that resolves to vcp, or vice versa. CMValid can - be cleared by another thread at virtually any time, since this is - cleared in some situations when we're not sure if the mtpt resolution - is still valid (callbacks are broken, vldb cache entries expire, etc). - - afs_linux_dentry_revalidate interprets this situation to mean that the - directory entry has changed, and so it eventually d_drop's the - associated dentry. The way that this manifests to users is that a - "fakestatted" mtpt can appear to be deleted effectively randomly, even - when nothing has changed. This can be a problem because this causes - the getcwd() syscall to return ENOENT when the working directory - involves such an affected directory. - - To fix this situation, we just detect if afs_lookup returned either - 'vcp' (our possibly-resolved vcache), or the original inode associated - with the dentry we are revalidating. If the returned vcache matches - either of these, then the entry is okay and we don't need to - invalidate or drop anything. - - FIXES 131780 - - Change-Id: Ide1dd224d1ea1e29a82eb7130a010877cf4e9fc7 - Reviewed-on: http://gerrit.openafs.org/11559 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Tested-by: Anders Kaseorg - Reviewed-by: Anders Kaseorg - Reviewed-by: D Brashear - -commit b5de4a9f42bb83ae03f2f647b11a1200a502d013 -Author: Marc Dionne -Date: Thu Oct 23 11:27:55 2014 -0400 - - Linux 3.18: key_type no longer has a match op - - Structure key_type no longer has a match op, and - overriding the default matching has to be done - differently. - - Our current match op doesn't do anything special so there's - no need to try to override the defaults; just remove the - assignment of .match and the associated function. - - Change-Id: I0ee195e47f40688d9a71ea62a0b87a4265363f05 - Reviewed-on: http://gerrit.openafs.org/11563 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit a42f01d5ebb13da575b3123800ee6990743155ab -Author: Marc Dionne -Date: Thu Oct 23 11:12:57 2014 -0400 - - Linux 3.18: d_invalidate can no longer return an error - - d_invalidate is now defined as void and does not have - a return value to check. - - Change-Id: Ief1b562db63877dde9f4a8ac4918b727a05b23bb - Reviewed-on: http://gerrit.openafs.org/11562 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 882146b0e671e008e1d599cd34213bf940410d33 -Author: Jeffrey Altman -Date: Wed Jun 11 20:53:09 2014 -0400 - - viced: kill CLIENT_TO_ZERO macro - - Move all struct client fields that are to be zeroed upon structure - reuse to a new struct client_to_zero. Include the new structure - within struct client and call memset() on that structure. - - Change-Id: I0f83f5f18b41bc0d4f8e1f7f8e04cd5508cbe4e1 - Reviewed-on: http://gerrit.openafs.org/11288 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 1b5d5afca69b4a5a6c4027d4b5968d4ebdadc89a -Author: Jeffrey Altman -Date: Wed Jun 11 20:40:47 2014 -0400 - - viced: kill HOST_TO_ZERO macro - - Move all struct host fields that are zeroed into a new structure - host_to_zero which is then included in struct host as 'z'. - - Remove the HOST_TO_ZERO macro entirely as its presence can lead - to the introduction of dangerous errors. - - Change-Id: I44afd37413afae4e4357e68cdadf5c28784611c5 - Reviewed-on: http://gerrit.openafs.org/11287 - Reviewed-by: D Brashear - Reviewed-by: Benjamin Kaduk - Tested-by: D Brashear - -commit fb67a8d4ef62387f8ed7d1ffc373a07475e70588 -Author: Jeffrey Altman -Date: Wed Jun 11 19:37:34 2014 -0400 - - viced: move host tmay fields before index - - The index field and those after it in struct host do not get zeroed - when a host is reused. The placement of the tmay fields after index - in commit 9a0a8ca4d186cf953b87d9fae1a35f66090b060c results in the - use of uninitialized memory. - - This change moves the tmay fields before index which permits - the HOST_TO_ZERO() macro to compute the correct size to be memset() - to zero. - - Change-Id: I1f93bebb23c99eaa7826dafa8cd7497d1b49bb53 - Reviewed-on: http://gerrit.openafs.org/11286 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 235e88a36c1c26b5e5160510ce3b63e61d597e19 -Author: Mark Vitale -Date: Thu Jun 12 14:20:24 2014 -0400 - - viced: remove obsolete comment about alignment - - Alignment may have been historically relevant, but is no longer. - Remove the comment. - - Also remove the unneeded 'dummy' field which does not provide - padding for a useful alignment. - - Change-Id: I447fb73c379e6f86facd955a29ffd80e8929ceff - Reviewed-on: http://gerrit.openafs.org/11289 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: D Brashear - -commit 3b27be6692796bb5319dfa1ea0e01698bbf64aab -Author: D Brashear -Date: Tue Oct 14 14:03:40 2014 -0400 - - libafs: avoid contaminating the return of lookup vnop - - when we resort to checking the inlinebulk errors to see if a retry - is needed, do not overwrite the lookup return code; only decide if - a retry is needed. - - problem case was where the first vnode returned EACCES and so - all vnodes were assumed to have failed, when just one did. - - Change-Id: Ifd7361ce5af50a72817afa81d31d9cfbda906efd - Reviewed-on: http://gerrit.openafs.org/11537 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8f630226f6f1f73a4d816b72caab3bb1e4620312 -Author: Christer Grafstrƶm -Date: Wed Oct 29 08:05:06 2014 +0100 - - Packaging support for MacOS X 10.10 "Yosemite" - - This is just the packaging part of the patch submitted in the - RT ticket. The configuration part is in the preceding change. - - FIXES 131946 - - Change-Id: Ic5b200b1f54d7f9f9552b0f9e2b881c3f0af9bc2 - Reviewed-on: http://gerrit.openafs.org/11561 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 4109785a891d802194ad11edb600a61de316d262 -Author: Christer Grafstrƶm -Date: Wed Oct 29 07:56:35 2014 +0100 - - Add support for configuration of MacOS 10.10 "Yosemite" - - This is just the configuration part of the patch submitted - in the RT ticket. The packaging part will will follow in the - next change. - - FIXES 131946 - - Change-Id: Ic8835b1ddf317600483505a2d94d9f3568720804 - Reviewed-on: http://gerrit.openafs.org/11560 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 8c78a44cf5197ceee6907e947074973138c442f0 -Author: Andrew Deason -Date: Mon Oct 27 16:39:34 2014 -0500 - - rx: Reset lastSendData when resetting call - - Currently we use call->lastSendData to attempt to detect a stalled - call, if it's been too long since the last time the call sent any - data. However, we never initialize lastSendData to anything when - creating a new call. - - This means that when rx_NewCall (or rxi_NewCall) returns, lastSendData - can be nonzero. This can happen if we reuse a DALLY call, or if we - pull a call off of rx_freeCallQueue. This can be a time very far in - the past, since the lastSendData time has not changed since the last - time the call was used; it will remain unchanged until a user of the - new call writes something to the call stream. - - This can be a problem between the time when a caller creates a new - call with rx_NewCall and when the caller actually writes something to - the stream. Between those two times, if lastSendData happens to be set - to a time in the past, we may call rxi_CheckCall on that call, and - abort the call for being idle. The call will thus be aborted before it - even sent any data on the wire. - - This is of particular concern for multi_Rx calls, since those can - create a large number of call structures, possibly introducing a delay - between calling rx_NewCall and writing anything to the stream (if one - of the later rx_NewCall invocations blocks waiting for an open call - channel, for instance, all of the previous allocated calls will stick - around unused for potentially a long time). - - One such multi_Rx call is done by the cache manager, where it - periodically uses multi_Rx to call RXAFS_GetCapabilities to probe - fileservers for reachability. If this issue occurs during that - operation you can see a large number of servers get marked down for - code -9 (RX_CALL_IDLE), and then get marked as coming back up. - - To fix this, set lastSendData to 0 when resetting a call, along with - most of the other fields in a call, to indicate that the call has - never sent any data. As long as lastSendData is 0, the call will never - get aborted with RX_CALL_IDLE, and this situation will be avoided. - This ensures that this issue cannot happen, since rxi_ResetCall is - guaranteed to be called at some point whenever we reuse a call - structure for any reason. - - Change-Id: Ie96d1c640616fd5a234c635f60dfef4ad7c19d28 - Reviewed-on: http://gerrit.openafs.org/11557 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 616d19a2ebedf62e47a30c3357b3596aa234e011 -Author: Nathaniel Wesley Filardo -Date: Sat Oct 25 19:48:36 2014 -0400 - - Remove duplicate CREATE_SGUID_ADMIN_ONLY define - - A trivial omission from 30433f36a953187f27b5db9fb432f3b7dce91e6b - - Change-Id: If85ebd73a68c6226077b690243a94c2e40f88149 - Reviewed-on: http://gerrit.openafs.org/11556 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c04c57c6c57d2e0b09ba60b68de738b636c9450b -Author: Benjamin Kaduk -Date: Wed Oct 22 12:07:37 2014 -0400 - - Remove documentation of 'program' - - This tool was removed in 2006 in commit - b405868ca02880207bda1ec6eb4e21c7b0ac250c. Also remove mention of - wsadmin, removed at the same time. - - Change-Id: I8475b951f576f10ddd2f4b72565354b9fba41d94 - Reviewed-on: http://gerrit.openafs.org/11554 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 6e167d4646992e95d294927b238e21f39b1169e3 -Author: Benjamin Kaduk -Date: Mon Oct 6 22:54:09 2014 -0400 - - Remove unused -k argument to fileserver - - It has been unused since the LWP fileserver was removed. - It was used to set the LWP stack size. - - Change-Id: I2ffd3a2f02049a307b668a46b62b31dc9bc128a8 - Reviewed-on: http://gerrit.openafs.org/11527 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 89febdba40119c3f1e2d33901bdce4f649a12400 -Author: Benjamin Kaduk -Date: Mon Oct 6 17:06:53 2014 -0400 - - Warn at configure time about bitmap-later - - It's superseded by DAFS and is slated for removal post-1.8. - - Change-Id: Id2c870fb76eeb470bbf393e99654df434b1a1a86 - Reviewed-on: http://gerrit.openafs.org/11525 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit f7ddab6606617cb587a0f667bba6837c8103d5e9 -Author: Benjamin Kaduk -Date: Mon Oct 6 13:31:23 2014 -0400 - - Merge pam into the kauth configure option - - Realistically, you shouldn't be using either kauth or pam. The - pam functionality provided by the module in our tree is only - useful in a kaserver-style environment, so it makes sense to merge - the two knobs. - - Retain a separate enable_pam variable so that it can be overridden - on a per-architecture basis where it is known to not work. Consolidate - the two places where we did such checks, as well. - - Change-Id: I6bf39ee5002f943548c51d089fe612f7e2f0501b - Reviewed-on: http://gerrit.openafs.org/11524 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 2c3a517e876013f24430462fc5a2eea25e5cd61d -Author: Benjamin Kaduk -Date: Wed Sep 24 00:31:16 2014 -0400 - - Retire Makefile.shared - - It has served its purpose, and been replaced by libtool. - - Change-Id: Ifb4e2f585fb4239e9138daef82dcc7f41d7f2a99 - Reviewed-on: http://gerrit.openafs.org/11485 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 6d2395ed2205d438cb8814689960b8f524454fea -Author: Benjamin Kaduk -Date: Wed Sep 24 00:11:07 2014 -0400 - - Build kopenafs with libtool - - Prior to this commit, we were installing libkopenafs.so.1.1. As - for the other libtoolizations, bump SONAME to 2.0 as a general - precaution. - - Change-Id: I6edef89737cf057eb8aab8dfe2eacfb4f417dd6e - Reviewed-on: http://gerrit.openafs.org/11484 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 5815ee92a41cdcf105741d834042a5617dc4c219 -Author: Marc Dionne -Date: Thu Sep 25 07:52:12 2014 -0300 - - Linux 3.17: Deal with d_splice_alias errors - - In 3.17 the logic in d_splice_alias has changed. Of interest to - us is the fact that it will now return an EIO error if it finds - an existing connected directory for the dentry, where it would - previously have added a new alias for it. As a result the end - user can get EIO errors when accessing any file in a volume - if the volume was first accessed through a different path (ex: - RO path vs RW path). - - This commit just restores the old behaviour, adding the directory - alias manually in the error case, which is what older versions - of d_splice_alias used to do. - - Change-Id: I5558c64760e4cad2bd3dc648067d81020afc69b6 - Reviewed-on: http://gerrit.openafs.org/11492 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Andrew Deason - Reviewed-by: D Brashear - -commit 6a23ca5b6e8bcaf881be7a4c50bfba72d001e6cd -Author: Marc Dionne -Date: Tue Sep 9 10:39:55 2014 -0300 - - Linux 3.17: No more typedef for ctl_table - - The typedef has been removed so we need to use the structure - directly. - - Note that the API for register_sysctl_table has also changed - with 3.17, but it reverted back to a form that existed - before and the configure tests handle it correctly. - - Change-Id: If1fd9d27f795dee4b5aa2152dd09e0540d643a69 - Reviewed-on: http://gerrit.openafs.org/11455 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Andrew Deason - Reviewed-by: D Brashear - -commit cadaea4f86427c4dc74f56fc66707e8cfb0166cb -Author: Anders Kaseorg -Date: Wed Sep 3 18:26:36 2014 -0400 - - Linux: Refine openafs-client.service dependencies - - Make sure that openafs-client is started after the network is online, - and before services that need remote-fs at startup. - - Change-Id: Ib69e0c07f9079f47bbe5057626652c44039c433a - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/11441 - Reviewed-by: Chaskiel Grundman - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 57ca77786eb6c04519f9358f1456fdf5b8006757 -Author: Benjamin Kaduk -Date: Wed Sep 17 12:07:02 2014 -0400 - - Fix disk name initialization in scout - - Scout needs to initialize names in scout_disk structures to prevent - the use of uninitialized data. However, '\0' is a NUL character - constant, i.e., the integer value 0, which is interpreted as NULL - (the pointer constant) in a pointer context, such as when assigned to - a variable of type char*. Since the name field in these structs is - passed to printing routines, the safe initialization value is the - empty string constant "", not a zero value. - - Change-Id: Ie0530fc4fc090b226c0e54201b4a74158efddebd - Reviewed-on: http://gerrit.openafs.org/11469 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit 66a431bf82da5e09e89307c250991bfc12caf532 -Author: Benjamin Kaduk -Date: Tue Sep 16 22:57:53 2014 -0400 - - Build fixes for recent FreeBSD -current - - Let's try a new paradigm of using flag checks in the main code, - which are based off of precise version checks in the FreeBSD-specific - param.h file. It's not quite configure checks, but is much more - granular. - - Change-Id: I8274a8ad3747d3847cdec3ce8d521837fd5b2a92 - Reviewed-on: http://gerrit.openafs.org/11467 - Tested-by: BuildBot - Tested-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit ec2382e060753dfdcaf84b9ac03e1534c65fcdbc -Author: Benjamin Kaduk -Date: Mon Sep 8 13:47:33 2014 -0400 - - Tweak AFSDIR_PATH_MAX definition - - On recent Debian, we run into runtime errors in the test suite - because _POSIX_PATH_MAX is only 256, and that buffer is too small - for a call to realpath(). Use PATH_MAX if it's available and larger - than _POSIX_PATH_MAX, in a way that should be safe even when PATH_MAX - is not defined. - - Change-Id: I39127e88d92b358245ece21131219380ca4be98a - Reviewed-on: http://gerrit.openafs.org/11453 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Perry Ruiter - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 4514dbb1c4527a91a41e2a29c8a721091f6351a9 -Author: Benjamin Kaduk -Date: Mon Sep 8 13:42:27 2014 -0400 - - Let mancheck_utils ignore version subcommands - - We don't have a man page for the 'version' subcommand, which has - "always" been present but only recently was exposed to the usage. - It's okay to not have a man page for it, so tell the test infrastructure - to not complain about its absence. - - Change-Id: Ife834d41797d1d1efe403b204736ac85d62724e9 - Reviewed-on: http://gerrit.openafs.org/11452 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 27cb0d38885428474b0d42878fa2c539ce45b025 -Author: Benjamin Kaduk -Date: Tue Sep 23 23:42:50 2014 -0400 - - Adjust configure defaults for 1.8 - - Disable pam; enable pthreaded ubik. - (Pam is actually not installed by default anyway, since it is - functionally part of kauth.) - - pthreaded ubik is believed to be stable, and we want to move away - from LWP moving forward. - - Change-Id: I14d20e3157df625a9e04059534bbb59268384213 - Reviewed-on: http://gerrit.openafs.org/11483 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit f2d4ba8b61bfe51d2c2167190f0049c4ec94f220 -Author: Benjamin Kaduk -Date: Fri Sep 19 14:39:04 2014 -0400 - - Build hcrypto with libtool - - Or rather, with lwptool, since we need a LWP version as well as - the various pthreaded versions. - - The previous version was the initial version, 1.1, but since we're - switching to libtool, bump the version to 2.0 just to be safe. - - Libtool abstracts away the extra logic that had previously been needed - to build different copies of rand-fortuna for the pthreaded and LWP - libraries. - - As for roken, we must install both shared and static libraries - to $(TOP_LIBDIR) for unity of consumption, but remove the libtool - archive after instllation. - - Change-Id: Ibc530a1fa4baa7a38b44eb3e0719e1905a6fe269 - Reviewed-on: http://gerrit.openafs.org/11482 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit a6d7014187e238c9659141919d3c0934aac61f3b -Author: Benjamin Kaduk -Date: Tue Sep 23 18:19:09 2014 -0400 - - Allow external hcrypto - - Put the configure checks into a separate file in src/cf, following - the same general structure as the roken checks. - - Allow explicitly requesting the internal version, or checking - what's in the default paths, or providing a specific hcrypto root - or lib/include dirs for Debian compatibility. - - We must still always compile libafshcrypto_lwp.a for use by LWP - binaries, from the bundled sources, but other binaries will use - the system version. - - The hcrypto headers have an unfortunately large number of dependencies, - including depending on being able to find each other by including - paths. As such we must pass both the user-supplied - directory and $dir/hcrypto to the preprocessor in order for things - to work, and we also may need to revisit the includes used in the - configure check for use on non-linux systems due to the dependencies - on system headers. - - Change-Id: Idcba1418a19a7b562335524c911d69dc84268177 - Reviewed-on: http://gerrit.openafs.org/11481 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 493765cc88a15fd7db14d13dc03f0771cf6bb210 -Author: Benjamin Kaduk -Date: Tue Sep 23 16:58:08 2014 -0400 - - Link aklog against LIB_hcrypto - - This was the last place where libafshcrypto.a was explicitly referenced, - preventing the use of an out-of-tree hcrypto library. - - We will continue to need to build the in-tree code to produce a - libafshcrypto_lwp.a library for use in LWP applications, until we - do not have any more LWP applications, but some systems (such as - Debian) have a desire to avoid bundled libraries, so we should - facilitate the use of an external libhcrypto where possible. - - Many consumers of libafshcrypto_lwp.a will be removed when the - LWP versions of various modules are removed after 1.8 is branched. - - Change-Id: I23049866caae9c16ffb2ec32c5e7b058465a26ba - Reviewed-on: http://gerrit.openafs.org/11480 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit d31d7c3cb0d78f77e2e12215a35efaa7754813e4 -Author: Benjamin Kaduk -Date: Fri Sep 19 15:01:29 2014 -0400 - - Build venus tests with libtool - - This was the only place doing -lafshcrypto_lwp on the command line. - (There are other consumers, which list libafshcrypto_lwp.a explicitly; - we can use the presence of libafshcrypto_lwp.a to track progress towards - not needing a LWP hcrypto build, which must come from the in-tree version.) - - Convert the tests to build with libtool (as pthreaded), where we can - just throw in $(LIB_hcrypto) and deal with what we get. - - Change-Id: Ibc99615d2ff03b8aebf956502a2a6b1cb26f0a65 - Reviewed-on: http://gerrit.openafs.org/11479 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 3160b1ad38a87c0c7e132246de2e5f3c3fac92bd -Author: Benjamin Kaduk -Date: Thu Sep 18 13:55:15 2014 -0400 - - Build roken using libtool - - Previously it was version 1.1; just in case I did something terrible, - bump it to 2.0, as was done for the other libtool conversions. - - Install both the libtool archive and the static archive to $(TOP_LIBDIR), - so that all our internal consumers can just use -L$(TOP_LIBDIR) -lrokenafs - (well, via the LDFLAGS_roken and LIB_roken aliases) whether linking - statically or shared. Installing the libtool archive gets us the shared - library there, but we have to then remove the libtool archive, since - this is not the location we told libtool we would install to (the prefix - we configured with), and libtool would get confused trying to use this - installed, but installed-at-the-wrong-place libtool archive. - - Add rk_vsyslog to the export list, for AIX. - - It is tempting to eschew this installation and instead point LIB_roken - at the libtool archive file librokenafs.la directly (with empty - LDFLAGS_roken), but this is not possible until all consumers of roken - are converted to build using libtool. In practice, this will probably - not happen until LWP is evicted from the tree. - - Change-Id: If6ab6c2d57c0a1b1511f9631b9aeb522d7e7392b - Reviewed-on: http://gerrit.openafs.org/11477 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 933d980341556f776a500b41f12a86854bdd41a2 -Author: Benjamin Kaduk -Date: Tue Sep 23 15:33:08 2014 -0400 - - Build auth tests with libtool - - (And pthreaded.) - - This was the only place consuming librokenafs directly, which is - forbidden if we are to properly support using an external roken. - Convert to libtool and throw $(LIB_roken) on at the end. - - Change-Id: I0cdea690800be1022888244b613929ce3154db1d - Reviewed-on: http://gerrit.openafs.org/11476 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit efe449adbb8994e6333bfb018be225b46d9f4ba6 -Author: Benjamin Kaduk -Date: Thu Sep 18 21:35:30 2014 -0400 - - Fix LT_LDLIB_shlib_missing - - Libtool's -symbols-file argument is taken as an exact match of symbols - that this library claims to export. It does not filter based on what - symbols are actually present in the objects comprising the library. - Instead, if there are symbols in the file which are not implemented - by the library, there is an implicit assumption that some other library - will provide those symbols, which must be linked into a consumer of - this library alongside this library. - - These are not the semantics we want (at present, only for roken), wherein - a library will implement some (but probably not all) of a given list - of symbols, and we want the export list to reflect only those symbols - which are implemented. Instead, use the symbols file to build a regex that - will only match symbols listed in the file (and no other symbols), and - only export the subset which is present. - - Change-Id: Id81f7a35089ae7f760fe643680f9bfb9c81521aa - Reviewed-on: http://gerrit.openafs.org/11475 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 119d2edf8a4b42ca4c3fd36d17e3621ddc0de60d -Author: Benjamin Kaduk -Date: Mon Sep 22 17:02:27 2014 -0400 - - Allow building with MIT krb5 and external roken - - That is, an external roken which is part of a heimdal distribution, - with full headers and libraries, most notably krb5.h and libkrb5. - - This adjusts the ordering of file- and module-specific compiler and - linker arguments so that the more specific arguments are able to - take precedence. For general flags arguments, such as enabling - or disabling warnings or features, the more-specific settings should - come last, so as to override the flags set by default. However, - for arguments that affect a global search list (e.g., for headers - or libraries), the more-specific arguments must come first, so - as to be at the beginning of the search list. - - We presently use per-file CFLAGS for both warning-type flags and - preprocessor (i.e., include path) type flags, so add an additional - file-specific setting for CPPFLAGS, which comes at the beginning of - the compiler invocation. - - At present, MODULE_CFLAGS are essentially only used for preprocessor - functionality, so treat them as CPPFLAGS and put them right after - the per-file CPPFLAGS. (It might be cleaner to rename them to - MODULE_CPPFLAGS, but that would be more churn than is needed. If - such a distinction turns out to be necessary, it can be done at a - later date.) Likewise the MODULE_LDFLAGS are generally being used - to affect the library search path, so put them early as well. - - Make the necessary Makefile changes to use these new features to - allow building with MIT krb5 and external roken: put KRB5_CPPFLAGS - in per-file CPPFLAGS, and put LDFLAGS_KRB5 in MODULE_LDFLAGS for - aklog. - - Change-Id: I1091223b3b75c782b39b9e189bdd47e52ebefae2 - Reviewed-on: http://gerrit.openafs.org/11474 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 9e3596c3fae6912783ec6d714a37f3dc05f8925c -Author: Benjamin Kaduk -Date: Mon Sep 22 15:27:44 2014 -0400 - - Adjust roken.m4 to allow separate lib and include - - In some installations (e.g., Debian), the roken libraries and headers - will not be installed in a common root directory to which /lib and - /include may be appended to find the appropriate library and header - directories, respectively. - - Take inspiration from rra-c-util's GSSAPI macros and allow the - specification of separate include and lib directories. Since there - are now three values to pass to the guts of the checking routine, - pass them in global variables instead of as parameters. - - The expected usage would be to set either --with-roken, or both of - --with-roken-libdir and --with-roken-includedir, as in - configure --with-roken-include=/usr/include/heimdal - --with-roken-lib=/usr/lib/x86_64-linux-gnu/heimdal - - This also fixes a typo that prevented --with-roken=internal from - functioning as intended. - - Change-Id: I6f651ef3f3abf37c92ea81ea1801294ca3dc00b2 - Reviewed-on: http://gerrit.openafs.org/11473 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit bd5c12995e6de74d36bd2205f7268a0f32029b7f -Author: Benjamin Kaduk -Date: Fri Sep 19 21:18:38 2014 -0400 - - Deorbit separate JUAFS build - - Since 80943970b8cfcdf3fc630b25804aebaea228bd73, when the web enhancements - were enabled universally, there has no longer been a functional difference - between the UAFS and JUAFS builds. Their object files are compiled - using the same compilation rule, and the list of object files differed - only by rx_kmutex.o (which is devoid of content) and xdr_int32.o - (which is preumably an oversight). - - Save the extra build time by just reinstalling libuafs.a as libjuafs.a - to preserve the existing interfaces. - - Additionally, drop the LIBJUAFS make variable -- all definitions set - it to libjuafs.a. Similarly, the LIBJUAFS_FLAGS variable was unused - and can be removed. - - Change-Id: I2074d5bc26e326db36b16e055431818ef1c69210 - Reviewed-on: http://gerrit.openafs.org/11471 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 9799484891ae90e408cdd7d86ef2e928cdd07c61 -Author: Benjamin Kaduk -Date: Fri Sep 19 21:45:31 2014 -0400 - - Deorbit the netscape plugin - - Netscape hasn't been a thing since 2008. - - We would only try to build it if someone manually ran 'webinstall' - in src/libuafs, and there is no documentation telling anyone to do so. - - It's dead, Jim. - - Change-Id: I7486ca33da7ff19f23f0d9f54f5fb4e7e3232540 - Reviewed-on: http://gerrit.openafs.org/11470 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 5d2bd0416bbaf5b85f28e870a06dbc2955a1adf7 -Author: Benjamin Kaduk -Date: Sun Sep 14 21:16:56 2014 -0400 - - Make pam conditional on INSTALL_KAUTH - - The pam module we provide is only useful in kaserver-like environments, - and as such should not be installed when the user has requested to - not have kauth. - - Change-Id: I9b336593e34cedfd6e8c2210f3798575d115d2d6 - Reviewed-on: http://gerrit.openafs.org/11466 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 6825d6aeaa7c3951aafc216fa3707ae6c62e8691 -Author: Benjamin Kaduk -Date: Fri Sep 12 18:07:51 2014 -0400 - - Build a usable pam_afs.so - - Our use of libtool for building the pam modules resulted in shared - objects which had dependencies on liboafs_auth.so and liboafs_kauth.so, - neither of which are installed. - - We still need some way to resolve those dependencies at link time, and - a dependency on libafsauthent.so seems ill-advised to insert into the - pam stack, so we are left with only the option of directly linking in - the requisite functionality. Fortunately, almost all of the requisite - convenience libraries of PIC objects already exist to meet the - requirements of libafsrpc and libafsauthent; the only exception is - from the auth module. Here, we require a new convenience library, - because the pam_afs.krb.so module includes its own version of ktc.o, - compiled with AFS_KERBEROS_ENV defined, yet the pam_afs.so module - requiers a ktc.o compiled without AFS_KERBEROS_ENV defined. The - convenience library from the auth module can only include one version, - and would therefore be wrong for the other. As such, create the new - libpam_auth.la archive from the BASE_objs in src/auth, and manually - compile ktc.lo and ktc_krb.lo as needed for the pam modules. - - As for libafsrpc and libafsauthent, the convenience libraries included - from other parts of the tree belong in LT_objs, not LT_deps, because - they are contributing actual content to be included in the resulting - library; they are not library dependencies of the output of this module. - - Change-Id: I5292718a5494710d166043fd08ad07269ff9fdf2 - Reviewed-on: http://gerrit.openafs.org/11463 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 96b0307b3c79ccfc2305f98a3045b49f3c2a4723 -Author: Benjamin Kaduk -Date: Mon Sep 8 18:06:25 2014 -0400 - - Build and install libafsauthent.so.2 - - During the libtool interim, we had been building a .0 but not - installing it. Prior to the libtoolization of shlibafsauthent, we - had installed a libafsauthent.so.1.1, which is the same version currently - installed by the 1.6 branch. Since there have been backwards-incompatible - ABI changes (e.g., afsconf_BuildServerSecurityObjects) since the .1.1 - version, we must bump the SONAME to .2.0. - - At time of this writing, the libtool rules for updating the - version information is found at: - http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html - and - http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html - - This lets us consolidate the building of the shared and static libafsrpc - and their installation), as libtool will happily do both for us - at once. - - We explicitly do not install the .la files, as our libtool use is - to be kept entirely internal. - - Change-Id: I283f9bb74eb9853c268e8642ac1f01741deeae2b - Reviewed-on: http://gerrit.openafs.org/11462 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 248b3216e77d333126c84987319a928a9ca6e3af -Author: Benjamin Kaduk -Date: Mon Sep 8 18:06:25 2014 -0400 - - Build and install libafsrpc.so.2 - - During the libtool interim, we had been building a .0 but not - installing it. Prior to the libtoolization of shlibafsrpc, we - had installed a libafsrpc.so.1.4 (though the 1.6 branch was - installing libafsrpc.so.1.5, "so we don't collide with the shlibafsrpc - versions on the master branch", which seems misguided). Since there - have been backwards-incompatible ABI changes (e.g., rx_SetMaxMTU) since - the .1.4 version, we must bump the SONAME to .2.0. - - At time of this writing, the libtool rules for updating the - version information is found at: - http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html - and - http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html - - This lets us consolidate the building of the shared and static libafsrpc - and their installation), as libtool will happily do both for us - at once. - - We explicitly do not install the .la files, as our libtool use is - to be kept entirely internal. - - Change-Id: I11bc3cbc80048d0192aadeb80b89d2772bcd01cd - Reviewed-on: http://gerrit.openafs.org/11461 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit cd030f3c36c6a6ed6fa721cdcaa98fe4a4fce8a4 -Author: Benjamin Kaduk -Date: Fri Sep 12 17:21:42 2014 -0400 - - Normalize LT_deps/LT_objs split - - As described in the commit message of - 69f26ece3c4545ecc9099641f7a507796fe9dc77, LT_objs should contain - the .lo files for the given module, and LT_deps should contain the - libtool dependencies, i.e., the .la files from other parts of the - tree. However, this simple split by file suffix is not correct - when we are using convenience libraries. Really, LT_objs represents - the "new" objects being provided by the module, and LT_deps is - libraries from other modules that provide functionality on which - we depend. Since convenience libraries are just thin aggregates - of object files, they behave more like object files than libraries - upon which we depend. In particular, libafsrpc and libafsauthent - are wrapper libraries that gather together the functionality of - several modules and export them as a single library interface; - they do not have any objects of their own. - - However, libafsauthent has a dependency on libafsrpc, which does - belong in LT_deps (or possibly in LT_libs). - - Simon's description of LT_libs leaves a little ambiguity, as it - does not describe what should be done with non-libtool libraries - from within OpenAFS. (At present, these include libafshcrypto - and librokenafs, both of which are regularly put in LT_libs.) - I prefer to recast LT_libs as containing externally visible libraries, - not just external libraries, which rationalizes the inclusion of - roken and hcrypto there, since we currently install those libraries, - and build libraries that have shared library dependencies on them. - - In the future, as we begin committing to stable shared library - interfaces for libraries produced by libtool, I would like to - have those .la files be moved to LT_libs, since they would then - be external library dependencies of the given module. - - Change-Id: Ie50010da84df99cec048c3e39ffeb9d5897fc08c - Reviewed-on: http://gerrit.openafs.org/11460 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit a470b30ecabb7db578a9345771b0d371a5581f8d -Author: Benjamin Kaduk -Date: Fri Sep 12 15:41:23 2014 -0400 - - Normalize names of libtool convenience libraries - - Part of why libtool was introduced into the tree was to reduce the - number of times each source file is compiled. PIC code is needed - for shared objects, and non-PIC code for static libraries, so in most - cases a C file must be compiled twice, but not more than that. - - Libtool automatically manages which version of an object is passed to - the linker when libtool is used to link .la files. At several places - in the tree (libafsrpc, libafsauthent, libuafs_pic.so, and pam_afs.so) - we use libtool to link a .la library and pass other .la libraries in - as linker inputs. In normal situations, libtool would produce an - output shared library that registered a shared library dependency on - the (shared version of the) input library. However, in our usage, - these input .la libraries are used only for our convenience, and are - not intended to be installed, so libtool would produce an output - library that was not usable. - - Libtool refers to our usage of libraries not intended to be installed - as "convenience libraries"; for us, they are essentially just - static archives that contain PIC objects (as opposed to normal - static archives which contain non-PIC objects). - - Prior to this commit, we had named our convenience libraries things - like libafsauthent_auth.la or libafsrpc_comerr.la, since they were - mostly only used for either libafsrpc or libafsauthent. However, - future commits will need to use some of these convenience libraries - in other shared objects (such as pam_afs.so), so we normalize the - library name to indicate merely that it is a PIC version of that - module. - - There are three exceptions to this rule: libafsrpc_sys.la, which - contains only a single file and not the whole of the sys module, - libafsrpc_util.la, which contains a subset of the util objects, - and libauthent_ubik.la, which contains a subset of the ubik - objects. Since these convenience libraries are in fact tailored to - the particular application, a target-specific name is appropriate. - - The convenience library provided by the ptserver module is named - libprot_pic to match the existing public interface libprot.a. - - We cannot link the dependencies of the convenience libraries - directly into them, because any given object may only be linked - once into a given library, and our dependency graph between - modules is decidedly not a tree, so attempting to link in the - dependencies would result in duplicate symbol errors. - - Change-Id: I5f10af74b8582edd51e5f1b3f0026dbc7ef9f7ad - Reviewed-on: http://gerrit.openafs.org/11459 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 81189b7bc9ef66519a5bf96e20ec2fbe0267dfc8 -Author: Benjamin Kaduk -Date: Mon Sep 8 18:28:11 2014 -0400 - - Use correct syntax for libtool version info - - It does not take an '='. - - Whomever thought that making libtool silently accept all (i.e., - malformed) command-line arguments was a good idea ... seems to - have been mistaken. - - Change-Id: I357cd44ac6f495474f9763a2f768ac9c8d1e4cb4 - Reviewed-on: http://gerrit.openafs.org/11458 - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 25be08520935bc4b0604bff0a476ee53e1a511d5 -Author: Michael Meffie -Date: Wed Sep 10 09:00:11 2014 -0400 - - build: remove trailing whitespace from makefiles - - Remove trailing whitespace from the makefiles, except for - trailing whitespace in the boilerplate comment headers. - - Change-Id: Ib8ee87a51f00633ba15e1974ac0b311969bef1bf - Reviewed-on: http://gerrit.openafs.org/11456 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit fbea3265b3bc042b97be17229839ccf7d11a0bf9 -Author: Anders Kaseorg -Date: Tue Sep 30 13:52:31 2014 -0400 - - aklog: Fix segfault on aklog -path - - Commit 2fac53522e7ef5b3a376e191bffdc1f6784e6995 ā€œaklog: Fix improper - use of readlinkā€ inadvertently changed the meaning of int link from a - boolean flag (length > 0) to just a length. This caused ā€˜aklog -path - (anything)ā€™ to segfault. - - Update the type of link and the condition of the while loop to account - for this change. - - FIXES 131930 - - Change-Id: Ia05836795425a53e858ab29866900f6d45970644 - Reviewed-on: http://gerrit.openafs.org/11517 - Reviewed-by: Anders Kaseorg - Tested-by: Anders Kaseorg - Reviewed-by: Benjamin Kaduk - Reviewed-by: Stephan Wiesand - Tested-by: Stephan Wiesand - Reviewed-by: D Brashear - -commit c6b61a4510c0c34688b979182ea6f3823a840296 -Author: Perry Ruiter -Date: Thu May 29 15:51:57 2014 -0700 - - afs: Verify osi_UFSOpen worked - - In some builds (UKERNEL) osi_UFSOpen returns a NULL if it runs - into a problem. On the other builds osi_UFSOpen simply panics. - afs/afs_cell.c was checking for a NULL return but other callers - were not. Add checking logic to all callers. - This is a prepartory patch. A subsequent patch will have - osi_UFSOpen return NULL rather than panic for other builds too. - - Change-Id: I3610a57dff59b84fe5ea8b1c862f3192157f255f - Reviewed-on: http://gerrit.openafs.org/11243 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Garrett Wollman - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit c90c5e97c6361e06ff06aab02d0768a0bd43354d -Author: Jeffrey Altman -Date: Thu Sep 25 13:23:16 2014 -0400 - - Windows: SetDispositionInfo vs Link Count - - When SetDispositionInfo is called to mark a file for pending - delete the link count should not be decrememented. The count is - decremented only when the file is actually deleted. - - Change-Id: I611e2b9695179abcba01d6fa83022b08044ee8bf - Reviewed-on: http://gerrit.openafs.org/11508 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8da84729c8f1e849882aea7b1268c6ac49936f21 -Author: Jeffrey Altman -Date: Thu Sep 25 13:21:48 2014 -0400 - - Windows: FileStandardInfo Link count - - Instead of returning 1 in all cases the ObjectInformation.Links - value should be returned to the caller. - - Change-Id: I719bebca9299953c6afc3352117c1e1bf99d63f6 - Reviewed-on: http://gerrit.openafs.org/11507 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 243537f7071a108950d5442a4f9f7ab0747ca080 -Author: pete scott -Date: Thu Sep 25 09:01:27 2014 -0600 - - Windows: Check for RO and Open Target in rename - - During a file rename operation, check to see if the target file - has the DOS readonly attribute set or has a non-zero reference - count. If yes, the request must be failed. The error status - depends upon the state of the pending delete flag. Either - STATUS_PENDING_DELETE or STATUS_ACCESS_DENIED. - - Change-Id: I90fa1ea54176f96ca3052ee2b774b1179642e2ef - Reviewed-on: http://gerrit.openafs.org/11506 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a27bed59cae1a4244429c752edfde0a8363c8a3b -Author: Andrew Deason -Date: Thu Sep 25 12:34:18 2014 -0500 - - afs: Move init_hckernel_init to osi_Init - - Currently we call init_hckernel_init inside afs_InitSetup, to - initialize the hcrypto mutex. However, we use the hcrypto mutex in the - AFSOP_SEED_ENTROPY syscall, which afsd calls before any syscall that - cals afs_InitSetup. This means we crash on trying to - AFSOP_SEED_ENTROPY. - - To avoid this, just call init_hckernel_init inside osi_Init instead, - which is called when our kernel module itself is initialized. This - ensures that the mutex is initialized early on, regardless of what - happens with afsd and the startup syscalls. - - Change-Id: Ib6cbed7abcfd8f9a61685f613a848e9f36d6050d - Reviewed-on: http://gerrit.openafs.org/11509 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit cdfa21ad5e86184f822496c1a9aa769fa98a8bb1 -Author: pete scott -Date: Wed Sep 24 11:49:38 2014 -0600 - - Windows: Use the allocation size from the service - - The prior patchset modified the service AllocationSize return value - to count the number of 1KB units. Use the value from the service - without modification. This corrects an inconsistency in the - FileStandardInformation response. - - Change-Id: I9a5f0a4f43aa12de903875b6ed4c5493e37b0163 - Reviewed-on: http://gerrit.openafs.org/11491 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d9ca3050c697a9d6b623be874ea46aaf2312ad87 -Author: Jeffrey Altman -Date: Wed Sep 24 18:12:31 2014 -0400 - - Windows: report AllocationSize in 1KB increments - - Windows expects storage to be allocated in increments of some - block size. The AFS servers allocate in 1K units so lets report - that to Windows. - - Change-Id: I64ad1844339357733933cd9e360551fdcd450146 - Reviewed-on: http://gerrit.openafs.org/11490 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3f1465f8da47dc589cf27b1c4168ec0bce0fa5d6 -Author: pete scott -Date: Wed Sep 24 11:00:36 2014 -0600 - - Windows: Remove trailing slash on non-root directories - - For the FileNameInformation and FilePhysicalNameInformation queries - a trailing slash is required for the \\server\share\ path but is - not required for directories below the root. - - Change-Id: Iabbe7daed4f60ad995c04c70dfb2992af095281e - Reviewed-on: http://gerrit.openafs.org/11489 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 70f67371e7fb6262d43874950107864f31f903c9 -Author: pete scott -Date: Wed Sep 24 10:49:06 2014 -0600 - - Windows: FilePhysicalNameInfo query AFS prefix - - In response to the FilePhysicalNameInformation query the AFS redirector - failed to include the server name in the response. Since the constructed - name is the same as the FileNameInformation query create a helper function - AFSGetFullFileName() to populate the file name into the provided buffer - and use it to satisfy both queries. - - Change-Id: I78eef49a9902341c751d942a395921bb687c503b - Reviewed-on: http://gerrit.openafs.org/11488 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit af72e83832e0849f04e28a355b5a55166cfc0982 -Author: pete scott -Date: Wed Sep 24 10:06:38 2014 -0600 - - Windows: FileInfo too small INFO_LENGTH_MISMATCH - - The FileAllInformation query is initially processed by the IO Manager - and when the IO Manager is passed a buffer that is too small to hold - the File Information structure it returns STATUS_INFO_LENGTH_MISMATCH. - Previously the afs redirector returned STATUS_BUFFER_TOO_SMALL in this - case. Instead follow IO Manager's lead. - - Change-Id: I74d1b68d37fb9e79cae79408eac1f5dc4dd05e1e - Reviewed-on: http://gerrit.openafs.org/11487 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 06995ceb4d664c3f14f6626da447cf9891470719 -Author: pete scott -Date: Tue Sep 23 13:20:45 2014 -0600 - - Windows: !overwrite IOMgr populated FileInfo data - - I/O Manager will populate the FILE_ACCESS_INFORMATION, - FILE_MODE_INFORMATION, and FILE_ALIGNMENT_INFORMATION portions of - a FILE_ALL_INFORMATION structure prior to forwarding a FileAllInformation - FileInfo query to the file system. There is no need for the file system - to duplicate the effort. - - Change-Id: Iaa7f1de95c6b7e42bdc326cc3f4bfe8596add949 - Reviewed-on: http://gerrit.openafs.org/11478 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5ebe2437efa7a64f0b0cc61e2123f9ae766b84cf -Author: Jeffrey Altman -Date: Wed Sep 10 10:23:17 2014 -0400 - - Windows: preserve prior vlserver list on dns failure - - Do not destroy the existing vlserver list if the DNS resolver query - fails. Continue using the prior vlserver values until a DNS response - is obtained. This will result in repeated DNS queries and a delay - if there is continued failure, but it will permit VL RPCs to continue - to be issued in the face of a DNS failure or misconfiguration. - - Change-Id: Icac97c2bebdef744cc316225c1a6b1888ceb2f6e - Reviewed-on: http://gerrit.openafs.org/11457 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f999113d33adadf9b276e2a30c36d2b3a5e74f7d -Author: Jeffrey Altman -Date: Thu Sep 4 09:16:47 2014 -0400 - - Windows: power management suspend/resume changes - - 1. Call cm_UpdateIFInfo() for all power management events to force - an update of the valid network interface count. - - 2. Ensure that regardless of which Suspend and Resume events are - generated that the service only suspends once and resumes once. - - Change-Id: If0c2fe5b6a18dd6b7ee01b511378cb78837efa3d - Reviewed-on: http://gerrit.openafs.org/11447 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ac601314706043f623ace379e3da597a7d5c5e9a -Author: Jeffrey Altman -Date: Thu Sep 4 09:14:07 2014 -0400 - - Windows: No network, no probe - - Modify cm_PingServer and cm_CheckServersMulti to avoid probing servers - when there are no network interfaces with which to do so. Just mark - the servers down. - - Change-Id: I5ba6c9813a28ec44b09dccd8f8c5ffc7e0c0ce10 - Reviewed-on: http://gerrit.openafs.org/11446 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 15c62a9dd014dc56192c8e880fa6855f5377154e -Author: Jeffrey Altman -Date: Thu Sep 4 09:11:25 2014 -0400 - - Windows: introduce cm_MarkServerDown - - Consolidate the operations necessary to mark a server down into a - new routine cm_MarkServerDown() - - Change-Id: I9f70752498600046d677686c212c3adf3e810bde - Reviewed-on: http://gerrit.openafs.org/11445 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ec1dcfbe29961fad23dec087c2d214be785a7816 -Author: Jeffrey Altman -Date: Thu Sep 4 09:08:32 2014 -0400 - - Windows: replace lana_OnlyLoopback() calls - - lana_OnlyLoopback() relies upon Netbios over TCP being enabled but - Netbios over TCP is not officially supported on Vista and above. - Replace all lana_OnlyLoopback() calls with a test on the number of - network interfaces as computed by syscfg_GetIFInfo(). That list - excludes loopback interfaces. - - Change-Id: I22d952f1487734ead02335108377bc404baa6024 - Reviewed-on: http://gerrit.openafs.org/11444 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 95c3db9c7ccb86c7ad384c06094c066107de262c -Author: Jeffrey Altman -Date: Thu Sep 4 09:04:42 2014 -0400 - - Windows: cm_UpdateIFInfo consolidate syscfg_GetIFInfo calls - - Add a new function cm_UpdateIFInfo() that consolidates all of the - syscfg_GetIFInfo() call functionality into a single rountine. Replace - all of the existing call sites. - - It is safe to call cm_UpdateIFInfo() without holding cm_syscfgLock - during afsd initialization because no other threads have been created. - - Change-Id: Ifd4ca4f4f698014852a26d2c95a523c3b2cc851f - Reviewed-on: http://gerrit.openafs.org/11443 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 092684e2bd31424c958ca3a9e88b7987b4c5555c -Author: Jeffrey Altman -Date: Thu Sep 4 01:11:01 2014 -0400 - - Windows: Prevent MDL leak on Cc*Mdl* failure - - If CcMdlRead or CcPrepareMdlWrite fail, check the IoStatus.Information - field to see if any MDL pages have been locked. If the Information - value is greater than zero, complete the Mdl operation to unlock the - pages. - - Change-Id: Icb44e74e25b46c7976f3f418410364a90a723d91 - Reviewed-on: http://gerrit.openafs.org/11442 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit bf11f54790bcd99f7789b0004d36cc3747f12e11 -Author: Benjamin Kaduk -Date: Thu Jul 24 20:56:41 2014 -0400 - - Sort libtool symbol files - - Some entropy had crept in. - - Change-Id: I72ae9d16a3aa4b9b66bc8efcda46bdc35edf95c9 - Reviewed-on: http://gerrit.openafs.org/11323 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 544b5096e5f3a12426f149c91dfeba1c5c207002 -Author: Ben Kaduk -Date: Wed Mar 27 13:37:42 2013 -0400 - - Remove rx_SetEpoch, rx_SetConnectionEpoch, rx_SetConnectionId - - The core RX code now manages the Epoch and CID; external callers - should not be modifying them. - - Change-Id: Ia517205aa280b2a0bbd2568274be7fb010fba0bc - Reviewed-on: http://gerrit.openafs.org/10843 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a63a07c3357cc6f54ef129e0542ec531f2ce9433 -Author: Ben Kaduk -Date: Tue Mar 26 19:43:07 2013 -0400 - - Garbage-collect afs_GCUserData's argument - - We no longer need the ability to force all rxnull connections to be - reaped, as the epoch is set globally. Change the prototype and - callers accordingly. - - Change-Id: I0815fdd035c3dd9d56f72e43603f9c53f5cec79d - Reviewed-on: http://gerrit.openafs.org/10842 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 39b165cdda941181845022c183fea1c7af7e4356 -Author: Ben Kaduk -Date: Tue Mar 26 13:41:40 2013 -0400 - - Move epoch and cid generation into the rx core - - Now that we have hcrypto available everywhere, we can get real randomness - in the rx core (both uerspace and kernel), and thus can initialize the - RX epoch to a real random value when first initializing a host; there is - no need to rely on rxkad to produce randomness for this purpose. - Initialize a connection ID counter at the same time, and use that in - rx_NewConnection, also supplanting rxkad-specific logic. - - The rxkad-specific logic is removed, and in particular there is no longer - a need to export rxkad_EpochWasSet to the rest of the world. - The code in afs_Daemon() to check whether the rxepoch was set can be - removed, as if the epoch is not set, rx initialization fails. - - Add libafshcrypto to LIBS in the handful of places it hadn't crept already, - and likewise afshcrypto.lib in the NTMakefiles. - - Change-Id: I1dd1015b29a600aaf72b6b4b36f8a17032453c97 - Reviewed-on: http://gerrit.openafs.org/10841 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0d67b00ff9db48c5555e8ae11daff9a469c770b0 -Author: Ben Kaduk -Date: Wed Mar 27 17:02:55 2013 -0400 - - Export heimdal's rand-fortuna PRNG to the kernel - - Some systems (e.g., AIX, SGI, DFBSD, HPUX) do not supply a useful - implementation of osi_readRandom(), in some cases because the kernel - does not expose a random-number interface to kernel modules. We want - real random numbers on all systems, because we want to use the for - setting the RX epoch and connection ID in the kernel. - - Build hcrypto's rand-fortuna PRNG into the rand-kernel interface we expose, - and implement RAND_bytes using rand-fortuna when osi_ReadRandom() - is not useful. - - Add stub routines to config.h as needed, and add a heim_threads.h - with the necessary locking for rand-fortuna. The rand-fortuna algorithm - requires some measure of time's passage, so provide a stub gettimeofday() - with single-second resolution. We use a single (global) mutex for the - hcrypto kernel code, so that we can statically declare an initializer to - be the address of that mutex. Otherwise the locking is taken essentially - wholesale from rx_kmutex. - - rand-fortuna requires the sha256 code for its hashing, and also - requires a stub rand-fortuna to satisfy linker symbol visibility. - - Since the rand-fortuna code does not have any actual sources of entropy - available to it during its initialization routines, we must explicitly - seed the in-kernel rand-fortuna using entropy passed in from userland. - (Userland will always have at least /dev/random available, so the - userland hcrypto should always have usable entropy.) Be sure to do so - early in the afsd startup sequence, before any daemons are started, so - that entropy is available to the core rx code for generating the epoch - and cid -- the rand-fortuna code will (erroneously) always claim that - it has startup entropy even though in this case it may not actually - have any entropy. The rand-fortuna code does not consider itself - fully seeded until it has 128 bytes of entropy, so be sure to pass - more than that in from userspace. - - It is preferrable to always build this code into the kernel, even on - systems when it is not going to be used, to help prevent bitrot. This - also avoids the possibility of a new system being supported that would - attempt to use the rand-fortuna code but fail to supply any seed entropy, - which would not necessarily be readily apparent. - - Change-Id: I614d2bd9ac52803ec3b9572cc694cd836c8427dd - Reviewed-on: http://gerrit.openafs.org/10840 - Reviewed-by: D Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit bcf3d33f2879e00c894afc7fc53c6116ad3bad5a -Author: Benjamin Kaduk -Date: Mon Sep 8 14:46:34 2014 -0400 - - Add missing tests to tests/opr/.gitignore - - dict-t and fmt-t were missing. - - While here, sort the existing entries. - - Change-Id: If62e0f9f93f4d51900cdd7747beede561861f51e - Reviewed-on: http://gerrit.openafs.org/11454 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 75d9e4b954d86ff2efbd230cba95b559b88de6d8 -Author: Benjamin Kaduk -Date: Mon Sep 8 13:40:48 2014 -0400 - - Fix memset invocation in rx/event-t.c - - The order of the parameters was swapped, which recent gcc complains - loudly about. - - Change-Id: I2329ca3dd0eee81639731e78172621b580199024 - Reviewed-on: http://gerrit.openafs.org/11451 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 11efae8362c5c73cdac19ef9f1c5e7f9c33883d8 -Author: Simon Wilkinson -Date: Mon Aug 25 16:25:43 2014 +0100 - - ubik: Don't leak UBIK_VERSION_LOCK if udisk_LogEnd fails - - If the call to udisk_LogEnd() fails (probably due to an I/O error) - don't leak the UBIK_VERSION_LOCK. - - This is the possible cause of a vlserver deadlock, which had - approximately 4800 threads blocked. Analysis of backtrace of all - of these threads showed that all blocked threads were waiting in - ubik.c:555 (blocked on DBHOLD) with the exception of: - - One in beacon.c:388 (blocked on UBIK_VERSION_LOCK) - One in recovery.c:503 (blocked on DBHOLD) - One in ubik.c:125 (blocked on DBHOLD) - One in ubik.c:585 (blocked on UBIK_VERSION_LOCK) - - The last of these is the critical one, because it already holds - the lock that DBHOLD waits on - so despite the vast majority of - threads being blocked in DBHOLD, it's actually UBIK_VERSION_LOCK - that we're waiting on. - - There is no sign of a thread which is still active which currently - holds UBIK_VERSION_LOCK. - - Change-Id: I1627b448d359152237912d4d78c9fa52c7149aa0 - Reviewed-on: http://gerrit.openafs.org/11427 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit b9bbd21e88e2050957c1a7d49f3ad603cae763b2 -Author: Simon Wilkinson -Date: Mon Aug 25 16:15:26 2014 +0100 - - ubik: Don't leak UBIK_VERSION_LOCK if setlabel fails - - If a call to the setlabel() physical IO function fails, don't - leak the UBIK_VERSION_LOCK. - - This is the possible cause of a vlserver deadlock, which had - approximately 4800 threads blocked. Analysis of backtrace of all - of these threads showed that all blocked threads were waiting in - ubik.c:555 (blocked on DBHOLD) with the exception of: - - One in beacon.c:388 (blocked on UBIK_VERSION_LOCK) - One in recovery.c:503 (blocked on DBHOLD) - One in ubik.c:125 (blocked on DBHOLD) - One in ubik.c:585 (blocked on UBIK_VERSION_LOCK) - - The last of these is the critical one, because it already holds - the lock that DBHOLD waits on - so despite the vast majority of - threads being blocked in DBHOLD, it's actually UBIK_VERSION_LOCK - that we're waiting on. - - There is no sign of a thread which is still active which currently - holds UBIK_VERSION_LOCK. - - Change-Id: Ie6093409e9375d50fa69733908b5ce99586e1b1d - Reviewed-on: http://gerrit.openafs.org/11426 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 123f0fb134370ffe417d466fb9d103b13565960a -Author: Garrett Wollman -Date: Thu Aug 28 03:09:49 2014 -0400 - - config: remove support for old FreeBSD releases - - The FreeBSD project no longer supports 5.x, 6.x, or 7.x releases, and - has not done so for a long time. It's unlikely the OpenAFS works - properly on any of them, if it even still builds, since it is not - regularly build-tested on anything older than 8.3. Unclutter - src/config by removing the param.*.h files for these obsolete - releases. - - Change-Id: Iedd11e9a9045b39d2193c61b9833abd592d1bfa2 - Reviewed-on: http://gerrit.openafs.org/11438 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit ad655372fcb3f41a648f055668afaaad6af8a675 -Author: Garrett Wollman -Date: Thu Aug 28 03:04:19 2014 -0400 - - README: update for current state of FreeBSD support - - The FreeBSD project hasn't supported releases prior to 8.x for a long - time now, and OpenAFS is neither built nor tested regularly on - anything that old. Dedocument support for these releases in - preparation for later removing configuration support. - - Change-Id: I42e78291cfed91e20b3414576cf885a11b7f341b - Reviewed-on: http://gerrit.openafs.org/11437 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 65ec004ce5fdca7446f65cb70f720a77a861762c -Author: Hans-Werner Paulsen -Date: Tue Aug 26 11:55:06 2014 +0200 - - vos clone use the value of the -toname argument - - The -toname argument was not followed with the vos clone command. The name - of the clone volume was always ".clone". - - Change-Id: I76b78d239ecb38e793098078ac34a703f2ffeeeb - Reviewed-on: http://gerrit.openafs.org/11431 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 58e4e4802d4208604a6aa05362454e6174fe3277 -Author: Jeffrey Altman -Date: Tue Apr 8 03:27:26 2014 -0400 - - Windows: Avoid deadlock during pending delete cleanup - - Release the Fcb resource and clear the AFS_DIR_ENTRY_PENDING_DELETE - flag prior to the AFSProcessRequest(AFS_REQUEST_TYPE_CLEANUP_PROCESSING) - if a delete is pending during cleanup of the last FCB open handle. - - Failure to do so results in an out of order lock acquisition when - the parent object info tree lock is acquired after the AFSProcessRequest() - call to the service completes. - - Change-Id: Id1c770b3dfe669d6804276bbe832af2d215c72dc - Reviewed-on: http://gerrit.openafs.org/11425 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1e6fb1b7b7ed32e2035452db9fc221f38a8b4956 -Author: Hans-Werner Paulsen -Date: Thu Aug 14 11:56:22 2014 +0200 - - use V_copyDate in DumpHeader for cloned volumes - - Volume dumps can be created from backup volumes, cloned volumes, or - directly from RW volumes. The beginning and end of the time range - covered by the dump is recorded in the DumpHeader. The end time is - based on the type of the volume. Use backupDate for backup volumes, - use copyDate for cloned volumes, and updateDate for RW volumes. - - Change-Id: I18206d25f056e553eed2f3c3e0695fed003f3714 - Reviewed-on: http://gerrit.openafs.org/11389 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit d93b89ddb61d44b47f039ae96af6304f2d87b5e2 -Author: Jeffrey Altman -Date: Tue Jan 21 04:19:28 2014 -0500 - - Windows: AFSEvaluateTargetByName NULL ptr assignment - - If DirEnumEntry is NULL, then on failure of AFSEvaluateTargetByName() - a NULL pointer will be dereferenced prior to function return. - - Change-Id: I6d0d646e667c4b805abcddce1af49b81037ae51d - Reviewed-on: http://gerrit.openafs.org/11422 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1ce48e9e93c686aef24bb066ce76c2fcf08f96b6 -Author: Jeffrey Altman -Date: Thu May 8 16:34:25 2014 -0400 - - sys: pioctl_nt translate WinErr to Unix - - When reading the result of a pioctl fails with ERROR_NOT_SUPPORTED - this must be translated to an EINVAL errno. - - Change-Id: I3db03f80b8a0da5d7e4931dc5673c7010d580d8d - Reviewed-on: http://gerrit.openafs.org/11417 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fc70e0ddebb8521a69aaeb6e1d249b9ca577db52 -Author: Jeffrey Altman -Date: Sat Jun 14 22:58:52 2014 -0400 - - Windows: registry enum do not request write perm - - Only Read and Query privileges are required to enumerate the registry - keys, do not request write privileges for an enumeration. - - Change-Id: Ifc9acb4203db71b6e94bf5a21ca5aa104d94d35b - Reviewed-on: http://gerrit.openafs.org/11416 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 47ef2e4e514234bb947cdf325634ad0b8ae5d7da -Author: Jeffrey Altman -Date: Sat Jun 28 23:03:45 2014 -0400 - - Windows: Do not sync callbacks when only need locks - - Syncing lock operations with callback fetching is unnecessary because - local lock state is not tracked via callbacks. More importantly it - risks blocking the cm_LockDaemon thread which needs to be able to - renew locks without obstruction. - - Change-Id: Iabe9bb33fef599c4eb0e876e222587ee3e2fdb49 - Reviewed-on: http://gerrit.openafs.org/11415 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit bcaaf4640d06c761b798c1eb2c82f81f21ec78d8 -Author: Jeffrey Altman -Date: Tue Aug 5 01:40:22 2014 -0400 - - Windows: do not forget cm_SyncOpDone - - If cm_SyncOp was called, then cm_SyncOpDone must be called. - By goto out of the loop, the cm_SyncOpDone call was skipped. - - Change-Id: I20105ec8708c19eecbf215258ada0779cd705f73 - Reviewed-on: http://gerrit.openafs.org/11414 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit bf687348e0269deb0d76475ba9b7219a6e1b40e8 -Author: Jeffrey Altman -Date: Mon Aug 18 15:28:14 2014 -0400 - - Windows: set hard dead timeout not conn timeout for probes - - For the Rx connections used for probing VL and FILE servers set a - hard dead timeout and not a connection timeout. A connection timeout - will not terminate the call as long as the lastReceiveTime continues - to be updated by ping packets. The hard dead timeout will cause the - connection to fail when the 10 second limit expires. - - Change-Id: I371dcd95fc0ff822a205cf903fa6218e80a2b042 - Reviewed-on: http://gerrit.openafs.org/11401 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8e23809542556937a0845246960a0f5484b6cf1e -Author: Jeffrey Altman -Date: Mon Aug 18 15:25:50 2014 -0400 - - Windows: Freelance whole volume rdr invalidate - - When updating the Freelance directory do not notify the redirector - of individual objects to invalidate since that can leaad to race - conditions. Send whole volume invalidations since that is what is - required in any case. - - Change-Id: I22a963907ebbb3da3178750670a2897603463cfe - Reviewed-on: http://gerrit.openafs.org/11400 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d5b6a545ed1e9f01c295280495b806981d9877d3 -Author: pete scott -Date: Wed Aug 13 15:28:49 2014 -0400 - - Windows: Obtain File Attribs for DFS Link target - - The AFSRetrieveFileAttributes() function is used to acquire the - attributes for an AFS symlink. The result is either returned directly - to the application or used internally to determine the attributes - to be exposed by reparse points. - - If the evaluated symlink crosses a DFS Link the redirector cannot - return the request to IO Manager to evaluate the target. Instead - the redirector must handle the request internally and attempt to - read the attributes of the target object. - - Change-Id: If14df8dc41e13fd59b524fdb575c46abab1dfc2f - Reviewed-on: http://gerrit.openafs.org/11399 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dceb8d6336e574a735b9887cf670c229bc6ee446 -Author: pete scott -Date: Mon Aug 11 13:18:16 2014 -0400 - - Windows: LocateName skip DFS Link only last component - - As with Mount Points and Symlinks, when AFSLocateName() is called to - process a CreateFile with Open_Reparse_Point enabled, DFS Link processing - must be disabled only for the last component in the path. Failure to - do so results in the AFS Redirector succeeding IRP_MJ_CREATE calls that - should be given back to the IO Manager so the path can be evaluated by - another file system. - - Change-Id: I1627e7c6582d3a80d99dd2acc5171135a6a7bc4b - Reviewed-on: http://gerrit.openafs.org/11398 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d36b8ff8db63ee893941d57422e54ca05e4a1564 -Author: Jeffrey Altman -Date: Mon Aug 11 01:07:27 2014 -0400 - - Windows: Reparse Policy vs DFSLinks - - When a reparse policy is specified and AFSLocateNameEntry() returns - with STATUS_REPARSE, do not re-evaluate the path with the reparse - policy disabled. STATUS_REPARSE was returned because the FileObject's - FileName was modified and the IO Manager needs to reparse the request. - - Change-Id: I290837357793d3961833923ea1d5300d08bf7dfc - Reviewed-on: http://gerrit.openafs.org/11397 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 68d5e229e9bca83b90cd3e4c8c17719ea9864b00 -Author: Jeffrey Altman -Date: Mon Aug 11 01:41:52 2014 -0400 - - Windows: AFSParseRelatedName always use related name - - When parsing a RelatedFileObject always refer to the RelatedFileObject - FileName and not the IrpSp->FileObject. - - Set the output FileName to pRelatedCcb->FullFileName - - Test pRelatedCcb->FullFileName for wild cards - - Change-Id: I86f5bb7fc05eddc0d3d1ca9fbb069248af23be98 - Reviewed-on: http://gerrit.openafs.org/11396 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2f4f1e3f8619b1531838a62031e969cbf64be7dd -Author: Jeffrey Altman -Date: Mon Aug 11 01:38:54 2014 -0400 - - Windows: AFSParseName always set FileName output - - The FileName output parameter is used by the caller even when an - error occurs. In case of error it indicates that path that failed - to parse. Not all of the error paths set FileName. - - Start AFSParseName() with FileName referring to - IrpSp->FileObject->FileName. It can be updated as required later. - - Change-Id: I37c615aa815affec0c8f4dfef7d8c5777650c275 - Reviewed-on: http://gerrit.openafs.org/11395 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d57d87a87a6041b1596532c7fe08795ae9d91b95 -Author: Jeffrey Altman -Date: Mon Aug 11 01:28:12 2014 -0400 - - Windows: Refactor AFSParseName related name parsing - - AFSParseName() is a very long complex function. Extract the parsing - of RelatedFileObject name parsing to a new function AFSParseRelatedName(). - This removed ~160 lines of source code out of AFSParseName(). - - This changeset is not intended to introduce any functional changes. - - Change-Id: If04a1bee0c104461f2d8bc33bca426e9ff71be74 - Reviewed-on: http://gerrit.openafs.org/11394 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit da1597d74a0f56e35a156ec27df231f965934910 -Author: Michael Meffie -Date: Tue Feb 18 15:23:54 2014 -0500 - - vos: cross-device link error message - - Print a better diagnostic message for cross-device link errors, which - happens when a clone volume is not in the same partition as the - parent read-write volume. - - Change-Id: If58284a1dc53f8264fb17757f37c627fc2a378db - Reviewed-on: http://gerrit.openafs.org/10850 - Reviewed-by: D Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f433bc779b18e0111a122e9baf5cbddc4864f101 -Author: Perry Ruiter -Date: Wed Jun 4 15:27:32 2014 -0700 - - redhat: Fix minor whitespace errors in openafs-kmodtool - - During review of commit c20c01185ed748b2bc823369a8f28cf004b7d1c9 - gerrit flagged one of the changed lines as having a trailing whitespace - error. This patch corrects that error and several others that were - in the file. - - Change-Id: I3668e67e456322cccdfa76df935951053f9b6a48 - Reviewed-on: http://gerrit.openafs.org/11200 - Reviewed-by: Ken Dreyer - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 418ca56f911a05d9487f4c3c3dc2ca2d37c5da15 -Author: Perry Ruiter -Date: Tue May 27 00:07:52 2014 -0700 - - Correct comment typos in a couple files - - Correct typos in a couple files. These were noticed while - researching code paths. Comment changes only. No code change. - afs/afs_stats.h has source file names updated on several lines. - Many source file name comments are wrong in this file. - I didn't attempt to correct them all, just the ones I bumped - into. If I bump into others in the future I'll fix them then. - rx/rx_call.h has source of enumerated types corrected. - - Change-Id: Ie78b7f20b5c9c2261ec8a73701e77bdfbabd8465 - Reviewed-on: http://gerrit.openafs.org/11172 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Michael Meffie - Reviewed-by: Jeffrey Altman - -commit 1283226ccb638be47ead6cc4d9a47381aa6b08d1 -Author: Michael Meffie -Date: Wed Aug 6 15:08:33 2014 -0400 - - volscan: fix copyright and licence notice - - These are new files and new content; fix the copyright notice and - license to reflect. - - Change-Id: I8d5f00fb7edaf2e3855e2dc2a1af07bba471c0d6 - Reviewed-on: http://gerrit.openafs.org/11362 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2ceb387191d4dced7815237c20a9b2cb577ad3df -Author: Ben Kaduk -Date: Mon Jul 21 17:30:36 2014 -0400 - - Remove some incomplete struct initializers - - C99 requires that objects with static linkage, which includes - global variables, be initialized to zero/NULL. - - It is possible that old compilers required a hack of using one - explicit initializer and relying on the requirement from C99 that - the elements of the structure not listed in the initializer be - initialized as if it had static linkage. These incomplete initializers - seem to have been introduced to support old OS X compilers which - are not believed to still be in use. - - Using a complete explicit initializer is undesired here, as the - rxkad statistics structures have a great number of elements and - the uuid structure is somewhat complicated. - - Change-Id: Iefe7842cbf874252267cb3a8aee5d90ec2cab169 - Reviewed-on: http://gerrit.openafs.org/11374 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Garrett Wollman - Reviewed-by: Jeffrey Altman - -commit f81f17938cf9ec2dfa3541983c125afc37817698 -Author: Ben Kaduk -Date: Mon Jul 21 17:50:50 2014 -0400 - - FBSD: avoid unused-variable warning - - This variable is passed as an argument to the ma_vn_lock() compat - macro, which ignores the thread argument on some versions of FreeBSD. - Make the variable only be declared in those cases when it will be used. - - Change-Id: I1ed10654fb402f4feec55d6d7c7ece6f0c78bc8e - Reviewed-on: http://gerrit.openafs.org/11373 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit edafaf047b13a0defdfbca55b7517a52a33bdda5 -Author: Ben Kaduk -Date: Mon Jul 21 14:13:39 2014 -0400 - - FBSD: initialize 'retval' for afs3_syscall - - In the same way as linux_ret. - - An ugly hack, but retval is not really used for anything relevant at - the moment, and the compiler will warn about it being used uninitialized - otherwise. - - Change-Id: Ia31ea6668ac3bc2edbec143d0b839f3e797ff424 - Reviewed-on: http://gerrit.openafs.org/11372 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 59e9b3b409be73dfd004077b634958abcd79b91d -Author: Ben Kaduk -Date: Mon Jul 21 11:01:04 2014 -0400 - - Avoid a name conflict in a local variable - - Modern compilers will warn when a variable in a nested scope hiding - a variable of the same name in an outer scope. One of the arguments - to afs_lhash_remove() is already named 'data'; don't reuse that name - for a local variable. - - Change-Id: Icbb5010d298110cd4dab395fc5eec45e01ec9ba3 - Reviewed-on: http://gerrit.openafs.org/11371 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 64da7c133a66a15233c2cdc5d9a8f71d17d80d77 -Author: Benjamin Kaduk -Date: Thu Jul 24 09:40:21 2014 -0400 - - Make kernel hcrypto calloc return zeroed memory - - As far as I can tell, the afs_osi_Alloc contract does not - guarantee zeroed memory. On FreeBSD, with a debug kernel, it - definitely does not currently provide zeroed memory, returning - instead memory initialized with 0xdeadc0de. - - Properly speaking, the role of calloc() is to both check for overflow - from the multiplication and to produce zeroed memory. However, since - we do not have a reasonable way to report failure, do not bother - checking for overflow at this time. - - Change-Id: I187c2057d473fba869692c1dfa11735502b260c1 - Reviewed-on: http://gerrit.openafs.org/11322 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 9dd67783bb2bd9ef8a972a1aac47b1925069a655 -Author: Garrett Wollman -Date: Wed Aug 13 02:32:06 2014 -0400 - - viced: time_t might not be long - - Fix a couple of printf format errors that bite on FreeBSD 10 for i386. - Since time_t might be an int, it can't be printed with a long format. - Since time_t might be a long in general, cast to it to long when - printing. - - Change-Id: Iecc4487adee7a64542dd2dc17f94485a6198e707 - Reviewed-on: http://gerrit.openafs.org/11385 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit f02beb8d644ec2a52bf21737a040321905a39e20 -Author: Garrett Wollman -Date: Wed Aug 13 02:20:02 2014 -0400 - - afsd: correct printf format mismatch in debugging printf - - On platforms where size_t is unsigned int, the type of - cacheFiles * sizeof(AFSD_INO_T) is not an unsigned long as the format - string requires. Casting cacheFiles to unsigned long ensures that the - result is at least unsigned long, although it will still be wrong if - any architecture makes size_t be long long. Fixes build for FreeBSD - 10 on i386. - - Change-Id: Ifd124d81b16f53133293dd591f7f8cf2f7d3175a - Reviewed-on: http://gerrit.openafs.org/11384 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 80f4939a3b9e1d48c03d0797a21c9e77a844cf7f -Author: Stephan Wiesand -Date: Fri Aug 8 17:13:09 2014 +0200 - - redhat: package volscan - - Add volscan and the manual page to the files in the server package. - - Change-Id: I97c210da1e0d9d28682e555e92863c4c408b94da - Reviewed-on: http://gerrit.openafs.org/11370 - Tested-by: BuildBot - Tested-by: Stephan Wiesand - Reviewed-by: Stephan Wiesand - Reviewed-by: Jeffrey Altman - -commit 2e2bef28f00f505190c21bd42398f6a01268879c -Author: Mark Vitale -Date: Fri Jun 6 19:27:04 2014 -0400 - - opr: opr_AssertionFailed undefined in kernel module - - The opr_Assert in opr_rbtree_remove is incompletely defined; - the opr_Assert macro is defined in opr.h, but the definition - for the opr_AssertionFailed routine it invokes is not included. - This allows the kernel module to build successfully even though - it retains a hidden undefined reference for opr_AssertionFailed. - - However, the logic in obr_rbtree_remove ensures that this - particular opr_Assert can never fail - it is superfluous. - Some compilers (e.g. gcc for Linux AFS kernel module - builds) are able to recognize this and optimize it out. Others - (e.g. Solaris 5.12) do not, and when this happens the OpenAFS - build appears to succeed but the kernel module will fail to load - due to the undefined symbol. - - Remove the superfluous opr_Assert. - - This partially reverts commit 9f8b765bbdbb8913fcadbde8d3362039e9dc8e61. - - Change-Id: I4ed2b1873c434e41dce0f2e474926bf8b449b819 - Reviewed-on: http://gerrit.openafs.org/11296 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit 594e2980a0ab12f6967d626b842fc6569f4343e4 -Author: Jeffrey Altman -Date: Wed Aug 6 14:34:46 2014 -0400 - - Revert "libafs: remove stray "-v 2" argument to afs_compile_et" - - This reverts commit d7082793eedc46d3647d38ffdf5a2b52fadb3cc3 - - Change-Id: I8ad37f109fc244d198f85c4642dcf1e8eb33a184 - Reviewed-on: http://gerrit.openafs.org/11360 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e0d0e6ffdbb11d5445b129ef0bd5030aec59d333 -Author: Andrew Deason -Date: Thu Jul 17 10:33:23 2014 -0500 - - LINUX: Avoid premature RO volume lock error - - Commit 0fc27471e7da0c5de4addcdec1bfbca5208072cc avoids processing lock - requests for RO volumes, but it did this both in afs_lockctl() and in - the Linux-specific afs_linux_lock(). The changes in afs_linux_lock() - are incorrect, since they also avoid F_GETLK requests (whereas - afs_lockctl() just avoids F_SETLK* requests). - - Additionally, the section in afs_linux_lock() incorrectly reports an - error, since it returns a positive EBADF error code, when we are - supposed to return -EBADF. - - The result of all of this is that an F_GETLK F_WRLCK request for an RO - volume always fails with fcntl() returning 9 (EBADF), which is an - invalid return code for fcntl() F_GETLK (instead we should return -1 - with an errno of 9). But if there are no locks, we should return - success anyway. - - Just remove this section, since afs_lockctl() handles this case itself - anyway. - - Thanks to Todd Lewis for reporting this issue. - - Change-Id: Ia7f3f0b1bdbb922dca06be9de02a9c2b33f9ffee - Reviewed-on: http://gerrit.openafs.org/11316 - Reviewed-by: Marc Dionne - Reviewed-by: D Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - -commit 7ca2cce89ea525c73bc1571578c316016c6c4461 -Author: Michael Meffie -Date: Fri Nov 8 16:22:48 2013 -0500 - - tools: fix unpack in example sysvmq audit reader - - Fix the unpack in the example sysvmq audit reader script to - correctly unpack the message type, which is an native long. - - From the msgrcv perl docoumentation: - - Note that when a message is received, the message type as a native - long integer will be the first thing in VAR, followed by the actual - message. This packing may be opened with "unpack("l! a*")". - - Change-Id: I5c5480c30d530b384d8057fb071b01e67f1b4ad2 - Reviewed-on: http://gerrit.openafs.org/10445 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 36ce11ce5506fba2de3d46120f68b15467996273 -Author: Mark Vitale -Date: Sun Jun 29 16:27:37 2014 -0400 - - afs: remove cruft from Solaris afs_freevfs - - Remove some unused variables left behind in a previous - refactor of flushing vcaches during afs_shutdown - (commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0). - - Change-Id: Ie0a23cb08fc2946f1c400b8ce8e15ef3dc22ec20 - Reviewed-on: http://gerrit.openafs.org/11310 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit bf5685e537ea3991644ee5e79de0f88c34508c59 -Author: Stephan Wiesand -Date: Wed Jul 23 13:57:50 2014 +0200 - - volinfo: fix documenting comments - - As pointed by Andrew deason during review of the 1.6 pullup of - commit ae27283550dab33704f30e18975722e0ed2c5424, psize is not - a parameter of HandleHeaderFiles, and in function HandleSpecialFile - it is of type inout since the value is first read by the += operation. - Fix this, and try to improve the description of psize too. - - Change-Id: Ia728b20475f0c44b6104dc954aaa04d5f0f098b5 - Reviewed-on: http://gerrit.openafs.org/11319 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 2edf5c0382385f898a017fd8e0e2429f8b2b3520 -Author: Andrew Deason -Date: Thu Jul 24 11:07:45 2014 -0500 - - LINUX: Check afs_lookup return code explicitly - - Checking if the returned vcache is NULL or not is a bit of an indirect - way to check if an error occurred. Just check the return code itself, - to make sure we notice if any kind of error is reported. - - Suggested by Chas Williams. - - Change-Id: I61cc7304e9885ddaaebe96db3b12457cb6224420 - Reviewed-on: http://gerrit.openafs.org/11321 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 774d77e056515ae3e87c8f0be8e133c3cdb36bbb -Author: Ben Kaduk -Date: Fri Jul 18 15:19:24 2014 -0400 - - FBSD: adhere to gop_lookupname() semantics - - The current semantics are that gop_lookupname() returns an unlocked - vnode; the previous code was written to a different semantic that - a locked vnode should be returned. - - This makes a disk cache more likely to work on FreeBSD, but such - configurations remain not very tested. - - Change-Id: I12ac77cd271be72af2fa4045c2ebf576847b625e - Reviewed-on: http://gerrit.openafs.org/11317 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit b18b59e03689a20e988b6068499c6f2a561fcbdc -Author: Stephan Wiesand -Date: Thu Jul 31 20:50:04 2014 +0200 - - libafs: remove stray "-v 2" argument to afs_compile_et - - Commit 4e6b7ab904d38d38da1b80a7342bd815668a8c09 separated the - compile_et rules for creating the source and header files using - the new -emit functionality. During review for inclusion in 1.6, - Chas Williams spotted a stray "-v 2" carried over to the rule - for creating the header file, where it doesn't apply. Remove it. - - Change-Id: I554354eae0fa018e56fe7b78df69a43e5b5a0b07 - Reviewed-on: http://gerrit.openafs.org/11347 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 51c97beb3f3bb68704d33e126561b8c2866ddab3 -Author: Michael Meffie -Date: Mon Jul 28 20:57:01 2014 -0400 - - libafs: fix vrequest leak in afs_lookup - - Fix vrequest leak introduced in commit - 9930567bcf9655d3f562b210b2dc4b4a99226691. - - Thanks to Andrew Deason for finding this error. - - Change-Id: I8fc1391ab43f33c5a8208ff58d1d0641292cf63e - Reviewed-on: http://gerrit.openafs.org/11337 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit b7f1763652fb932ca5bd3f3351a48df11e58f2dc -Author: Michael Meffie -Date: Mon Jul 28 17:27:40 2014 -0400 - - libafs: do not allow NULL creds for afs_CreateReq - - Do not allow callers to pass a NULL cred to afs_CreateReq. This - avoids setting the uid of zero in the vrequest when no cred is - passed. Update callers to pass afs_osi_credp for an anonymous cred - when no cred is available. - - Thanks to Andrew Deason for pointing out afs_osi_credp should be - used. - - Change-Id: I05f694026ec72ab701160d9920e47c16cda46cd7 - Reviewed-on: http://gerrit.openafs.org/11336 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit eb5102e998d09466c5169eabe96d3e1ed1919d17 -Author: Chas Williams (CONTRACTOR) -Date: Thu Jul 31 11:45:14 2014 -0400 - - config: Refactor the FreeBSD configuration files - - Use a common file for most of the platform specific settings. - - Change-Id: If95ad44de99fc3320570d53d706fed4d760fe67d - Reviewed-on: http://gerrit.openafs.org/11346 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: D Brashear - -commit c5f8d5adb252e7ba0b6ac51b0eb191e2d0b7bf23 -Author: Chas Williams (CONTRACTOR) -Date: Thu Jul 31 11:40:23 2014 -0400 - - config: AFS_SHORTGID no longer in use - - Remove the AFS_SHORTGID macro from the param header files. There - are no usages in the rest of the source tree. - - Change-Id: I417b6e90fa9a094bfef727134b640964596eceb3 - Reviewed-on: http://gerrit.openafs.org/11345 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: D Brashear - -commit 9d61dd420df47cff6926ea5daa510527b243b13b -Author: Chas Williams (CONTRACTOR) -Date: Thu Jul 31 11:14:57 2014 -0400 - - config: Updates to AFS_HAVE_STATVFS for FreeBSD - - Always define AFS_HAVE_STATVFS. According to the man page, statvfs() - appeared in FreeBSD 5.0. Additionally, this macro is only used for - userspace which eliminates all disables except for FreeBSD 5.0 which - appears to have just been an oversight when the param file was created - from the 4.x param files. - - Also fixes the comment so it reflects the actual choice. - - Change-Id: Ibdcd694e9c4a0d0cecccd91a51962af6fb11ff36 - Reviewed-on: http://gerrit.openafs.org/11344 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: D Brashear - -commit 9171cbda2f7e5016186dbe0438758047d53be452 -Author: Chas Williams (CONTRACTOR) -Date: Mon Jul 28 08:24:48 2014 -0400 - - config: Remove deprecated macro from FreeBSD configuration files - - The macro STDLIB_HAS_MALLOC_PROTOS was deprecated in commit - daff4006627fc88be85dade3d72aa45e57a6804a. - - Change-Id: I9c2129f6f3d5be6a00ef6ddd358967e0fd4f7ec9 - Reviewed-on: http://gerrit.openafs.org/11333 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: D Brashear - -commit 05dbea9fc4da02c6349d9e0b69656acb3254cfe8 -Author: Michael Meffie -Date: Fri Aug 1 18:27:35 2014 -0400 - - libafs: fix error location code in LINUX/osi_export - - Fix the missing error location code introduced in commit - 40fb2650b783fbafe51aefd3d0af7a6b0536c265 - libafs: allocate vattrs in LINUX to reduce stack used - - Use location number 104, which is the next in the sequence. - - The code in this module is compiled when building the - nfs translator, which is only built under linux when - configure detects it is possible. - - Thanks to Andrew Deason for spotting this error. - - Change-Id: I00c834bc915fa3be7d5f27467895930e4f62aa76 - Reviewed-on: http://gerrit.openafs.org/11351 - Reviewed-by: Andrew Deason - Tested-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit a5866b3a7c21551a8aa40fc6141cca3a65fea563 -Author: Andrew Deason -Date: Wed Jul 23 11:54:47 2014 -0500 - - LINUX: Drop dentry if lookup returns new file - - Background: when an entry is looked up after its parent changes, - afs_linux_dentry_revalidate re-looks-up the entry name in its parent. - If we get an ENOENT back, we d_drop the dentry, and in any other - situation we just d_invalidate it. As discussed in prior commits - 997f7fce437787a45ae0584beaae43affbd37cce and - 389473032cf0b200c2c39fd5ace108bdc05c9d97, we cannot simply d_drop the - dentry in all cases, because that would cause legitimate directories - to be reported as "deleted" if we just failed to lookup the entry due - to e.g. transient network errors (this causes, among other things, - 'getcwd' to fail with ENOENT). - - However, this logic has problems if the dentry name still exists, but - points to a different file; the case where 'tvc != vcp' in - afs_linux_dentry_revalidate. If that case happens, and the dentry is - still held open by some process, we will continue to try to reference - the vcache pointed to by the 'old' dcache entry, which is incorrect. - - To maybe more clearly illustrate the issue, consider the following - cases: - - $ sleep 9999 < /afs/localcell/testvol.ro/dir1/file1 & - $ rm -rf /afs/localcell/testvol.rw/dir1 - $ mkdir /afs/localcell/testvol.rw/dir1 - $ vos release testvol - $ ls -l /afs/localcell/testvol.ro - ls: cannot access /afs/localcell/testvol.ro/dir1: No such file or directory - total 0 - d????????? ? ? ? ? ? dir1 - - Here, on the last 'ls', afs_linux_dentry_revalidate will afs_lookup - 'dir1', and notice that it points to a different file (tvc != vcp), - and will d_invalidate the dentry. But since the file is still held - open, the dentry doesn't go away, and so we are still pointing to the - vcache for the old, deleted 'dir1'. That file doesn't exist anymore on - the fileserver, so we get an ENOENT when actually trying to stat() it - (we get a VNOVNODE from the fileserver, whcih gets translated to an - ENOENT). - - A possibly more serious case is when the file is just renamed: - - $ sleep 9999 < /afs/localcell/testvol.ro/dir1/file1 & - $ mv /afs/localcell/testvol.rw/dir1 /afs/localcell/testvol.rw/dir1.moved - $ mkdir /afs/localcell/testvol.rw/dir1 - $ touch /afs/localcell/testvol.rw/dir1/file2 - $ vos release testvol - $ ls -l /afs/localcell/testvol.ro/dir1 - total 0 - -rw-rw-r--. 1 1235 adeason 0 Jul 23 11:09 file1 - $ kill %1 - $ ls -l /afs/localcell/testvol.ro/dir1 - total 0 - -rw-rw-r--. 1 1235 adeason 0 Jul 23 11:10 file2 - - In this situation, the same code path applies, but the old file still - exists, so we will continue to use it without error. But since we are - still pointing at the old file, of course the results are incorrect. - Once we kill the process holding the file open, the bad dentry finally - goes away and the results are valid again. - - To fix this behavior, d_drop the dentry in all cases, except when we - encounter an error preventing the lookup from being done. This ensures - that the dentry is unhashed from the parent directory in the scenarios - above, and so cannot be used for a subsequent lookup. - - With this change, the only afs_lookup response that causes a simple - d_invalidate is when we encounter actual errors during the lookup - (such as transient network failures). This is correct, since in those - cases we don't _know_ that the dentry is wrong. For all other cases, - we do know that the dentry is wrong and so we must force it to be - unhashed. - - Change-Id: I11a2db1e05d68a755a77815ec5e8d01ac7b36129 - Reviewed-on: http://gerrit.openafs.org/11320 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Andrew Deason - Reviewed-by: D Brashear - -commit 2d89d447c8b00a40d3fc559813fe31c177da164b -Author: Andrew Deason -Date: Wed Jul 30 11:12:39 2014 -0500 - - ptserver: Fix RemoveFromSGEntry hentry memcpy - - In this function, hentry is the "previous" continuation entry that we - looked at, and centry is the "current" continuation entry. We keep - track of the previous continuation entry in case we need to update its - 'next' pointer, which we do if we free one of the continuation entries - because it is empty after the removal. - - So, this memcpy is supposed to copy the current entry to the previous - one, but the arguments are flipped, so we just copy zeroes to centry - (since hentry is initialized to zeroes early on in the function), and - hentry never gets set to anything besides zeroes. - - The effect of this is that whenever a ptdb entry has more than one - continuation entry, and we free up any of them after the first one via - RemoveFromSGEntry, the previous continuation entry becomes blanked - (though the 'next' pointer should still be correct). This means the - membership information for that group is not recorded correctly, as it - loses a chunk of the IDs that it is a member of. The reverse mapping - should still be intact (the parent groups have a pointer to the - sub-group), but the group probably doesn't function correctly. - - The reason this happened is because of the confusing conversion from - bcopy to memcpy. Most of the instances of bcopy/bcmp/bzero/etc were - converted (correctly) back in commit c5c521af, but the supergroups - implementation was added afterwards, in 8ab7a909, and contained a - bcopy reference. This bcopy was converted to memcpy in 58d5f38b, but - the argument order was not corrected, causing this bug. - - To fix this, just flip the first two arguments of the memcpy. Just get - rid of the casts here, too, to match the code in the non-supergroups - RemoveFromEntry and elsewhere. - - Change-Id: Ibcbbdcb13ef5c033ea3452555832a0fd3f916efd - Reviewed-on: http://gerrit.openafs.org/11340 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 11e68c181ab9cb09e89e27a33e86d49bbfd550b7 -Author: Nathaniel Wesley Filardo -Date: Fri Jul 25 11:50:16 2014 -0400 - - Move VLOP_RESTORE and VLOP_ADDSITE home - - Change-Id: I19c04ea1762eec349b0e9645fa9777e6a6c5263a - Reviewed-on: http://gerrit.openafs.org/11325 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2809bae58851ce9168ca8b18c94360392b8a609f -Author: Garrett Wollman -Date: Sat Jul 26 00:43:10 2014 -0400 - - FBSD: 10.1 is coming out soon - - The 10.1 release cycle is starting in a month, so let's get ahead of - the curve by adding the config bits now. - - Change-Id: Ia17e1267dafee5c80d87a6bfc5e423982f83306d - Reviewed-on: http://gerrit.openafs.org/11328 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6667399aa426009a841cdd6459dbfa498e562646 -Author: Garrett Wollman -Date: Sat Jul 26 00:22:09 2014 -0400 - - FBSD: 9.3 has been released, so add config bits and sysname - - Change-Id: I453a457d5311dfea04fd7e8173f1296a0db74902 - Reviewed-on: http://gerrit.openafs.org/11327 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f63eed308a2def003b9d8d1a98e934c7082b314a -Author: Michael Meffie -Date: Wed Jul 9 11:37:21 2014 -0400 - - ptserver: fix errant debug message log level - - Fix the log level a debugging message introduced - in commit 9ddf9eca56e02be978ff7d065ee16c85de2cfb06. - Thanks to Ben Kaduk for reporting this issue. - - Change-Id: I8913472aba8fe5247a29e31e3f04090bc0fce64e - Reviewed-on: http://gerrit.openafs.org/11314 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 668b1765478eb32b5d0895d25301773e412df7a0 -Author: Chas Williams (CONTRACTOR) -Date: Thu Jul 3 11:02:40 2014 -0400 - - auth: Fix library dependencies so that tests build again - - Change-Id: Ia95a94a77290baea419beb942ea60cd1b89c22fa - Reviewed-on: http://gerrit.openafs.org/11311 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a303bb257ed9e790d8c14644779e9508167887b6 -Author: Marc Dionne -Date: Wed Jun 18 09:06:39 2014 -0400 - - Linux 3.16: Convert to new write_iter/read_iter ops - - Change read/write operations to the new write_iter/read_iter - operations. - - Change-Id: Ia58e5f90182f3968d1a81cfc2f831e7a9cf35d93 - Reviewed-on: http://gerrit.openafs.org/11303 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e284db57f94c8f97ed1c95dcd0bd9518d86c050c -Author: Marc Dionne -Date: Wed Jun 18 08:53:48 2014 -0400 - - Linux 3.16: Switch to iter_file_splice_write - - Users of generic_file_splice_write need to switch to - using iter_file_splice_write. - - Change-Id: If4801d27e030e1cb986f483cf437a2cfa7398eb3 - Reviewed-on: http://gerrit.openafs.org/11302 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d704f1d4dc3fca4d903c443130374da2284f3f15 -Author: Benjamin Kaduk -Date: Mon Jun 16 12:44:08 2014 -0400 - - Use an unsigned type for bitmask values - - As noted by clang -Wshift-sign-overflow, the expression "1<<31" - overflows the signed int type, giving undefined behavior. - - Use an unsigned type to make the result of the shift defined - behavior by the C99 standard. - - Also change an instance of "1<<31" that was checking for whether the - most significant bit was set, as it's still undefined behavior. - - Change-Id: I8cf9443aa92470181044fc3b63d491da18ff5e34 - Reviewed-on: http://gerrit.openafs.org/11301 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit e1105acb1c61670caec7d283b0dc6d73d84a0ff2 -Author: Ben Kaduk -Date: Wed Nov 27 17:06:33 2013 -0500 - - auditU: also report for rxkad-always-encrypt - - The logic that works for security index 2 also works for index 3. - - While here, update a comment in preparation for rxgk. - - Change-Id: Ifd868fa8d9d0ba2f422fa1fac43e4f583d27a1ff - Reviewed-on: http://gerrit.openafs.org/10527 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 30a1c829af970ad725bb9d0f44a019fb01530bf7 -Author: Ben Kaduk -Date: Wed Nov 27 17:01:39 2013 -0500 - - Use the RX_SECIDX_* enums in more places - - Add symbols for security indices 1 (rxvab, unused) and 3 (rxkad with - always-encrypt, maybe-used). - - kauth and bubasics defined macros for RX_SCINDEX_*; replace those - with the common core rx enums as well. - - Use the global symbols instead of custom defines like BULK_NULL and - SAMPLE_NULL, which can now be removed. - - Reformat a comment to match current style, since we're changing it anyway. - - Change-Id: I82bbb0016a5c3129dfd18ff7dc77ff7839501ad8 - Reviewed-on: http://gerrit.openafs.org/10526 - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit c8dfe8e4c2fd685ef7df181a3d6d45b122d6ff44 -Author: Mark Vitale -Date: Mon Apr 7 18:56:26 2014 -0400 - - afs: maintain afs_users buckets in sorted order - - Modify afs_GetUser() to insert a new unixuser into an afs_users - hash bucket in sorted order, by uid/PAG. This is in support of - other small optimizations in future commits. - - Change-Id: I68c51ab38733575290aa0c8aa2a306168c5483c0 - Reviewed-on: http://gerrit.openafs.org/11071 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 7d4f3a4710fb8c9fbde4294c2458ecf32658300b -Author: Mark Vitale -Date: Thu Apr 3 16:37:51 2014 -0400 - - afs: only reset access caches for the matching cell - - When an AFS user's tokens change (unlog, aklog) or expire, - afs_ResetAccessCache() is called to reset all the access caches - for that uid/PAG. - - However, a user/PAG may have tokens for multiple cells, and they - may expire or be set/reset at different times. Therefore, it is - incorrect to assume that all access caches for a uid/PAG should - be discarded when only one cell's tokens have changed. - - Modify afs_ResetAccessCache() to acccept a new argument 'cell', - and only reset the access caches for a uid/PAG if the vcache - resides in the specified cell. If the caller really wants to - reset all a user's access caches,Ā specify cell=-1. - - For cache managers that are running with multiple PAGs and multiple - cells, this should improve performance because 1) it avoids - scanning access caches chains for vcaches that are not part of the - current cell and 2) it avoids deleting access caches that may still - good, thus preventing unnecessary FetchStatus calls. - - Change-Id: Id4c138dab45fd48265a4029880a5d57947e67a52 - Reviewed-on: http://gerrit.openafs.org/11070 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit e2f666fe81f2152a9dd1f35680499cf029e8381b -Author: Michael Meffie -Date: Fri Jan 10 22:17:57 2014 -0500 - - roken: configure checks for getaddrinfo and friends - - Change-Id: Icb2ace89332024668c9dc4326b967a1015afc1e9 - Reviewed-on: http://gerrit.openafs.org/11199 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit b0bb7bdb499367a5aebde7183e6e5d188280545a -Author: Heimdal Developers -Date: Wed Jun 4 16:04:19 2014 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 5dfaa0d10b8320293e85387778adcdd043dfc1fe (git2svn-syncpoint-master-311-g5dfaa0d) - - New files are: - roken/freeaddrinfo.c - roken/gai_strerror.c - roken/getaddinfo.c - roken/getnameinfo.c - - Change-Id: I4a80dfd0d95cfd252af5ce3228fb824b4aacb961 - Reviewed-on: http://gerrit.openafs.org/11198 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 064b69ca267e58a7fdd8c4c7b728e79fd23a97cc -Author: Michael Meffie -Date: Fri Jan 10 22:12:08 2014 -0500 - - roken: add getaddrinfo and friends the imported file list - - Change-Id: I2203bf9ab45feb47df760b404727d23d1fa15381 - Reviewed-on: http://gerrit.openafs.org/11197 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 48789d47b613e40734e7b0caac58572a80f8b318 -Author: Michael Meffie -Date: Mon Jun 2 23:24:45 2014 -0400 - - linux: dont ignore kmod build errors - - Errors from the linux kmod build are not propagated, since make is - run as the first command in a pipeline, and the shell returns the - exit code of the last command in the pipeline. Run the make command - in a subshell to detect errors, and exit afterwards. (This method - is more portable than bash specific pipeline processing options.) - - Thanks to Mark Vitale for pointing out this build system defect - to me. - - Change-Id: If3e204fe31dbdc9e7416d52fae897f792d27d678 - Reviewed-on: http://gerrit.openafs.org/11186 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Tested-by: Mark Vitale - Reviewed-by: D Brashear - -commit 1673764ea091a3f02a64a3d853c3e14f758cdda7 -Author: Andrew Deason -Date: Wed Jun 4 09:42:46 2014 -0500 - - bozo: Ignore ListKeys ka_KeyCheckSum return value - - With commit c04de52da4e89e15b211b4a19a3d9bc4d612b209, an error in - ka_KeyCheckSum here makes the entire BOZO_ListKeys RPC to fail. This - caused two changes: - - - That commit makes the RPC fail in situations where it did not - before. But even if we cannot calculate the checksum, we can still - return other information about the key, so this is undesirable. - - - It masks the previous 'code' value, returned from stat(). The - return code of stat() is now effectively ignored, except for the - purposes of setting st_mtime, whereas previously a failure caused - the RPC to fail. This is a behavior change. - - So, effectively revert c04de52da4e89e15b211b4a19a3d9bc4d612b209. - Explicitly cast the return value of ka_KeyCheckSum to void, to make it - clear that we are intentionally ignoring the return value, so - hopefully this will not be flagged as a warning by code analysis tools - such as coverity. - - Change-Id: Iac745d7c88ed7c2d97660e6949caa63580eef6e2 - Reviewed-on: http://gerrit.openafs.org/11194 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: D Brashear - -commit 4bf942f5c38fd711136e1a2010cb0b2ea4612901 -Author: Benjamin Kaduk -Date: Wed Jun 4 20:41:57 2014 -0400 - - rx: Do not try to cancel nonexistent events - - Unconditionally cancelling the resend event and releasing the - reference it was supposed to have on the call, can cause the - call reference count to go negative. - - In particular, the call chain when a new rx_call structure is - allocated would cause its reference count to become negative. - - Behave similarly to all the other rxevent_Cancel calls touched - by 20034a815750beff262d49b37fba225c72dd0ab1, and only cancel the - event and drop a reference when the event is present on the call. - - Change-Id: Icf2dd58c2545814ac17bb960077621c6d3209da0 - Reviewed-on: http://gerrit.openafs.org/11201 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 2d973c10f13b40c0ac9da25fe7f4c73b3560a686 -Author: Chas Williams (CONTRACTOR) -Date: Fri May 23 07:48:11 2014 -0400 - - afs/VNOPS: use osi_AllocSmallSpace() correctly - - Send the size down to the allocator so it can perform some - consistency checks. - - Change-Id: I6c089ab912014c639888b744a92a28813fb4b3c4 - Reviewed-on: http://gerrit.openafs.org/11168 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Michael Meffie - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 3ab546395536a3c93613dfd53363d380e2c05081 -Author: Stephan Wiesand -Date: Mon Jun 2 16:15:15 2014 +0200 - - fstrace: Don't read uninitialised data on other platforms either - - Commit 908105fe8d51551e45692de4e145022138a0356c fixed an off-by-one - error potentially causing a buffer overread in CheckTypes, but only - in the IRIX/AIX version of the function. Apply the same fix to the - code for the other platforms. - - Spotted by Andrew Deason. - - Change-Id: I5f70c072e609337b39064ba48353b4fdf23acf17 - Reviewed-on: http://gerrit.openafs.org/11185 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 69705782318226806b6a2b092ec4b63d594d184c -Author: Perry Ruiter -Date: Thu May 29 19:24:24 2014 -0700 - - afs: Delete unneeded duplicate code - - Delete a memory release and a goto since natural code flow will - result in exactly the same thing. - - Change-Id: I8fe1400aa2db0e15cbbd577ba18cc1fcdec18447 - Reviewed-on: http://gerrit.openafs.org/11179 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 02565591855f5a5ddb7dd6e308d9f535c2fd64b8 -Author: Perry Ruiter -Date: Tue May 27 01:26:59 2014 -0700 - - config: Move AFS_LRALLOCSIZ to afs_args.h - - AFS_LRALLOCSIZ is currently defined in afs/afs.h. Other memory - related definitions such as AFS_SMALLOCSIZ and AFS_MDALLOCSIZ - are defined in config/afs_args.h. Move AFS_LRALLOCSIZ to - config/afs_args.h for consistency. - - Change-Id: Ie1e286c24be6a2def404a54355a2fa4b2c42330d - Reviewed-on: http://gerrit.openafs.org/11174 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit de74227d9c925206cd6d46496ec4682569d3105b -Author: Marc Dionne -Date: Tue Apr 29 12:48:03 2014 -0400 - - libafs: Speed up afs_CheckTokenCache - - On systems with a large number of PAGs and files in use, the - periodic daemon job that checks for expired credentials and - cleans up the axs cache can run for a very long time. This - can lead to kernel soft lockups and eventually hang processes - and file access because of unavailable locks. - - Rework the scanning logic in afs_CheckTokenCache to make the - scanning more efficient in most real world cases. On a test - system accessing ~4000 files from processes in 1000 PAGs, this - has been observed to reduce the runtime of afs_CheckTokenCache - from a problematic ~70s down to about 0.7s. - - Additionally, this changes the conditions in which an axscache is - discarded. uid+cell (rather than just uid) must now match, and - if no matching unixuser is found, it will also be discarded. - - Adapted from code from Jeffrey Altman who provided the original - loop algorithm and code. - - Change-Id: I65b275b4244b3b6ab65453623bb8729530a9e1a6 - Reviewed-on: http://gerrit.openafs.org/11123 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 231bd022ede3309238d840461dc63a46aaa357e5 -Author: Ben Kaduk -Date: Fri Jan 4 16:16:04 2013 -0500 - - Dummy Makefile for rxgk - - Include a libtool export symbol list for the shared library, which - only has the client RPC calls and the NewFooSecurityObject primitives - for now, since that's all that's stubbed out. - - Also connect the rxgk directory up to be buildable from the root, but - nothing depends on it yet so it will not be built. - - Looking ahead, build a libafsrpc_rxgk.la object. - - Change-Id: I12ddefbdaa1ad4845649e3a32efdeaaa21b5e9b7 - Reviewed-on: http://gerrit.openafs.org/10563 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit ee56e925f0c6484ac58e23ccdd1b1bf1a3760505 -Author: Ben Kaduk -Date: Fri Dec 6 15:24:58 2013 -0500 - - Add rxgk boilerplate - - Just the skeleton of what needs to be there. The actual import is split - over multiple commits, to make the reviewer's burden more manageable. - - Error table, protocol description, and stubs for the security object - routines, with header to declare them. - - The public header rxgk.h currently only contains a few typedefs and the - NewSecurityObject prototypes, and includes the RPC interface and com_err - code headers. - - Change-Id: I7893f78119bb4aef12112cc1e51e1ec69de326c2 - Reviewed-on: http://gerrit.openafs.org/10562 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit e156fae7a1866d1b00a1d9252c0a775128e2f033 -Author: Ben Kaduk -Date: Fri Dec 6 14:56:25 2013 -0500 - - Add some configure bits for GSS-API - - rxgk will require gss_pseudo_random and might want a couple other - krb5-specific bits. We'll also need substvars to tell whether or - not we can try building these things. - - Change-Id: Id18eb3f554605875696095eb40c25ec54df1f74b - Reviewed-on: http://gerrit.openafs.org/10561 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 0abf5fcbe8a0367a91224fa50480e78f0e6b02e4 -Author: Marc Dionne -Date: Mon May 5 13:33:10 2014 -0400 - - Linux: Drop PageReclaim AOP_WRITEPAGE_ACTIVATE case - - The exit case here seems to have been added to avoid recursion into - the writeback code and eventual deadlock (see RT #15239). One issue - is that the PageReclaim check can trigger in code paths that don't - deal with the AOP_WRITEPAGE_ACTIVATE code correctly, leading to EIO - errors when multiple threads are doing large mmap writes and memory - pressure is sufficient to trigger reclaim. - - The check could be improved to check wbc.for_reclaim which seems to - indicate more reliably when it is safe to return ACTIVATE, but given - that the CPageWrite flag already provides more targeted recursion - prevention, it seems safer to just drop this special case. - - Note that many kernel filesystems used to have a similar check mainly - to prevent excessive stack usage, but as more recent kernels have - moved away from doing any writeback during direct reclaim this is a - case that should no longer occur. Partly as a result of this there - are very few users of AOP_WRITEPAGE_ACTIVATE left in the kernel, - which may be a motivation to find a better mechanism for OpenAFS - eventually. - - This has been shown to help avoid EIO errors with multiple processes - doing intensive mmap writing. - - Thanks to Yadav Yadavendra for identifying the issue and providing - extensive analysis and testing. - - Change-Id: I88d9ef6e6e7a8f666f82c5ca481254839c2ba1e5 - Reviewed-on: http://gerrit.openafs.org/11125 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 21a85792c44e2145eea6d10dc31d58028ba933b8 -Author: Michael Meffie -Date: Tue Feb 18 13:59:59 2014 -0500 - - volser: log message for cross-device link errors - - Add a log entry to the volume server to help diagnose those pesky - 'Invalid cross-link device' errors returned by vos, which occur when - a clone volume is located in a different partition than the parent - read-write volume, or when a read-only volume is on the incorrect - partition on the server. - - With this change, a new log entry is added when the volume server - fails to create a clone or a read-write volume because a volume with - the target volume id already exists on a different partition. For a - clone volume, this would be a different partition than the - read-write volume. For a read-only volume, this would be a different - partition than indicated in the vldb. - - Examples: - - Volume foobar is on /vicepb, but foobar.backup is incorrectly on - partition /vicepa. - - $ vos backup foobar - Failed to clone the volume 536870934 - : Invalid cross-device link - - VolserLog: - VCreateVolume: volume 536870936 for parent 536870934 found on /vicepa; unable to create volume on /vicepb. - 1 Volser: Clone: Couldn't create new volume 536870936 for parent 536870934; clone aborted - ... - - The vldb indicates a read-only volume should be on /vicepa on a - remote site, but the actual volume is on /vicepb. - - $ vos release xyzzy - Failed to create the ro volume: : Input/output error - The volume 536870921 could not be released to the following 1 sites: - mantis /vicepa - VOLSER: release could not be completed - ... - - VolserLog on mantis: - VCreateVolume: volume 536870922 for parent 536870921 found on /vicepb; unable to create volume on /vicepa. - ... - - Change-Id: Iaa471c46059d598a5095d59580e3b0b8ac6e1992 - Reviewed-on: http://gerrit.openafs.org/10849 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: D Brashear - -commit c0683441a0121433d772bfb36e1e9a1c020a5dcb -Author: Marc Dionne -Date: Wed May 28 09:53:58 2014 -0400 - - vol: Fix gcc 4.9 warnings - - gcc 4.9 complains here because the trailing 0 in these macros - has no effect, the value having already been set to NULL. - Just remove the offending 0s, nothing uses the return value - anyway, even if there were platforms where 0 != NULL. - - Change-Id: Ic9a79d51419726c0c823a9228c21c13dea918dc8 - Reviewed-on: http://gerrit.openafs.org/11176 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 40fb2650b783fbafe51aefd3d0af7a6b0536c265 -Author: Michael Meffie -Date: Sun May 18 19:28:16 2014 -0400 - - libafs: allocate vattrs in LINUX to reduce stack used - - Allocate temporary vattrs in LINUX to reduce the amount - of stack space used. - - Change-Id: Iafa8d920b7149486f1ea8fb1999c1f4c9a935615 - Reviewed-on: http://gerrit.openafs.org/11170 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 9630c075409a262424805411ed473178814b412c -Author: Michael Meffie -Date: Sun May 18 17:17:38 2014 -0400 - - libafs: api to create and free vattrs - - Add a pair of functions to allocate and free struct vattrs, - to avoid having struct vattrs on the stack. - - Change-Id: Ia5a148ebcdf8a2f1e3a2aa9d8fd3c0e0cd0e25e9 - Reviewed-on: http://gerrit.openafs.org/11169 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit f66c467bdd7182eb80ede3b9faa5f5ae5231632f -Author: Benjamin Kaduk -Date: Wed May 28 10:41:02 2014 -0400 - - Use a separate toplevel target for venus/tests - - There's no particular reason to lump them in with the venus target, - and we have reports that it causes parallel build failures on some - systems. - - Just use a separate 'venustests' target akin to rxtests and ubiktests - and the like, instead. - - Some of these lines are now long and should be wrapped, but leave - that for a follow-up commit. - - Change-Id: Idd50c02d3c0c88dc2788ecfd221bbc5cbf8cba19 - Reviewed-on: http://gerrit.openafs.org/11177 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: D Brashear - -commit f05abc47938beddb436fd0b9677f7b59fc64a215 -Author: Stephan Wiesand -Date: Fri May 30 15:05:28 2014 +0200 - - libadmin: Remove redundant memset call - - Commit bf78bf2c115659b78c34d3bc9d1934bcff21c8cc added initialisation - of the nbulkentries structure to 0, to avoid freeing garbage due to a - goto fail_... before the structure is initialised. As pointed out by - Andrew Deason, there already is an equivalent memset call later in the - code which is now redundant. Remove it. - - Change-Id: I236e6de2a79f4f483be314654225bd52316f5a02 - Reviewed-on: http://gerrit.openafs.org/11180 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit e7a4359a0870f214091113f3efb0b32a4b68663c -Author: Perry Ruiter -Date: Fri May 30 14:28:53 2014 -0700 - - audit: Delete va_copy kludge - - When I developed fix c3d4c109305b2db8a63b754c1894ad37326dc340 I used - va_copy. I was nervous because it required C99, but I had no - problem with any of the buildbots, nor did any reviewer comment. - audit/audit.c contains a local hack to simulate va_copy in the - pre C99 days. There are no uses of va_copy in audit.c but - presumably at some point there was. Delete the local va_copy. - - Change-Id: I5e30c7e3052aeffe56e366888c5a3db3a705fd00 - Reviewed-on: http://gerrit.openafs.org/11184 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 85f3d0941b37c71047f59e1b1f4f92557d232fb8 -Author: Perry Ruiter -Date: Tue May 27 01:16:26 2014 -0700 - - Delete several unused memory management constants - - Change 412854593cf368006c18e6c0dc607a9ecd76a0e0, removed from - the code base the last usage of: - AFS_SALLOC_LOW_WATER (defined in afs/afs.h) - AFS_MALLOC_LOW_WATER (defined in config/afs_args.h) - AFS_MDALLOCSIZ (defined in config/afs_args.h) - This patch deletes these constants. - - Change-Id: I1333aed508875e9b13dc3f36f3ff0d5eadfb2cfd - Reviewed-on: http://gerrit.openafs.org/11173 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Michael Meffie - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 7a37f49e9db2dad980f22b3df8766863711ddb4c -Author: Ben Kaduk -Date: Fri Dec 13 13:19:04 2013 -0500 - - bcrypt keys are on the rxkad list, not rxgk - - Make the code match the comment. - - Change-Id: If891b9a4b33eafc93816077c321790f5af10803f - Reviewed-on: http://gerrit.openafs.org/10582 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: D Brashear - -commit 882b9dedef974f1cbc71093a64675819811b4b1f -Author: Ben Kaduk -Date: Wed May 8 12:51:31 2013 -0400 - - Suppress nonliteral format string warning/error - - Clang doesn't like a nonliteral format string, and some kernel - builds (e.g., freebsd) are done with -Werror. Use the standard - workaround for FreeBSD and UKERNEL builds by calling vsnprintf() - into a fixed buffer. - - Remove the !defined(AFS_LINUX26_ENV) check, as it duplicates a - conditional around the entirety of osi_Panic(). - - Change-Id: If6287dd19604b78150c81febba8a59b73f56783c - Reviewed-on: http://gerrit.openafs.org/9880 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 4b4d44b3dd62c2a36908f20eeff345b666e7858d -Author: Georg Sluyterman -Date: Wed Mar 26 21:48:56 2014 +0000 - - cmd: List version in help for commands - - List version in help for commands using cmd library - - Change-Id: I4da64be11244e64d961e8de47cecb24cbbadce32 - Reviewed-on: http://gerrit.openafs.org/10956 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit c01236beb5a6ad55cd424f0ccc3a836d737f78f3 -Author: Michael Meffie -Date: Sat Oct 26 23:35:14 2013 -0400 - - build: separate source and header compile_et rules - - Generate source and header files separately to support parallel make - without contortions. - - Add a complete list of dependencies for each generated header file - to avoid build errors during parallel make. - - Change-Id: I804ff553e08d411a1cfe20a4ef4e57da9d321837 - Reviewed-on: http://gerrit.openafs.org/10370 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 0408718b8108882d5fb70612e7e7e5d3184fb65f -Author: Michael Meffie -Date: Sun Mar 2 14:54:00 2014 -0500 - - rxkad: fix include quotes for generated headers - - Change-Id: I36f7df2205fb4e655c3f342b864df5b877469aec - Reviewed-on: http://gerrit.openafs.org/10871 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit d3eed1e58a7605b320ec38d48ff1c185aa2d9806 -Author: Michael Meffie -Date: Sun Mar 2 12:26:24 2014 -0500 - - auth: fix include quotes for generated headers - - Change-Id: If4786c30b0b448ea4ff663d62d5e0f8623736084 - Reviewed-on: http://gerrit.openafs.org/10870 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 4e6b7ab904d38d38da1b80a7342bd815668a8c09 -Author: Michael Meffie -Date: Sun Jan 19 17:04:08 2014 -0500 - - libafs: separate source and header compile_et rules - - Use the new compile_et -emit flag to generate source and header - files separately to support parallel make. - - Export afs_trace.h since it is required to build libafs. Before the - compile_et -emit flag was available, The afs_trace.h file was - generated as a side-effect of creating afszcm.cat. - - Change-Id: I4e93691dda34ddc8600d6a818503e0c9e75e618a - Reviewed-on: http://gerrit.openafs.org/10729 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit e97198372a8ddbdba4b5a58c0659f2aa5d2b2d56 -Author: Michael Meffie -Date: Tue Jan 21 13:45:32 2014 -0500 - - libadmin: separate source and header compile_et rules - - Use the new compile_et -emit option to generate source - and header files separately for parallel make support. - - Remove unneed -h options, since there are no prolog - files and the header names match the error table names. - - Change-Id: Ib94bf2cd34e9102d4047d8f1ae0b108af3299cc4 - Reviewed-on: http://gerrit.openafs.org/10730 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 1141d120a5b8a0e0f33c6b8f8bfe57f1f3eb5180 -Author: Michael Meffie -Date: Sun Mar 30 11:53:16 2014 +0200 - - doxygen: make dox - - Add an optional make target (make dox) and doxygen configuration to - generate doxygen output files. Auto-detect when the doxygen and - graphviz dot tools are available. When dot is present, configure - doxygen to create dependency graphs. - - Since the graph generation can take a very long time, a new - configure option has been added to override the dot tool - auto-detection. To disable the graph generation (even if dot is - installed), run configure with the option: --without-dot - - When graph generation is desired, but graphviz dot is not present in - the PATH, specify the path to dot with the configure option - --with-dot=. - - The configure summary has been updated to show when doxygen document - and graph generation is configured. - - Thank you Jason Edgecombe for providing the doxygen configuration - for OpenAFS. - - Change-Id: Ie875fc2961877ee76e4c17631bbb95c29ef20b9e - Reviewed-on: http://gerrit.openafs.org/10970 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 8050a005a39faf39a6743293c72fa8ed7e928a47 -Author: Michael Meffie -Date: Sun Mar 30 14:02:17 2014 +0200 - - configure: fix comment about unix variants - - Remove vulgar comment, and remove commented out checks for - aix and minix. - - Change-Id: I1ee6948bab3185a7855f1d9dc0e9557e27d4e1d2 - Reviewed-on: http://gerrit.openafs.org/10969 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 383602344921ab6dbe72e35bdc085567ccda2b69 -Author: Benjamin Kaduk -Date: Fri Apr 25 15:23:16 2014 -0400 - - rxgen: use unsigned type for max array length - - Plain '0' is of type int, i.e., signed, and therefore so is '~0'. - The length of an XDR array is unsigned, so this constant should - be of an unsigned type. - - Change-Id: I13f5f94b2f54bc0adcdf2ded1696b797b5205057 - Reviewed-on: http://gerrit.openafs.org/11107 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 200658834fcb22ca608dba8856d2d47872d3b2b3 -Author: Benjamin Kaduk -Date: Fri Apr 25 15:24:22 2014 -0400 - - Some rx type cleanup for signedness - - The epoch, Cid, and security header/trailer sizes are all fundamentally - unsigned quantities. Change the types exposed in some API signatures - to match this reality, and also change the global variables for the - epoch and Cid to match. (Per-connection variables were already of - an unsigned type.) - - Change-Id: I4a56736ef7d78028d1d0b980cda0b4c37d694388 - Reviewed-on: http://gerrit.openafs.org/11106 - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 7a701239d8327ae738124edb5e11f3bcbb08a76b -Author: Benjamin Kaduk -Date: Wed May 21 15:58:17 2014 -0400 - - Install afscp.h from srcdir, not the build dir - - That header is not a generated file, and is not found in the - object directory. make install would fail from a separate objdir - prior to this change. - - Change-Id: I31041c793bd930cfe2fc3c5f8a754ba1b91c26e5 - Reviewed-on: http://gerrit.openafs.org/11160 - Reviewed-by: D Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 1ac4eb1b84db2732b9c2645492daff9e25417475 -Author: Michael Meffie -Date: Wed Apr 9 08:40:21 2014 -0400 - - libafs: reduce stack space in LINUX - - Allocate temporary vrequests to reduce the amount - of stack space used. - - Change-Id: I71ed86b6345ce69a70f33cdbaf5eed2abb2cef19 - Reviewed-on: http://gerrit.openafs.org/11005 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 76ad941902c650a4a716168d3cbe68f62aef109f -Author: Michael Meffie -Date: Mon Apr 14 16:07:53 2014 -0400 - - libafs: api to create and free vrequests - - Add a pair of functions to allocate and free struct vrequests, which - are to be used to avoid having struct vrequests on the stack. - - Change-Id: I6cbfe2ed21beb1ba500975188bb76608fdee4bc7 - Reviewed-on: http://gerrit.openafs.org/11074 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit b71a041364d28d6a56905a770cd20d1497ee26ec -Author: Christof Hanke -Date: Thu Apr 24 06:19:32 2014 +0200 - - Logfiles: open with O_APPEND - - This does not change the current (normal) behaviour, but allows - logrotation via "copy and truncate" as offered by logrotate. - Otherwise the processes will remember the offset of the last write - and a truncated file is filled with '\0' until the current offset. - The mrafsStyleLogs are untouched, since they can be rotated by a - kill -HUP and are deprecated anyway. - - Change-Id: I09437aac63205fee3d97850507531e6833fed14f - Reviewed-on: http://gerrit.openafs.org/11092 - Reviewed-by: Nathaniel Filardo - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Michael Meffie - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit f4ab11a8dd562bd7ee11c45e51814281d64c866c -Author: Nathaniel Wesley Filardo -Date: Sat Mar 29 22:56:21 2014 -0400 - - Add a small string formatting utility to opr - - This is to be used by the (coming next) vos-foreach utility, but it seemed - sufficiently general and useful to break out into its own free-standing - component. - - Change-Id: I92c3a615fecb80e1766f78492b229a826a23e18a - Reviewed-on: http://gerrit.openafs.org/10965 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: D Brashear - -commit 18511623f2e2bb33e3ebe9f768afed52fd53f9ce -Author: Michael Meffie -Date: Mon Mar 31 14:01:37 2014 -0400 - - readme: move README.WARNINGS to CODING - - Move the information about compiler warnings to the CODING - readme file. - - Change-Id: I0be752c76ddee809fe80bd1f97048953eeee89ee - Reviewed-on: http://gerrit.openafs.org/10975 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit eff41a2e53acd2622d89003647ba711a8b5bc75c -Author: Michael Meffie -Date: Mon Mar 31 13:57:33 2014 -0400 - - readme: move git info to CODING - - Move the REAME.GIT information to the CODING readme file. - - Change-Id: I3013e03ebfe003dce23f0e2d808ab6905dd2b452 - Reviewed-on: http://gerrit.openafs.org/10974 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 04c7ed855ef78e1d1a15821ffff5fe0f26b9d0c4 -Author: Michael Meffie -Date: Mon Mar 31 13:06:03 2014 -0400 - - readme: rename README.DEVEL to CODING - - Rename the developer's readme file to CODING as a home - for developer related information. - - Change-Id: I8c2cf70258671387b926ef3d666f6476056ef06e - Reviewed-on: http://gerrit.openafs.org/10973 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 2db8242aebea7dfda7f9f1a2827f76a6fe5c8dc7 -Author: Michael Meffie -Date: Sun Mar 30 14:11:00 2014 +0200 - - makefile: remove comment about washtool - - Once upon a time, AFS used something called washtool as part - of the build system. Remove the remnant comment about it. - - Change-Id: I566920b98c03d3cc65a6e2974a78a9247fd79842 - Reviewed-on: http://gerrit.openafs.org/10968 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 9930567bcf9655d3f562b210b2dc4b4a99226691 -Author: Michael Meffie -Date: Tue Apr 8 16:10:36 2014 -0400 - - libafs: reduce stack space in VNOPS - - Allocate temporary vrequests to reduce the amount - of stack space used. - - Change-Id: Ic14cc4f657f7c7e97ef396601bd6c8c7f91abe55 - Reviewed-on: http://gerrit.openafs.org/11004 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 027e2bbb1191c31dbbe968a925c192b064d52c47 -Author: Michael Meffie -Date: Fri Mar 28 00:36:29 2014 +0100 - - libafs: reduce stack space - - Allocate temporary vrequests to reduce the amount - of stack space used. - - Change-Id: I8c50a3af3028512003a02e46a2960b9b135213a5 - Reviewed-on: http://gerrit.openafs.org/11003 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit cdbf49f06baf33abd803b5d1ec245e58a94eec52 -Author: Michael Meffie -Date: Thu Apr 24 15:27:38 2014 -0400 - - libafs: check afs_InitReq return code - - Do not ignore the return code from afs_InitReq everywhere it is - called. If afs_InitReq fails, the vrequest could not be initialized - for some reason. - - Change-Id: Ibae9f93c1e20a9fcae812f047da14106e6717454 - Reviewed-on: http://gerrit.openafs.org/11097 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit c20c01185ed748b2bc823369a8f28cf004b7d1c9 -Author: Stephan Wiesand -Date: Wed May 7 15:20:51 2014 +0200 - - redhat: Use the right path to depmod - - As of Fedora 17 and RHEL 7, depmod has moved from /sbin to /usr/sbin. - The full path to depmod is used in package scripts and as a dependency. - This hasn't caused problems in most cases because on an installed - system a link /sbin -> /usr/sbin is present and during ordinary package - installations yum/rpm correctly then figure out that /sbin/depmod is - actually provided. But in other situations, the dependency check is not - that clever and (incorrectly) fails. - - Add a macro to the spec defining the full path to depmod, use the macro - rather than plain /sbin/depmod throughout the spec, and also pass it to - kmodtool when required to generate the kmod package scripts and - requirements. - - FIXES 131860 - - Change-Id: I1f2e4f7100d244477c2cb9087d2f48bbcea27fdc - Reviewed-on: http://gerrit.openafs.org/11128 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Reviewed-by: D Brashear - -commit e1d0342326d11a14e1fb0075fb62cc6be9389b97 -Author: Antoine Verheijen -Date: Wed May 7 14:57:26 2014 -0600 - - OpenBSD: Add support for OpenBSD 5.4 - - Add param header files and other config info to provide - support for OpenBSD 5.4. - - Change-Id: I56d2e716bd7fa4dee699f8d190cb4b60bb0f67a8 - Reviewed-on: http://gerrit.openafs.org/11130 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit 0287086fa78f0bc0012325c2eadb3dccb6b1f766 -Author: Perry Ruiter -Date: Mon Mar 31 04:42:22 2014 -0700 - - afs: Suppress duplicate message on Linux - - Update afs_util.c to call afs_warnall in places where afs_warn and - afs_warnuser are called back to back with identical parameters. - - Change-Id: I529344dea12149d8f18ec38bb17418c703f7d26b - Reviewed-on: http://gerrit.openafs.org/11006 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit a70f8e1a7e3fcbc13c9a60f8a7409dd01d014afb -Author: Perry Ruiter -Date: Sat Mar 22 00:52:32 2014 -0700 - - afs: Define afs_warnall routine - - In a Linux environment afs_warn and afs_warnuser both go to - the same spot, resulting in duplicated messages if both are - invoked back to back. Define a new function afs_warnall - for use when identical messages are directed to both warn - and warnuser. In a Linux environment it will do the right - thing and present only one copy of the message. - - Change-Id: I1abdc63adc74fe5b08d3872d48698ec9dcc7a40c - Reviewed-on: http://gerrit.openafs.org/10943 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit c3d4c109305b2db8a63b754c1894ad37326dc340 -Author: Perry Ruiter -Date: Fri Mar 21 23:31:21 2014 -0700 - - afs: restructure afs_warn and afs_warnuser - - Restructure afs_warn.c to provide an afs_vwarn and afs_vwarnuser - that accepts a va_list rather than a variadic parameter - specification. afs_warn and afs_warnuser continue to be - variadic functions but now call afs_vwarn and afs_vwarnuser. - This is a preparatory change. A subsequent update will - further exploit afs_vwarn and afs_vwarnuser. - - Change-Id: I8e740c4db311582bda6422e6600f1503dfbd0f5a - Reviewed-on: http://gerrit.openafs.org/10942 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit bec2555feb70be92bbd5685d9a43ae3138de382b -Author: Chas Williams (CONTRACTOR) -Date: Fri May 9 13:25:55 2014 -0400 - - solaris: help fs_conv_sol26 build cleanly - - handleit(), being static, should be declared before usage. - - Change-Id: I5cf9767ed2fc552f7a22c7570d0a4d256a4111b1 - Reviewed-on: http://gerrit.openafs.org/11134 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 995cc38a24840cd1ba2b8dcdf3c9df233c1b2abe -Author: Michael Meffie -Date: Fri Feb 1 17:46:45 2013 -0500 - - vos: vos release -force-reclone option - - Add a new vos release option called -force-reclone to force the - reclone of the release clone and a release to all of the remote - sites, regardless of the state of the VLDB flags on the remote - sites, but does not force full volume dumps when distributing the - volume. - - Provide an alias -f for -force for compatibility with the original - IBM vos, in case scripts were written to use the old '-f' option, - and for users with muscle memory. - - Change-Id: I0ebebc5e8099299781e8da57579d91848bb2ad19 - Reviewed-on: http://gerrit.openafs.org/9020 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - Reviewed-by: D Brashear - -commit 84cbafc3b1394eb5bce1fd617a5581536530d54e -Author: Jonathan A. Kollasch -Date: Thu Apr 17 12:55:34 2014 -0500 - - NetBSD: update kernel module glue for NetBSD 6.99.x - - Change-Id: I4fe5ccb33ec823a6df3a73e94247a0a42b970e57 - Reviewed-on: http://gerrit.openafs.org/11089 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 2f64bc272434562dfb84c4f480c82354019dec19 -Author: Gergely Risko -Date: Wed Mar 19 10:56:26 2014 +0100 - - RestrictedQuery feature - - Make vlserver and volserver suppport a new command line parameter, - "-restricted_query admin". When this is on, the query RPCs that - are not needed for normal cache manager operations are restricted - to administrators listed in UserList. This is off by default. - - Change-Id: I2a23a4e99cabd46b19ed491a6520773731a5994e - Reviewed-on: http://gerrit.openafs.org/10927 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - Reviewed-by: Jeffrey Altman - -commit 7206d4088d823bf535aaddef49dab1653a43a0fe -Author: Michael Meffie -Date: Thu Apr 17 09:31:18 2014 -0400 - - uss: add missing include - - Fix a build error when configured with --enable-uss. The - added include defines the VolumeId which is needed by - the volser.h. - - Change-Id: Ifbdaadf4de726ff1da54e93ba47124c5b5eb9cfb - Reviewed-on: http://gerrit.openafs.org/11084 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit b9979e1a23ce28b20fe95d5e6042b9b15506c993 -Author: Michael Meffie -Date: Fri May 9 11:43:35 2014 -0400 - - aklog: double get_credv5 in retry logic - - Fix a bug where get_credv5() is called twice, even if the first one - succeeded, in the aklog retry logic. - - (This bug uncovers another bug where get_credv5_akimpersonate - crashes in the krb5 libs when get_credv5 is called back to back.) - - Change-Id: Ie6cac3b4522946c87c30ad3cd6939738234800bf - Reviewed-on: http://gerrit.openafs.org/11133 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3946b50a7ecdfd34681ab471863929b2f82aff4b -Author: Andrew Deason -Date: Tue Apr 15 12:30:19 2014 -0500 - - doc: Clarify some BosConfig.new text - - It is not always clear to users whether BosConfig.new is noticed - during an automatic restart, or if it requires stopping and starting - the bosserver. Slightly reword the relevant text and add a small note - that a "general restart" does cause BosConfig.new to be noticed, so - this is explicitly clear. - - Change-Id: Iab3eaff176305b0b2991a6636e70204b5072b1b0 - Reviewed-on: http://gerrit.openafs.org/11076 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 72bc3848536cc71b8950e5619f5769f60a73f3ab -Author: Jeffrey Altman -Date: Wed May 14 06:42:40 2014 -0400 - - Windows: Restrict redir trace buffer to 10240KB - - Define macro AFS_DBG_LOG_MAXLENGTH to 10240 and then use it to - enforce the 10MB trace buffer limit. - - Change-Id: I98b759d9f51d24d402bfdc56570c0f0de93926a0 - Reviewed-on: http://gerrit.openafs.org/11146 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ccb092c37802d300b6ec12d45f10bed42d2a5a59 -Author: Rod Widdowson -Date: Mon May 12 21:50:48 2014 -0400 - - Windows: Fix uninitialized variables - - VS2013 spotted two cases where we do not set up the - Iosb.Status when we catch an exception from Cc. - Fix them. - - Change-Id: I93b8a48863f22fd1dc2d7dba4d9de18454f35fe0 - Reviewed-on: http://gerrit.openafs.org/11140 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d075b0549d62e4a81b7543b9c2f5dac242074909 -Author: Marc Dionne -Date: Fri May 2 14:10:06 2014 -0400 - - Linux: Prevent some fakestat data inconsistencies - - When fakestat is enabled for a mount point, the parent vcache - entry is not the right place to find the DataVersion of - the target volume root directory. This can lead to data - inconsistency since the revalidation checks rely on the parent's - DataVersion to determine if a file entry is still valid. If the - file was replaced or deleted remotely, the only callback we - get is for the parent directory, and in that case the client - will think the file entry is still valid and give back stale - data to the user. - - If fakestat is enabled and we have a mountpoint, always use - the parent vcache pointer returned by FakeStat before using it - to either store (in the lookup and create ops) or compare - (in the revalidate op) the DataVersion. - - FIXES 131855 - - Change-Id: I03c05c1dab39e663b74635700e80ba70861b1c2e - Reviewed-on: http://gerrit.openafs.org/11118 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit aad509a7e11432bbe8cf0a3a0adaa78d7f9c9da5 -Author: Jeffrey Altman -Date: Thu May 8 09:06:07 2014 -0400 - - Windows: cm_Analyze retries vs CM_REQ_NORETRY (2) - - Commit a1b5a1d42280753de13094006dcc130fede978a1 left out a critical - part of the patch. The check for "retry < 2" when determining whether - retries should be skipped due to CM_REQ_NORETRY. - - Change-Id: I9b750e2bab11d28813447b2ee92287b8dcfbbba3 - Reviewed-on: http://gerrit.openafs.org/11131 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a111d0db7768e0ab924f51666d626ddb3e25ca38 -Author: Michael Meffie -Date: Thu Apr 24 13:40:06 2014 -0400 - - libafs: fix lock leak during shutdown - - afs_getattr returns EIO when afs is in the process of shutting - down. Be sure to unlock the locks taken before returning. - The bozon lock leak has been present since IBM AFS. - - Change-Id: Id3e330c458996abf1519de6364060cc0b8828e6a - Reviewed-on: http://gerrit.openafs.org/11096 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit d9e14a08129cc70a3baca67c2c1adb8aba5945a2 -Author: Rod Widdowson -Date: Sun May 4 14:33:11 2014 -0400 - - Windows: Adjust Last Write time handling for -1 - - The "what date/time gets changed when and by whom" in Windows is badly - defined, but all filesystems support the semantic that if a date is set - using a specific file object (or the timestamp is set to the magic number - -1) - then other changes provoked by that file object will be ignored. - - AFS redirector timestamp handling does not support this behavior. - For the LastWrite timestamp (other timestamps are pretty much advisory and - maintained on a best effort basis) the timestamp would be updated by a - write operation even after -1 is set via the file handle. - - This patchset implements the -1 behavior for LastWrite. It also follows - the standard Windows practice of setting the LastWrite timestamp to be the - time of close of the handle that performed the write, not the time of the - write itself. - - Finally, it should be noted that since RX*FS_StoreXXX operations update - the last write time on the server the client must restore the LastWrite - timestamp at handle close if -1 was specified. - - Change-Id: Ica0c566fabb6b3046eb51f827402d622190daea8 - Reviewed-on: http://gerrit.openafs.org/11110 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a1f5a9d72f795023813c116329cd40dec3bd43af -Author: Jeffrey Altman -Date: Tue Jan 21 05:44:41 2014 -0500 - - Windows: RDR AFSSubtituteName invalid UNICODE_STRING - - The 'ComponentName' parameter to AFSSubstituteName() is a UNICODE_STRING - pointer. Its address should not be passed to AFSDbgTrace when used - in conjunction with a %wZ format. - - Change-Id: I12ead951b1ae376e42da12b21e32f65e736375ab - Reviewed-on: http://gerrit.openafs.org/11090 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9c10c202f1f2e516dde8b70c3a3b69a73d163070 -Author: Anders Kaseorg -Date: Sun May 4 05:30:25 2014 -0400 - - Fix buffer length validation in ktc_GetToken and knfs - - The signed int tktLen is checked against a maximum size, then passed - as the unsigned size_t argument to memcpy. So we need to make sure it - isnā€™t negative. - - This doesnā€™t appear to be exploitable: tktLen comes from the kernel, - which should have previously validated the length within the SETTOK - pioctl. - - This bug was found with STACK . - - Change-Id: I781bd300cad3d725d3517e7f6ac9e6423c417087 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/11109 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 279345c231d0a2d9f6e8c2f76a5347bafd40e70b -Author: Ken Dreyer -Date: Wed Mar 6 13:53:29 2013 -0700 - - doc: recommend cleanup steps in "vos convertROtoRW" man page - - vos convertROtoRW leaves the older RW copy on the original fileserver, - although it is no longer in the VLDB. Provide the user with some hints - regarding clean up. - - Change-Id: I5f6fcf7d5a516b59438d84e60f163a567d3a64fd - Reviewed-on: http://gerrit.openafs.org/9408 - Reviewed-by: Ken Dreyer - Tested-by: Ken Dreyer - -commit c91b2a119a72a2293d9e9ffe5bd97c70d0c22eee -Author: Ben Kaduk -Date: Mon Dec 9 14:54:18 2013 -0500 - - Fix typo in rfc3961 namespace-cleaning - - Change-Id: If93119ce4345ab8d1eccb9df7196b1681d2762cb - Reviewed-on: http://gerrit.openafs.org/10550 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 074d745a02d80bfd2c16a4e2b7b4222022f8e641 -Author: Benjamin Kaduk -Date: Mon Apr 7 17:55:09 2014 -0400 - - vol: Fix build with separate objdir - - The volscan-main and volinfo-main source files are in the source - tree, not the object tree; refer to the objects in the Makefile - as dependencies, so that they will be picked up properly. The - objects will be made just fine by the implicit .c.o rule. - - Change-Id: Ieec4b32cfbe5d260e1560a08d4ed8162720f9222 - Reviewed-on: http://gerrit.openafs.org/10988 - Reviewed-by: Michael Meffie - Tested-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 279e01051600f0884ed3669786543578e53cf518 -Author: D Brashear -Date: Tue Apr 22 11:38:44 2014 -0400 - - linux: make reading unixusers from proc actually work - - our indentation did not match our braces so we would never read all the - objects in each unixuser hash chain. add the missing braces - - Change-Id: I001b55f0d43639124b06758095664a31e8230db6 - Reviewed-on: http://gerrit.openafs.org/11094 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: D Brashear - -commit bd2137018c87d864ef842aa941b67d4e53bd5300 -Author: Jonathan A. Kollasch -Date: Thu Apr 17 12:48:30 2014 -0500 - - NetBSD: fix rx_kmutex's CV_WAIT_SIG macro - - Change-Id: I6550f5c71bafe03290c1dbda545ff3feea01a805 - Reviewed-on: http://gerrit.openafs.org/11088 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Perry Ruiter - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit dd8d2aa871fc5841c281d1292c39ffb8edf1ebd1 -Author: Jeffrey Altman -Date: Fri Apr 4 16:42:36 2014 -0400 - - Windows: Deny writes/truncation to files w RO attr - - If the readonly file attribute is set on a file, refuse to process - writes, truncations or overwrites. The afsd_service will do so - and this can lead to data corruption. - - At the same time, writes from the redirector to afsd_service must - not be denied because of the readonly attribute. That check was - performed during the CreateFile. Otherwise, a new file can be - created with the readonly attribute and then not be writable. - - Change-Id: I921a11eb8c1a3e642d60c23fc905b3febc0f0761 - Reviewed-on: http://gerrit.openafs.org/10985 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e24ed842eba54f62105b08d2b9fb281cc19519f1 -Author: Jeffrey Altman -Date: Wed Mar 12 12:49:40 2014 -0400 - - Windows: NP Fail requests if AFSGetAuthenticationId fails - - If during the processing of a network provider request the Logon - Session AuthenticationId is zero and the AFSGetAuthenticationId() - function is unable to obtain the current thread's AuthenticationId, - then fail the request. - - Change-Id: If2aeba836d762f4f1b982d954fac720863a05c1f - Reviewed-on: http://gerrit.openafs.org/10900 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 70299e6c3def0b84520232c02b9071c9cbf8a851 -Author: Jeffrey Altman -Date: Tue Apr 15 12:19:21 2014 -0400 - - Windows: Fix AFSSetBasicInfo attribute processing - - The prior behavior of AFSSetBasicInfo() was to let the caller - set whatever it wanted as the new file attributes regardless of - the attributes that are supported by AFS. In doing so, reparse - point and directory attributes could be cleared, and other values - could be set even though they would be lost as soon as the - DirectoryCB object was garbage collected. - - New behavior: - - 1. return STATUS_INVALID_PARAMETER if reparse point attribute - would be altered - - 2. return STATUS_INVALID_PARAMETER if directory attribute would - be altered. - - 3. successfully modify readonly attribute - - 4. ignore all other attribute values - - Change-Id: Ic678960101ef99cdad0c0e84b21c9d65c6831ca8 - Reviewed-on: http://gerrit.openafs.org/11073 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit a4bcc4b1dccf6ab2745be83288c380f5454a2db9 -Author: Rod Widdowson -Date: Mon Apr 14 16:50:36 2014 -0400 - - Windows: Pin write position prior to defer - - If we extend the file prior to defrring the write *and* the write - is set up FILE_WRITE_TO_END_OF_FILE then we have to convert the - FILE_WRITE_TO_END_OF_FILE to an absolute position since we have - already moved the FCB->Header.FileSize. - - Change-Id: Ibe1a5d616490a3db152818cbd6bb24d5af251c5f - Reviewed-on: http://gerrit.openafs.org/11069 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 564f9fd06777882abd29a0da6274150f5b1e7d7f -Author: Jeffrey Altman -Date: Mon Apr 14 16:48:32 2014 -0400 - - Windows: AFSCommonWrite add bWriteToEndOfFile var - - To improve readability add a bWriteToEndOfFile variable which - stores the value of - - liStartingByte.LowPart == FILE_WRITE_TO_END_OF_FILE && - liStartingByte.HighPart == -1 - - Change-Id: I6594196a6c8c3ab41561ffdbd3eddf3d34b410de - Reviewed-on: http://gerrit.openafs.org/11068 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 41b865212b7576c0840bfc0f7c34c900e46f41c8 -Author: Rod Widdowson -Date: Mon Apr 14 16:45:37 2014 -0400 - - Windows: Do not defer Synchronous operations - - There is nothing to be gained by posting a synchronous write. - Let it hang out in CcCopyWrite until there is enough memory - unless the write became synchronous after a deferral in which - case it can be deferred again. - - Introduce bWait variable which is set to the result of - IoIsSynchronousWrite( Irp). - - This change is being introduced after further analysis of the - FastFat example. - - Change-Id: I0942975a142b0413e52076ee94977401c1d00dc9 - Reviewed-on: http://gerrit.openafs.org/11067 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit fe706913190acf176292e8c68d0a0adfc015f487 -Author: Jeffrey Altman -Date: Fri Apr 11 10:22:45 2014 -0400 - - Windows: No RO volume test SetFilePosInfo - - Setting the file position information on a file is not a data - changing operation. Do not perform a readonly volume check. - - Change-Id: I5dccff569b39187c2891d4339f18db8c54c029a7 - Reviewed-on: http://gerrit.openafs.org/11066 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a10696d9408b0ac21f8a011fce0a6a72b1c0fe0e -Author: Andrew Deason -Date: Thu Jan 30 13:50:11 2014 -0600 - - Fix rx_EndCall error precedence - - Callers of rx_EndCall in various parts of the code handle errors a bit - differently from each other. The correct way to use rx_EndCall is - almost always some form of: - - code = rx_EndCall(call, code); - - This will cause the call to abort with 'code' if the call is not - already aborted, and will return the abort code for the call (or 0 if - the call ended successfully). It is thus impossible for 'code' to - start out with a non-zero value in the code snippet above, and end up - with a value of 0 after the code snippet. - - Most code follows this pattern, because this is how the - rxgen-generated client RPC wrappers are written. So for any non-split - Rx call, this is how the error precedence works. - - However, some code (mostly for Rx split calls), needs to handle - calling rx_EndCall itself, and some code appears to think it is - possible for rx_EndCall to return 0 when we already had a non-zero - error. Such code tries to ensure that we don't ignore an error we - already got by doing something like this: - - code2 = rx_EndCall(call, code); - if (code2 && !code) { - code = code2; - } - - However, this is not correct. If a call gets killed with an abort code - partway through executing an RPC, and the client tries to end the RPC - with e.g. EndRXAFS_FetchData, the client will get an error code of - -451 (RXGEN_CC_UNMARSHAL). The actual error code is in the abort code - for the call, but with the above 'code2' snippet, we can easily return - an error of -451 instead, which will usually get interpreted as some - unknown network-related error. - - This can manifest as a problem in the unix client, where if a - FetchData call fails due to, for example, an "idle dead" timeout, we - should result with an error code of RX_CALL_TIMEOUT. But because of - the above issue, we'll instead yield an error of -451, causing the - server to be marked down with the following message: - - afs: Lost contact with file server ... (code -451) ... - - So, fix most rx_EndCall callers to follow the 'code = rx_EndCall(call, - code);' pattern. Not all of the changes here are to "wrong" code, but - try to make all of the rx_EndCall call sites look more consistent. - There are a few exceptions to this pattern, which warrant some - variations: - - - A few instances in src/WINNT/afsd/cm_dcache.c do seem to want to - record the original error before we ran rx_EndCall, instead of - seeing the rx abort code. We still return the rx_EndCall-returned - value to the caller, though. - - - Any caller of RXAFS_FetchData* needs to read a 'length' raw from - the rx split stream. If this fails, we need to abort the call, but - we don't really have an error code to give to rx_EndCall. Failure - to read a length indicates that the server is not following - protocol properly, so give rx_EndCall RX_PROTOCOL_ERROR in these - instances. The call should already be aborted by this point, so - most of the time this code will be ignored; it will only make a - difference if the server tries to end the call successfully without - sending a length, which is indeed a protocol error. - - - Some Rx clients can encounter a local error they don't want to send - to the server via an abort, so they just end the call successfully, - and only use the rx abort code if they don't already have a local - error. This is in a few places like src/butc/dump.c and - src/volser/vsprocs.c. - - - Several places don't care what the error from rx_EndCall is, such - as various call sites in server-side code. - - The behavior of the Windows client w.r.t rx_EndCall was changed a bit - into its current behavior in commit - a50fa631cad6919d15721ac2c234ebbdda2b4031 (ticket 125018), which just - appears to be wrong. This was partially reverted by commit - ae7ef5f5b963a5c8ce4110a7352e0010cb6cdbc1 (ticket 125351), but some of - the other call sites were unchanged. The Unix client appears to have - been doing this incorrectly for at least FetchData calls since OpenAFS - 1.0. - - To make it hopefully more clear that rx_EndCall cannot return 0 if - given a non-zero error code, add an assert to rx_EndCall that asserts - that fact. - - FIXES 127001 - - Change-Id: I10bbfe82b55b509e1930abb6c568edb1efd9fd2f - Reviewed-on: http://gerrit.openafs.org/10788 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit d820af6cd0eb1c6655ecf8e210294791825cfbad -Merge: ad71d031e bd2cc32da -Author: Simon Wilkinson -Date: Wed Apr 9 14:10:09 2014 +0100 - - Merge branch 'security-master' into HEAD - - Merge fix for OpenAFS-SA-2014-001 into master, along with the fix - for the RX denial of service issue. - - Change-Id: I499e7202c9278d21f2d8628d497755e6c593abb2 - -commit ad71d031ec219ca418303bea3f37e40f59dde05d -Author: Michael Meffie -Date: Mon Mar 31 12:59:59 2014 -0400 - - readme: remove ancient build notes - - Remove the ancient and unmantained src/BUILDNOTES readme file. - - Change-Id: I652fded2526dbe97f6f87ef7263a2b39038486d5 - Reviewed-on: http://gerrit.openafs.org/10971 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit e385571ba37fa6d43fecca17e9e5d60a22a414cd -Author: Andrew Deason -Date: Wed Mar 27 18:12:41 2013 -0500 - - afs: Raise fake free space reporting - - We report 'fake' values for free space, free file nodes, etc for the - 'AFS' filesystem, since these values are not meaningful for AFS - itself. Currently we report about 9G of free space for most platforms, - and a few different values for a few others. Raise all of these to - 2^32-1, so that trying to copy over 9G of data into AFS does not fail - for those applications that check the destination free space with - statfs(2). Note that one such application is KDE 4.8.x. - - Consolidate all places that do this, and put the 'fake' value in one - place, AFS_VFS_FAKEFREE, along with the relevant comments. - - Related issues reported by Lars Schimmer, Richard Brittain, and - others. - - Change-Id: Ia15175da32744e11f62489c29bedfe1f5560d2b4 - Reviewed-on: http://gerrit.openafs.org/9688 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Markus Koeberl - Tested-by: Markus Koeberl - Reviewed-by: D Brashear - -commit be236140f72fc51e111898abc896f93cc505fac7 -Author: Chas Williams (CONTRACTOR) -Date: Thu Apr 3 14:12:38 2014 -0400 - - rx: Remove rx_waitingForPacket - - Commit f43c2f4412d670ce1131dc429cb43302352df3e4 introduced - rx_waitingForPacket. Given its current usage, I can't see any - functionality. - - It looks like this might have been the result of merging a renamed - rx_waitForPacket from another development branch? - - Change-Id: I47fc7a2b25cbfcd59ea4ad1606b734bb9d4ceecc - Reviewed-on: http://gerrit.openafs.org/10981 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1b2802b6fbe6f1b6d8d5af08c114bdc182f11779 -Author: Chas Williams (CONTRACTOR) -Date: Wed Mar 26 10:25:13 2014 -0400 - - pts: Don't assume that pr_IdToName() was successful - - If pr_IdToName fails for some reason, tnames won't be available. - - Change-Id: I5270ba0ecf3cfad9bfb909c97b27473d96ca1307 - Reviewed-on: http://gerrit.openafs.org/10952 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Reviewed-by: D Brashear - -commit cc4e292174f36868008d35df63df57543f033ee4 -Author: Chas Williams (CONTRACTOR) -Date: Wed Mar 26 10:15:10 2014 -0400 - - ptserver: Optionally restrict anonymous access to the ptserver - - Currently, one could simply query from 0 to 'pts listmax' to determine - all the usernames in a cell. The -restrict_anonymous option will block - access to almost all of the unauthenticated RPC's. PR_NameToID is still - open since aklog still needs access to this RPC. An "attack" against - this RPC would have to scan a much larger key space to determine valid - usernames in a cell. - - Change-Id: I7e475bc004f08d28d195c199804befa89f0ceb0c - Reviewed-on: http://gerrit.openafs.org/10951 - Tested-by: BuildBot - Reviewed-by: Gergely Risko - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit 972585c24b5c193a982570ff9264a1971760f48f -Author: Chas Williams (CONTRACTOR) -Date: Fri Mar 28 16:46:32 2014 -0400 - - afs/VNOPS: reduce stack usage - - AFSFetchStatus is rather large and is in the stack twice. Allocating with - osi_AllocSmallSpace will save about 160 bytes of stack. - - Change-Id: I13ac31814d9d5975f245ba8c66a7befac471503e - Reviewed-on: http://gerrit.openafs.org/10964 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit bd2cc32da969abe57334d20563d5cddf065a905e -Author: Michael Meffie -Date: Sat Feb 15 12:03:43 2014 -0500 - - viced: fix get-statistics64 buffer overflow - - Range check the statsVersion argument of the GetStatisitics64 RPC to - avoid a buffer overflow in the fileserver, or a huge memory allocation, - by a rogue client. - - FIXES 131803 - - Change-Id: Ib084ca28cbe350d846fa5978d489e523aaae299b - -commit 0ec67b0a9a175af14e360da75d1f5429c6c97b24 -Author: Andrew Deason -Date: Fri Feb 21 15:30:49 2014 -0600 - - rx: Avoid rxi_Delay on RXS_CheckResponse failure - - Currently we rxi_Delay whenever RXS_CheckResponse fails for any - reason. This can result in disastrous performance degradations if a - client keeps sending "bad" responses, since rxi_Delay'ing here will - delay the Rx listener thread. This means we cannot receive any packets - for about a second, which can easily cause us to drop a lot of - incoming packets. - - Instead, send the abort after 1 second by scheduling an event. This - will retain existing behavior from the point of view of the client - (it will get the abort after 1 second), but avoids hanging the Rx - listener thread. - - FIXES 131802 - - Change-Id: Id8f9fc46902ae3cf019dd0ece0a96133b9b9d07c - -commit 61d80537cae95d125c4b9fed31e2454a281b8b02 -Author: Andrew Deason -Date: Fri Feb 21 15:26:35 2014 -0600 - - rx: Split out rxi_SendConnectionAbortLater - - Take the functionality in rxi_SendConnectionAbort that schedules a - delayed abort, and split it out into a new function, - rxi_SendConnectionAbortLater. This allows callers an easy interface to - send such a delayed abort with their own delay. - - This commit should incur no change in behavior; it is just code - reorganization. - - Change-Id: I6503cf6ebb3e664d95b8792f2311ea14ee63c11d - -commit db00a2c8b5186c003fc049b8ae6eda97f58ffcea -Author: Benjamin Kaduk -Date: Fri Mar 28 09:19:30 2014 -0400 - - Disable kauth by default - - We should actively be discouraging the use of the kaserver and related - utilities. - - The src/kauth/ directory will still be compiled, just not installed. - (If we stopped compiling it, it would likely bitrot very quickly so - as to become unbuildable, and having it still build seems a reasonable - goal given our obligations with respect to compatibility with IBM - AFS for the use of the AFS name.) - - Change-Id: Ib710af3e177223d85cd9c6099ce75e700b6a2958 - Reviewed-on: http://gerrit.openafs.org/10962 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Jeffrey Altman - -commit e6110959e802bd9ae60e3724ba41078e7b335bab -Author: Michael Meffie -Date: Fri Mar 28 17:08:46 2014 +0100 - - volser: fix spurious strcat of volume extension. - - Fix malformed merge error left over from - commit 4f9ec8396d1c7f12f8fa264cea7c255ce62b7b8d - where we converted strcat to strlcat. - - Change-Id: Ibae3e09c8a659f4b084256b18ee5774f11fe9f8f - Reviewed-on: http://gerrit.openafs.org/10963 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 70f825bcd2de3eab9d0c62079318a215f8728cd6 -Author: Michael Meffie -Date: Thu Mar 27 09:24:16 2014 +0100 - - viced: disable hot threads - - Turn off the rx hot threads feature in the file server. This feature - was an old optimization intended to reduce context switching, however - generally makes performance worse on modern hardware. - - Performance improvements from disabling hot threads was identified by - Simon Wilkinson (YFS) at the European AFS and Kerberos Conference (EAKC) - 2014 at CERN. - - Change-Id: Id3053a61ebdb2d49d2bf36ebe07a35cc07b5d65c - Reviewed-on: http://gerrit.openafs.org/10957 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: D Brashear - -commit da549eea21941681c075796512a27a830259c835 -Author: Stephan Wiesand -Date: Wed Mar 12 10:47:17 2014 +0100 - - doc: bos setrestricted -mode 0 does make sense - - Commit 070230ab76e1df338db3f2a7971111ca976a0c1a added documentation of - the mode parameter to bos setrestricted, claiming that the value 0 is - useless, and commit eee0bf5871944d919951cc8b7b4908ee909c3b62 added - documentation of the restrictmode entry in BosConfig, claiming that it - can only be set back to 0 with an editor. Both claims are wrong, since - bos setrestricted -mode 0 will do exactly that (if it succeeds, which - it only can if the server is running in unrestricted mode, which can - be achieved by sending it the FPE signal). Fix the man pages - accordingly. - - Change-Id: I07b75f7d0cea2e247fa4f346121de258e35119f5 - Reviewed-on: http://gerrit.openafs.org/10885 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Marc Dionne - Reviewed-by: Andrew Deason - Reviewed-by: Michael Meffie - Reviewed-by: D Brashear - -commit 0e9bb718ce231ffd73fe11810d8dc1d3902e4b2d -Author: Andrew Deason -Date: Wed Feb 26 11:42:16 2014 -0600 - - viced: Restore some previous log message language - - Before commit 6c41b1f740e16b5b9adfe9026630595be6f0699e, we logged - these three messages in the fileserver in different situations: - - CallPreamble: Couldn't get client. - CallPreamble: Couldn't get CPS. Fail - CallPreamble: couldn't reconnect to ptserver - - After commits 6c41b1f740e16b5b9adfe9026630595be6f0699e and - 0a5e878aa0a71c4dfaef1806744ed78bcc13b9f4, these messages were changed - to contain more useful information, but the language was also changed. - The messages now look like: - - Client host too busy while handling request from host %s:%d viceid %d fid %lu.%lu.%lu, failing request - Cannot get CPS for client while handling request [...], failing request - Cannot reconnect to ptserver while handling request [...], failing request - - While the new messages are more informative, and (in my opinion) - better describe what is happening in those situations, they do look - very different from the old messages. This can break scripts that try - to parse these logs, but in general it is also not clear to - administrators that these messages still refer to the same events. - - So instead, put these messages back the way they were. Still include - the extra information, of course, but revert the language to look more - like the old messages. Now we log: - - CallPreamble: Couldn't get client while handling request from host %s:%d viceid %d fid %lu.%lu.%lu, failing request - CallPreamble: Couldn't get CPS while handling request [...], failing request - CallPreamble: couldn't reconnect to ptserver while handling request [...], failing request - - Thanks to Ben Kaduk for bringing this up. - - Change-Id: Ie2389fb598640d79f0f0725c3161c7af7924ffb4 - Reviewed-on: http://gerrit.openafs.org/10857 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Andrew Deason - Tested-by: D Brashear - Reviewed-by: D Brashear - -commit a30b98c97d6fbf87018bcb6943e09c1c75a3918d -Author: Michael Meffie -Date: Thu Mar 13 12:40:17 2014 -0400 - - doc: volscan man page - - Provide a man page for the volscan utility - - Change-Id: Ibaecb2b9030ee71d81f13b897694c4cf3b4b9516 - Reviewed-on: http://gerrit.openafs.org/10905 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit af2e3d81cff39ed06e3bfbfcbfff52163c503c54 -Author: Michael Meffie -Date: Wed Mar 12 15:15:32 2014 -0400 - - volinfo: separate volscan binary - - Refactor vol-info.c into several files and change the makefile to - build a separate volscan binary, instead of using the program name - to determine if the user is running volinfo or volscan. - - This commit adds new source files for the volinfo and volscan main() - function and a common header file. - - Change-Id: I53a2a503812237a850170c39c81ee3fb56c8282e - Reviewed-on: http://gerrit.openafs.org/10903 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 77e4d2146e166c5c70d4255408bde5e6499a06bf -Author: Michael Meffie -Date: Wed Mar 12 09:37:59 2014 -0400 - - volinfo: refactor global options - - Move the global options to a structure and pass it to the vol-info - functions. This is a precursor for creating separate volinfo and - volscan programs. - - Change-Id: I86ea9e875f73831e6c7ea4b50591e31df3e0c39f - Reviewed-on: http://gerrit.openafs.org/10902 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 8119636976de651ff0b8ccdca6a1a703643f7447 -Author: Michael Meffie -Date: Sat Mar 15 11:04:31 2014 -0400 - - volscan: hide -mask option - - The -mask option is unneccessary and sets a bad precedent, so - deprecate and hide this option. The vnodes of interest can be found - can be found easily and much more flexibly with a simple command - pipeline. - - Change-Id: Ibe75928c6b041d135c0cb5867228947cd7f4e889 - Reviewed-on: http://gerrit.openafs.org/10901 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit db2ed13359ce8e3cd6a4981f8ce8e10ba61f6463 -Author: Michael Meffie -Date: Wed Sep 4 15:10:16 2013 -0400 - - volscan: avoid printing null mount-point cellname - - The 'mcell' field is null when there is no cell set in the mount point, - so do not try to print it. - - Change-Id: I363310665313f7bbcca783a4d9be87aaa7b0a8fe - Reviewed-on: http://gerrit.openafs.org/10226 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit dfd416440670d6a14496d44996097d4f501947ca -Author: Benjamin Kaduk -Date: Thu Feb 6 17:34:21 2014 -0500 - - aklog: those pesky assignments in conditionals - - This one should actually be an assignment, and the compiler warning - for having two sets of parentheses is helpful. - - Found by clang on FreeBSD 10.0. - - Change-Id: Ic906cbdc50a20bcd0b91555581b60c518da2bc81 - Reviewed-on: http://gerrit.openafs.org/10823 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - Reviewed-by: D Brashear - -commit b9fb9c62a6779aa997259ddf2a83a90b08e04d5f -Author: Benjamin Kaduk -Date: Thu Feb 6 16:11:49 2014 -0500 - - pioctl.c: removed unused variable - - The 'rval' variable is only actually used in the LINUX20 case; - adding another conditional block is making the LINUX20 case - different enough that it should get split out entirely. - Doing so lets the 'else' clause be simpler. - - Found by clang on FreeBSD 10.0. - - Change-Id: I60c56af355fdb68752d9596ff2cd7a4259b43fe9 - Reviewed-on: http://gerrit.openafs.org/10819 - Tested-by: Benjamin Kaduk - Reviewed-by: Perry Ruiter - Reviewed-by: D Brashear - -commit 8beba712d95b637225f215534a759961ff4d80a9 -Author: Michael Meffie -Date: Fri Feb 7 06:55:31 2014 -0800 - - fs: display cell not available on ESRCH - - The cache manager pioctls abuse ESRCH to represent errors due to - unavailable cell information. Give a more sensible error message to - the user when a pioctl returns an ESRCH error, instead of "no such - process", which is the conventional meaning of ESRCH. - - The new error message is consistent with the Windows implementation - of fs. - - For example, on a host with a misconfigured ThisCell and/or CellServDB. - - $ fs wscell - fs: No such process - - becomes: - - $ fs wscell - fs: Cell name not recognized. - - Change-Id: Ibdcb0957118205b9540cae07b3cafa65c51ff497 - Reviewed-on: http://gerrit.openafs.org/10824 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 3db647e327bbb4621f4d66f85678424471453703 -Author: Michael Meffie -Date: Thu Mar 6 10:50:56 2014 -0500 - - libafs: allow bkg daemon requests without creds - - Make the creds argument optional for background daemon - requests which do not need to pass a cred. - - Change-Id: Ic4ac69d746e8a84993069e37bdd0440622febd70 - Reviewed-on: http://gerrit.openafs.org/10880 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit d07fb827a6d142142216b3effd32814cd721cc06 -Author: Michael Meffie -Date: Sat Mar 8 14:30:27 2014 -0500 - - libafs: afs_SetupVolSlot function - - Move the code block to get and setup volume slots out of - afs_SetupVolume to a new local function called afs_SetupVolSlot. - This new function acquires the afs_xvolume lock and releases it - before returning. - - Change-Id: I1bd33f13e0525f9ff050d7e161cf29a511e5c4b8 - Reviewed-on: http://gerrit.openafs.org/10879 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit bbda24f9d324493e3f59c216a465fb2383d8f557 -Author: Michael Meffie -Date: Sat Mar 8 12:35:23 2014 -0500 - - libafs: put volume disk cache i/o in afs_UFSGetVolSlot - - Move the reading of the volume items file to the afs_UFSGetVolSlot() - to make it more clear the volume items file is not accessed when - memcache is in effect. - - This changes the afs_GetVolSlot to return an intialized volume slot, - if one can be gotten. - - Change-Id: I0c76ca8c8e1cc19677ce950bfb454755bbbee86a - Reviewed-on: http://gerrit.openafs.org/10878 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 75e3a5897405eeeba047cca1103ac32ccfaa03dc -Author: Michael Meffie -Date: Sat Mar 8 11:41:26 2014 -0500 - - libafs: afs_InitVolSlot function - - Add a new local function to initialize newly gotten volume slots and - move that code out of afs_SetupVolume(). Initialize the slot before - putting the volume in the volume hash table list. - - Make it more clear to avoid using record 0. The volume items record 0 is - not used, so avoid setting the tf pointer to the static fvolume buffer - when reading record 0. - - Change-Id: Iffba52fbf8d72459c9a36015964e61d485f22ad4 - Reviewed-on: http://gerrit.openafs.org/10877 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit be36376b244d1d94b24cb8fce44810fb31b7b5ce -Author: Michael Meffie -Date: Sat Mar 1 14:52:48 2014 -0500 - - compile_et macros to generate source and headers separately - - Common makefile macros to generate headers and source files - separately using the new compile_et -emit option. - - Change-Id: I5848922fbe1d94f9d3cec829a3ed657e7f63d191 - Reviewed-on: http://gerrit.openafs.org/10869 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 389473032cf0b200c2c39fd5ace108bdc05c9d97 -Author: Marc Dionne -Date: Wed Mar 19 11:15:13 2014 -0400 - - Linux: Do drop dentry if lookup returns ENOENT - - Commit 997f7fce437787a45ae0584beaae43affbd37cce switched to using - d_invalidate instead of d_drop to prevent unhashing dentries - which are only temporarily invalid and may still be referenced - by someone having a current working directory pointing to it. - This could result in getting ENOENT from getcwd() after some - transient problems, even when the directory is there and - accessible. - - The change had the side effect of potentially leaving something - visible when it has actually been removed, for instance a mountpoint - removed by "fs rm". - - If afs_lookup returns ENOENT, we want to forcibly drop (unhash) - the dentry, even if it has current users. - - Change-Id: I0e7b6e09b2c4ae551fa6c84235ed31f7df476b45 - Reviewed-on: http://gerrit.openafs.org/10928 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 5cc3aec78a4329885b450c15ce228fa6fb413fdf -Author: Benjamin Kaduk -Date: Sat Mar 22 15:28:46 2014 -0400 - - bcrypt keys are in the rxkad list, not the rxgk list - - Fix the presumed typo in the loop intended to skip them. - - Change-Id: I863fb12792b82d528938ad0598aa626880f11a41 - Reviewed-on: http://gerrit.openafs.org/10947 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 900427ecac4bde5ef78ae9fc86f9237552cc1dd4 -Author: Chas Williams (CONTRACTOR) -Date: Fri Mar 21 16:33:36 2014 -0400 - - vlserver: Add auditing to some more RPC's - - A future commit will conditionally restrict access to these RPC's. - Auditing will allow debugging and monitoring of this feature. - - Change-Id: Id8a8a1831c82ef967eb6cced1609915d1d6b774f - Reviewed-on: http://gerrit.openafs.org/10939 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit cc39ac77c6e8d120a41ffe67a60896463323ab31 -Author: Chas Williams (CONTRACTOR) -Date: Fri Mar 21 14:35:46 2014 -0400 - - volser: remove commented code - - Apparently this predates AFS 3.0 so it should be safe to remove. - - Change-Id: Ifec145c71da4668066bf428fb594943dfce20e88 - Reviewed-on: http://gerrit.openafs.org/10935 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dc2a4fe4e949c250ca25708aa5a6dd575878fd7e -Author: Jeffrey Altman -Date: Sat Dec 14 19:38:50 2013 -0500 - - vos: GetServer search for non-loopback address - - GetServer() is used to obtain an IP address for the 'aname' parameter. - 'aname' can be either a dotted address or a host name. If it is a dotted - address, it is returned immediately. If it is a host name, then - gethostbyname() is used to obtain an IP address. - - The prior version of this function had two failings: - - 1. It assumed that a struct hostent only contained a single address. - It used the former h_addr field. For all platforms supported by - OpenAFS h_addr is a macro referencing the first address in the - h_addr_list array. If h_addr was a loopback address, it would - ignore any additional addresses that might be in the list. - - 2. It assumed that if gethostbyname(aname) returned a loopback - address as h_addr that 'aname' must be referring to the machine - that the vos command is being executed on. It therefore used - gethostname() to obtain an alternate name to use for a gethostbyname() - query. The results of this query were not checked to be a loopback. - As a result, a loopback address could be returned to the caller which - in turn could be set into the VLDB. - - Change-Id: Ib8d513be9daf650045e9c40718b0187f6b9770a2 - Reviewed-on: http://gerrit.openafs.org/10585 - Reviewed-by: D Brashear - Reviewed-by: Benjamin Kaduk - Reviewed-by: Harald Barth - Tested-by: BuildBot - -commit b8589f1b59e520aae8d412170b663ff3bc214667 -Author: Michael Meffie -Date: Sat Jan 18 23:03:44 2014 -0500 - - libadmin: add missing bubasics dependency - - bubasics is a dependency of libadmin. Add it to the top level - makefile. - - This missing dependency was found by analyzing the libadmin header - file includes. - - Change-Id: I300669387cea95a0fe800cffb4024356641591e6 - Reviewed-on: http://gerrit.openafs.org/10727 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 64dd6dd018eb7413636ed6416bd244bb81893d9e -Author: Michael Meffie -Date: Tue Mar 11 12:40:33 2014 -0400 - - libafs: reset global icl set pointers on shutdown - - Avoid panicking when an icl tracing function is called after - shutdown_icl. - - There is a window during shutdown in which pioctls can be requested - after the shutdown_icl is issued. Reset the global icl set pointers - so tracing is disabled after the shutdown_icl, instead of using - pointers to freed memory. - - Removed the unneeded afs_icl_FindSet calls and use the global - pointers which were set during the initialization. - - Change-Id: I3310868a28850236a2870b8dab858ecb7a815c11 - Reviewed-on: http://gerrit.openafs.org/10884 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Benjamin Kaduk - Reviewed-by: D Brashear - -commit cb4ec4e4952b40999013d4f67c0add6bf51ff286 -Author: Benjamin Kaduk -Date: Wed Mar 19 12:16:48 2014 -0400 - - Make struct CallBack indentation uniform again - - Align the per-field comments. - - Change-Id: Ic9da32851c518b29e110fb80428a1f261bbd9cbf - Reviewed-on: http://gerrit.openafs.org/10929 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Jeffrey Altman - -commit 705f3ee384814bc082817267a2658bd5c918550c -Author: Hartmut Reuter -Date: Mon Mar 10 17:21:21 2014 +0100 - - volser: use also vn_length_hi in dump size calculation - - Only the low order 32 bits of the file length were used. - Now using macro VNDISK_GET_LEN instead of direct FillInt64. - - FIXES 131819 - - Change-Id: Iaecd68764f4b071d6b8c838362e7e657578d9b2f - Reviewed-on: http://gerrit.openafs.org/10876 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3a0c348d6ebc375f11d2bab70de9a00f5905fe94 -Author: Michael Meffie -Date: Sat Mar 15 11:31:27 2014 -0400 - - doc: fix typo in volinfo man page - - Change-Id: I46e13bb879206fb561fe0f0d99a6ed412ab64629 - Reviewed-on: http://gerrit.openafs.org/10904 - Reviewed-by: Ken Dreyer - Tested-by: Ken Dreyer - -commit cb18fbde6536942e4bc87bd5943a13cc14fbe332 -Author: Benjamin Kaduk -Date: Fri Mar 14 11:13:15 2014 -0400 - - libafs: DARWIN: update for Xcode 5.1 - - (1) remove -mlong-branch from amd64 build - - Random internet postings suggest that it has triggered a warning - since at least Xcode 3.2, and the gcc manual page suggests that - it is only applicable on ppc, anyway. - - (2) remove -mpreferred-stack-boundary=4 from the amd64 build - - The evidence here shows up less readily in an internet search, - but it seems that Apple's compilers will force the stack alignment - to 16 bytes regardless of what is passed here. One poster had - trouble with -mpreferred-stack-boundary being unused in Xcode 4.4.1 - - This change only fixes warnings reported as errors by buildbot; it - does not attempt to fully synchronize with the flags that Xcode 5.1 - uses for kernel module builds. - - Change-Id: Iac1fcf3cdb5ab847a04278d1c05761bd371828e2 - Reviewed-on: http://gerrit.openafs.org/10896 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 52a9d1929518feab17b81b0a9db7ba45f69d5071 -Author: Benjamin Kaduk -Date: Thu Mar 13 16:37:10 2014 -0400 - - Do not use garbage-collection for DARWIN ObjC apps - - Xcode 5.1 does not support this feature. - - Change-Id: I30457ae73f867637ab154b94d4a6c57089d9b48d - Reviewed-on: http://gerrit.openafs.org/10890 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit 8832cd4e61f04fa5c650060e968bd7834afebd92 -Author: Benjamin Kaduk -Date: Thu Mar 13 15:33:44 2014 -0400 - - Use correct include guard for vol_prototypes.h - - Correct the case of the 'h'. - - Change-Id: Ib78cbff02ac881aa54c46832db94094f7a74ff5f - Reviewed-on: http://gerrit.openafs.org/10889 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3f189f8fe8cbb52aac4b7b5fe767d0de481cb569 -Author: Benjamin Kaduk -Date: Thu Mar 13 15:30:42 2014 -0400 - - Remove static const char copyright[] - - We do not have copyright strings in our other executables for the other - copyright statements applicable to them, so these are rather exceptional. - They also cause build failures with OS X Xcode 5.1 and --enable-checking . - - Change-Id: I0ead56387f77459a49093ff66fdea9c033f02f5a - Reviewed-on: http://gerrit.openafs.org/10888 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0aad06df1d25208659005192e8bbd872d5fb613b -Author: Benjamin Kaduk -Date: Thu Mar 13 15:27:16 2014 -0400 - - opr: removed the unused static_inline initnode - - This was included in the initial rbtree import, but is not used. - - clang from OS X's Xcode 5.1 now warns about this unused function, - which is an error with --enable-checking . - - Change-Id: I896504e83be317394418a7cc1b3f518e675fbb5b - Reviewed-on: http://gerrit.openafs.org/10887 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 62f922445d3501fff4320cc7c8d93b6cd1a6361e -Author: Jeffrey Altman -Date: Sun Mar 16 15:41:45 2014 -0400 - - Windows: Platform specific MIDL output - - Add $(CPU) to the MIDL generated _c.c and _s.c output files - to prevent conflicts. - - Change-Id: Ie10c85fa0b9cab19b107b44c2cf452925b8ee521 - Reviewed-on: http://gerrit.openafs.org/10907 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit faa5195fcfe1e202665462d273c00b900bf5ac17 -Author: Jeffrey Altman -Date: Sat Mar 15 12:44:09 2014 -0400 - - Windows: XP do not mark rdr devices as secure - - Commit 9174531dca75f1f2d235ed806f784422792c3ab2 introduced the use - of device characteristics (secure and remote) to the IoCreateDevice() - and IoCreateDeviceSecure() calls for the AFSRedirector device objects. - - After this change end users began to report problems on 32-bit Windows - XP SP3 when the initial access to the AFS redirector was performed by - a Limited Access Account. - - This patchset conditionalizes the specification of the secure device - characteristic when registering the redirector with MUP on 32-bit - Windows XP. - - Change-Id: I0fb9671b8a05a841f2356d100e7031c961a7c482 - Reviewed-on: http://gerrit.openafs.org/10906 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 85b747fc549a46b2170c99ab4fb86326894210ef -Author: Jeffrey Altman -Date: Wed Mar 12 12:41:45 2014 -0400 - - Windows: NP AFSGetConnectionInfo AuthId == 0 - - During the processing of a network provider GetConnectionInfo request - if the provided Authentication Logon Session Id is zero, the redirector - should attempt to obtain the Logon Session Id in kernel. This was - not performed within AFSGetConnectionInfo(). - - Change-Id: Ia060abfdebc17e52eefac24ac9dc19a7d6434314 - Reviewed-on: http://gerrit.openafs.org/10899 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8a6732f9f6d876fc20f5612a4b325533d157d091 -Author: Jeffrey Altman -Date: Wed Mar 12 12:39:59 2014 -0400 - - Windows: NP AFSGetConnection retrieve AuthId sooner - - When processing a network provider GetConnection requestion obtain - the Authentication Logon Session Id earlier in the function so that - it can be logged as part of subsequent trace messages. - - Change-Id: Ifef7d2da44e0266683b93bc76f25ee825294062c - Reviewed-on: http://gerrit.openafs.org/10898 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 939784c017f065a2f4fce19b48cdde56ac4be83c -Author: Jeffrey Altman -Date: Mon Feb 10 05:13:37 2014 -0500 - - Windows: AFSShareWrite do not assign pFcb too soon - - In AFSShareWrite the value of pFcb is used to determine whether - or not the pfcb->NPFcb->Resource must be released upon exit. - Therefore, it must not be assigned a value until just before the - resource is acquired. - - Change-Id: I6951d91fcf672c8d236d19e075fff0be3552c9b8 - Reviewed-on: http://gerrit.openafs.org/10828 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 01a7c64e472c241798306e7f8137de28efdef37e -Author: Stephan Wiesand -Date: Fri Feb 28 18:47:12 2014 +0100 - - bozo: remove obsolete bnode_Deactivate() prototype - - Commit 54eb2485b59550ba42569ed3a8d76211a3a35019 removed the - implementation of bnode_Deactivate(), which had been #ifdef'd out - for a long time, but left the prototype in place. Remove the - obsolete declaration in bosprototypes.h as well. - - Change-Id: I323a3f945fcab97d7c4db191192d3ef11482d64e - Reviewed-on: http://gerrit.openafs.org/10868 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit eee0bf5871944d919951cc8b7b4908ee909c3b62 -Author: Stephan Wiesand -Date: Fri Mar 7 11:03:36 2014 +0100 - - doc: improve man pages related to bos restricted mode - - Mention the restrictmode entry and the commands for setting and - querying it in the BosConfig man page, and add/fix cross references - between the BosConfig, bos, bos_getrestricted and bos_setrestricted - ones. - - Change-Id: I938ef4c43c1a248335f09975c454b36f7570782c - Reviewed-on: http://gerrit.openafs.org/10874 - Reviewed-by: Ken Dreyer - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 89fdd9084fa31827dea487ddb68355d621170f58 -Author: Perry Ruiter -Date: Wed Mar 5 21:53:16 2014 -0800 - - cellconfig: move memcpy outside loop - - memcpy only needs to be done once prior to each entry into loop, - so move it outside the loop. - - Change-Id: I68c09b240756f830b1a4dc9b8a338916f91cd7b2 - Reviewed-on: http://gerrit.openafs.org/10872 - Reviewed-by: Stephan Wiesand - Reviewed-by: Benjamin Kaduk - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - Reviewed-by: Jeffrey Altman - -commit 189a17146e789f2cf716ed3a477ed6f54776df12 -Author: Michael Meffie -Date: Thu Mar 6 11:42:52 2014 -0500 - - doc: fix typo on ka-forwarder man page - - Change-Id: I9cedc1ee2c3fac249ad5b2c66c5e0eef6d5d570c - Reviewed-on: http://gerrit.openafs.org/10873 - Reviewed-by: Stephan Wiesand - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8803c35994eb48605e26831296bd1c57f0adf50a -Author: Jeffrey Altman -Date: Mon Feb 17 01:12:37 2014 -0500 - - Windows: cm_ForceNewConnections serverp == NULL - - If serverp == NULL, return immediately. Do not dereference a NULL - pointer. - - Change-Id: I47781a03f22a83289a23b30ff375249fec18ff51 - Reviewed-on: http://gerrit.openafs.org/10845 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit 4e3ceaccd9dc2b6e6a20e938d82af1ebaa2c43c8 -Author: Stephan Wiesand -Date: Thu Nov 21 10:44:05 2013 +0100 - - redhat: don't package kpasswd - - While kpasswd was in the separate openafs-kpasswd package to avoid - clashing with the krb5 executable, openafs-debuginfo still conflicted - with krb5-debuginfo. - - Don't package kpasswd at all. Package the renamed executable, kapasswd, - in openafs-kpasswd instead of openafs, together with the renamed man - page. Once we're here, provide the man page for the other executable in - there too. - - FIXES 131771 - - Change-Id: I0d7af82072847a19f0e1ce34dbeeb34623d2ef38 - Reviewed-on: http://gerrit.openafs.org/10481 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - Reviewed-by: D Brashear - -commit 7a7ee20bb609ec0b23d36d2376ffc6eda58fa47b -Author: Garrett Wollman -Date: Thu Feb 13 23:03:59 2014 -0500 - - doc: Document dependencies required for building everything - - Add a new section to README.DEVEL that describes the packages required - to build everything (including all optional code like the FUSE-based - user-mode client). Start with what I figured out for FreeBSD (tested - on a clean 10.0 install) and what Russ Allbery described on the - openafs-devel list in - . - - Change-Id: Ib90cd653a822f8699df613aabdd3442edc10c98a - Reviewed-on: http://gerrit.openafs.org/10844 - Reviewed-by: Ken Dreyer - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b7326e487f6387033282cc5d1128b00a0456673a -Author: Benjamin Kaduk -Date: Wed Feb 5 18:32:16 2014 -0500 - - afs_fetchstore: re-avoid uninitialized variable - - As noted in the gerrit comments for change 10742, commit - baf6af8a8f2207ce39b746d59ca4bc661c002883 does not handle the case - where the second rx_Read() call fails, and the 'length' variable - can still be used uninitialized. - - Instead of using an err label and jumping to it on the case of - errors, initialize length to zero and take care to neither - set nor access *alength if an error has occurred. This is - more consistent with the style of the surrounding code while still - avoiding the use of an uninitialized variable. - - Change-Id: I6abfa4a5f051368ca12ada1494fc7687f378d319 - Reviewed-on: http://gerrit.openafs.org/10806 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 63291be2216762dd89072f41c9a016608b736ceb -Author: Benjamin Kaduk -Date: Thu Feb 6 17:27:28 2014 -0500 - - fstrace: only declare 'rval' when it is used - - ... to avoid compiler warnings about unused variables. - - Found by clang on FreeBSD 10.0. - - Change-Id: I30c9fbc0e2fb0f9af273f0f17861009b6d0577df - Reviewed-on: http://gerrit.openafs.org/10822 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit 53d7145416c0a6bafa7ecccd113178fc4af04f8f -Author: Benjamin Kaduk -Date: Thu Feb 6 17:01:19 2014 -0500 - - FBSD: Switch the dummy 'data' for mount(2) - - The mount(2) API takes a void*, but 'rn' is const char*, which - is const-incorrect. Our vfs_cmount implementation ignores the 'data' - parameter, but upstream's kernel mount(2) implementation did - have a NULL check until r158611 (in the 6.1 or 7.0 timeframe), - so leave that comment for now. - - Arguably we should be using nmount(2) instead of mount(2) anyway, - but leave that for a separate patch. - - Change-Id: I22fd85c2f1a32aa849e182d263de119a953690d2 - Reviewed-on: http://gerrit.openafs.org/10821 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 758ec15f9391c296f1caa042385148f1a5e0bc84 -Author: Benjamin Kaduk -Date: Thu Feb 6 16:22:49 2014 -0500 - - pointers are not castable to unsigned int - - When printing a pointer's value for debugging purposes, use the - dedicated printf format specifier for pointers instead of assuming - that unsigned int ('x') is good enough. - - Found by clang on FreeBSD 10.0. - - Change-Id: I18c42df0bf03c2d0e9e7c757445b8ff0f616c671 - Reviewed-on: http://gerrit.openafs.org/10820 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit a52346ae503dc6aedb5115ef6b089ae26f46a58c -Author: Benjamin Kaduk -Date: Thu Feb 6 15:52:49 2014 -0500 - - Satisfy clang's aggressive strlcpy warnings - - Passing something related to the length of the source as the - length argument to strlcpy triggers a warning, which is converted - to an error with --enable-checking (on FreeBSD 10.0). The current - code is safe, since it is using the same expression that was used - to allocate the destination buffer, but switch to using a separate - variable to hold the length and use that variable for both allocation - and copying, to appease the compiler. - - Change-Id: I580083d142fd19a4e7828c915b4846868fa8f917 - Reviewed-on: http://gerrit.openafs.org/10818 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit add4b8100e9b9624b6e03fa7d471367720ab062e -Author: Benjamin Kaduk -Date: Thu Feb 6 15:52:42 2014 -0500 - - Remove unneeded inclusion of - - This file is deprecated on FreeBSD, and is not used anywhere. - - Change-Id: If10816f26da91855d10826d53501e5b9974cd292 - Reviewed-on: http://gerrit.openafs.org/10817 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3e4af71581fa8d174a0127bb225e7fba2450aaae -Author: Jeffrey Altman -Date: Wed Jan 22 22:17:56 2014 -0500 - - Windows: cm_GetCell_gen Fixup cm_server cellp on race - - If a race occurs during the instantiation of a new cm_cell_t object, - the created servers will point at the wrong cm_cell_t object after - the race is detected. Before cm_GetCell_gen completes the cm_server_t - objects must be fixed to point to the correct cm_cell_t. - - Change-Id: I8341c2cfd2a8ac7be31699d11f78b4b9ced257af - Reviewed-on: http://gerrit.openafs.org/10777 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7760acc4570a306390f0b7e5acf4b21e8a8cc90d -Author: Jeffrey Altman -Date: Fri Jan 31 00:56:49 2014 -0500 - - Windows: Support arbitrary callback ports - - Reconfigure the advanced firewall to support callback ports - other than port 7001. - - This changes the semantics of the afsicf api. AFS_PORTSET_SERVER is now - zero. Any other value is treated as a callback port. - - Change-Id: I4df421cc0ceb4dca94a6b5e81990115a4ce0334e - Reviewed-on: http://gerrit.openafs.org/10776 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dd9e59805b37a93f0f64c67cfa3ba4d80f1f358c -Author: Jeffrey Altman -Date: Fri Jan 31 00:49:44 2014 -0500 - - Windows: cm_AddCellProc always call cm_NewServer - - The current implementation of cm_NewServer handles races and - collisions. There is no need to perform a cm_FindServer() check - first. Just call cm_NewServer() for all server entries. - - Move the logging of server creation and cell assignment to - cm_NewServer(). - - Change-Id: If0cdb2eda9bcb6234eeaef7c2a35edf751a9c0ca - Reviewed-on: http://gerrit.openafs.org/10775 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1d1e96219205d83c73d92a68b8390346ef011ef0 -Author: Chas Williams (CONTRACTOR) -Date: Thu Feb 6 12:47:16 2014 -0500 - - bos: Remove last of MRAFS references - - A few MRAFS tidbits were left behind during the cleanup in commit - a9301cd2dc1a875337f04751e38bba6f1da7ed32. - - Change-Id: I7dcd30797ff87c61d57781c66cb9f7369638fa36 - Reviewed-on: http://gerrit.openafs.org/10808 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b490cfd240021d072a3fe8e2ec2a21f218baf5ae -Author: Arne Wiebalck -Date: Fri Feb 7 12:37:57 2014 +0100 - - libacl: use initialized memory - - Replace malloc with calloc to use zeroed memory when converting access - lists. - - Change-Id: I17558d1737fee020772919e423c9fba37180beca - Reviewed-on: http://gerrit.openafs.org/10815 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit 9f90b12e14e5511cb1c11cbc4d85cfa291be861f -Author: Andrew Deason -Date: Fri Jan 31 16:46:12 2014 -0600 - - afs: Throttle byte-range locks warnings per-file - - Currently, the warning messages about byte-range locks are throttled - only according to what the last PID of the locking process was. So, if - that same process performs a bunch of byte-range locks a bunch of - times, we log this warning message at most once every 2 minutes. - - However, if we have even just one other process also performing - byte-range locks, the throttling can become pretty useless as - lastWarnPid ping-pongs back and forth between the two different PIDs. - This can happen if multiple unrelated byte-range-lock-using pieces of - software just happen to be running on the same machine, or if a piece - of software uses byte-range locks after forking into separate - processes. - - To avoid flooding the log in situations like this, keep track of the - last warn time in the relevant vcache, so we don't get frequent - warnings for byte-range lock requests on the same file. - - Change-Id: I446cf6a438a75aa741c5543b93f74f4184ee6508 - Reviewed-on: http://gerrit.openafs.org/10796 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 1096582bde6156bb469f2e397cbc40d13a8f2822 -Author: Andrew Deason -Date: Fri Aug 30 14:21:16 2013 -0500 - - namei: Ignore misplaced files - - The namei salvaging/ListViceInodes code currently ignores files where - we cannot derive an inode number from a given filename. However, if a - file is a valid inode filename, but is in the wrong directory, we - still record it. This can cause the salvager to abort, since it - assumes inode e.g. 12345 is present, but when it tries to open 12345, - namei translates the inode to a nonexistant path, and we bail out. - - It is unknown how a namei directory structure can reach this state, - but try to handle it. To be on the safe side, just ignore the files, - and log a message about them. That way, if the files are required for - reconstructing the volume or contain important data, they are still - available if needed. And if they contain incorrect or old data, we - don't screw up the volume by trying to use them. - - Thanks to Sabah S. Salih for reporting a related issue. - - Change-Id: I529e0c51f48b5b7a62d6aab0470fad71788a5b69 - Reviewed-on: http://gerrit.openafs.org/10214 - Reviewed-by: D Brashear - Tested-by: BuildBot - -commit 602e8eb2000be02ef2a6627633b7ba80ea847762 -Author: Andrew Deason -Date: Thu Oct 3 12:51:41 2013 -0500 - - salvager: Handle multiple/inconsistent linktables - - The ListAFSSubDirs code in namei_ops.c currently detects - incorrectly-named linktable files, and whines about them and says the - salvager will handle them. However, the salvager doesn't really handle - them, since we just use the first linktable we find (FindLinkHandle) - without checking any of the information about it. - - So, check for these. Fix FindLinkHandle to only consider a linktable - the "real" linktable to use if it actually matches the volume group id - we're salvaging. Also delete any inconsistent linktables via the new - function CheckDupLinktable later on. - - Note that inconsistently-named linktables have been known to have been - created in the past due to a bug in the salvager (fixed by ae227049), - and possibly due to other unknown issues. - - Change-Id: Iac461e1254e1f73406a2bc74eaa5a5f53d697304 - Reviewed-on: http://gerrit.openafs.org/10322 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 9fca71287d2c9730139a0472c6ee891603e72672 -Author: Mark Vitale -Date: Fri Feb 15 16:58:16 2013 -0500 - - vos: move convertROtoRW core logic to vsprocs - - Create new vsprocs routine UV_ConvertRO in preparation for adding - new function to vos convertROtoRW. - - Change-Id: Ic66ecbf7cacb277891bec9f8783040995ce6ce17 - Reviewed-on: http://gerrit.openafs.org/9277 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit b78b7f0c3454be02048e4533ee26ef28dc8f78ff -Author: Stephan Wiesand -Date: Fri Jan 31 17:01:06 2014 +0100 - - RedHat: don't package manpages for binaries not included - - We don't package copyauth, aklog_dynamic_auth and rmtsysd. - Omit their manpages too. - - Change-Id: I653e24be9ac258bcb1539bc773eebae728d6261b - Reviewed-on: http://gerrit.openafs.org/10781 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 4f253106dc5d1a5280b0a5be393df0e87e00a661 -Author: Andrew Deason -Date: Fri Jan 31 16:40:35 2014 -0600 - - afs: Include FID in DoLockWarning - - Provide the FID that is being locked when we warn about byte-range - locks, so the user can find what file the process is trying to lock. - - Change-Id: I56a185c200ac73045ee29b79410e27222c2637f2 - Reviewed-on: http://gerrit.openafs.org/10795 - Reviewed-by: D Brashear - Tested-by: D Brashear - -commit c73883e7846fa0421cfac29830c27c9b6aacf5ed -Author: Andrew Deason -Date: Fri Jan 31 16:36:44 2014 -0600 - - afs: Refactor DoLockWarning - - Change DoLockWarning around a little bit, so subsequent changes are - easier to follow. Move lastWarnTime/lastWarnPid so they are only - usable within this function. - - This commit should incur no functional change. - - Change-Id: I5d25f64e9c088aecee0f0c46b6c401b2caa71ccb - Reviewed-on: http://gerrit.openafs.org/10794 - Tested-by: BuildBot - Reviewed-by: D Brashear - -commit 997f7fce437787a45ae0584beaae43affbd37cce -Author: Marc Dionne -Date: Thu Jan 30 13:50:37 2014 -0500 - - Linux: When revalidating, don't drop in-use dentries - - The Linux client can get into a state where the current working - directory is seen as "deleted" by some tools, while it is still - there and accessible to "ls" and other tools. This has been - reported by several users and sites. - - One scenario that has been observed while debugging: - - A process does a chdir() into a directory - - This stores a pointer to the dir's dentry in the task structure - - The server hosting the volume goes offline temporarily - - The dentry for the directory is passed to afs_linux_dentry_revalidate - - afs_linux_dentry_revalidate calls afs_lookup which returns an - error (110 - ETIMEDOUT) - - It then considers the dentry not valid, and calls d_drop() - - d_drop unhashes the dentry unconditionally - - Server comes back up, but dentry is still unhashed - - getcwd() fetches the task structure pointer to the current dir - dentry. If unhashed, it returns ENOENT, and the vfs layer is - not involved at all. - - At that point, many things won't work and there is no obvious way - for the user to get the directory rehashed. - - Instead of calling d_drop directly, call d_invalidate instead, as - it will only drop (unhash) the dentry if we're the only one holding - a reference. Since d_invalidate will also call shrink_dcache_parent, - also remove that call from our code so it doesn't get called twice. - - Change-Id: I03e9872f6f9aebd28cdf6b833e14955edaa2527c - Reviewed-on: http://gerrit.openafs.org/10774 - Tested-by: BuildBot - Tested-by: Anders Kaseorg - Reviewed-by: Derrick Brashear - -commit 3ef0bca9ac4705f29d429af6ce2951ad1d39def1 -Author: Arne Wiebalck -Date: Fri Jan 10 17:29:11 2014 +0100 - - Log shutdown progress - - Shutting down fileservers with thousands of volumes can take a while and - it is helpful for operations to actually see that there is progress when - detaching volumes. This patch adds a log message to the fileserver log - every time 100 volumes have been detached. - - Change-Id: I1685aa62335b223cf7cd3286188781318084c22f - Reviewed-on: http://gerrit.openafs.org/10797 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Derrick Brashear - -commit b39833048124030bc15526d116b504fd43e100bb -Author: Andrew Deason -Date: Thu Jan 30 14:43:57 2014 -0600 - - afs: Pay attention to fetchOps->destroy error code - - The ->destroy function in our fetchops could change our error code, or - even raise a new error. Don't ignore it. This currently doesn't do - much, since fetchDestroy currently won't change the error code if it's - given an error, but this can change in the future. - - Change-Id: I6fa98cc709cb0fbd4c1e868ba4b9be53313573ff - Reviewed-on: http://gerrit.openafs.org/10787 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3b5c636480cda73938a532ffd079ba040907f78f -Author: Jeffrey Altman -Date: Mon Jan 27 00:33:18 2014 -0500 - - Windows: Add caching to cm_GetAddrsU - - Cache the results of VL_GetAddrsU queries and reuse the results - for subsequent calls when possible. - - Change-Id: I7e2b086ec311208a46439588bc820a1929d2b2b9 - Reviewed-on: http://gerrit.openafs.org/10764 - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 74982e6ae1919f81184d221b56aba7f153d188ed -Author: Jeffrey Altman -Date: Mon Jan 27 00:30:20 2014 -0500 - - Windows: cm_GetAddrsU wrapper for VL_GetAddrsU - - cm_GetAddrsU() is a wrapper for the VL_GetAddrsU() RPC. The initial - version is a bare bones replacement for the VL_GetAddrsU() call from - cm_UpdateVolumeLocation(). Future changes will add caching. - - Change-Id: I7d51d98d8fd21b91f25424bdb795576ea44deab4 - Reviewed-on: http://gerrit.openafs.org/10763 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 311505170d59360b3c3dd67f789f395b7278bbbe -Author: Jeffrey Altman -Date: Mon Jan 27 00:14:36 2014 -0500 - - Windows: replace cm_allServersp list with osi_queue - - Replace the cm_allServersp list with an osi_queue. This simplifies - the Add/Remove functionality which will be required in case of VLDB - server uniquifier changes. - - Change-Id: I6b118f2a27ee4bd2eb24011aae868865615eb09f - Reviewed-on: http://gerrit.openafs.org/10762 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 335a70653adb59795f262663af3972de016c068d -Author: Andrew Deason -Date: Mon Jan 27 18:03:59 2014 -0600 - - afs: Translate VNOSERVICE to ETIMEDOUT - - Some fileservers will kill calls that are taking too long with the - VNOSERVICE abort code. Our logic for retrying calls is already aware - of this usage, but if we cannot retry the call, we still just return - VNOSERVICE as an error code to our caller. - - Don't return this raw, since has the same value as ENOBUFS, which can - cause a confusing error message from logs or applications ("No buffer - space available"). Return ETIMEDOUT instead. - - Change-Id: Ic16422585a10cda7f21646a27c92f690b131ce9b - Reviewed-on: http://gerrit.openafs.org/10766 - Reviewed-by: Derrick Brashear - Tested-by: Andrew Deason - -commit e459f44efef8d102c54205556f65318d63fec24f -Author: Andrew Deason -Date: Thu Dec 26 17:17:44 2013 -0500 - - afs: Fix afs_CheckCode identifier collision - - The last argument to afs_CheckCode should be unique so the call site - can be identified if fstrace is turned on. BStore and BPartialStore - were both using 43, so change BPartialStore to 430 to avoid the - collision. - - Change-Id: I81a43ee41623fad10d0e70a7d9c8e6029aba30eb - Reviewed-on: http://gerrit.openafs.org/10635 - Reviewed-by: Perry Ruiter - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 34e4a4fed356fbda9fc8ace1d01a080bd09238b0 -Author: Andrew Deason -Date: Thu Dec 26 16:42:46 2013 -0500 - - afs: Treat vc_error as a CheckCode-translated code - - The vcache field vc_error is generally treated as an error code that - has been translated through afs_CheckCode, but this is inconsistent in - a few places. Fix this in a few ways: - - - Adjust afs_nfsrdwr so we do not call afs_CheckCode on vc_error, - translating the error code twice. - - - Change afs_close to store vc_error in code_checkcode, and have the - logging code check for specific values in code_checkcode as well. - Log unknown values of code and code_checkcode, so we can - distinguish between e.g. a 'code' value of VBUSY, and a - 'code_checkcode' value of ETIMEDOUT. - - Change-Id: Iab4928efd183fb6c5b0b0f30375b9952ba13b45a - Reviewed-on: http://gerrit.openafs.org/10634 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d2084563648cc1e8ec697c61f593935a0b5804a3 -Author: Michael Meffie -Date: Sat Jan 18 22:40:12 2014 -0500 - - libadmin: add header file deps - - Add the missing header file dependencies to the library targets. - This is needed for parallel make. - - Change-Id: I60d60e68ef808a62b4063a6106672f5178c1b605 - Reviewed-on: http://gerrit.openafs.org/10726 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 66093e4a2db297afea755d164cca7a6080909bda -Author: Michael Meffie -Date: Fri Nov 22 13:36:54 2013 -0500 - - libadmin: use INSTALL_DATA to export headers - - Use the INSTALL_DATA macro instead of cp to export - header files. - - Change-Id: Ia460d8227f2fb2f594793a01c27f64ff7ce45273 - Reviewed-on: http://gerrit.openafs.org/10515 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 9b1ffeeeb62cd9535dc2fc1522400abb428a0ac2 -Author: Michael Meffie -Date: Sat Jan 18 22:01:59 2014 -0500 - - libadmin: makefile rule for afs_AdminError.h - - Add a makefile rule to export the libadmin afs_AdminErrors.h header - file, instead of exporting afs_AdminErrors.h as a side effect of - generating the afs_AdminBosErrors error table. - - Add the missing afs_AdminErrors.h dependency to the afs_utilAdmin.o - dependency list. - - Change-Id: Ib8c7d22d705061615fb20a6a521dc20f0f1d6da0 - Reviewed-on: http://gerrit.openafs.org/10369 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 9b105c5586a2e9c5c55dce7785e681f73ea0a759 -Author: Michael Meffie -Date: Sat Jan 18 21:56:36 2014 -0500 - - libadmin: remove duplicate dependency - - afs_AdminPtsErrors.h was listed twice in the dependency - afs_utilAdmin.o dependency list. - - Change-Id: I4bf37d0502e26e05f912a136045814e32de73c4a - Reviewed-on: http://gerrit.openafs.org/10725 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit e39e226a13e38bfe0fb12b73633b6415c790c569 -Author: Michael Meffie -Date: Sun Jan 19 14:15:13 2014 -0500 - - tvolser: fix makefile clean target - - Remove generated source files with the clean makefile target. - - Change-Id: I1e7d06c217f63fb9ee749e23bca1531d22babdda - Reviewed-on: http://gerrit.openafs.org/10724 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 31d6467aa058a2b49c22188dfb0ca70b766d127f -Author: Michael Meffie -Date: Sun Jan 19 14:02:28 2014 -0500 - - config: use the standard INSTALL_DATA makefile macro - - Replace the custom INST makefile macro with the standard - INSTALL_DATA macro for installing and exporting files. - - Change-Id: I5d8c41d1c6d2c3ee021e0d6a5fbca8ef9178e74d - Reviewed-on: http://gerrit.openafs.org/10723 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit c8e83f0e826bc0a56321408b1c7a2afa137bab05 -Author: Michael Meffie -Date: Fri Nov 22 12:23:17 2013 -0500 - - config: parallel-safe param.h makefile rule - - Generate the param.h.new temporary file in a parallel-safe - way. The rule to generate the three copies of param.h can - run at the the same time under a parallel make, clobbering - the param.h.new temporary file. Instead of creating this file - inline, create a common rule to generate the temporary file - once. - - Change-Id: I823b6a55f3168e991b64660bfe51303d43f693a9 - Reviewed-on: http://gerrit.openafs.org/10516 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 52fe3f52de95b698c93ca5da3c1ed59447817610 -Author: Michael Meffie -Date: Fri Nov 22 11:50:11 2013 -0500 - - libafscp: makefile install rule update - - Change the makefile install rules to install the header - file from the libafscp directory, and not the top level - include directory to make the install rules consistent - with the rest of the tree. - - Change-Id: Ia06c29e72f7005569f2d11d3d0f6691413e0eeec - Reviewed-on: http://gerrit.openafs.org/10514 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 9df43aacab0f311c15837b230761a11750f8b9cb -Author: Michael Meffie -Date: Wed Aug 1 17:26:33 2012 -0400 - - comerr: compile_et -emit option for parallel make - - Add the -emit option to the compile_et command to support parallel make. - - The -emit option allows make to generate the header and the source files - independently, instead of building two files at the some time. This - avoids the issue where one command creates two separate files, which is - difficult to handle correctly for parallel makes. - - Change-Id: Ib44a8e358643cf19b4834b3bd4d5b88db6cd0ccf - Reviewed-on: http://gerrit.openafs.org/7921 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 501d6d288fcaa195c3cda0be0e3423c7959c9958 -Author: Michael Meffie -Date: Mon Jan 20 14:37:52 2014 -0500 - - doc: afs_compile_et -h option - - Document the afs_compile_et -h option. - - Change-Id: I4972bcc1948e8dd7ae73dfcabfbaf822cfbfe64b - Reviewed-on: http://gerrit.openafs.org/10722 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 534f802ac900df4704f4e8397eca0aeccf169023 -Author: Stephan Wiesand -Date: Thu Jan 23 14:43:32 2014 +0100 - - RedHat: Use systemd unit files on RHEL >= 7 - - Handle rhel >= 7 like fedora >= 15 when deciding whether - to package systemd unit files or sysvinit scripts in the - rpm spec file. - - Change-Id: I2f1e807786e484774e5a1a97c297532d86f99265 - Reviewed-on: http://gerrit.openafs.org/10631 - Tested-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Ken Dreyer - -commit 37937a3e924eee7a09c7719ca6355703e65092e1 -Author: Michael Meffie -Date: Tue Jan 21 09:26:11 2014 -0500 - - comerr: long and short form of the -prefix option. - - The man page documented the prefix option as -prefix; compile_et - supported only the short form -p. - - Document and support both the long and short forms for the prefix - option; -p and -prefix. - - Change-Id: Ide5551b06ae888748600677ed09ba674506a584f - Reviewed-on: http://gerrit.openafs.org/10721 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 15c80b1a92516a41d4aed8403db1485e97a7eff6 -Author: Michael Meffie -Date: Fri Nov 22 15:26:34 2013 -0500 - - comerr: avoid comma operator - - Avoid unnecessary use of the comma operator in compile_et's - command-line argument processing. - - Change-Id: If9308d211676be471f3534e144c7d90214994699 - Reviewed-on: http://gerrit.openafs.org/10491 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Marc Dionne - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 355ca7b20b8bb9f06b030be966311d4afb40ed00 -Author: Michael Meffie -Date: Tue Jan 21 09:39:56 2014 -0500 - - doc: afs_compile_et -lang short form - - Document the -lang short form for -language. - - Change-Id: I4a57bdb23ca5fab4e1565d7e930cdc10097a7414 - Reviewed-on: http://gerrit.openafs.org/10720 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit de8ff76f8767246431115bf04a1475a0cf3ad28a -Author: Michael Meffie -Date: Tue Jan 21 09:36:37 2014 -0500 - - doc: afs_compile_et formatting fixes - - Fix two pod formatting errors and remove one trailing - whitespace characters. - - Change-Id: I2ba4fd56afb8c26591d2770301c3edfdd1a898fb - Reviewed-on: http://gerrit.openafs.org/10719 - Reviewed-by: Ken Dreyer - Tested-by: Ken Dreyer - Reviewed-by: Derrick Brashear - -commit 8817308a87ca76bc47a0f5564b97c7942b3be04a -Author: Benjamin Kaduk -Date: Fri Jan 24 12:00:20 2014 -0500 - - FBSD: catch up to 1997 and include if_var.h with if.h - - The commit message for upstream's r257244 change includes: - - Make the prophecy from 1997 happen and remove if_var.h inclusion - from if.h. - Despite the clear public posting, we were caught unawares. We made - it down to the cellar despite the missing stairs, but "Beware of - the Leopard" caused us to turn back, apparently. - - Since if.h is included in many places and if_var.h is not present - on all OSes, pull the if.h inclusion into the common kernel headers - for afs/ and rx/ , and add in if_var.h (as well as the sys/socket.h - prerequisite). - - Change-Id: I228c1560a128388c187804e05c0dd2500fb2853e - Reviewed-on: http://gerrit.openafs.org/10754 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7f58e4ac454f9c06fb2d51ff0a17b8656c454efe -Author: Andrew Deason -Date: Fri Dec 20 12:16:37 2013 -0600 - - afs: Return raw code from background daemons - - Currently, a background daemon processing a 'store' request will - return any error code in the 'code' field in the brequest structure, - for processing by anyone that's waiting for the response. Since any - waiter will not have access to the treq for the request, they won't be - able to call afs_CheckCode on that return code, so the background - daemon calls afs_CheckCode before returning its error code. - - Currently, afs_close uses the 'code' value from the background daemon - as if it were not passed through afs_CheckCode. That is, if all - background daemons are busy, we get our 'code' directly from - afs_StoreOnLastReference, and if we use a background daemon, our - 'code' is tb->code. But these values are two different things: the - return value from afs_StoreOnLastReference is a raw error code, and - the code from the background daemon (tb->code) has been translated - through afs_CheckCode. - - This can be confusing, in particular for the scenario where a - StoreData fails because of network errors or because of a VBUSY error. - If we get a network error when the request went through a background - daemon, afs_CheckCode will translate this to ETIMEDOUT, which is - commonly value 110, the same as VBUSY. So, an ETIMEDOUT error from the - background daemon is difficult to distinguish from a VBUSY error from - a direct afs_StoreOnLastReference call. Either case can result in a - message to the kernel like the following: - - afs: failed to store file (110) - - To resolve this, have the background daemon store both the 'raw' error - code, and the error code that has been translated through - afs_CheckCode. afs_close can then use the raw error code when - reporting messages like normal, but can still use the translated error - code to return to the caller, if it has a translated error. With this - change, now afs_close will always log "network problems" for a network - error, regardless of if the error came in via a background daemon or a - direct afs_StoreOnLastReference call. - - In Irix's afs_delmap, we just remove the old usage of tb->code, since - the result was not used for anything. - - Change-Id: I3e2bf7e36c1f098df16a1fdb0dc88b45ea87dfa9 - Reviewed-on: http://gerrit.openafs.org/10633 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit eb3f8c99edcf005dfba836ae9ab1d3102f162c2a -Author: Michael Meffie -Date: Wed Jan 22 20:23:29 2014 -0500 - - doc: fix typo in fs setacl - - Fix typo in the dropbox section where 'l' was referred - to as 'read', not 'lookup'. - - Change-Id: I6429c125f0561a1b5d4e7816930988ac1b347be7 - Reviewed-on: http://gerrit.openafs.org/10750 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit e03b026c4d74912152be71885f09ef50ff8c32db -Author: Benjamin Kaduk -Date: Thu Jan 9 23:34:30 2014 -0500 - - Remove some explicit sbrk() usage - - Mac OS X 10.9 now considers this function deprecated and warns on - its use, causing the buildslave configuration to error out. - - Use the library routine to get a process's size instead of inlining - the call to sbrk (which is unlikely to have worked as intended for - quite some time -- most malloc implementations in use do not use - sbrk to get their storage). - - Change-Id: If616e1ebbea7c0aa541fb96c486820e883363df1 - Reviewed-on: http://gerrit.openafs.org/10696 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e605de61e454bc6d2c960c0c5eb514424159da7c -Author: Andrew Deason -Date: Wed Jan 15 09:48:48 2014 -0600 - - Revert "viced: Enable NAT ping on hosts" - - This reverts commit aafdc08cfc49da4c23ecd91f9e690fd70e95df55. - - The fileserver-side "NAT ping" behavior has yet to be proven to be - helpful in situations with NATs. If the behavior is not helpful, this - generates potentially a significant amount of extra useless traffic. - So until it can be shown to what degree this is helpful, keep this - behavior out of the fileserver. - - Change-Id: Ibf6718eb1d37b2a7e610617acc697f4ee398b89a - Reviewed-on: http://gerrit.openafs.org/10712 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Tested-by: BuildBot - -commit 51d31209dc9a3082461cc9430da0975fdf28b085 -Author: Benjamin Kaduk -Date: Fri Jan 10 00:00:52 2014 -0500 - - Use an explicit symbol for uninitialized vnode types - - Avoid trying to get clever with stuffing -1 into an unsigned bitfield, - which causes the value to change and generates a warning from clang. - Just use vNull, which is intended to be used for uninitialized/empty - vnodes. - - Change-Id: I5662887e5a68c7e687025d19226f821d8f2d6a09 - Reviewed-on: http://gerrit.openafs.org/10701 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8c937cf95f95581e63df298766f19f14db00a2b9 -Author: Benjamin Kaduk -Date: Thu Jan 9 23:57:37 2014 -0500 - - Add braces to avoid a 'dangling else' warning - - Change-Id: I301d7d2473d651002f0bf6baa18906bce6d46497 - Reviewed-on: http://gerrit.openafs.org/10700 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 17c50911f79382e3ba8960e4b6c122b348e9baef -Author: Benjamin Kaduk -Date: Thu Jan 9 23:54:45 2014 -0500 - - Disable deprecated warnings for krb5 routines - - In OS X 10.9 Mavericks, Apple has marked all of the krb5 routines - as deprecated (in favor of the GSS framework). We must disable - these warnings in order to allow the buildslave to have a successful - build. - - Luckily, Apple has left in rope for us to programmatically disable - the deprecated attribute with a preprocessor macro. Defining this - macro should be safe everywhere, so do so unconditionally. - - Change-Id: Iedc920001fdc5731254336424b0ab7b27274555c - Reviewed-on: http://gerrit.openafs.org/10699 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d72ed6ad4cb568c80d6d0d8e6445f1b2260df680 -Author: Benjamin Kaduk -Date: Thu Jan 9 23:40:09 2014 -0500 - - vol/salvaged.c: Remove unused variable - - It was incremented from an uninitialized value, which caused a build - error on the OS X 10.9 buildslave. Since it's unused, just remove - it entirely. - - Change-Id: I845e9139ffd27ba7bf4e010cf4e5625658125486 - Reviewed-on: http://gerrit.openafs.org/10698 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - -commit 8105129987e2848f21247eea4103ae31772d68be -Author: Benjamin Kaduk -Date: Thu Jan 9 23:38:36 2014 -0500 - - viced/callback.c: Ignore dump write errors even harder - - Not only do we need to check the return value of write(2), but - we also need to do so in a way that does not leave an empty body - in the if statement, in order to appease the clang-500.2.79 found - on OS X 10.9 with Xcode 5.0.2. - - Change-Id: I4564f05927fe14fea3365e9e250834ee948fe387 - Reviewed-on: http://gerrit.openafs.org/10697 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5c4e555f93b8db4f36667966a897fae0acd763e5 -Author: Benjamin Kaduk -Date: Fri Jan 10 12:33:18 2014 -0500 - - Add a routine to get the size of the current process - - Use rusage when available, and fall back to the very old sbrk(0) - hack otherwise. - - Change-Id: Ic986fd6b93476b80008908a95f8b8e0c76d9ed9a - Reviewed-on: http://gerrit.openafs.org/10695 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit baf6af8a8f2207ce39b746d59ca4bc661c002883 -Author: Benjamin Kaduk -Date: Thu Jan 9 22:42:26 2014 -0500 - - afs_fetchstore: avoid use of uninitialized variable - - rxfs_fetchInit() attempts to do a 64-bit RPC first, but falls back - to the 32-bit StartRXAFS_FetchData() if the server appears to not - support the 64-bit RPCs. - - We correctly did not read a length from the call if the FetchData - RPC(s) failed, but proceeded to assign from the 'length' local - variable into the 'alength' output variable unconditionally later on. - - Instead of blindly continuing on, jump to the error-handling part of - the routine when we cannot read a length from the call. This has the - side effect of skipping an afs_Trace3() point in the error case. - - Change-Id: I4840d5c692c61630c68e97b5e88f9460abade19e - Reviewed-on: http://gerrit.openafs.org/10694 - Reviewed-by: Derrick Brashear - Tested-by: Benjamin Kaduk - -commit 5b8133deddc0bb32788362a44507d77ec587aef7 -Author: Benjamin Kaduk -Date: Thu Jan 9 17:29:04 2014 -0500 - - rfc3961: Use enctypes, not keytypes - - We previously defined the enctype symbols to be aliases for keytype - symbols. The numerical values matched what we wanted (since these - values are specified in an IANA registry), but the C type is not - required to be the same for enctypes and keytypes. - - Some of our buildslave configurations notice the type mismatch and - complain, so fix the types by using the enctype enum for enctype symbols - instead of keytypes. - - Change-Id: I56ca634d52954ee44baa34e2d8c876271f171288 - Reviewed-on: http://gerrit.openafs.org/10693 - Reviewed-by: Derrick Brashear - Tested-by: Benjamin Kaduk - -commit 9f8b765bbdbb8913fcadbde8d3362039e9dc8e61 -Author: Andrew Deason -Date: Thu Jan 9 12:44:44 2014 -0600 - - opr: Silence rbtree warning - - On OS X, gcc can complain that 'child' is uninitialized whenever this - 'else if' condition is false. We already handled the case where both - node->right and node->left are non-NULL earlier in this function, so - this should never occur. So, to get rid of the warning, just always - take the path in the 'else if', and assert that the right child is - NULL. - - Change-Id: I3575de84ea172d3c7e0e022809fdcd0e3b4dcc27 - Reviewed-on: http://gerrit.openafs.org/10687 - Reviewed-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b921bf94f6433f831a8d241b5a7e96b63dc5f3f7 -Author: Benjamin Kaduk -Date: Mon Jan 13 16:08:14 2014 -0500 - - De-duplicate a couple afs_CheckCode uniquifiers - - These uniquifiers are supposed to be globally unique, to identify the - call site within the tree. For whatever reason, a couple of them - were duplicated at different call sites; provide new (unique) values - to disambiguate between them. - - There remain a couple of uniquifiers which are used in multiple - places, but those are in different architectures' implementations - of afs/ARCH/foo.c, and thus will be globally unique for any particular - build. - - Change-Id: Iff5defcade74143a45d7ef3aaacbdeb7523f2a40 - Reviewed-on: http://gerrit.openafs.org/10709 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba0208f1d69c8c403150fb6312214f9b1c972c6d -Author: Michael Meffie -Date: Mon Jan 13 15:38:44 2014 -0500 - - xstat: fix a malformed debug message - - a munged format specifier obscured the missing rn arg. - - Change-Id: Ic0eb20413123b88e86484a9095beb3e37fdd7ed3 - Reviewed-on: http://gerrit.openafs.org/10708 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit cda5e665ebee3da5615dba71b7a11ffff1229c6d -Author: Michael Meffie -Date: Mon Jan 13 15:28:17 2014 -0500 - - xstat: use ephemeral ports for xstat_fs_test and scout - - Instead of trying to bind to port 7101, and then retrying if - the port is in already in use, let the os find an available - port for scout and xstat_fs_test. - - This fixes a bug where scout and xstat_fs_test do not call - rx_Finalize() before retrying rx_Init() with a different port - number, causing the program to crash later when more than - one copy of xstat_fs_test and/or scout are running at the same - time. - - Change-Id: I64e4916b03b1cae20ef36bb1ae293885962677e7 - Reviewed-on: http://gerrit.openafs.org/10707 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit ccc5d3f7adceda4d8cf41f04fe02d5cfe376befd -Author: Marc Dionne -Date: Tue Dec 3 14:10:00 2013 -0500 - - Linux 3.13: Check return value from bdi_init - - The use of the bdi_init function now gets a warning because the - return value is unused and the function is now defined with - the warn_unused_result attribute. - - Assign and check the return value. - - Change-Id: I78ae4ea356aef8c9dabe75179ad67db1fd64c28b - Reviewed-on: http://gerrit.openafs.org/10530 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 9a0a8ca4d186cf953b87d9fae1a35f66090b060c -Author: Andrew Deason -Date: Thu Apr 4 17:35:01 2013 -0500 - - viced: Avoid issuing redundant TMAY requests - - Currently, if a new Rx connection comes in from a host we already have - a host struct for, we make a TellMeAboutYourself (TMAY) call to the - given host, to verify the UUID (and caps, interface info, etc) is what - we expect it to be. That is, if it's still the "same" host that we - know about. This is necessary because we otherwise have no way of - telling if the Rx connection is from the same host, or from a new host - that just happens to have the same IP address (e.g. in the case that - hosts are moving around and changing IPs). We do this while the host - is locked, so we only issue these TMAY calls one at a time. - - If a large number of Rx connections come in from the same host at - around the same time, this can result in a lot of TMAY requests being - issued against the host, even for hosts that never change IPs and - never do anything strange. In these situations, issuing so many TMAYs - is useless. If we have several calls waiting to lock the host to issue - a TMAY, some of the extra TMAY calls are provably useless. So instead - of calling TMAY repeatedly, remember what the last successful TMAY - result was, and reuse it for the "provably useless" calls. - - Note that this 'cache' stores the actual raw results of - TellMeAboutYourself. We could save some memory by storing just how we - interpret that data later on in h_GetHost_r, but this way results in - way simpler h_GetHost_r logic. Since, we can use the same code paths - as for a "real" TMAY call. - - Change-Id: I6df74e625e90499bd64c9eb34f20db440f6605a6 - Reviewed-on: http://gerrit.openafs.org/9711 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5c0a1d4acce78a582187b5ab3d0d4d60b97d7557 -Author: Andrew Deason -Date: Thu Dec 19 14:04:56 2013 -0600 - - DARWIN: Convert crfree back into a macro - - Commit 1d8937b860509fcaabb041bc14faf7aa3023f3c9 turned crfree on - DARWIN into an inline function to work around an error flagged by - clang. A side effect of this is that the address passed to - kauth_cred_unref will not be the actual address of the value given to - crfree; we are instead giving kauth_cred_unref the address of our - function argument in order to adhere to the semantics of a function - call. - - kauth_cred_unref seems to just take a pointer to the cred pointer in - order to set the value to effectively NULL afterwards, so this is not - a huge deal. However, this does mean that our current implementation - undoes any of the safeguards intended by making kauth_cred_unref work - this way in the first place. - - So, revert 1d8937b860509fcaabb041bc14faf7aa3023f3c9 and put the crfree - definition back to the way it was. Fix the caller in - afs_StoreOnLastReference to not cause an error by just assigning the - cred pointer to a temporary value. While it's not ideal that some - callers may need to do this, this is the only place where this is - necessary and it's more of an artifact of the weirdness of storing a - cred pointer in linkData, which probably should be changed anyway. - - Change-Id: I50557901203d22a7b19028be551eb40f0c4cd751 - Reviewed-on: http://gerrit.openafs.org/10614 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b0f433986ce344bf153cce1f6372de20750e052b -Author: Andrew Deason -Date: Tue Jan 7 18:24:54 2014 -0600 - - SOLARIS: Support VSW_STATS - - Specify the VSW_STATS flag to the vfsdef_t structure we give to - Solaris. This turns on statistics that can be retrieved via fsstat(1M) - and allows the fsinfo::: DTrace provider to work with AFS files. - - We don't need to actually maintain these statistics; Solaris does that - for us. This flag just signifies that our vfs_t structure is capable - of storing the information. Since we get our vfs_t from Solaris (via - domount(), it gives us a vfs_t when it calls our afs_mount function) - and do not allocate a vfs_t ourselves, we are safe and this is fine to - do. - - Change-Id: I356df91ea409245f0c5b1e4ef693ac28ad8f11b2 - Reviewed-on: http://gerrit.openafs.org/10679 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 64d7715c0247734731ef4cc8be5de32ee7c4a1f6 -Author: Michael Meffie -Date: Mon Dec 23 12:10:36 2013 -0500 - - vol: reset nextVnodeUnique when uniquifier rolls over - - The on disk uniquifier counter is set to 200 more than the current - nextVnodeUnique counter when the volume information is updated to disk. When - the nextVnodeUnique is near UINT32_MAX, then the uniquifier counter rolls - over. This can happen during a volume header update due to - VBumpVolumeUsage_r(). - - With this change, the nextVnodeUnique customer is reset to 2 and the - uniquifier is reset to 202 when a roll over occurs. (uniquifier of 1 is - reserved for the root vnode.) - - With this change, the number of possible uniquifier numbers is limited to - 200 less than UINT32_MAX. - - The following shows a series of vnode creation/deletions to illustrate - the uniquifier rollover before this commit: - - fid = 536870918.4.4294967114, nextVnodeUnique = 4294967115, uniquifier = 4294967295 - fid = 536870918.4.4294967115, nextVnodeUnique = 4294967116, uniquifier = 4294967295 - fid = 536870918.4.4294967116, nextVnodeUnique = 4294967117, uniquifier = 21 - fid = 536870918.4.4294967117, nextVnodeUnique = 4294967118, uniquifier = 22 - - and after this commit: - - fid = 536870918.4.4294967115, nextVnodeUnique = 4294967116, uniquifier = 4294967295 - fid = 536870918.4.4294967116, nextVnodeUnique = 2, uniquifier = 202 - fid = 536870918.4.2, nextVnodeUnique = 3, uniquifier = 202 - fid = 536870918.4.3, nextVnodeUnique = 4, uniquifier = 202 - - Change-Id: I93c8a7cf47e39b8701265d6507cfc4f8c1352ddc - Reviewed-on: http://gerrit.openafs.org/10617 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 1a287c631ead0221828ae70e10c3cfd5563fdfb7 -Author: Michael Meffie -Date: Mon Dec 23 11:42:19 2013 -0500 - - vol: fix nextVnodeUnique roll over - - Fixes for the per volume nextVnodeUnique counter roll over. Uniquifier number 1 - is reserved for the root vnode, so reset the unique count to 2 when the - nextVnodeUnique counter rolls over. - - Update the disk backed V_uniquifier count when the in-memory nextVnodeUnique - counter rolls over during the creation of a new vnode. If the nextVnodeUnique - rolls over when V_uniquifier is UINT32_MAX, then the V_uniquifier is not updated - and remains at UINT32_MAX until the next VUpdateVolume_r() call for the volume. - - This bug is usually masked by the VBumpVolumeUsage(), which on every 128 volume - accesses, bumps the V_uniquifier to be 200 more than the current - nextVnodeUnique counter. This causes the V_uniquifier to roll over before - reaching UINT32_MAX. (The number of access before updating the headers is set - in the usage_threshold volume package option, which is currently set to 128 by - default.) - - The following shows the unique counters for a series of vnode - creation/deletions before this commit. The nextVnodeUnique rolls over to 1, - and the uniquifier is not reset. The `usage_threshold' was set to a value - greater than 200 to avoid the VBumpVolumeUsage() calls during this test run. - - fid = 536870918.4.4294967294, nextVnodeUnique = 4294967295, uniquifier = 4294967295 - fid = 536870918.4.4294967295, nextVnodeUnique = 0, uniquifier = 4294967295 - fid = 536870918.4.1, nextVnodeUnique = 2, uniquifier = 4294967295 - fid = 536870918.4.2, nextVnodeUnique = 3, uniquifier = 4294967295 - - The following shows the unique counters after this commit: - - fid = 536870918.4.4294967294, nextVnodeUnique = 4294967295, uniquifier = 4294967295 - fid = 536870918.4.4294967295, nextVnodeUnique = 0, uniquifier = 4294967295 - fid = 536870918.4.2, nextVnodeUnique = 3, uniquifier = 203 - fid = 536870918.4.3, nextVnodeUnique = 4, uniquifier = 203 - - Change-Id: I438670200bf97baeac1486eda7df4cf243aabfc4 - Reviewed-on: http://gerrit.openafs.org/10616 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 67232bd9d6db545cc3f0839c59ecc667a3f9965e -Author: Benjamin Kaduk -Date: Fri Jan 10 16:27:44 2014 -0500 - - Fix vcache/vnode mismatch in lookup for DARWIN - - We have a vcache and need a vnode, so AFSTOV() is the right macro, - not VTOAFS(). - - It's kind of unfortunate that --enable-checking doesn't catch this. - - Change-Id: I924649918dd0149b5fd7e4380b5f2e49d21fc8c4 - Reviewed-on: http://gerrit.openafs.org/10702 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 71ec4a3e3d887efd56be7bf712c0fd5da2f92083 -Author: Andrew Deason -Date: Thu Nov 14 12:53:40 2013 -0600 - - afs: Don't clear afs_CacheTooFull prematurely - - Currently, we can clear afs_CacheTooFull here, even if - afs_CacheIsTooFull() doesn't agree that the cache is no longer 'too - full'. This could theoretically result in afs_CacheTooFull being - cleared, even though the cache is indeed 'too full', according to - afs_CacheIsTooFull(). Just break here, and let afs_CacheIsTooFull() - decide. - - This reverts a small part of 488c7c97854a4bd0ec67bcfe17df93b3fd025f88. - This part doesn't seem important to the functionality in that commit, - though; the rest of that commit is still here, and avoids the extra - work if we have calculated no needed space to free. - - Change-Id: If0adce7fa2e88a970ddb202de02c8ff048d2ad15 - Reviewed-on: http://gerrit.openafs.org/10460 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 81b785774128e9501c1d758340b6f008403b5181 -Author: Andrew Deason -Date: Thu Nov 14 12:06:56 2013 -0600 - - afs: Fix some dcache-related comments - - - The comments preceding the afs_CacheIsTooFull macro, describing the - cache-related high and low water marks, are a little out of date. - We start freeing on 90% space, not 95%, and we also can take into - account how many free/used chunks we have. - - - afs_WakeCacheWaitersIfDrained looks at the number of non-used (free - or discarded) blocks, not just free blocks. - - Change-Id: I5bf923b3c24993294e752f4312737815d0102779 - Reviewed-on: http://gerrit.openafs.org/10459 - Reviewed-by: Stephan Wiesand - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit cef726558d9ae24a5d3dd00d92550a527f3226df -Author: Andrew Deason -Date: Tue Dec 11 13:19:02 2012 -0600 - - rx: Clarify error checks for busy channel check - - Commit a84c6b0ece1fdee4f462c6ce27fa78c2e0d419f4 changed this so we - don't just discard an incoming request if the call already had an - error. But if the call already has an error, rxi_WaitforTQBusy is a - no-op, so checking if the error has "changed" is unnecessary and can - be confusing. Just bypass this whole block if the call already has an - error. - - Discussed during the 5 Dec 2012 release-team meeting. - - Change-Id: Id57d65736f3228d4e7595f56800f42c52e83ef39 - Reviewed-on: http://gerrit.openafs.org/8748 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 31b518fcf184ba122b6faab54e2e4fa0d37605a3 -Author: Andrew Deason -Date: Tue Aug 14 17:25:44 2012 -0500 - - viced: Move host quota calculation - - Calculate this during initialization, not every time we want to use - it. - - Change-Id: I931d2f3f0b4b99add682c098dd51f03c9942f5b4 - Reviewed-on: http://gerrit.openafs.org/9710 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 16d8ab09bd9a0bd75319e6c32afb8bc2c5c04e51 -Author: Andrew Deason -Date: Mon Dec 23 16:10:45 2013 -0500 - - RedHat: Fix specfile changelog - - Oct 29 2007 was a Monday, not a Tuesday. rpmbuild does actually yell - at us about this, so fix this so it will shut up. - - Change-Id: I5e13f227ed62c4bbb7ac72f2c844136648c935c7 - Reviewed-on: http://gerrit.openafs.org/10621 - Reviewed-by: Perry Ruiter - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit 837ec9dd41c4b1e10ad9d32a52b0f34dd665026a -Author: Andrew Deason -Date: Thu Dec 26 12:56:37 2013 -0500 - - Fedora: Handle new kernel variant paths - - With Fedora 20, Fedora now separates the variant from the rest of the - kernel version with a plus (+) instead of a period (.) . This results - in directories called e.g. 3.12.5-302.fc20.i686+PAE, where right now - we look for 3.12.5-302.fc20.i686.PAE. - - Use this new directory scheme for Fedora 20 builds, so we can build - against non-default kernel variants on Fedora 20 and beyond. - - Change-Id: I309272f4f4f740058c48e92530e40a1c64d63668 - Reviewed-on: http://gerrit.openafs.org/10620 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit cddc732ec5fd40c94126e5f0b7103136592a2efe -Author: Andrew Deason -Date: Mon Dec 23 13:32:28 2013 -0500 - - RedHat: Munge future kernel versions - - We currently look for "fc1?" (that is, fc10 through fc19) when trying - to munge the kernel version in some ways. This broke on Fedora 20, - since 20 obviously does not match "fc1?". Similarly, we look - specifically for "el6" for RHEL6 versioning quirks, but these will - break on RHEL7 and beyond. - - Change the version checks so that this will work all the way through - Fedora 99 and RHEL 9. That won't work forever, but it will keep us - working for a few versions if the versioning quirks do not change. - - Change-Id: I64dfd483eb2cfa57d67c97ae6db09be5bb020195 - Reviewed-on: http://gerrit.openafs.org/10618 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Ken Dreyer - -commit cb52cc6e44ed85515cc81685adacd7c40a48b8db -Author: Benjamin Kaduk -Date: Thu Jan 9 12:13:27 2014 -0500 - - ktc: fix up initializer for local_tokens - - The old initializer was incomplete (initializing only one of the four - fields in the struct), which prompted warnings from clang - (-Wmissing-field-initializers): - ../../../openafs/src/auth/ktc.c:149:2: warning: missing field 'server' - initializer [-Wmissing-field-initializers] - - Since the variable is at file scope, it will be initialized to all - zeros anyway, and there is no need for an explicit initializer. - - Change-Id: Ib7690759ec3403d1913852e30bb553ef8ac8f019 - Reviewed-on: http://gerrit.openafs.org/10686 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2d5f0a971baa05fc1a79726265a8235a0ebca4c0 -Author: Jeffrey Altman -Date: Thu Jan 9 09:58:56 2014 -0500 - - Windows: AFSCommonWrite STATUS_PENDING is Success - - AFSCommonWrite() can return STATUS_PENDING if the write has been - deferred. In that case, the function exit must not: - - * Update the Valid Data Length - - * Purge the cache - - * or do anything else related to the request - - Change-Id: Ib34bef3a1d56d452babcaf1f3cfbf77fe8f93388 - Reviewed-on: http://gerrit.openafs.org/10685 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d5bcff7429dd9972b17055a9abd98f3a590dee68 -Author: Jeffrey Altman -Date: Thu Jan 9 09:57:33 2014 -0500 - - Windows: Mark Irp Pending before Deferring - - After CcDeferWrite() is called we no longer have access to the - current Irp. If we mark it deferred after calling CcDeferWrite() - we might mark the wrong thing. - - Change-Id: Id4b1bbd241b5e2acafc8d015e85966cb80518dde - Reviewed-on: http://gerrit.openafs.org/10684 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6995a56884f31974e9b5a7c0c50e9c1aa0351a45 -Author: Jeffrey Altman -Date: Tue Jan 7 10:57:01 2014 -0500 - - Windows: cm_ConnByServer fix search for replication - - Separate connection objects are maintained for use when accessing - replicated and single source volumes. If the matching connection - type cannot be found while holding the cm_connLock shared a second - search is performed after the lock is upgraded to an exclusive lock. - This second connection search was not enforcing the replication criteria. - - Change-Id: I408a5d87c3a82da5235fa2255db7d1d7a6bcb6d9 - Reviewed-on: http://gerrit.openafs.org/10681 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cccb5e614212c341d2f5e799066d1c30e54ba494 -Author: Jeffrey Altman -Date: Tue Jan 7 10:53:37 2014 -0500 - - Windows: cm_connLock not required for cm_GetUCell - - In cm_ConnByServer() there is no need to hold the cm_connLock across - the cm_GetUCell() call. Obtain the cm_ucell_t object before the - cm_connLock is obtained. - - Change-Id: I971b55e0aae7748b59895785c1c22b5461c4fd35 - Reviewed-on: http://gerrit.openafs.org/10680 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit da7adce6dddd39eb151576abfb1681c559e1e4e5 -Author: Jeffrey Altman -Date: Wed Nov 27 14:41:18 2013 -0500 - - Windows: Rewrite LargeSearchTime conversions - - Use LARGE_INTEGER to avoid the need for shifting and DWORD casts. - Take into account the size of time_t. - - Change-Id: I056d920894b661ebb2060a5010efd9a0cd5a4a5d - Reviewed-on: http://gerrit.openafs.org/10673 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fd9d5318023e977793a4bf62f196e70b45049f10 -Author: Jeffrey Altman -Date: Thu Dec 26 22:02:50 2013 -0500 - - Windows: RDR_EvaluateNodeByName out of order param - - The bHoldFid parameter is after the bNoFollow parameter. The - two values were swapped resulting in unnecessary VLDB lookups. - - Change-Id: Ia94bd761576d54e9dde847385a4900f2d915c34d - Reviewed-on: http://gerrit.openafs.org/10636 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fb6bc16b335d0e50b49ed85570dbe9fc9adfaee0 -Author: Jeffrey Altman -Date: Wed Dec 18 08:48:44 2013 -0500 - - Windows: cm_SetupStoreBIOD compute correct scanEnd - - The algorithm used to ensure "chunk size" operations attempts to - enforce aligned chunks. There are two problems: - - 1. an aligned chunk range may extend beyond the end of the file. - - 2. an aligned chunk might end before the requested length of the - active write. - - Protect against scanning beyond the end of the file and do not truncate - writes. - - Change-Id: Ibe6caebd78f73d2c93bfef0dcebef379ca843994 - Reviewed-on: http://gerrit.openafs.org/10625 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4f1d4b63a90e85fd0c2edc592d18bdbe6a0b07f8 -Author: Jeffrey Altman -Date: Wed Dec 18 00:07:55 2013 -0500 - - Windows: BUF_HASH use opr_jhash_int2 - - BUF_HASH takes to 4-byte integers not three and therefore cannot use - the basic opr_jhash which assumes a minimum of three 4-byte integers. - - Change-Id: I7f30351025b3e9cd2156f772b0ed550b20964ad7 - Reviewed-on: http://gerrit.openafs.org/10624 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d8f75d3206eaa56b3a819a5bc13a4bf3a9130512 -Author: Andrew Deason -Date: Tue Dec 10 17:02:34 2013 -0600 - - cellconfig: Do not use 'long' for dbserver IPs - - A few places in this file assume that our dbserver IP addresses are - "long"s. A long int can be 8 bytes on some platforms, but we know - these IP addresses are all 4-byte integers. In the rare instances - where we have the maximum number of dbservers, this can overwrite a - bit of extra memory. This can also result in a misaligned access on - platforms such as SPARC v9, since the elements of he->h_addr_list are - not guaranteed to be 8-byte aligned. - - So instead, treat these as 4-byte integers. For copying out of - he->h_addr_list, also use a memcpy anyway to be safe, since we are not - guaranteed alignment. - - Change-Id: I1afd6e49df32693f86392cb39ce8d7477422aa94 - Reviewed-on: http://gerrit.openafs.org/10599 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 76076708a921aae0635975d418dea4b06d2c1af6 -Author: Mark Vitale -Date: Wed Dec 11 17:56:47 2013 -0500 - - viced: remove dead code CheckHost() - - Remove CheckHost(). - - Change-Id: I618066d28ef64fdfe94d5ab08ef89adb08a99fd6 - Reviewed-on: http://gerrit.openafs.org/10580 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit 0c5d403076946c7a4f53f5e44df8fe0d986cea06 -Author: Arne Wiebalck -Date: Fri Dec 13 11:46:04 2013 +0100 - - make openafs uninstallable even if /afs is missing - - The preuninstall scriptlet of the openafs RPM removes /afs. If, for - whatever reason, that directory does not exist, the scriptlet will - fail and hence break the deinstallation of the openafs package. The - proposed patch makes the scriptlet evaluate to true even if the /afs - has been removed by some other means and allows the package to be - uninstalled. - - Change-Id: I3340c94521e15c56fe10840aff7b0b1080009c10 - Reviewed-on: http://gerrit.openafs.org/10581 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8b8e8c2ab1974ba4c14942cc7bd94aac8602192f -Author: Stephan Wiesand -Date: Wed Dec 18 10:11:48 2013 +0100 - - doc: fix a nit in fs_newalias.pod - - The CAUTIONS section is about fs newalias, not fs newcell. - - Change-Id: I16ede184265e03a104fb724bece7fc461ca10415 - Reviewed-on: http://gerrit.openafs.org/10595 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e988aa45d765c935fef4bcd35585d6a3594cc497 -Author: Andrew Deason -Date: Tue Dec 17 17:30:26 2013 -0600 - - LINUX: Use sock_create_kern where available - - Currently, we use sock_create to create our Rx socket. This means that - accesses to that socket (sendmsg, recvmsg) are subject to SELinux - restrictions. For all recvmsg accesses and some sendmsg accesses, this - doesn't matter, since the access will be performed by one of our - kernel threads (running as kernel_t or something similar, which is - unrestricted). Such as: the rx listener, a background daemon, the rx - event thread, etc. - - However, sometimes we do run in the context of a normal user process. - For some RPCs like FetchStatus, we tend to run the RPC in the - accessing user thread, which can result in us sendmsg()ing the data - packets with the initial arguments in the user thread. We can also - send delayed ACKs via rx_EndCall, and possibly a variety of other - scenarios. - - In any of these situations when we are sendmsg()ing from a user - thread, SELinux can prevent us from sending to the socket, if the - calling user thread context is not able to write to an afs_t - udp_socket. This will result in packets not being sent immediately, - but the packets will be resent later, so access will work, but appear - very slow. This can easily happen for processes that are specifically - constrained by SELinux; for example, webservers are often constrained, - even if most of the rest of the system is not. This can be noticed by - seeing the 'resends' and 'sendFailed' counters rising in 'rxdebug - -rxstat', as well as noticing SELinux access failures if 'dontaudit' - rules are ignored. - - To avoid this, use sock_create_kern to create the Rx socket, to - indicate that this is a socket for use by kernel code, and not - accessible by a user. This should cause us to bypass any LSM - restrictions (SELinux, AppArmor, etc). Add a configure check for this, - since this function has not always existed, according to - - - Change-Id: I77e7f87e93be4d750d398e01dc1634efd80657bc - Reviewed-on: http://gerrit.openafs.org/10594 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit 2ed7023b26acb3277e42eac803a0702b95167e6e -Author: Andrew Deason -Date: Tue Dec 17 17:27:53 2013 -0600 - - rx: Remove obsolete comment - - This comment refers to the fact that we used to be just checking for - SELinux to see if we should pass that extra argument. Ever since - commit cb1b41b159b98881f66319d7f65d941ba9fab911, we do have a better - test for this. - - Change-Id: Idf2ff879f05774f49a11d04f87579afccf385b57 - Reviewed-on: http://gerrit.openafs.org/10593 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 61cc913ffeb9468a6e07fa4e6263bb35b6b441d0 -Author: Ben Kaduk -Date: Fri Dec 13 19:07:13 2013 -0500 - - Sort the rfc3961 library's export symbol list - - It was originally committed in an unsorted state. - - Change-Id: Ife43b60cd625eae5062865942fc5c8956d6b6aab - Reviewed-on: http://gerrit.openafs.org/10583 - Tested-by: BuildBot - Reviewed-by: Perry Ruiter - Reviewed-by: Jeffrey Altman - -commit d40ed7391670010db0df2202d770341b2ca82f32 -Author: Jeff Layton -Date: Fri Dec 6 13:34:04 2013 -0500 - - Linux: stop trying to use getname/putname - - The current code has afs_putname defined as - - kmem_cache_free (names_cachep, (void *) name); - - This is wrong and will cause a double -free when syscall auditing is - enabled. Fix it to call putname properly. - - Instead of that, just create a new afs_getname function that doesn't - bother with struct filename at all, and use that unconditionally. - - Signed-off-by:Jeff Layton - - Change-Id: I1cd58a7e528abfeb7473cf47ae4cff5b8c8f419c - Reviewed-on: http://gerrit.openafs.org/10547 - Tested-by: BuildBot - Reviewed-by: Jeff Layton - Reviewed-by: Derrick Brashear - -commit ce96143d79ea006f7b1318dd1c962d4c4f79fc1e -Author: Ken Hornstein -Date: Thu Dec 5 13:57:36 2013 -0500 - - Remove extra whitespace from macro invocations - - On MacOS X 10.9, the compiler has switched to LLVM and as a consequence - generates an error if there is a space between a macro invocation and - the starting left parenthesis. - - Based on code originally done by Matt Haught . - - Change-Id: I28848f5294d0575d8abb1759c202cc3c2db85ac2 - Reviewed-on: http://gerrit.openafs.org/10540 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cb53d255a6285c884c6a5ea9a20427327b1ab9b3 -Author: Ken Hornstein -Date: Thu Dec 5 13:53:56 2013 -0500 - - Packaging support for MacOS X 10.9 "Mavericks". - - Based on work originally done by Matt Haught . - - Change-Id: Ibc7d79953667dfdfcc2e6c5c1c4c77249f11f4ad - Reviewed-on: http://gerrit.openafs.org/10539 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit aac384b2eda823519780afed84e53a868561711d -Author: Ken Hornstein -Date: Thu Dec 5 13:46:18 2013 -0500 - - Add support for configuration of MacOS 10.9 "Mavericks". - - Based on work originally done by Matt Haught - - Change-Id: I331cfc0040fab526c32e24f6af970f352f0a0a8e - Reviewed-on: http://gerrit.openafs.org/10538 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2c8d55bee128071807143db6e880a4a6afaea9ba -Author: Jeffrey Altman -Date: Thu Dec 5 00:41:10 2013 -0500 - - Windows: RXAFS_GetVolumeStatus no PRSFS_READ check - - Since d2d591caf2c9b4cf2ebae708cc9b4c8b78ca5a5a the file server no - longer performs a PRSFS_READ access check for the GetVolumeStatus RPC. - The cache manager should no longer test for PRSFS_READ as a means of - avoiding RPCs that are known to fail. - - Change-Id: I67bd849d337d87657db8e1f0ed2839367b7972a8 - Reviewed-on: http://gerrit.openafs.org/10532 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 082597be62ce3f0dfd5fb881abd8770e2fa1ad43 -Author: Chas Williams (CONTRACTOR) -Date: Mon Nov 25 07:13:32 2013 -0500 - - lwp: rw now depends on libopr - - rw (a test program for lwp) needs libopr to build - - Change-Id: I489e675f5a1b845c7a8083466b44a73af305f8b8 - Reviewed-on: http://gerrit.openafs.org/10517 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit faf14be3827fa72914a1c792c9a99a3353717ded -Author: Christof Hanke -Date: Thu Dec 5 10:00:42 2013 +0100 - - Linux: fix whitespace issue - - introduced in Change I1e84969b. It does not - follow the overall style. - - Change-Id: I5f68fdf425b365d69ee94680cef014de679cf6ff - Reviewed-on: http://gerrit.openafs.org/10529 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9b6f79108725dc5b6d4cbea4697199e5e745dc99 -Author: Jeffrey Altman -Date: Wed Nov 27 12:26:44 2013 -0500 - - Windows: RDR capture Cc/Mm exceptions do not break - - All of the Cc and Mm functions are wrapped in try/except blocks. - The purpose is to ensure that Cc and Mm do not return an error as - an exception which could result in the afs redirector failing to - release a resource. Instead of calling the AFS exception handler - just handle the exception with EXCEPTION_EXECUTE_HANDLER. This permits - the __except block to capture the exception code. - - The AFS exception handler will throw its own exception if the - AFSDebugFlags AFS_DBG_BUGCHECK_EXCEPTION bit is set. This is helpful when - debugging exceptions thrown by errors in the afs redirector code. It is - not helpful when a Cc function throws an exception. For example, - CcReadCopy() will throw STATUS_DELETE_FILE as an exception if an attempt - to read from a deleted file is initiated. This should simply fail the - read operation not BSOD the system. - - Change-Id: I2fd1d4db530600441272e59353fbf28b831e2691 - Reviewed-on: http://gerrit.openafs.org/10524 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 1e24762a2cf6590798aa9ce483a1374466c7847b -Author: Jeffrey Altman -Date: Mon Nov 25 20:27:10 2013 -0500 - - Windows: AFSRDFSProvider NPOpenEnum vs no redirector - - If there is no redirector device present, return WN_NO_NETWORK - to indicate that this network provider is not ready for browsing. - - Change-Id: I3e33769bb2d52a59b0ff993aa07e89d959d60800 - Reviewed-on: http://gerrit.openafs.org/10523 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 45f7528af726b040062b4c769bbf4fcbb93488d1 -Author: Ben Kaduk -Date: Wed Nov 27 10:26:33 2013 -0500 - - Remove klogin - - It has not been connected to the build since at least the 1.2 days - and should be considered dead code. - - FIXES 131777 - - Change-Id: Id1551e7f9f543934dc8755a29f46aa7b905bfadd - Reviewed-on: http://gerrit.openafs.org/10522 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 06fe2957348cfb2c571f2a0b099e09ef7e9fb3b0 -Author: Jeffrey Altman -Date: Tue Nov 26 10:52:45 2013 -0500 - - Windows: Rationalize Freelance vs "fs flush*" - - Background: - - cm_scache_t objects representing Freelance volume (cell=-1, volume=-1) - are special because they are populated from the Freelance mountpoint - and symlink tables. These tables are in turn generated from the - registry. The tables are regenerated on-demand after the execution of - cm_noteLocalMountPointChange() which increments cm_data.fakeDirVersion - which becomes the new data version value for the (-1.-1.1.1) directory - object. - - The next time that cm_GetSCache() is called for a Freelance object - the fake root directory is rebuilt by cm_InitFakeRootDir(). Since the - vnode values are not persistent with regards to directory entry names the - FileId unique is used to distinguish the various versions. - cm_data.fakeUnique is incremented with each call to cm_InitFakeRootDir(). - - Each time cm_noteLocalMountPointChange() is executed the afs redirector is - notified of the data version change which will force the redirector to - rebuild its view of the directory the next time a path evaluation requires - evaluation of the root (\afs). In other words, on the next request. - - If cm_noteLocalMountPointChange() is executed multiple times there is the - possibility of a race between the redirector and the service. When the - race is lost the redirector receives an invalidation event for -1.-1.1.1 - as it is in the process of rebuilding the directory contents. The - redirector ends up believing it has the most recent data version when it - doesn't but the service no longer has Freelance mountpoint and symlink - tables representing the requested data version. Hence, the mountpoints - and symlinks end up as CM_SCACHETYPE_INVALID. - - fs flushfile and fs flushvolume both had explicit checks to prevent - flushing Freelance objects because each call to cm_FlushFile() on a - Freelance object would execute cm_noteLocalMountPointChange() triggering - the race. - - The Problem: - - fs flushall is not executed on a specific object (volume or file). - Therefore there was no explicit check to prevent execution against - Freelance objects. For each cm_scache_t in the cache cm_FlushFile() is - processed. If there are N Freelance mountpoints and symlinks, there will - be N+1 calls to cm_noteLocalMountPointChange() in quick succession. Not - only does this risk losing the race described above but it is extremely - wasteful as the Freelance tables may be repeatedly regenerated. - - This Patchset: - - This patchset re-organizes the Freelance processing in the flush code - paths. cm_FlushFile() and cm_FlushVolume() can simply no longer be - successfully executed against a Freelance object. Both will return - CM_ERROR_NOACCESS. - - "fs flush " is not permitted against Freelance objects. - - "fs flushvolume " will execute cm_noteLocalMountPointChange() once if - the path is a Freelance object. - - "fs flushall" continues to execute cm_FlushFile() on all cm_scache_t - objects. The calls on Freelance object will fail. After all cm_scache_t - objects are flushed then cm_noteLocalMountPointChange() will be executed - once to force the Freelance directory to be rebuilt. - - This patchset does not address the race but significantly reduces the - likelihood the race will be lost. - - Change-Id: I298dad453432001b7b2e6f4533ddee17e041b02e - Reviewed-on: http://gerrit.openafs.org/10521 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0e851b7fcb6f8c802106e5e76c601800867e65e1 -Author: Jeffrey Altman -Date: Tue Nov 26 10:31:32 2013 -0500 - - Windows: Reset mp/symlink target during fs flush* - - When processing a "fs flush*" command, reset the the cm_scache_t - mountPointStringp which contains the known mountpoint or symlink - target information. - - Change-Id: I72bba6101699e82649eed226cdfc73077b13de92 - Reviewed-on: http://gerrit.openafs.org/10520 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5b67620c7b3ad224ea53075e37ecf1f7e6a7c51a -Author: Stephan Wiesand -Date: Thu Nov 21 15:01:29 2013 +0100 - - Linux: Fix build for older kernels w/o bool - - Commit b7f4f2023b2b3e1aac46715176940fb50cc75265 broke builds against - older kernels which don't have bool defined in linux/types.h . Fix - this by using unsigned char instead of bool for the static inline - functions. - - Change-Id: Icbb82446ef66edd2650f33135ed6ccd2b8a920b2 - Reviewed-on: http://gerrit.openafs.org/10483 - Tested-by: BuildBot - Reviewed-by: Anders Kaseorg - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 3f4c1099b7b2d1467b1f5b701ea2f953fec20dc0 -Author: Ken Hornstein -Date: Wed Nov 20 13:37:52 2013 -0500 - - Support for changes to OS X Mavericks VNOP_SYMLINK() function. - - Add support for an extra argument to afs_symlink() to return the - newly-created symlink vnode if requested (this is needed on OS X - Mavericks). On OS X Mavericks return the newly-created symlink vnode in - the symlink vnops functions, on all other platforms ignore it. - - It turns out that technically OS X has required the symlink to be - created for a while, but code inside of symlink() would call namei() on - the symlink name if the returned vnode point was NULL. The difference - is that on Mavericks the Manditory Access Control Framework has been - enabled, and that turns on some extra code which unconditionally calls - vnode_mount() on the returned vnode pointer, which ends up causing a - panic - - Change-Id: I33b2f51cd10f76689eb9868eb05800ab493087c4 - Reviewed-on: http://gerrit.openafs.org/10474 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a1b5a1d42280753de13094006dcc130fede978a1 -Author: Jeffrey Altman -Date: Sun Nov 17 23:03:43 2013 -0500 - - Windows: cm_Analyze retries vs CM_REQ_NORETRY - - CM_REQ_NORETRY is set by threads that want all errors returned - immediately. However, there are some errors that should never - be returned: - - RX_MSGSIZE - RX_CALL_BUSY - VNOSERVICE - RX_CALL_IDLE - RXKADEXPIRED - VICECONNBAD - VICETOKENDEAD - - For these errors even if the thread has requested no retries a RPC - retry must be performed. - - Change-Id: I692f65a9fdbbf27fc880ac8912fc72c1d1357c6d - Reviewed-on: http://gerrit.openafs.org/10470 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a95b1f2f15d3f8efff74ad7df5085b8f30885dbc -Author: Chas Williams (CONTRACTOR) -Date: Wed Nov 20 13:57:13 2013 -0500 - - cmd: Correctly initialize cmd_OptionAsString arguments - - These are coming from the stack and as such they might not be NULL. - - Change-Id: Ia5c6efd08574b4de05a11dceae47021b0160395b - Reviewed-on: http://gerrit.openafs.org/10475 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 779ab18bafdea3535b403ba62f3ec8a8b127748e -Author: Christof Hanke -Date: Tue Nov 19 09:57:22 2013 +0100 - - Linux: always include headerfile - - when it is required. In some linux-kernels (like in SLES11 SP3) - it is not done automatically and the compilation fails. - - Change-Id: I1e84969b26e87e36893b071103325a7a532ebbf9 - Reviewed-on: http://gerrit.openafs.org/10471 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 250a4341bc85a74f1b3a89a2ebd7df324f0b8b71 -Author: Michael Meffie -Date: Wed Oct 2 15:37:18 2013 -0400 - - util: remove dup include - - Change-Id: I415dbcae5ae549b6347286ecdee5717fb66cc012 - Reviewed-on: http://gerrit.openafs.org/10319 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Christof Hanke - Reviewed-by: Stephan Wiesand - Reviewed-by: Derrick Brashear - -commit 38fc16ddbf1e5477050db21c94d55f75bdadf80b -Author: Michael Meffie -Date: Wed Oct 2 15:35:09 2013 -0400 - - cleanup potpourri.h references - - Clean up references to a header file which was removed some time ago. - - Change-Id: I2ddc26afc01edf84bb1bdb21a3488c88dd6c9775 - Reviewed-on: http://gerrit.openafs.org/10318 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Reviewed-by: Derrick Brashear - -commit a178a9bd00cdce93a33f7663bfc4989c9eda3979 -Author: Chas Williams (CONTRACTOR) -Date: Wed Nov 6 08:45:52 2013 -0500 - - autoconf: Combine the x86/solaris configuration stanzas - - This reduces some clutter and makes it easier to see what is - different. - - Change-Id: I2bad8b085daf04444d2740287c106008e2650bc9 - Reviewed-on: http://gerrit.openafs.org/10463 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d067089e444124e723d1405cc13c058883b66e6d -Author: Chas Williams (CONTRACTOR) -Date: Wed Nov 6 07:36:02 2013 -0500 - - autoconf: Combine the sparc/solaris configurations - - According to cc's man page: - - v9 Is equivalent to -m64 -xarch=sparc - Legacy makefiles and scripts that use - -xarch=v9 to obtain the 64-bit memory model - need only use -m64. - - Change-Id: Idd1021f3fef9c427072079f3c7d7aa9ca6fa0060 - Reviewed-on: http://gerrit.openafs.org/10462 - Tested-by: BuildBot - Reviewed-by: Jeffrey Hutzelman - Reviewed-by: Derrick Brashear - -commit 0570d13a62c6f9416bed4fcbab5cf49a45b4dcc1 -Author: Jeffrey Altman -Date: Fri Nov 15 17:32:37 2013 -0600 - - Windows: cm_FindVolumeByFID - - cm_GetVolumeByFID() does not query the vldb if the volume group - is not known to the cache manager. cm_FindVolumeByFID() is to - be used in cases where the volume group data must be known for the - operation to successfully complete. - - Change-Id: I9bb3bd13f14dea534952495b00a3348aafd2d591 - Reviewed-on: http://gerrit.openafs.org/10465 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dbedd62b7cb6c2203afea72d6f0ea32b0d623b10 -Author: Jeffrey Altman -Date: Tue Nov 12 09:58:44 2013 -0500 - - Windows: Fix out of range pointer validation - - The ACL, Stat, and Volume pointer validation checks did not take - into account that NULL is a valid pointer value. As a result the - cache validation failed. - - Change-Id: I538310d534fd4ada383d5bf0dc58d49206fe3dfb - Reviewed-on: http://gerrit.openafs.org/10453 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 727e951d8c49a98d2c37378c863cd050b8d768eb -Author: Jeffrey Altman -Date: Mon Nov 4 00:12:07 2013 -0500 - - Windows; GetSystemTimeAsFileTime - - As per Raymond Chen's "The Old New Thing" blog - - http://blogs.msdn.com/b/oldnewthing/archive/2013/11/01/10462403.aspx - - Calling GetSystemTime() followed by SystemTimeToFileTime() performs - two format translations which can be avoided by using - GetSystemTimeAsFileTime() directly. - - Change-Id: I3d3de0e045777c9dfdb1c1f4503bfdfe19fb7b73 - Reviewed-on: http://gerrit.openafs.org/10430 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3f5f3013e91de3fddaee96598ef0311f8f2d5e22 -Author: Jeffrey Altman -Date: Wed Oct 30 00:44:25 2013 -0400 - - Windows: GiveUpAllCallBacks only if non-loopback - - If the only ip addresses are known to be loopback addresses, then - do not waste time by attempting to GiveUpAllCallBacks during suspend - or shutdown. - - Change-Id: I28b08e61435a7132ba08c9649010185097df0da0 - Reviewed-on: http://gerrit.openafs.org/10429 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d0a13fe678412464452afae9379d63fa48d41d83 -Author: Anders Kaseorg -Date: Thu Nov 7 15:37:25 2013 -0500 - - Linux: Get rid of !STRUCT_KEY_UID_IS_KUID_T case - - On the few kernel versions before struct key.uid was converted to - kuid_t (v3.7-rc1~147^2~76), it was not possible to enable both - CONFIG_KEYS and CONFIG_UIDGID_STRICT_TYPE_CHECKS, so this case was - impossible. Thatā€™s good, because it also had a typo in its - implementation (and was confusing to deal with correctly). - - Change-Id: I4ecd164ed3604558ed4419bf6f9d531bd5d1a9ff - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/10443 - Reviewed-by: Derrick Brashear - Reviewed-by: Stephan Wiesand - Reviewed-by: Marc Dionne - Tested-by: BuildBot - -commit f5f53cb0a1f326ed4695621f6a5a63f798444549 -Author: Anders Kaseorg -Date: Tue Nov 12 00:23:47 2013 -0500 - - Linux: afs_fill_super: Call bdi_destroy on the failure path - - Without this, if AFS startup failed, then trying to start AFS again - triggers these warnings: - - WARNING: CPU: 3 PID: 657 at /build/buildd/linux-3.12.0/fs/sysfs/dir.c:526 sysfs_add_one+0xa5/0xd0() - sysfs: cannot create duplicate filename '/devices/virtual/bdi/afs' - - WARNING: CPU: 3 PID: 657 at /build/buildd/linux-3.12.0/lib/kobject.c:196 kobject_add_internal+0x1f4/0x300() - kobject_add_internal failed for afs with -EEXIST, don't try to register things with the same name in the same directory. - - and leads to general system instability. This can be reproduced by - starting AFS twice with an empty cache, dynroot disabled, and no - network. - - Change-Id: I8ec1ed365c5b3cf60bd34af0aca94e0c496bcaa3 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/10448 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 9f6f419b9a93b40280bd2a622ed1561f032361bf -Author: Michael Meffie -Date: Thu Oct 3 12:44:30 2013 -0400 - - build: more configure summary - - Improved configure summary, including a check for namei fileserver mode. - - Change-Id: Id5117ae8c27126c56e28eb3ab7f6e8ef7fd0558d - Reviewed-on: http://gerrit.openafs.org/10372 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 53a50414c23dd8b045eca6b58d4be13707f2f36d -Author: Andrew Deason -Date: Thu Nov 7 00:05:39 2013 -0600 - - doc: backup manpage fixes - - - Consistently specify -dryrun and -n across various subcommands. - Many did not list -n, some listed -n but no -dryrun, and some - listed -noexecute instead. - - - backup_volrestore: Add missing option -usedump - - - backup_deletedump: Add missing options -groupid, -dbonly, -force, - and -portoffset - - Change-Id: Iec1c36cba0ad0e61d7e6215c9cba81228b95a81f - Reviewed-on: http://gerrit.openafs.org/10441 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ad357e4ce49fe034221179e500ce53944b3a8bf4 -Author: Andrew Deason -Date: Thu Nov 7 00:03:17 2013 -0600 - - backup deletedump: Change -port to -portoffset - - Use -portoffset instead of -port, for consistency with all of the - other backup suite commands. Leave -port in as an alias, for backwards - compatibility. Currently -port will mean -portoffset anyway, since - it's an unambiguous abbreviation, but put in the alias explicitly, - just in case some other option comes along starting with -port. - - Change-Id: I2f8aaa34fdf9e7c80a8fec1dc1caf63d9b7192b1 - Reviewed-on: http://gerrit.openafs.org/10440 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit dc4384653fed48104016a0e00fc2487851eb6806 -Author: Andrew Deason -Date: Tue Nov 5 11:00:21 2013 -0600 - - backup: Display general help on -help - - Currently, 'backup' tries to guess if we are running 'backup - interactive' before libcmd actually parses our arguments. This is - tricky, since we run 'backup interactive' if no explicit subcommand is - actually given. One consequence of this is that currently, running - 'backup -help' just displays the help for the 'backup interactive' - command, not the help output for 'backup' itself. - - The current heuristics for guessing at whether we are running 'backup - interactive' or not are a bit fishy, but at least for now, just make - sure -help works. This should still ensure any other behavior is - unchanged, but just 'backup -help' now works like other command - suites. - - Change-Id: I31ecbcad7efffd301d23f109c66eee0417882a90 - Reviewed-on: http://gerrit.openafs.org/10439 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c870513c5ec576a966f97cd2ab92c900dcbe4410 -Author: Andrew Deason -Date: Wed Jun 12 17:48:46 2013 -0500 - - doc: Add 'checkman' tool - - Add the 'checkman' script, which compares a command's "-help" output - to the options actually documented in its manpage. This command is - certainly not perfect, and may contain false negatives and false - positives. It is not (currently) intended to be run as an automated - check, but is meant to assist a human manually checking the - correctness of man pages. An error reported by 'checkman' does not - necessarily indicate something that should actually be changed. - - Change-Id: Iae1965c441279dd3f93c1a7283ea0a0140d5ebe3 - Reviewed-on: http://gerrit.openafs.org/10442 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a9301cd2dc1a875337f04751e38bba6f1da7ed32 -Author: Andrew Deason -Date: Fri Jun 14 15:37:27 2013 -0500 - - bos: Remove MR-AFS commands and options - - The blockscanner and unblockscanner commands, as well as many options - to "bos salvage", were only of use to MR-AFS. MR-AFS is not used - anywhere anymore, and these commands and options were largely - undocumented, so get rid of them. See - . - Thanks to Hartmut Reuter for providing information about this. - - Change-Id: I496eb4a23a0310aafd6c224a08c76a8b7464c758 - Reviewed-on: http://gerrit.openafs.org/10425 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 27768ade8578ced4485b1601e26bff53d5450f50 -Author: Andrew Deason -Date: Wed Oct 30 23:33:40 2013 -0500 - - volserver: Remove -sleep functionality - - This option is completely useless since the LWP volserver was removed. - Remove the code for it. - - Change-Id: I2257ba2ecd2ffeb9c47d21cbb516d6a0abb19b94 - Reviewed-on: http://gerrit.openafs.org/10424 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 90753f9dc77ea5a4ec4e13947e78e3aa63d785f0 -Author: Andrew Deason -Date: Wed Oct 30 23:28:16 2013 -0500 - - volserver: Restore -allow-dotted-principals - - Commit cd3492d0 converted volserver command-line parsing to use - libcmd. However, it accidentally also changed the - -allow-dotted-principals option to -dotted. Change it back to - -allow-dotted-principals for consistency with previous versions, as - well as other server processes. - - Note that currently there are no public releases of OpenAFS containing - cd3492d0, so no public release has contained the -dotted option. - - Change-Id: Ied07f0eb867a13591656daae00bc9e85a2c7f6c8 - Reviewed-on: http://gerrit.openafs.org/10423 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 90d4cbc285071bd5c9b6f9d5096879bc6bb43da1 -Author: Andrew Deason -Date: Tue Oct 29 21:22:02 2013 -0500 - - volserver: Exit on arg parsing failure - - If ParseArgs returns an error, argument parsing failed. Currently we - keep going anyway, ignoring the error. Exit instead. - - Change-Id: I2f9e4e06d6c3fab8e29921bdb0ea30d714c794b1 - Reviewed-on: http://gerrit.openafs.org/10422 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b7f4f2023b2b3e1aac46715176940fb50cc75265 -Author: Anders Kaseorg -Date: Thu Oct 31 09:11:59 2013 -0400 - - Linux: Fix build with CONFIG_UIDGID_STRICT_TYPE_CHECKS (user namespaces) - - With CONFIG_UIDGID_STRICT_TYPE_CHECKS (a dependency of user namespace - support, CONFIG_USER_NS) turned on, uid_t and kuid_t are different - types, as are gid_t and kgid_t, and we need to use namespace-dependent - functions to convert between them. - - We canā€™t use init_user_ns as the namespace because itā€™s GPL-only, so - instead we grab the current user_ns at module load time. - - This is required to support kernels with user namespace support. We - donā€™t yet have full support for independent AFS use by different users - in a multiuser container; that will need to wait for future work. - - Change-Id: Icc03f9098dd25b483d406db5167264ba960cdcb7 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/10386 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 231e50ff9742927188d67099f0e1dbaf09858c3c -Author: Anders Kaseorg -Date: Tue Nov 5 01:11:15 2013 -0500 - - afs_linux_pag_from_groups: Stop checking for NOGROUP sentinel - - Linux hasnā€™t used NOGROUP as a sentinel like this since before kernel - 2.1.12, and OpenAFS hasnā€™t used it on Linux since commit - 109927bf6f54b58b76ac48ba41c2012c74937fed (Remove pre-Linux 2.6 - support). - - Change-Id: I0b18de8e5d9b6cd9b20da43ed050163c2d8651ff - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/10426 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 076b9b746569ebdfbec2c8ae98a1d338c97a3d70 -Author: Andrew Deason -Date: Tue Oct 29 21:11:54 2013 -0500 - - Exit successfully on -help - - Running a command with -help is not an error. cmd_Dispatch handles - this correctly, but several server processes call cmd_Parse directly, - and exit with failure on -help. Make them exit successfully instead. - - Change-Id: Ieab32ba4a62a182308538469e69320d241dc3aad - Reviewed-on: http://gerrit.openafs.org/10421 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d28a21f0d806e867ccef9bd534ce25b52978df62 -Author: Andrew Deason -Date: Fri Jul 26 21:58:21 2013 -0500 - - klog.krb5: Don't hide the -x option - - We accept the -x option, even if it doesn't do anything. Don't hide - it, to be honest about what options we accept. - - Change-Id: I779558c429b18c97c495c5e9ae81f8630383f572 - Reviewed-on: http://gerrit.openafs.org/10420 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e7b75a2e405032990932bf7734e851379c32adf6 -Author: Andrew Deason -Date: Sun Nov 3 18:59:08 2013 -0600 - - Do not hide -enable_{peer,process}_stats - - Both afsd and kaserver accepted the -enable_peer_stats and - -enable_process_stats options, but they did not include the options in - their usage message. We already document these flags in the manpages, - so also include them in the usage message; they are not a secret. - - Change-Id: Ic1ff0e8c0dcd07e2721676b09a53c30a3db3ee9d - Reviewed-on: http://gerrit.openafs.org/10419 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 701fe99a58f2be2a82b3dd83658c09bdbc715f55 -Author: Andrew Deason -Date: Sun Jun 30 17:44:21 2013 -0500 - - ptserver: Fix argument aliases - - It's "-db", not "db". Similarly, it's "-depth", not "depth". - - Change-Id: I24a3f08d02f9b14d06ad3f04c52957c46001b2d9 - Reviewed-on: http://gerrit.openafs.org/10418 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 20faeaaa324c3dc13824727e352bcfba2e2387f9 -Author: Andrew Deason -Date: Sun Jun 30 13:41:47 2013 -0500 - - bozo: Fix help message formatting - - Need a space here to separate [-allow-dotted-principals] from the - following option. - - Change-Id: Iabe353fd1c5366064a448c15a7c986d0fcf35415 - Reviewed-on: http://gerrit.openafs.org/10417 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f2ac99c5b4e905f77d64efea9a9d9ab357331957 -Author: Andrew Deason -Date: Fri Jun 14 16:17:44 2013 -0500 - - viced: Misc argument parsing fixes - - - It's -pctspare, not pctspare. - - - The -config and -logfile options are already specified in the - "testing" options section. Don't specify them again here. - - Change-Id: Ieace97d92d35dc2e310a8122bdec7987246aa723 - Reviewed-on: http://gerrit.openafs.org/10416 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 5e461e52dcd02e7b18424c89fa64f05f67c8654c -Author: Andrew Deason -Date: Sun Oct 27 23:19:24 2013 -0500 - - doc: Add 'fs discon' manpage - - Change-Id: I67c3bf50bfb7f4f7c0eb46cd011cc8ae68ec5302 - Reviewed-on: http://gerrit.openafs.org/10415 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e96803d22a7393e280dc206b7db6b008a78f0643 -Author: Andrew Deason -Date: Sat Oct 19 16:12:03 2013 -0400 - - doc: Add 'fs nukenfscreds' manpage - - Change-Id: I51c6cd56f463e10ab51adf20a0cf8505e3361326 - Reviewed-on: http://gerrit.openafs.org/10414 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fb311d271ddc335c38c3a0775720695cb29b08f2 -Author: Andrew Deason -Date: Sat Oct 12 23:55:09 2013 -0400 - - doc: Add 'fs precache' manpage - - Change-Id: Ib4101fdb37cf91a547974216425e4a005392d988 - Reviewed-on: http://gerrit.openafs.org/10413 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ff3fca515e558d1ed62955ab11f5b328471a94ba -Author: Andrew Deason -Date: Thu Sep 5 00:48:02 2013 -0500 - - doc: Symlink all dafssync-debug pages - - For every fssync-debug subcommand, provide a symlink for the - associated dafssync-debug subcommand. This way, running e.g. - "man dafssync-debug_attach" will actually give you a manpage, instead - of needing to specifically run "man fssync-debug_attach". - - Change-Id: I83d71dc14f9f838d9a9900fcc62817677898dd27 - Reviewed-on: http://gerrit.openafs.org/10412 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 477f270656171da1cc69902b6b5917d79e19bd3d -Author: Andrew Deason -Date: Mon Nov 4 10:04:42 2013 -0600 - - doc: Fix livesys output formatting - - If we indent text here, the formatting codes are not interpreted, and - the text is output "raw". So currently, we actually see - "I" in this section, which is a bit confusing. - - Saying the actual output with string substitutions and stuff here - doesn't seem very helpful when the output doesn't have any constant - text in it. Just describe what the output is instead; an example - immediately follows if this is unclear. - - Change-Id: Ib3e0f0c5143afa2dd41a655ff3908c791026a426 - Reviewed-on: http://gerrit.openafs.org/10411 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e3cd2bcc613743f1e49c4da011a7c6bb580ff1ef -Author: Andrew Deason -Date: Thu Sep 5 00:26:00 2013 -0500 - - doc: butc manpage fixes - - Add missing -rxbind option. - - Change-Id: I25fb205dc058ed345bda4d86bd1d344457432939 - Reviewed-on: http://gerrit.openafs.org/10410 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bd8282d7bcd84a96f1007e86782e35d7ed9004d9 -Author: Andrew Deason -Date: Fri Jul 26 22:14:07 2013 -0500 - - doc: pt_util manpage fixes - - Add missing -help option. - - Change-Id: I2edd7bcaf5b5799ba1216777200580df2cd9ca7f - Reviewed-on: http://gerrit.openafs.org/10409 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0ccd02ebae1308d7b73cb5aa257f7cb0a1d1b805 -Author: Andrew Deason -Date: Fri Jul 26 22:10:16 2013 -0500 - - doc: kdb manpage fixes - - Add the missing -numeric and -long options. - - Change-Id: I83776e64a161bc0a3ca9260944570799c506bbac - Reviewed-on: http://gerrit.openafs.org/10408 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 37cdc7113279d0e04ad4d7e36776d2af963d0bf8 -Author: Andrew Deason -Date: Fri Jul 26 21:49:05 2013 -0500 - - doc: volinfo manpage fixes - - We now have a -checkout option, but no -online option. Document - -checkout and remove -online. - - Change-Id: Ie8d6e35c6e09abf994b8417b3bb20ee379095a25 - Reviewed-on: http://gerrit.openafs.org/10407 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c9b2a191ea87eee909d2bf64b13e95ae90877ed4 -Author: Andrew Deason -Date: Fri Jul 26 21:00:14 2013 -0500 - - doc: rxdebug manpage fixes - - Add missing option -long. - - Change-Id: I23e3bc38e6962b7727a2aaa07bab7b0818ebcee0 - Reviewed-on: http://gerrit.openafs.org/10406 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 374593ca5790203cd856ea1705dbda721d3c3f3a -Author: Andrew Deason -Date: Wed Jul 24 18:00:25 2013 -0500 - - doc: vldb_check manpage fixes - - - Add missing option -fix - - - Don't use brackets in the option list; we don't do this in most - other manpages. - - Change-Id: Ifd87dd749aaab2987b2f9c3224b8e931b7bc221c - Reviewed-on: http://gerrit.openafs.org/10403 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a86ca4a49c7d3d693d9fd03e7dad6a1f8d1c57e9 -Author: Andrew Deason -Date: Fri Jul 26 20:54:20 2013 -0500 - - doc: upserver manpage fixes - - Add missing option -rxbind. - - Change-Id: I1e6057c3747cf6c502bf14e1d094b8b64691615d - Reviewed-on: http://gerrit.openafs.org/10405 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c9dad4dd6f5d43340b8c566ba89365e2e9fa69f5 -Author: Andrew Deason -Date: Fri Jul 26 20:40:50 2013 -0500 - - doc: afsmonitor manpage fixes - - Add missing option -debug. - - Change-Id: I48b37cce536987f5cbf3905e1de70238e83664b5 - Reviewed-on: http://gerrit.openafs.org/10404 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ade56fa2f9ba8217919dbae301639c3ff10027ef -Author: Andrew Deason -Date: Sat Jun 29 21:06:51 2013 -0500 - - doc: Make all vos pages =include common options - - Many manpages for "vos" subcommands were not using the "common" vos - fragments, and instead were just repeating the information directly in - their manpage. Make them all use the "common" vos fragment to avoid - duplication. - - Change-Id: I62d84a1164b4ba46082e33a6d27fd24e3722014c - Reviewed-on: http://gerrit.openafs.org/10398 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 7e49cd3110f4833bd3d8c4f7be85a5edcd3d7e7c -Author: Andrew Deason -Date: Thu Jun 20 17:45:05 2013 -0500 - - doc: vos manpage fixes - - - Add missing -config option to 'common' vos options, and to the - synopsis for all commands - - - Remove brackets in the options descriptions for vos_shadow, - vos_create, and vos_clone. We don't do this in other manpages. - - - vos_create: Add missing -id, -roid to synopsis - - - vos_clone: Add missing -readwrite option - - - vos_shadow: Add missing -toid option - - Change-Id: I41fd56509e78116698c82a2f3f4fd07f26cdc95f - Reviewed-on: http://gerrit.openafs.org/10397 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 90398d078755e84b9c1b0864485744473f0316f9 -Author: Andrew Deason -Date: Sat Jun 29 15:59:51 2013 -0500 - - doc: fs manpage fixes - - - fs_whichcell: Fix formatting typo - - - fs_setcbaddr: Change -host to -addr - - - Add missing -help to fs_setcbaddr and fs_rxstatproc - - - fs_getfid: Add missing -literal to synopsis - - - fs_exportafs: List on/off options in single =item. Doing this in - two separate consecutive =items confuses the manpage generator. - - - fs_exportafs: Add missing -clipags and -pagcb - - Change-Id: I4e986543292f1000fc00456fde486d7da573c9c3 - Reviewed-on: http://gerrit.openafs.org/10396 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 202c1018b1b8646083368d55ed0dae64229b6a8b -Author: Andrew Deason -Date: Sun Jun 30 18:59:02 2013 -0400 - - doc: restorevol manpage fixes - - - Remove nonexistent -verbose option from synopsis - - - Add missing options -umask and -help - - Change-Id: Iedddf78c074ead9ab3454bf151adb90138a562b6 - Reviewed-on: http://gerrit.openafs.org/10402 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f430e98ce74eebe50417ac2d0cb151b8fe953edf -Author: Andrew Deason -Date: Sun Nov 3 19:04:30 2013 -0600 - - doc: bosserver manpage fixes - - Fix -noauth documentation. The current documentation is referring to - the client-side -noauth option, but this is actually the server-side - -noauth option, which is very different. - - Change-Id: I65154aef4734e69bb0f3ae485baacac11a718488 - Reviewed-on: http://gerrit.openafs.org/10401 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8387a00550c2ac6a195a2c016276de0202c1d26e -Author: Andrew Deason -Date: Sun Nov 3 19:03:42 2013 -0600 - - doc: vlserver manpage fixes - - - Indent synopsis formatting - - - Add missing options -trace, -noauth, -smallmem, -rxmaxmtu, - and -syslog - - - Fix some formatting typos in the synopsis - - - Document the -db alias by putting it next to the -database option, - separated by a pipe "|" - - Change-Id: I4c84baf53d346cb47416cb2843e8b7de2437d147 - - vlserver: -database option - - Change-Id: I7f5539aeebee71441a3901a183033fac05fa411f - Reviewed-on: http://gerrit.openafs.org/10400 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1974b55b1cd6dacbf7374e926c6dd94d61687505 -Author: Andrew Deason -Date: Sun Nov 3 19:02:50 2013 -0600 - - doc: ptserver manpage fixes - - - Indent synopsis formatting - - - Document the -db and -depth aliases by putting them next - to -database and -groupdeth (respectively) separated by a pipe "|" - - Change-Id: Ic40fa0001feee293afe6c22ade7b85dc46fde938 - Reviewed-on: http://gerrit.openafs.org/10399 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f5340b748bedc3663469c3fb9598a9eb277ecb7c -Author: Andrew Deason -Date: Thu Jun 20 17:20:17 2013 -0500 - - doc: Add -help option to fssync-debug manpages - - Change-Id: Id90554b1c56437c62ff9982681ac8a64d4d34948 - Reviewed-on: http://gerrit.openafs.org/10395 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1aaeafb45f9746e98f61a93d14b94f42e2ed223a -Author: Andrew Deason -Date: Wed Oct 30 23:27:19 2013 -0500 - - doc: volserver manpage fixes - - - Fix synopsis formatting, so option arguments are on the same line - as the option name - - - Add missing options -rxmaxmtu, -rxbind, -syslog, and -sleep - - Change-Id: I6e6f06d716e7f78be288bfebde97a3701f086924 - Reviewed-on: http://gerrit.openafs.org/10394 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3c776a0e5ed5a39e5b48c5885e83631a8c431d4f -Author: Andrew Deason -Date: Fri Jun 14 16:54:01 2013 -0500 - - doc: fileserver manpage fixes - - - Fix typo in -syslog option formatting - - - Add missing -nobusy - - - Add missing -vlrudisable - - - Add missing -sync in synopsis - - Change-Id: Id63c3228af619c2da5ef88a40e9c2e91888535bb - Reviewed-on: http://gerrit.openafs.org/10393 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fe4bdeaf6dee1d7d499d6e5d70ba9f500d864c28 -Author: Andrew Deason -Date: Fri Jun 14 16:15:03 2013 -0500 - - doc: kaserver manpage fixes - - - Add missing -rxbind - - - Add missing -crossrealm - - - Fix synopsis formatting, so option arguments are on the same line - as the option name - - Change-Id: I8c73d0f14396aad83651c3037fde1137d83e6692 - Reviewed-on: http://gerrit.openafs.org/10392 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 10b356c1ebb060b8c5c154ca62886dd5a80c5940 -Author: Andrew Deason -Date: Fri Jun 14 16:03:40 2013 -0500 - - doc: voldump manpage fixes - - Add missing documentation for the -time and -help options. - - Change-Id: I04ca0fe6d4a5c298415e450a38a19b719dca4800 - Reviewed-on: http://gerrit.openafs.org/10391 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 070230ab76e1df338db3f2a7971111ca976a0c1a -Author: Andrew Deason -Date: Fri Jun 14 15:58:45 2013 -0500 - - doc: bos manpage fixes - - Add missing documentation for the -mode option. - - Change-Id: I360dc3d4cc6d7405feb655bbf2a05aee27a41d46 - Reviewed-on: http://gerrit.openafs.org/10390 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cb8576d77fd48c2631b76006db56557c1a2d4fa9 -Author: Andrew Deason -Date: Fri Jun 14 15:33:19 2013 -0500 - - doc: buserver manpage fixes - - - Add missing -ubikbuffers - - - Remove -enable_peer_stats and -enable_process_stats; we don't - actually accept these options - - - Fix synopsis formatting, so option arguments are on the same line - as the option name - - - Fix the -noauth documentation. The current text is referring to the - client-side -noauth option, but this is actually the server-side - -noauth option, which is very different. - - Change-Id: I11e557e54a8539627ae7bb79cb7af3e8fbc77d25 - Reviewed-on: http://gerrit.openafs.org/10389 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 54cecedb429a02b108e18ba92304c659728153f5 -Author: Andrew Deason -Date: Sun Nov 3 17:58:02 2013 -0600 - - doc: Fix udebug -port bullet list - - The formatting gets screwed up if we have multiple =item tags together - like this. To just have each one be a bullet point, just have a bare - =item before each one, without a "tag" or "key" for the =item. - - Change-Id: I5cb7a98bd16f5999d529a42a0f822835f6d2f66e - Reviewed-on: http://gerrit.openafs.org/10388 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f69bf0b19490ddde05917f7467383bbe248e81c4 -Author: Andrew Deason -Date: Wed Jun 12 18:22:27 2013 -0500 - - doc: pts manpage fixes - - - Mention the -help, -auth, -encrypt, and -config options for all pts - commands in their synopsis - - - Add the -auth option to the pts.pod page - - - Reference the -auth, -encrypt, and -config options from all - subcommand pts pages - - - pts_removeuser: Replace -name with -user - - - pts_sleep: Add missing -delay - - - pts_source: Add missing -file - - Change-Id: I4f0889d661c46f6bdd2a9604d8423d809a632d2d - Reviewed-on: http://gerrit.openafs.org/10387 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3dc1fb3feba83d2b537039b8384dbff611bf6495 -Author: Ken Dreyer -Date: Mon Oct 14 11:39:02 2013 -0600 - - doc: add linked cells description to man pages - - The man pages previously described linking DCE cells to AFS cells. - OpenAFS and YFS also allow linking between two AFS cells. Update the - description of linked cells in CellServDB(5), aklog(1), and - fs_newcell(1) to refer to AFS instead of DCE. - - Add a linked cell example to the CellServDB man page with an - explanation. - - Change-Id: Ic9b1c643861b7307c09fcc5a1775f4abf4cb4155 - Reviewed-on: http://gerrit.openafs.org/10342 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3fa2f656f3ecc52cf71d17e5f3dadec70b852e93 -Author: Jeffrey Altman -Date: Sat Sep 7 13:55:58 2013 -0400 - - afs: afs_CacheIsTooFull macro refs wrong constant - - When afs_CacheIsTooFull tests the number of free blocks it should - use CM_DCACHESPACEFREEPCT (90%) instead of CM_DCACHECOUNTFREEPCT (95%). - - Change-Id: I1c9ac4f9a6d03077047837af6ef9a09e256ea07d - Reviewed-on: http://gerrit.openafs.org/10235 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b73fa104ea9e1651114377c1e4f8e05705edc6c3 -Author: Jeffrey Altman -Date: Mon Sep 9 09:20:32 2013 -0400 - - afs: CacheTruncateDaemon work until Cache Drained - - The afs_CacheTruncateDeamon() thread will not sleep until both - 'afs_CacheTooFull' and 'afs_WaitForCacheDrain' are true but the - thread will stop freeing space in the cache when 'afs_CacheTooFull' - is true which prevents 'afs_WaitForCacheDrain' from ever becoming - true if it is not already. - - Make the conditional for doing work include 'afs_WaitForCacheDrain'. - - Change-Id: I9a60da6db65511c8bf2391a53a6f76043f825078 - Reviewed-on: http://gerrit.openafs.org/10238 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2fb13e7e795934398bdb49599e5df8abf619a2bf -Author: Jeffrey Altman -Date: Sat Sep 7 14:04:32 2013 -0400 - - afs: afs_CacheTruncateDaemon wake waiters !too full - - When processing afs_CacheTruncateDaemon() if the cache is no longer - too full, then wake the waiters. - - Change-Id: I114341f8a71654b0a064d6dad2a704dd1fa8dbe2 - Reviewed-on: http://gerrit.openafs.org/10236 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 13a746abfb4d8a34b17f31a278cfae3148eccd78 -Author: Jeffrey Altman -Date: Sat Sep 7 13:27:54 2013 -0400 - - afs: afs_FlushDCache avoid dup cache drained check - - afs_WakeCacheWaitersIfDrained is called as the last statement - of both afs_DiscardDCache and afs_FreeDCache. There is no need - to perform the same check again before exiting afs_FlushDCache. - - Change-Id: I11b4c42868ca67e4717fd431b1d33a85ce57bd0f - Reviewed-on: http://gerrit.openafs.org/10234 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 765d964f13e49fe94a9a75839571fbffa04a0b65 -Author: Jeffrey Altman -Date: Mon Sep 9 12:17:36 2013 -0400 - - afs: Introduce afs_WakeCacheWaitersIfDrained - - Consolidate common code into afs_WakeCacheWaitersIfDrained(). - - Change-Id: I10e35afbc1f1469038e111a7bbd209c8897c8972 - Reviewed-on: http://gerrit.openafs.org/10233 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit aa4f70578ec825742567a70213f7acd78a58ce19 -Author: Jeffrey Altman -Date: Sat Sep 7 12:26:52 2013 -0400 - - afs: FreeDCache test afs_blocksDiscarded - - For consistency with afs_FlushDCache and afs_DiscardDCache - include afs_blocksDiscarded in the free space test. When afs_FreeDCache - is called it should be zero. - - Change-Id: Ic9063280d88eb28d84851cbe6b7e4867a1110659 - Reviewed-on: http://gerrit.openafs.org/10232 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 064558a69281398d1dc6873453449eee9b3a8d8d -Author: Jeffrey Altman -Date: Mon Oct 28 01:06:47 2013 -0400 - - Windows: RDRLib Worker Thread shutdown - - The thread waiting to unload the library is polling the state of - the AFS_WORKER_INITIALIZED flag in the PoolContext->State field - for each worker. Ensure that the thread performs no actions other than - PsTerminateSystemThread() after clearing the AFS_WORKER_INITIALIZED flag. - - Change-Id: I0baa92f05a5d5f00219a2cc63ca71c7a6a1f52b5 - Reviewed-on: http://gerrit.openafs.org/10383 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c0a33ddd82736d71faf2585495102fe1e4b88eb0 -Author: Jeffrey Altman -Date: Tue Oct 29 08:24:06 2013 -0400 - - Windows: Uninitialized TargetNameLength/Offset - - In RDR_PopulateCurrentEntry it is possible for TargetNameLength and - TargetNameOffset to be uninitialized resulting in stack garbage being - returned to the redirector. This can result in a blue screen. - - Change-Id: Ifa306ba54bea3f26f1938cbd6bdc28521065299d - Reviewed-on: http://gerrit.openafs.org/10373 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6e26922f68d2b0f692212e6150d7955a0d393929 -Author: Jeffrey Altman -Date: Fri Oct 18 19:26:56 2013 -0400 - - Windows: cm_NewSCache skip in hash recycled entries - - If cm_RecycleSCache returns an in-hash entry it means that either - it wasn't recycled properly or somehow we raced this entry with - another thread. Just skip it and keep searching. - - Change-Id: Ia443a04b063a019003662639d31f96db486d673c - Reviewed-on: http://gerrit.openafs.org/10353 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 05ecdb353a7c960a34133002a388889e9882d946 -Author: Jeffrey Altman -Date: Fri Oct 18 19:14:00 2013 -0400 - - Windows: cm_RemoveSCacheFromHashTable scp not found - - If the cm_scache_t has CM_SCACHEFLAG_INHASH flag set but cannot be - found in the CH_SCACHE_HASH(&scp->fid) hash chain then search the - entire hash table for the object. At the end of the function we - will know that the CM_SCACHEFLAG_INHASH flag is safe to clear. - - Change-Id: I92bfad98b7d3cdc42b5aa6b8fae24d47557465e7 - Reviewed-on: http://gerrit.openafs.org/10352 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7068836e6bab73e9edcb2c84727b92b25e1a6109 -Author: Rod Widdowson -Date: Sun Oct 20 14:29:35 2013 -0400 - - Windows: EOF for Synchronous Deferred Writes on XP/2003 - - The Windows IO Manager is not supposed to issue multiple - outstanding cached writes to a file system for a synchronous - file object. To do so would risk out of order application - of writes that extend the end of file and in turn risk data - corruption. It turns out that on Server 2003 SP2 and more - than likely XP and 2000 as well, if a file system returns - STATUS_PENDING because a write was deferred due to the - Windows Cache Manager failing CcCanIWrite(), the IO Manager - will happily continue issue subsequent write requests. - - On OSes older than Vista disable the use of deferred writes - and sit in a spin loop waiting for the Windows cache manager - to make room. This is much less efficient and increases the - write latency but it is safe. - - Change-Id: Ic47d62749bdb4d0475661967fcbfd25834f21a72 - Reviewed-on: http://gerrit.openafs.org/10351 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e1f75c1401c5391a123daa2f59af7544a3418195 -Author: Jeffrey Altman -Date: Mon Oct 21 11:26:16 2013 -0400 - - Windows: Store OS version as a global - - In DriverEntry() RtlGetVersion() is used to obtain the OS version - information. Store the result in a global structure that can be - used elsewhere to make run time decisions based upon the OS. - - Change-Id: I194e7da6858d1dea755d8de82a9bee70e63ade4d - Reviewed-on: http://gerrit.openafs.org/10350 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c56d99e9dd240b2485acc07f5b81a6195c6e0856 -Author: Ben Kaduk -Date: Fri Oct 25 17:45:38 2013 -0400 - - Remove bucoord/expire.c - - It was not compiled into anything. - - Correct references in bucoord_internal to command.c. - - Remove the forward declaration of struct cmd_parmdesc and make cmd.h - a prerequisite for this header, since all but two consumers had cmd.h - already. - - Change-Id: Id60a550871643610ccd96c226ecf0a3c4acb3955 - Reviewed-on: http://gerrit.openafs.org/10363 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7b5f27f944ad773a45f1d47fa9b8962097999783 -Author: Mark Vitale -Date: Thu Oct 3 21:42:10 2013 -0400 - - auth: prevent uninitialized key list in AFS config - - _afsconf_OpenInternal() may exit early for a number of reasons - before properly initalizing afsconf_dir->listKeys. - This leads to a crash when _afsconf_CloseInternal() attempts - to clean up listKeys. - - Prevent this situation by calling afsconf_InitKeys() before any - possible exit from _afsconf_OpenInternal(). - - Change-Id: I6911427817a2518a576c00a7ea56351f9fb4fd19 - Reviewed-on: http://gerrit.openafs.org/10323 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit aa440ec7cbb8732ad0d9e1e1401fe4929c2cfd50 -Author: Michael Meffie -Date: Fri Oct 25 13:47:59 2013 -0400 - - ubik: fix include quotes - - Include the generated header in the current directory. - - Change-Id: Iaa22fcfd0e22e5f33e7c9bf8a26a838b25668160 - Reviewed-on: http://gerrit.openafs.org/10361 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4af32591f05ce2d3237c0aeaa785799d11680152 -Author: Andrew Deason -Date: Wed Oct 23 15:32:19 2013 -0500 - - vos: Remove pthread send/receive select() - - Commit 65e701fee4968b17066bb81e25b7adaa4024d4f3 introduced a couple of - select() calls when the pthreaded vos writes to or reads from a usd - pipe, corresponding to the IOMGR_Select() calls in LWP. However, these - select() calls are unnecessary, since the read() or write() calls - themselves will block anyway. The reason they are there for LWP is so - the IOMGR can run another process while we're waiting for the file - descriptor to be ready. - - The select() in ReceiveFile currently incorrectly waits for the output - to be ready for reading, even though we're trying to write to it. As a - result, if we try to 'vos dump' to a pipe with the pthreaded vos (such - as stdout), we will hang forever, since it will never be ready for - reading. - - To fix this, just get rid of the select() calls, since they don't - really do anything. - - FIXES 131749 - - Change-Id: Ibe8841e0c01f1e55ac4ca1a8a99ab71083654662 - Reviewed-on: http://gerrit.openafs.org/10360 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit f7c31f865cd6cda9105a362f26fdd82a500adb37 -Author: Perry Ruiter -Date: Tue Oct 22 05:46:10 2013 -0700 - - afs: Clarify comment - - Fixing a couple typos and rewording a comment for clarity in afs_segments.c - - Change-Id: Ic631b6f8d59e4e9a56f61e583a8ef0f8f8794d8b - Reviewed-on: http://gerrit.openafs.org/10364 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1b674ae30925c8459e1a5614e19562af460850d8 -Author: Ben Kaduk -Date: Tue Oct 15 16:56:07 2013 -0400 - - Sysname and param.h for FreeBSD 9.2 and 11.0 - - 9.2 is newly released and HEAD is now 11-current. - - Change-Id: Ic79ff26aa39e08940b6035770fe4c6f15b02c418 - Reviewed-on: http://gerrit.openafs.org/10341 - Reviewed-by: Derrick Brashear - Tested-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit 1bdcc3c7bca092f189f434f1f7b174090c24250c -Author: Ben Kaduk -Date: Tue Oct 15 16:00:01 2013 -0400 - - Adjust for microtime() ABI on all XBSD - - On the BSDs, struct timeval is not two 32-bit integers like our - struct clock, so the ABI is quite incompatible. Use the native type - for the function call and translate to our local type accordingly. - - This lets us get rid of a workaround for the FreeBSD kernel build, - wherein particular compiler flags masked the stack corruption that - can occur due to this ABI mismatch. - - Change-Id: I68f9947b0875dca7343ecd41a4c529d5c5bc3be5 - Reviewed-on: http://gerrit.openafs.org/10340 - Reviewed-by: Jeffrey Hutzelman - Tested-by: BuildBot - Reviewed-by: Antoine Verheijen - Reviewed-by: Jeffrey Altman - -commit e222b08c4049dae95475eda2d5c54bd43dd45e2e -Author: Benjamin Kaduk -Date: Wed Sep 25 16:57:41 2013 -0400 - - Fix build for FreeBSD 10.0 - - Move a rmlock.h inclusion up a bit so that the vm headers can get the - rmlock assertion (and other) macros they need. - - The filedesc structure has been expanded on FreeBSD to support a - stronger capabilities system; getting to the actual file descriptor - requires another structure access. - - limits.h and stdarg.h need sys/ and machine/ prefixes for inclusion in the - kernel on FreeBSD. Fixing this lets us get rid of some unnecessary -I - arguemnts in the kernel module build, which seem to have not been functioning - as expected, anyway. - - Catch up to VM layer changes. - - This builds, but crashes at runtime due to some ABI incompatibilities - that appear in the rx event layer; those will be fixed in a separate patch. - - Change-Id: Icc253b1e938a58a7ab8d1b789c82b9b940d263fd - Reviewed-on: http://gerrit.openafs.org/10339 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 0a5e878aa0a71c4dfaef1806744ed78bcc13b9f4 -Author: Andrew Deason -Date: Thu Oct 17 20:22:48 2013 -0400 - - viced: Improve client error log messages - - Commit 6c41b1f740e16b5b9adfe9026630595be6f0699e improved a few log - messages to include the client ip and port of the request triggering - that log message. Include the viceid and fid (if applicable), too, so - an administrator may more easily identify the cause. - - This creates the function LogClientError, so we can use a common - function for logging very similar information. This also modifies - h_FindClient_r to give the viceid to the caller, even in the case of - error. In addition, this modifies CallPreamble to accept a fid and - modifies all callers to accomodate. - - Change-Id: I326e17538265ea3251db27a05ede25c33e9a230d - Reviewed-on: http://gerrit.openafs.org/10347 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5828b993c3757665348643de16fe36aa90cb98f4 -Author: Christof Hanke -Date: Wed Oct 9 08:06:03 2013 +0200 - - tabular_output: enable compilation on Windows - - Add the required directives to the makefile. - - Change-Id: I7a6e612b37cbf1f6cb61faf55d7c248f8f85808c - Reviewed-on: http://gerrit.openafs.org/10328 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0954c7859939b548afab01d11b7bc6288cdbc3ea -Author: Christof Hanke -Date: Wed Oct 9 08:01:35 2013 +0200 - - tabular_output: move public headers - - from tabular_output.h to afsutil_prototypes.h - Like this, tabular_output.h does not have to be included - in any devel-package. - - Change-Id: I9e3089fe4a65b2a801c45ba513a8f5dc49ce609b - Reviewed-on: http://gerrit.openafs.org/10327 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 950dec0715de719f90a4cf59293f0c70d42841cc -Author: Ben Kaduk -Date: Thu Oct 10 13:50:26 2013 -0400 - - Convert buserver to libutil's logging - - The primary motivation is to get automatic log rotation, but we - also get built-in locking for the logging calls. - - This does have a side effect of changing the format used to print - timestamps in the log file. - - Export WriteLogBuffer from liboafs_util so as to be mostly compatible - with the ... idiosyncrasy of LogError()'s previous behavior. - - Garbage-collect the unused (and un-exported) printHashTable() and LogNetDump(). - - Change-Id: I860370e60082ea355806b3f1945eee76db7c32e3 - Reviewed-on: http://gerrit.openafs.org/10333 - Tested-by: BuildBot - Reviewed-by: Karl Ramm - Reviewed-by: Derrick Brashear - -commit 600712877ca0883c6ec609d51909336964b06cba -Author: Andrew Deason -Date: Thu Oct 3 12:38:08 2013 -0500 - - salvager: Ignore linktable-only RW volumes - - In general, the salvager will try to salvage any volume if we find an - inode for that volume. However, for namei, we'll always have at least - one inode for the RW volume, even if we only have e.g. an RO volume at - a particular site, since the linktable special inode is always marked - as for the RW volume id. So, if we salvage a volume group that only - has an RO, normally we would also try to salvage the corresponding RW, - even if it doesn't exist. We would then recreate the "missing" - metadata files, so after salvaging, the RW appears to exist as a - normal volume. - - The salvager currently tries to avoid this by skipping salvaging the - RW if we find more than one volume in the volume group, and if the RW - only has one special inode, and that one special inode is the - linktable. This solves the problem most of the time, but misses a few - corner cases: - - - If we found more than one linktable, we'll try to salvage the RW - anyway. This shouldn't happen, but certain cases of corruption can - cause incorrectly-named linktables, resulting in multiple - linktables. - - - If we only find one volume (the RW), we'll still salvage the RW, - even if the only inode for it is a single linktable. This can - happen due to botched salvages in the past, or interrupted deletes - and such. It's just cruft. - - In any situation like those, we cause an RW volume to be created where - there previously was none. This can be a problem, since the RW volume - is unknown to the administrator, and does not appear in the VLDB. Such - "phantom" volumes can be very confusing and can cause problems in the - future. For example, if that same RW volume is moved to the server - with the "phantom" RW volume, we now have two of the same RW volume on - the same server on different partitions, which is a big problem. - - So, to avoid these corner cases, check all of the special inodes to - see if all of them are linktables. Also perform this check if we don't - have any non-special inodes (even if we only see 1 volume), to catch - the "cruft" case above. - - Change-Id: I00df021ebedce44f69302a48ed2716bd9bda124e - Reviewed-on: http://gerrit.openafs.org/10321 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2286fac1447e2e9e834957ec414cb5605f51e63b -Author: Andrew Deason -Date: Tue Oct 1 17:31:44 2013 -0500 - - namei: Set inconsistent linktable linkCount to 0 - - Currently, if we detect an inconsistent linktable filename (where the - filename indicates it's for a different volume than the directory path - indicates), we don't set the linkCount for the inode info. This means - that our caller will get random garbage for the linkCount. - - In many cases this value is ignored, but for the salvager, if this is - the only linktable file we find, we treat it as the linktable we - should be using. Thus, if linkCount contains undefined data, we might - try to INC or DEC the linktable a bunch of times, depending on what - random stack garbage the linkCount is filled with. - - The salvager shouldn't be INC/DEC'ing these linktables according to - the their linkCount anyway, but in the meantime, at least ensure that - this doesn't contain stack garbage, so we ensure that we won't try to - INC or DEC this thousands or millions of times. - - Change-Id: Ib5e7f45d5739878434cbe57b6f2ab532f002e5b8 - Reviewed-on: http://gerrit.openafs.org/10320 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b1ee8c1c359fe16693bf117524f54160ebe53e3 -Author: Ben Kaduk -Date: Mon Jul 29 14:22:46 2013 -0400 - - Reorder bosserver startup prior to pthreads - - The rx calls will take locks when built in pthreaded mode, and must go - after rx_Init(). Some other setup would benefit from using time-domain - locking and should run before we go multithreaded. - - In particular, initialize bozo_confdir while single-threaded, as it is - otherwise protected by the afsconf internal locking. While here, pass - NULL to afsconf_SetCellInfo -- bozo_confdir would always be NULL there, - anyway. - - Change a couple globals into local variables in main; they are just - used to defer setup after argument parsing. - - ReadBozoFile will create worker threads to monitor child processes, - so it cannot move up too far. - - Change when we daemonize, too. - - Change-Id: If7b6883748919270c9a5a41cd8e6fb724e95aa36 - Reviewed-on: http://gerrit.openafs.org/10285 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 54eb2485b59550ba42569ed3a8d76211a3a35019 -Author: Ben Kaduk -Date: Wed Jul 17 15:00:11 2013 -0400 - - bozo: Remove dead code and minor cleanup - - This stuff has been #if 0'd for ages; put it out of its misery. - - While here, remove the global bnode_waiting which is not used for anything. - - bnode_SoftInt claims to return a pointer, so return NULL instead of 0. - - Change-Id: Ie7b32bbc606a105190d246355f47bd7ea885c6f8 - Reviewed-on: http://gerrit.openafs.org/10284 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 47124f337b43f8731bfbe3bd71e42d046a4d1075 -Author: Andrew Deason -Date: Mon Aug 12 17:37:29 2013 -0500 - - viced: Avoid endless BCB loop - - Without this commit, when we break callbacks for a fid, we loop over - all callbacks for the fid, break a few of them, and then start over. - We do this repeatedly until we run out of callbacks. If a client sees - a callback break, and then establishes a new callback promise while - the fileserver is still breaking callbacks, the fileserver can break - the same callback for the same host again and again. This can continue - forever, if the client establishes its new callback promises quickly - enough. - - So to avoid this, when we start breaking callbacks, flag all of the - callback structures that we want to look at. Then when we repeatedly - loop through all of the callbacks for the fid, only look at the - flagged callback structures. - - This adds a 'flags' field to struct CallBack, and defines a single - flag, CBFLAG_BREAKING. - - This is an alternative fix to the issue also fixed in 843d705c. This - implementation avoids allocating extra memory under locks, and has the - slight benefit of not breaking callbacks that were elsewhere deleted - during the BCB. This comes at the cost of a single extra traversal - through our callback list, and the cost of claiming one of the bits in - the CallBack structure. - - Change-Id: I6418bd404de61ec7a531261ecf581eeea719a2d4 - Reviewed-on: http://gerrit.openafs.org/10172 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 2482340afb906a9719994742ef26500c6e67ccea -Author: Andrew Deason -Date: Tue Aug 20 20:51:04 2013 -0500 - - Revert "Atomically collect callbacks to be broken" - - This mostly reverts commit 843d705ca6f0250c3760ec2aa1f3403d19de3df1. - That commit causes each callback-breaking thread to potentially use up - a large amount of memory, as well as possibly causing large memory - allocations under H_LOCK, which isn't great. - - There are other ways to allow for atomic callback breaks. Revert that - commit to allow for alternative methods to be implemented in separate - subsequent commits. Do this in separate commits so pullups to stable - branches are easier. - - This does not revert the change in the definition of MAX_CB_HOSTS. - That value can still be large due to the improved multi_Rx - implementation. - - Change-Id: I14024b4d80696b0361658b1c5ae7af308629fab4 - Reviewed-on: http://gerrit.openafs.org/10171 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit de7bd44d00d51272a53eb109efabc14b65021e33 -Author: Andrew Deason -Date: Mon Sep 30 18:12:21 2013 -0500 - - salvager: Improve comments - - "these used to be asserts" is not a useful comment. This area of code - does maybe look a little confusing at first glance, though, so replace - these with comments that are more informative. - - Change-Id: I4e0b9dff3d010931e02559e82165ffbd61c5b189 - Reviewed-on: http://gerrit.openafs.org/10313 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6a4831e0e9a003bed06ac2269987c69090d3f7e7 -Author: Andrew Deason -Date: Mon Sep 30 17:53:36 2013 -0500 - - salvager: Fix in-memory invalid linktable counts - - When we have a nonexistant or invalid linktable, we manually set all - of the linkcounts to 1, since we're recreating the link table from - scratch. However, we also have a linkCount count in our in-memory - allInodes array, which could be populated by garbage if we had a - garbage linktable. So make sure to set our in-memory linkCount to 1 - for each inode, so we don't use garbage linkcount data. - - Change-Id: I8f4873e12f70f81ee6f2c764957e77136b0a385e - Reviewed-on: http://gerrit.openafs.org/10312 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 93b0e0d50fb14561ca2b8b0c20876826335ec1ab -Author: Andrew Deason -Date: Mon Sep 30 17:51:40 2013 -0500 - - salvager: Whitespace formatting - - The whitespace here is pretty weird. Clean it up a little. - - Change-Id: Ia558d453301ee1231cfb21ee87dc7f190dc905d7 - Reviewed-on: http://gerrit.openafs.org/10311 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2bbba424ad6728a221688f782b4df90bf6da4a63 -Author: Ben Kaduk -Date: Wed May 29 19:18:22 2013 -0400 - - FBSD: plug refcount leak in pioctl - - When gop_lookupname_user returns a non-NULL vnode, the vnode came - from afs_GetVCache (by way of afs_lookup) which takes a reference - on the vnode entry. There's no need to take another spurious - reference here. The existing code already knows that there's a - reference in place, as there is an AFS_RELE down where FBSD80_ENV - unlocks the vnode if it's locked (that code is also suspicious). - - Prior to this patch, things like 'fs flush /path/to/file' would - leak a reference on that cache entry, preventing clean shutdown. - - Change-Id: Iefb7be16bb76b709ffd7cfc082ef9078adf9e354 - Reviewed-on: http://gerrit.openafs.org/9957 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b0d75d0687a3436201411384c570448a49a9db15 -Author: Christof Hanke -Date: Tue Oct 8 11:53:17 2013 +0200 - - linux-kernel-module: move keyring-specific - - function afs_set_session_keyring into - if defined(LINUX_KEYRING_SUPPORT) - block. Otherwise compilation fails. - - Change-Id: I44bb015990782793eac9326b983b704b2248b230 - Reviewed-on: http://gerrit.openafs.org/10324 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6016d2291a3a14777283c0ea5c9c37d761c9e1f6 -Author: Marc Dionne -Date: Sat Sep 22 15:29:52 2012 -0400 - - procmgmt: Introduce spawnprocve_sig - - Introduce spawnprocve_sig, a variant of spawnprocve that allows - a caller to spawn a process with a specific signal mask. - This is useful when we want to set a mask that is different - from the current one. It needs to be done after the fork() - so that the current thread is not affected. - - Change-Id: I900c85cb70d22756b78562618b0e853dcedf8235 - Reviewed-on: http://gerrit.openafs.org/8749 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Benjamin Kaduk - Reviewed-by: Jeffrey Altman - -commit 1cf6678fdaae82871a9aeb4addfed3a2db1954e8 -Author: Andrew Deason -Date: Thu Sep 12 15:58:34 2013 -0500 - - ihandle: Make sure we don't ih_attachfd invalid FD - - Right now, if you give ih_attachfd_r an invalid fd, and fdLruHead is - NULL, we'll return an FdHandle_t* for an invalid fd. Nowhere in the - code is this possible right now, but the implementation of - ih_attachfd_r and ih_attachfd doesn't make this very clear. - - Ideally the "close some fds and retry" behavior in ih_attachfd_r will - be split out, so this code could be easier to follow, and we could - implement open() EMFILE retrying for icreate operations. But for now, - just make the current behavior clearer, so future modifications do not - introduce such mistakes. - - Change-Id: Ibc80b32bc6f50480d12e3241fe198bc0587a962c - Reviewed-on: http://gerrit.openafs.org/10249 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6bfc2be65bbf39e6be4a8ab7f8cfbfa66bc9363a -Author: Jason Edgecombe -Date: Thu Sep 26 22:07:39 2013 -0400 - - DOC: afsd man page: give an example of the direct volume mount syntax - - The syntax is a little confusing, so an example is needed to clarify it. - - Change-Id: I413a5f2af6ccf48e780007c658c35a34384d09e0 - Reviewed-on: http://gerrit.openafs.org/10281 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Michael Meffie - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - -commit 9f4684cd5fac5eacf571b882e965150943383170 -Author: Michael Meffie -Date: Fri Feb 1 10:57:07 2013 -0500 - - vos: more details in vos release -verbose output - - When running vos release with the -verbose flag, print the reasons for a - complete release, and the reasons for doing a full dump of the volume. When - doing a full dump, have the verbose output print 'entire volume' instead of - 'full release', to avoid confusion with a complete release. - - Change-Id: I041da692bfea5d7eb0c96d51a5a794e3eeeb6d72 - Reviewed-on: http://gerrit.openafs.org/9018 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 341f2af7969842fecf352d2c42c95e56a9216546 -Author: Michael Meffie -Date: Fri Sep 27 13:35:07 2013 -0400 - - fix linux build error in osi_probe - - Fix a build error for older versions of linux, introduced by - commit 7694f536d3997768b69a635616b0cf24d71a595a - (scsi_command_size became scsi_command_size_tbl) - - Fixes a build error on RHEL/CentOS 5.9; 2.6.18-348.3.1.el5. - - Change-Id: I7e6f08e7f7cbba47034701e6137eb91fa567dbda - Reviewed-on: http://gerrit.openafs.org/10282 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1a42219e63b2e511c8940d1993d886a80a34b78c -Author: Christof Hanke -Date: Tue Sep 24 11:01:08 2013 +0200 - - vos: complain if no fields are passed - - to vos "setfields". It might be a misleading if it exists - sucessfully when clearly invoked wrongly. - - Change-Id: Ic92f4e17fde0a0dfc182f9713350800c72fa165e - Reviewed-on: http://gerrit.openafs.org/10271 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 8fc86de33e95efc5cdcd73131d97a2afd1ad935a -Author: Michael Meffie -Date: Mon Sep 23 21:23:27 2013 -0400 - - doc: state klog.krb is obsolete - - State upfront that klog and klog.krb (v4) are obsolete. - - Update the klog.krb description and remove some redundant - text. - - Change-Id: I6ede8084aebbd49c5a27aa427ef9782d99a347aa - Reviewed-on: http://gerrit.openafs.org/10270 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 897e970dbe09d163479719b4c9befa660d99874b -Author: Ben Kaduk -Date: Fri Mar 22 13:51:02 2013 -0400 - - Catch up to FreeBSD VM object read/write locks - - Upstream r248084 changed the vm_object mutex to be a rwlock, - allowing for future optimizations. This is a KPI change, so - introduce conditionals to be compatible with both versions of the KPI. - - Change-Id: I6e3101bc80262480035dee4c5b2d1b9cbc44b57b - Reviewed-on: http://gerrit.openafs.org/10295 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit dbf68229c6c90d65781fdc16565dd1e9b56248c0 -Author: Michael Meffie -Date: Mon Sep 9 22:25:50 2013 -0400 - - build: compile_et rules for parallel make - - Change all makefile rules which run compile_et in order support parallel - make. The compile_et generates two outputs, so special care must be - taken in rules which run compile_et. - - All the rules for compile_et have been changed to the form: - - foo.c foo.h: foo.et - compile_et foo.et -h foo - foo.h: foo.c - - The above rules are equivalent to: - - foo.c: foo.et - compile_et foo.et -h foo - - foo.h: foo.et foo.c - compile_et foo.et -h foo - - therefore a parallel make will serialize the builds of foo.c and foo.h, - and should detect that the second is no longer needed once the first is - over. This form works since foo.et is not a phony target, and does not - depend on a phony target. - - Previously, the rules for compile_et were of the one of the two forms: - - a) foo.c foo.h: foo.et - compile_et foo.et -h foo - - or - - b) foo.h: foo.c - foo.c: foo.et - compile_et foo.et -h foo - - Form a) is problematic for parallel makes, since it is equivalent to: - - foo.c: - compile_et foo.et -h foo - foo.h: - compile_et foo.et -h foo - - In a parallel make, compile_et will be run concurrently, clobbering - each other's output files. - - Form b) is better, but is problematic when foo.h is removed, since foo.h - will not be updated. - - Thanks to Russ Allbery for pointing out the automake documentation which - describes issues with commands that produce multiple outputs, and - portable solutions. - - http://www.gnu.org/software/automake/manual/automake.html#Multiple-Outputs - - Change-Id: I14c056606084f80270e05592d3d09a600f804e24 - Reviewed-on: http://gerrit.openafs.org/10237 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d477118fbda470c6f9f890a1a3f45ad8bad97be5 -Author: Jeffrey Altman -Date: Wed Sep 11 10:44:37 2013 -0400 - - Windows: fix libafscp build directory - - NTMakefile specifed the directory as libacl not libafscp - - Change-Id: I12af68a19155d0764967f9cd2e8eb2d8795530d5 - Reviewed-on: http://gerrit.openafs.org/10299 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9132b7e474fce9c8c3513db5279feed6a9daba7c -Author: Jeffrey Altman -Date: Wed Sep 4 15:53:57 2013 -0400 - - Windows: Freelance Do not chase mount points - - When adding mount points or symlinks do not chase mount points - when attempting to determine the FID of the added object. - - Change-Id: Ic4e070d687cc56407a19c41f185f3e28db7671bd - Reviewed-on: http://gerrit.openafs.org/10298 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4f266f14c0721111a9d453c3358cddf77eb2641a -Author: Jeffrey Altman -Date: Fri Sep 27 18:02:52 2013 -0400 - - Windows: cm_MergeStatus avoid lock recursion - - It is possible for cm_MergeStatus() to be called while the - cm_buf_t.mx is already held. If it is a panic occurs. Test for - refcount == 0 before acquiring the lock in addition to afterwards. - If the refcount is not zero, then we do not need to acquire the - lock in any case. - - Change-Id: I1b73a03f4745e524d7fdf8f9b231b420895ff0fa - Reviewed-on: http://gerrit.openafs.org/10297 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7efd78539066bedeeb3b579a613d587d8aa6e623 -Author: Jeffrey Altman -Date: Wed Sep 4 13:11:24 2013 -0400 - - Windows: AFSCreate avoid race leading to NULL dereference - - If a test for NULL is performed ahead of an assignment and then - use of the assigned value, there is a race which can result in - the assigned value being NULL if the value being assigned is - altered by another thread. - - Perform the assignment first then test based upon that. - - Change-Id: I6d50619dab168c2aa12542b14217779f1be08ee9 - Reviewed-on: http://gerrit.openafs.org/10296 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8e32b11be6ce0517f75588360a3ca8c333358ca3 -Author: Andrew Deason -Date: Wed Sep 11 11:22:20 2013 -0500 - - Probe directly for com_err.h - - com_err.h can be in com_err.h, et/com_err.h, or krb5/com_err.h (for - netbsd 6.1 and possibly other netbsd). aklog currently only includes - either com_err.h or et/com_err.h, depending on autoconf probes - performed by the krb5.m4 macros. - - So, also look for krb5/com_err.h. The krb5.m4 macros currently only - look for com_err.h at all if certain other libkrb5 tests return - certain results, so just look for all of them directly in some of our - openafs-specific krb5 probing logic in configure.ac. - - Also remove the duplicate check for et/com_err.h in acinclude.m4 while - we're here. We only use et/com_err.h if krb5 support is enabled, so - only check for it in the second of krb5 probes. - - FIXES 131716 - - Change-Id: Ic454b9bf7043f91654dcd1c262ab3790bf2ad272 - Reviewed-on: http://gerrit.openafs.org/10244 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 4212c7e604bebcb8f20b67c60323263231611bfb -Author: Andrew Deason -Date: Wed Sep 25 00:25:48 2013 -0500 - - Whine if single-DES keys are in use - - If we are using single-DES keys in our KeyFile, yell at the - administrator, so they have a chance at realizing that they should - migrate to stronger crypto. - - Change-Id: Ic37d9e1cea7ee7e12594be0dec02000f11efc896 - Reviewed-on: http://gerrit.openafs.org/10273 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d83c1231cf371ac998304cbb2007ca848a514e0c -Author: Andrew Deason -Date: Wed Sep 18 16:56:23 2013 -0500 - - vol: Nuke parent vol special inodes - - When we "nuke" a volume, we delete all inodes we can find that are for - the given volume id. This currently means that if we nuke an RW volume - id, we delete all of the inodes for file data for the entire volume - group (since they're all stored in the VG id), but we do not delete - the special inodes for any non-RW volumes in that volume group. Those - special inodes left behind are not very useful, since we just deleted - all of the actual file data. - - Currently this means that on namei, it's impossible to nuke the - special inodes for non-RW volumes, since the namei nuke will only look - in the subdir for the given volume id. If you give it the RW volume - id, it won't delete the special inodes as menioned above; if you give - it the RO volume id, it will only look in the RO subdir, and won't - find the RO special inodes in the RW subdir. - - If a volume group is damaged in such a way that the salvager cannot - fix it (due to a bug), this means that it is impossible to get rid of - that volume group completely from the partition on namei without - manually running "rm -rf" on the relevant AFSIDat directory. Normally - we have a failsafe of running 'vos zap -force', but that doesn't work - for non-RW special inodes, as mentioned above. - - So, in order to allow this 'vos zap -force' failsafe to work in - hopefully all situations, also delete the special inodes for the - parent volume. Use similar logic as exists in the salvager's - OnlyOneVolume function. - - Change-Id: Id29da48a548c70b2b9ada1dd09f41cb59452bd11 - Reviewed-on: http://gerrit.openafs.org/10256 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d14ecfc39a88ee5ff802532d69db30e8ae396f68 -Author: Chaskiel Grundman -Date: Fri Sep 20 15:08:30 2013 -0400 - - rxgen: cast bool properly - - The C type for xdr's bool is bool_t. When casting, use the correct type - - Change-Id: I562ee1e48eeffa8fece66176cf13013630d157aa - Reviewed-on: http://gerrit.openafs.org/10261 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 21c8f4809ee7af9d2ec76cb37747183cee0c0d33 -Author: Michael Meffie -Date: Tue Aug 20 16:48:34 2013 -0400 - - bozo: cap retry delay - - Cap the retry delay to a reasonable amount of time instead - of just doubling the delay until it reaches 16 hours. - - Change-Id: Ibc7dd75670a9b02f34050842b6e54df4f5a7c315 - Reviewed-on: http://gerrit.openafs.org/10148 - Reviewed-by: Andrew Deason - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1c2dcda92ba246e52860f71513447a045c38082a -Author: Jonathan A. Kollasch -Date: Sat Sep 21 00:46:05 2013 +0000 - - rx_multi: free the quantity of memory we allocated - - Change-Id: I3a666bb5c3b8b9ab222d1170095e46116fac4229 - Reviewed-on: http://gerrit.openafs.org/10266 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 33154874bf9d1549552ddedf68d01cff2217bf82 -Author: Chaskiel Grundman -Date: Fri Sep 20 16:47:33 2013 -0400 - - tkt_MakeTicket5: Use correct bitmask operator - - tkt_MakeTicket5 tries to avoid returning heimdal asn1 error codes, - but uses an incorrect expression that's almost always true. Use - bitwise & instead of logical && to fix. - - Change-Id: I59bffe8c9b98c6f32b967bc37a7989c98c5720b6 - Reviewed-on: http://gerrit.openafs.org/10264 - Reviewed-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3d2b8aec7c373ae81c1cbc653a557fbae5605088 -Author: Chaskiel Grundman -Date: Fri Sep 20 15:27:27 2013 -0400 - - Add missing clean rules - - do libtool cleanup in src/afsd, src/kauth, and src/venus - remove ordinary objects in src/opr - - Change-Id: Iddf6bb017a38e20e971b9faf576ee2f9e39625c0 - Reviewed-on: http://gerrit.openafs.org/10262 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 43bdcaa855c42681c7034ddf8ce3ca4c44be23b8 -Author: Jonathan A. Kollasch -Date: Sat Sep 21 00:36:30 2013 +0000 - - Remove AFS_NBSD40_ENV block within AFS_HPUX110_ENV block - - Change-Id: Id679f07c811c36b9f47556a9e7be94fe7ba303f3 - Reviewed-on: http://gerrit.openafs.org/10265 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2aa26fcb4e3cf5fa85a3aee3263893a0443a2b75 -Author: Andrew Deason -Date: Fri Sep 20 15:13:43 2013 -0500 - - rx: Always call rxi_StartListener - - Commit c10f5296 made rx_Init only call rxi_StartListener in the kernel - if we have RXK_LISTENER_ENV. But this doesn't make any sense, since - rxi_StartListener only does anything if RXK_LISTENER_ENV is _not_ - defined. As a result, for any non-rxk-listener non-rx-upcall platform, - we never receives rx packets in the kernel, since we never set up our - rx packet callback. The only such platform appears to be AIX, since - while other platforms (HPUX, FBSD, IRIX) have a non-rxk-listener mode, - they also implement an rxk-listener mode that we always turn on. - - So, just always call rxi_StartListener, and let the ifdef guards for - the various implementations of rxi_StartListener do the right thing. - - FIXES 131725 - - Change-Id: I209a89bda06f2c790aca2682468066c7b0bb7edd - Reviewed-on: http://gerrit.openafs.org/10263 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f785b7f662bb9f9026a32039aca92ac5cb13030a -Author: Jonathan A. Kollasch -Date: Wed Sep 18 19:37:32 2013 -0500 - - Add config glue for amd64_nbsd70 and i386_nbsd70 sysnames - - Change-Id: I2d0b6848f96aab8d68a41fb6d5892284fca987ad - Reviewed-on: http://gerrit.openafs.org/10257 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 13165c05836bcd4b3f5655ab2bcc979ff859efa2 -Author: Derrick Brashear -Date: Fri Sep 13 11:13:05 2013 -0400 - - linux: core dump requires write fop - - turns out not just writev is unhappy with aio_write (only); core dumping - wants a write file op. always provide it. - - FIXES 131729 - - Change-Id: If099f83973825981b4c568db7572bf30d399c089 - Reviewed-on: http://gerrit.openafs.org/10251 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fb623d5da30e6d304f672d8485da2e1781afa5df -Author: Christof Hanke -Date: Fri Sep 13 11:47:08 2013 +0200 - - afsd: check if mountdir is an absolute path - - if the mountdir in the cacheinfo file is not absolute, - it can confuse commands like "df". Thus, force it to - be absolute. - - Change-Id: Idb098b7c83fef6931fe71dd53a85569a953e5e3f - Reviewed-on: http://gerrit.openafs.org/10250 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9db8b123e4dab6c25ef4166ad3fa74aaa0f630f4 -Author: Christof Hanke -Date: Thu Sep 12 09:25:31 2013 +0200 - - LINUX: Keyring deal with suse-specific key_type op - - instantiate_prep used for checking for - STRUCT_KEY_TYPE_HAS_PREPARSE - - Change-Id: Ia7411e85467ba418dfefa5cd7c2d570fe20a5a68 - Reviewed-on: http://gerrit.openafs.org/10194 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 9fea1a29dff48d5f49420c6207255e5d6e7c8053 -Author: Christof Hanke -Date: Wed Sep 4 14:59:04 2013 +0200 - - tabular output: fix segmentation fault - - inititalize Table->numAllocatedRows=0; - - Change-Id: I72c6a687fde69cad3bf9aedd43d59d382455045b - Reviewed-on: http://gerrit.openafs.org/10225 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 286065f6d2fd5338252bf06b7ab6b4627a7bc4c9 -Author: Derrick Brashear -Date: Mon Sep 9 21:27:54 2013 -0400 - - libuafs: return error on symlink to self - - if we are symlinked to ourself directly, return ELOOP. - - Change-Id: I408012c4a9afb6bab0e917677c940f65ad59c697 - Reviewed-on: http://gerrit.openafs.org/10240 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ebcbe8f3fae1cf29c426dc3c5f88b03125d0073c -Author: Derrick Brashear -Date: Mon Sep 9 21:22:02 2013 -0400 - - libuafs: move code for uafs_LookupLink - - in order that we can make a future version static, move the code. - - Change-Id: I67e50ef5f14db3567ecd437b694b62b2c8fdb760 - Reviewed-on: http://gerrit.openafs.org/10239 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a541cd929c3da567be5c745c0eb94ec56cb0da35 -Author: Derrick Brashear -Date: Sun Sep 8 00:11:47 2013 -0400 - - libafs: update uio resid in bypasscache - - when we do a no cache read, we should decrease the resid as we use - up buffer... otherwise we have no idea in the caller how much data - actually got transferred - - Change-Id: I50072fddcde1681b3760002d5065b1c2d9b97605 - Reviewed-on: http://gerrit.openafs.org/10231 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit db1de98ecf6fd22b9c36b3ba284984f03cb0ae35 -Author: Christof Hanke -Date: Thu Sep 12 13:34:04 2013 +0200 - - client: flag in cachemanager if rmtsys is enabled - - when processing "fs sysname" on a client, a rmtsys-related - checks are executed by default. These prevent a user with gid - 2750 and 274i8 (0xabc and 0xabe) from executing this command. - Add a new flag inside the cachemanager for the rmtsys- - functionality. This flag is set through a new ioctl by the afsd - on startup. - - Change-Id: Idf95aa81cc1dbb46c70a11b9ae2ccfa04bfb4c4f - Reviewed-on: http://gerrit.openafs.org/10245 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 73ae85bd59cfe9fca2daeb7dc0aa0917368bb5bf -Author: Michael Meffie -Date: Fri Sep 6 23:58:39 2013 -0400 - - auth: fix cellservdb update check - - Fix a bug introduced by the check to avoid excessive stats of the - cellservdb. Fixes a bug where cached cell config data is served for up - to one second after a write. - - Check the timeRead field which is reset after a write to indicate the - data should be read. - - Fixes commit 0e3bfa033ed230fcb46ad8e3c26c8b7aae6e00af - - Change-Id: I209e93a1bc4107a878eefaae92ec0e5e4ada2518 - Reviewed-on: http://gerrit.openafs.org/10230 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit e6af2ffc86af17c4be427384467c4122fc5301b3 -Author: Derrick Brashear -Date: Thu Sep 12 08:09:34 2013 -0400 - - linux: provide read and write ops even when we have aio - - read/write will fall back to aio ops but e.g. writev will - fail if there is not either a write or writev op explicitly. - - force the fallback via do_sync_read/do_sync_write - - required with 2.6.18-348.x rhel kernels but probably not newer ones - - Change-Id: I773a8e38df435015e4bc9fc353d930d14b3e6791 - Reviewed-on: http://gerrit.openafs.org/10246 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c7f5a212025172307e85e09ada03333e5e288cc3 -Author: Christof Hanke -Date: Wed Aug 28 14:51:13 2013 +0200 - - Linux Keyring error handling - - honour the returncode of key_instantiate_and_link() to avoid - having non-working pagsh without an error. - - Change-Id: Ia62c1c24b22e833cd5dc2689181397965901d34e - Reviewed-on: http://gerrit.openafs.org/10179 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Michael Meffie - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - -commit 1f577e41b65e9bd213a915a296ecf5bedd17fcc1 -Author: Marc Dionne -Date: Tue Sep 3 07:55:14 2013 -0400 - - Linux 3.11: Adapt to d_count changes - - In preparation for upcoming changes in the 3.12 cycle, d_lockref - was introduced late in the 3.11 cycle. The dentry's d_lock and - d_count are moved to this new structure. A new d_lock macro makes - the change transparent for locking, but direct users of d_count - must adapt. A new d_count() helper function is provided and - should now be used. - - Use the new d_count() helper function if available, and move - some of the ifdef logic into a helper compatibility function. - - Change-Id: I32a21a174d763fb7df8f1e04da3bb7260684571d - Reviewed-on: http://gerrit.openafs.org/10219 - Tested-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit d9db6fbd17db2640648716815a6f0a8e8c0b9561 -Author: Ken Dreyer -Date: Thu Sep 5 22:39:57 2013 -0600 - - fix src tarball error text in make-release - - Correct the error message if make-release fails to create the source - tarball. - - Change-Id: Iaf908975d56c0ee4c2959854f0ffd9c855f2c708 - Reviewed-on: http://gerrit.openafs.org/10228 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 28de757a65679bff74fb34e65d8cd78cb36d0fc9 -Author: Jeffrey Altman -Date: Tue Sep 3 08:42:50 2013 -0400 - - Windows: Do not leak activeRPC count - - If a callback race has been lost cm_MergeStatus is not executed. - In that case either the activeRPC count should not be incremented - or must be decremented to indicate that the current call has been - completed. - - Change-Id: I417f72bbc482f6d207ed0c09770b1d8a53d078ff - Reviewed-on: http://gerrit.openafs.org/10218 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2a1035a49bfb67152f14b500d9c614e4df1013c8 -Author: Jeffrey Altman -Date: Mon Sep 2 14:38:41 2013 -0400 - - Windows: Adjust setting of VERIFY_DATA flag - - If the CcPurge operation fails or cannot be performed, in addition - to setting the purge on close flag, set the verify data flag. This - ensures that the next attempt to access the file will retry the - purge. - - Change-Id: I9ebbdab8b5dd31ace5d316454b6e54cf537686d5 - Reviewed-on: http://gerrit.openafs.org/10217 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7c8eb2f2288706a75fda67acae52a5b89dc8343f -Author: Jeffrey Altman -Date: Mon Sep 2 14:34:32 2013 -0400 - - Windows: Add trace to track setting VERIFY flag - - Add trace statements at each location the VERIFY flag is set or - cleared. - - Change-Id: I108d3d44947bc92f147afb66f746af3262435104 - Reviewed-on: http://gerrit.openafs.org/10216 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6de822d647c2d2707f4f0af149579101dd0071f8 -Author: Jeffrey Altman -Date: Mon Sep 2 14:31:38 2013 -0400 - - Windows: Skip Extent operations if Direct IO - - If the redirector is using Direct IO servicing there are no extents - in use. Skip the AFSFlushExtents, AFSTearDownExtents, and related - calls unless extent processing is in use. This will reduce lock - contention and reduce cpu processing. - - Change-Id: I2948295bdd6056e6fbdab7d32c46575a8a7aebbc - Reviewed-on: http://gerrit.openafs.org/10215 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 27311ca420c2ee29b38aa2994993cf24d7d769b1 -Author: Jeffrey Altman -Date: Sun Aug 25 20:07:44 2013 -0400 - - Windows: Hold Fcb Resource across CcPurgeSection - - Now that the Fcb Resource and SectionObjectResource are held in - the FastIo pathway and the Trend Micro deadlock has been addressed - by holding a reference on the FileObject it is time to fix the - lock acquisition ordering. For each CcPurgeSection call the - Fcb Resource will be held exclusive before the SectionObjectResource. - - Change-Id: Ica9e3674b39e2789c35bcf13d9fa1f2326420119 - Reviewed-on: http://gerrit.openafs.org/10192 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 22d7c8461b16940c3606d63a0b7e232563871cd8 -Author: Rod Widdowson -Date: Sun Aug 25 13:20:28 2013 -0700 - - Windows: Strip out unused ModWriter Fastio code - - The code is no longer used (the fcb->PagingIO resource is taken for - us by the modwriter) so we strip it out to save other making changes - and then remembering/discovering that this code isn't being used. - - Change-Id: I0d880049758559ae0860f8c1e12583304a459a68 - Reviewed-on: http://gerrit.openafs.org/10191 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 40d93cb9df62031f1dc5b185e690d11d2c2b9d0b -Author: Rod Widdowson -Date: Sun Aug 25 12:25:55 2013 -0700 - - Windows: Take FCB resource in presection create. - - Fix a lock inversion in the paging query file information path (called - from within section create). - - The query file takes the FCB resource, but that is a lower rank - lock than the SOP resource which is taken in AcquireFileForNtCreateSection, - - We fix the inversion by grabbing the FCB resource in - AcquireFileForNtCreateSection. - - Change-Id: I6ea8d2ebf9d454f78469e86765ae36e1993533b2 - Reviewed-on: http://gerrit.openafs.org/10190 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1dc051294c48bb81a92d152b2e3e5ae0fac00fae -Author: Rod Widdowson -Date: Sun Aug 25 09:16:39 2013 -0700 - - Windows: Pin the Cc FileObject during section create. - - This means that if we purge the data cache while the section is being - created then the MJ_CLOSE will not happen until we unpin the FO. - - Thus we can drop any embarsssing locks prior to the close and - meddling antivirus products can do odd stuff in the close path. - - Note that there may not be a file object, but in that case there - will be no close on the purge since any CcInitialize operations - will wait on us dropping the SOP lock exe - hence the SOP cannot - be set up. - - Also note that this only applies to the data section, - but we do not purge the image section. - - Change-Id: I63884888d98eb4eb03858ed962d74bd3b4702042 - Reviewed-on: http://gerrit.openafs.org/10189 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cb53d414bbc4ecaf1b136b4a3c82bea3cc9044b6 -Author: Jeffrey Altman -Date: Sun Aug 25 20:02:51 2013 -0400 - - Windows: AFSPerformObjectInvalidate FILE processing - - Refactor AFSPerformObjectInvalidate so that all of the non-DIRECT_IO - processing variables are in the Extents processing section. Remove - all references to Extents processing from the DIRECT_IO block. - - Change-Id: If1c20f9d09b415f4c032cea600983efe6ab0cdc3 - Reviewed-on: http://gerrit.openafs.org/10188 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b2713d121e360598fae5c4651d385e0a11ace05b -Author: Jeffrey Altman -Date: Sun Aug 25 19:54:52 2013 -0400 - - Windows: AFSVerifyEntry get rid of bPurgeExtents - - The logic in AFSVerifyEntry is such that bPurgeExtents is always - set to true so simplify the code by removing it. - - Change-Id: Idfa90f47158eadb71560122aa3d04b80b7410e03 - Reviewed-on: http://gerrit.openafs.org/10187 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e8226a2aec30bc003ccad4a9332c4d3c232b45de -Author: Jeffrey Altman -Date: Sat Aug 24 20:20:54 2013 -0400 - - Windows: Fix trace messages in AFSSetEndOfFileInfo - - The wrong function name was specified. - - Change-Id: I820af87177b84120088a4bd2b60655e9b0f68b80 - Reviewed-on: http://gerrit.openafs.org/10186 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c7e8b75353e2cd0bb58b05c9faab21df14c73c69 -Author: Jeffrey Altman -Date: Fri Aug 23 15:02:44 2013 -0400 - - Windows: AFSWrite comments - - Add various comments regarding lock requirements - - Change-Id: I285eb416ef7d05ef29fcffbc5ce9afd5d3d27322 - Reviewed-on: http://gerrit.openafs.org/10185 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3f797fc71174a5779cf1cae3ba452f401a668881 -Author: Jeffrey Altman -Date: Fri Aug 23 15:00:17 2013 -0400 - - Windows: Missing try..except in AFSCachedWrite - - Wrap another cache manager call with try..except - - Change-Id: I2d10fc5a4c9a47f32590a394c57c412d773409f5 - Reviewed-on: http://gerrit.openafs.org/10184 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 26276e602046c8dfe408e7c1d0a2ab80dbc7caa3 -Author: Jeffrey Altman -Date: Thu Aug 22 17:50:39 2013 -0400 - - Windows: Refactor AFSVerifyEntry AFSValidateEntry - - Inside a big switch statement it is hard to follow when there - are multiple 'break' exits within a 'case'. Reorganize the code - so that there is only a single exit for the FILE type. Unnecessary - blocks are removed as well. - - Change-Id: I7ae0ae4592a15a23e8526f18a96a9ded9a1d135c - Reviewed-on: http://gerrit.openafs.org/10183 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7f706e6b59a04aef002bb3c29f8917b612f70ac1 -Author: Jeffrey Altman -Date: Thu Aug 22 17:46:19 2013 -0400 - - Windows: introduce Section Object Resource Trace Subsystem - - Section Object Resource acquires and releases are lost in the - noise of all of the rest of the locks. Introduce a dedicated - subsystem just for Section Objects. - - Add missing entries at the same time. - - Change-Id: Ibf94da7e737d0559a822f731dbbda7ebe96dfa2d - Reviewed-on: http://gerrit.openafs.org/10182 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b4a996b8151322881ae82cee7ae85a6d47a7ba1e -Author: Jeffrey Altman -Date: Thu Aug 22 17:43:20 2013 -0400 - - Windows: afsredirlib afscommonwrite trace msg error - - Specify the correct function name in the trace msg. - - Change-Id: I08307d873308631af8cc7afd148b78636b4f49ce - Reviewed-on: http://gerrit.openafs.org/10181 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cd07888265f372bb380ee68495e645f174586119 -Author: Jeffrey Altman -Date: Wed Aug 21 12:27:35 2013 -0400 - - Windows: Call AFSExeceptionFilter for all exceptions - - In many cases we capture exceptions record and the Exception Code - as ntStatus and move on with life. This patchset changes that. - All exceptions are passed to AFSExceptionFilter so we do not miss - anything. - - Change-Id: I4bc8836047a8735becf2f9efaca2a6fa7749b3ca - Reviewed-on: http://gerrit.openafs.org/10180 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c9651157cdc690dea81caf9419210a00978c6965 -Author: Andrew Deason -Date: Wed Aug 21 17:07:14 2013 -0500 - - viced: Clarify comment explaining cba sorting - - The current comment here is very brief; it may not be immediately - clear to a reader why we are sorting these, and so why we need the - given CBAs in an array. Expand on it a bit. - - Note that it seems like it might be possible to refactor multi_Rx to - not require all calls to be created before any packets are sent. If - multi_Rx were changed to send data as we create calls, it may be - possible to eliminate this sorting, and allow for slightly more - efficient callback traversal when breaking callbacks. - - Change-Id: I966cdcf6d40aa5c02f8768f4dd76c580c811ccaf - Reviewed-on: http://gerrit.openafs.org/10170 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Jeffrey Altman - -commit 0cd5c63ebeef7567c9965e1ded7f10c6f452f0c3 -Author: Jeffrey Altman -Date: Sat Aug 17 12:51:06 2013 -0400 - - Windows: Delay MP Target evaluation until required - - Do not evaluate the Target FID of a mount point until such time - as the target directory must be accessed. - - Change-Id: I8aa0da50256cacc4433fad6c7675ca8bd3bd5eb7 - Reviewed-on: http://gerrit.openafs.org/10154 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0edbeb4a3ce86387dbc31b1745e5517accdb4823 -Author: Jeffrey Altman -Date: Sat Aug 17 11:35:39 2013 -0400 - - Windows: modify PopulateCurrentEntry follow mp rules - - It is always safe to read the mount point target data, it is not - always safe to evaluate the volume id since the VLDB might not be - reachable. - - For directory enumerations do not evaluate the target Fid. Only - do so for eval by name and by id requests. - - Change-Id: Ifa0e84b2e9fb0822dceb9d719a47c541fed2a2bf - Reviewed-on: http://gerrit.openafs.org/10153 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b7964e1814d3b7f1f92f0c20c34ad7166110f502 -Author: Jeffrey Altman -Date: Sat Aug 17 11:33:45 2013 -0400 - - Windows: update GetFileVersionInformation fail msg - - Include the module name in the error message if GetFileVersionInformation - fails. Its failure means the module has no file version resource data. - - Change-Id: If2e0d376613b5b10e58114986f9ae6994a6de6c0 - Reviewed-on: http://gerrit.openafs.org/10152 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1c0260c71185a41f1ec3d1c08f20c53c76f31cdd -Author: Jeffrey Altman -Date: Sat Aug 17 10:18:53 2013 -0400 - - Windows: Cap Cache Size on X86 - - Since we know the cache size cannot be arbitrary size because it - must fit into contiguous process memory and because it is difficult - to compute the actual size limit, cap the size to 716800KB. - - Change-Id: I850f489dc8a392875582e52d8d511dedf69aec9c - Reviewed-on: http://gerrit.openafs.org/10151 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7ce1997f01a964463c1c04816c63ef28d4dfcc23 -Author: Jeffrey Altman -Date: Sat Aug 17 00:08:30 2013 -0400 - - Windows: do not return STATUS_RETRY for rx timeouts - - Report the RPC server unavailable instead. - - Change-Id: I9a6d8eec9d93f66b098b2edc4119d2e759efd9a1 - Reviewed-on: http://gerrit.openafs.org/10150 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4bc62d6bd71ece7d1cb91e77d92ac40789f42ddf -Author: Jeffrey Altman -Date: Sat Aug 10 00:44:08 2013 -0400 - - Windows: np AddConnection error code - - If AddConnection fails because DeviceIOcontrol fails, do not - return out of memory which is an unsupported error code. Report - a network failure. - - Change-Id: Ib0c83a2fc0b681a94483e1b16ab102354767c993 - Reviewed-on: http://gerrit.openafs.org/10149 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3f163fad55fb7e88e8206139ab1c16fe4fbe1487 -Author: Jeffrey Altman -Date: Fri Aug 16 15:36:32 2013 -0400 - - Windows: Do not recycle deleted scache on refcnt 0 - - If the scache object with CM_SCACHEFLAG_DELETED set is recycled - then the deleted state is lost and the cache manager cannot prevent - unnecessary FetchStatus queries to the file server. - - Change-Id: Idaed9c3a18fb1d68c9c6d720a5b16591acafce7d - Reviewed-on: http://gerrit.openafs.org/10142 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit acad253a357c2c97fcd8f59c489ac2c7cacba7b7 -Author: Jeffrey Altman -Date: Fri Aug 16 12:01:55 2013 -0400 - - Windows: Do not remove scp from hash table on deletion - - If the CM_SCACHEFLAG_DELETED flag is going to have any benefit, the - cm_scache object must not be removed from the hash table in response - to a VNOVNODE error. Otherwise, a new cm_scache object is allocated, - the CM_SCACHEFLAG_DELETED is not found, and a new callback request - is issued to the file server which in response returns VNOVNODE. - - Do this enough times and the abort threshold is triggered and then - the application becomes very unhappy with performance. - - Change-Id: I5c6e2495c149f52ca192d195897e2a1822cf0d14 - Reviewed-on: http://gerrit.openafs.org/10141 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0fb1e4762d2e5f04876726f487afeb224dd99140 -Author: Jeffrey Altman -Date: Fri Aug 16 12:01:02 2013 -0400 - - Windows: CM_SCACHEFLAG_DELETED use InterlockedOr - - When setting CM_SCACHEFLAG_DELETED use InterlockedOr. - - Change-Id: Ie6ccc8e0a167e5bb6a8b74689606166821168989 - Reviewed-on: http://gerrit.openafs.org/10140 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 17b45bb8dee9ac53ff22effa472c9c246b792198 -Author: Jeffrey Altman -Date: Fri Aug 16 11:58:18 2013 -0400 - - Windows: buf_CleanLocked no callback for deleted file - - If the cm_scache flags indicate the object is CM_SCACHEFLAG_DELETED, - do not request a callback. Simply invalidate the data in the buffer - and move on. - - Change-Id: Id461dc20dda53c93eb87f2648f6279877e4a34d6 - Reviewed-on: http://gerrit.openafs.org/10139 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit af2fa3c56ff21529739c4cf795948b8711d09c80 -Author: Mark Vitale -Date: Tue Jul 16 17:27:05 2013 -0400 - - volser: repair volserver -udpsize and -sleep options - - commit cd3492d0635708f141dbb9230471434268ef2188 accidentally - broke the parsing of the volserver -udpsize and -sleep options. - - Change-Id: Ia900e4d8fda1b4d5759b46932a4b62bf5591707b - Reviewed-on: http://gerrit.openafs.org/10088 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 0346ed6f53a6f3fb5d75de41c7ec5a139727618f -Author: Ken Dreyer -Date: Wed Jul 31 16:00:24 2013 -0600 - - do not ship uncompressed tarballs - - There's not much point to shipping uncompressed tarballs in 2013. Delete - them during "make-release". - - Change-Id: Ib52bd4a34ef0f5b0eacb973e60f7c1ef921f5ade - Reviewed-on: http://gerrit.openafs.org/10116 - Reviewed-by: Derrick Brashear - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit 6c7c185ba3ec6fbdda0651d18868e66edd655809 -Author: Ben Kaduk -Date: Tue Jul 16 20:39:56 2013 -0400 - - Check for over/underflow while allocating PTS ids - - The behavior of signed integer over/underflow is implementation-defined, - but even if the compiler is nice and just wraps around, we could get - ourselves into trouble later on. - - Change-Id: I20ea9c790037a36b8527889b3f7adcfd60e74fd4 - Reviewed-on: http://gerrit.openafs.org/10091 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - -commit 0d4aae8e6bac495642e7328e26c96d6e5e8144ed -Author: Ben Kaduk -Date: Wed Jul 17 16:09:09 2013 -0400 - - Verify, not Assert, for the (util) global mutex - - We don't want turning off debugging to force open this lock. - - Change-Id: Ia8dd689c506e42a4bf87c83af23d7457df12f8b9 - Reviewed-on: http://gerrit.openafs.org/10092 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3a24ed9baef178d34b6d0fb3a5f6a485dea9353b -Author: Ken Dreyer -Date: Sat Jul 27 09:22:56 2013 -0600 - - doc: clarify setcrypt defaults - - Change-Id: I0145ecc9935786204d215a11459d170f6220657b - Reviewed-on: http://gerrit.openafs.org/10111 - Reviewed-by: Jason Edgecombe - Reviewed-by: Michael LaƟ - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0013ca2e15b7219400b1615931492436ea987062 -Author: Ben Kaduk -Date: Tue Jul 30 20:17:01 2013 -0400 - - Do not use a non-literal format string - - Now that UKERNEL's panic() is a proper varargs function (gerrit 9877), - we can use a literal format string "%s" to print the panic message. - clang warngs about a non-literal format string, and in some build - environments the warning becomes fatal via -Werror. - - Change-Id: I7d8c9390e3edad7efa6ae1217f938b635423d23a - Reviewed-on: http://gerrit.openafs.org/10114 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6b0016dd992b3215cb17c93812e14de9e4916d25 -Author: Andrew Deason -Date: Wed Jul 31 15:58:41 2013 -0500 - - budb: Do not use garbage cellinfo - - If the -servers option is given, we never initialize cellinfo or the - clones array. So, don't give the cellinfo structure or the clones - array to ubik in that case, or we may crash or do other weird things. - - This issue appears to have been introduced in commit fc4ab52e. - - FIXES 131706 - - Change-Id: I87681c697fec7bbfd6c73a8a9a865e4309c95963 - Reviewed-on: http://gerrit.openafs.org/10115 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cd0cac7e1aa673de459c3ef29404e43a1ddccbe1 -Author: Ken Dreyer -Date: Wed Jul 31 16:16:16 2013 -0600 - - enable Perl's strict and warnings in make-release - - Declare the undeclared variables $help, $man, and @toCompress, delete - the duplicate declaration for $last, and remove the unused $tag - variable. - - Change-Id: I33de42722b84207dc1bbad50539dc5bf92da2f5e - Reviewed-on: http://gerrit.openafs.org/10117 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7f15a1bbb34fa6f0d52800880f31be367d77a64f -Author: Andrew Deason -Date: Thu Aug 1 14:06:52 2013 -0500 - - DAFS: Remove AFS_DEMAND_ATTACH_UTIL - - Currently we have two DAFS-related preprocessor defines in the - codebase: AFS_DEMAND_ATTACH_FS and AFS_DEMAND_ATTACH_UTIL. DAFS_FS is - the symbol for enabling DAFS code, and turns on demand attachment and - all of the related complicated volume handling; it requires pthreads. - DAFS_UTIL is supposed to be used for utilities interacting with DAFS, - but do not have pthreads and so cannot build the relevant threads for - e.g. the VLRU, so they don't support demand attachment and a lot of - more advanced volume handling techniques. - - Having both of these exist is confusing. For example, currently in - partition.c we only initialize dp->volLockFile for DAFS_FS, even - though the structure exists if _either_ DAFS_FS or DAFS_UTIL is - defined. This means when only DAFS_UTIL is defined, volLockFile will - exist in the partition structure, but will be uninitialized! - - Amongst other possible issues, this means right now that DAFS_UTIL - users (dasalvager is the only one right now) will try to use an - uninitialized volLockFile whenever they try to use a volume that needs - locking. Since the partition struct is usually initialized to all - zeroes, this means we'll try to issue a lock request for FD 0, - whatever FD 0 is. If FD 0 is not open, we'll fail with EBADF and bail - out. But if FD 0 is open to some random file, the lock will probably - succeed, and we'll proceed without actually locking the volume lock - file. While the fssync volume checkout mechanism still works, the - on-disk locking mechanism protects against race conditions the fssync - volume checkout mechanism cannot protect against, and so handling - volumes in this way is not safe. - - This is just one example; there are other issues with the partition - headerLockFile and probably may other things; most instances of - DAFS_FS really should be enabled for DAFS_UTIL as well. - - So, instead of trying to account for and fix all of these problems - individually, get rid of AFS_DEMAND_ATTACH_UTIL, and just use - AFS_DEMAND_ATTACH_FS. This means that all relevant code must be - pthreaded, but since the only relevant code is for the dasalvager, we - can just make dasalvager pthreaded. Salvaging does not make use of any - threads or LWPs, so this should not have any side-effects. - - Thanks to Ralf Brunckhorst for reporting the issue where we encounter - EBADF when FD 0 is not open, leading to the discovery of this. - - Change-Id: I3848eb877f26b9d65833d5ce0e03f5cf7ba28de4 - Reviewed-on: http://gerrit.openafs.org/10123 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f393612d8f0a121d0cb8755f3eb9913c0f09606d -Author: Marc Dionne -Date: Wed May 29 10:33:44 2013 -0400 - - Linux: Remove extra "goto out" from tmpfs fix - - Remove a stray "goto out" that should not have been applied in - this spot along with the tmpfs fix. - - Thanks to Stephan Wiesand for pointing it out. - - Change-Id: I6f798029a948446b974456648513ea7db4469561 - Reviewed-on: http://gerrit.openafs.org/9953 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 30fa9480dd99ed93fa642dd8ce9746760fb42180 -Author: Anders Kaseorg -Date: Tue Jul 23 14:37:26 2013 -0400 - - volume_inline.h: Down with assert, again - - Commit 34767c6a0f914960c9a1efabe69dd9c312a2b400 replaced all assert - calls in this file with osi_Assert (now opr_Assert), but shortly - thereafter, commit db6ee95864a8fc5f33b7e95c19c8ff5058d37e92 added - VTimedWaitStateChange_r with two new assert calls. These are - precarious in a public header; fix them to opr_Assert like the ones in - VWaitStateChange_r. - - Change-Id: If2055355b45a09940d69dace59ec18bd6a0cc6fa - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/10094 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8b5d3a73f9f29d7952f7fda1c0d98aa14be4afc1 -Author: Jeffrey Altman -Date: Tue Jul 9 17:50:26 2013 -0400 - - rxkad: remove warnings from der-protos.h - - der-protos.h was generated from Heimdal headers which in turn were - auto-generated. The included a large number of function prototypes - of the form - - ret-type func(parm-list, type */* comment */); - - where the combination of */* is ambiguous. Does it mean an end comment - followed by a pointer declaration or a pointer declaration followed by - a begin comment. This combination generates warnings on Windows. The - bug was fixed in Heimdal's code generator. Fixing it here by editing - the code. - - Change-Id: Ie66a5c70b0144173d70433adfbe3ed453672af81 - Reviewed-on: http://gerrit.openafs.org/10101 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1630ada4630a90aae64a63025f8e16dad1500490 -Author: Jeffrey Altman -Date: Tue Jul 16 20:22:59 2013 -0400 - - Windows: fix cm_ServerFindByUUID - - opr_uuid_equal() returns non-zero if equal. - - Change-Id: I6777d4536d002ec227454aa014278e0fc32eb14d - Reviewed-on: http://gerrit.openafs.org/10090 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4376400259e0a407237f8fc2bffb4262cfb1efbc -Author: Jeffrey Altman -Date: Wed Jul 24 17:54:13 2013 -0400 - - aix: link afs_dynamic_kerbauth to rfc3961 - - Change-Id: Ie06fc83382e18f2e90a5f3874a8bb71afa0c4748 - Reviewed-on: http://gerrit.openafs.org/10106 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0cb982c8b4b3abb8ecb9475ee087955a78cd34b2 -Author: Jeffrey Altman -Date: Wed Jul 24 17:31:35 2013 -0400 - - Windows: fix building of aklog - - patchset 7e4e06b87a09197816b0e1ae132e38dc30090574 was misapplied - to src/WINNT/aklog/aklog.c resulting in a Windows build failure. - - Change-Id: I789ee1464f1f2e695d043d7a25a9f7566068733a - Reviewed-on: http://gerrit.openafs.org/10105 - Tested-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b5df669801b8406dacd5d16b25d4f01a14a473f1 -Author: Jeffrey Altman -Date: Sat Jul 13 21:29:19 2013 -0400 - - Windows: fix cm_ServerEqual bug - - must check svr2 not svr1 in the second uuid check. - - Change-Id: I570b06c630a18c31001b3ca3ab09c870c7cbc355 - Reviewed-on: http://gerrit.openafs.org/10086 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Jeffrey Altman - -commit 92148709443ed622bd25aba38e83b25ca77950a1 -Merge: e2d458c11 e79102e79 -Author: Simon Wilkinson -Date: Wed Jul 24 15:55:26 2013 +0100 - - Merge branch 'rxkad-kdf-master' into HEAD - - Merge the current OpenAFS master branch with the branch on which - OpenAFS-SA-2013-003 and OpenAFS-SA-2013-004 were developed. - -commit e2d458c11956af6fe721f7151487cb19f07ac16f -Author: Michael LaƟ -Date: Sun Jul 14 21:31:27 2013 +0200 - - Use -nofork when starting bosserver via systemd - - Systemd does not expect the started process to fork unless - "Type=forking" is given. Use -nofork to run BOS in foreground and allow - systemd to track its state. - - Change-Id: I024be12b410d6b8299edd16f309d816a3df469ed - Reviewed-on: http://gerrit.openafs.org/10087 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Marc Dionne - Reviewed-by: Mark Vitale - Tested-by: Michael LaƟ - Tested-by: Ken Dreyer - Reviewed-by: Ken Dreyer - -commit 961ca14c2eef02fc56052ca983cd44925f9410f6 -Author: Ben Kaduk -Date: Fri Jul 12 13:38:08 2013 -0400 - - Fix typo - - The file is KeyFileExt, not KeyFileEx. - - Change-Id: Iffd5edc8a60b1a49441822d26dc44fa252bd70e3 - Reviewed-on: http://gerrit.openafs.org/10084 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e79102e7918ce5196e870a806879135743ec3abb -Author: Ben Kaduk -Date: Sat Jul 13 10:49:27 2013 +0100 - - Add support for deriving DES keys to klog.krb5 - - Change-Id: I5b58585661f34ec501ad8db8f92b659f32919366 - -commit 2a9a98f40514e36fd3a3a4b559de5c92d552dc8a -Author: Ben Kaduk -Date: Fri Jul 12 12:43:57 2013 -0400 - - Update the asetkey man page for rxkad-k5 - - Also add the usage for the six-argument form while here. - - Update some generic text to account for the existence of rxkad-k5, - and mention that the Update Server is not the only thing which can copy - around KeyFiles. Give an example of the seven-argument form's usage for - rxkad-k5. - -commit fe73ac62fbda1d4e563ef03114813f148c7d321e -Author: Ben Kaduk -Date: Fri Jul 12 12:53:46 2013 -0400 - - Use the string form of key types in asetkey - - Check for rxkad-k5 keys in the six-argument form and warn they are - unsupported. Do sanity-checking on the type. - - Change-Id: I571fcf88744dec271265e6a47f7d9831f867115b - -commit 7e4e06b87a09197816b0e1ae132e38dc30090574 -Author: Chaskiel Grundman -Date: Sun Mar 17 21:58:47 2013 -0400 - - Derive DES/fcrypt session key from other key types - - If a kerberos 5 ticket has a session key with a non-DES enctype, - use the NIST SP800-108 KDF in counter mode with HMAC_MD5 as the PRF to - construct a DES key to be used by rxkad. - - To satisfy the requirements of the KDF, DES3 keys are first compressed into a - 168 bit form by reversing the RFC3961 random-to-key algorithm - - Windows has three additional places to get tokens, who knew? - - Change-Id: I4dc8e83a641f9892b31c109fb9025251de3dcb27 - -commit 7ac5dddbfd439e5276ae5bea00ea22cd1b5897d3 -Author: Chaskiel Grundman -Date: Sun Apr 28 14:27:47 2013 -0400 - - Krb5 ticket support for server-to-server and localauth - - Create a tkt_MakeTicket5 that creates a native krb5 rxkad token with - a service key supported by the rfc3961 library (session keys must be - provided as DES) - - Update GenericAuth to search for rxkad_krb5 keys and call tkt_MakeTicket5 - if it finds any. - - Change-Id: Ia9543fdcffcbf3ca899a003908662ff3daa8ee07 - -commit 538354d4749ffc0e7cc7e9552338b8f75ed01438 -Author: Chaskiel Grundman -Date: Thu Apr 11 00:12:36 2013 -0400 - - Asetkey now handles afsconf_rxkad_krb5 keys too - - afsconf_rxkad_krb5 keys can hold any kerberos enctype, not just des. - Allow asetkey to copy them into KeyFileExt and print them, too. - - Change-Id: I11a7dc7770da58c8381accd7fa2164cdfcea43ae - -commit ea4812f03d498b6a838440fa3349e085fa5ea8b5 -Author: Chaskiel Grundman -Date: Sat Apr 6 13:42:23 2013 -0400 - - Use rfc3961 library to decrypt kerberos 5 tickets - - Decrypt tickets with non-des enctypes by calling out to the rfc3961 library. - This requires the security object to be given an enhanced get_key callback - that supports looking up keys by enctype. - Include a wrapper around afsconf_GetKeyByTypes so rxkad doesn't have - to know anything about libauth internals/interfaces - - Change-Id: Id2b085fb41e2ed3576ec66b2914c03e78c0077ec - -commit 94635f727155830b636026441d6d9122803b2e39 -Author: Ben Kaduk -Date: Tue May 28 22:07:06 2013 -0400 - - Update the WiX installer to know about afsrfc3961.dll - -commit 292196ad944611796370ab1648650be147841194 -Author: Chaskiel Grundman -Date: Tue Jul 9 19:02:00 2013 -0400 - - libafsrpc: link afsrpc.dll to afsrfc3961.lib - - Change-Id: I5bf48ed29522c0cbdc43dda63487012f14d39bbf - -commit 0777382e8e2cc9b428034e0b55b91931b7d9c104 -Author: Chaskiel Grundman -Date: Fri Apr 5 20:12:12 2013 -0400 - - Allow some rfc3961 functionality to be disabled - - It conflicts with v5gen in rxkad/ticket5.c - - Also add include guards, which were missed previously. - - Change-Id: If5155661deb5adf73329eb8b90021512c01a290f - -commit 08474dd0b51cfe26dfe2b5c661a2e9a4ca24267e -Author: Simon Wilkinson -Date: Fri Apr 12 14:57:44 2013 +0100 - - hcrypto: Add exports for more crypto algorithms - - Export some additional algorithms so we can make use - of them elsewhere in the code. - - Change-Id: I676318a872a1e7b537112a3d60dac2edff478ae6 - -commit 7694f536d3997768b69a635616b0cf24d71a595a -Author: Jeffrey Hutzelman -Date: Mon Jun 28 16:27:35 2010 -0400 - - scsi_command_size became scsi_command_size_tbl - - Change-Id: If91922944f90df11d5a09cd09cbb66c16296d366 - Reviewed-on: http://gerrit.openafs.org/9964 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba42758ce218e8985adc0129d0ee3ffa8690537f -Author: Andrew Deason -Date: Mon Jun 3 16:28:44 2013 -0500 - - volser: Use the new IH_CREATE_INIT function - - Use IH_CREATE_INIT when restoring volume data, so we don't open each - restored data file twice. - - Change-Id: I67b3df1c5777a6b022644b042f405dbd6a1976a0 - Reviewed-on: http://gerrit.openafs.org/9970 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b17fdcabaf759b8b821e34fc187253ad81f5cf90 -Author: Jeffrey Hutzelman -Date: Mon Jun 28 16:27:01 2010 -0400 - - Make RXGEN_CPPCMD work on unix - - Change-Id: Id08d6f02eb117d9d06b6814e39658d69e05bd43b - Reviewed-on: http://gerrit.openafs.org/9963 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 859949c39cab727a17ab5c81f0b071891032517e -Author: Mark Vitale -Date: Wed Jun 26 11:18:01 2013 -0400 - - vos: incorrectly defined alias for -cell parm - - Commit 5d42398298ad4af91a08a08ce607754f644b37dc specified - an incorrect offset for the -c alias for the -cell common - parameter. - - Change-Id: I5a3bbe9ceb8a9fd4c21970f4ef0c64d77e9cdea4 - Reviewed-on: http://gerrit.openafs.org/10021 - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 428ab5deff8efa7334987d2fd2fbc4db053a5562 -Author: Jeffrey Hutzelman -Date: Tue Sep 20 14:21:44 2011 -0400 - - libafs/LINUX: update file pos in corrupt dir fix - - Change-Id: Ia90740d5d7dda026dbeeee7273555c4f68fde166 - Reviewed-on: http://gerrit.openafs.org/9972 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c636db1eca54844f0ba29cd75f4a0b8181df2162 -Author: Jeffrey Hutzelman -Date: Tue Sep 13 18:37:24 2011 -0400 - - libafs/LINUX: Report FID of corrupt directories - - When afs_linux_readdir detects a corrupt directory, the resulting - error message is more useful if it includes the directory's FID - instead of just a kernel inode pointer. - - Change-Id: If801e7b0325daca3da8ab115a926276e570c1d94 - Reviewed-on: http://gerrit.openafs.org/9965 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a2bfa0e853fb4954fd06a00ea6fbc55c39e76b8a -Author: Jeffrey Hutzelman -Date: Wed Jun 12 16:22:36 2013 -0400 - - libafs/LINUX: avoid leaks due to corrupt dir - - When a corrupt directory is discovered, scanning stops immediately and - readdir returns ENOENT. Currently, the vcache lock is unlocked and the - dcache containing the directory is released, but that's not enough. - It's also necessary to unlock the dcache, on which we hold a read lock, - and to clear the vcache state which records an in-progress readdir. - - Change-Id: I408e8bc8b1f4a0ebc1740410da5d760f30b4c875 - Reviewed-on: http://gerrit.openafs.org/9971 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c854cb31ff2b1ab79de18b5ab926bf2ea2b05663 -Author: Jeffrey Hutzelman -Date: Tue Jun 18 23:12:46 2013 -0400 - - viced/callback.c: Don't ignore dump read errors - - When reading a callback state dump, check the return values from - read(2) instead of ignoring them. This adds a new static function, - ReadBytes(), which handles reading a requested number of bytes from a - file and bailing if there is an error. - - Change-Id: Ib06d96888b4e6de0a377c8c6503147f9e44960e5 - Reviewed-on: http://gerrit.openafs.org/9989 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 8ecf7bde78272efc11460f783203afa56cf5c0dc -Author: Michael Meffie -Date: Thu Apr 4 10:56:37 2013 -0400 - - ptserver: increase the max lwp threads - - Increase the maximum LWP threads allowed from 16 to 64. Increasing the number - of LWP threads can reduce the number of calls waiting for threads. - - Change-Id: I66f53c0fbb2db66c94b9982e3ee6b3b1f89a0f01 - Reviewed-on: http://gerrit.openafs.org/9707 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bb36ce66ff5c41da57244ac7562ac36e106b53f0 -Author: Michael Meffie -Date: Thu Apr 4 10:53:00 2013 -0400 - - vlserver: increase the max lwp threads - - Increase the maximum LWP threads allowed from 16 to 64. Increasing the number - of LWP threads can reduce the number of calls waiting for threads on - busy vlservers. - - Change-Id: I1e95366aad8fe4d275794603d2af07c799cd7048 - Reviewed-on: http://gerrit.openafs.org/9706 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 45a80388123f637e32bcb9d2e5fb24db5565cbf3 -Author: Ben Kaduk -Date: Mon Jun 24 20:51:53 2013 -0400 - - Make KeyFileExt comment match reality - - There is no file format version field as implemented. - Remove it from the format laid out in the comment, and change the - associated text to make more sense. - - Change-Id: I3a7e4ca22bb4d556a091abc0e6e22d3409e419cd - Reviewed-on: http://gerrit.openafs.org/10020 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit aec5a1ffabefb1a81fb5c6e4ad095637aaa563c8 -Author: Ben Kaduk -Date: Wed May 15 11:38:53 2013 -0400 - - Document the prdb (ubik) file format - - Briefly cover the ubik header and mention that it is not part of the - logical database (since it is just used for the consistency procedure). - - Describe the fields of the prheader and how they are used. Mention that - all subsequent entries are blocks of the same size, whose type can be - distinguished by a shared flags field. User and group entries are similar, - and supergroup entries are described as a diff from regular group entries, - as only a handful of fields change. Continuation entries can be used - for user, regular group, or supergroup entries. - - Call out what fields are invariant within which classes of entry, so that - these properties can be preserved (or knowingly eliminated) for future - extensions to the format. - - Change-Id: Id5ca7d8d346c09c2eec50691e5c5fefbe735ac60 - Reviewed-on: http://gerrit.openafs.org/10022 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3bde02595b061e4fd77f5bb453e5decca5a50d85 -Author: Sami Kerola -Date: Sat Jun 22 19:34:13 2013 +0100 - - build-sys: mark block begin and ends - - Done with Egyptian brackets, or K&R style as they are also known. - - Change-Id: Ifeaf3ca29be5d4846738ec937ce07728771c5f16 - Reviewed-on: http://gerrit.openafs.org/10010 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ab57d699e5cf11d8b51c022b4420b854921177e6 -Author: Sami Kerola -Date: Sat Jun 22 18:01:44 2013 +0100 - - build-sys: use AS_IF instead of shell if clause - - Shell if clauses can cause problems. - - Change-Id: Ia5fddc78ff43517c37d5abd79f07b35fd18a9058 - Reference: http://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Limitations-of-Builtins.html#if - Reviewed-on: http://gerrit.openafs.org/10009 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cc0d3d5232260595e09ae4ec517d537e961c0c81 -Author: Sami Kerola -Date: Sat Jun 22 17:28:01 2013 +0100 - - build-sys: use m4 quoting consistantly - - Change-Id: Ie8c5e15fd9ddf521ac74b07ee0e1252b35e7a816 - Reviewed-on: http://gerrit.openafs.org/10008 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6d054e3d2790b5c304b428d2ce9bf758e4c12786 -Author: Sami Kerola -Date: Sat Jun 22 17:20:22 2013 +0100 - - build-sys: do not check readme and news when automake runs - - Change-Id: Idb5bb57efecf0a9776db78466787987ba7680533 - Reviewed-on: http://gerrit.openafs.org/10007 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d7aecbaa12796428606a734b28df7f1df7c3edfc -Author: Sami Kerola -Date: Sat Jun 22 17:17:04 2013 +0100 - - build-sys: add bug reporting address and home page to configure - - $ ./configure --help | tail -2 - Report bugs to . - OpenAFS home page: . - - Change-Id: I862b7501f3c964eea800e1aad5f2fc0c551b9fb8 - Reviewed-on: http://gerrit.openafs.org/10006 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8bf77854874cff730d0cf38a532ebf4ea0f2bc30 -Author: Russ Allbery -Date: Sat Jun 29 14:29:06 2013 -0700 - - Fix restorevol sanity check on afs_int32 - - restorevol reads various values of different lengths into an - afs_int32 and does a sanity check to ensure that there is enough - room to store the desired value length. However, the check was - done against the wrong variable, making it ineffective. - - This check is unlikely to ever trigger, but fix it just in case. - - Change-Id: Ia81bd9ff9a2ce8e2d93af384c8e8c664f5434d5e - Reviewed-on: http://gerrit.openafs.org/10026 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit d5fb2c2bdccedbd539cb2629cf918d5f37b82c7b -Author: Russ Allbery -Date: Sat Jun 29 14:27:55 2013 -0700 - - Fix restorevol crash on corrupt nDumpTimes value - - If the number of dump times claimed in the volume header was greater - than MAXDUMPTIMES, restorevol would happily write over random stack - memory and crash. Sanity-check the loaded value and cap it to - MAXDUMPTIMES with a warning. - - Bug found by Mayhem and reported by Alexandre Rebert. - - Change-Id: Ib0edd9b1b6f540d8b0128151333d3bb0a8ef37fa - Reviewed-on: http://gerrit.openafs.org/10025 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit ddf98e50b24b2df3dabdce4ce2720eefa19717f8 -Author: Michael Meffie -Date: Thu Jul 16 17:50:53 2009 -0400 - - bosserver dir creation for non-transarc paths - - The bosserver attempts to create the server directories with the correct - permissions when bosserver starts. Make the parent directories if needed - as well, using the umask permissions for the parent directories, instead - of failing. - - FIXES 125114 - - Change-Id: I5ee16a8210154e51cda4ace0617393c7797a6622 - Reviewed-on: http://gerrit.openafs.org/147 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e4ce2a544f8fcec7355f296a456ddcb6b84b7d93 -Author: Jeffrey Hutzelman -Date: Sun Jun 16 19:16:05 2013 -0400 - - Add a tool to find lock ID numbers - - This adds a Perl program, src/afs/findlocks, which grovels through the - kernel module source tree, finds every location where a lock is obtained, - and produces an index of lock site ID numbers. This can be used to find - a lock when debugging, or when picking a new number. - - Run it as ./src/afs/findlocks src/afs - - Change-Id: I7fdcfb807a92dbb1938a0c37637e9122b52addd7 - Reviewed-on: http://gerrit.openafs.org/9982 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 495d6fcbba1630b136d9c1b4256f0a71666a8a7b -Author: Michael Meffie -Date: Tue Apr 9 04:00:16 2013 -0400 - - libafs: initialize hard mount last errors - - Initialize the values of the server last errors - introduced in commit 94a8ce970d57498583e249ea61725fce1ee53a50 - to avoid logging garbage for the last error codes. - - Change-Id: I0df262bad5d02231407d0dd65e1f1d32d791912f - Reviewed-on: http://gerrit.openafs.org/10082 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 902b8809f03533ffa7731919930bb5178f77df6c -Author: Marc Dionne -Date: Mon Jul 8 10:53:00 2013 -0400 - - Linux 3.11: Convert from readdir to iterate file operation - - Convert the readdir function so that it can be used as the new - "iterate" file operation. This new operation is passed a context - that contains a pointer to the filldir function and the offset. - The context is passed into the new dir_emit function that will - call the function specified by the context. - - The new dir_emit function returns true on success, so we must be - careful about how we check for failure since this is different - behaviour from what filldir currently does. - - Change-Id: I6b01b4c78a501bdf4f8d583b0d3b94d677c5d541 - Reviewed-on: http://gerrit.openafs.org/10051 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 397a086b77c4351e5332a73ae4859faf239bf45e -Author: Arne Wiebalck -Date: Fri Jul 12 11:39:53 2013 +0200 - - RedHat: support building on ELRepo kernels - - Amend the pattern matching in openafs-kmodtool to support - building for kernels from ELRepo. - - Change-Id: I1264490bee90fadfd24d5cd04ea87df4f9c8924d - Reviewed-on: http://gerrit.openafs.org/10083 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5e56298876f64b7c5f36c9dbe375b196a2951521 -Author: Ben Kaduk -Date: Tue Jul 9 23:12:43 2013 -0400 - - Alias "vos e" to "vos examine" - - This shortcut broke when endtrans was added, and some people have - strong finger memory. - - Change-Id: Ic00fd33a28c35985464b68becfc25082eee92d0e - Reviewed-on: http://gerrit.openafs.org/10081 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit fb548e77e7a5cef453f1ebd866e587d23f6d98b1 -Author: Ben Kaduk -Date: Wed May 8 12:50:27 2013 -0400 - - Make UKERNEL's panic() a real function, not a macro - - In particular, a varargs function, so that osi_Panic() can always - call panic() as varargs. - - Change-Id: I2ceee737c0025c146a8cd17b16d6c159e2bbf9d0 - Reviewed-on: http://gerrit.openafs.org/9877 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit d03c81be76a1bca7c2f75d45b3059f55c9e28a33 -Author: Jeffrey Altman -Date: Tue Jul 9 09:55:51 2013 -0400 - - Windows: build UNIX asetkey - - With roken and friends it is now possible to build the UNIX - asetkey on Windows. Do so to reduce duplicate code. - - Change-Id: Ic7e050b04e6bed7fe2106de1a163d9ae1fde9efc - Reviewed-on: http://gerrit.openafs.org/10070 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c2bb5cd21d4aac29bab77555b67ad4e84925d209 -Author: Jeffrey Altman -Date: Tue Jul 9 11:42:06 2013 -0400 - - Windows: define HAVE_KRB5_CREDS_SESSION - - Windows builds against the Kerberos Compatibility SDK which uses - the Heimdal API. Define HAVE_KRB5_CREDS_SESSION. - - Change-Id: I389cb3e8d79846c94884ea9a786e2ae0f52fa293 - Reviewed-on: http://gerrit.openafs.org/10071 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 370a41f6f64ff8c1c20586f984d4cb0293f2b0c3 -Author: Jeffrey Altman -Date: Tue Jul 9 09:54:42 2013 -0400 - - windows: afsauthent.dll export afsconf_ functions - - Export additional afsconf_ functions required for asetkey - - Change-Id: Id8d63f7d18563bd8963750aed6b7baaf873716a8 - Reviewed-on: http://gerrit.openafs.org/10069 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4fd27ef65256f0179d16c91086d5c459c2c367d0 -Author: Jeffrey Altman -Date: Tue Jul 9 09:54:09 2013 -0400 - - Windows: afsrpc.dll export afs_set_com_err_hook - - Change-Id: Icbd33c9ca087e663d2755a7a6c8380de266ee717 - Reviewed-on: http://gerrit.openafs.org/10068 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 286c41ad6bec8b0a72d07fa42aecd21c3d744f63 -Author: Jeffrey Altman -Date: Tue Jul 9 09:53:25 2013 -0400 - - Windows: HAVE_TIMEGM provided by roken - - Change-Id: I110e0667cdc68ab0877fe8c1d0a4f9e48e60621d - Reviewed-on: http://gerrit.openafs.org/10067 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1aa43164d565ff5fdb5c789d394229a090fe0a09 -Author: Jeffrey Altman -Date: Mon Jul 8 20:29:24 2013 -0400 - - bos: Fix Windows import of afsconf_SawCell - - IBM created a global variable 'afsconf_SawCell' in the kauth package - and manipulated its value from within bos.c as part of the calling - of ka_Init(). Patchset d52398940d58ccdba4114a9975762f48cc24ad15 - exported afsconf_SawCell from afsauthent.dll since bos.exe is built - pthreaded. It was previously mixing pthread and not-pthread libraries - to access the variable. - - Unfortunately, the export was declared as a function pointer instead - of DATA. Importing a DATA element from a library also requires that - the variable be __declspec(dllimport). The use of afsconf_SawCell - needs to be replaced but in the meantime fix the import so that bos.exe - can start without crashing. - - Change-Id: Ic780971b55d64e41e1ba9627cdeadd6c27c451fb - Reviewed-on: http://gerrit.openafs.org/10054 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b185c3f00d8530e4341ac4f990126f8505fce0f5 -Author: Chaskiel Grundman -Date: Fri Apr 5 20:12:12 2013 -0400 - - Build 3961 library in userspace, and add enctypes - - Build the 3961 library in userspace, with support for the common - kerberos enctypes des3-hmac-sha1, arcfour-hmac-md5, and aesXXX-cts-hmac-sha1-96. - Export new symbols as well, and suppress deprecated warnings. - - Rename all symbols, both exported and not, with an oafs_h_ prefix - so as to reduce the chance of conflicts. - - Rename heim_octet_string to avoid confusion about where things are coming - from. - - Change-Id: If5155661deb5adf73329eb8b90021512c01a290f - Reviewed-on: http://gerrit.openafs.org/10050 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 522d5de7131631b56cf9d3070f17bd6f1713e1e3 -Author: Ben Kaduk -Date: Mon Jul 8 11:56:26 2013 -0400 - - hcrypto: export weak key routine - - We only export it on Windows, but the DES3 routines in the rfc3961 - library need it everywhere. - - Change-Id: Ide0328e40b7753d8ebca79db9eb8b6211bfd7f14 - Reviewed-on: http://gerrit.openafs.org/10053 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 1b45846692e2bc419e8d7027fd6b2c4f78296a29 -Author: Ben Kaduk -Date: Mon Jul 8 11:39:52 2013 -0400 - - Export RAND_bytes from hcrypto on Windows - - Unix already did so, and we need it for the rfc3961 library. - - Change-Id: I75401b49a5a2078056360be8f1963d789581c8ed - Reviewed-on: http://gerrit.openafs.org/10052 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit ef860802add62076ca6097808458706d3db8d0da -Author: Ben Kaduk -Date: Tue Jul 2 11:13:25 2013 -0400 - - Disable some heimdal bits - - For the rfc3961 library, we don't want linker exposure to an - entropy-gathering daemon, and we don't want to be leaving entropy - seed files around in user homedirs. - - Change-Id: I54546ad44fcdfac8227e72b68a33fa4f61df50b0 - Reviewed-on: http://gerrit.openafs.org/10049 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit f388f0a85a53a42c3e8f4075d4228b64d0fc558c -Author: Chaskiel Grundman -Date: Sun Apr 28 09:31:12 2013 -0400 - - Add krb5_free_context stub to rfc3961 - - Change-Id: I5df22e74ea9a5a057994b6684a09eb0f03da98d2 - Reviewed-on: http://gerrit.openafs.org/10048 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 09912a3fcc9ae5f0995fb47aedc3b7279b663ad2 -Author: Simon Wilkinson -Date: Fri Apr 12 14:57:44 2013 +0100 - - hcrypto: Add exports for more crypto algorithms - - Export some additional algorithms so we can make use - of them elsewhere in the code. - - Change-Id: I676318a872a1e7b537112a3d60dac2edff478ae6 - Reviewed-on: http://gerrit.openafs.org/10047 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit a25434430815ebf020407fdfaedd46db94475412 -Author: Ben Kaduk -Date: Fri Jul 5 14:06:33 2013 -0400 - - Use rk_mkdir from libafsroken - - The latest import added it; add it to the build and export list. - - Change-Id: I588de000868d063c61753a1a4a2e73931e84005f - Reviewed-on: http://gerrit.openafs.org/10046 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - Reviewed-by: Jeffrey Altman - -commit 6c6e01a87fd58d09c1b8f6022e43b6d2bb9f4f73 -Author: Heimdal Developers -Date: Fri Jul 5 16:39:34 2013 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 5dfaa0d10b8320293e85387778adcdd043dfc1fe (git2svn-syncpoint-master-311-g5dfaa0d) - - Upstream changes are: - - Ben Kaduk (1): - Be friendly to krb5_generate_random_block consumers - - Jeffrey Altman (6): - roken: include limits.h unconditionally - Avoid unused variable warning on Windows - roken: include direct.h if HAVE_DIRECT_H - roken: Define S_IRWXU and friends on Windows - roken: Add rk_mkdir() - libkrb5: Add missing KRB5_LIB_FUNCTION/KRB5_LIB_CALL - - New files are: - krb5/crypto-algs.c - krb5/crypto-arcfour.c - krb5/crypto-des-common.c - krb5/crypto-des.c - krb5/crypto-des3.c - krb5/crypto-null.c - krb5/crypto-rand.c - roken/mkdir.c - - Change-Id: I77d67afc2b060574a5834fc5c266553c5ff49a25 - Reviewed-on: http://gerrit.openafs.org/10045 - Tested-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 50fa08813b0fa68135e292fa76ce50ee75142884 -Author: Simon Wilkinson -Date: Fri Apr 12 13:02:40 2013 +0100 - - Add additional files to import from Heimdal - - Import more RFC3961 crypto definitions from Heimdal, so we can - support a wider variety of encryption algorithms - - Also pick up the new mkdir, otherwise we get linker errors. - - Change-Id: I5dfe705d3957b646ae05a0e06da1f0f2cfb60e75 - Reviewed-on: http://gerrit.openafs.org/10044 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 7565cb420366d79df319e344678a8d9ceab6db08 -Author: Marc Dionne -Date: Fri Jul 5 12:50:36 2013 -0400 - - bos: Do encryption if requested - - Commit d008089a79 didn't replace the processing of the aencrypt - flag passed to the GetConn() function, causing all bos connections - to be un-encrypted. This causes "addkey" to fail with an error - from the server, and "listkeys" to silently ignore the -showkey - option to display keys. - - Set the AFSCONF_SECOPTS_ALWAYSENCRYPT flag, and don't set - AFSCONF_SECOPTS_FALLBACK_NULL since fallback is not acceptable if - the caller requested enrcyption. - - Change-Id: I6a15fa20c172ab2ddfc6494fbcd62ec6bc7fc442 - Reviewed-on: http://gerrit.openafs.org/10043 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5dee9ac3468f9d5a929f9b42bd671411e38092fb -Author: Jeffrey Altman -Date: Sat Jun 29 00:26:52 2013 -0400 - - Windows: validate pointer consistency - - When cm_ValidateCache() is executed validate pointers to ensure - that they are in the valid range for the class of pointer. - - Change-Id: I151489010430919999af85843079f81143359739 - Reviewed-on: http://gerrit.openafs.org/10040 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bff2b8792c669649a81e86633de878f449b6bf01 -Author: Jeffrey Altman -Date: Wed Jun 26 11:00:00 2013 -0400 - - Windows: Protect all Mm and Cc calls with try..except - - Wrap all Memory Manager and Cache Manager operations in a try..except - block to protect against leaking the SectionObjectResource if an exception - is thrown. Failure to release the SectionObjectResource will result in - subsequent deadlocks. - - Change-Id: I92096c1d4bfd5a23069bcc364b68b07327d662ae - Reviewed-on: http://gerrit.openafs.org/10039 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 6115ab76d2c877a33ed84fdbd7e65e1b922a49aa -Author: Russ Allbery -Date: Sat Jun 29 13:52:46 2013 -0700 - - Diagnose calling compile_et -v without another argument - - Output an error message instead of crashing with a segmentation - fault due to a NULL pointer dereference. - - Bug found by Mayhem and reported by Alexandre Rebert. - - Change-Id: I484f76411ed6899ea9af81256c1d392a84830d16 - Reviewed-on: http://gerrit.openafs.org/10024 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 15b5353759984bf0942dff9c3df2959f0a59b405 -Author: Ben Kaduk -Date: Wed Jun 26 18:57:01 2013 -0400 - - Update windows build documentation - - Mention Win7 in a few more places, and talk about VS 2010/2012. - I've had the best results with VS 2005, though. - - Update dead URLs. - - The old version of WiX 2.0 no longer seems available (at least not from - the listed URL); replace it with - - Remove coverage of NSIS installers. - - Update example OpenAFS version to 1.7.25. - - De-emphasize VS 2003. - - Update some ntbuild.bat settings and comments to be more useful and valid. - - Change-Id: Iee305833e6d2b01dd7995a78863327682fe5a8eb - Reviewed-on: http://gerrit.openafs.org/10029 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2386dca751cbc209ade754fa9d81b3f00dc1230a -Author: Russ Allbery -Date: Sat Jun 29 13:33:28 2013 -0700 - - Fix spelling error in fs_getverify man page - - priviledges -> privileges - - Change-Id: I56d233feb7a05d184b26d24d80fbdd4c1e0d0896 - Reviewed-on: http://gerrit.openafs.org/10023 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit 21d8df0432af14a95dcf6bd583ba2122afb10b28 -Author: Jeffrey Hutzelman -Date: Tue Jun 18 23:34:45 2013 -0400 - - Make opr_uuid_toString return a status - - Don't assume that converting a UUID to a string will always succeed. - Instead, opr_uuid_toString should return a status result to indicate - whether the operation was successful or not. - - Change-Id: I49e6bf53b2a878342d3137510d2eca522e58604d - Reviewed-on: http://gerrit.openafs.org/9990 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 6aefd0d93b28383bc5dd5fb616f6ac45f34982dd -Author: Jeffrey Altman -Date: Wed Jun 19 13:53:51 2013 -0400 - - Windows: Wake waiters on failed cm_SyncOp exit - - If cm_SyncOp exits due to failure and there are threads waiting - to use the cm_scache object, wake them before exiting because there - will be no cm_SyncOpDone() operation to wake them later. - - Change-Id: Ibf54ebd575cf22b8e9d3577eeb039ff69cc728b6 - Reviewed-on: http://gerrit.openafs.org/9994 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ab4b8629ac273a631ba9db62766a7190e0d0ae21 -Author: Jeffrey Altman -Date: Wed Jun 19 13:52:51 2013 -0400 - - Windows: cm_scache flags missing interlocked ops - - A small number of |= operations on the cm_scache.flags field were - not converted to _InterlockedOr. Do so now. - - Change-Id: Iebd361d53e46527bf3ffa0d20d006a5e90ab4967 - Reviewed-on: http://gerrit.openafs.org/9993 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8ba81c38a5ebe53cb7a12673e7cd100b1dbd29ff -Author: Derrick Brashear -Date: Fri Jun 21 10:50:16 2013 -0400 - - libafs: track dynroot locks for cmdebug - - the dynroot dir and symlink locks are not currently tracked; - it would be helpful to know when these locks are in play for tracking - contention - - Change-Id: Ibe18586fa5d0ef0e3ea9e7153d79ab64df46ebf3 - Reviewed-on: http://gerrit.openafs.org/9997 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit aaa2584c0498037529a30c985ac8a437ec7d842c -Author: Andrew Deason -Date: Thu May 30 17:53:56 2013 -0500 - - namei: Create the IH_CREATE_INIT function - - Create a new function that combines calls to IH_CREATE and IH_INIT - into one operation; the new function is called IH_CREATE_INIT. This - allows a caller to create a file and then use it, without needing to - open() the file twice. - - This is currently only implemented for the Unix namei backend; other - backends result in effectively the same functionality (but can use the - same API). - - Change-Id: I93d531a9892beeb0c1ceac18458cbe0f1e3a0ded - Reviewed-on: http://gerrit.openafs.org/9969 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f40e20d5671310500fb4f6acf38980e158a74c66 -Author: Andrew Deason -Date: Thu May 30 17:52:32 2013 -0500 - - ihandle: Refactor ih_open to split out ih_attachfd - - Refactor the function ih_open, so part of its logic gets split out - into the new ih_attachfd_r (and ih_attachfd) function. This allows - other code to splice in an existing fd, without going through the - normal "open" path. - - This patch should incur no functional change; it is just code - reorganization. - - Change-Id: I89fd32377c123f2c55b77b01e1db4e14a199bf8e - Reviewed-on: http://gerrit.openafs.org/9968 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 48344381d7a87a3617ec14ffc9f2d9735805ada6 -Author: Andrew Deason -Date: Thu May 30 17:40:58 2013 -0500 - - ihandle: Fix fdInUseCount leak on EMFILE - - Here, we close closeFd, but currently we don't decrement fdInUseCount. - Since we retry the open immediately afterwards, this means we can leak - fdInUseCount references. For example, if we retry this 5 times and get - EMFILE on each attempt, we will close 5 FDs, but not decrement - fdInUseCount at all. - - To fix this, decrement fdInUseCounter when we close a file for EMFILE. - - Change-Id: I347e37a8d670a6dde7e1d24eeb893c145d9e34e5 - Reviewed-on: http://gerrit.openafs.org/9967 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 43439f6312bc8f631d3eb1e28282730aac47b0eb -Author: Andrew Deason -Date: Tue Jun 11 14:40:30 2013 -0500 - - Make the inode fileserver backend build again - - - Unconditionally build int64_to_flipbase64 and flipbase64_to_int64. - These are only used by namei, but are referenced by the - liboafs_util export list - - - Include rx_queue.h in listinodes.c, so the queue elements in - various structures are defined. - - - Rename vfsck's getline, so we don't conflict with stdio's getline - - - Fix the includes in vfsck/dirutils.c so we get a definition for - VolumeId - - - salvageserver needs libsys for various ihandle operations - - Change-Id: Ibed3439c1eca499e2ada785e1e8186f4480117a4 - Reviewed-on: http://gerrit.openafs.org/9966 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 68e02987f62e1c507ddf7fd35847338b130c243d -Author: Jeffrey Hutzelman -Date: Tue Jun 18 12:35:36 2013 -0400 - - userok.c: Fix fixed-size on-stack path buffers - - Several functions in src/auth/userok.c construct pathnames in fixed - size buffers on their stacks. Those buffers are simultaneously too - small for the purpose for which they are used and too large to be - placed on the stack. This change replaces these fixed-size buffers - with dynamically-allocated buffers which are either exactly the right - size (due to asprintf) or have size AFSDIR_PATH_MAX. - - FIXES 130719 - - Change-Id: I49b1c03d4d3525b87e155eb2d6eedf4b199a33c5 - Reviewed-on: http://gerrit.openafs.org/9986 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7af86ecffb737b050f67908b63f247e8361eacdc -Author: Ben Kaduk -Date: Wed Jun 19 16:48:23 2013 -0400 - - db_dump.o depends on budb_errs.h - - Add INCLS and budb_errs.h accordingly. - - budb had this already, in 6fda61ba2e2290dac818b42440fac1346d05b73d. - - Change-Id: I5ef372e8f8b9ad270b83e158d0ce14109e0f9ef1 - Reviewed-on: http://gerrit.openafs.org/9996 - Reviewed-by: Jeffrey Hutzelman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5cd6407c936f8c069336faf94a12b4a475aac0db -Author: Jeffrey Altman -Date: Thu Jun 13 22:29:39 2013 -0400 - - Windows: fixup cellular make mount - - Ensure that all input strings contain a trailing dot. - - 'fsvolume' contains the trailing dot so do not add an extra one. - - Change-Id: I183581d3b06a586da872edc4af54c5e34798cdf4 - Reviewed-on: http://gerrit.openafs.org/9974 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0edef53073e153a4bdcfdf2518f136d924ec49f1 -Author: Heimdal Developers -Date: Wed Jun 19 00:56:29 2013 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - dc87425f93bdd3d9c88be1a380ed5372980235bf (git2svn-syncpoint-master-290-gdc87425) - - Upstream changes are: - - Ben Kaduk (1): - Always provide a usable PATH_MAX - - Jeffrey Hutzelman (1): - hcrypto/rand-unix.c: Ignore write(2) result harder - - Nicolas Williams (1): - Winsock connect returns WSAEWOULDBLOCK... - - Change-Id: I10a001a3a606c799f7b9ab7db42ecef4ad5a5c21 - Reviewed-on: http://gerrit.openafs.org/9992 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit e16bef6136f83d0fc9a691051fc54a2ae5f573c9 -Author: Jeffrey Hutzelman -Date: Tue Jun 18 23:12:46 2013 -0400 - - viced/callback.c: Ignore dump write errors harder - - When writing a callback state dump, test the return values from - write(2), but don't do anything based on the test. This avoids - compiler warnings when building on Ubuntu 12.10, with gcc 4.7.2 and - eglibc 2.15-0ubuntu20.1. This adds a new macro, WriteBytes(), which - handles writing a requested number of bytes to a file and ignoring - errors. - - Change-Id: Icead6b25a290cea09a91184dc12b7449cfaaf6f7 - Reviewed-on: http://gerrit.openafs.org/9991 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit ad9343e1241c8c879aa5e426e6384aa346347464 -Author: Russ Allbery -Date: Tue Jun 18 11:30:28 2013 -0700 - - Fix spelling error in fs_getcrypt man page - - priviledges -> privileges - - Change-Id: I2026b8df83f3620565d8d8c522209fe354498418 - Reviewed-on: http://gerrit.openafs.org/9984 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cfecac2e71bca14f9207e5879b7c04f965776737 -Author: Nickolai Zeldovich -Date: Tue Feb 12 15:08:38 2013 -0500 - - Fix scanf buffer overflows - - Fix potential buffer overflows caused by misuse of the scanf function - in the fileserver and ptserver. - - Also fix similar issues in the client side fs command and libadmin - library. - - Change-Id: Ia6a46981c50537da1673507c2bc777f96e43f95a - (This change was applied to the 1.6 branch as a security fix for 1.6.2 as - commit d1855f8e04; this commit brings the fix into master.) - Reviewed-on: http://gerrit.openafs.org/9962 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0789772b1745f84c58cef4f36c61c927afec6ad8 -Author: Jeffrey Altman -Date: Sat May 25 17:05:10 2013 -0400 - - rx: test for active calls in rxi_ChallengeEvent - - The challenge event fires when an outstanding challenge request - has not been responded to. If there are no calls in the ACTIVE or PRECALL - state on the connection when the challenge event fires do not re-issue the - challenge. Clients do not respond to challenges when there are no active - calls. - - Change-Id: If71b49e953ca94b8bcce767b8c2a63a054d750fe - Reviewed-on: http://gerrit.openafs.org/9943 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 23fb42352a2ae1725df057d74319d951252ee189 -Author: Derrick Brashear -Date: Wed Apr 17 13:42:49 2013 -0400 - - salvager: report actual uniqs for a too low error - - when salvager fixes a "uniquifier too low" error, report - what it is fixing and what it was looking for. - - Change-Id: I021bd7f69225ff02f4981aec1f6e64a4b1f3fc00 - Reviewed-on: http://gerrit.openafs.org/9795 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 29c7f07583fbbc15bb181a1537597357d657f448 -Author: Jeffrey Hutzelman -Date: Tue Jun 29 12:56:29 2010 -0400 - - Include user and build host in version string - - Make the version string used in AFSVersion and cml_version_number - include the names of the user doing the build and the host on which - it is done. Also, remove extraneous whitespace and the content-free - word 'built' from cml_version_string, since Rx debug packages provide - space for only 64 characters of version string. - - Change-Id: I128f6c175bb93b1fb5a4d531f64aa81bd2841ce7 - Reviewed-on: http://gerrit.openafs.org/2279 - Reviewed-by: Mark Vitale - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 20a9568b508353ace1fa4d188673e3b686068344 -Author: Marc Dionne -Date: Thu Apr 25 11:13:09 2013 -0400 - - salvageserver: Add -logfile option - - Allow an alternate location to be specified for the logfile. - - Change-Id: I55a05576746e115478a8e48df22f4fdb26634f05 - Reviewed-on: http://gerrit.openafs.org/9831 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dea3eb17ad4325ac20d1535c1c030a9ac580da81 -Author: Marc Dionne -Date: Thu Apr 25 09:26:46 2013 -0400 - - viced: Add support for -config and -logfile options - - Add options to the fileserver to specify alternate locations for - the log file and the config. This will be useful for testing - purposes. - - Change-Id: I3550bd993fe5fd2cd9b90425962c95cb1c7d98ea - Reviewed-on: http://gerrit.openafs.org/9830 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 27ab5d92dbcabe2547d441c620264837d9aea8b3 -Author: Marc Dionne -Date: Thu Apr 25 10:50:11 2013 -0400 - - salvaged: Clean up command line parsing - - Clean up the command line parsing in the salvage daemon by making - better use of the cmd library and avoiding hard coded offsets. - - Change-Id: Ia300840cfdbb5e03173936148c183ac391e11454 - Reviewed-on: http://gerrit.openafs.org/9829 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 11a92242676edbf9dfe88d401844e433f6ccb81b -Author: Marc Dionne -Date: Thu Apr 25 08:57:27 2013 -0400 - - volser: Add -config and -logfile options - - Add options to specify alternate locations for the configuration - files and the log file. This will be helpful for testing. - - Change-Id: I4169bc1944719773155931860c6a6dd2fd672f53 - Reviewed-on: http://gerrit.openafs.org/9828 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cd3492d0635708f141dbb9230471434268ef2188 -Author: Marc Dionne -Date: Wed Apr 24 13:25:36 2013 -0400 - - volser: Convert command line parsing to cmd - - Convert argument parsing to use the cmd library. - - Change-Id: I2bf9d7ce482d49f50cec59a1660a431bae17017a - Reviewed-on: http://gerrit.openafs.org/9827 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dfd74696844df7ffacc5c2db01393bad3fce9dcc -Author: Jeffrey Altman -Date: Sat Jun 1 00:48:51 2013 -0400 - - Windows: Protect against cm_GetVolServerList failures - - In cm_Analyze, if cm_GetVolServerList() fails volServerpp will be - NULL which will trigger an exception if passed to either - cm_SetServerBusyStatus or cm_ResetServerBusyStatus. - - Change-Id: I75b4b855b8c3ccfc014532b0c2eb3135807647ef - Reviewed-on: http://gerrit.openafs.org/9960 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 12e2d47a1c318d13e43c19d0afd1cd3401e03a8d -Author: Marc Dionne -Date: Wed Apr 3 16:09:53 2013 -0400 - - tests: Improve afstest_UnlinkTestConfig cleanup - - Make afstest_UnlinkTestConfig clean up and remove the specified - directory regardless of which files are present. This means - the function no longer has to track the current state of which - files may be present as tests are added and modified. - - A sanity check is added to prevent damage in case the function is - called for an inappropriate directory. - - As before, no cleaning is done if the test is run outside of a - "make check". - - Change-Id: Idd092040496aaa2566c8693496fefd7d6f247565 - Reviewed-on: http://gerrit.openafs.org/9703 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 61caad06b7a95c27eae7aca0536bcffe61d3e31a -Author: Ben Kaduk -Date: Mon May 6 23:03:42 2013 -0400 - - Apply cast from cfc9b348 to the else clause - - Clang on FreeBSD complains about format string mismatch as well. - - Change-Id: I8bf17571807acdcac460efb94d0388b5cac4fa6c - Reviewed-on: http://gerrit.openafs.org/9855 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3767cf8bf420bd59c3426a4287259b1e97178e96 -Author: Marc Dionne -Date: Wed May 22 09:26:57 2013 -0400 - - Linux: Fix tmpfs cache support - - As of kernel 3.1, tmpfs no longer has a readpage() operation in its - address space operations. Some of the cache manager code relies on - this, causing an oops if tmpfs is used as backing store for the - cache. - - As a minimal fix, detect that there is no readpage() and disable - the optimizations that depend on it. - - Change-Id: I6e2236cd53f893d77a8d6568eae7e200ad8d1ac0 - Reviewed-on: http://gerrit.openafs.org/9949 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit dcd2b052b97bbef9e3d9952c9f8bfa0055381a39 -Author: Andrew Deason -Date: Fri May 24 14:02:11 2013 -0500 - - cacheout: Add -encrypt option - - Add the -encrypt option to cacheout, for forcing communication with - servers over encrypted channels. - - Change-Id: I1a2a9faf2fb72238102b018b7692a6691a7c0054 - Reviewed-on: http://gerrit.openafs.org/9941 - Reviewed-by: Marc Dionne - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1e8788927ed61c7bcc1d8ccb2c50582488fcfb6e -Author: Jeffrey Altman -Date: Tue May 28 11:40:12 2013 -0400 - - Windows: cm_DumpServers "down" is string not enum - - When dumping the state of the servers, "down" is a string not an - enum value. - - Change-Id: I603755cf0db28515d01bc03253a4d3e6528b13aa - Reviewed-on: http://gerrit.openafs.org/9946 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fca4252621b80c5126e1ae3d84a54da5ebc677ba -Author: Marc Dionne -Date: Wed May 15 15:19:22 2013 -0400 - - Linux 3.10: Include linux/aio.h directly - - This file needs bits from linux/aio.h, but gets them indirectly - from the inclusion of aio.h by sched.h. That gets removed for - Linux 3.10. - - Since this header is not of general interest elsewhere, just include - it directly here. - - Change-Id: I432bde282a1c5425ba6780bca28e308bf70a79e7 - Reviewed-on: http://gerrit.openafs.org/9912 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Tested-by: BuildBot - -commit e37ec7817aae9a856be527bd9c8b920c1a2dbc03 -Author: Jeffrey Altman -Date: Mon May 13 06:45:34 2013 -0400 - - vol: return VNOVNODE if vnode is not allocated - - If a request for a vnode fails because the vnode is not allocated - within the volume, the error returned to the client should be VNOVNODE to - indicate that the requested FID does not exist and not VIO indicating a - transient disk i/o error or other transient internal inconsistency. - - Change-Id: I2f875593d4a49b7ca8ed26a2f147a1c3c9109a6d - Reviewed-on: http://gerrit.openafs.org/9902 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 68d32db60e3ba04341b00ac7886c620a0bae3ee9 -Author: Simon Wilkinson -Date: Sat May 11 20:20:38 2013 +0100 - - Sort all libtool symbol lists - - The original plan for the libtool symbol lists was that they be in - alphabetical order. This should make them easier to maintain, as it - becomes harder to accidentaly introduce duplicates, and makes merge - conflicts when adding new symbols less likely. - - However, not all of them are properly sorted. Update the ones that - aren't. This was done with - - for A in `find . -name *.la.sym`; do sort $A -o $A; done - - Change-Id: I6a3fd621098466e8275b2e42c0fe54cfb38b5128 - Reviewed-on: http://gerrit.openafs.org/9900 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 8ebe4ecac6d208a84c56ab5c08abf430145c6281 -Author: Marc Dionne -Date: Tue Mar 5 19:38:34 2013 -0500 - - libafs: fix Afs_syscall definition for UKERNEL - - For the UKERNEL case, Afs_syscall is prototyped and used as (void). - Make the function definition use the void keyword to avoid a warning - about an old style definition. - - Change-Id: Ic22f58a6c646d6f557e5891ce2ed51fba50fba35 - Reviewed-on: http://gerrit.openafs.org/9402 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit eb7b3dac482ed0427b6e618bf60507a7a1a99769 -Author: Michael Meffie -Date: Mon May 20 11:32:04 2013 -0400 - - volser: -log restore operations - - Add vos restore to the list of operations which are logged - when the volserver is running with the -log option. Example - log line: - - admin on 172.16.50.141 is executing Restore 536870969 - - Change-Id: Ia6eb07258831865dfe2c85d1b9df078f33c4b640 - Reviewed-on: http://gerrit.openafs.org/9926 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - -commit c4fce52a5474310070dff812dfbb2bdbd4499ffe -Author: Chaskiel Grundman -Date: Thu May 9 10:43:36 2013 -0400 - - Remove kauth from libuafs - - Remove the uafs_klog() apis from afs_usrops. Nothing uses it except - the obsolete afsweb stuff that isn't built anymore. - - Stop linking in all kauth and pts components. Also remove some other - objects from libauth, rxkad, and com_err, that were only present as - dependencies of kauth and pts components - - Change-Id: Idf83b3dd1098e874d90244fe72609666b13216a4 - Reviewed-on: http://gerrit.openafs.org/9887 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit f805569211263e84b1b1c7ddfaf710cfa0d63dd6 -Author: Jeffrey Altman -Date: Mon May 27 16:15:19 2013 -0400 - - man-pages: build bos getrestricted / setrestricted - - build missing bos man pages on windows. - - Change-Id: I37ccc402487bae04a7344a4276d246bd535bf1a6 - Reviewed-on: http://gerrit.openafs.org/9944 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9b24013426e03a501fcaa6334ba5a9b48a8da3d1 -Author: Marc Dionne -Date: Mon May 6 20:20:07 2013 -0400 - - Linux 3.10: Replace create_proc_entry() with proc_create() - - Add an afs_proc_create() compat function that uses the - appropriate kernel function based on a configure test. - - Change-Id: I4f3929849af032f2a483bc06bc5769f64085f1c4 - Reviewed-on: http://gerrit.openafs.org/9854 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit caa90b2d7a22549e586d92961b7a6b677e4c22e2 -Author: Marc Dionne -Date: Sat May 25 10:43:45 2013 -0400 - - volser: Adjust TLV tag range - - Tag values up to D_MAX cannot be used as TLV tags, as the parsing - logic assumes anything up to D_MAX is a control tag. Adjust - MIN_TLV_TAG to 21 so that the TLV range sits just above D_MAX. - - Change-Id: I8d55f536b82e209847400b5ac6689364abe44090 - Reviewed-on: http://gerrit.openafs.org/9942 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 22907839904dcaa9676b796735bcf48e002573ab -Author: Dan van der Ster -Date: Fri May 24 10:12:14 2013 +0200 - - linux: remove linux osi_alloc hash stats - - The bucket stat vector is maintained but never read. And it is - occasionally annoying since it can flood messages with - "afs_get_hash_stats: Warning! exceeded max bucket len ..." - Remove it. - - Change-Id: Ibc2101c038e40c9ff6ab0401c89fd41af75ed831 - Reviewed-on: http://gerrit.openafs.org/9937 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit 25a0cf6fbc34988439172eb6c03477aa945c1071 -Author: Jeffrey Altman -Date: Thu May 23 16:57:21 2013 -0400 - - Windows: Return bytes_read count from cm_GetData - - The existing interface for cm_GetData takes an input buffer and - a buffer size and no method by which the number of bytes read into - the buffer can be returned. Add an output parameter to permit it. - - Change-Id: I777d2fba850fb39d4323b006e3c79afa5ff4c2ff - Reviewed-on: http://gerrit.openafs.org/9930 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7cca447e2343ccce9b36a3ebe9df1375882a9c34 -Author: Andrew Deason -Date: Mon May 13 15:33:42 2013 -0500 - - DAFS: Avoid useless attach2 error message - - Since commit 53230846a202a50f6c3a61b38d62ccba8876f89d, attach2 logs an - error when we force a volume to an error state due to attachment - errors. This is to ensure that we never end up with a volume in an - error state without logging a message about it. - - However, while this is useful for the fileserver, for non-fileserver - programs this situation is very common for VNOVOL errors and does not - represent an actual problem. For the fileserver, nonexistent volumes - should be caught before we hit attach2 (in e.g. GetVolume when we - can't find a volume structure), so errors here can be significant and - should be rare. But for e.g. the volserver, when we try to use a given - volume id, we just try to attach it directly, so if the volume doesn't - exist, we will hit this code path. - - This can happen pretty often for the volserver, since many volume - operations try to determine if a volume already exists by trying to - attach it. In those cases, this error message is pretty much useless - noise. So, get rid of it if we are non-fileserver, and the error we - got is VNOVOL. It is not as important for non-fileserver that we put a - volume in an error state, since volume states are much more transient - for non-fileserver programs, since the volume structs don't stay - around very long. - - Change-Id: Ie2c221af2b55af70d725f0f52dacbb7fd8788349 - Reviewed-on: http://gerrit.openafs.org/9907 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ccb66323a0a74b35b44aa901a49490a5021d46e0 -Author: Michael Meffie -Date: Mon May 13 13:59:50 2013 -0400 - - vldb_check: print vlentry file offsets - - To aid in debugging, consistently print the vlentry database "address" - and the file offset when displaying errors for vlentries. Print the - vlentry file offsets when printing all the entries with the -entries - option. - - Change-Id: I3ef37e6654280f0cff9b2449da29aebe7c5e3aad - Reviewed-on: http://gerrit.openafs.org/9906 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - -commit 7a89c4f94440ac1c8ebf16107ece3b56c178ffc9 -Author: Michael Meffie -Date: Mon May 13 13:47:06 2013 -0400 - - vldb_check: cope with broken names and volids - - Fix-up broken vlentry names and rw volid so entries can be looked - up in the vlserver and can be deleted with vos delentry if needed. - - Change-Id: Ide4855b0ef149977b04e3f0b5c966b13dd1cf417 - Reviewed-on: http://gerrit.openafs.org/9905 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 50083ea0df9610d0c652931af58e013e7f494c19 -Author: Marc Dionne -Date: Wed Apr 24 09:11:09 2013 -0400 - - linux: Fix leaked dentry reference in the revalidate op - - In one error case, we exit the function without release the - reference on the parent dentry. This dangling reference can cause - an oops when the client is shut down. - - Change-Id: I1632b581f6e7a557bb54a999dc1837c31b8381bf - Reviewed-on: http://gerrit.openafs.org/9802 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cc07c8b99ae56dc777a07b4b818a2fa6e8a7afa3 -Author: Jeffrey Altman -Date: Wed May 15 15:37:39 2013 -0400 - - roken: export rk_vasprintf - - missing on windows - - Change-Id: I59778e0af6ba407efcdfbcbddec5f8be6e740951 - Reviewed-on: http://gerrit.openafs.org/9913 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 436836d81ad17d78ddfe794db0c3bbf8f31a2783 -Author: Jeffrey Altman -Date: Fri May 17 12:06:00 2013 -0400 - - Windows: Protect against infinite VIO retries - - Keep track of the number of VIO errors reported by the file servers. - If the count exceeds 100, abandon the request. - - Change-Id: I4d18ccca732802752c94c9ca1b36ca9a827c72de - Reviewed-on: http://gerrit.openafs.org/9923 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 594c97675fd961b347b451bd000804962df1b721 -Author: Jeffrey Altman -Date: Thu May 16 15:47:11 2013 -0400 - - Windows: AFSNameArrayClone leak in AFSCommonCreate - - Do not leak the AFSNameArrayClone if AFSLocateName fails. - - Change-Id: I01ea5ac7261de2cd2e715e7d110cb5e09173938c - Reviewed-on: http://gerrit.openafs.org/9922 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f4b78c3eb12afc70d5ff3021313d3f868cb9f661 -Author: Jeffrey Altman -Date: Thu May 16 06:47:13 2013 -0400 - - Windows: remove unused and leaked uniRootFileNameClone - - In AFSCommonCreate remove the allocated but never used but leaked - 'uniRootFileNameClone' Unicode string. - - Change-Id: I02a4a1a2383c5a85f2a939b4d18e38def4cf2687 - Reviewed-on: http://gerrit.openafs.org/9920 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 975c11cb357f553f9f90a231546e0b42c6e79d31 -Author: Jeffrey Altman -Date: Mon May 13 10:09:11 2013 -0400 - - Windows: NotifyHardLink avoid null ptr reference - - In AFSNotifyHardLink, if the TargetDirectoryCB out parameter is non-NULL - but pDirNode is NULL, do not attempt to increment the - DirOpenReferenceCount because doing so will trigger an exception. - - Change-Id: I9d50e05aff9a4922113f814dd3d50e115725ecca - Reviewed-on: http://gerrit.openafs.org/9903 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4a91ac6f8383daa0be43d15da3be7be8d54034ac -Author: Jeffrey Altman -Date: Tue Apr 9 12:26:31 2013 -0400 - - Windows: Fix trace msg typo in AFSDeleteDirEntry - - The name of the function in the trace messages is wrong. - - Change-Id: I7a1b86765ca8fde828615069c66e51f5e5dce4ca - Reviewed-on: http://gerrit.openafs.org/9899 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ad6e31d5fea221bf5eefcd35a416667bc7c1f9be -Author: Anders Kaseorg -Date: Tue May 7 00:27:33 2013 -0400 - - Linux: osi_TryEvictVCache: Donā€™t skip the first dentry if D_ALIAS_IS_HLIST - - An hlist doesnā€™t begin with a sentinel like a list does, so the old - code would skip the first dentry or crash with a NULL dereference if - there wasnā€™t one. Use the kernelā€™s list_for_each_entry or - hlist_for_each_entry macros instead of trying to do it manually. - - Should fix a crash observed by Alex Chernyakhovsky on kernel 3.6 and - newer. - - Change-Id: I6d7bd190013a0250ca896af8d5182df55a3376b0 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/9857 - Reviewed-by: Alex Chernyakhovsky - Tested-by: Alex Chernyakhovsky - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Jeffrey Altman - -commit 13a3ba7ba2d660a08925a3ccd05d74eedcf8c5cd -Author: Derrick Brashear -Date: Wed May 1 15:59:41 2013 -0400 - - pt_util: gcc warning fix - - it's claimed these are not initialized before use. - squelch compiler errors. has to be in parent as otherwise - we will zero them in our loop where we potentially want the - parent group id, which is not on "this" line as we add members. - - Change-Id: I3014765ad1935cbe20421560329b5bdf465db8af - Reviewed-on: http://gerrit.openafs.org/9840 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 00b230d693fa501d11a6a6d45f65b5a09499ebbf -Author: Derrick Brashear -Date: Wed May 1 15:58:50 2013 -0400 - - pt_util: be admin - - cheat and use the noauth flag so we pass the admin checks - - Change-Id: Ie064db4fb930529fe474317d096238c915d1ef5b - Reviewed-on: http://gerrit.openafs.org/9839 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c42912d6da6ff7536b1301b4fb7f556513e8692c -Author: Jeffrey Altman -Date: Thu May 9 21:48:16 2013 -0400 - - Windows: AFSCleanup move CCb access inside try block - - A crash dump was examined which showed a deadlock due to the leak - of a SectionObjectResource in a code path in which the holding thread - could not have obtained it. The FileObject->FsContext2 (Ccb) pointer - referred to invalid memory which may have been due to pool corruption. - The only code path in which the SectionObjectResource is held exclusive - and then the Ccb pointer is used outside of a try-except block is in - AFSCleanup(). Move this reference inside the try-except block just in - case. If the Ccb is invalid, at least this way AFSRedirLib will catch - the exception and free the SectionObjectResource before continuing. - - Change-Id: I08c9baacfc8897ae8d8b551a74976daf7effbcef - Reviewed-on: http://gerrit.openafs.org/9892 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dcae72c87e63b595c4e86cb199ff75332b51506a -Author: Jeffrey Altman -Date: Thu May 9 18:31:19 2013 -0400 - - Windows: AFSClose Set FsContext* to NULL - - After the Fcb OpenReferenceCount is decremented it is no longer - safe for the Fcb pointer to be referenced. Set FsContext to NULL. - - After the AFSRemoveCcb() call, it is no longer safe to reference - the Ccb pointer. Set FsContext2 to NULL. - - Change-Id: I5be1367c599222df02269bf1ed85ec89ac5d279c - Reviewed-on: http://gerrit.openafs.org/9890 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6c42bc9090324a5ce57678b31b76ad5ef8ed1d34 -Author: Jeffrey Altman -Date: Thu May 9 18:30:42 2013 -0400 - - Windows: AFSClose remove dead code - - Change-Id: Ia844d7e01bcf7a04a7115416e83d45bf5319d739 - Reviewed-on: http://gerrit.openafs.org/9889 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d1577c80bb8f6752b775a64af68649b648c659d9 -Author: Jeffrey Altman -Date: Thu May 9 18:28:09 2013 -0400 - - Windows: AFSCommonWrite do not leak SectionObjectResource - - If the write request is neither an extending write nor a non-cached - write and (liStartingByte.QuadPart + ulByteCount) >= - pFcb->Header.FileSize.QuadPart, then the SectionObjectResource pointer - will be leaked. Instead release it before retrying. - - Change-Id: Id1ea7a3829a6e2be19280f366e665a11e14fba62 - Reviewed-on: http://gerrit.openafs.org/9888 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 641b2fd8d6a270a2fc202450ab8dce044afc48a2 -Author: Marc Dionne -Date: Thu May 9 12:30:39 2013 -0400 - - ubik: Avoid use of freed string - - If cellName was just set to dir->cellName, afsconf_Close() will - free the string before fprintf uses it. Just change the order - so we don't access freed memory and print garbage. - - Change-Id: I66792dc50addf2d8242f71923db09fcc178cc450 - Reviewed-on: http://gerrit.openafs.org/9886 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 2608ce67f1ba5ed1ed63525fad90db9d67547ec6 -Author: Jeffrey Altman -Date: Wed May 8 14:10:01 2013 -0400 - - Windows: RDR_GetVolumeInfo do not always return success - - If the call failed because all servers are down or all instances - of the volume are offline or busy, tell the caller. Do not return - fake data. - - Change-Id: I4e89cefba19161c7d75cfdfd04a1cf7dfc2398f4 - Reviewed-on: http://gerrit.openafs.org/9882 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5342de7a58c4516259fa48ee2d282bc6046830cb -Author: Jeffrey Altman -Date: Wed May 8 14:08:59 2013 -0400 - - Windows: cm_Analyze if no retry don't sleep - - If error handling response is not going to result in a retry of the - call, do not sleep. - - Change-Id: I12435612f94a2e6afb77b5a2975f90f66e02823a - Reviewed-on: http://gerrit.openafs.org/9881 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 663f32e93ec2d17ca59c64c8115cd51183ea3629 -Author: Jeffrey Altman -Date: Wed May 8 13:08:30 2013 -0400 - - Windows: only retry ALLBUSY for five minutes - - Add a volbusyCount field to cm_req_t. Increment the count each time - CM_ERROR_ALLBUSY is processed by cm_Analyze for a given request. - Wait 15 seconds between retries and retry up to 20 times and then - fail. This prevents requests from blocking for a volume that isn't - going to come back online for hours. - - Change-Id: I25e68565700dddceebecedf552d1e04cbe39b22a - Reviewed-on: http://gerrit.openafs.org/9876 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a63e6747abd33fef40da16312dfc22d052bffd00 -Author: Ben Kaduk -Date: Thu Mar 28 17:10:29 2013 -0400 - - FreeBSD: VOP_MMAP has been dead since 1996 - - Clang complains that our (K&R!) declaration of struct vop_mmap_args - will only be visible within the (empty) function. - With the kernel's CFLAGS, though, this is fatal. - Remove the dead code. - - Change-Id: I8fd768b36b73f9e2f727dae4e748931f307444c8 - Reviewed-on: http://gerrit.openafs.org/9856 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 79c7b34afd3231a80a7aa4f163b89cb6eca4dfb7 -Author: Jeffrey Altman -Date: Tue May 7 21:50:40 2013 -0400 - - Windows: Release Notes updates - - Document ReparsePointPolicy registry value. - - Document known Explorer Shell Paste bug. - - Update ShortNames registry value. - - Document Cygwin 1.7.18-1 support for AFS Symbolic Links. - - Change-Id: Ifdcea9c71fb23d4e9cf9ad50907dd6f50c5c619e - Reviewed-on: http://gerrit.openafs.org/9869 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4cda20f3d7846b10905645ec915a3ea29bce4f28 -Author: Jeffrey Altman -Date: Mon May 6 15:12:54 2013 -0400 - - Windows: AFSLibExFreePool*() macros - - Introduce the AFSLibExFreePool() and AFSLibExFreePoolWithTag() macros - which simply call ExFreePool() and ExFreePoolWithTag(). - - The prefix AFSLib indicates that memory allocated by - AFSLibExAllocatePoolWithTag() must be freed before unloading. - AFSExFreePool*() cannot be used because that is a pointer to a - function provided by AFSRedir.sys which may not be assigned when - memory must be freed. - - The only time that ExFreePool() should be used is if the memory was - allocated by a system function. - - Change-Id: If56b762d2b6d857dbe415171401d64ca10a1e9ea - Reviewed-on: http://gerrit.openafs.org/9853 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b655055a2693c44605995abe638673d842ebd5d9 -Author: Jeffrey Altman -Date: Mon May 6 15:05:10 2013 -0400 - - Windows: Use AFSLibExAllocatePool for library local - - If the memory allocation is for an object that must be freed before - the afsredirlib.sys driver unloads, use the AFSLibExAllocatePoolWithTag - interface. AFSExAllocatePoolWithTag allocates the memory from - afsredir.sys which prevents Verifier from being used to detect leaks. - - Change-Id: I3e384ff2da069a594d2cafe7b4b1a9bb942cbd08 - Reviewed-on: http://gerrit.openafs.org/9852 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5ea6e66433826c9745e4a211bd2801995e35fa5e -Author: Jeffrey Altman -Date: Tue May 7 18:36:16 2013 -0400 - - Windows: RDR_Initialize must cleanup threads on failure - - If RDR_Initialize() fails after instantiating the worker thread - pool it must call RDR_ShutdownFinal() to destroy the pool before - exiting. Otherwise, the threads will spin endlessly as each - DeviceIoControl call to the redirector fails. - - Change-Id: I347a509703a44c6b8ca25a084ea10dc0df801eb9 - Reviewed-on: http://gerrit.openafs.org/9860 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ff2a5fed4da67907cc86162553d3689db3a22c06 -Author: Jeffrey Altman -Date: Wed Apr 17 18:21:40 2013 -0400 - - Windows: IOCTL_AFS_GET_DEBUG_TRACE - - Pemrit the active Debug Flags and Trace Configuration to be - queried by administrators. - - Change-Id: I0c798bd2eb8f2445c81a0b45c112bbaf72d15522 - Reviewed-on: http://gerrit.openafs.org/9798 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit edea22524a4d348f570e969dd75cd7f9e3876b32 -Author: Jeffrey Altman -Date: Wed Apr 17 18:18:30 2013 -0400 - - Windows: Add IOCTL_AFS_GET_REPARSE_POLICY - - Introduce IOCTL_AFS_GET_REPARSE_POLICY to permit the global - and active authgroup reparse point policies to be queried. - - Change-Id: I9ec4bfd177cac1a4ed77f3b376694ec6864a479c - Reviewed-on: http://gerrit.openafs.org/9797 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit aa09c830709a4f5bbe5c259e0934e4bed4b8e832 -Author: Jeffrey Altman -Date: Sun Apr 14 21:08:20 2013 -0400 - - Windows: "ReparsePointPolicy" registry key - - HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters - - DWORD "ReparsePointPolicy" - - Valid values are: - - 0 - No global policy set - 1 - Reparse Points to Files treated as the target File - - Change-Id: Ib8f4f6a4c5c3b2faaf86a6650a4ce3ebcbbdf0e0 - Reviewed-on: http://gerrit.openafs.org/9789 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6a3eca32a6a89bf533d3075ac5cb3b24da1b1326 -Author: Jeffrey Altman -Date: Sun Mar 3 23:10:51 2013 -0500 - - Windows: CreateFile Reparse Point to File as File - - Apply the Reparse Point to File as File Policy to CreateFile. If the - FILE_OPEN_REPARSE_POINT flag is specified to the CreateFile operation - and AFSIgnoreReparsePointToFile() returns TRUE, evaluate the target - object (if possible) and if the object is a FILE, then ignore the - FILE_OPEN_REPARSE_POINT flag. Otherwise, re-evaluate the request to - attempt to open a reparse point if it exists. - - Change-Id: Ia1a3d5f4c4d638d7d94209c9b4a9dfc2e8aa2005 - Reviewed-on: http://gerrit.openafs.org/9343 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dfd8ec397cc24b7ed991a5ef9c544162a7228abc -Author: Jeffrey Altman -Date: Sat Mar 2 01:06:52 2013 -0500 - - Windows: DirControl Reparse Point to File as File - - Implement the Reparse Point to File as File Policy for directory queries. - - Change-Id: I6458ae4721f6d8ddea59e78731893fa7b108de19 - Reviewed-on: http://gerrit.openafs.org/9342 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f782d1dd20ee6048ca165e808adc9a01b2666746 -Author: Jeffrey Altman -Date: Sun Apr 14 18:57:53 2013 -0400 - - Windows: AFSRedirLib AFSIgnoreReparsePointToFile - - AFSIgnoreReparsePointToFile() is a helper routine that uses the - global reparse point policy to decide whether or not a reparse point - whose target is a file should be reported to applications as a file. - When per-AuthGroup or per-Process policy is supported, this function - should be modified. - - Change-Id: Ifa1b82f92859ede1cef311680ff93a1e38a81a6d - Reviewed-on: http://gerrit.openafs.org/9788 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1ff59729dce57dbcf02e593310e7065d92d73bb7 -Author: pete scott -Date: Wed Feb 27 08:51:44 2013 -0700 - - Windows: IOCTL_AFS_SET_REPARSE_POLICY - - IOCTL_AFS_SET_REPARSE_POLICY is a new ioctl that can be executed - by anyone to alter the behavior of AFS Symlink-to-File reparse point - processing. Policy can be set for a global default or for the active - authentication group. If the AFS_REPARSE_POINT_TO_FILE_AS_FILE policy is - active, afs symlinks will not be reported as reparse points if the symlink - target is known to be a file. - - This patchset implements the ioctl but not the "reparse point to file as - file" functionality. Per authgroup policy setting is not permitted by the - ioctl but is not supported at this time. - - This patchset was modified by Jeffrey Altman. - - Change-Id: I6fd8b3c7f94dd97e15d6b82642f43cb2d8193563 - Reviewed-on: http://gerrit.openafs.org/9341 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 5ae397146a8b33eb924f6a3420e2247f1986b1ad -Author: Jeffrey Altman -Date: Sat May 4 11:56:30 2013 -0400 - - Windows: Report Case Sensitive Search - - Return the FILE_CASE_SENSITIVE_SEARCH volume flag as part of afs - volume properties. NTFS does and our search algorithm is case - sensitive first, then case insensitive. - - Change-Id: I64857cdf8712847064c8271956cebe2bdbe487df - Reviewed-on: http://gerrit.openafs.org/9850 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0e2d4c0fcb45389d20dad93ae29b1c84364b59bf -Author: Jeffrey Altman -Date: Fri May 3 11:23:31 2013 -0400 - - Windows: Introduce CM_CONN_FLAG_NEW - - The new CM_CONN_FLAG_NEW flag is set on the cm_conn object whenever - a new rx_connection has been created. The flag is cleared in cm_Analyze - if the call succeeded or if the error is one that is generated as a - result of communicating with the peer. If no communication with the - peer has taken place the connection is considered "new". - - For errors that would result in forcing a new connection, check whether - the existing connection is already "new". This avoids an extra - RX_CALL_DEAD timeout period in the case where a "new" connection was - already in use. - - Change-Id: If23a5f4b98e7599e4b4e62b474661e9d91aba81b - Reviewed-on: http://gerrit.openafs.org/9847 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1fed4439da374a134975726c1e1efa52a5359264 -Author: Jeffrey Altman -Date: Fri May 3 11:21:39 2013 -0400 - - Windows: Use interlocked ops for cm_conn flags - - cm_conn flags can be modified by multiple threads. - Use interlocked operations for thread safety. - - Change-Id: Iaaec54ca0962f8f78e1ddaee2c0a8a68041f5ed9 - Reviewed-on: http://gerrit.openafs.org/9846 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b5550d1877ceb1660d8058e8bc3609d6d85fbb41 -Author: Marc Dionne -Date: Fri May 3 09:11:50 2013 -0400 - - Windows: Use mtafsutil library when linking with pthreads - - Use the multi-threaded version of the util library in a few places - that are linking with pthreads but use the standard version. - - Change-Id: If4b72d4785fb3bfac9b7c133d323ebf95c72f804 - Reviewed-on: http://gerrit.openafs.org/9844 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e6a2bf764993b6ae6c6f194a0398a70b70a32983 -Author: Marc Dionne -Date: Wed Apr 24 16:05:51 2013 -0400 - - doc: Fix a few typos in vlserver man page - - Fix a few errors in the vlserver manpage, a typo in a word and a - few missing delimiters that mess up the formatting slightly. - - Change-Id: I1ec9887dfcbfd4f2a38c0a15fe7760d99682a194 - Reviewed-on: http://gerrit.openafs.org/9804 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit 7eed34dc81e4543e31007e5f33f9913a5b9584c4 -Author: Derrick Brashear -Date: Thu May 2 08:32:51 2013 -0400 - - dasalvager: use pthreads - - salvageserver already uses this code, and it appears to do the - right thing. - - Change-Id: I4c0f2ec503f2388a1483e89a04ff78eda270659b - Reviewed-on: http://gerrit.openafs.org/9843 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit 53ac98931adf9f04c150d9bc084cae31f3913476 -Author: Derrick Brashear -Date: Wed May 1 16:07:09 2013 -0400 - - pt: let pt_util create the groups it wants - - if you are rebuilding from pt_util, data sanitization should - not randomly chown and/or rename your groups. likewise, - an admin should have the ability to do this. - - Change-Id: Id76cd16acc4af712b9be6d0c7110e8db10ce3fff - Reviewed-on: http://gerrit.openafs.org/9841 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 32d823c52f212fb79816708418ad7d958eb32a01 -Author: Ken Dreyer -Date: Tue Apr 30 21:59:32 2013 -0600 - - doc: quote list items in POD - - Recent versions of Pod::Simple complain if we use integers or other - special characters in an =item list. We have a couple bulleted lists - that happen to have integers or other special characters as the list - values. Quote the items with C<> so that Pod::Simple can correctly parse - them again. - - Change-Id: If456781fe219b73ae01feb9aef2fb2639e097534 - Reviewed-on: http://gerrit.openafs.org/9838 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d97c96d67f61b797df6ceee410ac4a66b48f8f5d -Author: Ben Kaduk -Date: Thu Apr 25 17:47:06 2013 -0400 - - Remove unused variable - - volser has apparently never supported bcrypt from the intial IBM - import. There's no need to keep around the code to fetch that key. - - Change-Id: I6c903f0016ef8129da7e52b4f08b38c390b847e9 - Reviewed-on: http://gerrit.openafs.org/9808 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9c391e7f7d0e5dfdfe947d385e2db9a8b8ca3610 -Author: Michael Meffie -Date: Tue Apr 30 11:30:15 2013 -0400 - - pt_util: fix group line check for input files - - Fix the check for requiring group lines before any membership lines. Do - not clear flag indicating the presence of a group after reading each - line. (This error was caught by the pt_util-t unit test.) - - Fix for commit 12ced70c95fe8efbcec09a372f0af81d819bb8cd - - Change-Id: Iaa47e3ab7936668e8a5b761dd8d3f933d459a16a - Reviewed-on: http://gerrit.openafs.org/9832 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 04605389d7ac89c32e4b2576d4894b4da94d3a24 -Author: Michael Meffie -Date: Tue Apr 30 15:38:24 2013 -0400 - - tests: make a plan for man page checks - - Split the man page check routine into two routines; one to get the list - of sub-commands for a command, and another to verify a man page exists - for each sub-command. Use the list of sub-commands to set up the - Test::More plan before running the tests. - - Setting the plan before running the tests allows the the man page tests - to run on systems which ship older versions the Test::More module. - - Change-Id: I1ed6fb87989e1deff4696562f3b917140592ed17 - Reviewed-on: http://gerrit.openafs.org/9835 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - Reviewed-by: Derrick Brashear - -commit b88ff242df03f7332945793422e7c16c423b7e76 -Author: Michael Meffie -Date: Tue Apr 30 19:57:21 2013 -0400 - - tests: posix signal constants in rx/perf test - - Export the posix signal constants in the rx/perf perl test. Fixes a - perl syntax error on solaris. - - Change-Id: Iaad361b8533787f9ad97fa00221e01e687f50723 - Reviewed-on: http://gerrit.openafs.org/9836 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 479c34614f33859131258e330e7a3f8494e0bc80 -Author: Andrew Deason -Date: Tue Apr 30 14:37:54 2013 -0500 - - afs: Do not invalidate all dcaches on startup - - Commit 20b0c65a289e2b55fb6922c8f60e873f1f4c6f97 changed - afs_UFSGetDSlot to always treat a dslot entry as invalid if - 'datavalid' was 0. This was to force the invalidation of the given - dslot if we were reading in a dslot from the free or discard list, - since the data in that dslot is not valid. - - However, 'datavalid' is also 0 when we read in dcache entries from - disk on startup. So, this means that we invalidated all cache entries - when the client started up, effectively making our persistent cache - worthless. - - Fix this by only forcing this invalidation when we are reading from a - free or discarded dcache, and not during the initial cache scan. That - is, when 'indexvalid' is 1, and 'datavalid' is 0. - - The parameters for these Get*DSlot variants should maybe be changed to - be a little more clear, but for now, this is a targeted fix for this - specific issue. - - FIXES 131655 - - Change-Id: Ic23f1e17cd966b8468849f54fc6fda37e1f61c0c - Reviewed-on: http://gerrit.openafs.org/9833 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit a7165067d79814bacabd55e9bab66c6a3ae45b76 -Author: Jeffrey Altman -Date: Wed Apr 24 23:30:53 2013 -0400 - - Windows: pSrcObject instead of pSrcFcb->ObjectInformation - - In AFSSetFileLinkInfo and AFSSetRenameInfo consistently use the - variable pSrcObject instead of pSrcFcb->ObjectInformation. pSrcObject - is a local alias. Mixing both forms in the same function is confusing. - - Change-Id: I6b078d783389eb57ed5d36cbc463018e6199e17d - Reviewed-on: http://gerrit.openafs.org/9810 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit cb9d0ff3da5c42667afb6f702523d1ffd2d72a5f -Author: Jeffrey Altman -Date: Wed Apr 17 20:17:09 2013 -0400 - - Windows: AFSLocateNameEntry incorrect pCurrentObject - - pCurrentObject is supposed to be an alias for pDirEntry->ObjectInformation - but it was not always being updated when pDirEntry was replaced. As a - result several tests were being performed incorrectly and the wrong data - was being logged. - - Change-Id: I69913788acd243d0bfdfee88e281a1eaa2adca6a - Reviewed-on: http://gerrit.openafs.org/9809 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 18ba93882f9dad15899624bc4f439e70d584982a -Author: Jeffrey Altman -Date: Wed Apr 17 18:35:36 2013 -0400 - - Windows: More ObjectInformation RefCnt Protection - - Protect addition ObjectInformation Reference count - transitions with the VolumeCB.ObjectInfoTree.TreeLock. - - AFSProcessUserFsRequest - AFSSetRenameInfo - AFSInvalidateCache - AFSInvalidateVolume - AFSAllocateObjectInfo - AFSDeleteObjectInfo - AFSGetObjectStatus - AFSDeleteDirEntry - - Change-Id: Icd108bb8253e5e84c673f3de04f882afea725274 - Reviewed-on: http://gerrit.openafs.org/9799 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 5952cc139c102035591e8c95bbba313cf709d332 -Author: Jeffrey Altman -Date: Sat Apr 13 01:57:56 2013 -0400 - - Windows: AFSExamineVolume drop TreeLock if waiters - - After each call to AFSExamineObject drop the ObjectInfoTree.TreeLock - if there are threads waiting for access. The garbage collection process - should not delay real work. - - Change-Id: I2bd009d71b534d92d7e1b321b6db2204643e4666 - Reviewed-on: http://gerrit.openafs.org/9786 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a6037b153d78791d68b694a487456fbb52e410d0 -Author: Jeffrey Altman -Date: Sat Apr 13 01:56:39 2013 -0400 - - Windows: AFSPerformObjectInvalidate hold TreeLock - - When decrementing the ObjectInfoCB reference count hold the Volume's - ObjectInfoTree.TreeLock shared. - - Change-Id: I6ac2fe3cc19bcc97a2a6e38f2e1a4b3d0952b304 - Reviewed-on: http://gerrit.openafs.org/9785 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d2b54c0ac42625715e9f74e06fa20820c2b7aa28 -Author: Jeffrey Altman -Date: Sat Apr 13 01:55:26 2013 -0400 - - Windows: ObjectInfoCB update last access time - - Each time the ObjectInformationCB object is looked up - from the ObjectInfoTree the LastAccessCount field should be updated - except in cases of invalidation, garbage collection, and extent - processing. This is particularly important when an ObjectInfoCB - is attached to DirectoryCB in AFSInitDirEntry and when constructing - directory snapshots or validating directory content. - - Change-Id: Ife412b723a1bdc922ffdfeca71061fcfd1ce721a - Reviewed-on: http://gerrit.openafs.org/9784 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c51e9b35813b8630a297094df722d2f2a2e60927 -Author: Jeffrey Altman -Date: Sat Apr 13 01:52:45 2013 -0400 - - Windows: AFSFindObjectInfo update last access time - - Add a boolean parameter to AFSFindObjectInfo() which is used - to indicate whether or not the last access time for the found - ObjectInfoCB should be updated. - - Set the new parameter in all calls to AFSFindObjectInfo(). - - Change-Id: Ib50d772af6857db7b8c13f2054e910f1ef5a1b7e - Reviewed-on: http://gerrit.openafs.org/9783 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit ed76e573ae5db4fb83d57217562c4998ffa845cb -Author: Jeffrey Altman -Date: Fri Apr 12 11:12:13 2013 -0400 - - Windows: AFSInvalidateVolume ObjectInfo refcnt decrement - - In AFSInvalidateVolume a reference count is obtained in order to - ensure that the object is valid throughout the invalidation request. - Although the refcnt is obtained while holding the TreeLock the refcnt - was not released while holding the TreeLock which could open the door - for another thread to race. - - Change-Id: I5c7ee91b78a2ce5f03cdc5f835b15357ecbec443 - Reviewed-on: http://gerrit.openafs.org/9782 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a1aa06e82ca770456884b1b96b4f0c109cd06a85 -Author: Jeffrey Altman -Date: Fri Apr 12 10:58:47 2013 -0400 - - Windows: AFSInitDirEntry allocated ObjInfoCBs valid - - In AFSInitDirEntry the pattern was to find or allocate an - ObjectInfoCB then destroy it if the DirectoryCB creation fails - for some reason. The problem with this approach is that once the - VolumeCB ObjectInfoTree.TreeLock is dropped the ObjectInfoCB is findable. - That means that the contents of the ObjectInfoCB must be valid. - - This patchset makes three changes. First, in the case where the - ObjectInfoCB is allocated, the fields of the ObjectInfoCB are populated - from the DirEnumEntry before the TreeLock is dropped. Second, if the - DirectoryCB allocation fails the ObjectInfoCB is not deleted. It is - perfectly valid and can be used by a subsequent AFSInitDirEntry call. - Perhaps one that is racing with this thread. It will eventually be - cleaned up by the AFSPrimaryVolumeWorkerThread. Finally, when the - ObjectInfoCB reference count is decremented the TreeLock is held shared in - order to prevent races with other threads that might be incrementing it - themselves. - - Change-Id: If3091d4fa640bbb614a1a405c3afc910d649aad6 - Reviewed-on: http://gerrit.openafs.org/9781 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9fd825790e4e61aa5fdf8996874fc9be8b1d1cc0 -Author: Jeffrey Altman -Date: Fri Apr 12 01:53:54 2013 -0400 - - Windows: AFSSetDispositionInfo Verify Dir Enum - - Before testing whether or not a directory is empty, the directory - must be enumerated. If it is not, enumerate it. - - Change-Id: I0302733821e1d5c6be3198be7fe75333d8e01245 - Reviewed-on: http://gerrit.openafs.org/9780 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e11da4c5869a0534b7767e2566d4743bc7e8189e -Author: Jeffrey Altman -Date: Thu Apr 25 11:16:11 2013 -0400 - - Windows: Reset CM_VOLUMEFLAG_RO_SIZE_VALID flag - - The CM_VOLUMEFLAG_RO_SIZE_VALID flag was being reset using the - wrong field which resulted in the flag never being cleared and - the correct volume size not being reported. - - Change-Id: Ic6cefcefcd2c0ad20ad79a98cf0603f09efabcba - Reviewed-on: http://gerrit.openafs.org/9805 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4512b47be83d708f4dfe6e45a205653635658c23 -Author: Jeffrey Altman -Date: Wed Apr 24 23:33:13 2013 -0400 - - Windows: fail if pSrcParentObject cannot be resolved - - In AFSSetFileLinkInfo and AFSSetRenameInfo return STATUS_INVALID_PARAMETER - if pSrcParentObject cannot be determined. Otherwise, a NULL pointer - dereference will occur. - - Change-Id: I0e265433aa85066005e90b3584f8e865c5be79c8 - Reviewed-on: http://gerrit.openafs.org/9807 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0653c81c2abc658f32e07fc6cc1a1ff2b35a9041 -Author: Jeffrey Altman -Date: Wed Apr 24 23:34:45 2013 -0400 - - Windows: SetFileRenameInfo Do not replace pSrcParentObject - - If pSrcParentObject is replaced by pTargetParentObject then the - reference count obtained by the AFSFindObjectInfo() call at the - start of AFSFileRenameInfo will be released on the wrong object. - This will result in a reference leak on pSrcParentObject and an - undercount on pTargetParentObject. pTargetParentObject can then - be garbage collected while it is in use. - - Change-Id: Id10db257afbd4996a31eb98ad7eca69343297274 - Reviewed-on: http://gerrit.openafs.org/9806 - Reviewed-by: Peter Scott - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e31240732cbe449fedea5095037ac08d1d513fa9 -Author: Andrew Deason -Date: Wed Apr 17 18:04:58 2013 -0500 - - LINUX: Sometimes let dentry_open handle refcounts - - When Linux changed dentry_open to use a 'path' argument, they also - changed it so dentry_open handles incrementing the relevant ref - counts. So now, sometimes we need to inc the dentry and vfsmount - refcounts ourselves, and sometimes we need to leave them alone. - - To accommodate this, change afs_dentry_open to also handle refcounting - itself, and 'get' the given dentry and vfsmount if necessary. - - Also note that currently, afs_linux_raw_open can call afs_dentry_open - twice in the case of an error, but it does not dget(dp). This means - that dp could be undercounted, since dentry_open on older kernels will - dec the refcount on the given dentry in the case of an error. This - change should also fix this so dp is not undercounted in that case. - - FIXES 131613 - - Change-Id: I0e9deb7ce57633ff65b76d2444a0416ecbe329fd - Reviewed-on: http://gerrit.openafs.org/9801 - Reviewed-by: Derrick Brashear - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Andrew Deason - -commit a373f0b7461158c8f17bad9a5d0511d67c765a0a -Author: Andrew Deason -Date: Wed Apr 17 17:39:09 2013 -0500 - - Revert "LINUX: Avoid duplicate mntget in afs_linux_raw_open" - - This reverts commit 5ccbbda19f11e7027300409c46715155f439424a. - - dentry_open, at least on older kernels, decs the refcount on its - arguments in the case of an error. So calling mntget for each - dentry_open invocation actually is the correct thing to do. - - This code may need to be further fixed in order to work for newer - kernels, but for now, at least put it back the way it was so we don't - undercount ref counts on older kernels. - - Change-Id: Ie5e064b065bc41321c1cea8e0272cc4ea697e3b5 - Reviewed-on: http://gerrit.openafs.org/9800 - Reviewed-by: Derrick Brashear - Reviewed-by: Marc Dionne - Tested-by: BuildBot - -commit 2632c3f459dc47946b2e973c045056c3dca719f2 -Author: Jeffrey Altman -Date: Fri Apr 12 01:14:39 2013 -0400 - - Windows: RDR_DeleteFileEntry test for empty directory - - RDR_DeleteFileEntry should check to see that a directory entry - that is a directory is in fact empty. The most frequent use of - RDR_DeleteFileEntry is to check whether the object can be deleted - prior to setting the DeletePending state which in turn results in - the object being deleted during Cleanup. If the directory is not - empty during Cleanup it is too late for the error to be seen by - the application. - - Change-Id: I3207bab0527406e3003e97bccf4195abeed31423 - Reviewed-on: http://gerrit.openafs.org/9779 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6c73b8350a4bc67db271a5294c5fdf1e51e9033a -Author: Jeffrey Altman -Date: Fri Apr 12 01:11:22 2013 -0400 - - Windows: cm_MapRPCErrorRmdir EEXIST == ENOTEMPTY - - If the file server is asked to remove a directory that is not empty - one might expect it to return UAENOTEMPTY but instead it returns UAEEXIST. - - The error translation function cm_MapRPCErrorRmdir did not include - EEXIST in the list of errors that convert to CM_ERROR_NOTEMPTY. - - Prior to IBM AFS 3.5 the file server did return ENOTEMPTY and if a - particular platform did not define ENOTEMPTY, ENOTEMPTY was defined to - be EEXIST. To late to change things back now. - - Change-Id: I737ff468575a088e9299a5134b31142dd0ba555e - Reviewed-on: http://gerrit.openafs.org/9778 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5e8bfcb42cbb3652238fec2dbe1c1d65bc2c1ccd -Author: Jeffrey Altman -Date: Fri Apr 12 01:09:13 2013 -0400 - - Windows: cm_BPlusDirIsEmpty - - Provide a function to determine if a directory is empty or not. - - Change-Id: Ib1fa642b02ad67ffdba73da1b7c6091a799de0c3 - Reviewed-on: http://gerrit.openafs.org/9777 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit eb5190eb4a7cd95166866a89e0a8f3a69bbc6e8f -Author: Andrew Deason -Date: Fri Mar 29 13:40:41 2013 -0500 - - Make ihandle sync behavior runtime-configurable - - The actual behavior of FDH_SYNC has changed a bit over the years, and - some people want one behavior, and some want another. Make it possible - to make this choice at runtime with the new -sync option, instead of - making this decision by running with different patches. - - Note that FDH_SYNC is not a macro anymore, nor is it an inline - function. While it could be a macro, it would look a bit complex, and - there are some oddities with trying to use vol_io_params inside the - FDH_SYNC expansion (vol_io_params is not declared for LWP, for - example). And having it be an inline function causes problems with - some odd linking dependencies. For example, vlib.a contains volume.o, - but does not contain a definition for DFlushVolume (dir/buffer.c), - which is referenced in volume.o. 'vos' uses vlib.a, but does not - bring in anything that defines DFlushVolume. Currently this appears to - not cause a problem because 'vos' uses nothing from volume.o, so the - dependencies of volume.o don't matter. Adding an inline FDH_SYNC for - platforms that don't support 'static inline' would add a dependency to - volume.o (via vol_io_params), which causes an error for the lack of a - DFlushVolume. - - Those are possibly just some problems, and may not be all. So instead, - make it so we don't have to deal with that and just have a normal - function. While FDH_SYNC may be called in a performance-critical - section, the overhead of a real function call is nowhere near the - delay of an actual fsync(), so presumably any overhead doesn't matter. - - Change-Id: I23620bd8ac31b9019e9d55cb46ec9f3a75f5675c - Reviewed-on: http://gerrit.openafs.org/9694 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5ccbbda19f11e7027300409c46715155f439424a -Author: Andrew Deason -Date: Wed Apr 17 01:33:07 2013 -0500 - - LINUX: Avoid duplicate mntget in afs_linux_raw_open - - In the unlikely event that our afs_dentry_open call fails with - cache_creds, we call afs_dentry_open again with the current creds as a - fallback. However, we call mntget on afs_cacheMnt for each call. So if - we actually hit the second call, we'll have added 2 refs to - afs_cacheMnt, but we only actually opened one file, causing a slight - overcount on afs_cacheMnt refs. - - To avoid this, just call mntget once, before any of the - dentry_open-related calls. - - Change-Id: I7ec3e8c193dd7782ab629fb5d7615d83f8385b6c - Reviewed-on: http://gerrit.openafs.org/9791 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit e019429d4548348c6ab8674305d985feee040476 -Author: Andrew Deason -Date: Wed Apr 17 01:27:47 2013 -0500 - - LINUX: Avoid duplicate mntget in afs_dentry_open - - Our caller already got a ref to 'mnt'; getting another one here will - overcount refs on 'mnt'. - - This can make it impossible to unmount the filesystem the cache - resides on (even after the client is stopped), since it's ref count - will be very high. - - FIXES 131613 - - Change-Id: I3f0cd0fd6c0c2ced74f2d799ea0d8f8701a20141 - Reviewed-on: http://gerrit.openafs.org/9790 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Tested-by: Stephan Wiesand - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 7647c6c4a1a23bdf3ffe502d31f26ed052d0378a -Author: Jeffrey Altman -Date: Thu Apr 11 09:20:03 2013 -0400 - - Windows: cm_Analyze VICECONNBAD and VICETOKENDEAD - - cm_Analyze forces new rx connections in response to VICECONNBAD and - VICETOKENDEAD errors but failed to mark the cm_req_t with - CM_REQ_NEW_CONN_FORCED and failed to set 'forcing_new' to true ensuring - that a retry would take place even if the cm_req_t included the no retry - flag. - - Change-Id: Ieb2bf141279192a591eb66eacab8150c10d029ce - Reviewed-on: http://gerrit.openafs.org/9773 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 545ea65599230641ffaaff4077f72430aa5e7038 -Author: Jeffrey Altman -Date: Thu Apr 11 09:17:53 2013 -0400 - - Windows: Force new connection upon RXKADEXPIRED - - cm_Analyze invalidated the credentials for the cell upon receiving an - RXKADEXPIRED error from a server but failed for force the establishment of - a new rx connection to the server. As a result, the expired credentials - would continue to be used until the credential expires. - - Change-Id: I93a4146d5ca708ce1cca467e7e5f72fea950f8ae - Reviewed-on: http://gerrit.openafs.org/9772 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6580f37357e9c9c85404d81fb0fca8eb3e28b3c3 -Author: Jeffrey Altman -Date: Tue Apr 9 10:48:12 2013 -0400 - - Windows: Comment CommonWrite VDL Change - - Add a comment reminding the reader that CcSetFileSizes only needs - to be called on a ValidDataLength change if the VDL value has decreased. - A write operation cannot result in a decrease therefore CcSetFileSizes - does not need to be called from within AFSCommonWrite(). - - Change-Id: Iaf867ec876a6265dc2c8a7ba2319fdf67503a467 - Reviewed-on: http://gerrit.openafs.org/9757 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit aa0046a7220d8b21f2694d7f9534d7383422731b -Author: Jeffrey Altman -Date: Tue Apr 9 10:35:52 2013 -0400 - - Windows: CcPurge range modified by non-cached write - - When a non-cached non-paging write occurs, the update bypasses the - Windows cache. As a result any cached data in the modified range is - now invalid and must be purged. - - CcPurgeCacheSection is known to trigger some filter drivers to open - the file from a worker thread. To avoid a deadlock on the - Fcb->NPFcb->Resource that resource must be dropped. Holding the - SectionObjectResource exclusive is sufficient to protect against races - with other writes, reads and SetEndOfFile operations. While purging the - cache prior to calling the service might be more desireable, it cannot be - done safely without violating the lock hierarchy. Therefore, the purge is - performed after any call to the service completes. - - Change-Id: I953a74a0675875eb6be85f85ce924473deb3347f - Reviewed-on: http://gerrit.openafs.org/9756 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 7bb300ad2cfe2fec9698523c59a4e800b4fe635a -Author: Jeffrey Altman -Date: Tue Apr 9 08:12:29 2013 -0400 - - Windows: Race between NonCached and Cached Writes - - The following race was identified by Rod Widdowson. - - A. File is complete up to 1000 Eof=1000, VDL=1000 - B. File Eof is set to 2000. Eof=2000, VDL=1000 (SetInfo doesn't move VDL) - C. Locks dropped. - - Thread1) Write comes in for 1000 for 500. This is not extending. - Locks taken shared. - Thread1) Data Written to Server. Thread stalls. - Thread2) Read comes in for 1000 for 1000. Locks taken shared - so it proceeds. - Thread2) CcRead calls CcZero and so the cache get zeros from 1000 to 2000 - Thread1) VDL moves forward. - - The windows cache is now poisoned between 1000 and 1500 and protected by - the VDL. Any future reads gets the wrong data and any write to that part - will cause an overwrite of zeros. - - Instead of holding the Fcb->NPFcb->Resource and - Fcb->NPFcb->SectionObjectResource shared during a NonCached write, hold it - exclusive because the write is occurring behind the back of the windows - cache. - - Change-Id: I2244e1247dcee2c3ca0d95e6ee11de3187d491c5 - Reviewed-on: http://gerrit.openafs.org/9754 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 4a40c1f663590a8e402a0109967fdff58df56385 -Author: Jeffrey Altman -Date: Sat Apr 6 16:38:59 2013 -0400 - - Windows: DirectIO AFS_INVALIDATE_DATA_VERSION - - Implement cache flush and purge operations in response to - AFS_INVALIDATE_DATA_VERSION requests when DirectIO processing is in use. - - Change-Id: Ib97b1ecd0d9f65b8648f2d7d01ee7043d6be2b83 - Reviewed-on: http://gerrit.openafs.org/9744 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 16feb54d0e194f1b429ab938667babd132a7cb52 -Author: Jeffrey Altman -Date: Sat Apr 6 16:31:07 2013 -0400 - - Windows: AFS_INVALIDATE_DATA_VERSION only by service - - Let the service make all decisions regarding when a data version - invalidation should be initiated. If during directory enumeration - or entry validation a data version change is noticed, that is an - indication that the meta data should be updated. - - Change-Id: I8872fb5500b08ef2c6b64ab5fd13beeee4267aa2 - Reviewed-on: http://gerrit.openafs.org/9743 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 20328455d1519936f78025727d42ae91cf8e1e7d -Author: Jeffrey Altman -Date: Sun Apr 7 08:26:18 2013 -0400 - - Windows: Update ValidDataLength on all nonPagingIo - - Instead of updating the Fcb->Header.ValidDataLength only when - processing cached writes, update it for all non-PagingIo extending writes. - This ensures that a file that is extended by a mixture of cached and - non-cached (NO_INTERMEDIATE_BUFFERING) writes will properly trigger a - page fault when the Windows cache manager does not have a complete page - cached. - - Change-Id: I255bb667e33fadd07eb8961901d33707812a8406 - Reviewed-on: http://gerrit.openafs.org/9742 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 3cf2d46a8c29039a6c8d33a952888370aa885801 -Author: Jeffrey Altman -Date: Mon Apr 8 08:56:31 2013 -0400 - - Windows: hold locks during non-cached writes - - Writes can alter both the EndOfFile (Fcb FileSize) and the ValidDataLength - which must remain synchronized with the data known to the service. - Dropping the Fcb.Resource and the SectionObjectResource prior to - performing non-cached writes opens the possibility of a race in which - data changes and length updates can be altered independently. - - Efforts are made to avoid holding locks across calls to the service - because they can result in deadlocks with object invalidation or extent - management. However, object invalidation for data version changes are - now handled in a worker thread. It should be safe to hold onto the - Fcb Resource and SectionObjectResource across non-cached write processing. - - The locks are not held in the paging IO path so paging non-cached - writes (which cannot be extending) will not prevent cached writes from - taking place in parallel. - - The reason it is critical for the ValidDataLength and the FileSize to - remain in sync with the data for non-paging non-cached writes is that - these values are used to determine whether the Windows cache manager - should trigger a page fault to read data from the service upon receiving - an extending cached write that doesn't fill the page. - - Change-Id: If3edb2a7412623dbec10a6efd2ee8d3b92ac992d - Reviewed-on: http://gerrit.openafs.org/9745 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 675cd4b2c2e1202f75e42ebb3f0cf898ae5d4661 -Author: Jeffrey Altman -Date: Mon Apr 8 23:41:48 2013 -0400 - - Windows: DOS Device VolumeInfo max name length - - In 1.7.2200 the AFS Redirectory began to return - - cellname{%,#}volume - - as the volume label in the Volume Information response. For UNC - paths this is fine but for DOS devices on Windows 7 and earlier returning - a volume label that is longer than the NTFS maximum label length (32 - characters) results in the Explorer Shell treating the volume as if it - does not support long file names. - - From this patchset forward if the FileObject->FileName indicates that - the query is for a DOS Device, only return the AFS volume name and not the - cell informmation in the Volume Information response. - - FIXES 131632 - - Change-Id: Iee26a00e0042e2594a5e039ee57688b61b10da45 - Reviewed-on: http://gerrit.openafs.org/9751 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 3b6cbed404d5a2d7d189406ba8dbd3a0e41c817a -Author: Jeffrey Altman -Date: Mon Apr 8 23:37:39 2013 -0400 - - Windows: \\afs\all is not a server for NP enumeration - - \\afs\all is a special share name that refers to the global root - which in the AFS redirector is actually \\AFS. However, from the - perspective of the network provider interface \\afs\all is just a - share which refers to a directory. Do not treat attempts to evaluate - it as if they were the same as evaluating \\AFS. One is a global - enumeration (\\AFS) and the other is just a hidden share name. - - Change-Id: I24af24ec005c729bb1430c55254f2b68689932ed - Reviewed-on: http://gerrit.openafs.org/9750 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 16a42ac3adcb1f5f8c9f9f83b8a0d306711b3077 -Author: Jeffrey Altman -Date: Mon Apr 8 21:54:57 2013 -0400 - - Windows: AFSConfigureTrace process DebugFlags - - Do not ignore the DebugFlags value if it is only value that has - been changed. - - Change-Id: Ibaad12d2a8a47711adf09f4c0811efbaad1df7fc - Reviewed-on: http://gerrit.openafs.org/9749 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 1eccf8df16d9216a4c09e99d4123a86cbcf610a0 -Author: Jeffrey Altman -Date: Mon Apr 8 21:51:48 2013 -0400 - - Windows: Runtime RDR Trace Toggle - - Modify the IOCTL_AFS_CONFIG_LIBRARY_TRACE DeviceIoControl message - to pass an AFSDebugTraceConfigCB which is used to toggle the value - of the Library's AFSDebugTraceFnc pointer. When the trace log is - enabled, the AFSDbgLogMsg parameter is non-NULL and when the log is - disabled, the parameter is NULL. - - Change-Id: I71b951f244b760487f2ece94409cefaa7a73ea31 - Reviewed-on: http://gerrit.openafs.org/9748 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit ce72155dc09e592adc94ef7f0b4bf241d0c0c2e8 -Author: Jeffrey Altman -Date: Mon Apr 8 09:26:28 2013 -0400 - - Windows: CM_CONFIG_DATA_VERSION 23 - - The cm_volume_t data structure changed. Increment the data version - for the 1.7.24 release. - - Change-Id: I324525db34e644cf7ac915742e5da6895f351531 - Reviewed-on: http://gerrit.openafs.org/9746 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 639453196dd9f71a86e61d2c83e2e8ae0d8bf45f -Author: Antoine Verheijen -Date: Mon Apr 8 20:51:52 2013 -0600 - - Increase size of space for ACL in "up" command. - - The amount of space allocated for use by the pioctl call to - obtain the ACL for the source directory in the "up" command - is not large enough and the call fails when access lists get - sufficiently large. - - This change increases the size of the space provided to - pioctl to the maximum possible. This allows for much larger - access lists and is consistent with a similar call in the - "fs listacl" command). - - Change-Id: I177387e7346a9e2788f3556fd8754a7f93a2794b - Reviewed-on: http://gerrit.openafs.org/9753 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b39461fc67d4f258d31e0a13b5d8dcb3c5fae49f -Author: Antoine Verheijen -Date: Mon Apr 8 20:29:58 2013 -0600 - - OpenBSD 5.3: Replace use of copyinstr for setting mount point name. - - As a result of a realignment of kernel memory in OpenBSD 5.3, - the copyinstr() routine no longer works for copying the mount - point name into the internal mount table structure. It also - fails silently, so it's not noticed until someone looks at - the mount table and discovers that the mount point name for - AFS is missing. - - This patch replaces the use of copyinstr() with strlcpy() for - copying the mount point name in OpenBSD 5.3. - - Note that this is consistent with how other similar device - support has addressed the same issue in OpenBSD 5.3. - - Change-Id: I57619f989e51a8c1a320be7d451683b7c0abb7c1 - Reviewed-on: http://gerrit.openafs.org/9752 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 31d73b7e43058d421c2a1b6179e71b7b98a269f3 -Author: Derrick Brashear -Date: Wed Apr 3 10:54:11 2013 -0400 - - budb: fix signedness of hash address logging - - lots of places we print an unsigned int as a signed int. - the resulting output is confusing. so. stop that. - - Change-Id: I5659139b92de225ffb9593e5bf7f5ae997d5d212 - Reviewed-on: http://gerrit.openafs.org/9702 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1942d2a4fc90703e64e1c97ba10d2918ba584e73 -Author: Andrew Deason -Date: Thu Mar 28 16:42:58 2013 -0500 - - aklog: Probe for libasn1 on heimdal - - aklog uses encode_EncTicketPart and some other encode_* ASN.1 routines - when we're building against heimdal. Our krb5 autoconf logic from - c-rra-util is not guaranteed to include libasn1 in KRB5_LIBS, since - it's not required for functions in the krb5 API. So, specifically test - for it. - - Related issue reported by MĆ„ns Nilsson. - - Change-Id: I5d1ab07ec481e48710bafcdc53fe58f529cc6dde - Reviewed-on: http://gerrit.openafs.org/9693 - Tested-by: BuildBot - Reviewed-by: Russ Allbery - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 88deedc55a8410c055336486d8816840f9d2f028 -Author: Andrew Deason -Date: Fri Apr 5 14:19:35 2013 -0500 - - liboafs_ubik: Export DISK_GetFile - - The symbols StartDISK_GetFile and EndDISK_GetFile can be useful to - ubik users. Put them in the export list. - - Change-Id: I6aa9c7261e68d66de19981154a7c42efc69e91f2 - Reviewed-on: http://gerrit.openafs.org/9725 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6aa6639b619636c5d63d6413956ed980844160b1 -Author: Jeffrey Altman -Date: Thu Apr 4 10:47:38 2013 -0400 - - Windows: Avoid unnecessary Ccb->DirectoryCB->ObjectInformation - - In almost all cases where an AFSCcb is present the associated AFSFcb - is also present. The AFSFcb has a direct pointer to the AFSObjectInfoCB. - This patchset replaces the Ccb->DirectoryCB->ObjectInformation references - with Fcb->ObjectInformation. This avoids one level of pointer indirection - and will make it easier to remove the DirectoryCB ObjectInformation - pointer in the future. - - Change-Id: I2a6f5d2ed8ef1ad85691f07f425f99e3fb6cce31 - Reviewed-on: http://gerrit.openafs.org/9724 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e762eec9ac9b648e9878e03e4b3bf185d2e2a1c3 -Author: Jeffrey Altman -Date: Wed Apr 3 23:37:53 2013 -0400 - - Windows: AFSInitPIOCtlDirectoryCB Vol ObjInfoTree - - Hold the VolumeCB->ObjectInfoTree.TreeLock exclusively when calling - AFSAllocateObjectInfo() in order to protect the lists of child objects. - - Change-Id: I16f104b8112e972fa8c60da2b0dbcb07ad42456c - Reviewed-on: http://gerrit.openafs.org/9723 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dd73c9c1ef98b94ee1f4e870b52e2604422595e3 -Author: Jeffrey Altman -Date: Wed Apr 3 23:33:40 2013 -0400 - - Windows: Switch to Interlocked ops for RDR Set/Clear - - Switch to using interlocked operations for the SetFlag and ClearFlag - macros. - - Change-Id: I2b071ae49f69d557c30d1280fb7877dde7f76f40 - Reviewed-on: http://gerrit.openafs.org/9722 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 76e33082d12eaeaaf87df53986b46a508c7ad68d -Author: Jeffrey Altman -Date: Tue Apr 2 14:13:57 2013 -0400 - - Windows: AFSDeleteDirEntry set input to NULL - - AFSDeleteDirEntry() frees the memory allocated to the DirectoryCB. - To ensure that an invalid memory pointer is not accidentally used - by the caller after the memory is freed, use - InterlockedCompareExchangePointer() to set the input parameter to - NULL prior to destroying the DirectoryCB. - - Change-Id: I2e92d4277d1f9baee164bfb941821aa11a1ad738 - Reviewed-on: http://gerrit.openafs.org/9721 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ba78ac675c2a90359dedc9cf16e38e6d7e606eaf -Author: Jeffrey Altman -Date: Tue Apr 2 00:46:27 2013 -0400 - - Windows: AFSPrimaryVolumeWorkerThread reorg - - Periodically there is a lost race which results in a valid DirectoryCB - with a non-NULL ObjectInformation pointer that refers to freed memory. - This major reorganization simplifies the logic and attempts to close - potential loopholes. - - First, the AFSExamineDirectory() function is removed and replaced by - a call to AFSDeleteDirEntry(). The AFSExamineDirectory() function - examined all of the children AFSObjectInfoCB objects which in turn - duplicated much of the logic of AFSExamineObjInfo at the cost of - increased complexity due to the additional layer of locked objects. - Once the AFSDirectoryCB is removed a subsequent pass of the worker - thread will free the AFSObjectInfoCBs. - - Second, the AFS_OBJECT_REFERENCE_DIRENTRY category had been used for - both DirectoryCB references and the Pioctl references. A new - AFS_OBJECT_REFERENCE_PIOCTL category has been created to improve the - ability to track the allocations and releases. - - Third, the AFSPrimaryVolumeWorker thread now attempts to hold onto the - VolumeCB TreeLock exclusively. Previously the lock was held shared. - However, it is not safe for both the garbage collection and the find - routines to both be shared. One has to be exclusive. Although holding - the TreeLock exclusively in the garbage collection processing will result - in the lock being held for extended periods of time, it is more likely - that there will be benefits from parallel access during AFSFindObjectInfo() - calls. - - Attempts to obtain most other locks are non-blocking. If the lock cannot - be obtained, the object must be in use. Therefore, it should not be - garbage collected. - - Change-Id: I75e0302c1737aadfbd9afc0c8a03e28513e785f5 - Reviewed-on: http://gerrit.openafs.org/9720 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9285cc3d5270306377ef3d6f90468129a8cfd376 -Author: Jeffrey Altman -Date: Tue Apr 2 00:40:54 2013 -0400 - - Windows: FindObjectInfo refcnt under lock - - AFSFindObjectInfo performed the search of Volume object tree protected by - the TreeLock but dropped the lock before incrementing the reference count. - This behavior contributed to a race with the AFSPrimaryVolumeWorkerThread - which has to drop the VolumeCB TreeLock periodically in order to safely - cleanup FCBs. - - Change-Id: I0cba4a118e4835edee7702db97846567618e0adf - Reviewed-on: http://gerrit.openafs.org/9719 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 559674b36b0f58060e564786b4969ab9e6f777a8 -Author: Jeffrey Altman -Date: Thu Mar 28 00:32:37 2013 -0400 - - Windows: AFSDeleteDirEntry Protect against NULL reference - - Now that AFSDeleteDirEntry can be called with a DirectoryCB - whose ObjectInformation pointer can be NULL, protect against unintentional - dereference. - - Change-Id: I6ffd21c35da5581a7ebac6987324e2ff3a8ccd2b - Reviewed-on: http://gerrit.openafs.org/9691 - Reviewed-by: Mark Vitale - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a8383140c9ca238657e8bf1ce63f8ef7d571cdac -Author: Jeffrey Altman -Date: Tue Mar 26 09:02:00 2013 -0400 - - Windows: AFSDeleteObjectInfo AFS_OBJECT_HELD_IN_SERVICE - - Move the check for AFS_OBJECT_HELD_IN_SERVICE until after the TreeLock - is held. - - Change-Id: I38d095c83dc5878770a7a31bee08048a777cb3cb - Reviewed-on: http://gerrit.openafs.org/9674 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 774bc5eb6be5cc7cab5d86dd40438e18cc7f3da7 -Author: Jeffrey Altman -Date: Tue Mar 26 09:01:17 2013 -0400 - - Windows: Add comment to AFSInitDirEntry - - Change-Id: I6e6164b1dd5c7c8a2c51bcb4cba47667bd343e79 - Reviewed-on: http://gerrit.openafs.org/9673 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f915b4ef15bf815d9405284130e031bd558ce8f1 -Author: Jeffrey Altman -Date: Tue Mar 26 08:59:14 2013 -0400 - - Windows: AFSDeleteDirEntry deleted flag shuffle - - Move the assignment of the deleted flag earlier in AFSDeleteDirEntry() - to avoid potential invalid memory access. - - Change-Id: I6d0e1272cc9f2bb491ad291a65b94c53ced9a354 - Reviewed-on: http://gerrit.openafs.org/9672 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7252f3125da093a1f9de5ef7ded470ddad12eb9d -Author: Jeffrey Altman -Date: Tue Mar 26 08:56:19 2013 -0400 - - Windows: Protect AFSDeleteObjectInfo calls - - Only permit AFSDeleteObjectInfo() to be called if the reference - count returned by AFSObjectInfoDecrement() is zero. - - Change-Id: I6fd65ac41467ec2aa82d4f86f0d57f91595930c1 - Reviewed-on: http://gerrit.openafs.org/9671 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 36fee95e32835cf20286c5225e56b303dd4563da -Author: Jeffrey Altman -Date: Tue Mar 26 08:52:59 2013 -0400 - - Windows: AFSExamineObject() refcnt underflows - - Now that the reference counting is likely to be correct, do not - garbage collect objects with negative reference counts. If the - reference counts are wrong the objects will never be destroyed but - that is now a safer choice than freeing memory that might be in use. - - Change-Id: Ic8e781c4a775f8bcc66227b6f08f894c2fb85157 - Reviewed-on: http://gerrit.openafs.org/9670 - Reviewed-by: Mark Vitale - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0a063815cc27ed065bcc9e4a91fb3a7b280818bb -Author: Andrew Deason -Date: Wed Apr 3 16:39:07 2013 -0500 - - vos: Restore some VNOVOL error messages - - Many places in vos/vsprocs have code to delete a volume. Commit - f4e73067cdef990262c69c38ac98761620a63f25 tried to refactor them by - consolidating the common "delete" code into DoVolDelete. However, not - all of the removed code had exactly the same behavior, and some of - these variants were not handled by DoVolDelete. - - One such variation is that DoVolDelete always printed an error message - if the target volume did not exist. But for some call sites this - condition is not an error, and prior to the refactoring they did not - print such an error message. Commit - 1092cbe34fc8519826b3fa0565505b7bd81bc922 tried to correct this by - suppressing the error message if the target volume does not exist. - However, this means that all DoVolDelete calls do not print such an - error, where some should and some should not print an error. This - means that in some edge cases when we encounter an unexpected VNOVOL - error, we now skip printing the specific error we got and instead go - right to cleanup/recovery/exit. For a few other cases, we used to - print an error and continue (because it is a non-fatal error or a - warning), but now we print nothing when we encounter a VNOVOL error. - - Fix this by specifically printing an error for the VNOVOL error for - DoVolDelete call sites that used to print such an error. Do this for - all such sites except ones where we obviously print an error - immediately afterwards anyway. - - This is just a quick targeted fix. A future more robust fix should - involve altering DoVolDelete to handle all of the different behaviors - expected by its various callers. - - Change-Id: Ia79bce3d2fed4acd62d517064db5b6be77f6e987 - Reviewed-on: http://gerrit.openafs.org/9704 - Reviewed-by: Mark Vitale - Reviewed-by: Andrew Deason - Reviewed-by: Stephan Wiesand - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5c2a770e0ed02b2cae658a7cbf30e91105194a57 -Author: Jeffrey Altman -Date: Sat Mar 30 20:16:48 2013 -0400 - - Windows: FileSystemAttributes = FILE_READ_ONLY_VOLUME - - Instead of testing for Characteristics = FILE_READ_ONLY_DEVICE - which applies to the entire device, only return media protected - errors if the volume FileSystemAttributes include FILE_READ_ONLY_VOLUME. - - Change-Id: Ice716083c7f0ecb9e80d0ca9e3e143249293d28e - Reviewed-on: http://gerrit.openafs.org/9699 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9174531dca75f1f2d235ed806f784422792c3ab2 -Author: Jeffrey Altman -Date: Sat Mar 30 20:15:42 2013 -0400 - - Windows: RDR DeviceObject Characteristics - - Set both FILE_DEVICE_SECURE_OPEN and FILE_DEVICE_REMOTE when - creating Device Objects for the AFS Redirector. - - Change-Id: I336287817d913c612e2fe7cfbb4198900a846b0f - Reviewed-on: http://gerrit.openafs.org/9698 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8f04ab0b61d3b254d187b6c057c781ba9ebd7a0d -Author: Jeffrey Altman -Date: Sat Mar 30 19:58:12 2013 -0400 - - Windows: Move AFSVolume functions to new file - - In an effort to declutter AFSFcbSupport.cpp, move AFSVolume - functions to a new source file, AFSVolume.cpp. - - Change-Id: I663352d7bc4004c41bbab55fdf5bd8e36b373cf9 - Reviewed-on: http://gerrit.openafs.org/9697 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7cfbfc3d2c8157978d2faaf55ce88c9ada88ffac -Author: Jeffrey Altman -Date: Sat Mar 30 19:54:11 2013 -0400 - - Windows: Move Name Array functions to new file - - In an effort to reduce some of the clutter in AFSGeneric.cpp, - move the Name Array functions to AFSNameArray.cpp. - - Change-Id: I97c9c5c67229851cbe937a603a93a2db97d6c12c - Reviewed-on: http://gerrit.openafs.org/9696 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 199cfb4a885b98b583f538ed14dff7ec5c9f9990 -Author: Andrew Deason -Date: Tue Mar 26 17:50:31 2013 -0500 - - volser: Make VolListOneVolume errors consistent - - Currently, VolXListOneVolume errors out with ENODEV if any attachment - error occurs with the specified volume. But VolListOneVolume always - returns success if it can find the indicated volume, and any - attachment errors and such are reported in the 'status' field of the - volume info structure. - - These two functions do pretty much the same thing; VolXListOneVolume - just provides more info than VolListOneVolume. So make them behave the - same way, and provide more specific information, whether or not - somebody ran 'vos examine' or 'vos examine -extended'. - - The 'vos' binary has always handled errors in the 'status' volume info - structure for both "extended" and non-"extended" queries. This - difference appears to just have been a mistake from OpenAFS 1.0. - - Change-Id: Iab16ef6a25487d492fdb046db93973a1e64ca70a - Reviewed-on: http://gerrit.openafs.org/9680 - Tested-by: BuildBot - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - -commit 71afa42cdd9107b071fb79f0adaf96c5fcf145da -Author: Andrew Deason -Date: Tue Mar 26 17:26:23 2013 -0500 - - volser: Restore Vol*ListOneVolume error handling - - In the 1.4 series, the volserver VolListOneVolume function always - returned success if the specified volume was found in any way, and - ENODEV otherwise. The VolXListOneVolume returned ENODEV if the volume - was not found, or if any error occurred. - - DAFS (specifically, commit ed25934c1fe96b143715025b49104e75dce9a361) - changed these so they both behave the same way. That is, they both - return success if the volume was found at all, and ENODEV otherwise. - - Commit 53cc2ebaea5e5488d5285f0d13ffa47069ee986f changed both of these - functions so that we always return an error on any attachment error. - - These changes mean that a 'vos examine' for a volume with an existing - volume transaction now indicates that a volume is offline/unattached, - but in the 1.4 series, the volume was indicated as "busy". - - So, restore the original 1.4 behavior of these functions, so the - volume status is reported as it always was. This effectively reverts - 53cc2ebaea5e5488d5285f0d13ffa47069ee986f, and slightly changes the - post-DAFS code to look more like the 1.4 code. This also removes the - 'code' variable from VolListOneVolume and adds an explicit comment - about what's going on, to make this a little more clear. - - While changing the behavior of VolXListOneVolume to match that of - VolListOneVolume perhaps makes sense, for now just restore the exact - 1.4 behavior, and make the function flow look a little more like the - 1.4 code did. A future change may make them the same again. - - Reported by Andy Malato. - - Change-Id: I0e109ad97a1b1bd9b3b25677eb9744a4f7bd5412 - Reviewed-on: http://gerrit.openafs.org/9679 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bc1b79d030eb9e2b9076edb90cce7807dae5d949 -Author: Jeffrey Altman -Date: Thu Mar 28 12:06:34 2013 -0400 - - Windows: AFSDeleteObjectInfo InterlockedCompareExchangePointer - - Correct the third parameter passed to InterlockedCompareExchangePointer - in AFSDeleteObjectInfo() which prevented *ppObjectInfo from being set - to NULL. - - Change-Id: I4edc1d69114c02ffff8181b176a5f0bac82f6802 - Reviewed-on: http://gerrit.openafs.org/9689 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a8a6b8dd93082579d08282c65a6437d66fc5facc -Author: Jeffrey Altman -Date: Thu Mar 28 00:28:35 2013 -0400 - - Windows: additional AFS_SUBSYSTEM_OBJECT_REF_COUNTING - - Add missing cases of reference count value changes which were - not being logged. - - Change-Id: I8bc26f31f2725e2c324831bce3da0b68a7fb91d9 - Reviewed-on: http://gerrit.openafs.org/9690 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1e731198751f442ced3080280d757fb7997ae261 -Author: Arne Wiebalck -Date: Wed Feb 20 16:09:06 2013 +0100 - - packaging: remove largefile-fileserver option from spec file - - Remove the obsolete --enable-largefile-fileservers option from - the RedHat spec file. - - Change-Id: I8334c0bfc53125243f78c04a064e23c987a2a4fc - Reviewed-on: http://gerrit.openafs.org/9144 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f2e6a92f4435df8d6a632995b08f2b98bb65e0bc -Author: Jeffrey Altman -Date: Tue Mar 26 08:21:49 2013 -0400 - - Windows: add AFS_OBJECT_REFERENCE_FS_REQ - - Add a new object reference category AFS_OBJECT_REFERENCE_FS_REQ which - is used to avoid overloading AFS_OBJECT_REFERENCE_DIRENTRY. - - Change-Id: I428940005dd7b4502329d4171b7307282099af44 - Reviewed-on: http://gerrit.openafs.org/9668 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 50faf84b4b46b337cd576f4bcaceed423d63544b -Author: Jeffrey Altman -Date: Wed Mar 27 00:49:56 2013 -0400 - - Windows: cache readonly volume size information - - Cache the volume size information for .readonly volumes which can - be reset when the volume callback is broken. This reduces the number - of RXAFS_GetVolumeStatus RPC calls issues on .readonly volumes. - - Change-Id: Ie0e63ca9082a004da71098e28df1315d42d364ff - Reviewed-on: http://gerrit.openafs.org/9681 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b518ffc0da37d38f05fa1d35852500784caefba6 -Author: Jeffrey Altman -Date: Tue Mar 26 09:08:58 2013 -0400 - - Windows: btree enumeration bulk stats - - Each of the btree enumeration bulk stat operations include the - directory object in the bulk stat list. If the only object in the - list is the directory object, do not perform the bulk stat rpc as - it just wastes time. All of the required objects are already cached - with current callbacks. - - Change-Id: Ic0fac50f36bdca1e79f48ca308c373a2b3152675 - Reviewed-on: http://gerrit.openafs.org/9675 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7aa9eaecb6181ccf987b99f1be902c8bff69c384 -Author: Ben Kaduk -Date: Tue Mar 26 17:57:28 2013 -0400 - - Fix build with separate objdirs - - The conversion of pam/ to use libtool introduced references to - file names with LT_CCRULE that are not subject to make's vpath - searching. - - Sprinkle ${srcdir} accordingly to fix the build. - - Change-Id: Ia500fe2a57813fdd93ca1767e243fd947d6b8e1e - Reviewed-on: http://gerrit.openafs.org/9677 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3929282d2767bd35e54037e5477e917979c84be3 -Author: Andrew Deason -Date: Tue Mar 26 17:00:05 2013 -0500 - - volser: Indicate busy volume with VBUSY - - Commit 34fc86bcc749f3bd059831b7e5dae03dc09a9393 changed several uses - of VBUSY to VOLSERVOLBUSY in order to detect retriable operations. - However, one such change did not change an Rx abort code, but instead - was used for the 'status' field for a volintInfo or volintXInfo - structure. That is not really a general error code, but a field with a - few specific known values (at least, that is how existing clients - interpret it). - - Go back to using VBUSY, so clients indicate the volume as busy, - instead of as offline/unattached. - - Reported by Andy Malato. - - Change-Id: Ia569633d98266cb15c059e66150d8d7f91d20dca - Reviewed-on: http://gerrit.openafs.org/9678 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 95240a5a5030a1053ce9966b54037eda2d37140b -Author: Andrew Deason -Date: Tue Mar 26 13:27:33 2013 -0500 - - aklog: Only try to use krb5-weak.conf if it exists - - The logic we use for using krb5-weak.conf to allow 'weak crypto' - requires us to know where the default krb5.conf is. The default - krb5.conf local can vary significantly depending on the platform, and - we don't have a good way of figuring out what it is, so we guess. We - may guess wrong. - - To limit the cases where we guess wrong, only try to do this - workaround if the krb5-weak.conf file actually exists. - - Change-Id: Id3905268b5cc22dafb4dd539b9f3d323a656fee2 - Reviewed-on: http://gerrit.openafs.org/9667 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 6ad2cc0275cd1074316d6bc70cd8758d25f94467 -Author: Ben Kaduk -Date: Tue Mar 26 17:42:38 2013 -0400 - - Fix DARWIN build with clang - - In 1d8937b86050 we added a function call to kauth_cred_unref in the - DARWIN100 case (replacing a macro), but added the inclusion of - sys/kauth.h only when using versions older than DARWIN80. - On DARWIN100 and above, clang detects that the now-implicit function - declaration is in conflict with the actual prototype, which is included - later through afs/sysincludes.h when compiling the kernel rx code. - - Since including sys/kauth.h seems to have been harmless for old versions, - just include it always. - - Change-Id: I4b65f5405a3de918091f8c25440801d0ce9f90b8 - Reviewed-on: http://gerrit.openafs.org/9676 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cd1ffc1073d6f9a191e07cb72e8d0b4ec8cd6347 -Author: Andrew Deason -Date: Tue Mar 26 13:14:30 2013 -0500 - - aklog: Search for /etc/krb5/krb5.conf - - aklog tweaks the KRB5_CONFIG environment var when performing one of - our 'weak crypto' workarounds. We assume that the default krb5.conf is - /etc/krb5.conf, but for Solaris 11 libkrb5, krb5.conf is in - /etc/krb5/krb5.conf. Although this file could be anywhere, try - /etc/krb5/krb5.conf too, so we at least work on stock Solaris. - - Change-Id: I1f53b9b58549da04f2a27f1f579dd0084796e51d - Reviewed-on: http://gerrit.openafs.org/9666 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 42351db75e04e46012208d38f80dc17be7ab776d -Author: Mark Vitale -Date: Tue Mar 12 22:13:20 2013 -0400 - - dafs: prevent corruption in large fsstate.dat files - - If while writing to the fsstate.dat file, it exceeds the current - size of the file (multiples of FS_STATE_INIT_FILESIZE (8MiB)), - we call fs_stateResizeFile. This un-mmaps, truncates, and - re-mmaps the file. Unfortunately, fs_stateMapFile() resets the - state->mmap.offset and .cursor, so any writes in flight over - the resize will overwrite the first bytes of the file (and leave - zeros in the file where the data should have been written). - - Upon return from the write that caused a file resize, the offset - is eventually corrected and the state dump continues with a - silent failure. Eventually the state dump completes and the - file header is rewritten; this may conceal some or all of - the overwrite damage at offset 0. However, any zeros near the 8MiB - offset (and its multiples) remain as corruption. - - Add a flag to fs_stateMapFile() to allow the caller to specify if - the offset and cursor should be preserved. Modify fs_stateResizeFile() - to use this capability. - - testing note: temporarily reduced FS_STATE_INIT_FILESIZE to 256 bytes - during testing in order to make the problem easier to reproduce. - This problem would normally occur only on relatively large/active - DAFS fileservers. - - Change-Id: I9b6c57ef7727837ae7cfc00d02192983355dad2b - Reviewed-on: http://gerrit.openafs.org/9599 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e8faeae6dcae0e566de2b21d53d3f78f3cc44e3f -Author: Mark Vitale -Date: Fri Jan 25 18:47:49 2013 -0500 - - salvager: prevent assertion during -orphans attach - - Improve JudgeEntry() detection of orphaned directories to - prevent unintentional deletion of their '.' and '..' entries. - This in turn prevents a later assert (opr_Verify) when we try to - delete and re-add '..' in order to attach the orphan. - - In JudgeEntry(), 2 sources of information about a - directory entry are compared for consistency: - - vnodeEssence (unique) from its vnode index entry - - name, vnodeNumber and unique from its dir blob entry - - A directory entry may be ignored, deleted, or repaired/replaced, - based upon the results of these and other tests (e.g. dirOprhaned). - - The '.' and '..' entries are treated as special cases because - we do not want to delete them at this point if this directory - is orphaned. However, the current test for orphanhood - (vnodeEssence->unique == 0) is not sufficient; it could be - zero for other reasons. This commit now uses the dirOrphaned - flag to test for this. - - However, we are still interested in doing the right thing - for '.' and '..' entries with vnodeEssence->unique == 0. - This may indicate that the dir blob entry is pointing at the - wrong vnode, and that vnode has unique==0. The current code - incorrectly ignores (returns 0) this case. This commit now - now falls through to the repair/replace code so that we can - find the correct vnode for this entry. - - The current code assumes that the 'vnodeEssence == 0 && - !dirOrphaned' case doesn't exist. - - Thanks to Andrew Deason for his assistance. - - Change-Id: Id7c466fcc0f031b8fccb52dc51493eeed040cf95 - Reviewed-on: http://gerrit.openafs.org/9104 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e93360ecc79822dd8149990a6eb5f3235b7cca1f -Author: Ben Kaduk -Date: Wed Mar 13 13:27:32 2013 -0400 - - Enable dvolser and tvolser for FreeBSD - - The top-level Makefile did not recurse into dvolser or tvolser for - FreeBSD. They compile just fine, so enable them. - - Change-Id: Id85e3a72f53b85e6b155b224268e2fe587fe3406 - Reviewed-on: http://gerrit.openafs.org/9598 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f36a72bf28c0e17080d96c4367aa858cc9c02716 -Author: Jeffrey Altman -Date: Tue Mar 19 16:14:18 2013 -0400 - - util: fix dirpath use of clntEtcDir on Windows - - When commit 9b0a7f5d13115fe5760db16587fe81dd35a5a0ef added the variable - 'clntEtcDir' it failed to assign it a value on Windows. - - Change-Id: I02cfb994a28e3e1032741d1b2710acb5d40d9bfd - Reviewed-on: http://gerrit.openafs.org/9635 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit dd903ce729c24c9d1ed78b227a261b2549482461 -Author: Jeffrey Altman -Date: Thu Mar 14 23:27:25 2013 -0400 - - vol: remove duplicate stmp declaration - - Patchset 38cf31463e3f3c675de727c1e793e117a90e6d20 added a definition of - afs_ino_str_t stmp which should have replaced the b64_string_t stmp - declaration that was already present. - - Thanks to Jason Madar for noticing. - - FIXES 131620 - - Change-Id: I780efd55dea33f1f7893b68285c841e80660b3f3 - Reviewed-on: http://gerrit.openafs.org/9608 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5123deebdcbf634151b236bf7ff7ac7ca099b11e -Author: Stephan Wiesand -Date: Thu Mar 14 10:35:30 2013 +0100 - - Update NEWS for 1.6.2.1 - - Change-Id: I2c08474cc6034d40cef0d77d94c070bcdd8d4563 - Reviewed-on: http://gerrit.openafs.org/9602 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - Reviewed-by: Jeffrey Altman - Reviewed-by: Paul Smeddle - Reviewed-by: Derrick Brashear - -commit b74728590ce14f9b6c3235f0b51f8865caa9427d -Author: Stephan Wiesand -Date: Thu Mar 14 10:16:30 2013 +0100 - - Make NEWS match the 1.6.2 Release Notes - - Change-Id: Ic98bbb37e2f81e36724e69af348c06a2c6b8b5c3 - Reviewed-on: http://gerrit.openafs.org/9601 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - Reviewed-by: Stephan Wiesand - Reviewed-by: Derrick Brashear - -commit 35b248b06ac82fd911b3901e2afb0507fb866d1c -Author: Jeffrey Altman -Date: Fri Mar 22 21:14:48 2013 -0400 - - Windows: Create Symlinks in Volume Roots - - Permit the CreateSymbolicLink API to create symlinks in volume - root directories. - - Change-Id: I779f127f9a7e4ddfee41fe7a9398f20175843be0 - Reviewed-on: http://gerrit.openafs.org/9656 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0b018b9dec68f07537e76f7fe9f7441f7e1e7b9d -Author: Jeffrey Altman -Date: Fri Mar 22 16:10:54 2013 -0400 - - Windows: Robocopy Symlinks - - This patchset enables AFS Symlinks and DFSlinks to be copied to - a local NTFS disk using robocopy's /SL option. - - Separate print names and substitute names are now provided permitting - the reparse data copied from AFS to be applied to a local disk object - for recreation. - - Change-Id: I7bab4e8352a069a14b9ac4b3b2e22819f3de7a23 - Reviewed-on: http://gerrit.openafs.org/9655 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a0b015ecb214f9d655b28b895093dbb09fd8f001 -Author: Jeffrey Altman -Date: Thu Mar 21 07:57:34 2013 -0400 - - Windows: NPAddConnection no local name and connected - - The WN_ALREADY_CONNECTED error is only to be returned if a local - device name (aka drive letter) is provided in the request. Otherwise, - the proper return status is WN_SUCCESS if an unnamed connection is - requested. - - Change-Id: I1e1ca47a84e353db66e2830ec11f968a3578c4f6 - Reviewed-on: http://gerrit.openafs.org/9642 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f7cf559480c04989c7c46126f2036fe78f301705 -Author: Jeffrey Altman -Date: Wed Mar 20 16:23:59 2013 -0400 - - Windows: NPCancelConnection without drive letter - - When canceling a network connection to a UNC path, do not match - connections that have drive letters assigned. Only cancel the connection - if there it matches the UNC path and has no local name. - - Change-Id: I2c27c6d08cec65406f7e7f9eb61cd6d6c7be1f5c - Reviewed-on: http://gerrit.openafs.org/9640 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ef5ea5120ea0af85d73fa7588dd0efc947a174d9 -Author: Jeffrey Altman -Date: Fri Mar 22 00:54:36 2013 -0400 - - Windows: AFSDeleteObjectInfo InterlockedExchange - - Use InterlockedExchangePointer to disconnect the ObjectInformationCB - pointer from the caller. This ensures that only one thread can - successfully call AFSDeleteObjectInfo on the same object at a time. - - Change-Id: Ie70f52fc443f88c3cb4be41f12caa91466d92905 - Reviewed-on: http://gerrit.openafs.org/9644 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ed1b562b8174028502099bd224e7e73740a89362 -Author: Jeffrey Altman -Date: Thu Mar 21 19:34:25 2013 -0400 - - Windows: FSCTL_SET_REPARSE_POINT NULL ptr dereference - - Avoid a potential NULL pointer dereference if the ParentObjectInfo - object cannot be found. If the Btree lookup fails, do not call - AFSCreateSymlink() and do not decrement the ObjectInfo refcount. - Doing so will result in a BSOD. - - Change-Id: Ibd3e4ebb343f6c3cff8bf1cb160e42938d0f906c - Reviewed-on: http://gerrit.openafs.org/9643 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8ce8ff9cbf66ad78a9b9dc5871a4bc4f3f9ee15d -Author: Jeffrey Altman -Date: Thu Mar 21 06:28:25 2013 -0400 - - Windows: Remove Driver Verifier warning of memory leak - - Work items are now queued in an AFSRedir.sys data structure - and are not freed when AFSRedirLib.sys is unloaded. Therefore, - do allocate the memory with AFSLibExAllocatePoolWithTag(). - The allocation by AFSLibExAllocatePoolWithTag results in a false - Driver Verifier warning of a memory leak on unload. - - Change-Id: I268c4b6d20090e88114456a24b7648eef59f6289 - Reviewed-on: http://gerrit.openafs.org/9641 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3a31f5d90c490a23b3f59f50aa9ced63b8cb98af -Author: Jeffrey Altman -Date: Wed Mar 20 10:10:03 2013 -0400 - - Windows: buf_ClearRDRFlag and cm_directIO - - When 'cm_directIO' is true, there are no RDR held buffers therefore - there is nothing for buf_ClearRDRFlag() to do. Do not pass 'Go', - do not obtain cm_scache.rw exclusive nor buf_globalLock shared. - Simply return immediately. - - Change-Id: I4c6d1486e3a2bef987a3eb36d8de446e9009e0d2 - Reviewed-on: http://gerrit.openafs.org/9638 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d3c04329a396cc82a71321bb209b783a1524018e -Author: Jeffrey Altman -Date: Wed Mar 20 10:08:21 2013 -0400 - - Windows: buf_RDRBuffersExist and cm_directIO - - If 'cm_directIO' is true, then no RDR buffers exist. Return immediately, - do not pass 'Go', and do not lock and walk the buffer hash table. - - Change-Id: I9c6499d429d7591c8bd67ce3077ff4c4e7d6d62d - Reviewed-on: http://gerrit.openafs.org/9637 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cda4f6c3ff92a35e2ff8b2eb114729144fff165f -Author: Jeffrey Altman -Date: Wed Mar 20 10:04:41 2013 -0400 - - Windows: buf_CleanVnode avoid lock contention - - In the middle of the big loop do not obtain buf_globalLock unless - cm_buf.qFlags & CM_BUF_QREDIR is non-zero. buf_globalLock is heavily - contested and any reduction in contention is an improvement. - CM_BUF_QREDIR is never set when 'cm_directIO' is true (now the default) - so this is a huge win. - - Change-Id: I0b150bf77a0f1d748f94026d3b74bc7d90e7c3c6 - Reviewed-on: http://gerrit.openafs.org/9636 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f9dac53a75aff66696f78255ed08cc49c696d337 -Author: Jeffrey Altman -Date: Tue Mar 19 11:48:42 2013 -0400 - - windows: AFSQueryDirectoryQueryDirect no Symlinks - - When evaluating symlinks for directory enumerations, the response - must properly set the FILE_ATTRIBUTE_DIRECTORY flag based upon the - file attributes of the target. At the present time the target is - not evaluated by the service and AFSQueryDirectoryQueryDirect does - not have the correct context in which to evaluate the target. - - Instead of returning an incorrect result to the application, exit - AFSQueryDirectoryQueryDirect() returning STATUS_REPARSE_OBJECT which - is interpreted by AFSQueryDirectory() to perform a full directory - enumeration. - - Change-Id: Ic35dcff31f1098b9f40f3a37534b79439e0e3f1f - Reviewed-on: http://gerrit.openafs.org/9633 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 46a61f61c2432c53a787724e88925cb823fac012 -Author: Jeffrey Altman -Date: Mon Mar 18 22:43:09 2013 -0400 - - Windows: 1.7.23 Release Notes - - Add explanation of Win 7 Explorer Shell Read-Only Volume vs Network Drive - Letter Mapping bug. - - Change-Id: I7cf1300c9ec91cbbd347030d0bb9642c78607398 - Reviewed-on: http://gerrit.openafs.org/9634 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9cfd7f768ca350d3b750e89e7ddb186bdad6f726 -Author: Marc Dionne -Date: Tue Mar 5 20:54:50 2013 -0500 - - Linux 3.9: hlist iterator change - - hlist iterators have been reworked to not require a temporary - node parameter. - - Change-Id: Ibea1295163bd39ff2901a2194aa46c3d342f5128 - Reviewed-on: http://gerrit.openafs.org/9403 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit b5675b57f815722f8c37fcfed5a2bd7b1ef112d6 -Author: Jeffrey Altman -Date: Mon Mar 18 12:07:55 2013 -0400 - - Windows: Avoid cm_Analyze race on cm_serverRef lists - - cm_Analyze() accepted as a parameter a pointer to the first element - on a cm_serverRef list which is only ever used for VL operations. - - cm_Analyze() would separately call cm_GetVolServerList() to obtain - the cm_serverRef list for RXAFS operations. Then the variable 'serversp' - would be set to the first element of the list. - - 'serversp' was then used to refer to the list and would be passed to - cm_SetServerBusyStatus() and cm_ResetServerBusyStatus() which would - in turn obtain the cm_serverLock while it manipulated the cm_serverRef - status flags for the elements in the list. - - The problem is that passing a pointer to the first element of the - cm_serverRef list without holding cm_serverLock can permit the list - contents to be altered including removal of the first element. If the - race is lost and the memory associated with the first element is freed - before access, the afsd_service.exe will crash. - - This patchset makes a number of changes. First, the cm_serverRef_t - parameter is changed from a pointer to the first element of the list - to be a pointer to the HEAD pointer of the list. Since it is ever only - used for cm_cell.vlServerp lists, the parameter is renamed to - 'vlServerspp'. Second, a separate "cm_serverRef_t ** volServerspp" - variable is allocated for the return value from the cm_GetVolServerList() - operations. - - cm_SetServerBusyStatus() and cm_ResetServerBusyStatus() are altered to - accept a pointer to the HEAD of the list instead of a pointer to the first - element. The cm_serverLock is now held read instead of write because the - list itself is not being altered. All of the state changes being applied - to the cm_serverRef objects are atomic. - - Finally, cm_serverLock is held across all list traversals within - cm_Analyze(). A read lock is obtained if the elements of the list are not - being removed or inserted and a write lock is obtained if they are. - - Change-Id: I48464e90a828706dad442c019c75a717b06d690b - Reviewed-on: http://gerrit.openafs.org/9625 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 19dc2fac408bd619f67c2e7ee29b42c81c1150bc -Author: pete scott -Date: Wed Mar 13 07:54:00 2013 -0600 - - Windows: Replace AFSDbgMsgLog func with macro - - In order to reduce computation overhead when trace logging is not - active replace the AFSDbgMsgLog function call with a macro, - AFSDbgTrace. - - Change-Id: I7bccee0ddffcd8488f81fcebbb970aa15c8dc52e - Reviewed-on: http://gerrit.openafs.org/9621 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1437789abaf86a6448d7a2d8dc197876ab2a9ea6 -Author: Jeffrey Altman -Date: Sun Mar 17 08:43:39 2013 -0400 - - Windows: Test AFS_DBG_FLAG_BREAK_ON_ENTRY earlier - - During AFSRedir.sys initialization, check the AFS_DBG_FLAG_BREAK_ON_ENTRY - registry flag before initializing the trace log system. - - Change-Id: I928fab78b40dce51d2c0686bce68eb76f941b214 - Reviewed-on: http://gerrit.openafs.org/9622 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f493a652b28e5e5606e0ec6741b884545b5d1902 -Author: Jeffrey Altman -Date: Fri Mar 15 11:40:29 2013 -0400 - - Windows: Increase AFS DeviceObject StackSize - - Increase the StackSize parameter of the DeviceObjects allocated - by the AFS Redirector framework. The StackSize parameter is used - to notify callers how many Irp Stack frames will be consumed. Now - that the redirector is using IoCompletion routines, an additional - stack frame is required to handle calls to the AFS Redirector library - driver. - - Thanks to Peter Scott for identifying the solution. - - FIXES 131618 - - Change-Id: Ib66f884911f0d425e6e07f338a36b3ebedeb8871 - Reviewed-on: http://gerrit.openafs.org/9609 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 830744ff437a27b00044e7e94f3824b0db969c0b -Author: Jeffrey Altman -Date: Sat Mar 16 01:18:14 2013 -0400 - - Windows: File Attribute Reporting Consistency - - Do a better job of consistently reporting file attribute information - via directory queries and file information queries. Avoid computing file - attribute information for file information queries that do not return them - (e.g., Name Information) because computing it is expensive. - - Change-Id: I5c8120698261f555edfa98e92230705b593aca36 - Reviewed-on: http://gerrit.openafs.org/9613 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 170bbbdb93df64d3657026e13aba26c40d93f51d -Author: Jeffrey Altman -Date: Sat Mar 16 01:15:01 2013 -0400 - - Windows: netbios name comparisons are case insensitive - - When parsing the symlink target string to categorize it as AFS Symlink - or DFS Link, the comparison with the netbios name string must be case - insensitive. Otherwise, symlinks are reported to the redirector as - DFS Links. For the most part they will work since the AFS redirector - requesting MUP to Reparse the \\AFS path will call back into the AFS - redirector. However, the attributes on symlinks to files will be wrong - as DFS Links can only be links to directories. - - Change-Id: Ia9652991549b0783f7a534b071ff99ceabdd3382 - Reviewed-on: http://gerrit.openafs.org/9612 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a8599a126513548bac790a2cbe4cbd1153312ef5 -Author: Jeffrey Altman -Date: Sat Mar 16 01:13:01 2013 -0400 - - Windows: add RDR_ExtAttributes - - Add RDR_ExtAttributes to compute the file attributes for redirector - queries. The attributes reported via the RDR interface need to be - different from the SMB interface because the SMB interface does not - support reparse points nor does it support DFSLinks. - - Change-Id: I5d5172f5afc1d50e2622e2068e20447cd1098fbb - Reviewed-on: http://gerrit.openafs.org/9611 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e5966117c4f0db631e0e25fc27f63e4caa76fa23 -Author: Jeffrey Altman -Date: Fri Mar 15 13:07:21 2013 -0400 - - Windows: drive mapping enumeration infinite loop - - If WNetEnumResource returns an error as opposed to success, such as - ERROR_UNEXP_NET_ERR, the enumeration loop would retry forever passing - zero for 'cEntries' which in turn results in a successful response - containing zero entries. - - Change the while conditional to test for continued success instead - of ERROR_NO_MORE_ENTRIES. - - Change-Id: I93af73b379aa455de7a8b3264b5178d482bb52b0 - Reviewed-on: http://gerrit.openafs.org/9610 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 086b47404f7c79acd95fea04684a6af6fb09df1a -Author: Jeffrey Altman -Date: Thu Mar 14 19:40:14 2013 -0400 - - Windows: remove last bits of BIOD from Direct Store - - Direct I/O Store operations are performed directly against a memory - buffer stored in the background direct store rock structure. There is no - BIOD used in the current implementation. Remove the BIOD from the call - stack. - - Change-Id: I78d7b898a6eec5eb39c943e760a678913b42bf0d - Reviewed-on: http://gerrit.openafs.org/9607 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit adb6add99a6cd1c22a4a11f531e6e94e66c45d9b -Author: Jeffrey Altman -Date: Thu Mar 14 13:05:28 2013 -0400 - - Windows: VolumeInfoReadOnlyFlag registry option - - Windows 7 Explorer Shell has a bug when processing drive letters - mapped to UNC paths whose target volume information specifies the - FILE_READ_ONLY_VOLUME flag. When set, not only is the .readonly - volume treated as read only but all volumes that can be accessed via the - drive letter. This bug is fixed in Windows 8. - - Add a registry configuration option to permit configuration of the - behavior. Sites that do not use drive letter mappings will want to - enable it even on Windows 7 because it permits the Explorer Shell - to disable the "Delete" and "Rename" options and others when the current - directory is read only. - - The default is disabled on Win7 and below; enabled on Win8 and above. - - Change-Id: I73bbaf7d40918650b1a217ed44409c0679920536 - Reviewed-on: http://gerrit.openafs.org/9606 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ec5fd2ce07d2e8adfa5c34d978bc786f36dac044 -Author: Jeffrey Altman -Date: Thu Mar 14 12:30:36 2013 -0400 - - Windows: Protect against DirEntry with NULL ObjInfo - - During cleanup protect AFSExamineObjectInfo() and AFSExamineDirectory() - from DirectoryCB objects that have a NULL ObjectInformation pointer. - - Change-Id: Id46f6b53ec4861f5ac2d28b918d073201d2433ce - Reviewed-on: http://gerrit.openafs.org/9603 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1092cbe34fc8519826b3fa0565505b7bd81bc922 -Author: Mark Vitale -Date: Thu Mar 7 09:34:55 2013 -0500 - - vos: noise messages when attempting to delete non-existent volume - - With vos refactor commit f4e73067cdef990262c69c38ac98761620a63f25, - some formerly conditional volume deletes are now unconditional. - This regresses 'vos move' output with harmless "error" messages - when AFSVolTransCreate() returns VNOVOL: - "Failed to start transaction on " - "Volume not attached, does not exist, or not online" - - Modify DoVolDelete() to return early (and silently) with VNOVOL - in this case, allowing the caller to handle this appropriately. - - Change-Id: I21a72e38f330335adf97ac50a7ac7d0fb97c1a9c - Reviewed-on: http://gerrit.openafs.org/9596 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit bb42c02ce56aec29e3860bec47e47157d0406f20 -Author: Antoine Verheijen -Date: Mon Jan 21 02:30:58 2013 -0700 - - OpenBSD: Replace "vnodeop_desc" with "vops" in kernel module. - - In OpenBSD 4.9, the vnode operations vector in the "vnode" struct - was changed from using a "vnodeop_desc" struct to a new "vops" - struct. This patch makes the appropriate changes to the OpenBSD - kernel module support to accommodate the change. - - Change-Id: Ib47259e1213e29658a691ce3a53d7ac88e8d746b - Reviewed-on: http://gerrit.openafs.org/8928 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit fd06af146d3f1953e87478cb4196362f1e15c094 -Author: Jeffrey Altman -Date: Tue Mar 12 10:59:44 2013 -0400 - - Windows: ReleaseNotes updates - - explicitly list WinRT as unsupported. - - Mention KFW 4.0. - - Update Reparse Point text. - - Update JPSoftware Take Command references. - - Update UNC path processing text. Reference PowerShell 3.0 and Cygwin. - - Change-Id: Ib3d4d33173cf4808792c92737eb88a909d7d176b - Reviewed-on: http://gerrit.openafs.org/9589 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4811f432ba51b53be4edf8288eaa61613e6b787c -Author: Jeffrey Altman -Date: Tue Mar 12 00:38:05 2013 -0400 - - Windows: avoid null cellp dereference during dump - - When performing a memory dump if cm_ucell_t.cellp is NULL, do - not attempt to print the cell name. - - Change-Id: I146b90b5424b93d0c52a758b33fcff1bcf441e77 - Reviewed-on: http://gerrit.openafs.org/9582 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3e4daf06a6e18d1a151b7de0b76b1a1698bdc814 -Author: Jeffrey Altman -Date: Thu Dec 6 23:28:56 2012 -0500 - - Revert "Windows: Treat all cached writes as write-through" - - This reverts commit 5130681fa2d4a35d3f0b578d92c5db1892fdfb18. - - Change-Id: If33a6e1f6969628eaa74d5a56f2eec5560d827f4 - Reviewed-on: http://gerrit.openafs.org/9572 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit eecf7a1372f8fcb01d73b628850b488414d9ca3a -Author: Jeffrey Altman -Date: Mon Mar 11 00:43:26 2013 -0400 - - Windows: Enforce free space checks every 1MB - - Instead of performing a free space (or quota) check on every extending - write, perform the check only when the file length is increased beyond - the next 1MB boundary. The file server permits 1MB quota over runs - and issuing the volume status rpc to the file server is extremely - expensive. Especially for append only applications that write just a few - bytes at a time. - - Change-Id: I74ff17ba5a95adb41350add24bc09a74c950a4fb - Reviewed-on: http://gerrit.openafs.org/9555 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 8b76110e23160e33716234f9560d22ca5275cb0a -Author: Simon Wilkinson -Date: Fri Mar 8 16:15:51 2013 +0000 - - bos: Remove theoretical overflow in DateOf - - DateOf copies the results of ctime into a static buffer. Typically - ctime will return a 26 byte string, but if you pass it a year larger - than 9999 (which we shouldn't), you can get a 32 (or more) byte string. - - Get rid of this unlikely event by using strlcpy for the copy. We already - truncate at 24 bytes when we remove the \n, so this shouldn't cause any - further problems. - - Really, this whole thing should be rewritten to use strftime. - - Caught by coverity (#985776) - - Change-Id: I18f6828d6ec3d79ecaf1dad8e27d3e8691ce87d5 - Reviewed-on: http://gerrit.openafs.org/9551 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 4e9c6eb9d5192888d79a07042c9cb6029def9726 -Author: Simon Wilkinson -Date: Fri Mar 8 13:02:26 2013 +0000 - - bos: Don't overflow buffer with key data - - When parsing key data from the command line, don't overflow the - buffer used to hold it - instead just give an error if the data - is too long. - - Caught by coverity (#985775) - - Change-Id: I44fb62d30c5022e650475b3ca51a28bcb7cf1e06 - Reviewed-on: http://gerrit.openafs.org/9550 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 45993e3ad55358c3e94105e2e3aa13df43f5fdd3 -Author: Simon Wilkinson -Date: Fri Mar 8 13:01:28 2013 +0000 - - bos: Don't overflow cellname buffer - - Don't overflow the fixed sized cellname buffer when copying the - information in from the command line - instead, just use a - dynamically allocated buffer. - - Caught by coverity (#985775) - - Change-Id: If87b1ba9bcb990d3145a89627e212144cd78f5a0 - Reviewed-on: http://gerrit.openafs.org/9549 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 21166744bf15f13bc04c25d68a28fe803a960b0a -Author: Simon Wilkinson -Date: Mon Mar 4 16:34:20 2013 +0000 - - butc: Init volheader before using it for hton - - When converting a volume header from host to network order, make - sure that any unused fields in the structure are zero'd, so we don't - end up filling them with stack garbage in the network version of - the structure. - - Caught by coverity (#985956) - - Change-Id: I3e039ffcb102a97afeb0e2223de12523f53b0a67 - Reviewed-on: http://gerrit.openafs.org/9548 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit cfeda375fd4155a2f8a01717e8733be937fa7a48 -Author: Simon Wilkinson -Date: Mon Mar 4 16:31:50 2013 +0000 - - bucoord: restore requires server and partition - - The VolRestoreCmd sub command requires that the user specifies - the server and partition - calls which don't do so won't get past - libcmd. Don't check again in the handler that they have been supplied, - as it confuses things. - - Caught by coverity (#985953) - - Change-Id: Id4548c117b677bd2048744ade8fd91bb15e0e35e - Reviewed-on: http://gerrit.openafs.org/9547 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit d672d5ee78d7673f3c42a7a343989b2bd4dca02b -Author: Simon Wilkinson -Date: Mon Mar 4 16:22:08 2013 +0000 - - upserver: Don't overflow file and hostname buffers - - If the user specifies a ridiculously long command line, don't - overflow the filename or hostname buffers with what they supply. - - Caught by coverity (#985911) - - Change-Id: Ia73f9fb94491f5691358eec1d13dbdd2651a604c - Reviewed-on: http://gerrit.openafs.org/9546 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ceac74a6baad79155adaa692639b1d9f403525b6 -Author: Derrick Brashear -Date: Thu Mar 7 06:53:16 2013 -0500 - - afscp: null-terminate root.cell dir if needed in dynroot mode - - instead of doing a check for something which will never be true, - and then terminating, just terminate if it's not already - null-terminated. - - Change-Id: I8ad18800de22c8d10eb27fbcb2fffb2b3a5a9127 - Reviewed-on: http://gerrit.openafs.org/9439 - Tested-by: BuildBot - Reviewed-by: Chaskiel Grundman - Reviewed-by: Derrick Brashear - -commit 2998ab45353e631a348d1dded9ff21b8438628a0 -Author: Jeffrey Altman -Date: Fri Mar 8 01:41:22 2013 -0500 - - Windows: Use Microsoft IO_REPARSE_TAG_SYMLINK tag - - For symlinks and DFS Links use Microsoft's NTFS Symlink tag, - IO_REPARSE_TAG_SYMLINK, instead of the OpenAFS assigned tag. - - The DeleteFile() and RemoveDirectory() Win32 APIs do not delete - non-Microsoft reparse points and instead delete the target object. - While it is possible for Take Command and potentially Cygwin to - alter their behavior with AFS specific knowlege, it is not possible - to alter the Explorer Shell, cmd.exe and powershell. - - Using the Microsoft tag is a violation of Microsoft policy. - - Change-Id: I90a419fe21637bb871d08528463d1178078a9947 - Reviewed-on: http://gerrit.openafs.org/9497 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 241382e3bf588269b5115fea1be0f782de43ca2a -Author: Jeffrey Altman -Date: Thu Mar 7 00:54:32 2013 -0500 - - Windows: GetReparseData UNC path format - - When specifying UNC paths for Symlink and UNCLink targets output - the paths using true UNC notation "\\server\..." instead of "\server\...". - - Change-Id: I51ecc6578fb0a984a5ad44b1bf1e40556e737465 - Reviewed-on: http://gerrit.openafs.org/9426 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 470b57cc4a60d18aaab41a58b6a93f8baa3caead -Author: Jeffrey Altman -Date: Thu Mar 7 09:25:09 2013 -0500 - - Windows: cm_BPlusDirEnumBulkStatNext index error - - In cm_BPlusDirEnumBulkStatNext the 'next' variable was being set - even if the FileId was not added to the list of objects added to - the cm_bulkStat array. Delay the assignment to ensure that 'next' - refers to the first element in the array. - - In the CM_ERROR_BULKSTAT_FAILURE processing, 'next' is used to - obtain a reference to the cm_scache object that is supposed to - correlate to the [1] entry in the array. If 'next' == -1, there - is no such entry. Add a conditional to ensure that 'next' is not - used when its value is -1. - - Change-Id: I4ebc49de4bf67eee5a28790cd49f0128891cc202 - Reviewed-on: http://gerrit.openafs.org/9450 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ee79fb61f5a0c996b76a37392b58be01bc8cf19e -Author: Jeffrey Altman -Date: Thu Mar 7 00:59:01 2013 -0500 - - Windows: PopulateCurrentEntry Symlink Targets - - Handle a broader range of symlink target formats and be more - precise regarding what is an afs symlink or a dfs link. - - Change-Id: Ia37c1adf5d64ba44fffca976885a455e6900a047 - Reviewed-on: http://gerrit.openafs.org/9428 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit abbee864c48fb2e439c4141130ada184fad23db5 -Author: Jeffrey Altman -Date: Thu Mar 7 00:56:15 2013 -0500 - - Windows: Claim success for Delete Reparse Tag - - The typical pattern for deleting a reparse point is - - 1. open reparse point object - 2. delete reparse tag - 3. set delete on close - 4. close handle - - Claim success when we receive delete reparse tag fsctl so that - the delete on close disposition can be set. - - Change-Id: I8f4212dd6ba04be95455eaa210e632ca59cfa7c8 - Reviewed-on: http://gerrit.openafs.org/9427 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d64cd65a23996a7bb79cfecfdc0383de72601497 -Author: Jeffrey Altman -Date: Mon Mar 11 00:03:38 2013 -0400 - - Windows: Report actual volume creation time - - The cm_scache.volumeCreationDate is populated by any non-bulkstat - callback issuing operation. If it is not set at the time the - redirector requests volume information, force an RXAFS_FetchStatus - and then use the resulting timestamp in the response. - - Change-Id: I8ab471767dd6525efc71deff073d54ae38f1f462 - Reviewed-on: http://gerrit.openafs.org/9554 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 002d97363f01e0099519c35fc2f5a2af4305267e -Author: Jeffrey Altman -Date: Sun Mar 10 10:51:47 2013 -0400 - - Windows: RDR_UpdateFile dscp != scp - - Do not set bScpLocked when obtaining scp->rw as scp != dscp. - - Change-Id: I878166cd510a188a0e56cc92660e74b9625c3ab6 - Reviewed-on: http://gerrit.openafs.org/9553 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 75ee4fb1afce75316fd05b013b36a24f218118dc -Author: Jeffrey Altman -Date: Wed Mar 6 09:53:41 2013 -0500 - - Windows: Service processing for Symlink creation - - Initial support for symlink creation via the Win32 CreateSymbolicLink api. - Add support for AFS_REQUEST_TYPE_CREATE_SYMLINK redirector requests via - the new RDR_CreateSymlinkEntry() function. - - Since CreateSymbolicLink api creates a new directory or file object and - then assigns the Microsoft reparse tag data to that object, - RDR_CreateSymlinkEntry must first delete the empty directory or file and - then create the new symlink object in its place. If the empty object can - be removed but the symlink cannot be created, STATUS_FILE_DELETED is - returned to indicate to the redirector that a failure occurred that - changed the state of the directory without creating a new object. - - If the empty object cannot be removed, a STATUS_ACCESS_DENIED error will - be returned and the empty object will unfortunately remain in the AFS - directory. - - Target path translation is performed. Absolute AFS paths are stored in - UNIX notation. Absolute non-AFS UNC and device paths are prefaced with - "msdfs:". - - Change-Id: If8b4729dd5fffddc71221750852b8be731c83cab - Reviewed-on: http://gerrit.openafs.org/9425 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1c582768df98494775caf197da23612d59425509 -Author: Simon Wilkinson -Date: Sun Mar 3 17:47:49 2013 +0000 - - auth: Don't overflow lower case cell string - - When building tcell_l in kerberosSuperUser, make sure that we - don't overflow the string that we're constructing. - - Use the opr_lcstring function to do the lower case conversion, - rather than rolling our own. - - Caught by coverity (#985772) - - Change-Id: I6e28cfc54883aac7e3a3eb2f4e2b2bf7ebc0bc63 - Reviewed-on: http://gerrit.openafs.org/9544 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit cc95fca8e16f83d7dda3f09a5133dc9294299d61 -Author: Simon Wilkinson -Date: Sat Mar 2 13:01:14 2013 +0000 - - auth: Don't overflow buffer in CompFindUser - - The fullname buffer in CompFindUser is theoretically big enough - to take the data usually supplied to it. However, play it safe by - using strlcat and strlcpy to catch buffer overflows. - - Caught by coverity (#985771) - - Change-Id: Icc80d012b61ae90e1a62a814f7a6d552bb264294 - Reviewed-on: http://gerrit.openafs.org/9543 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 8c664a8c0f25e472bd3ba30f31fbbf707fa4e873 -Author: Simon Wilkinson -Date: Sat Mar 2 12:55:18 2013 +0000 - - auth: Catch long cells in backwards compat code - - ktc_SetTokenEx can fall back to calling the SetToken pioctl when - the kernel module doesn't support the newer call. When we do this, - we have to transform the token structure into the older format. - - Catch tokens whose cells are too long to be represented in the - older format, and bail with KTC_INVAL, rather than overflowing the - array. - - Caught by coverity (#985770) - - Change-Id: Ibaa1cc92c494cc6f4e56ebe7b16109d4558db131 - Reviewed-on: http://gerrit.openafs.org/9449 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b0b3def56c15161df28059e270f0360c31241217 -Author: Simon Wilkinson -Date: Sat Mar 2 12:38:49 2013 +0000 - - audit: Fix overflow in file backend - - If the filename passed to open_file was larger than MAXPATHLEN-5, - then we'd overflow the oldName buffer when creating the backup - filename. Fix the overflow by using a malloc'd buffer instead. - - Caught by coverity (#985767) - - Change-Id: Ie364aae0749b3658ab11a354844878d10c6970ab - Reviewed-on: http://gerrit.openafs.org/9448 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 249a5934605106f9025643321eb8e24f113fdd2a -Author: Jeffrey Altman -Date: Sun Mar 10 10:49:42 2013 -0400 - - Windows: IsSpaceAvail lock order violation - - cm_IsSpaceAvailable() obtains the cm_scache.rw lock of the volume - root directory. Therefore it is a lock order violation to call the - function while any other cm_scache.rw lock is held belonging to an - object in the same volume. vnode 1 is always less than any other - vnode value. - - Change-Id: Id34591b6ccec8d7e8e0fe48e3357c991cd99acfb - Reviewed-on: http://gerrit.openafs.org/9552 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f6180b9da6d2e89c9b8bbe62dc49f02f9ab6829a -Author: Jeffrey Altman -Date: Sat Mar 9 15:43:14 2013 -0500 - - Windows: Fix directory to service null mask lookups - - The direct to service for non-wildcard lookups, commit - b7ba97ad537bd0e9a241f052ddd1c3a50c74745b, introduced a bug when the search - mask is left unspecified. Do not set bNonWildcardMatch to TRUE - when the mask is NULL. - - Change-Id: I6c4846b443acc7e5e42d4e83e75ef383fc400db9 - Reviewed-on: http://gerrit.openafs.org/9542 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 816834cc03317bdda7f9fad0afdd838aa3cea52a -Author: Jeffrey Altman -Date: Thu Mar 7 22:05:20 2013 -0500 - - Windows: Permit deletion of reparse points - - AFSSetDispositionInfo did not set the AFS_DIR_ENTRY_PENDING_DELETE - flag if the DirectoryCB type was mountpoint, symlink, dfslink or invalid. - This patchset permits the flag to be set so reparse point objects can be - deleted without using the AFS "symlink.exe remove" command. - - Change-Id: I03e1cb7b08989950a4307e59073e5fb712d1a901 - Reviewed-on: http://gerrit.openafs.org/9475 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 540a73dc18bfacebc72dfac2e3c3d9f06c87e18f -Author: Jeffrey Altman -Date: Thu Mar 7 17:39:05 2013 -0500 - - Windows: AFSLocateNameEntry Backup Volume Change - - When AFSLocateNameEntry() calls AFSBackupEntry() in the name array it is - possible that the DirectoryCB returned belongs to a different VolumeCB. - If so, pCurrentVolume must be updated and reference counts must be - adjusted. - - Change-Id: I9fcd30374b20f2e1c214a019feeab55c30ce9666 - Reviewed-on: http://gerrit.openafs.org/9465 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit c9846c9e804299de41a298adf69c9c0666d8ec85 -Author: Jeffrey Altman -Date: Thu Mar 7 17:28:36 2013 -0500 - - Windows: AFSLocateNameEntry OutVolumeCB can be NULL - - It is possible for the AFSLocateNameEntry OutVolumeCB parameter - to be assigned a NULL value upon return. Handle it in the callers. - - Change-Id: I15e4581d4655dbaca7c4ca4b9e9af758e97c5c95 - Reviewed-on: http://gerrit.openafs.org/9464 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 0cc602a065f5df9959f735ff14e05a6798b9b0b9 -Author: pete scott -Date: Tue Mar 5 13:21:41 2013 -0700 - - Windows: RDR SymbolicLink create support - - Permit the redirector to handle Microsoft's IO_REPARSE_TAG_MOUNT_POINT - and IO_REPARSE_TAG_SYMLINK requests. The IO_REPARSE_TAG_SYMLINK request - is issued as a result of a CreateSymbolicLink Win32 API. - - Creating a symlink in Windows is not equivalent to the way a symlink is - created in AFS or UNIX. Instead of creating a symlink object whose data - string represents the target and mode bits indicate that the stream should - be treated as a link, on Windows it is a two step process. - - To create a symlink to a directory, create an empty directory and then - assign the reparse tag data to the directory object. To create a symlink - to anything else, create an empty file and assign the reparse tag data to - the file. Deleting a reparse point simply removes the reparse tag data - and not the underlying directory or file. - - The way this will work for AFS is that assigning reparse data to an - existing directory or file will require that the object be deleted from - the directory and a new symlink object be created in its place. This is - why upon successful completion of the upcall to the service the directory - object information has the AFS_OBJECT_FLAGS_DIRECTORY_ENUMERATED flag - cleared. - - This patchset permits symlink creation but does not do anything to support - symlink removal. - - Symlink target data is not validated. - - Change-Id: Ie7019445a7c307dcb2cd47beee47d02e1a82145f - Reviewed-on: http://gerrit.openafs.org/9424 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1b048f1f571eb02976a78a4dabafb3c677fbf9d0 -Author: Jeffrey Altman -Date: Tue Mar 5 07:52:37 2013 -0500 - - Windows: Avoid race during cm_FreeServerList - - cm_FreeServerList obtains cm_serverLock exclusively and in some - circumstances will call cm_FreeServer(). cm_FreeServer() will - drop the cm_serverLock if the cm_server_t.refCount is zero in order to - avoid a lock order violation when calling cm_GCConnections() since - cm_connLock is higher in the lock hierarchy. - - The call to cm_FreeServer is performed after the cm_serverRef_t - to be deleted is identified but before it is removed from the list. - There is the potential for two threads calling cm_FreeServerList() - to race and for more than one thread to attempt to delete the same - cm_serverRef_t twice. - - Fix this by: - - 1. maintain a private copy of the cm_server_t pointer, delete the - cm_serverRef_t and update the list pointers before calling cm_FreeServer(). - - 2. obtain and release a refcnt on the next cm_serverRef_t to ensure - that it is not deleted out from underneath the thread in case the - cm_serverLock is dropped. - - Change-Id: Ia7b6eed66e9ba306c07d47027262e1a8ad1e52ac - Reviewed-on: http://gerrit.openafs.org/9391 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f4373e7867abd50b3fe39716073811794fe62379 -Author: Simon Wilkinson -Date: Sat Mar 2 12:21:06 2013 +0000 - - aklog: Fix buffer overflows in next_path - - Use strlcpy and strlcat - - Caught by coverity (#985765) - - Change-Id: I2fc3d04a762f6872c31fe728e1ab0247ac16e6de - Reviewed-on: http://gerrit.openafs.org/9447 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2902ef93976fd4baa1a1ed07f4940c5979702856 -Author: Simon Wilkinson -Date: Sat Mar 2 12:15:22 2013 +0000 - - aklog: Protect against overflows from cmdline - - The cell, realm and path arrays are populated based on the user's - command line, and xlog_path is populated from their passwd map - entry. Protect against all of these overflowing, by making suitable - use of strlcpy and strlcat. - - Caught by coverity (#985764, #985904) - - Change-Id: Ia8f1816b010eb2b85b537e156de2b7983e4626ba - Reviewed-on: http://gerrit.openafs.org/9446 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 19d2683d711f95165adc16fac765bb4a31c99043 -Author: Simon Wilkinson -Date: Sat Mar 2 12:09:42 2013 +0000 - - aklog: Avoid overflows in get_afs_mountpoint - - When working with the fixed length cellname buffer, use - strlcat and strlcpy rather than strcat and strcpy. - - Caught by coverity (#985763) - - Change-Id: Idfb3a0562d4028f5d1aa134b7ab0b5fa2dd60edb - Reviewed-on: http://gerrit.openafs.org/9445 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 788a6b67a088e2565c3b47ecb6e594a7b15f2757 -Author: Simon Wilkinson -Date: Sat Mar 2 12:04:46 2013 +0000 - - aklog: Fix overflows in auth_to_path - - In the auth_to_path routine, don't use strcpy and strcat when - working with the fixed length pathtocheck buffer. Instead, use - strlcpy and strlcat to ensure that all string operations fit within - the buffer limits. - - Caught by coverity (#985762) - - Change-Id: I66ae11e1f49c66574d457fd79e97dd647ac98a73 - Reviewed-on: http://gerrit.openafs.org/9444 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 95cd5b1d950ecb820179e4279b8570d8ad6780f5 -Author: Simon Wilkinson -Date: Sat Mar 2 12:00:47 2013 +0000 - - afsmonitor: Fix theoretical overflow of handler string - - Don't do an unbounded copy into the thresh structure's handler - string, in case the caller has passed us a string which is too - long. - - Instead, switch to strlcpy for all string copies. - - Caught by coverity (#985761) - - Change-Id: I80e3d35d7a9a4b57e8efc0cb0c7b2dc12f021063 - Reviewed-on: http://gerrit.openafs.org/9443 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 98191d77617206c1923e73f2ce71ef2bd9c85161 -Author: Simon Wilkinson -Date: Thu Mar 7 22:28:12 2013 +0000 - - afsmonitor: Use roken - - Include the roken.h header, and remove the redundant system - includes from afsmonitor.c - - Change-Id: Ia3eb8a7a0bb1e77d928d26cdfc87f818e6791e16 - Reviewed-on: http://gerrit.openafs.org/9463 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fcb7974b838c2b37a8b81b88b11905c6ece398f6 -Author: Simon Wilkinson -Date: Sat Mar 2 10:27:47 2013 +0000 - - util: Avoid overflow in GetNameByINet - - We copy the results of gethostbyaddr into a fixed length buffer - without checking whether they fit. Add a length check, and use - strlcpy to do the copy to make sure we can't overflow. - - Caught by coverity (#985912, #985872) - - Change-Id: I1e8f0fbb2577199c25201940f54646a4acdbbd37 - Reviewed-on: http://gerrit.openafs.org/9393 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cc194827a841f057654f1dbe4dcb3f6de98c1c60 -Author: Simon Wilkinson -Date: Sat Mar 2 09:35:01 2013 +0000 - - kauth: Don't overflow stack when building username - - knfs constructs the userName by combining the clientName.name - and clientName.instance arrays, along with a dot separator. Make - sure that the userName array is big enough to hold these, and - use strlcpy and strlcat just to make sure. - - Caught by coverity (#985829) - - Change-Id: I75431212c8464861a26546c9e47d13acbff08967 - Reviewed-on: http://gerrit.openafs.org/9351 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 25011b4544e48dffd5978201669f7b9e23da3144 -Author: Simon Wilkinson -Date: Fri Mar 1 12:08:46 2013 +0000 - - fs: Fix improper use of readlink - - readlink returns a non-NUL terminated buffer. If we are going to - terminate its response, we need to make sure that there's space to - do so. So the length passed to readlink should be one less than the - real length of the buffer. - - Caught by coverity (#985596) - - Change-Id: I47081877a54a7b3d99ab8e6ec52d4663acd2eeb6 - Reviewed-on: http://gerrit.openafs.org/9328 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 908105fe8d51551e45692de4e145022138a0356c -Author: Simon Wilkinson -Date: Sat Mar 2 11:49:13 2013 +0000 - - fstrace: Don't read uninitialised data - - The pftix variable points to the next free element in the - printfTypes array, so when we iterate through that array to - read that data back, we should stop when our iterator equals - pftix, not when it is greater than it. - - Caught by coverity (#986013) - - Change-Id: Ie08ebdd28cdde6647e91da5c5f67512096ecb34c - Reviewed-on: http://gerrit.openafs.org/9442 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d81271640891fb8c364e8625e7a9f6ede21572f4 -Author: Simon Wilkinson -Date: Sat Mar 2 11:44:02 2013 +0000 - - readpwd: Make sure user supplies a passwdfile - - If the user supplies enough command line arguments, but doesn't - provide a passwdfile, then we can end up trying to open whatever - garbage is on the stack. - - Once we've finished parsing the command line arguments, make sure - that a filename was supplied. - - Caught by coverity (#986009) - - Change-Id: Ice2fca16458a90d73ae6b5fadb0efa22ed0b185a - Reviewed-on: http://gerrit.openafs.org/9441 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 3c564444cf1c0bad25792b10edc158030e180369 -Author: Simon Wilkinson -Date: Sat Mar 2 11:44:02 2013 +0000 - - readgroup: Make sure user supplies a groupfile - - If the user supplies enough command line arguments, but doesn't - provide a groupfile, then we can end up trying to open whatever - garbage is on the stack. - - Once we've finished parsing the command line arguments, make sure - that a filename was supplied. - - Caught by coverity (#986008) - - Change-Id: Iaea60027cf4bd81f9af04e995ce5c395275be833 - Reviewed-on: http://gerrit.openafs.org/9440 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 5cf4415c8ad400a92fc9c7f436ae52256db2ef09 -Author: Simon Wilkinson -Date: Sat Mar 2 11:36:31 2013 +0000 - - libadmin: Don't pass garbage to pts_UserCreate - - The libadmin pts_UserCreate function uses the value passed to - it in newUserId to control whether the user is being created - with a user supplied ID or not. - - Initialise this value in the caller, so we don't end up creating - users with corrupt ids. - - Caught by clang (#985979) - - Change-Id: I89492a02db9f981a4d2040ea913a7e75f5f0b272 - Reviewed-on: http://gerrit.openafs.org/9401 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit ece7bd669af0c58dcaa2589e093387adb7d1756a -Author: Simon Wilkinson -Date: Sat Mar 2 11:36:31 2013 +0000 - - libadmin: Don't pass garbage to pts_GroupCreate - - The libadmin pts_GroupCreate function uses the value passed to - it in newGroupId to control whether the group is being created - with a user supplied ID or not. - - Initialise this value in the caller, so we don't end up creating - groups with corrupt ids. - - Caught by clang (#985978) - - Change-Id: I5c3e2cec5b39b8eecbea316e351480863d3d7761 - Reviewed-on: http://gerrit.openafs.org/9400 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f5b462c9d4a56be0ae4696db08fb92a1e7390e2c -Author: Simon Wilkinson -Date: Sat Mar 2 11:09:08 2013 +0000 - - libadmin: Don't double check for required param - - The server, process and stat_type parameters are declared as - required when the command syntax is set up - so they must be - present when the command handler is called. So, don't bother - checking for them. - - Caught by coverity (#985963, #985964, #985965, #985966, #985967, - #985968, #985969, #985970, #985971, #985972, - #985973, #985974, #985975, #985976, #985977) - - Change-Id: Ic0565aa50c5a998b327efe60d460a182a93c7552 - Reviewed-on: http://gerrit.openafs.org/9399 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 8260d86dda766a21e9f457994e7a3b259ba3a31b -Author: Simon Wilkinson -Date: Sat Mar 2 11:02:09 2013 +0000 - - libadmin: Don't free garbage pointer - - If we jump to the error handler early on in pts_GroupOwnerChange, - idlist may not have been used, and so we will end up trying to - free stack garbage. - - Initialise the structure to 0 at the start of the function, so it - is always safe to enter the error handler. - - Caught by coverity (#985962) - - Change-Id: If70102e3da07135a9ec695f13caebe6298eff8ca - Reviewed-on: http://gerrit.openafs.org/9398 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit b535059d48ac592760e2e5b87414d9010143c993 -Author: Simon Wilkinson -Date: Sat Mar 2 10:54:16 2013 +0000 - - kauth: Use strl* functions in ka_log - - Switch to using the strlcat and strlcpy functions in ka_log, to - avoid potential buffer overflows. - - Caught by coverity (#985824) - - Change-Id: Icb537567f8ae67ecb42332cda4413274edeaa681 - Reviewed-on: http://gerrit.openafs.org/9397 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 508674486a5b1b3b25d7f28febb41e8712d8592d -Author: Simon Wilkinson -Date: Sat Mar 2 10:48:50 2013 +0000 - - kauth: Handle calls to ka_log with no principal - - If ka_log is called without a principal string, then the resulting - buffer will be garbage, as we don't start with a string for strlcat - to append to. - - Caught by coverity (#985959) - - Change-Id: I928b2807c093ac3f71a28150a117fd7b7eb29b05 - Reviewed-on: http://gerrit.openafs.org/9396 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit a666bfd67bd14028aac5eb49f1bf02576fb58405 -Author: Simon Wilkinson -Date: Sat Mar 2 10:42:27 2013 +0000 - - vsys: Avoid uninitialised variable warning - - Initialise the parms array to 0 so that we don't get warnings from - the compiler when we call syscall() using it. - - Caught by coverity (#985949) - - Change-Id: I134841bcb334d06146386e55ebfa38c7be993311 - Reviewed-on: http://gerrit.openafs.org/9395 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f322b0ff1ec44d713c23d567f4d304e3dc65e702 -Author: Simon Wilkinson -Date: Sat Mar 2 10:15:10 2013 +0000 - - rmtsys: Don't overflow pathname buffer - - When we're constructing a homedirectory path to look for the - .AFSSERVER file in, we copy the HOME environment variable into a - static buffer, with a risk of overflowing that buffer. - - Instead of using a static buffer, just allocate one with asprintf. - - Caught by coverity (#985910) - - Change-Id: I2daa5613609f2c09712b12a7ce7e59b1c0028ef2 - Reviewed-on: http://gerrit.openafs.org/9392 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit b32d92268f77608b57adf350d963941a94a31604 -Author: Simon Wilkinson -Date: Sat Mar 2 10:35:42 2013 +0000 - - fsprobe: Get rid of unused hostname buffer - - When we copy the user supplied hostname into the fixed length - hnamebuf array, we might overflow it. As we never use this buffer, - just get rid of it. - - Caught by coverity (#985913) - - Change-Id: I4cda6279cd667343856deeb425dceaf00f7904b6 - Reviewed-on: http://gerrit.openafs.org/9394 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fed5dac9f25f7fbd74b6834ce6f087eaf31be2f2 -Author: Simon Wilkinson -Date: Sat Mar 2 09:59:20 2013 +0000 - - auth: Don't overflow hostName array - - afsconf_cell's hostName structure is a fixed length. Don't overflow - it by writing whatever comes back from gethostbyaddr into it. Use - strlcpy to catch an overflow, and if one occurs, just use - "UNKNOWNHOST", rather than a truncated host name. - - Caught by coverity (#985906) - - Change-Id: Iaa927f3e4860d99166789e8dc4950a03ea2237e4 - Reviewed-on: http://gerrit.openafs.org/9354 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 79abe9d68ea041a2ea6261c6f7bb1f055a45bf0a -Author: Simon Wilkinson -Date: Sat Mar 2 09:47:53 2013 +0000 - - libadmin: Don't overflow volume name - - The maximum volume name length in the VLDB RPCs is VL_MAXNAMELEN - (65), not 64 as used as a hardcoded value in vsprocs. Switch to - using the defined value, and also use strlcat to check that we - don't overflow this. - - Caught by coverity (#985849) - - Change-Id: Idde2cf8362bbd48538fafcd8c8d98e1f71cc15e1 - Reviewed-on: http://gerrit.openafs.org/9353 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4f9ec8396d1c7f12f8fa264cea7c255ce62b7b8d -Author: Simon Wilkinson -Date: Sat Mar 2 09:47:53 2013 +0000 - - volser: Don't overflow volume name - - The maximum volume name length in the VLDB RPCs is VL_MAXNAMELEN - (65), not 64 as used as a hardcoded value in vsprocs. Switch to - using the defined value, and also use strlcat to check that we - don't overflow this. - - Caught by coverity (#985849) - - Change-Id: I860d4bd4ed9a22185f4a83408d163ce20d21e751 - Reviewed-on: http://gerrit.openafs.org/9352 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 77aa6c65b74e46c77dfaf440745496ab98b14244 -Author: Simon Wilkinson -Date: Sat Mar 2 09:33:12 2013 +0000 - - kauth: Don't overflow cell string - - The cell string within a ktc_principal is only 64 characters long. - Be careful not to overflow it. - - Caught by coverity (#985829) - - Change-Id: I761dfcf5eebf1bd4ef31aa5982a2593e5317257b - Reviewed-on: http://gerrit.openafs.org/9350 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 362728d2d6d53011603dc39f691707db20866434 -Author: Simon Wilkinson -Date: Sat Mar 2 09:26:05 2013 +0000 - - auth: Don't overflow cell string - - If the kernel gives us bogus data back from the VIOCGETTOK pioctl, - we might overflow the cell string when copying in to it. Use - strlcpy to avoid this (unlikely) occurrence. - - Caught by coverity (#985768, #985769) - - Change-Id: I2583b017e7a366f4271f356216bdd60f3a7b7911 - Reviewed-on: http://gerrit.openafs.org/9349 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2fac53522e7ef5b3a376e191bffdc1f6784e6995 -Author: Simon Wilkinson -Date: Sat Mar 2 09:16:10 2013 +0000 - - aklog: Fix improper use of readlink - - readlink doesn't NUL terminate its return string, so it is up to - us to do so. - - Caught by coverity (#985739) - - Change-Id: Ifb858d628845bd963928e25834e540bbb3a187c8 - Reviewed-on: http://gerrit.openafs.org/9347 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6a54bf735871d93bc77e5cf166e506f4f2423d0a -Author: Simon Wilkinson -Date: Sat Mar 2 09:01:59 2013 +0000 - - vlserver: Use correct literal in bounds check - - The base array has VL_MAX_ADDREXTBLKS elements. Use this when - checking for an array overflow, rather than VL_ADDREXTBLK_SIZE. - - Caught by coverity (#985600) - - Change-Id: Ie60ad5cc79c41245028887871759776549694426 - Reviewed-on: http://gerrit.openafs.org/9346 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6c41b1f740e16b5b9adfe9026630595be6f0699e -Author: Andrew Deason -Date: Fri Feb 22 22:46:12 2013 -0600 - - viced: Improve CallPreamble error messages - - These messages are not very useful right now. At least try to say what - host we sent an error to, so we know which host may be experiencing - some troubles as a result. - - Change-Id: I8b41b46511ebd4760d5021ea2fe2011842450998 - Reviewed-on: http://gerrit.openafs.org/9381 - Reviewed-by: Mark Vitale - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1c4dc26584533afe3c6c7cfd24a0418cb1552a00 -Author: Andrew Deason -Date: Wed Dec 19 17:11:40 2012 -0600 - - ihandle: Remove ih_sync_thread - - ih_sync_thread currently syncs files flagged as needing - synchronization in the background every 10 seconds. This practice has - caused severe data corruption on more than one occasion over the past - few years (124359, 131530). It has also been argued repeatedly that it - provides no meaningful additional on-disk consistency, so there is no - reason for it to exist even if it were error-free. - - Syncing files in the background provides no guarantee on the - consistency of the file contents, since the files are not synced in - any order with respect to each other, or with respect to what - filesystem operations may be occurring in the application. - Additionally, journalling filesystems common on fileserver backends - will typically ensure some consistency after a certain amount of time - (by default, 5 seconds on ZFS and ext3+), so doing this sync ourselves - is often redundant or even counterproductive. - - So, to avoid current and future issues with ih_sync_thread interacting - with other ihandle users, just get rid of it. Files flagged as needing - sync are still synced (not in the background) during IH_REALLYCLOSE. - - FIXES 131530 - - Change-Id: I29571c82c5b7454cd834b339fd48baeb9963a87b - Reviewed-on: http://gerrit.openafs.org/8797 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a3a79c5a15bff7e978ff4bae2d2a480b73750392 -Author: Jeffrey Altman -Date: Sun Mar 3 22:54:53 2013 -0500 - - Windows: AFSPopulateNameArrayFromRelatedArray change - - Modify AFSPopulateNameArrayFromRelatedArray so that the DirectoryCB - parameter can safely be NULL. A NULL DirectoryCB input is required - to copy the entire NameArray. - - Change-Id: Id125bb22df89c93e60d485e178bc7be0ab3c313e - Reviewed-on: http://gerrit.openafs.org/9340 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1ac432b7d0259a01e158016307966c76b3ba9d79 -Author: Jeffrey Altman -Date: Sun Mar 3 22:10:39 2013 -0500 - - Windows: AFS_NAME_ARRAY_TAG value - - The AFS_NAME_ARRAY_TAG value collided with AFS_NAME_BUFFER_TEN_TAG. - Change its definition. - - Change-Id: I29ff2d4cb7f5d1afebea91cbb5c294ecedbe50a2 - Reviewed-on: http://gerrit.openafs.org/9339 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 89b07844d318637cf8c643d60dd174cb1f71db87 -Author: Jeffrey Altman -Date: Sun Mar 3 14:16:35 2013 -0500 - - Windows: Add AFSCreateSymlinkCB data strctures - - AFSCreateSymlinkCB and AFSCreateSymlinkResultCB - Used for creating a symlink to either a file or a directory. - - Change-Id: Ic7dc49d48fc7ba3863752b3732c932f57d674d99 - Reviewed-on: http://gerrit.openafs.org/9338 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 3ae1c025693a0a20f359dc0c3b7532c13b96e9f3 -Author: Nickolai Zeldovich -Date: Sun Mar 3 22:03:41 2013 -0500 - - src/rxosd/Makefile.in: avoid infinite recursion in CC variable - - src/rxosd/Makefile sets CC=$(MT_CC). - src/config/Makefile.config sets MT_CC=$(CC). - Since both are recursive-expansion variables, this causes an infinite - loop, and make complains about it: - - Makefile:25: *** Recursive variable `CC' references itself (eventually). Stop. - - This patch avoids setting CC in src/rxosd/Makefile.in altogether, since - it does not appear to be necessary, as suggested by Jeffrey and Derrick. - - Change-Id: Ieaa5c5ed21d83629ea713a745e76d17ac7f76ec1 - Reviewed-on: http://gerrit.openafs.org/9336 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fe9f4a93183c972225541b1ebf5ed5b5f484adff -Author: Nickolai Zeldovich -Date: Sun Mar 3 21:14:22 2013 -0500 - - afscp: Fix check for bare root.cell dirs in dynroot mode - - A previous fix (git commit fb1d7491fbe2e90300b23284f213cac2bdcd56ac) - added a check for '!p' in gettoproot(), but p is always a non-NULL pointer - (in part since it's dereferenced just above in the code), so the check - is always false. - - Instead, I suspect the original author intended to check for '!*p', - which this patch does. - - Change-Id: I1c0a2dd1d582a6b5e82275db18474343efa679a2 - Reviewed-on: http://gerrit.openafs.org/9337 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 80875f8aa1540bf032073a4843566bbe6b1fe301 -Author: Simon Wilkinson -Date: Fri Mar 1 12:12:07 2013 +0000 - - up: Fix improper use of readlink - - readlink returns a non-NUL terminated string. If the string must be - terminated, we need to have space in the buffer for it. So, the - buffer passed to readlink must be 1 less than the real length of - the buffer. - - Caught by coverity (#985597, #985610) - - Change-Id: Id9a6f8227d756140960ac295330aaf17dca2ec03 - Reviewed-on: http://gerrit.openafs.org/9329 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 28a441ebd8323437bf762a790b4ec5e6301e4bec -Author: Simon Wilkinson -Date: Fri Mar 1 12:01:19 2013 +0000 - - util: Fix overflows in address parsing - - The extractAddr function (which turns a dotted quad into an IP - address), has a number of overflows when one or more elements of - the quad are more than 31 characters in length. - - The array allocated for each portion is 32 bytes long, but we only - stop writing into the array when the indexing pointer reaches 32, - which doesn't leave us with space for the trailing NULL. - - Rework this so we always allow space for the NULL, and use a #define - for the array length to make it more clear whats going on. - - Caught by coverity (#985591, #985592, #985593, #985594) - - Change-Id: I33ecc78ba6c90e44c3a4f2df171abba1d58562b3 - Reviewed-on: http://gerrit.openafs.org/9327 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit a4ae9a4c3cc1fa5ca2b813174040dce36284a4b9 -Author: Simon Wilkinson -Date: Fri Mar 1 11:47:03 2013 +0000 - - ubik: Don't overflow server's addr array - - We're checking to see if we've overflowed the array _after_ we've - looked up an element within it - so on the final iteration, we - always read past the end of the array. - - Fix this by swapping the order of the tests in the for statemen - - Caught by coverity (#985590) - - Change-Id: Ibbf0eb88083166f0a23316edf0612e94593c07ce - Reviewed-on: http://gerrit.openafs.org/9326 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit a1d8109c8fa8c10e3ce5ed67cda03b3b557608ff -Author: Simon Wilkinson -Date: Fri Mar 1 11:35:05 2013 +0000 - - rxgen: Don't overflow PackageIndex - - PackageIndex++ returns the pre-index value of PackageIndex, so the - error statement isn't run when PackageIndex == MAX_PACKAGES. This - means we go on to overflow all of the arrays that are MAX_PACKAGES - in size. - - Caught by coverity (#985583, #985584, #985585, #985586, - #985587, #985588,Ā #985589) - - Change-Id: If81f9ff89edc4cfd56677ff51cea71281ebe1e3b - Reviewed-on: http://gerrit.openafs.org/9325 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit ff7fd58b49a41bf85df492b9f470004d4433800e -Author: Simon Wilkinson -Date: Fri Mar 1 11:31:31 2013 +0000 - - unlog: Don't overflow cells array - - cells has a maximum size of MAXCELLS. Doing cells[MAXCELLS] overflows - that array. Clamp our maximum number of cells at one below this to - avoid the overflow. - - Caught by coverity (#98551) - - Change-Id: I45fd8a55e31ad7ea86a996b593359536c7078891 - Reviewed-on: http://gerrit.openafs.org/9324 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 30e25c74376dd8aa24018116015e57c47c1dfaf9 -Author: Simon Wilkinson -Date: Fri Mar 1 11:22:26 2013 +0000 - - kauth: Don't overflow cellinfo hostAddrs array - - The hostaddrs array has MAXHOSTSPERCELL (8) available elements. - The ubik connections list has MAXSERVERS (20) elements - when copying - from the ubik list into the cellinfo hostaddrs list, be careful not - to overflow it. - - Caught by coverity (#985577) - - Change-Id: Ie51cb939a6e3381a285787ad125342ca7a9e7cbb - Reviewed-on: http://gerrit.openafs.org/9323 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit c0fba6eab519bd1bb6929b788361219f97da7212 -Author: Simon Wilkinson -Date: Fri Mar 1 11:09:04 2013 +0000 - - bucoord: Remove theoretical overflow of ubik array - - The ubik connections array is NULL terminated, so we have to - ensure that there is enough space for the trailing NULL. As the - array is MAXSERVERS elements long, this means that we can only - store MAXSERVERS-1 connections in it. - - This problem will never be encountered by the correct code, as - the number of hosts returned from afsconf_Open is capped at - MAXHOSTSPERCELL (currently 8). MAXSERVERS is currently 20. However, - fix the bug in case we increase MAXHOSTSPERCELL at some point in - the future. - - Caught by coverity (#985576) - - Change-Id: Icd3f4afe929cbf05522e44132f055a3955c4d23c - Reviewed-on: http://gerrit.openafs.org/9322 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 59def405ba9404954debd35da539346b1ccd4096 -Author: Simon Wilkinson -Date: Fri Mar 1 10:54:07 2013 +0000 - - Unix CM: Fix stray semicolon - - Commit d2437d02a6f59d972dd0690f7eb1c46cf7cc4b85 introduced a - stray semicolon in the osidnlc code. Fix it. - - Caught by coverity (#989030) - - Change-Id: I1f68b6149bb4325995c96d8599c45565c4979f16 - Reviewed-on: http://gerrit.openafs.org/9321 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 64630d07b893199431b601a73de23c303c61db40 -Author: Simon Wilkinson -Date: Fri Mar 1 10:52:32 2013 +0000 - - xstat: Add the residency RPC to the list of fs ops - - Include the ResidencyRpc in the list of fs operation numbers that - can be display by xstat_cm_test. - - Caught by coverity (#989029) - - Change-Id: Ib8059fe53e5254d212722db59c05a0f0822883e2 - Reviewed-on: http://gerrit.openafs.org/9320 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit bdd9ad146c8a3d05b926dba3e01299ce79cd5ad3 -Author: Marc Dionne -Date: Sat Mar 2 10:06:47 2013 -0500 - - crypto: make krb5_enomem a static inline function - - With the recent update to the imported heimdal code, krb5_enomem - is used in a few places as a simple statement that doesn't make - use of the value. With the current definition, this triggers - compiler warnings because the statement has no effect. - - Replace the definition with a static inline function that returns - the expected value. - - Change-Id: I799022b69a43ab635560a1a5ea8f67f0a8f7230a - Reviewed-on: http://gerrit.openafs.org/9335 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 1c4e7ddb498f86b232f0f1de1f40690e97bf6a65 -Author: Jeffrey Altman -Date: Thu Feb 28 17:11:57 2013 -0500 - - Windows: afslogon !KA_USERAUTH_AUTHENT_LOGON - - Patchset 305133cde60fec7fb1050caf60a4319cdcf88a27 halted the practice - of calling ka_UserAuthenticateGeneral2() with the alternate smbName. - It should have halted the practice of passing flag - KA_USERAUTH_AUTHENT_LOGON which indicates that the smbName parameter - has been provided. Passing KA_USERAUTH_AUTHENT_LOGON without the smbName - field results in a KTC_INVAL error. - - This error only impacts sites that still use kaserver or Kerberos v4 for - authentication. - - Change-Id: I9eb7adc4fdb7b3ffa0aedca377e2f91bc01b30ea - Reviewed-on: http://gerrit.openafs.org/9318 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bf78bf2c115659b78c34d3bc9d1934bcff21c8cc -Author: Simon Wilkinson -Date: Thu Feb 28 22:07:12 2013 +0000 - - libadmin: Don't free garbage - - Make sure that we initialise the nbulkentries structure to 0 before - we start work, so that if the failure handler is called, it doesn't - try to free garbage. - - Caught by coverity (#985980) - - Change-Id: If55faadd44f7bbc80abbdcd7842603d586db7581 - Reviewed-on: http://gerrit.openafs.org/9317 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3beca62928665868294ec3e9d34ab63b41e12645 -Author: Simon Wilkinson -Date: Thu Feb 28 17:14:20 2013 +0000 - - afsmonitor: Fix multiple NUM_CM_STAT_ENTRIES overflows - - If an array is n elements long, accessing element array[n] is an - overflow. Fix various places where we apply loop bounds incorrectly - using the NUM_CM_STAT_ENTRIES constant. - - Caught by coverity (#985571, #985573) - - Change-Id: I24a53e8044d3d5d39d070909400329a82f22b6b9 - Reviewed-on: http://gerrit.openafs.org/9316 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4ea1c8440aad6bb6dc9cdb598b5708c685603219 -Author: Simon Wilkinson -Date: Thu Feb 28 17:14:20 2013 +0000 - - afsmonitor: Fix multiple NUM_FS_STAT_ENTRIES overflows - - If an array is n elements long, accessing element array[n] is an - overflow. Fix various places where we apply loop bounds incorrectly - using the NUM_FS_STAT_ENTRIES constant. - - Caught by coverity (#985570, #985571, #985572) - - Change-Id: I8a28f06059771f91415ebc989714929cfd09f296 - Reviewed-on: http://gerrit.openafs.org/9315 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 74d0d0d5e686d82e18f896889870af666c4d495d -Author: Simon Wilkinson -Date: Thu Feb 28 17:07:31 2013 +0000 - - afsmonitor: Add missing items to fsOpNames array - - The Lookup and Residency fs stats counters were missing from the - fsOpNames array. Add them in - Lookup has been missing since the - IBM release, Residency was missed when the MR-AFS code was merged. - - This is still rather fragile, as there's no guarantee that - AFS_STATS_NUM_FS_RPC_OPS matches the number of elements in this - array. However, this is now correct until someone breaks it again... - - Caught by coverity (#985569) - - Change-Id: I22496050d5e786276a6646aa763d036449a3660d - Reviewed-on: http://gerrit.openafs.org/9314 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2c8e4f839fc253abb8051bbf89d36e94a2200590 -Author: Simon Wilkinson -Date: Thu Feb 28 17:05:29 2013 +0000 - - Unix CM: Update AFS_STATS_NUM_FS_RPC_OPS - - There are actually 30 elements in the AFS_STATS_FS array. When the - ResidencyRpcs counter was added, the total number of operations - wasn't updated. - - Fix this so that it is correct, although this still remains rather - fragile. - - Change-Id: I92a0d2bf3741bc7aaeae837d6dcbcd30616e17ae - Reviewed-on: http://gerrit.openafs.org/9313 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d2437d02a6f59d972dd0690f7eb1c46cf7cc4b85 -Author: Simon Wilkinson -Date: Thu Feb 28 15:26:15 2013 +0000 - - Unix CM: Fix hash table overflow in dnlc code - - In GetMeAnEntry, we can end up overflowing the nameHash array by one - element if the stars are particularly badly aligned. - - nameptr is a static across function calls, so nameptr and j are not - equal. If nameptr is increment to NHSIZE in the same loop iteration - as j reaches NHSIZE + 2, the loop will terminate. We'll then - lookup nameHash[NHSIZE], which is 1 element passed the end of the - array. - - Add an if statement which loops nameptr outside the loop (in the - same way as the if statement in the loop) - - Caught by coverity (#985568) - - Change-Id: I47075f363fad10e8c19276359699566755779cca - Reviewed-on: http://gerrit.openafs.org/9312 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ff8bae8938532d95f792258d2c520705e095e7af -Author: Simon Wilkinson -Date: Thu Feb 28 13:45:00 2013 +0000 - - Unix CM: Don't overflow ICL logs array - - When checking whether a user supplied index into the ICL logs array - is out of bounds, we need to check whether it is greater or equal - to the maxmimum number of elements. Otherwise we can access one - more than the number of elements in the array. - - Caught by coverity (#985567) - - Change-Id: Id90f02eae1d5689b9b2c9a82bce0e503941387da - Reviewed-on: http://gerrit.openafs.org/9311 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8f51502e5f45a43fba130d260813716be894d51e -Author: Simon Wilkinson -Date: Thu Feb 28 12:15:29 2013 +0000 - - dumptool: Remove newlines safely - - The code currently does - - fgets(cmdbuf, ... ); - cmdbuf[strlen(cmdbuf - 1)] = '\0'; - - in order to remove new lines from cmdbuf. Coverity thinks there's - a danger of strlen(cmdbuf) being 0, and thus the strlen being negative. - That shouldn't happen, but if fgets hits EOF midway through a line, we - might get a string that doesn't have a trailing '\n', and end up - removing the wrong character. Tidy this up by checking that the string - isn't 0 length, and that the character we're zapping is a newline. - - Caught by coverity (#985430) - - Change-Id: I8dae925debdc2473a6a51db021ce843e957a1557 - Reviewed-on: http://gerrit.openafs.org/9310 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit bc70828f0713891597cf0042bc3e204f3d923271 -Author: Simon Wilkinson -Date: Thu Feb 28 10:22:43 2013 +0000 - - ptuser: Clear return value from pr_ListMembers - - Make sure that lnames is zero'd on entry to pr_ListMembers, so that - an early error return doesn't also return garbage. - - Change-Id: I78c35f0c18d9c7ec3f638c8e80609ac28d362925 - Reviewed-on: http://gerrit.openafs.org/9309 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a80cb27ae89877c96c6074ab2f6a7b3e51485768 -Author: Simon Wilkinson -Date: Thu Feb 28 10:20:22 2013 +0000 - - readgroup: Don't use results if error occurs - - If pr_ListMembers returns an error, don't try and use the results - it provides, as they could be garbage. - - Caught by coverity (#92119) - - Change-Id: Idcfb464953dcdec68cba988d3fb1ab6ddad08340 - Reviewed-on: http://gerrit.openafs.org/9308 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ed3f1134460546888e2306262d88d6886beae7e1 -Author: Ken Dreyer -Date: Fri Jan 11 11:38:58 2013 -0700 - - RedHat: fix makesrpm.pl version discovery - - We stopped defining the OpenAFS version in AM_INIT_AUTOMAKE a while - back. Use git-version script instead. - - Change-Id: I56ef9792cf653921161e177a7c6f143a4b41ace2 - Reviewed-on: http://gerrit.openafs.org/8908 - Reviewed-by: Ken Dreyer - Tested-by: Ken Dreyer - Reviewed-by: Derrick Brashear - -commit 87f2a92afb58660846d39c71ce630c3acfb72020 -Author: Jeffrey Altman -Date: Wed Feb 27 15:21:56 2013 -0500 - - Windows: Build libafsauthent.dll against mtafsubik.lib - - Instead of building a private copy of the ubik objects, link - against mtafsubik.lib. - - Change-Id: Ic72e0ea963ddb870d082f7a3746f978ba785bbbc - Reviewed-on: http://gerrit.openafs.org/9302 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9d4f7ca48cf1f553bbb566e715fe986627a5d47f -Author: Jeffrey Altman -Date: Wed Feb 27 15:19:41 2013 -0500 - - Windows: afsio reduce library link list - - When linking afsio many of the libraries specified in the EXELIB3 - list were unnecessary. The only lib in the list that is required - is libcmd.lib. Rename EXELIB3 to LIBCMD and prune the rest. - - Change-Id: I87bf0583f312d7b3dadc5581c08fedaa6b754c77 - Reviewed-on: http://gerrit.openafs.org/9301 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e2ef4ce23d0cd0eddadfb39a39a29593093f0b6f -Author: Jeffrey Altman -Date: Wed Feb 27 15:07:57 2013 -0500 - - Windows: Remove RXAFS* from afsrpc.dll - - afsrpc.dll is supposed to be the multi-threaded dynamic loadable - version of the RX package. It has also included the RXAFS and - RXAFSCB client functions from src/fsint. Including the RXAFS* is - nice in theory but in practice the afsd_service.exe must link to - afsint.lib anyway in order to obtain access to RXAFSCB_ExecuteRequest() - which is part of the server portion. Linking to both results in - multiple instances of the same symbols in which case afsint.lib - must be linked to first and the dynamic version of the functions - are ignored. - - The only other module that used RXAFS* functions from afsrpc.dll - is the adminutil library from the libadmin package. adminutil - doesn't implement the server functions but it can just as easily - link against afsint.lib. - - Removing RXAFS* from afsrpc.dll results in a library that only - contains RX, RXSTATS, core xdr and rxkad. - - This patchset also fixes some minor bugs: - - 1. $(UTILOBJS) were not being linked to the library due to - a typo. - - 2. Always use multi-thread safe versions of afsutil.lib - - Change-Id: I5cc6d485a763d5a17735abd35d193fb7b0d280e5 - Reviewed-on: http://gerrit.openafs.org/9300 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d6cfcf46a8f3ec03e2f805aca6e5012eb6633803 -Author: Jeffrey Altman -Date: Wed Feb 27 22:16:33 2013 -0500 - - Windows: Move grmutex, etc. to afspthread.dll - - afsauthent.dll exported: - - pthread_recursive_mutex_lock - pthread_recursive_mutex_unlock - grmutex (DATA) - - even though a dedicated afspthread.dll existed and all pthreaded - modules must link to afspthread.dll and not all link to - afsauthent.dll. Move these functions and the global mutex variable - to afspthread.dll to ensure that only one instance of the variable - is present in any binary. - - Also remove from src/libafsauthent/NTMakefile the local building - of src/util object files and link to mtafsutil.lib. - - Change-Id: I9f8e76165f9c1b1be7ed1a90cdaac03b629d9591 - Reviewed-on: http://gerrit.openafs.org/9303 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 44e806431bec3149a78127f5d1003e84e3a0b072 -Author: Simon Wilkinson -Date: Wed Feb 27 10:34:59 2013 +0000 - - ubik: Avoid unlinking garbage - - If SDISK_SendFail fails before the pathname to the temporary file - has been constructed, then the failure handler will unlink stack - garbage, with variable results. - - Initialise the string, and check to see if it has contents before - calling unlink - - Change-Id: I1de898d5f0f0dc608e9c9c62dc66e6b4b9fdc5bf - Reviewed-on: http://gerrit.openafs.org/9299 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 816b0c76738b7e404c9384a745b58b4d90bfc30d -Author: Simon Wilkinson -Date: Wed Feb 27 10:28:05 2013 +0000 - - Unix CM: Don't free cell, then release lock on it - - If afs_NewCell fails, then we can end up releasing a lock on a - section of memory that we have already freed. As this only happens - if the memory we're operating on is newly allocated and not yet - visible to anyone else, it is safe to release the lock before - starting to tidy things up. - - Caught by coverity (#986054) - - Change-Id: Ie8651c61790d57a9fd7bbbafcaf78e37b8222bae - Reviewed-on: http://gerrit.openafs.org/9298 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ce20f1f15103226667bc872378cf9b2e4b3e8cd7 -Author: Simon Wilkinson -Date: Wed Feb 27 10:11:21 2013 +0000 - - libafscp: Can't unlock something we've freed - - When we call _StatCleanup on a stored statent structure, it - deletes the mutex, and frees the structure itself. This means it - can't be called with a locked structure as the mutex deletion - will fail, and then we'll try to reference freed memory when we - later unlock that mutex. - - Fix this by unlocking the mutex before calling _StatCleanup. This - is safe because the only reference to the structure visible to other - threads must have been deleted by the time we reach this point. - - Caught by coverity (#986058, #986059) - - Change-Id: I346d4c8a7cd478db044af919662c1cf1c093e205 - Reviewed-on: http://gerrit.openafs.org/9297 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 12ced70c95fe8efbcec09a372f0af81d819bb8cd -Author: Simon Wilkinson -Date: Wed Feb 27 09:23:07 2013 +0000 - - pt_util: Protect against corrupt input files - - If we have an input file which contains a group membership line - (with a leading space) before any group definitions occur, pt_util - would use stack garbage as the group to create these members in. - - Avoid this by requiring the presence of a group line before any - membership lines. - - Caught by coverity (#92180, #986000, #92248) - - Change-Id: I536f089d67041dbf90f35b6dfeed5ba3303318a8 - Reviewed-on: http://gerrit.openafs.org/9296 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 62a10e063b4fe6721bd9768611d5f0c13b303189 -Author: Simon Wilkinson -Date: Wed Feb 27 09:21:30 2013 +0000 - - pt_util: Catch sscanf failures - - If there isn't sufficient data in the input line to satisfy sscanf, - fail with an error, rather than continuing with potentially corrupt - data. - - Change-Id: I5f963b5623176ac7631693b093d23cf9f0405edc - Reviewed-on: http://gerrit.openafs.org/9295 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit a332ce9d0e87fab55f3d286690026fe075f624dd -Author: Simon Wilkinson -Date: Tue Feb 26 22:40:04 2013 +0000 - - kauth: Fix overflow when writing ticket file - - krb_write_ticket_file uses a fixed length buffer to store the name - of the ticket file, but copies into this from an environment variable. - - Remove the fixed length buffer, and use a mixture of the variable - itself, and dynamically allocated strings. - - Caught by coverity (#985909) - - Change-Id: I997fd1812c45e730db39497a27a5e168f102fee5 - Reviewed-on: http://gerrit.openafs.org/9294 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit a5324a6bb6ff127997c48b54f8ad0e98189f3f1e -Author: Simon Wilkinson -Date: Tue Feb 26 22:31:49 2013 +0000 - - auth: Refactor afsconf_Open failure handler - - Refactor the code which returns a failure from afsconf_Open into - a single section, rather than having multiple copies through out - the routine. - - Change-Id: I70b3fec98321bf89e6d59055545d5d4193026d28 - Reviewed-on: http://gerrit.openafs.org/9293 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 41d9ea697bf5e81e5003ad7b208788223c25536b -Author: Simon Wilkinson -Date: Tue Feb 26 22:27:25 2013 +0000 - - auth: Fix buffer overflow in afsconf_Open - - If we fallback to the .AFSCONF file in the user's homedirectory, - the results of getenv("HOME") are copied into a fixed length string, - without checking for overflows. - - Instead of risking this, just use asprintf to dynamically construct - a string, and free it when we are done. - - Caught by coverity (#985905) - - Change-Id: Id8769ede841165d3ff3104143e55767d550d6f87 - Reviewed-on: http://gerrit.openafs.org/9292 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit debf43714b0f00fa00a0ef3384e098de78d28ed6 -Author: Simon Wilkinson -Date: Tue Feb 26 21:30:20 2013 +0000 - - bos_util: Fix buffer overflow - - Get rid of a buffer overflow in the bos_util utility, by just - printing the key from the 'tbuffer' string, rather than copying - it into 'x' which is too small for it. - - Change-Id: Ia364fb63edb9e40a887e77aad833689a99b4ea7c - Reviewed-on: http://gerrit.openafs.org/9291 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit ddc37043351056c402158610477312f0d7d01c13 -Author: Simon Wilkinson -Date: Tue Feb 26 21:28:52 2013 +0000 - - volser: Fix bad readlink usage - - readlink fills the buffer passed to it with a non-terminated string. - It can legitimately fill the whole of this buffer. So, if we require - a string to be NUL terminated, we must give readlink one less than - the string length so that the termination character can be safely - appended. - - Caught by coverity (#985611) - - Change-Id: Ie6c651a9c0fd94d83bd05395204341d71e353146 - Reviewed-on: http://gerrit.openafs.org/9290 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit caabad98232557220f153461520fc0cf1c6978fb -Author: Simon Wilkinson -Date: Tue Feb 26 20:52:47 2013 +0000 - - afsmonitor: Use NULL, rather than (struct foo *)0 - - Change-Id: Ib011da471465dae056d47f5bbaad5a27b5c85966 - Reviewed-on: http://gerrit.openafs.org/9285 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5a61e826fa0de6a5987f06257199476f79d2473a -Author: Simon Wilkinson -Date: Tue Feb 26 20:51:34 2013 +0000 - - afsmonitor: Check correct variable is non-NULL - - Before freeing curr_fsData, check that it is non-NULL, rather than - checking prev_fsData in error. - - Caught by coverity (#985289) - - Change-Id: I8fb74ce0c4e447de65924f2afb6075213d839760 - Reviewed-on: http://gerrit.openafs.org/9284 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c04de52da4e89e15b211b4a19a3d9bc4d612b209 -Author: Simon Wilkinson -Date: Tue Feb 26 12:10:17 2013 +0000 - - bosserver: Return error if key is bad - - If a key is bad, have SBOZO_ListKeys return an error, rather than - silently ignoring the result from ka_KeyCheckSum. - - Caught by coverity (#988413) - - Change-Id: Ifacc9bac654d2632bd31731995795b786d485327 - Reviewed-on: http://gerrit.openafs.org/9270 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c705a815a808e7eafd2043fe0ec0881d602342c5 -Author: Nickolai Zeldovich -Date: Wed Feb 27 05:08:40 2013 -0500 - - ptserver/testpt.c: remove dead code in ListUsedIds - - A part of the current ListUsedIds code is: - - range = abs(startId - maxId); - if (range < 0) - range = -range; - - The only way abs() could return a negative value would be if its - argument was INT_MIN (-2147483648) to begin with, because -INT_MIN - cannot be represented in two's complement. However, calling - abs(INT_MIN) is undefined behavior in C [see C99 7.20.6.1], and for - that matter, so would be computing -range (-INT_MIN) in that case, - so we could still be left with a negative range value. - - Luckily, (startId - maxId) can never be INT_MIN. If startId < 0, - then maxId <= startId, so in the worst case, when maxId = INT_MIN - and startId = -1, (startId-maxId)=INT_MAX. If startId >= 0, then - maxId >= startId, so in the worst case, when maxId = INT_MAX and - startId = 0, (startId-maxId)=-INT_MAX=INT_MIN+1. - - This patch removes the useless if statement. - - Change-Id: Ia754fcf3e59354afb40dbbbb95623e27285a5f82 - Reviewed-on: http://gerrit.openafs.org/9289 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit cc703d9562455c74767fcd6d2055339109fa9243 -Author: Simon Wilkinson -Date: Tue Feb 26 12:38:59 2013 +0000 - - volser: Catch EOFs when reading dumps - - When reading a standard tag, make sure and catch an EOF error - from iod_getc. Otherwise we'll end up trying to parse 0xFF as a - tag length. - - Caught by coverity (#985603) - - Change-Id: Iae0b1bf71ed495b4f454975a1bfe3aef8fca3e9e - Reviewed-on: http://gerrit.openafs.org/9275 - Reviewed-by: Derrick Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 96131593b329a319b22368a9ef37788fb4e5d4f4 -Author: Simon Wilkinson -Date: Tue Feb 26 12:30:00 2013 +0000 - - ptserver: Zero ubik header before writing to it - - When using pt_util's ubik shim, if we're creating a new ubik label - make sure to zero the whole structure before writing it out to disk. - Otherwise we get a shorts worth of stack garbage in the resulting - file. - - Caught by coverity (#986010) - - Change-Id: I0abb8b7968d4f25c97dc0927d63dd01099b829b7 - Reviewed-on: http://gerrit.openafs.org/9274 - Reviewed-by: Derrick Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 5d42398298ad4af91a08a08ce607754f644b37dc -Author: Mark Vitale -Date: Tue Feb 26 09:31:43 2013 -0500 - - vos: Unrecognized or ambiguous switch '-c' - - The documented abbreviation '-c' for '-cell' no longer works since - the -config option was added. Add a parm alias '-c' to restore - compatibility with previous syntax. - - Change-Id: Ie98e470d204ea2186a95668bba2581cf3e88f729 - Reviewed-on: http://gerrit.openafs.org/9276 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit daed548f70a2187c679232e4f79d703389419c4e -Author: Simon Wilkinson -Date: Tue Feb 26 12:26:36 2013 +0000 - - ptserver: Rename ubik.c as ptubik.c - - Coverity gets confused between ubik/ubik.c and ptserver/ubik.c, - and produces a load of false positives. Rename the ptserver ubik - shim (which is only used by pt_util) in order to reduce this - confusion. - - Change-Id: Ida606fccebcb4edfed706405424ff3ee4858020f - Reviewed-on: http://gerrit.openafs.org/9273 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4587ddc130547b4cce723476cfa798a03ccc0320 -Author: Simon Wilkinson -Date: Tue Feb 26 12:06:15 2013 +0000 - - bosserver: Catch failures to create daemon thread - - If we can't create the bozo daemon thread, then don't keep going - regardless. Just warn the user and exit. - - Caught by coverity (#988414) - - Change-Id: I46445b1744f7c3c944e917b33a6fc6fb669df002 - Reviewed-on: http://gerrit.openafs.org/9269 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 8192554e36272d5ed21007b4c0e3b6c56511457d -Author: Simon Wilkinson -Date: Tue Feb 26 11:59:56 2013 +0000 - - libadmin: Catch VL_GetNewVolumeId failures - - If ubik_VL_GetVolumeId fails in the vos ProcessEntries routine, - report the failure and give up, rather than continuing with a - 0 maxVolid - - Caught by coverity (#988417) - - Change-Id: I281e1c518813f9d7fab46e4f87a091fac6b3a754 - Reviewed-on: http://gerrit.openafs.org/9268 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit fb483acf626088ebce6f148c1e9644ce9c8c2045 -Author: Chas Williams (CONTRACTOR) -Date: Mon Feb 11 17:05:34 2013 -0500 - - afs: removing trailing semicolons - - Remove spurious trailing semicolons from macros. - - Change-Id: I26550a4ca8e8fe5232dad4cdb2c42a5f44a28f32 - Reviewed-on: http://gerrit.openafs.org/9092 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit d8fa251a14e9469fb6ec722d100b6a8557248694 -Author: Simon Wilkinson -Date: Tue Feb 26 12:21:59 2013 +0000 - - ubik: Zero header before writing to disk - - The ubik disk header contains a padding field, which is never - zeroed before being written out to disk. This means that there is - a shorts worth of stack garbage in every ubik label! - - Just zero the whole structure with memset before we populate it. - - Caught by coverity (#986011) - - Change-Id: Ib9f8b45111a83178372409c717c30ccb6a1044f4 - Reviewed-on: http://gerrit.openafs.org/9272 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e191cb889c941848fe09f04c24d969111e6dc494 -Author: Simon Wilkinson -Date: Tue Feb 26 12:17:29 2013 +0000 - - viced: Don't write out garbage when extending file - - When we extend a file, we write a single byte of data to it - tlen - is used as a source for this single byte. However, in the current - code, tlen is used uninitialised. Set it to 0, so we don't write a - byte of stack garbage. - - Caught by coverity (#986015) - - Change-Id: I11480a5ba0a5544437e18a6b314ff98ba6256df0 - Reviewed-on: http://gerrit.openafs.org/9271 - Reviewed-by: Derrick Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - -commit 3ad7ba106dea28277b9e1f7a7370ba17b9fb3d17 -Author: Simon Wilkinson -Date: Tue Feb 26 11:55:32 2013 +0000 - - fs: Catch pioctl failure in mkmount - - If the VIOC_FILE_CELL_NAME pioctl fails in fs mkmount, return an - error to the caller, instead of ploughing on with potentially bad - data. - - Caught by coverity (#988418) - - Change-Id: I68df5dd26d955db860dd016c76109f7d262bad17 - Reviewed-on: http://gerrit.openafs.org/9267 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 99929488511d13dab94491cac1d477062f9da741 -Author: Simon Wilkinson -Date: Tue Feb 26 11:52:01 2013 +0000 - - libafscp: NULL return value not pointer - - When afscp_FindCallBack sets its return-by-reference value to NULL, - it should do so to the value itself, not the pointer to it. - - Caught by coverity (#988419) - - Change-Id: I6b227465d7aa945d871b2db1cc4d1357cae493d3 - Reviewed-on: http://gerrit.openafs.org/9266 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 2ddec075985446e80fb12eb8a7d48b2088067b69 -Author: Simon Wilkinson -Date: Mon Feb 25 23:13:47 2013 +0000 - - Add krb5_enomem for config parser & kernel crypto - - The imported code form Heimdal that forms our config file parser - and kernel rfc3961 library now makes use of krb5_enomem. Provide - an implementation so we build again ... - - Change-Id: Ie7162d73aa97e6f7594c0e7c68ed6939f57ae884 - Reviewed-on: http://gerrit.openafs.org/9265 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a9fd0810d2425f9e0936c3c52903d73e9e74a6ab -Author: Heimdal Developers -Date: Mon Feb 25 23:00:46 2013 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 66f4c441e9e0de68fbcf81763642779ac5c33631 (git2svn-syncpoint-master-199-g66f4c44) - - Upstream changes are: - - Kumar Thangavelu (1): - unning "kinit --fast-armor-cache=xxx" against a Win2K3 domain resulted in a crash with the attached backtrace. FAST is not supported with RC4 keys which are used in Win2K3. The code already handles this but the error code is not propagated up the stack. - - Love Hornquist Astrand (1): - add socket_set_nonblocking - - Roland C. Dowdeswell (3): - Optimise _krb5_n_fold() a bit. - Use krb5_enomem() more consistently in lib/krb5. - Further improvements to lib/krb5/n-fold.c: - - Change-Id: I3b652e3ea3c84a939c4988bc8c24b3edee06446f - Reviewed-on: http://gerrit.openafs.org/9264 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 961fcc63640ee95e9b1cfebe92d71e3b9f3d9f52 -Author: Simon Wilkinson -Date: Thu Feb 21 16:18:26 2013 +0000 - - crypto: _afscrypto_strdup must copy trailing NUL - - The _afscrypto_strdup helper function was failing to alloc enough - space for the string's trailing NUL, and to copy that NUL over. - - Caught by coverity (#985580) - - Change-Id: I61c9a96275a79682a9521846ab52615ea5bc061d - Reviewed-on: http://gerrit.openafs.org/9263 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 00601179625ffb71461bbcc46629791895cf4793 -Author: Simon Wilkinson -Date: Wed Feb 20 14:54:55 2013 +0000 - - volser: Make it clear what's copied from partList - - XVolListPartitions uses partList to maintain a list of partition - IDs - it does not use the partFlags field. Make it clear when we - populate the partEntries field that we are only copying the - partition list. - - Caught by coverity (#986030) - - Change-Id: I8c46ee5c220f0cb2b65943ad5faa80877ca46685 - Reviewed-on: http://gerrit.openafs.org/9262 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2d4c9c08ea6e61c40df482d5aa2e1413179f6b94 -Author: Simon Wilkinson -Date: Mon Feb 25 10:32:22 2013 +0000 - - bucoord: Remove dead assignments in cmd init - - Don't assign command syntax objects to 'ts' if we're not going - to add any parameters to them - - Change-Id: I69f6e090fc115ab213c1f20dc46da81f2878e0a3 - Reviewed-on: http://gerrit.openafs.org/9260 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e2f4f60e3e3eb1476eefbff6cb98d6853cddc0df -Author: Simon Wilkinson -Date: Mon Feb 25 10:28:31 2013 +0000 - - butc: Remove dead initialisation - - The 'bytesread' variable is set by all code paths, so don't bother - assigning a default value each time we pass through the loop - - Caught by clang-analyzer - - Change-Id: I8b79bc888ba23e2bcfa9befb5bf034db8f3ca3f8 - Reviewed-on: http://gerrit.openafs.org/9259 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5474e1ccd77a3a40db3601f94556001610c82b95 -Author: Simon Wilkinson -Date: Mon Feb 25 10:26:33 2013 +0000 - - volser: Don't catch errors in cleanup - - We can't do anything if cleaning up the clone volume fails, so - don't bother storing the error code. - - Caught by clang-analyzer - - Change-Id: I5249dbad9a1bb732aba73e7a09f74c83e606b45d - Reviewed-on: http://gerrit.openafs.org/9258 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f63f7b90ebbd4133b9e12ca643c8d3ccb8d445be -Author: Simon Wilkinson -Date: Mon Feb 25 10:24:53 2013 +0000 - - bucoord: Remove dead initialisation - - matchLength is set regardless of what the separator is, so we don't need - to provide a default value. - - Caught by clang-analyzer - - Change-Id: Iac8fe8db8832cf2b3347ec1bdacc7245bddf542b - Reviewed-on: http://gerrit.openafs.org/9257 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit ec5ec48956e91932279ef025f0d98946f0f32585 -Author: Simon Wilkinson -Date: Mon Feb 25 10:15:10 2013 +0000 - - butc: Remove dead initialisation - - code is set to a real value on every code path, so don't bother - initialising it to 0 midway through the function. - - Change-Id: I334286f2ae854c57df781af8df78e5a1bf8e9b2b - Reviewed-on: http://gerrit.openafs.org/9256 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 92011f4e93209319b0ef41a962aefff40e4938e1 -Author: Simon Wilkinson -Date: Sun Feb 24 13:05:13 2013 +0000 - - volser: Remove redundant success flag - - In UV_RestoreVolume2, there is a success flag whose only use is ... - - success = 0 - [ ... ] - success = 1 - if (success) { - [ ... ] - } - - It's pointless, so just remove it, and one clang warning - - Caught by clang-analyzer - - Change-Id: I7d57531c4dfb8955b813d534ad3b72b182fdbc76 - Reviewed-on: http://gerrit.openafs.org/9255 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 356bdc8ca77a42e359fed64bef7d77d70e14e4a4 -Author: Simon Wilkinson -Date: Sun Feb 24 13:02:19 2013 +0000 - - budb: Don't double initialise iterator - - The blockaddr iterator is initialised as part of the for loop. - Don't also initialise it immediately before. - - Caught by clang-analyzer - - Change-Id: I97e7ced15fe204b3b2d797abbdce8b3f9a2b0c8d - Reviewed-on: http://gerrit.openafs.org/9253 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit dce2d8206ecd35c96e75cc0662432c2a4f9c3d7a -Author: Simon Wilkinson -Date: Sun Feb 24 12:53:59 2013 +0000 - - budb: Store dumper information correctly - - Change f498c18a6f7300eb89ca3b9d9b85c4d461fa8474 attempted to fix - a problem with using an inappropriate function to copy the - ktc_principal value 'principal' into the d.dumper structure element. - - Originally the code read: - principal_hton(&principal, &d.dumper) - - which copies the 'host' principal principal into the 'net' structure - d.dumper. However, this was changed to - principal = d.dumper - - Which populates 'principal' with whatever garbage is in the d.dumper - structure. - - Fix this so that the assignment is done the right way around. - - Caught by clang-analyzer - - Change-Id: Id9865a36b5a9351d013c695ed301b627ddc4a915 - Reviewed-on: http://gerrit.openafs.org/9252 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 2a2cae72d653fbfdada7dddd4b7e5d8aeedea2ee -Author: Simon Wilkinson -Date: Sun Feb 24 12:43:27 2013 +0000 - - budb: Simplify scanHashTableBlock - - We don't need to maintain two copies (entryAddr and nextEntryAddr) - of the entry address - rework the while loop so we just use one, - and make clang a little happier - - Caught by clang-analyzer - - Change-Id: I6f5d76e114ad09a4fd3fc36b4d64f63daa9e1e78 - Reviewed-on: http://gerrit.openafs.org/9251 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d09b300a96691b4848760fde02b4d0e741bc2584 -Author: Simon Wilkinson -Date: Sun Feb 24 12:36:02 2013 +0000 - - viced: Unused sentinel in h_stateVerifyUuuidHash - - The 'found' sentinel in h_stateVerifyUuidHash is unused, because - as soon as we set it, we jump out to the 'done' label. Simplify the - function's logic, and remove a static analysis warning, by just - removing the variable. - - Caught by clang-analyzer - - Change-Id: I02e5ccf857f5d84cd24975b7a1b9d516624ecd64 - Reviewed-on: http://gerrit.openafs.org/9250 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 9894b0ded9212e96308fc7df44005c513e8e6672 -Author: Simon Wilkinson -Date: Sun Feb 24 10:48:14 2013 +0000 - - bucoord: Remove dead initialisation - - offset is simply used as a copy of nextOffset for the GetText - function call. We don't need to initialise it to 0 at the start of - the loop (and arguably, as it is passed to the function by value, - we could just remove the copy entirely) - - Caught by clang-analyzer - - Change-Id: I137ea3ba1ff44d94b90287d9735db69d6ff8717d - Reviewed-on: http://gerrit.openafs.org/9249 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 82b3760c4ff71f9315c3e2d07c35b2ebd7ba6942 -Author: Simon Wilkinson -Date: Sun Feb 24 10:45:41 2013 +0000 - - butc: Remove dead assignment - - We never use the value of mvFlag once the string has been restored, - so don't bother reseting it. - - Caught by clang-analyzer - - Change-Id: I12db6957c9b8ec3bb9c43f10d9e9754d4afa3ed7 - Reviewed-on: http://gerrit.openafs.org/9248 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 3fbdc609dc025cfcaac6949485d6fb072bf34764 -Author: Simon Wilkinson -Date: Sun Feb 24 10:43:52 2013 +0000 - - budb: Fail if afsconf_GetExtendedCellInfo does - - Rather than silently ignoring the failure of - afsconf_GetExtendedCellInfo, and then using garbage cell - configuration, just fail to start if afsconf can't parse the - config directory. - - Change-Id: Ib3d26bc67844de10f7eb8c2ef555c5e607e4bf61 - Reviewed-on: http://gerrit.openafs.org/9247 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ca6d6bb9b06b54728ebe2c84e7b7d0ea1067aaa9 -Author: Simon Wilkinson -Date: Sun Feb 24 10:42:00 2013 +0000 - - volser: Remove dead assignment - - Don't initialise code immediately before we assign a real value - to it various UV_ functions - - Caught by clang-analyzer - - Change-Id: I91d9300715d44fafd73b1a61be548589468e3209 - Reviewed-on: http://gerrit.openafs.org/9246 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e4862e284832420e9dbf5a6f437f6f7c8801f7dd -Author: Simon Wilkinson -Date: Sun Feb 24 10:39:53 2013 +0000 - - butc: Catch failures to start keep alive thread - - If we can't start the keep alive thread, in either the LWP or - pthread versions of a code, report an error and exit instead of - carrying on regardless. - - Caught by clang-analyzer - - Change-Id: I0a25a236aadeedf10d3c0c129d716b1397c9a4e3 - Reviewed-on: http://gerrit.openafs.org/9245 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0cb0d44da3d35a9d58ad9714042ea15c7b85c65a -Author: Simon Wilkinson -Date: Sun Feb 24 10:36:57 2013 +0000 - - butc: Remove dead loop pointer allocations - - All of these *Ptr values are reset upon each iteration of the - while loop, so we don't need to NULL them immediately before - we go around again. - - Caught by clang-analyzer - - Change-Id: Iaa5ff6c7b154072e23eae272031919b424568eff - Reviewed-on: http://gerrit.openafs.org/9244 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a10e96b3aa631a0488532f88d3959fdf22265d35 -Author: Jeffrey Altman -Date: Mon Feb 25 00:17:46 2013 -0500 - - Windows: Test NameArrayReferenceCount before deletion - - In commit c753d398f2005c886932f20b49af15efc489a829 the - AFSDirectoryCB.DirOpenReferenceCount was split and the - NameArrayReferenceCount field was added. However, it failed to modify all - of the DirOpenReferenceCount checks prior to calling AFSDeleteDirEntry() - to include a check on the NameArrayReferenceCount. This patchset corrects - that oversight. - - Change-Id: I8db1a68e5240088bcfeb226bd1eafac0c83a0b69 - Reviewed-on: http://gerrit.openafs.org/9254 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 50a993385673ed083145f587c16d0c9dd444262e -Author: Simon Wilkinson -Date: Tue Feb 19 15:25:12 2013 +0000 - - kauth: realm can't be NULL when calling CellToRealm - - Despite what the static analyzer thinks, ka_CellToRealm can't be - called with a NULL realm. Just add an assert to close down that - code path, and stop it from producing an error. - - Change-Id: Ifc8cf7e5dca5ae29eaaa91c5b238a97197d89ee3 - Reviewed-on: http://gerrit.openafs.org/9174 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ff649d5bf51d78959de769e35eec61a5667d5939 -Author: Jeffrey Altman -Date: Sun Feb 24 14:01:28 2013 -0500 - - Windows: no side effects from AFSDbgLogMsg calls - - Do not perform assignments or call side-effect resulting functions - as parameters to AFSDbgLogMsg. - - Change-Id: I76eca3a82377543f4148d03af51a07886127b385 - Reviewed-on: http://gerrit.openafs.org/9242 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ea0441520138d2129b5c6b2bd16c7640a8680146 -Author: Simon Wilkinson -Date: Fri Feb 22 10:23:43 2013 +0000 - - viced: Allow GetCapabilities to return an error - - At the moment, the GetCapabilities RPC handler ignors errors from - CallPreamble or CallPostamble. Instead of silently swallowing these, - and potentially reutnring a bogus capabilities structure, make - it possible for the RPC to return failure to the caller. - - Caught by clang-analyzer - - Change-Id: Ic36e59e8cce8be4920f041a86d5636d54668d887 - Reviewed-on: http://gerrit.openafs.org/9241 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 1d1ba5f74102ae703ef657aa19150729edfe6ab2 -Author: Simon Wilkinson -Date: Fri Feb 22 10:20:58 2013 +0000 - - viced: Catch GetCellInfo failure - - If GetCellInfo returns a non-zero result, catch the error, rather - than just carrying on regardless. - - Caught by clang-analyzer - - Change-Id: I6b9ca91c8cea2ff0d68873913abdc0daadcc0e27 - Reviewed-on: http://gerrit.openafs.org/9240 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 11e1107684c92a6c9e3646d7d7c329ae1556147b -Author: Simon Wilkinson -Date: Fri Feb 22 10:16:10 2013 +0000 - - viced: Don't store rc from IH_DEC on error path - - If CopyOnWrite has already failed, and is taking the volume offline - for salvage we can't (and don't) do anything with further errors from - IH_DEC. Instead of assigning these to 'rc', just ignore them. - - Caught by clang-analyzer - - Change-Id: I7bcd82f124740e3ca3d11cb2b079aa7ea5751cf9 - Reviewed-on: http://gerrit.openafs.org/9239 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 66fea9b7d3cf4799600e8bab71729b3567497df9 -Author: Simon Wilkinson -Date: Fri Feb 22 10:09:39 2013 +0000 - - scout: Fix a lot of dead assignments - - In lots of places scout takes the return value of a graphics - function, then decides it doesn't actually care about the result. - - Get rid of the assignments, as they provide a false sense of - security. - - Caught by clang-analyzer - - Change-Id: I1ea8514b969777f1276b4e8f8ab946a4d36a870c - Reviewed-on: http://gerrit.openafs.org/9238 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f238d0d09e7cf6f28a47368bb026b45bd57be8d1 -Author: Simon Wilkinson -Date: Fri Feb 22 10:35:48 2013 +0000 - - gtx: Return failure if gtx_Init can't start thread - - If LWP_CreateProcess fails in gtx_Init return NULL, rather than - silently swallowing the failure. - - Caught by clang-analyzer - - Change-Id: I5db5667f9dae3f405e88cf9c57e6b8a069ea28a3 - Reviewed-on: http://gerrit.openafs.org/9236 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 75ef02d9dfb43079f111ea22ae351cf0eec13fab -Author: Simon Wilkinson -Date: Fri Feb 22 10:30:56 2013 +0000 - - afsmonitor: Allow CBSTATS collection to work - - The switch which selects the collection number was missing a - 'break', so selecting the CBSTATS collection would always fall - through to the default, error, case. - - Caught by clang-analyzer - - Change-Id: I354873d711c5f49ddad51f1b9fb332af91a6d13a - Reviewed-on: http://gerrit.openafs.org/9235 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit bd8f9528b0edae12bd534a70e7b31e4e40a45aab -Author: Simon Wilkinson -Date: Thu Feb 21 21:57:56 2013 +0000 - - bosserver: Don't store result when renaming core file - - The bosserver doesn't do anything if the core file rename fails, so - don't bother storing the result code. - - Caught by clang-analyzer - - Change-Id: I9b1b7d77404b0fd560c7735646e5afe1fbcc0752 - Reviewed-on: http://gerrit.openafs.org/9232 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 054c587fcc397be6123e90115e960bd63a7c4ba0 -Author: Simon Wilkinson -Date: Thu Feb 21 21:44:43 2013 +0000 - - bosserver: Remove dead assignment - - In the Restart RPC handler, don't assign a value to code - immediately before we use it to hold the return value of - bozo_WaitStatus. - - Caught by clang-analyzer - - Change-Id: I0781c57c87088cb3ba6170ca1e5c8d5053cf9001 - Reviewed-on: http://gerrit.openafs.org/9231 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit e28294a9def87b306be1e99c4eebdb86bd138405 -Author: Simon Wilkinson -Date: Thu Feb 21 20:53:02 2013 +0000 - - bosserver: Remove dead assignment in SaveOldFiles - - We don't care about whether the renames succeed in SaveOldFiles, - so don't bother assigning their results to a variable - - Caught by clang-analyzer - - Change-Id: I0605fc71d243ef0f587706f9f3856aa4d722fb82 - Reviewed-on: http://gerrit.openafs.org/9207 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d149f391b39f59428b2cbb55bdc5dc2429c99dfb -Author: Simon Wilkinson -Date: Thu Feb 21 20:50:07 2013 +0000 - - Unix CM: Remove dead assignment in readdir - - len is zeroed at the start of the next block, so don't bother assigning - tlen to it if we're not going to do anything with it. - - Caught by clang-analyzer - - Change-Id: Ie1cd5a4d9dd96920018f054b6edfc18c569c9807 - Reviewed-on: http://gerrit.openafs.org/9206 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ee0d57bb488e9fd74b46547273904a9821e20c57 -Author: Simon Wilkinson -Date: Thu Feb 21 20:36:19 2013 +0000 - - libadmin: Fix a lot of dead assignments in vsprocs - - Tidy up a lot of places where we initialise a variable, then - immediately assign a proper value to it, or store a return value - that we don't actually care about. - - Caught by clang-analyzer - - Change-Id: Icf0ec713dac6f2c4f0a60e8ead52a8d3e19381f0 - Reviewed-on: http://gerrit.openafs.org/9205 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c35c167d446810b3e5952b6b753632c0e4341f2c -Author: Simon Wilkinson -Date: Thu Feb 21 20:12:35 2013 +0000 - - gtx: Remove pointless assignments from gtxtest - - Remove assignments to 'code' when we're not going to pay attention - to them. - - Caught by clang-analyzer - - Change-Id: Ib2f8c20c0bc741d0bb1b8ed4fdb46ea61511fc95 - Reviewed-on: http://gerrit.openafs.org/9204 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3bbff16c6d34c905fab8fcb792c8606ea356e2a8 -Author: Simon Wilkinson -Date: Thu Feb 21 19:34:47 2013 +0000 - - Unix CM: Catch ICL initialisation failures - - If afs_icl_CreateLog fails, don't still call afS_icl_CreateSet. - If afs_icl_CreateSetWithFlags fails, don't ignore its error code. - - Caught by clang-analyzer - - Change-Id: I245f4391bbbf183492e8c13fb8f091b339cea80a - Reviewed-on: http://gerrit.openafs.org/9203 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cb8a103cb73aaa229ba34abc1b9704ab7ad5ba02 -Author: Simon Wilkinson -Date: Tue Feb 12 13:04:01 2013 +0000 - - rx: Fix wrong loop iterator in rx_clearProcessRPCStats - - Fix the use of an incorrect variable as loop iterator which would have - resulted in a crash. - - Caught by clang analyzer. - - Change-Id: I785d06b9be0915bc540c37b43d1001a562a7cde4 - Reviewed-on: http://gerrit.openafs.org/9202 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 63d1b17c255e6287e6b2cda3c28b2f5824bec345 -Author: Simon Wilkinson -Date: Wed Feb 20 11:18:28 2013 +0000 - - volser: Fix a couple of assigned but not read errors - - Fix a couple more errors where we assign to a variable, but never - read the result back out. - - Caught by clang-analyzer - - Change-Id: I78f8f1403d166c4231b0abdb607de77e9ed62a27 - Reviewed-on: http://gerrit.openafs.org/9201 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1b2a0e9fa78da65e9d9f56fe1cac514465fc14d2 -Author: Simon Wilkinson -Date: Wed Feb 20 11:17:41 2013 +0000 - - volser: Don't assign code when we don't care - - When we're cleaning up temporary volumes, we don't care whether - it succeeds or not. Don't assign code to the results of these - volume deletions, only to then discard it. - - Caught by clang-analyzer - - Change-Id: I81583cc82e78db38de8aad92c7c7d0c2f44eb33d - Reviewed-on: http://gerrit.openafs.org/9200 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ec53e0e71496ded3bc86efeb880a34b4a1f64fd5 -Author: Simon Wilkinson -Date: Wed Feb 20 11:16:25 2013 +0000 - - volser: Don't NULL conn right before assigning it - - Don't do - conn = NULL; - conn = rx_newConnection(); - - and similar, equally pointless things. - - Caught by clang-analyzer - - Change-Id: I54d9ccd9f3910624b3289ce067a27622e29e4a34 - Reviewed-on: http://gerrit.openafs.org/9199 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fa9558532b49b62af5876dbdd2aaf91cfe4a0c57 -Author: Simon Wilkinson -Date: Tue Feb 19 17:25:46 2013 +0000 - - fs: Remove redundant variable assignments - - Remove a number of redundant variable assignments that clang warns - about. - - Caught by clang-analyzer - - Change-Id: I248e0e3a9f9241084436604532424d6e4b900e31 - Reviewed-on: http://gerrit.openafs.org/9194 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 064f7ef2e8d8e2a7500ffdfe4d55d3ebc48f8226 -Author: Simon Wilkinson -Date: Tue Feb 19 17:22:08 2013 +0000 - - fs: Free parent_dir later in lsmount and flushmount - - If lsmount or flushmount encounter an error, then they may include - the contents of parent_dir in their error message. However, in both - cases, this was freed a couple of lines earlier. - - Just move the free() later, so that the contents of this variable - are still available. - - Caught by clang-analyzer - - Change-Id: Ideba52b7ba98f034baf923194007239a6cf0221f - Reviewed-on: http://gerrit.openafs.org/9193 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b6439fd4b0b381a2b2e33af5f0c76db1e72971bb -Author: Simon Wilkinson -Date: Tue Feb 19 17:19:53 2013 +0000 - - up: Notice errors on both file handles - - Report errors on both filehandles in up's Copy routine, rather - than just on the second one that we close. - - Caught by clang-analyzer - - Change-Id: Ia3aa9be91ccfca2993a4f27c291332e0b0d350f5 - Reviewed-on: http://gerrit.openafs.org/9192 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b7baf62d56cb8c1f207b885fb7c7a7b7105edef5 -Author: Simon Wilkinson -Date: Tue Feb 19 17:18:13 2013 +0000 - - fstrace: Remove redundant variable assignment - - Don't reset the value of 'code' when nothing else references it. - - Caught by clang-analyzer - - Change-Id: Ifd361ed6eb8c6b8740466f6c1a337669160874f4 - Reviewed-on: http://gerrit.openafs.org/9191 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit c457b106f14086bc1e0feab2eb8e27a3bcb87213 -Author: Simon Wilkinson -Date: Tue Feb 19 17:15:42 2013 +0000 - - fstrace: Avoid accessing icl log after zapping it - - The for loop in icl_EnumerateLogs looks up the next pointer in the - current entry after zapping it. Depending on reference counts, this - may result in us looking up freed memory. - - Take a copy of the next point before zapping the current entry, just - in case. - - Caught by clang-analyzer - - Change-Id: If38f0af2b01c5b8ea00e68e4432c6ad5517578c8 - Reviewed-on: http://gerrit.openafs.org/9190 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit d02757985de45b66e2d291d07918dffae15319a2 -Author: Simon Wilkinson -Date: Tue Feb 19 16:56:38 2013 +0000 - - xstat: Ignore return value from xstat_*_Cleanup - - We're about to exit anyway, so we don't care whether Cleanup - succeeds or not - - Caught by clang-analyzer - - Change-Id: I6350d60e6a5d29b8aaa272a54cf9ead47fdb5fad - Reviewed-on: http://gerrit.openafs.org/9186 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit bdce4701b2d4f75cacf1fbdf472bcac395345e32 -Author: Simon Wilkinson -Date: Tue Feb 19 16:45:39 2013 +0000 - - afsmonitor: Ignore return codes as appropriate - - When we're not interested in the return value of a function, don't - assign it to a variable. - - Caught by clang-analyzer - - Change-Id: I5b576f312376780c98c2dbe4f9b85e00d529ddd8 - Reviewed-on: http://gerrit.openafs.org/9185 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 7b0b710e03fc7030252470501cf16a2a8f2cdd40 -Author: Simon Wilkinson -Date: Tue Feb 19 16:34:14 2013 +0000 - - sys: Flag rmt_Quit as AFS_NORETURN - - Help out the static analyzer by telling it that rmt_Quit never returns - - Change-Id: I5ee0d2ea444706e68af5a1298fd638e7d0d7f41d - Reviewed-on: http://gerrit.openafs.org/9184 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f9eab19d82a99b1bbec2b66b42c9eb81dbbe7f97 -Author: Simon Wilkinson -Date: Tue Feb 19 16:31:28 2013 +0000 - - rxkad: Remove redundant checkCksum initialisation - - checkCksum is assigned to by both sides of the if() expression, so - there's no need to initialise it to 0. - - Caught by clang-analyzer - - Change-Id: Id0e286943e11b6948231577085cdb0ce96bb0b97 - Reviewed-on: http://gerrit.openafs.org/9183 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 58529bd8b055dc1afc567d0cb7749841ce2897d5 -Author: Simon Wilkinson -Date: Tue Feb 19 16:15:29 2013 +0000 - - ubik: Don't leak memory if mutex init fails - - If we can't initialise the ubik_client mutex, don't leak the - structure when returning an error. - - Caught by clang-analyzer - - Change-Id: Ib36d2ddf585a31b628e56dce1f33ee859fc835bc - Reviewed-on: http://gerrit.openafs.org/9182 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit b92fbc217c80af7554bbf6dc34de720da8f01c5c -Author: Simon Wilkinson -Date: Tue Feb 19 16:13:34 2013 +0000 - - ubik: Don't record result of select() - - We never do anything with the return value from select(), so don't - bother storing it into code. - - Caught by clang-analyzer - - Change-Id: I6e0352b74f0e90b62ad32a3ef1a9d0173bf307ee - Reviewed-on: http://gerrit.openafs.org/9181 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 5cefa0247fe4f22f769e366a207fb177ee8fb94f -Author: Simon Wilkinson -Date: Fri Feb 22 09:51:24 2013 +0000 - - kauth: Don't ignore GetExtendedCellInfo failures - - Don't ignore a failure from afsconf_GetExtendedCellInfo, as it will - leave buffers that we later read uninitialised. - - Caught by clang-analyzer - - Change-Id: Ia0c2675a3083385d011fd340f36bf13373f89feb - Reviewed-on: http://gerrit.openafs.org/9180 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 4213ef986ffbb4eee7a859a8edd4493deed08362 -Author: Simon Wilkinson -Date: Fri Feb 22 09:47:57 2013 +0000 - - kauth: Catch ka_KeyCheckSum failures - - If ka_KeyCheckSum fails, typically because the key being used is bad, - catch the failure rather than just silently ignoring it. - - Caught by clang-analyzer - - Change-Id: Id51174fdf94356db10961690808670da372bc60e - Reviewed-on: http://gerrit.openafs.org/9179 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit e7035b876f6c3e1bcf1053910f6ae74115f7b039 -Author: Simon Wilkinson -Date: Tue Feb 19 15:15:42 2013 +0000 - - kauth: Fix some unnecessary variable assignments - - Remove various places where a variable is assigned to, and then the - result never read. - - Caught by clang-analyzer - - Change-Id: Id8b7aeb6c54b7c93093ad44df5a9fe01575f2fbe - Reviewed-on: http://gerrit.openafs.org/9172 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5acb1a0f323a6692cca66ee3aa4c7e5f1a0f24f2 -Author: Simon Wilkinson -Date: Fri Feb 22 16:54:17 2013 +0000 - - Unix CM: Fix byte accounting for storebehind - - In the current version of CacheStoreDCaches, the stored variable is - maintained within the for loop that iterates over the chunk list. This - means that it is reset to 0 each time we handle a new chunk. - - However, this means that our progress is no longer accurately tracked, - as (bytes - stored) no longer gives the number of bytes which remain to - be transfered. In fact, as stored is zeroed with each loop iteration, - (bytes - stored) == bytes. This means that store behind is no longer - activated according to the users settings. - - Prior to commit 334114ac58b0039ae90d7e29fa2f019fe068bd79, the - stored variable was maintained within the outer, function, scope. - Just move it back there to restore the previous behaviour. - - Caught by clang-analyzer - - Change-Id: I248ed81f1331f4d3d4ed2e1206acebb0a8200762 - Reviewed-on: http://gerrit.openafs.org/9237 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e76966e22ec234070157ef9179d96c2ccdb80075 -Author: Simon Wilkinson -Date: Thu Feb 21 22:15:11 2013 +0000 - - Unix CM: Don't zero args on dcache failure - - Even if allocating the dcache fails, there's no point zeroing the - parameters to the allocation function, as those changes aren't - visible outside of that function. - - Caught by clang-analyzer - - Change-Id: Ieb91b525e818b73e38b8d78a55d170d36273177c - Reviewed-on: http://gerrit.openafs.org/9234 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 983d67616b670c5d57c8c67578fdb52f2bb3ddbd -Author: Simon Wilkinson -Date: Thu Feb 21 22:10:38 2013 +0000 - - Unix CM: Fix bogus character in license string - - A stray $ had crept into the license string in afs_dcache.c. Fix it. - - Change-Id: I1ab096aadb947cb08318a56b9ae21ed0786d3339 - Reviewed-on: http://gerrit.openafs.org/9233 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 6ef224da14da88318ede836a2c80998299c93e2f -Author: Simon Wilkinson -Date: Thu Feb 21 21:29:56 2013 +0000 - - bos: Don't set up the conenction twice in AddKey - - AddKey calls GetConn twice - once at the start of the function, - and then again immediately before calling BOZO_AddKey. This leaks - a connection... - - Caught by clang-analyzer - - Change-Id: I5c593de56e7f61fb21b973a34bea1a5b4f4a3177 - Reviewed-on: http://gerrit.openafs.org/9230 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 7684dbd82a4ff4883fed40f3a84269d93fa23e4b -Author: Simon Wilkinson -Date: Thu Feb 21 21:24:33 2013 +0000 - - bosserver: Don't check if daemon thread starts - - We don't do anything with the return code from the LWP_CreateProcess - that starts the daemon thread, so don't bother recording it at all. - - Caught by clang-analyzer - - Change-Id: I9310bdd90236a90d71dc202c73d7e06ea58a31f8 - Reviewed-on: http://gerrit.openafs.org/9229 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit fc527bf139c2149657a93b91abe2b7406484f55b -Author: Simon Wilkinson -Date: Thu Feb 21 21:16:40 2013 +0000 - - vlserver: Remove dead assignment - - Don't assign the serverNumber to j, when we're just about to try - and get it from a multi homed extent record - - Caught by clang-analyzer. - - Change-Id: I79349ff211b5df2d16e6ee9122dbb28b04ad7823 - Reviewed-on: http://gerrit.openafs.org/9228 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 5d2d68f8acc31568b48a8cdf7959600cb56e8f9e -Author: Simon Wilkinson -Date: Thu Feb 21 20:55:35 2013 +0000 - - bosserver: Remove a couple of dead assignments - - Remove a couple of places where we initialise a variable, only to - assign a new value to it a few lines later. - - Caught by clang-analyzer - - Change-Id: I096b80cce851f3494475e6f9683715b081ff8375 - Reviewed-on: http://gerrit.openafs.org/9208 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e595d35c182e47abcbcddfc5b1de9cc780214ee9 -Author: Simon Wilkinson -Date: Tue Feb 19 17:12:54 2013 +0000 - - afsio: Remove redundant assignment - - tbuf is assigned to during the initialisation phase of all of the - for loops that follow, so just remove this assignment - - Caught by clang-analyzer - - Change-Id: I3f2ffc8cee93768bd03e0abf3b391e1f6c45c70f - Reviewed-on: http://gerrit.openafs.org/9189 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9a8fa5d64fa5ab35dcd9dbced48eee00a0d614cc -Author: Jeffrey Altman -Date: Sat Feb 16 20:22:27 2013 -0500 - - Windows: ReleaseNotes reformatting - - Oxygen 14.2 automatically reformatted the text. - - Change-Id: I387627948f449c96ed3ab112371752f4673b24d9 - Reviewed-on: http://gerrit.openafs.org/9212 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2ca80b4b6a3fde34b5eeeba37d2df5a9e253d787 -Author: Jeffrey Altman -Date: Sun Dec 16 12:42:17 2012 -0500 - - Windows: Direct IO Support for Service - - This patchset implements and enables by default the new - Direct IO pathway between the AFS redirector and the afsd_service.exe. - When Direct IO is enabled all reads and writes are performed by the - AFS redirector locking memory allocated by the kernel and mapping it into - the service's memory address space. - - The service supports cache bypass in this mode when the - AFS_REQUEST_FLAG_CACHE_BYPASS flag is set in the request from the - redirector. When cache bypass is active, the AFSCache file is ignored and - data is either directly fetched from or stored to the file server. Cache - bypass is enabled by IIS and other applications that request no - intermediate buffering when opening file handles. This is often done - because the application implements its own data caching. All cache bypass - store operations are synchronous. - - When cache bypass is not enabled, the memory region provided by the AFS - redirector is either used to populate the cm_buf_t objects or is populated - by them. When cache bypass is not enabled, one outstanding store - operation can be in flight asynchronously to improve performance. - - Direct IO is enabled by default and can be disabled by creating the - registry value. - - ..\Services\TransarcAFSDaemon\Parameters - "DirectIO" DWORD 0x0 - - Change-Id: I3cac3660c8b8eded58226ba4a819692c454704a8 - Reviewed-on: http://gerrit.openafs.org/9211 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit be0296a8ade48c8944056999eab787bc0db1a01f -Author: Peter Scott -Date: Fri Jan 25 00:46:37 2013 -0500 - - Windows: Direct IO for AFS Redirector - - Implement a new IO processing model in which extents are not passed between - afsredirlib.sys and afsd_service.exe. Instead the AFSCache file is - maintained exclusively by the service and the redirector locks kernel - memory, maps it into the service's address space, and permits the service - to manage all IO directly. - - This interface adds an AFS Cache Bypass option to the AFS Redirector which - is activated when the file handle has been opened with the no intermediate - buffering option. - - This patchset implements the kernel interface. A subsequent - patchset will implement the service component. - - Assisted by Jeffrey Altman - - Change-Id: I25a4764db060b3b3f2b0de4006479dd3a220c6eb - Reviewed-on: http://gerrit.openafs.org/9210 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 49329541a13cdee3361d0246256a27d2a5ee8bef -Author: Jeffrey Altman -Date: Fri Jan 25 02:21:27 2013 -0500 - - Windows: Add flag BUF_GET_FLAG_BUFCREATE_LOCKED - - Modify the buf_Get() and buf_GetNewLocked() interfaces to - permit the cm_scache.bufCreateLocked lock to be held prior to - calling to buf_Get(). Holding the cm_scache.bufCreateLocked lock - before the buf_Get() call prevents a race with another thread - that attempts to set the file size. - - Change-Id: I54b13c83801a4d9a2078552d5be7ada6f4607850 - Reviewed-on: http://gerrit.openafs.org/9209 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 225b0e80854ac5c1584b46a75358caeb6638cd24 -Author: Jeffrey Altman -Date: Sat Feb 16 17:51:12 2013 -0500 - - Windows: Set AFS_OBJECT_FLAGS_DIRECTORY_ENUMERATED - - Set the ObjectInformationCB AFS_OBJECT_FLAGS_DIRECTORY_ENUMERATED flag - from within the AFSEnumerateDirectory() function and not from its callers. - - Change-Id: I2bddedba1165557679ddd9c637dbeb85cd74e1de - Reviewed-on: http://gerrit.openafs.org/9119 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b7ba97ad537bd0e9a241f052ddd1c3a50c74745b -Author: Peter Scott -Date: Fri Feb 15 08:44:06 2013 -0500 - - Windows: Permit direct to service non-wildcard lookups - - The AFS redirector has required that directories be fully enumerated - when the directory object is opened. This is a very expensive - operation involving large numbers of file server RPC round trips for - directories with tens of thousands of objects and those containing - symlinks. - - This patchset delays directory enumeration for the last component - in a path until such time as dirctory data is requested by the - application. If the request is for a non-wildcard pattern, the - service will be asked to provide the details for just the one required - object. - - Delaying the directory enumeration improves performance for - GetFileAttributes[Ex], GetDiskFreeSpace[Ex], GetVolumeInformation, - and GetNamedSecurityInfo Win32 API calls. In those cases it is - no longer necessary to enumerate the target directory at all. - - Change-Id: I7ef2fbafff925697d8b40e56837ef53bfcc78542 - Reviewed-on: http://gerrit.openafs.org/9118 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0dd623ea9a933091ea9f9624558885ec6961b0f1 -Author: Jeffrey Altman -Date: Mon Feb 18 23:11:27 2013 -0500 - - Windows: EvalByName pass LastComponent flag - - Add AFS_REQUEST_FLAG_LAST_COMPONENT flag for use with - AFS_REQUEST_TYPE_EVAL_TARGET_BY_NAME requests to the service. - When set the service will perform cm_Lookup calls without the - CM_FLAG_CHECKPATH flag set. - - Change-Id: I47ec2fb8b1e2699f2d87a6625b1db549ecb4e03d - Reviewed-on: http://gerrit.openafs.org/9133 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6896ca2cc33bfc80e72a71af2b0588e74234644c -Author: Jeffrey Altman -Date: Mon Feb 18 21:26:23 2013 -0500 - - Windows: EvaluateByName support case-insensitive lookups - - Directory lookups in AFS should favor case-sensivite matches - but permit case-insensitive matches otherwise. The service - should not follow mount points. The redirector exposes mount - points as junctions. - - Change-Id: I34c9244e2756a926f29bbf184dc250e7a29d264f - Reviewed-on: http://gerrit.openafs.org/9132 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 03bac87d167c101ae8042162b11c246a95575528 -Author: Jeffrey Altman -Date: Mon Feb 18 10:37:49 2013 -0500 - - Windows: IO Subsystem Trace modifications - - Display file offsets consistently as %0I64X. - - Change-Id: Ib1484ef99fbf055ec4bc00e17469e0daa9661e96 - Reviewed-on: http://gerrit.openafs.org/9129 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 6e6c1b9aa2e1937c7b6dbbf2a6987181e3ff7711 -Author: Rod Widdowson -Date: Tue Feb 19 16:12:26 2013 +0000 - - Windows: Move work item queues over to the Control Device - - Currently, when the library is unloaded it stops all worker - threands and then evaporates the work item queues. Thus - any work items which are pending will disappear. - - Whilst it is OK that the threads going away, any work items need to - remain queued so that when the library is restarted the work - can continue. This checkin does this by moving the work item - queues and their synchronization primitives into the FS maintained - Control Device Object Extension. The list of worker threads - remains in the Library Device Object Extension. - - Change-Id: If5c7cd3bdfea1a368c8df69649e627bac3a9585f - Reviewed-on: http://gerrit.openafs.org/9139 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 6136b236c4ac1b63531665862701d0e2d2916d35 -Author: Jeffrey Altman -Date: Mon Feb 18 10:34:59 2013 -0500 - - Windows: Initialize Irp->IoStatus.Information earlier - - Initialize Irp->IoStatus.Information to zero immediately upon - beginning processing of the IRP in the write path. - - Change-Id: I8d5a717ae8cd3bc44c2a9a65b34fd0549862d293 - Reviewed-on: http://gerrit.openafs.org/9128 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 11aa3e09e591b325e80c5d4a420051923f121b82 -Author: Rod Widdowson -Date: Mon Feb 18 10:33:29 2013 -0500 - - Windows: Call CcDeferWrite rather than loop - - If we are about to write into the cache and we do not have enough - memory we call CcDeferWrite and return STATUS_PENDING. This allows - the cache to call us back when there is memory. - - The write is performed on the IO queue which is shared wth paging - writes. However this does not cause paging writes to block in a - memory shortage situation since the request will either be deferred - again (releasing a thread to service a paging write) or will complete - quickly. Further we allocate all our resources upfront so we fail - fast and in the appropriate place. - - Change-Id: I4efbc14a97d3b34236643973f1f8f85c7ea194a6 - Reviewed-on: http://gerrit.openafs.org/9127 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 82161c478a871d959daf7f3ffb4d38d1bfabe6d6 -Author: Rod Widdowson -Date: Fri Feb 15 05:57:29 2013 -0500 - - Windows: Allow the Library to pend a write request - - If the library pends a request pending memory becoming available - then the FS must ensure that the library stays loaded until the - IRP is completed. - - Change-Id: Idbfdd84ecd364c99d3ad9cd8dd7e000f47be4b58 - Reviewed-on: http://gerrit.openafs.org/9126 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6c1d28958db1c0ec50b41274dffa9c58e448a9db -Author: Rod Widdowson -Date: Fri Feb 15 06:48:08 2013 -0500 - - Windows: AFSWriteCommon collapse redundant condition - - We never get non cached and yet paging IO. Even if we did it would - be inappropriate to call CcCanIWrite. Therefore, collapse two if - statements into one. - - Change-Id: I95c9030836e4f7dc4f7867a8b8b09b97bf57b429 - Reviewed-on: http://gerrit.openafs.org/9125 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 5e859ff2c35735729a030e9297e296595f750e22 -Author: Simon Wilkinson -Date: Tue Feb 19 17:11:50 2013 +0000 - - afsio: Ignore return values from afscp_SetDefault* - - We don't do anything with the return values from afscp_SetDefaultCell - or afscp_SetDefaultRealm, so just ignore them. - - Caught by clang-analyzer - - Change-Id: Ib7d9e637e5d08df28ad0085302811b243fb21768 - Reviewed-on: http://gerrit.openafs.org/9188 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba8afdc344a482487008dad325442d71c8bbe526 -Author: Simon Wilkinson -Date: Tue Feb 19 17:09:15 2013 +0000 - - afsio: Don't leak memory on GetVenusFidBy* failure - - The GetVenusFid functions all allocate the fid structure immediately - upon entry to the function. When we return with an error, that structure - is never freed. - - Update the call sites so that we don't leak this memory. - - Caught by clang-analyzer - - Change-Id: Iec62316d0fd542e70634f384c8319f90ba6b2649 - Reviewed-on: http://gerrit.openafs.org/9187 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f67e4a3cdfb1856e31dda0d4741c8d34df13f8fc -Author: Simon Wilkinson -Date: Tue Feb 19 17:53:11 2013 +0000 - - libafscp: Actually return callback from FindCallback - - Fix FindCallback so that it actually returns the callback that it - found. This requires changing the function prototype so that the - third parameter is passed by reference, and updating the single - call site. - - Caught by clang-analyzer - - Change-Id: I420647e9cfd119cf1a26456a91d595b8154ddd85 - Reviewed-on: http://gerrit.openafs.org/9198 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 86c7369ffadecb0666f75c87469370b66132877f -Author: Simon Wilkinson -Date: Tue Feb 19 17:46:04 2013 +0000 - - libafscp: Move server lookup inside AFSCP_DEBUG - - We only use the results of the server lookup when AFSCP_DEBUG - is defined, so only bother actually doing the lookup when that - is set. - - Caught by clang-analyzer - - Change-Id: If79177e9d06817592b0630db7050cf3d40f3ee5f - Reviewed-on: http://gerrit.openafs.org/9197 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 735c9cff53bbf6f2b250a719507d7909e77c48e2 -Author: Simon Wilkinson -Date: Tue Feb 19 17:30:14 2013 +0000 - - libafscp: Don't free bogus ptr in ResolvPathFromVol - - afscp_ResolvPathFromVol makes a copy of the path passed to it using - strdup. It then iterates across that, removing initial '/' characters. - However, this iteration means that 'p' no longer points to the start - of the allocated memory - when we free 'p', we may actually be freeing - an offset into the block, which will make malloc unhappy. - - Make a copy of the result from strdup, and use that to free the block. - - Caught by clang-analyzer - - Change-Id: I0e7d8c7cf3b70baa4868c65fb4c3a32474557628 - Reviewed-on: http://gerrit.openafs.org/9196 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f82acb79f25ab97b565c74ef64a7d3573a13b682 -Author: Simon Wilkinson -Date: Tue Feb 19 17:28:12 2013 +0000 - - libafscp: Fix leak when afscp_ResolvPath errors - - If afscp_DefaultCell fails, then afscp_ResolvPath returns without - freeing the memory allocated to 'p' by strdup. - - Fix this by adding a free() in the appropriate place. - - Caught by clang-analyzer - - Change-Id: Ic2691d209c913cd600d9a9a1ebb4614dff35aa3b - Reviewed-on: http://gerrit.openafs.org/9195 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 860c34ba938602387f78c10c2f548fb8a523a9cd -Author: Simon Wilkinson -Date: Tue Feb 19 15:43:29 2013 +0000 - - ptserver: Don't ignore ubik_Write failures - - If we can't write to the ubik database, then that's a bad thing. - Don't ignore it. - - Caught by clang-analyzer - - Change-Id: I08b57a74405cc563c6141251fd3d433b2904ea0e - Reviewed-on: http://gerrit.openafs.org/9176 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit df0b2d6775523d12fe18043bf392c80533c7b38a -Author: Simon Wilkinson -Date: Tue Feb 19 15:46:52 2013 +0000 - - ptserver: Tidy malloc handling in readpwd - - Tidy up the malloc handling in readpwd, so that we don't leak memory - if the user specifies multiple -c arguments. Also avoid assuming that - free(NULL) will always work. - - Change-Id: I95f3fe908572cb5be2d30345ccae0a2858622bd5 - Reviewed-on: http://gerrit.openafs.org/9178 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7f9f54c9192715af39a9653004807ac31ccef7fb -Author: Simon Wilkinson -Date: Tue Feb 19 15:44:21 2013 +0000 - - ptserver: Remove some unnecessary assignments - - Remove some assignments where we do nothing with the results - - Caught by clang-analyzer - - Change-Id: I6990a6b21ced10500275176af3f85b7f1cabd334 - Reviewed-on: http://gerrit.openafs.org/9177 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0ecd78058c5f78bbb88952993abd0003625b82e7 -Author: Simon Wilkinson -Date: Tue Feb 19 15:27:58 2013 +0000 - - libacl: Remove unnecessary assignment - - Don't assign i to j, when we never use j again in the function - - Caught by clang-analyzer - - Change-Id: I9dd2d929019ac3cc84cde4e44c4883806bd5964a - Reviewed-on: http://gerrit.openafs.org/9175 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a2aad6f4519cba38f3f0aaa03d108de4b0119be5 -Author: Simon Wilkinson -Date: Tue Feb 19 15:23:25 2013 +0000 - - kauth: Don't store the old signal routine - - If we're not going to make use of the return from signal() don't - bother assigning it to a variable - - Change-Id: I03cae7ab91d49e90f150a9dc4358c173920adc28 - Reviewed-on: http://gerrit.openafs.org/9173 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 95a05f49ea303b2a25c4465bf1bbe333fb869911 -Author: Simon Wilkinson -Date: Tue Feb 19 15:11:33 2013 +0000 - - kauth: Remove unused assignments to bp - - We never use the character pointer once we've advanced it past the - slash, so don't bother doing the work of advancing it. - - Caught by clang-analyzer - - Change-Id: I8ea561d6756685a13892f0635fa2e19b3f1233ab - Reviewed-on: http://gerrit.openafs.org/9171 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 68ce3aa814a7e3085242e705f013f05ed5da2d5c -Author: Simon Wilkinson -Date: Tue Feb 19 15:09:41 2013 +0000 - - kauth: Remove unused lclpw structure from klog - - klog assigns into, but never references, the lclpw structure. Just - remove it. - - Caught by clang-analyzer - - Change-Id: I8e94f97ee3ee6cb15193ad80dd9aef39e6f8490b - Reviewed-on: http://gerrit.openafs.org/9170 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 37a3417f23b16a828485de496e495eb71f03fd1e -Author: Simon Wilkinson -Date: Tue Feb 19 14:59:10 2013 +0000 - - volser: Remove needless initialisation - - Remove a number of places where we initialise a variable to NULL - immediately before we assign a real value to it. - - Caught by clang-analyzer - - Change-Id: I74ece8f3a82a5c768d769b74b4ccce12195fc216 - Reviewed-on: http://gerrit.openafs.org/9169 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit edbbcf5b6283db5f3d9b7b06b072bb43b5019baf -Author: Simon Wilkinson -Date: Tue Feb 19 14:51:30 2013 +0000 - - volser: Remove masked assignment in vol_split - - The declaration (and assignment) to size at the outermost scope - in the copyVnodes function is masked by a later declaration at a - inner scope. - - Just remove the outer declaration to clarify what's happening. - - Caught by clang-analyzer - - Change-Id: If23bdcf8a4c2d23d6224762fecce35be9cf15873 - Reviewed-on: http://gerrit.openafs.org/9168 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 9122f81d15f777c996fd26fa52071807886b511e -Author: Simon Wilkinson -Date: Tue Feb 19 14:44:14 2013 +0000 - - vos: aserver is private - - The server specified on the command line is used directly to - initialise the attributes structure. Move the variable so it's - local to the block which uses it, and remove the function-wide - initialiser. - - Caught by clang-analyzer - - Change-Id: Ia636fae2ed505f6958cefbfbaa72ef7e37edec98 - Reviewed-on: http://gerrit.openafs.org/9165 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e816db093b7d4e85eaa23661bb9dba851b1e534e -Author: Simon Wilkinson -Date: Tue Feb 12 12:59:08 2013 +0000 - - auth: Avoid double free in key parsing - - There was an error path whilst reading an extended key file which could - result in a key being freed using free(key), and then freed again - through the afsconf_typedKey_put() mechanism. Remove this double free. - - Caught by clang-analyzer - - Change-Id: I40bff56eddf4cb499ae5b7effdaf82f22379109d - Reviewed-on: http://gerrit.openafs.org/9147 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2ee578d80034d8c636ebc1b242942865eb338f4f -Author: Simon Wilkinson -Date: Tue Feb 12 13:54:18 2013 +0000 - - ptserver: Use correct structure type in malloc - - prentries is a list of 'struct prlistentries' objects, not a list of - 'struct prentry'. Use the correct type in our call to malloc. - - Caught by clang analyzer - - Change-Id: I6c36e4b875eafb8aff6506cf800d47b45a79825d - Reviewed-on: http://gerrit.openafs.org/9150 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d7e7f18887ab8cd4b4539aaf978a7d98a9b38a27 -Author: Simon Wilkinson -Date: Tue Feb 19 14:48:59 2013 +0000 - - vol: nuke() doesn't need to zero code - - We don't need to zero the result code two lines before we assign - a new value to it - just remove the pointless assignment - - Caught by clang-analyzer - - Change-Id: I8fefdc839ef9980d7f7703add3b11b089d524d38 - Reviewed-on: http://gerrit.openafs.org/9167 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit c696be982773ffbee5e7442cc1425f664078aace -Author: Simon Wilkinson -Date: Tue Feb 19 14:47:56 2013 +0000 - - vol: nuke() doesn't need to maintain next inode ptr - - ni is unused on the true side of the if expression in nuke() - so - just don't bother populating it. - - Caught by clang-analyzer - - Change-Id: Idfd088f999f4c4bcdabc03b8b86636aa02541343 - Reviewed-on: http://gerrit.openafs.org/9166 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 538f8d836376116edf99af17b040bc1aeea72390 -Author: Simon Wilkinson -Date: Fri Feb 15 16:35:08 2013 +0000 - - rxgen: Remove pointless assignment - - The value we assign to defp is never used (it's almost immediately - overwritten), and it is guaranteed to be the same as the existing - value. So, just remove the assignment. - - Caught by clang-analyzer - - Change-Id: I362fe08c623b5046f2c8b0b16c42dcfa12009981 - Reviewed-on: http://gerrit.openafs.org/9162 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 58cb6e60a8189e05cb5fd15172b09cbe6120fdc7 -Author: Simon Wilkinson -Date: Fri Feb 15 16:10:18 2013 +0000 - - rxgen: Fix memory leak - - Don't leak the definition structure when we hit the end of the file - - Change-Id: Ief44bb3bdff274167760fda5bcc16903ef8c11ce - Reviewed-on: http://gerrit.openafs.org/9159 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0d28f8c0cec91d68023795e6ba9c769d60869f9e -Author: Simon Wilkinson -Date: Fri Feb 15 16:05:33 2013 +0000 - - rxgen: Fix NULL pointer dereference - - Avoid a NULL pointer dereference if strchr doesn't find any occurence - of '*' in the string. Whilst we handle the not found case when inserting - a mid string terminator, we don't handle it when restoring the string to - its previous value. - - Change-Id: Ie0b3e18d89073a1694bba2749111c73f59150bdb - Reviewed-on: http://gerrit.openafs.org/9158 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1e4800e1c6caf168890c3933855d741bc1312335 -Author: Simon Wilkinson -Date: Fri Feb 15 16:01:26 2013 +0000 - - rxgen: Silence some uninitialised variable warnings - - Change-Id: Ida939533afbbf2afb81cce44ea6693d33c172062 - Reviewed-on: http://gerrit.openafs.org/9157 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6d2d18dfebaea74a30f263e743bdbd1fb14f0580 -Author: Simon Wilkinson -Date: Fri Feb 15 11:55:37 2013 +0000 - - Fix incorrect sizeof() arguments in allocations - - In a number of places we have - - struct X *val; - val = malloc(sizeof(struct Y)); - - If sizeof(struct Y) < sizeof(struct X) this is obviously dangerous, - but it is incorrect regardless of the relative sizes of the - structures. Fix all of the occurences of this that clang points out - to us. - - Caught by clang-analyzer - - Change-Id: Iad32b4ae460d3f40a45cf33624973bf52fd167d4 - Reviewed-on: http://gerrit.openafs.org/9156 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit 03c04c081a170668e52127be3c150582e458e1ed -Author: Simon Wilkinson -Date: Fri Feb 15 11:37:47 2013 +0000 - - Don't allocate objects of 0 length - - Fix assorted places in the code where we might have asked malloc to - allocate a block of zero length. - - Caught by clang-analyzer - - Change-Id: I6e1226ad83a52984ee7c53cbed8c867f38e4f866 - Reviewed-on: http://gerrit.openafs.org/9155 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 429b9ec350670a9d51948fff3e555371a45f7905 -Author: Simon Wilkinson -Date: Fri Feb 15 16:23:16 2013 +0000 - - aklog: Don't reference freed node whilst deleting - - Because deletion is implemented using a for loop, the step of the - loop that moves us to the next node references freed memory when - we've deleted an element. Fix this by just shortcircuiting the - return from the function so we immediately exit. - - Change-Id: Ia820b20ce5937ac86d849cb746b3bc21f46550fa - Reviewed-on: http://gerrit.openafs.org/9161 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit e2e415e9846ee45297af53f659e43d06e49ee6ea -Author: Simon Wilkinson -Date: Tue Feb 19 14:41:26 2013 +0000 - - vos: Remove unused 'done' loop variable - - In SendFile we break at the same time as setting the done flag, - so its value is never checked. Just remove it as it is redundant - with the current loop logic. - - Caught by clang-analyzer - - Change-Id: Ibf8f756b06fd26cb2013ece97eb9196c71ad88bd - Reviewed-on: http://gerrit.openafs.org/9164 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 17154a3c0afa88f7bb25e2b642fc13ee69c2b7db -Author: Simon Wilkinson -Date: Fri Feb 15 22:34:36 2013 +0000 - - libadmin: Don't try to release garbage connection - - In bos_ServerOpen, initalise the contents of bos_server structure - to 0 using calloc, so that if we jump to the error handling stuff - before they are assigned real values we don't end up trying to - release garbage. - - Change-Id: I687d0b637833a08425e75391eb92a2dd4a150301 - Reviewed-on: http://gerrit.openafs.org/9163 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit a208292dd5867f1bb964c7c38585105d249bd9f4 -Author: Simon Wilkinson -Date: Fri Feb 15 16:13:20 2013 +0000 - - asetkey: Handle unknown key types - - If the user tries to create a key which is not rxkad, error out - rather than attempt to add a random blob of memory to the KeyFile. - - Caught by clang-analyzer - - Change-Id: Id2803fe29153f01ab352747caed31b0d0cb4f573 - Reviewed-on: http://gerrit.openafs.org/9160 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 5529d5712f650845c4712b9a61aed377099ae857 -Author: Simon Wilkinson -Date: Thu Feb 14 20:08:07 2013 +0000 - - Unix CM: Don't check if var is 0, then zero it - - There's a couple of places in afs_daemons.c where we do: - - if (code != 0) - return; - code = 0; - - The final line is obviously redundant, and makes clang sulk at us. - So, remove it. - - Caught by clang-analyzer - - Change-Id: Ic55edf1b05f3f45eb1f0cecdb3c2318e6f7bd0ec - Reviewed-on: http://gerrit.openafs.org/9154 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1992fbc71406a5c6d5db5d9e920506025d415883 -Author: Simon Wilkinson -Date: Thu Feb 14 20:05:43 2013 +0000 - - Unix CM: Remove unecessary lastXMinCheck init - - Don't init stuff to 0 that's then immediately reinitialised with - a proper value. - - Caught by clang-analyzer - - Change-Id: Ic0d8b227908fa716167acf64d7653b636e406816 - Reviewed-on: http://gerrit.openafs.org/9153 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d8bee6e4702ddddcd4024601f73f439e5abaa071 -Author: Simon Wilkinson -Date: Thu Feb 14 20:04:05 2013 +0000 - - Unix CM: Remove unused security class initialisation - - Caught by clang-analyzer - - Change-Id: Iab28a305ae377cabc455132fde3b90146921100b - Reviewed-on: http://gerrit.openafs.org/9152 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ea24520b3152e4197b2f1e1c3f3dd937340660a6 -Author: Simon Wilkinson -Date: Tue Feb 12 14:07:10 2013 +0000 - - usd: Can't call usd_FileStandard* with NULL - - It doesn't make sense to call usd_FileStandard{Input,Output} with - a NULL usd_handle_t (and doing so would crash later in the - function), so don't check for attempts to do so. - - Caught by clang-analyzer - - Change-Id: I03c0b627056108fe0d6f78d8028323cc4ed74758 - Reviewed-on: http://gerrit.openafs.org/9151 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 519d43cafb74dc99dc63a1f6333ebf818c343906 -Author: Simon Wilkinson -Date: Tue Feb 12 13:15:16 2013 +0000 - - vlserver: bulkaddrs are unsigned ints - - bulkaddrs_val is a pointer to an array of unsigned ints, not to - an array of ints. Fix the sizeof() used in the call to malloc to silence - a clang warning. - - Change-Id: If39f34756984200fed1cd3f3de5833012b86af21 - Reviewed-on: http://gerrit.openafs.org/9149 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0f46f6b333b92e66ad987778f5084e3620cff30a -Author: Simon Wilkinson -Date: Tue Feb 12 13:12:47 2013 +0000 - - ptserver: Simplify malloc assignment to shut up clang - - Using a temporary variable of type (char *) to store the results - of malloc and realloc, and then casting the tmp variable to the - real type causes clang-analyzer to complain. Just simplify this - code by always using the real type in order to shut it up. - - Change-Id: I607bb36d1899dc617fdbd9e09e18ff10c9fa9ce9 - Reviewed-on: http://gerrit.openafs.org/9148 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 06ad9d96b0100d35ba61ddd1d1d5bead9067e78d -Author: Simon Wilkinson -Date: Tue Feb 12 12:24:44 2013 +0000 - - auth: Handle memory errors when parsing key file - - Return an IO error if we run out of memory whilst parsing a key file - - Caught by clang-analyzer - - Change-Id: I783a193fe9315f08d76d1be9b1c77089df25fd64 - Reviewed-on: http://gerrit.openafs.org/9146 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a14cf594067481b3594f469797d44cb9cb7a0c38 -Author: Simon Wilkinson -Date: Tue Feb 12 12:19:42 2013 +0000 - - auth: Remove unecessary assignment - - When we're counting the number of keys available, we don't need to - actually extract each key entry - remove the unused assignment. - - Caught by clang-analyzer. - - Change-Id: I98a30afccaf9a455ea0a7e77e7ca0d648abe4e70 - Reviewed-on: http://gerrit.openafs.org/9145 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 94eb76caf16558ab39841571df19cec40f732294 -Author: Simon Wilkinson -Date: Fri Feb 15 17:23:51 2013 +0000 - - dumpscan: Unsigned ints can't be less than 0 - - 'y' is an unsigned int, and therefore can never be less than 0, so - don't bother checking if it is. - - Caught by clang-analyzer - - Change-Id: I65e9e6e2a6f72a4a1a861234c5db89cc9d99ef15 - Reviewed-on: http://gerrit.openafs.org/9138 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 304fac42b8cd4a71d0df063cafe88b2888e4d175 -Author: Simon Wilkinson -Date: Fri Feb 15 17:22:02 2013 +0000 - - vol: Don't assume enum is an int - - The type that an enum is promoted to for arithmetic is compiler - dependent. We can't assume that it's an int, or a short. - - Explicitly cast the volume state enum where clang gets upset. - - Change-Id: Iab285d3a04dac698797ab0df2337aee75e3876b2 - Reviewed-on: http://gerrit.openafs.org/9137 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1c3492149153ca82b18a36402f7f196f97a8512e -Author: Simon Wilkinson -Date: Fri Feb 15 17:12:45 2013 +0000 - - viced: Avoid clang errors with modeBits - - The modeBits element of the VnodeDiskObject structure is defined as - a 12 bit wide bitfield. This causes clang some problems when doing - integer arithmetic, as it appears to the compiler that the field is - being overflowed. For example... - - targetptr->disk.modeBits &= ~04000; - - Produces the error: - implicit truncation from 'int' to bitfield changes value - from -2049 to 2047 - - Marc Dionne suggested changing this to - targetptr->disk.modeBits = targetptr->disk.modeBits & ~04000; - - in order to suppress the clang error. - - Change-Id: Iadb53a3db911f5771d3ab2437ccd43abce2a8ecb - Reviewed-on: http://gerrit.openafs.org/9136 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit f63047a3d1d0ed27c1efdde9ca81b0e62f9f6e69 -Author: Simon Wilkinson -Date: Fri Feb 15 17:08:45 2013 +0000 - - Fix warnings-as-errors for clang - - It seems like some versions of clang have a problem with using - pragmas to stop particular warnings being converted to errors with - -Werror. These compilers require that the warning be ignored completely - in order to suppress it. - - Make the necessary changes to afsd and bozo, and update README.WARNINGS - to note the problem. - - Change-Id: I66038130695d2ad27c289f29bcd8f6f2eddf1ded - Reviewed-on: http://gerrit.openafs.org/9135 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 5fc0746ac902dea7f5f8419b7eb735ccc0c54a10 -Author: Simon Wilkinson -Date: Tue Feb 19 10:15:33 2013 +0000 - - hcrypto: Suppress empty body warning - - clang now complains about statements of the form - if (blah) - ; - - There's one of these in hcrypto. Until we can get this fixed upstream, - just mark the file as no-error. - - Change-Id: I86d1362552ca9ee7b2c47a7c92bd8d6484ab7dbd - Reviewed-on: http://gerrit.openafs.org/9134 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 252a5b65c30636bf5f62a49a79e5777004ecd17d -Author: Ben Kaduk -Date: Tue Feb 19 13:06:36 2013 -0500 - - butc: do not use stack garbage for secobj - - The butc only ever handles connections over rxnull anyway, so just - specify an array of security objects of length one. - - Change-Id: Ia073157488ac6b887f972448074ad1615422e26e - Reviewed-on: http://gerrit.openafs.org/9140 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 85f2a66ceafd7a13f51d0352c62b5d69f4620edb -Author: Andrew Deason -Date: Sun Feb 17 19:34:06 2013 -0600 - - rx: Assert call error for RXS_PreparePacket error - - If we've received an error from the underlying security class, we must - not try to send the given packet, or we risk security issues. We - currently achieve this by setting an error on the connection. It is - slightly indirect in how this yields an error on this specific call, - and so it may not be immediately clear, but doing so is critical. If - somehow the call does not have an error by the end of this, we cannot - proceed as this is an error condition we do not handle. So, assert. - - Change-Id: Ie0106ab170ecb77bb102c5afa3ec44ba2b704283 - Reviewed-on: http://gerrit.openafs.org/9122 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 03d3dacae16847352af754ac13c854ca0df0c08c -Author: Andrew Deason -Date: Mon Jan 14 12:45:04 2013 -0600 - - rx: Honor RXS_PreparePacket errors - - rxi_PrepareSendPacket calls RXS_PreparePacket to allow the security - class to modify the given packet appropriately (to be undone by - CheckPacket on the other endpoint). However, currently - rxi_PrepareSendPacket ignores all errors generated by - RXS_PreparePacket, and processing continues as if there was no error. - - For rxkad, an error often results in the given packet being untouched. - This means that the security checksum is not calculated, and thus not - populated in the packet, and for encrypted connections means that the - packet contents are not encrypted. - - This occurs for any error generated by the security class - PreparePacket routine. For rxkad, the most common error is probably - RXKADEXPIRED, though some other internal errors are possible as well. - - This behavior has a few effects for rxkad: - - 1. When any error is generated by PreparePacket, the other endpoint - generally bails out with the error RXKADSEALEDINCON, since the - security checksum of the packet is 0, which does not match what the - checksum should be. This results in error messages like 'rxk: sealed - data inconsistent'. This can be very confusing if the actual error - is, say, just that the given credentials have expired. - - 2. For connections requiring encryption (rxkad_crypt), an error from - PreparePacket means that the packet payload is sent in the clear. - This can happen for about a window size's worth of packets. - - 3. If a client ignores errors/inconsistencies with the checksum and - encryption, etc, they can keep reading data for the call forever, - even after their credentials have expired. - - To fix this, make an error from RXS_PreparePacket cause a connection - error for the given connection, and immediately send a connection - abort. No further error checking should be necessary for the callers - of rxi_PrepareSendPacket, since they already check for call/conn - errors before sending any actual packets. - - Change-Id: I87de833730424881dcd3d659870f71191eabafe4 - Reviewed-on: http://gerrit.openafs.org/8909 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 0a528a52f5da5e225567f3b9deab9f7d08022f9f -Author: Marc Dionne -Date: Sun Feb 17 13:29:38 2013 -0500 - - tests: Improve failure mode for unresolvable hostname - - In the case of a host where gethostbyname is unable to resolve - the hostname, afstest_BuildTestConfig() may return NULL which - can cause several tests to crash. - - Add a common function to look out for this condition and use it where - appropriate. When it occurs, the current module is skipped and - the user gets an error message that indicates the configuration - problem. - - Change-Id: I7216876eb2424368f415e5759e2b95009ad055b2 - Reviewed-on: http://gerrit.openafs.org/9120 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4051c5e96e921b69ac2a6e7bcb805cbc0a8f7993 -Author: Mark Vitale -Date: Thu Feb 14 10:51:34 2013 -0500 - - salvager: incorrect comment - - The comment for the code handling the -showsuid option was incorrect. - - Change-Id: I0a63211cf5dd8a3b2636d4e4a2cc45a55c3bf62a - Reviewed-on: http://gerrit.openafs.org/9109 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 7c31bd5e2d0da3a1c9e29337d5a90147f3b03158 -Author: Jeffrey Altman -Date: Thu Feb 14 14:43:58 2013 -0500 - - Windows: Ensure pResultCB exists before Authentication - - When processing requests from the redirector it is possible for - the ResultCB to not be allocated. This can occur either due to - an out of memory condition in a synchronous request or due to - an asynchronous extents or byte range lock request. - - Move the assignment of the Authenticated state after the allocation - of the ResultCB from the stack in case of out of memory conditions. - - Change-Id: I7e98edde712b532010aa15705a62cf91dd9d0ebf - Reviewed-on: http://gerrit.openafs.org/9110 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9b48daff341773580b3635e476fea112374986f2 -Author: Jeffrey Altman -Date: Thu Feb 14 09:26:16 2013 -0500 - - Windows: Unique file ID is per volume - - The unique file ID returned as part of the BY_HANDLE_FILE_INFORMATION - data structure obtained via GetFileInformationByHandle() is only - guarranteed to be unique within the volume where volume uniqueness is - determined by the volume's serial number. - - It therefore doesn't make sense to return the volume id as part of - FILE_INTERNAL_INFORMATION IndexNumber. Instead return Vnode and - Unique as that is what ensures uniqueness within an existing AFS - volume. - - Unfortunately, {VolId, Vnode, Unique} does not guarantee uniqueness - for when multiple cells are in use. - - Change-Id: I6c6ea4a04aa79778cce811560d8106a3a5e373cb - Reviewed-on: http://gerrit.openafs.org/9108 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cb414f6899212f314313a781b63486661e9d1394 -Author: Jeffrey Altman -Date: Thu Feb 7 16:53:45 2013 -0500 - - Windows: RXAFS_BulkStat failures - - The RXAFS_BulkStat RPC is quite brain dead. The client requests - status information on up to AFSCBMAX FIDs. The file server replies - success only if all of the client credentials provide access to - all of the requested FIDs. If status info cannot be provided - for any one of the FIDs, the error code of the failure is returned - with no context as to which FID failed. - - To simplify the logic within the cache manager a new local error - code, CM_ERROR_BULKSTAT_FAILURE is introduced to replace whatever - error was received from the file server. This error is returned - by cm_TryBulkStat and cm_TryBulkStatRPC. The caller of either of - those functions should interpret the error to mean that the current - user context cannot be used to perform a bulkstat operation against - the provided cm_scache directory. Instead, individual RXAFS_FetchStatus - operations must be performed. - - This patchset implements such error handling for both the SMB and - RDR interfaces. This change permits the Windows cache manager to - properly enumerate a directory for which the user only has list - permission and cannot read the status info for files and symlinks. - - Change-Id: I8cc47a5cedfd4e7bf0db55efffc5e95be5172e85 - Reviewed-on: http://gerrit.openafs.org/9080 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3eb7c4f42946b48fc7b63c9caf8e3e262ca9f88f -Author: Jeffrey Altman -Date: Tue Feb 12 16:32:18 2013 -0500 - - Windows: cm_BPlusDirNextEnumEntry return all errors - - Return all entries in the directory enumeration regardless of any - errors returned from cm_BPlusDirEnumBulkStatNext(). Set the error - code in the returned cm_direnum_entry_t.errorCode field so that - the caller can determine how the error should be handled on a - per entry basis. - - Change-Id: I90a90ab0b0220c8d1e045f9473f5edd0bd01e45e - Reviewed-on: http://gerrit.openafs.org/9103 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 210ebcfbe428687c263a06ead80893393402d608 -Author: Jeffrey Altman -Date: Wed Feb 13 14:04:28 2013 -0500 - - Windows: Add Cell name to AFSProcessRequest parameters - - Knowing the cell name for the request can be useful to the file - system driver which otherwise does not have access to a conversion - from FileID.CellID to Cell name. - - Change-Id: Ia10bae0d9c8bc7824a400ff30268d7ac0b9b2935 - Reviewed-on: http://gerrit.openafs.org/9107 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4382c9902f28a99e2163c9fe583d3f4861e6043e -Author: Jeffrey Altman -Date: Wed Feb 13 21:53:46 2013 -0500 - - Windows: Add Cell to FS Volume Information Label - - Add the Cell name to the VolumeLabel field of the - FILE_FS_VOLUME_INFORMATION structure. This permits "cell#volume" to be - displayed by cmd.exe's DIR command and other applications that call the - GetVolumeInformation() or GetVolumeInformationByHandle() Win32 APIs. - - Change-Id: I6cc7a7c2b79cb7d0d96cbddcf34dce68e52bf987 - Reviewed-on: http://gerrit.openafs.org/9106 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6373d01ca010aa687e6aa0c218d1379e57e60888 -Author: Jeffrey Altman -Date: Wed Feb 13 13:12:34 2013 -0500 - - Windows: CellLength reported in octets - - CellLength must be converted from WCHARs to BYTEs in the response - to the redirector. - - Change-Id: I79656cc0533c6cdc31a977aa486755c4a506510f - Reviewed-on: http://gerrit.openafs.org/9105 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 85bac1ae40123810fd6bd30625999e276af5ab75 -Author: Michael Meffie -Date: Fri Feb 8 17:08:28 2013 -0500 - - libafs: cleanup redundant assignment - - Cleanup redundant clearing of the avcp pointer in lookup, which - looks to be a cut and paste error from the ibm afs days. - - Change-Id: Ib554d862bd8485be2a4dbeb38fcaacac57c1e818 - Reviewed-on: http://gerrit.openafs.org/9085 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 6f7ae535bbac2a5376358801b7f2c9e072f2d141 -Author: Andrew Deason -Date: Fri Feb 8 17:24:28 2013 -0600 - - afs: Avoid SetupVolume panic - - Currently SetupVolume panics if it cannot successfully read a - volumeinfo entry from disk. Try to return an error instead, so we - don't panic the machine. - - Change-Id: Iad3c2c857f1b736fcf4a142338d9e219bab68969 - Reviewed-on: http://gerrit.openafs.org/9094 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8f95dc9eb92cb31f9d29eb87daac747f53b5a1cc -Author: Andrew Deason -Date: Fri Feb 8 17:26:32 2013 -0600 - - afs: Move SetupVolume tv initialization after loop - - The fields in tv are not used by the loop looking for the given volume - on disk. If we wait until after that loop to initialize the fields in - tv, it is easier to handle errors encountered in the loop. - - This should incur no functional change. - - Change-Id: Ib678542bfebaa89ecfa4aad39230fc502ec83edb - Reviewed-on: http://gerrit.openafs.org/9093 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 50879d5727c183982a40bd242d6039ed470d835d -Author: Marc Dionne -Date: Mon Feb 11 18:49:21 2013 -0500 - - Linux: Add missing semi-colon - - Add a missing semi-colon in the error case when missing symbols - are detected. The effect is strictly cosmetic - a few additional - error messages would follow the "undefined symbols" error. - - Change-Id: I2a8bfb0a3ef12b5bcee6946804df025c75d84830 - Reviewed-on: http://gerrit.openafs.org/9095 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e9af3e644205d7fff2a47e6eaa4a028e783d2df4 -Author: Jeffrey Altman -Date: Wed Feb 6 11:58:55 2013 -0500 - - Windows: Do not pass relative paths to redirector - - RDR_SetInitParams provides two paths to the redirector, the AFSCache - file path and the path of the %TEMP% environment variable. If either - of these paths are relative paths and not absolute (or full) paths, - the redirector and the service will interpret them differently. - Ensure that the full paths are delivered to the redirector. - - Change-Id: I48d9cd09d9292cc0e97c41da430026c20e097de1 - Reviewed-on: http://gerrit.openafs.org/9074 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 351cefe9b60032fe77aa09c0803ef051fb5b4665 -Author: Jeffrey Altman -Date: Sun Feb 10 20:05:49 2013 -0500 - - Windows: Move Authenticated field to CommResultCB - - Add the Authenticated state of the request to the CommResultCB - so the redirector knows the state of all requests. - - Change-Id: I854735c7fbda958a12fa79232b584b4d14dd8569 - Reviewed-on: http://gerrit.openafs.org/9091 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d8f47f05d4e5580801916ef4ead30560e42d0b77 -Author: Jeffrey Altman -Date: Mon Feb 11 16:40:36 2013 -0500 - - Windows: Do not double increment cm_data.currentCells - - During cm_cell generation the cm_data.currentCells value was - incremented twice. As a result cm_currentCells did not equal the - number of cm_cell objects allocated. Upon restart the AFSCache - contents would be discarded. - - Change-Id: I2b62cb8268789e46f5ada4aa039e41c7ea8b47a5 - Reviewed-on: http://gerrit.openafs.org/9090 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f9f9a7ab1791bfce1e2d442c683bb664dd2ab630 -Author: Jeffrey Altman -Date: Fri Feb 8 14:17:12 2013 -0500 - - Windows: Move Trace Stmts from FILE to CLEANUP - - Relabel trace statements in AFSRemoveDirNodeFromParent, - AFSRemoveNameEntry, AFSDeleteDirEntry, and AFSRemoveFcb from the - FILE subsystem to the CLEANUP subsystem. This assists in reducing - the noise when attempting to watch the file system requests that - are received by the afs redirector. - - Change-Id: I0aa8c090b176a7d2fa6feb9866e7c8e9f621c2df - Reviewed-on: http://gerrit.openafs.org/9089 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a1b6015cec049367c4832d7299bcdba19ea3b3fe -Author: Jeffrey Altman -Date: Fri Feb 8 23:46:44 2013 -0500 - - Windows: AFSLocateNameEntry tracking DirectoryCB IN/OUT - - AFSLocateNameEntry previously accepted ParentDirectoryCB as an IN/OUT - parameter in which a reference count was passed in but a reference - count was not passed back out. The DirectoryCB parameter is an OUT - parameter for which a reference count should be returned on success. - - This patchset simplifies the logic. ParentDirectoryCB is IN only - and OutParentDirectoryCB and DirectoryCB are out only. AFSLocateNameEntry - never releases a reference count provided by the caller and it always - returns OutParentDirectoryCB and DirectoryCB with a new reference count - unless they are NULL. It is the callers responsibility to determine if - ParentDirectoryCB has changed and to release all of the references. - - Change-Id: I4843d1d685917fd3f41409d0b11f5b768c2c1dd6 - Reviewed-on: http://gerrit.openafs.org/9087 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ef02d3845bedf5daf4628e52d4452ea58eb7909a -Author: Jeffrey Altman -Date: Fri Feb 8 17:28:09 2013 -0500 - - Windows: AFSLocateNameEntry separate VolumeCB In/Out - - Tracking the VolumeCB references within AFSLocateNameEntry has - proven to be very error prone. When the VolumeCB parameter is - an in/out parameter the caller cannot reliably determine whether - or not AFSLocateNameEntry replaced the updated the pointer and - whether it properly released the references. This patchset - changes the interface so that VolumeCB and ParentDirectoryCB - have separate in and out parameters. The caller is now responsible - for tracking its own Volume reference counts and AFSLocateNameEntry - obtains its own which will either be returned to the caller as a - non-NULL OutVolumeCB or released. - - This patchset turns ParentDirectoryCB into an IN only parameter - and adds OutParentDirectoryCB as a dedicated OUT parameter. However, - it does not alter any associated reference count logic. That will - be implemented in a subsequent patchset. - - Change-Id: Ic271d13496b4af80339c5ccd505fa04ec57b4700 - Reviewed-on: http://gerrit.openafs.org/9086 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 76fb036f4e7d185ab725b6754652a764906c9e0b -Author: Jeffrey Altman -Date: Sun Feb 10 11:54:44 2013 -0500 - - rx: remove rx_misc.h define trailing semicolons - - PIN and UNPIN macro definitions should not have trailing - semicolons. - - Change-Id: I242c0a7a40cbabe852ed975eb64df52dbb585624 - Reviewed-on: http://gerrit.openafs.org/9088 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 948cc20c8e56aa33eeb1f0af9def4db4d5a0d121 -Author: Marc Dionne -Date: Wed Feb 6 18:44:35 2013 -0500 - - rx: Remove rx_atomic_add_and_read trailing semi-colon - - Remove a stray trailing semi-colon from the definition of - rx_atomic_add_and_read. - - Change-Id: Iae9c62c132bcbb3d2e609dde2d54e0435d36cc03 - Reviewed-on: http://gerrit.openafs.org/9075 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - -commit a5865493a27cc8fbb849e683c7dffa187d2e3e71 -Author: Jeffrey Altman -Date: Wed Feb 6 22:44:44 2013 -0500 - - Windows: GetVolumeInfo cell name - - The service was supposed to provide the redirector the cell name - as part of the AFSVolumeInfoCB response from RDR_GetVolumeInfo. - Add a new field to store it and populate it. - - Change-Id: Idcafaee66ed1031dfdeee1804bbdff617e464d3f - Reviewed-on: http://gerrit.openafs.org/9079 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c0f465cc3ab1392c793c2bcbc912a55dc02ad46c -Author: Jeffrey Altman -Date: Wed Feb 6 22:43:16 2013 -0500 - - Windows: Return full volume name for RO and BK - - RDR_GetVolumeInfo must return the full volume name (not the volume - group name) for RO and BK volume types. - - Change-Id: Ic215b205c07faab53f8a899d0f662b64c902dde2 - Reviewed-on: http://gerrit.openafs.org/9078 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit aa5d0d708f6a758396b04779ceac271a039439fb -Author: Jeffrey Altman -Date: Wed Feb 6 19:35:00 2013 -0500 - - Windows: AFSFileOpenResultCB.Authenticated - - Notify the redirector whether the the result of a file open - request is the result of a user authenticated action. - - Change-Id: If1f7704b3ea31e40e88b3589fd604a7d50653ec1 - Reviewed-on: http://gerrit.openafs.org/9077 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dbdee60a83d72d38a04a0eeb2a5324cf497e57e3 -Author: Marc Dionne -Date: Sun Jan 27 20:52:39 2013 -0500 - - Linux: Detect undefined symbols in kernel modules - - Undefined symbols in the kernel modules are not currently detected - at build time. As a result, buildbot may indicate success while - the resulting kernel modules are unusable. - - In the kernel build process, modpost warns about missing symbols - but does not return an error in the case of external modules. - Detect these warnings and cause the libafs build to fail. - - Change-Id: I2c428a5ce7e3a0d10178679f789b3d787719c397 - Reviewed-on: http://gerrit.openafs.org/8981 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 748e07d24367e80e353446bdb97f61ce420d303d -Author: Jeffrey Altman -Date: Wed Feb 6 19:32:28 2013 -0500 - - Windows: add cm_HaveToken - - cm_HaveToken answers the question of whether a cm_user_t has a - token for a specified cell. - - Change-Id: I4dff312a7e9000ccee6952c21fca174700364c4c - Reviewed-on: http://gerrit.openafs.org/9076 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit aea9e64147bd4883764f2d85b98c37a79c5e135a -Author: Simon Wilkinson -Date: Tue Jan 8 14:38:34 2013 +0000 - - pam: Build using libtool - - Build the pam_afs and pam_afs.krb modules using libtool, so they - fit in with the rest of the new build infrastructure. - - This requires some additonal symbol exports from auth and kauth, - which are included - - Change-Id: I97a130ba69216cd63ba388f2aaabe830a0c4543f - Reviewed-on: http://gerrit.openafs.org/8900 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 028258e6393bd76df0944dc77266bfba176ada73 -Author: Jeffrey Altman -Date: Tue Feb 5 00:29:12 2013 -0500 - - Windows: AFSLocateNameEntry double free Volume RefCount - - If AFSBuildMountPointTarget fails when called from AFSLocateNameEntry - the pCurrentVolume reference count will have been freed even though - the pointer has not been updated. If the failure is - STATUS_OBJECT_NAME_NOT_FOUND and AFSLocateNameEntry was called - by AFSCreateCommon, the Volume reference count will be freed twice. - - Change-Id: I0b5ccb512ea0ec2e24099dff38bbbeddebf0bee3 - Reviewed-on: http://gerrit.openafs.org/9069 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e7df2fcedcd05b5f73f5398433289b52b769c0ea -Author: Jeffrey Altman -Date: Mon Feb 4 16:22:56 2013 -0500 - - Windows: AFSObjectInfoDecrement correct return value - - The return value must be the new ObjectReferenceCount value not - the value of the Reason counter. This was broken by patchset - e267774f1a4f9cc5bfc32c545df36a4bf7947607. - - Change-Id: I9dd3cd56f6c7d43f061bdda8e24666b5f9a4ed9b - Reviewed-on: http://gerrit.openafs.org/9068 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d0e7d8c76e038c5bd76b49fd8ca7b588e848a4f1 -Author: Jeffrey Altman -Date: Mon Feb 4 15:14:16 2013 -0500 - - Windows: AFSVolumeCB track RefCount reasons - - Introduct AFSVolumeIncrement and AFSVolumeDecrement functions - which are used to increment not only the AFSVolumeCB.VolumeReferenceCount - but also a new VolumeReferences[Reason] counter. In the future when - a VolumeReferenceCount error occurs it may be possible to isolate the - cause to a subset of the code. - - In the process, the VolumeReferenceCount necessary to free the - AFSVolumeCB object is changed from 1 to 0 and AFSInitVolume no longer - initializes the AFSVolumeCB count to 2. - - The signature for AFSInitVolume and AFSLocateNameEntry are modified - to permit a volume reference reason to be provided. This permits - the reference to be allocated in one function and released in another - without resulting in count imbalances. - - Change-Id: I021a6efe061817ff044c18a699ee63a7ffbfc7bf - Reviewed-on: http://gerrit.openafs.org/9067 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 20a54b02521b40b07e4ec87df55a1e9a2549c881 -Author: Antoine Verheijen -Date: Tue Jan 22 19:24:25 2013 -0700 - - OpenBSD: Add config headers for new(er) OS versions. - - The OS-specific config header files have not kept up with the - newer releases of OpenBSD. This patch corrects that by adding - header files for OpenBSD versions from 4.9 to 5.3 (the newest - version currently under development). - - Change-Id: I5e233cc7b96be2c1c52824653c42d3c6d77d6f50 - Reviewed-on: http://gerrit.openafs.org/8927 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit dfd9d79524210654d1d635ed58a08c900b479585 -Author: Simon Wilkinson -Date: Tue Jan 8 15:26:45 2013 +0000 - - Build system: Add LT_LDRULE_shlib_missing - - Add a new LT_LDRULE which can be used to build shared libraries which - may not contain all of the symbols listed in their .sym files. This - allows us to build a library like roken, where different symbols - will be present on different operating systems. - - Change-Id: I82e0df49131aa7184360130547c82052a6dd704b - Reviewed-on: http://gerrit.openafs.org/8901 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3b733db8bf2bc3a1366554ae97814cc722437149 -Author: Marc Dionne -Date: Thu Jan 24 21:38:28 2013 -0500 - - Linux: crset should use passed credentials - - When copying credentials in crset, take the passed credentials as - the source instead of the current process credentials. - - This doesn't cause any problems currently since crset always gets - called with the current credentials. - - Change-Id: Ia6a341e96d00071587443f8eef4a99992b368abc - Reviewed-on: http://gerrit.openafs.org/8980 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7d8b636d9493f3c470c1bbffb4a566060b21d98b -Author: Chas Williams (CONTRACTOR) -Date: Tue Jan 29 22:54:00 2013 -0500 - - LINUX: ifconfig's output has changed - - net-tools in Fedora 18 has changed 'inet addr' to just 'inet' (possibly - to more closely match the ip command). - - Change-Id: I9224d0eb4dd77e248c8f8eed966fa26ec7dda08c - Reviewed-on: http://gerrit.openafs.org/8987 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Stephan Wiesand - Reviewed-by: Derrick Brashear - -commit ee7b4467dba211c25875797227e18643d8ea7ac3 -Author: Simon Wilkinson -Date: Tue Jan 8 15:28:17 2013 +0000 - - Build system: ADd LT_LDRULE_static_NOQ - - Add a NOQ variant of the LT_LDRULE_static build macro, so that it - can be used as part of compound rules. - - Change-Id: I45b3d4ff09465d2d472e27c2fd290e0311791403 - Reviewed-on: http://gerrit.openafs.org/8902 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1f891b622e9b32a068082087eae9d787057f7f00 -Author: Mark Vitale -Date: Fri Dec 21 17:56:14 2012 -0500 - - dafs: preattach should wait for exclusive states - - In rare circumstances an FSYNC_VOL_ON operation may fail silently, - leaving the volume in its previous state. The only clue is a FileLog - message "volume not in quiescent state". - - This is caused by a race condition in the volume package: an - FSYNC_VOL_ON operation is attempting to preattach a volume - (in VPreAttachVolumeByVp_r()) at the same time a fileserver RPC - (e.g. FetchStatus) is detaching the volume (in VReleaseVolumeHandles_r()) - at the conclusion of attach2() logic. - - The fix calls VWaitExclusiveState_r() before calling - VPreAttachVolumeByVp_r(). - - Change-Id: Ib66859381d29311fda3e08984dcb740eadafb340 - Reviewed-on: http://gerrit.openafs.org/8814 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 804a0db1bbfbb4bcd14f3308ce6e77e2aa1323f6 -Author: Marc Dionne -Date: Sat Feb 2 12:17:48 2013 -0500 - - Parallel libtool build fixes - - Serialize the use of libtool in a few places to avoid having - concurrent libtool instances in the same directory.. - - Change-Id: I5abaeae8f6a31cd84643b7df39c77493d198b600 - Reviewed-on: http://gerrit.openafs.org/9024 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 52cc7988371ead9b2903d90453598b3d07ce1696 -Author: Jeffrey Altman -Date: Mon Feb 4 14:56:27 2013 -0500 - - Windows: Use AFS_OBJECT_REFERENCE_MAX in struct - - Use AFS_OBJECT_REFERENCE_MAX to size the array in the struct. - This should have been a part of patchset - e267774f1a4f9cc5bfc32c545df36a4bf7947607. - - Change-Id: I9323387a27a5bc2e708f8a8424cb38b491d542d7 - Reviewed-on: http://gerrit.openafs.org/9066 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dc32caae7768c486e610c4e56c6a78e9c918d975 -Author: Thorsten Alteholz -Date: Sun Feb 3 11:58:25 2013 +0100 - - Beautify ubik_print() - - After lots of intermediate steps a call to ubik_print(), ubik_vprint() - and ubik_dprint*() ends in vFSLog() which adds a timestamp to the output. - So any call to ubik_print(), that does not contain a \n at the end, - makes a mess of the logfile. - The least invasive change will simply add this newline at the end - of any ubik_print() call. - This also prevents long lines in the log, which might appear on - multi-homed hosts with lots of interfaces. - - FIXES 1446 - - Change-Id: I2e44588fcc5b27704dd5fec5a83d99d3a86f86e4 - Reviewed-on: http://gerrit.openafs.org/9059 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Andrew Deason - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit 4b3f499b20ba50cf92e6caeb747c56e53a5a55f3 -Author: Jeffrey Altman -Date: Sun Feb 3 14:03:36 2013 -0500 - - Windows: cm_SetupFetchBIOD reserving type - - Change type of 'reserving' to afs_uint64 to match the return type - of buf_TryReserveBuffers(). - - Change-Id: I8aaac5a763ec55acada2702b898a9bcd50f82ed0 - Reviewed-on: http://gerrit.openafs.org/9062 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e4d97fa3e4a0d02160e082547b84c437472bfaae -Author: Jeffrey Altman -Date: Sun Jan 27 15:43:58 2013 -0500 - - Windows: cm_user interlocked operations - - Convert cm_user refcnts to use interlocked operations. - - Change-Id: Ib40d2446792dcde3038ea601281406e013147595 - Reviewed-on: http://gerrit.openafs.org/9061 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5f17b9f9295b4f1c86cc71a5253f93a9c56078a4 -Author: Jeffrey Altman -Date: Sun Feb 3 01:20:36 2013 -0500 - - Windows: Fix RDR_BkgFetch rock assigment - - The wrong variables were assigned to the rock base and offset - in the final queuing of a RDR_BkgFetch request within - RDR_RequestFileExtentsAsync. - - Introduced in 8b874aa205cd05b8109a296c8cb8ad0bb5114553. - - Change-Id: I77af22caed9eceb4c90b8fa18b91945d059995e5 - Reviewed-on: http://gerrit.openafs.org/9058 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3ecdfadded7cb6de6a0204cb1cf70ae764e17769 -Author: Jeffrey Altman -Date: Tue Jan 29 12:28:57 2013 -0500 - - Windows: dirty threshold 64 * chunksize - - must be large enough to keep the pipe full - - Change-Id: I1bf8b5800ff286e74dbe57ced19943db891b715f - Reviewed-on: http://gerrit.openafs.org/8996 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2e7c203a6cc84b2d4e4c67bd47277c19315853ae -Author: Jeffrey Altman -Date: Mon Jan 28 21:12:10 2013 -0500 - - Windows: More RDR Garbage Collection - - This patchset addresses the failure of AFSVolumeCB, AFSDirectoryCB, - and AFSObjectInformationCB objects to be garbage collected by the - AFSPrimaryVolumeWorker thread. The AFSPrimaryVolumeWorker thread - is broken up into smaller pieces. - - Change-Id: I54749960be8f22313ba7ee5f9f96438be6321f25 - Reviewed-on: http://gerrit.openafs.org/8995 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8099525c4a0251974c0a66c4b72fc26187691f29 -Author: Jeffrey Altman -Date: Sun Jan 27 15:06:09 2013 -0500 - - Windows: AFSEvaluateTargetByID Sanity Check Result - - If the file server provides the service with bogus status info - and that status info is inconsistent with the allocated fields - in the associated ObjectInformationCB and FCB structures, it can - result in a BSOD. Perform some basic sanity checks and if an - inconsistency is discovered, fail the request. This may result - in the inability to access a file/directory but will prevent a - BSOD. - - Change-Id: Iabf66adc5e953dc4ae27ed701148a9ffbf55abcc - Reviewed-on: http://gerrit.openafs.org/8994 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5649d84f1a96e3b2cc1dc42d67d3facb4e4b5d07 -Author: Jeffrey Altman -Date: Fri Feb 1 13:40:22 2013 -0500 - - Windows: Replace ParentObjectInformation pointer - - Although rare there have been crashes which were the result of - the ObjectInformationCB being freed while another ObjectInformationCB - is pointing to it via the ParentObjectInformation pointer. - - This patchset removes the pointer and replaces it with the ParentFileId - which is used to lookup the Parent ObjectInformationCB via the VolumeCB - BTree of all volume objects. The reference counting rules remain the - same. - - Change-Id: Iaf66587be2619c8c2f06cd586ef8d423b76d1e79 - Reviewed-on: http://gerrit.openafs.org/8993 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a5378b71ee9b4e2a0c25df95dced1026dbbf7a39 -Author: Jeffrey Altman -Date: Fri Feb 1 13:39:22 2013 -0500 - - Windows: Test for PRSFS_INSERT in redirector interface - - If a test for PRSFS_WRITE fails and the cm_scache.creator is the - current user, then also test for PRSFS_INSERT privilege. - - Change-Id: Ib3e34f7ce50216cd9ff82afe9a7184f79d46ce15 - Reviewed-on: http://gerrit.openafs.org/8978 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7c3f5bfba68964dfda989adb59a2b9efdb37eb4d -Author: Jeffrey Altman -Date: Fri Jan 25 00:45:21 2013 -0500 - - Windows: Additional I/O subsystem trace messages for AFSWrite - - When debugging be able to obtain additional details about the - I/O subsystem. - - Change-Id: Ie875870cb874c6df0d8f94781656af8a34eeddf5 - Reviewed-on: http://gerrit.openafs.org/8977 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ed6354881d6f55ced842e3e78a02133fba8823ae -Author: Jeffrey Altman -Date: Fri Jan 25 00:18:37 2013 -0500 - - Windows: .readonly space reporting - - .readonly volumes can be stored on multiple partitions which each - have a different size and free space available. To ensure consistency - regardless of which partition the .readonly is accessed from and - because .readonly volume sizes cannot change, report the allocation - size of the volume as the partition size. Continue to report that - volume has zero free sectors because the volume cannot be written to. - - Change-Id: Ib57b1175da048344af615b9350d72d9eb3ffe97d - Reviewed-on: http://gerrit.openafs.org/8976 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ddba1a1f06d140f5683e173db5a384ac5ac40977 -Author: Jeffrey Altman -Date: Fri Jan 25 00:17:25 2013 -0500 - - Windows: FILE_READ_ONLY_VOLUME not FILE_DEVICE_READ_ONLY - - Instead of stating that the AFS device is read only; report - that the volume in question is read only using the FILE_READ_ONLY_VOLUME - file system characteristic. - - Change-Id: I0b172f8a984802a3cefdea84436c9ed44f34d7f1 - Reviewed-on: http://gerrit.openafs.org/8975 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5880a7326428b3d17049e92b1ccc590ad3fc7897 -Author: Jeffrey Altman -Date: Fri Jan 25 00:13:03 2013 -0500 - - Windows: AFSQueryFsAttributeInfo use service response - - The File System attributes are set by the service in the volume - information request. Use the values the service provides instead - of returning an incomplete hard coded list. - - Change-Id: If620cd520ab29780ef296c6f15dfaee3774c3d41 - Reviewed-on: http://gerrit.openafs.org/8974 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e41d08c9a15a722d0974b763e41d84788f742b6a -Author: Jeffrey Altman -Date: Fri Jan 25 00:11:41 2013 -0500 - - Windows: FILE_FS_DEVICE_INFORMATION Device Type - - Consistently report our device type as FILE_DEVICE_NETWORK_FILE_SYSTEM - instead of FILE_DEVICE_DISK or FILE_DEVICE_DISK_FILE_SYSTEM except - when returning FILE_FS_DEVICE_INFORMATION where we must lie and state - that the device type is FILE_DEVICE_DISK. Otherwise, the Win32 API - GetFileType() returns FILE_TYPE_UNKNOWN instead of FILE_TYPE_DISK. - - Applications built from msys (but not current cygwin) treat files - of type FILE_TYPE_UNKNOWN as special character devices instead of - files. This breaks msysGit. - - Change-Id: I7107ae84ede31abb01481b2e8c3915588d9fd529 - Reviewed-on: http://gerrit.openafs.org/8973 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit cac8dea092d62141da700c691b3609ed4dc08c04 -Author: Jeffrey Altman -Date: Tue Jan 22 12:46:20 2013 -0500 - - Windows: RDR_CleanupFile FSync only files - - If the cm_scache type is something other than a file, there - is no point performing an FSync. Do not incur the overhead. - - Take into account any outstanding AsyncStore operations that - might be in-flight. - - Change-Id: I66cd59cbcd81f2a7639e478832f921ac393ea3ae - Reviewed-on: http://gerrit.openafs.org/8972 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 8ae06c2ea48651ebd90635ffcc68bbccfeb908c8 -Author: Jeffrey Altman -Date: Tue Jan 22 12:44:21 2013 -0500 - - Windows: AFSCleanupFile always flush on last handle - - Do not rely on a count of dirty extents to determine if the - service should flush a file during a cleanup operation. Simply - because there are no dirty extents held by the redirector does - not imply that the service has no dirty buffers for the file. - - Change-Id: Ifc7c139a587413626eae145f343c4295dd94f28a - Reviewed-on: http://gerrit.openafs.org/8971 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5bedc5e03a21409b7d2426387584267e33073457 -Author: Jeffrey Altman -Date: Sun Jan 20 13:27:51 2013 -0500 - - Windows: clear ASYNCSTORING flag in scache recycle - - If the scache has been recycled the ASYNCSTORING flag cannot - be accurrate. Clear it. - - Change-Id: Ie5a5a19bf1818e36f6274ba24ddeaf5f4b835ff4 - Reviewed-on: http://gerrit.openafs.org/8970 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e7e83d8c7e2aef13109eff53cede43a1904bbe91 -Author: Jeffrey Altman -Date: Sun Jan 20 13:26:24 2013 -0500 - - Windows: restructure daemon state tracking - - Move all of the per thread state info into a struct and - allocate an array of structs instead of an array for each - data type. - - Change-Id: I25b878192a8f919b21d96e981d7369a429b9171d - Reviewed-on: http://gerrit.openafs.org/8969 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 294fce5ddf4abbe9675f759b2512bdc306659944 -Author: Jeffrey Altman -Date: Sun Jan 20 13:23:50 2013 -0500 - - Windows: osisleep cleanup - - Change-Id: Id76989dfab53a166a4174569973fb0a5f5e5e972 - Reviewed-on: http://gerrit.openafs.org/8968 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b93ddf1a9c49988e84bfddff37bc55949d49768c -Author: Jeffrey Altman -Date: Thu Jan 17 21:02:36 2013 -0500 - - Windows: remove out of date cm_buf #define - - Change-Id: Id60f509d7c8a1e9eb2f94d4c481d00e9b820b827 - Reviewed-on: http://gerrit.openafs.org/8967 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8b874aa205cd05b8109a296c8cb8ad0bb5114553 -Author: Jeffrey Altman -Date: Thu Jan 17 01:44:27 2013 -0500 - - Windows: Convert BkgDaemon Procedures to use rock - - The BkgDaemon functions accepted four 32-bit parameters into - which 64-bit offsets and lengths were fit. Convert the routines - to use a procedure specific rock type which is allocated by the - caller to cm_QueueBkgRequest and freed by cm_BkgDaemon. - - The use of a rock will permit greater flexibility for future - background procedures to be implemented that require more complex - data to be passed around. - - Change-Id: I4fc06e1d4a3a3ee25c699c95a90a9c9993199ddd - Reviewed-on: http://gerrit.openafs.org/8966 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5be1779547d800e1a040fe1969336adab0c01afa -Author: Jeffrey Altman -Date: Thu Jan 17 01:42:54 2013 -0500 - - Windows: Set dirty page limit to 2 x ChunkSize / 4096 - - 4096 is the size of a memory manager page. ChunkSize is in octets. - Windows doesn't wait until the limit is reached to begin flushing - and ChunkSize is not a hard limit. - - Change-Id: Ic1d5dda18eefbf309696b8a19ef5623248f54faf - Reviewed-on: http://gerrit.openafs.org/8965 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8b62d08760b2cde9fb0b15b695d8467191c0669f -Author: Jeffrey Altman -Date: Thu Jan 24 19:42:41 2013 -0500 - - Windows: Add CM_MERGEFLAG_CACHE_BYPASS - - If a store operation is performed direct to the file server - bypassing the AFSCache, call cm_MergeStatus() with - CM_MERGEFLAG_CACHE_BYPASS to ensure that the valid version - numbers for the cm_scache_t object are incremented appropriately. - After a cache bypass occurs, only buffers with the current - data version number are valid since the cached data will be - incomplete. - - Change-Id: I9438f8c9759407de69ab894df4f6fe91027a4b94 - Reviewed-on: http://gerrit.openafs.org/8964 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 65ff9935728e0142728e29295c7ef69bf73cecf4 -Author: Jeffrey Altman -Date: Wed Jan 30 21:45:44 2013 -0500 - - Windows: AFSInitPIOCtlDirectoryCB fixes - - Rename ObjectInfo parameter to ParentObjectInfo since - it does represent the parent of the PIOCtlDirectoryCB - that is being allocated. - - If the AFS_DIR_ENTRY_TAG allocation fails, do not call - AFSDeleteObjectInfo( pObjectInfoCB) prior to the try_return - because AFSDeleteObjectInfo() will be executed in the try_exit - block. - - Finally, do not increment the pDirNode->ObjectInformationCB - reference count when returning STATUS_REPARSE. The reference - count is tracked by the pDirNode pointer and has already been - allocated. - - Change-Id: Iac3d2b1b58d3bf12eb08c92b96beca43e794aef5 - Reviewed-on: http://gerrit.openafs.org/8963 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3847ec9531b7bde9a2af9edded5b19d797789752 -Author: Jeffrey Altman -Date: Thu Jan 24 19:28:44 2013 -0500 - - Windows: Additional trace %p and %d changes - - Use %p when logging pointers. - - Use %d for counts. - - Change-Id: Ib3a3b1226945eccb15d912d7ff1c83f0257e7acd - Reviewed-on: http://gerrit.openafs.org/8962 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 391bdbf9ace271ef41d6c73031d172cdad802f79 -Author: Jeffrey Altman -Date: Thu Jan 24 19:25:37 2013 -0500 - - Windows: AFSProcessCreate drop DirOpenRefCount on exit - - AFSProcessCreate() must not maintain its DirOpenReferenceCount - when bFileCreated is true because the AFSCcb maintains its own - count and the one obtained by AFSProcessCreate() will only be - leaked. - - Change-Id: I6591eb1c10d3dffe7449894b29c9999f5db91d64 - Reviewed-on: http://gerrit.openafs.org/8961 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4811fd8844d1294ee37c14bac7cfae776d09c9b4 -Author: Jeffrey Altman -Date: Thu Jan 24 19:14:42 2013 -0500 - - Windows: Trace DirectoryCB allocations - - Add a trace subsystem for tracking Directory Entry allocations - and deallocations to assist with debugging. - - Change-Id: Ic5f0361bf10752f50d433d3e9f4792b32bec8de1 - Reviewed-on: http://gerrit.openafs.org/8960 - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c753d398f2005c886932f20b49af15efc489a829 -Author: Jeffrey Altman -Date: Thu Jan 24 18:55:24 2013 -0500 - - Windows: Introduce NameArray Reference Counts - - Split the DirOpenReferenceCounts into those related to DirectoryCB - reference counting unrelated to the NameArrays and those that are - related to the NameArrays. This helps track down the source of - overcounts and undercounts. - - Change-Id: Ie3c6f15394fe116761e32ed4d7756a4bf6a5549f - Reviewed-on: http://gerrit.openafs.org/8959 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e5e952f5fc1cb8a6d2789938e30fb00e5bb570d8 -Author: Jeffrey Altman -Date: Thu Jan 24 18:52:51 2013 -0500 - - Windows: AFSSetRenameInfo Notify correct object of change - - When AFSSetRenameInfo makes a change, it is the parent object - that must be notified not the parent of the parent. - - Change-Id: I56b3f1c076cb4abb4b5e41aed261e867a2d2ebb7 - Reviewed-on: http://gerrit.openafs.org/8958 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8d4757284a08d5e7123fab696c5da64faa4e6fb7 -Author: Jeffrey Altman -Date: Thu Jan 24 18:51:01 2013 -0500 - - Windows: Allocated VolumeCB from PagedPool - - Only the non-paged portion of the VolumeCB should be allocated - from the non-paged pool. Allocate the VolumeCB itself from the - paged pool. - - Change-Id: If248faf78546bb34fd1ba1ddcc1acb5a6da20c6f - Reviewed-on: http://gerrit.openafs.org/8957 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 34f4427a978a485d83b1faa57fd786e47b8dddf5 -Author: Jeffrey Altman -Date: Sat Jan 26 23:19:05 2013 -0500 - - Windows: Move VolumeWorkerContext to NonPaged pool - - The VolumeWorkerContext contains a KEVENT which must be allocated - from the NonPaged pool. Move it to the AFSNonPagedVolumeCB struct. - - Change-Id: If24ea5f22e6cc7e71328d0d2d8e0c8b9209ce5b2 - Reviewed-on: http://gerrit.openafs.org/8992 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e267774f1a4f9cc5bfc32c545df36a4bf7947607 -Author: Jeffrey Altman -Date: Thu Jan 24 18:44:33 2013 -0500 - - Windows: Categorize ObjectInformationCB RefCnts - - To assist in tracking down the source of ObjectInformationCB - overcounts and undercounts, add an advisory array which tracks - the reference counts by category. In the procress ensure that - all reference count changes are logged by tracing. - - Change-Id: I813cd0af5e12e36ba9863577dbd35abef6339414 - Reviewed-on: http://gerrit.openafs.org/8956 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fce3f679f1842a3c4b867a3152414566fc56fb81 -Author: Jeffrey Altman -Date: Thu Jan 24 18:24:55 2013 -0500 - - Windows: AFS_SUBSYSTEM_OBJECT_REF_COUNTING fixes - - A large number of trace messages monitoring ObjectInformationCB - reference counting were categorized under AFS_SUBSYSTEM_FCB_REF_COUNTING - instead of AFS_SUBSYSTEM_OBJECT_REF_COUNTING. This patchset applies - the correct subsystem category. - - Change-Id: I6c309b42b3d679f961d82c1a975d84122c9275f9 - Reviewed-on: http://gerrit.openafs.org/8955 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3e38897012ab8075df96b9e1ecca2a2ebc23cc30 -Author: Jeffrey Altman -Date: Thu Jan 24 16:29:52 2013 -0500 - - Windows: Reduce RDR Object Lifetime - - Adjust the redirector object lifetime from 10 minutes (600 seconds) - to 20 seconds. The object lifetime is how long an object can remain - idle before garbage collection is permitted. - - Change-Id: I8db89bfb0ccd40e9295dcbb30fbc2c96813d9fc9 - Reviewed-on: http://gerrit.openafs.org/8954 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 24b6365169e48d21bbb97fb456860f63389a5bcf -Author: Jeffrey Altman -Date: Sun Jan 13 10:15:02 2013 -0500 - - windows: Update raw fetch/store operations - - rawops.c is a hold over from Eric Williams' original attempt - to implement an AFS redirector. When the rest of the his code - was purged from the tree and replaced with a more complete - implementation based upon the Kernel Drivers's File System - framework rawops.c was left behind. - - Although the source file has been compiled as part of the build, - its functions ReadData and WriteData have never been called. This - patchset: - - 1. renames the functions to raw_ReadData and raw_WriteData - - 2. modifies the function signatures and provides a header - with prototypes - - 3. requires that cm_scache.rw be write-locked upon entry - - 4. renames variables - - 5. removes the #define CM_BUF_BUFSIZE and relies upon - cm_data.blockSize instead - - 6. Always write back the current range as an async store - instead of the previous chunk as random write patterns - will fail to store all of the dirty buffers. - - Change-Id: I1594b2950ab14da0c0de2a382fd1ba8248a9d1c6 - Reviewed-on: http://gerrit.openafs.org/8953 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bb733da134ce7d7742d5b7359edb36f67ec85632 -Author: Michael Meffie -Date: Wed Jan 16 12:10:02 2013 -0500 - - vlclient: add -probe option - - Add a new option to the vlclient test program to call the - probe server RPC to ping the vlservers in a cell. Uses a multi - rx call to do the probes in parallel. - - The existing -host option can be used to ping a single - vlserver. - - Change-Id: I25666b7ff139ae43364ac04869b14997f3ed0d53 - Reviewed-on: http://gerrit.openafs.org/8911 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 40b43a15b86d4159f7de478ed5e2ace543b7687a -Author: Simon Wilkinson -Date: Sat Feb 2 07:22:50 2013 +0000 - - tests: Don't use libafsauthent - - Use liboafs_auth.la directly, rather than using libafsauthent, to - build the auth tests - - Change-Id: Idf0e7a32626802b6113d21833ded09d9e20e3659 - Reviewed-on: http://gerrit.openafs.org/9023 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b3dd9c2f4e753c363ed5e75b50f73c70b4b675ad -Author: Simon Wilkinson -Date: Sat Feb 2 07:20:14 2013 +0000 - - auth: Permit NULL fallback in localauth case - - Allow the caller of afsconf_PickClientSecObj to specify both - local authentication, and to request fallback to null authentication - if local auth isn't available. - - Change-Id: Ib3b801bfde3f32b4cb9cdc7c08a3d8ab985c080f - Reviewed-on: http://gerrit.openafs.org/9022 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9dc6dd9858a49aab5207cdc46b6820a18ef54bf4 -Author: Simon Wilkinson -Date: Sat Feb 2 07:17:53 2013 +0000 - - rx: Fix AIX test_and_set_bit - - The AIX definition of rx_atomic_test_and_set_bit had its test the - wrong way round - so an already set bit would return false, and a clear - bit would return true. Fix this. - - Change-Id: I7778c411016bca53b38257fca59ae0f7aaad64ae - Reviewed-on: http://gerrit.openafs.org/9021 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 69f634503482f899e4d422b16100636905c72ea8 -Author: Thorsten Alteholz -Date: Wed Jan 30 20:11:04 2013 +0100 - - fix some typos in bos_setrestricted - - the real name of the command is: 'bos setrestricted' - it is sufficient to name 'bos install' only once - - Change-Id: Ic68f7cb55466e1c92c34eeda37c0a64a11b7e4d8 - Reviewed-on: http://gerrit.openafs.org/8990 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 17986a100e19992dc21b1b517d274857c1fc6984 -Author: Derrick Brashear -Date: Mon Jan 21 16:13:56 2013 -0500 - - rx: convert rxinit_status to atomic - - we don't need to use a lock just for this; switch to atomic and use that - to trigger configuration. - - Change-Id: Ia96ec308dda51d1f6d13f290a23251c66665e499 - Reviewed-on: http://gerrit.openafs.org/8930 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ed8b4808860cda1f80403e372e540c63b3b4183c -Author: Derrick Brashear -Date: Mon Jan 21 16:10:17 2013 -0500 - - darwin: stop processing upcalls once rx shutdown starts - - we have a chicken and egg. can't stop upcall without - killing socket; can't kill socket while rx might try to transmit on it. - cheat, and if rx is shut down, don't process things upcall receives. - - FIXES 131577 - - Change-Id: I6b72f6e7aefb7937b768dcb9c0a83d0ee3317bfa - Reviewed-on: http://gerrit.openafs.org/8931 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2f8de279e11ff954c0034eb1fd4695cb015d956f -Author: Jeffrey Altman -Date: Wed Dec 19 16:52:34 2012 -0500 - - Windows: Disable hard dead timeout for RDR File Server connections - - The UNIX cache manager does not implement hard dead timeouts - on file server connections. The Windows cache manager had to - because of the SMB connection timeout requirements. For the - AFS redirector there is no timeout requirement. Therefore, - when the SMB stack is disabled the Windows cache manager can - disable the hard dead timeout. - - The idle dead timeouts are in place to cancel connections when - file servers stop replying with real data. - - Change-Id: I44f77b78a52e7cac3a88a53830748b77f3ff4000 - Reviewed-on: http://gerrit.openafs.org/8828 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d1c6b7bc580e05f29f577bfdcdbd30c80cb1596b -Author: Derrick Brashear -Date: Fri Feb 1 08:42:49 2013 -0500 - - libafsrpc: avoid more concurrent libtool - - libtool gets confused if it is running two instances in the same - directory, so make sure we build libafsrpc.a after the other things - we already single-stream. - - Change-Id: I4c26b5707fdb73319563b063b45eb40b7ca1457e - Reviewed-on: http://gerrit.openafs.org/9017 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1839cdbe268f4b19ac8e81ae78548f5c78e0c641 -Author: Simon Wilkinson -Date: Mon Jan 21 16:50:25 2013 -0500 - - rx: atomic bit ops - - Add rx_atomic_test_bit, rx_atomic_set_bit, and rx_atomic_clear_bit - to provide bitwise operations over atomic types. These allow the - use of atomic flag variables. - - Uses native platform atomic operations wherever these are available, - otherwise falls back to our 'standard' MUTEX based implementation. - - LICENSE BSD - - Change-Id: I161631b2408e85f757ff04bf831a631ccb1f930d - Reviewed-on: http://gerrit.openafs.org/8936 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bf4cda8a5551719a005e4f927dfd1fb25dc2c219 -Author: Jeffrey Altman -Date: Fri Jan 25 03:25:46 2013 -0500 - - Windows: rename 'rbytes' to 'rxbytes' for clarity - - Throughout cm_dcache.c, the various 'rbytes' represents the number - of bytes to be read from the next rx_Read or rx_Readv call. - Rename the variable to 'rxbytes' to improve clarity. - - Change-Id: Iffd8dd397c0e6ab4cc44019b7f937a80f5d492d2 - Reviewed-on: http://gerrit.openafs.org/8952 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 23fa416581568c2c58c6f2739139b9486ba8fa10 -Author: Jeffrey Altman -Date: Thu Jan 3 14:11:31 2013 -0500 - - Windows: Update Bulk I/O Descriptor - - Update the cm_bulkIO_t and associated functions such that - the 'reserved' field is no longer a boolean indicated whether - or not buffers have been reserved but instead becomes a count - of the number of buffers that have been reserved. - - buf_TryReserveBuffers is modified to return an afs_uint64 - count of the number of buffers reserved instead of a boolean. - - cm_SetupStoreBIOD, cm_SetupFetchBIOD, and cm_ReleaseBIOD altered - to store the reserved buffer count and use it when freeing the - BIOD. - - Prior to this change it was not possible to reserve a count other - than the number of buffers it takes to store one chunkSize of data. - - Change-Id: I78d71c77ffddd7f34278314fcfe9ee568b835a8b - Reviewed-on: http://gerrit.openafs.org/8951 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8cb3e2eee81c3ec87f27fbfab18d6560490cb6d8 -Author: Jeffrey Altman -Date: Sun Dec 16 02:02:06 2012 -0500 - - Windows: reformat - - Change-Id: Ifba4f0d54032bd9580c97e7a94d2550e49b1a1ac - Reviewed-on: http://gerrit.openafs.org/8950 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 87b7396e3106febd651ff60051550007716e8e49 -Author: Jeffrey Altman -Date: Tue Nov 6 06:41:47 2012 -0500 - - Windows: handle CM_ERROR_RETRY in cm_Analyze() - - cm_Analyze() was not forcing a retry when it received CM_ERROR_RETRY. - - Change-Id: I5c392623a3917bebdd5cb9bd86b030395d7a7d48 - Reviewed-on: http://gerrit.openafs.org/8949 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e297a00dfca21103672ab97145895cabf97112a8 -Author: Jeffrey Altman -Date: Sat Dec 29 15:58:06 2012 -0500 - - Windows: Decrement Fcb OpenHandleCount while locked - - AFSCleanup performs tests on the Fcb Open Handle Count to determine - when to perform final cleanup tasks on the last handle close. The - test is protected by holding the Fcb Resource. If the Open Handle - Count is decremented after dropping the Resource, it creates a - race with other threads that might be blocked entering AFSCleanup - to close their handle on the same object. - - Change-Id: I0403d8aeafd736484728a25c5c48ab28e8b8a804 - Reviewed-on: http://gerrit.openafs.org/8863 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit af3f627e676c5b849b721c75a84a88fc6e54ec52 -Author: Jeffrey Altman -Date: Sat Dec 29 16:12:21 2012 -0500 - - Windows: AFSOpenRoot obtain VolumeRoot OpenReferenceCount earlier - - In AFSOpenRoot obtain the VolumeRoot reference count before performing - any operations that require use of the VolumeRoot. If the operations - fail, release the reference count. - - Change-Id: I2e5a6574f87db858aa60d812c68f637266db529e - Reviewed-on: http://gerrit.openafs.org/8862 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 1e6ec171caced9b7b3dd78c4931d7047bad07e1f -Author: Jeffrey Altman -Date: Sat Dec 29 16:10:14 2012 -0500 - - Windows: RDR FILE Processing Tracing - - Additional/improved trace messaging for name not found and - path not found errors. - - Change-Id: Ieedbee072c0f2c7050a33734fe16b4dfc0504cea - Reviewed-on: http://gerrit.openafs.org/8861 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c0627f8620594191ce5901937175c5f1a93daec2 -Author: Jeffrey Altman -Date: Sat Dec 29 00:57:31 2012 -0500 - - Windows: DirOpenReferenceCount reorganizing completed - - This patchset completes the reorganizing of the DirOpenReferenceCount - handling. Now that every AFSCcb is given a refCount in AFSInitCcb() - which is released in AFSRemoveCcb() it is possible to simplify some - of the logic surrounding DirOpenReferenceCount handling across - the AFSCommonCreate -> XXX -> AFSLocateNameEntry -> {MountPoint, Symlink} - call sequences. - - Wherever possible releasing of DirOpenReferenceCounts occur in a - functions try_exit block. AFSCommonCreate() uses the new variables - bReleaseDir and bReleaseParentDir to track whether these refcounts - need to be released. Additional comments document the decision - making. - - There was at least one code path in AFSLocateNameEntry() where - the DirOpenReferenceCount could be dropped when it should not have - been. (pExistingDirNode == pDirNode). - - Change-Id: I266a902ad4c44b4b8e49258c2da4acd2df1f4476 - Reviewed-on: http://gerrit.openafs.org/8860 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9f0f9d9ecea59b76c1794b405ab43eeb99edfe68 -Author: Jeffrey Altman -Date: Sat Dec 29 00:51:55 2012 -0500 - - Windows: NameArray DIRENTRY_REF_COUNT logging - - Include the NameArray pointer in the AFS_SUBSYSTEM_DIRENTRY_REF_COUNTING - log messages generated from the NameArray management routines. This - permits correlation between the reference count changes and the - NameArray to which they were associated. - - Change-Id: Ieb1b78dec35b91fe2b325ed9da760f56e98759c3 - Reviewed-on: http://gerrit.openafs.org/8859 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0ea2174f018ffff363da03e21b4f6c9f59263ed1 -Author: Jeffrey Altman -Date: Sat Dec 29 00:49:43 2012 -0500 - - Windows: AFSSetRenameInfo DIRENTRY_REF_COUNTING - - When logging the result of the DirOpenReferenceCount increment, - use lCount instead of referencing the DirOpenReferenceCount field - which could have been changed. - - Change-Id: I2227472bf903c347e505e4e1d8b60d35e176c0df - Reviewed-on: http://gerrit.openafs.org/8858 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8bd8f371d73fafddb409cdcc98467632dc111125 -Author: Jeffrey Altman -Date: Sat Dec 29 00:44:27 2012 -0500 - - Windows: AFSSetFileLinkInfo() DirOpenReferenceCount handling - - AFSSetFileLinkInfo() would leak a DirOpenReferenceCount when - pNewTargetDirEntry is not NULL upon exit. It also did not - properly handle a STATUS_REPARSE response from AFSNotifyHardLink(). - The AFSInsertDirectoryNode() call should not be performed when - the result is STATUS_REPARSE since that means the entry already - exists. - - Change-Id: Ibbf497cb4c3c412e4f95cdffc6025f03f0e2ed8b - Reviewed-on: http://gerrit.openafs.org/8857 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 479f35832515c3235865e0e286d0fd5e5e406d47 -Author: Jeffrey Altman -Date: Sat Dec 29 00:40:25 2012 -0500 - - Windows: AFSNotifyHardLink() DirOpenReferenceCount handling - - This patchset consolidates the releasing of the DirOpenReferenceCount - within AFSNotifyHardLink() into the try_exit block. This clarifies - the logic and avoids duplicate code blocks. - - Change-Id: I7bf7e5af55646ea570c76e36a673900521a3582c - Reviewed-on: http://gerrit.openafs.org/8856 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5ef1aeb60f14ca3807a2855c23cb011e0fc046fb -Author: Jeffrey Altman -Date: Sat Dec 29 00:36:44 2012 -0500 - - Windows: AFSNotifyFileCreate() DirOpenReferenceCount handling - - This patchset consolidates the releasing of the DirOpenReferenceCount - within AFSNotifyFileCreate() into the try_exit block. This clarifies - the logic and avoids duplicate code blocks. - - Change-Id: I82e964f579f9e8b6e095291ace0bbe2cdac5af60 - Reviewed-on: http://gerrit.openafs.org/8855 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f849fb1f6be4d4f8c34d150c8cdce1435a7125bf -Author: Jeffrey Altman -Date: Sat Dec 29 00:29:45 2012 -0500 - - Windows: AFSClose() DirOpenReferenceCount handling - - Unless the caller of AFSRemoveCcb() steals the DirectoryCB object - from the AFSCcb before calling AFSRemoveCcb(), AFSRemoveCcb() will - release the reference count. - - In all but one case where the DirectoryCB must be accessed after - the AFSCcb is destroyed AFSClose() can now let AFSRemoveCcb() do the - work. - - Change-Id: I8d631d79b2465cd6f2e31444fd052270b078915c - Reviewed-on: http://gerrit.openafs.org/8854 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit afdb0dac9201a235dc1fd35e52e43895979b4583 -Author: Jeffrey Altman -Date: Sat Dec 29 00:28:04 2012 -0500 - - Windows: Fix AFSLocateNameEntry prototype - - The VolumeCB parameter is an IN/OUT parameter. - - Change-Id: I3eb4231e0d095cc98cc5847905d61d924d12e6f3 - Reviewed-on: http://gerrit.openafs.org/8853 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9b3c7b41926758ed9060664a3da93820054db550 -Author: Jeffrey Altman -Date: Sat Dec 29 00:17:59 2012 -0500 - - Windows: AFSInitCcb redefinition - - The new AFSInitCcb() allocates its own DirOpenReferenceCount to - associate with the AFSCcb.DirectoryCB. - - It also accepts the GrantedAccess mask and the FileAccess values - which are stored in the AFSCcb. - - These changes simplify the callers and remove responsibility of - tracking whether or not the DirOpenReferenceCount was successfully - associated with the AFSCcb. - - The allocated DirOpenReferenceCount is always released by - AFSRemoveCcb(). - - Change-Id: Ib475310d934830974c553e0eeff96b114a56541b - Reviewed-on: http://gerrit.openafs.org/8852 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 207890788079c82d81a1a7f2a0972ed165583798 -Author: Jeffrey Altman -Date: Thu Dec 27 14:41:29 2012 -0500 - - Windows: AFSRemoveCcb cannot fail - - Since AFSRemoveCcb cannot fail, change the signature from returning - NTSTATUS to void. - - Remove all error handling code. - - Change-Id: Ifa893a714f97cefb9bd122ab84508e5d36987e88 - Reviewed-on: http://gerrit.openafs.org/8851 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7f96084969d3082842a9575ee8ff7da8c52a0796 -Author: Marc Dionne -Date: Sat Dec 22 07:54:54 2012 -0500 - - Rework set_header_word macros - - Rework the set_header_word macros so that all compilers are - happy: - - the use of offsetof() is avoided, as it has an issue on IRIX - when the result is not constant - - the assignment within the macro is explicitely sequenced before - the function call to avoid a gcc sequence-point warning - - Change-Id: I2355233e865b155f958379bfa2736fee19ef2680 - Reviewed-on: http://gerrit.openafs.org/8816 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 265a4b542b717c14e810202078c3ce83e4d851f5 -Author: Ken Dreyer -Date: Wed Dec 12 10:37:47 2012 -0700 - - NEWS updates for 1.6.2 - - Add an entry for 1.6.2 with "in progress" instead of a date to hold the - release notes for 1.6.2pre4 rather than creating separate entries for - each release candidate. Users who track the release candidates can refer - to the public announcements, and this will be cleaner when reading - history later on. - - Change-Id: I625044e20836e072b62ffa738eca23f1d11813a5 - Reviewed-on: http://gerrit.openafs.org/8750 - Reviewed-by: Ken Dreyer - Tested-by: Ken Dreyer - -commit 35ee4abecd2ed77eaa49e9748e4034ad9ad37edc -Author: Stephan Wiesand -Date: Mon Jan 28 15:53:36 2013 +0100 - - CellServDB update 28 Jan 2013 - - Change-Id: Icb622cc5480aeba108b9a11f55cfb44ab7f7c262 - Reviewed-on: http://gerrit.openafs.org/8982 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit 4197bbecd9d0b2ff0b8eaec75a0df9a64f713cf0 -Author: Michael Meffie -Date: Thu Jun 7 14:46:04 2012 -0400 - - libafs: fs flushall for unix cm - - Implement the fs flushall command on the unix cache manager to flush - all volume data. Uses a new common pioctl code point VIOC_FLUSHALL (14), - registered with the grand.central.org assigned numbers. - - Change-Id: I214d8c762573b308d79fa7122a91d48ddd403eb9 - Reviewed-on: http://gerrit.openafs.org/7540 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 9c07dd592a0b4c55266d63b26118ca23df6747a5 -Author: Jeffrey Altman -Date: Wed Jan 23 22:50:26 2013 -0500 - - Windows: Use %p for ptrs in redirector trace messages - - Pointers were being logged with %08lX which results in partial - pointer values being logged on 64-bit systems. - - Change-Id: Ic11e5b607b3df41f145536dfcb02dfa22537ee77 - Reviewed-on: http://gerrit.openafs.org/8943 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1b63689b99b49d902dd5a3286b14dcccee88b4a2 -Author: Andrew Deason -Date: Fri Jan 18 14:27:16 2013 -0600 - - SOLARIS: Use vn_renamepath as early as possible - - Commit 6c509601 uses the vn_renamepath when we are building on Solaris - 11. However, some recent patch level of Solaris 10 (more recent than - stock 10u10) has the same problem fixed by that commit, where - vn_setpath takes an additional argument. So instead, just test for the - existence of vn_renamepath itself, so we also use it on Solaris 10 - when we can. - - Thanks to Rich Sudlow for reporting this. - - Change-Id: Ic1c0437d2438c6e19b8fff8278ecda9b96bd020b - Reviewed-on: http://gerrit.openafs.org/8920 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f6f145c90fbc236c350ddaa4d18b359be581496f -Author: Andrew Deason -Date: Tue Jan 22 15:41:38 2013 -0600 - - aklog: Fix allow_weak_crypto warning - - It's _crypto, not _enctypes. The user will just be more confused than - before if we tell them to do the wrong thing. - - Change-Id: Ib94b14efbd3c89d9f58fb8985326ee8691fd993b - Reviewed-on: http://gerrit.openafs.org/8938 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - -commit cb9f25c448ca89e84abdefb9ddbff6937e1e7a7f -Author: Simon Wilkinson -Date: Fri Jan 18 22:54:03 2013 +0000 - - rx: Remove warning inhibition on rx.c - - The CFLAGS_NOERROR rule for rx.c seems to have crept back in as - part of the libtool changes. The LWP build of rx.c has never had - warning inhibition on rx.c, and the inhibition in the pthread - builds was removed by 327762071be3806c5d08be0218982c7027754756 - - Change-Id: Icde3f0b6ee2f8ae0818a3dc722c6171284d6a9e6 - Reviewed-on: http://gerrit.openafs.org/8921 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit c57542ac9003aca7300801043dbbad8fd4072c40 -Author: Andrew Deason -Date: Fri Jan 18 17:05:12 2013 -0600 - - FreeBSD 9.1: Warning fixes - - Fix warnings caused by some changes in FreeBSD 9.1: - - - afs_cmount takes a uint64_t for flags instead of an int - - vn_rdwr takes a ssize_t* for resid instead of an int* - - [kaduk@mit.edu: rebase onto master and use fine-grained version checks] - - Change-Id: I03ab805a625790004a910df96b96aeda1121e2a7 - Reviewed-on: http://gerrit.openafs.org/8922 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 4da5f0b498782094b979737f6bee6e0bd2f5cb79 -Author: Rod Widdowson -Date: Sun Dec 30 11:13:24 2012 +0000 - - Windows: Police Library IOCTLs - - Ensure that the callers of the various library ioctls have - the correct identity or privs. All this policing is done in - the fs (non unloadable) layer, and to ensure that the library - layer cannot receive these calls directly we forbid non - create Opens of the library control device. - - Change-Id: I2342fe10047642082adfbd1cc6aaee09cc91b520 - Reviewed-on: http://gerrit.openafs.org/8893 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit dd672fffe9bfef6bd872b008e7f3e3dd5f904a80 -Author: Rod Widdowson -Date: Fri Dec 28 15:00:15 2012 +0000 - - Windows: Police the DEBUG TRACE ioctls - - When we get a IOCTL_AFS_GET_TRACE_BUFFER, a IOCTL_AFS_CONFIGURE_DEBUG_TRACE - or a IOCTL_AFS_FORCE_CRASH, we check to see whether the caller is in the - Administrators group and if it isn't we fail the request with ACCESS_DENIED. - - NOTE that this does not check whether the user has done the "run as admin" - thing. We actually need to determine which priviledges are appropriate to - this action and use that rather than group membership to police these actions - and this will be added in a later patch. Meanwhile this represents a - significant increment in security from previously. - - Change-Id: I0997e59a82735735674d8edee7a7a68d241e6ef8 - Reviewed-on: http://gerrit.openafs.org/8843 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cda1c006a7907f374fbaac9f298722f491fad296 -Author: Derrick Brashear -Date: Mon Jan 21 11:57:54 2013 -0500 - - macos: update decode-panic - - fix a couple brain-os from the last round of updates, so it can - actually decode panics. - - Change-Id: If39f1fb273a834d0618264d944387bd8b6751284 - Reviewed-on: http://gerrit.openafs.org/8929 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d72d0f4a81764d0cfc0f145185bbaa91b52873b2 -Author: Andrew Deason -Date: Thu Jan 17 15:37:06 2013 -0600 - - Improve libroken configure check - - It is not sufficient to just check if libroken is available; we need - to check if the specific functionality we want is there. So, try to - compile and link while referencing specific functions. - - As mentioned in the comments, testing every single function we use may - not be practical, and we should perhaps just add functions to test as - we find breakage. This commit tests rk_rename, which is missing in at - least the Debian package heimdal-dev, version - 1.4.0~git20100726.dfsg.1-2+squeeze1. - - Change-Id: I0ac6c9aea1f8598bb1b1315544683b2403de5f69 - Reviewed-on: http://gerrit.openafs.org/8916 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 09c0484fd8878797957f7ff5936c542a0f6332c4 -Author: Michael Meffie -Date: Mon Dec 10 18:00:25 2012 -0500 - - xstat: length check cm call info - - Define the cm xstat function call counters with an xmacro to avoid - duplicating the list of cm function names. This obviates the need - to update xstat_cm_test.c when new function names are added to the - cm xstat collection id 0. - - Check the number of returned records when printing the function call - counts to avoid over-running when a newer xstat_cm_test client - receives data from an older cm. - - Change-Id: I3c5470afb7b04167173b41bb576a4a6ec14753f7 - Reviewed-on: http://gerrit.openafs.org/8741 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit dfe06c96c2c228a5cb7aeb0f123b73660a57543c -Author: Michael Meffie -Date: Mon Dec 10 18:02:20 2012 -0500 - - xstat: remove unused call info function - - Remove the dead function PrintCallInfo(), which was replaced - by print_cmCallStats() long, long ago. - - Change-Id: Id67323d66cc498f77e55f173218547ad5d4223c7 - Reviewed-on: http://gerrit.openafs.org/8740 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit e130b342eb9aab06f6581f7cc9d5e64741ee3146 -Author: Antoine Verheijen -Date: Mon Jan 21 01:48:01 2013 -0700 - - OpenBSD: Add support for missing routine memmove() in kernel. - - OpenBSD does not have the memmove() routine available to dynamically - loaded modules in its kernel. It exists but is not exported so it - winds up "mia" on dynamic load of the kernel module. It's needed for - the Heimdal code that's been added into OpenAFS. This patch deals - with this issue by creating an inline version in the OS-specific - param.h file. - - Note that this issue does not seem to exist in the amd64 version of - OpenBSD so (at least for now) tis fix is only applied to the i386 - version of the header files. - - Change-Id: Ide8a5ff49cb662e145fd93aefd8e3a12d7cbead5 - Reviewed-on: http://gerrit.openafs.org/8926 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9dc72855992e559a9d2e9fd7621ac5a19079bcf9 -Author: Antoine Verheijen -Date: Sun Jan 20 23:27:02 2013 -0700 - - OpenBSD 4.6/4.7: Define curproc for rx_atomic.h. - - For OpenBSD 4.6 and 4.7, the rx_atomic.h header ultimately resorts - to the use of the default atomic routines that rely on MUTEX - macros. Those macros require that 'curproc' be defined, which in - turn requires the presence of the 'sys/proc.h' header. This patch - inserts that header into the param.h file for those systems. - - Note that subsequent versions of OpenBSD have __sync_fetch_and_add - and don't require 'curproc' as a result. - - Change-Id: I5131aed60631ef285eda92180ef65845165526b1 - Reviewed-on: http://gerrit.openafs.org/8925 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d0479bbaf43900d6733c3f7517926ee9813c9610 -Author: Marc Dionne -Date: Wed Jan 9 21:22:27 2013 -0500 - - Linux 3.8: vmtruncate removal - - vmtruncate had been deprecated for a while and has now been - removed. Do things the new way based on truncate_setsize. - - Change-Id: If584329f7330f44be3909e4c8b935e4fe5e2b536 - Reviewed-on: http://gerrit.openafs.org/8906 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c6d27e322a8d3b352554650473a048235a9c763a -Author: Marc Dionne -Date: Wed Jan 9 19:26:54 2013 -0500 - - Linux 3.8: session_keyring changes - - The session_keyring is now attached directly to the cred structure - and the thread_group_cred structure (cred->tgcred) no longer exists. - - Adapt code that makes use of tgcred, and use the standard rcu based - mechanism to update session_keyring. - - Change-Id: If4b88cbc7f9af6343353648837b28541a5088429 - Reviewed-on: http://gerrit.openafs.org/8905 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b61eac783e8c092cd4ba9f53a2b5ca7d43e08b1b -Author: Marc Dionne -Date: Fri Jan 18 22:40:03 2013 -0500 - - Linux: setpag() may replace credentials - - For recent Linux. setpag() may replace the current process' cred - structure with a new one. This is not a problem for most callers, - but in the case of processing a SetTokens2 pioctl with the setpag - option, the new credentials should be used to determine the target - for the token. - - Change-Id: I4441349b8a72eac7d56276abcdf243b2ffd21b98 - Reviewed-on: http://gerrit.openafs.org/8924 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 07d83cd473146a0db9c2ed521b6fa6ba607b0d40 -Author: Dan van der Ster -Date: Fri Dec 14 11:08:44 2012 +0100 - - rxperf: print achieved transfer rate - - Prints the client transfer rate in appropriate units (kbit/s, Mbit/s, or Gbit/s). - - Change-Id: I5632185953c5d2bfc962af71152734d842cfb021 - Reviewed-on: http://gerrit.openafs.org/8758 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 13111d25408cf6765d1b67bc3767614c8963cfde -Author: Ben Kaduk -Date: Fri Jan 11 13:03:02 2013 -0500 - - Catch up to FreeBSD KPI for vfs_cmount - - Almost a year ago, mckusick changed the VFS KPI/KBI for the cmount - VFS operation, making the flags argument a 64-bit quantity. - Introduce appropriate conditionals for our prototype of afs_cmount - for the change on the 10.x and 9.x branches. - - Change-Id: Ia0b8759f027e64f98f087daabbf1a51030171f21 - Reviewed-on: http://gerrit.openafs.org/8907 - Reviewed-by: Garrett Wollman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 04ddecc1f2827463edf22857f9b19910ccc25e98 -Author: Chas Williams (CONTRACTOR) -Date: Wed Jan 16 21:16:31 2013 -0500 - - LINUX: fix array indexing issue in memory statistics - - The comma is a sequence point and i gets incremented and then used. - This results in writing past the end of the array by one (and failing - to initialize the first element as well). - - Potential fix for RT ticket 131566. - - Change-Id: Iabe7e78961d1f5348bca75ca5b9e6e29d8554957 - Reviewed-on: http://gerrit.openafs.org/8914 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit a911185b314b111c13aaf5230669f69864582897 -Author: Andrew Deason -Date: Thu Jan 17 16:35:09 2013 -0600 - - ubik: Remove bare global ubik_epochTime - - Commit e4ac552a moved ubik_epochTime into a global version_globals - struct. However, it missed a references to the existing - ubik_epochTime value it was moving, as well as its declaration. Remove - the declaration, and move the reference to use the version_globals - structure. - - Change-Id: I2552ba850f286b2b93f3c1b696d993a7cfc074c8 - Reviewed-on: http://gerrit.openafs.org/8918 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7858cfd4f5b8ca4d028043bde00b02849ffa2990 -Author: Andrew Deason -Date: Thu Jan 17 16:37:56 2013 -0600 - - ubik: Trivial formatting fix - - Change-Id: Ie409dc5dc7fe63cc72c97666146e7019e5db086e - Reviewed-on: http://gerrit.openafs.org/8917 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 684d1ec6ba4bb7e96404328d02be5d070ba63478 -Author: Marc Dionne -Date: Wed Jan 9 18:42:32 2013 -0500 - - gcc 4.8: fix warnings - - Quiet new warnings introduced by gcc 4.8: - - - Many unused typedefs under src/admin. - - A possibly uninitialzed variable under src/viced - - Change-Id: I96858c2d12a9ee3270d89a64fcf772affe93e9eb - Reviewed-on: http://gerrit.openafs.org/8913 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 7dbb35a89f42743ff0a29bc9822b94141a2a8323 -Author: Michael Meffie -Date: Mon Dec 10 12:01:38 2012 -0500 - - doc: dynamic mount requires dynroot and fakestat - - Document that dynamic mount (/afs/.:mount) requires - dynroot and fakestat on non-linux unix. - - Change-Id: I947edd30d510c7cc6840bc2cc74d0ef07b692afb - Reviewed-on: http://gerrit.openafs.org/8739 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Reviewed-by: Ken Dreyer - -commit 08a4b05c27964dd06d7922c134dc2dccc062b379 -Author: Andrew Deason -Date: Tue Jan 8 17:50:57 2013 -0600 - - SOLARIS: Avoid open count cleanup for Solaris 11 - - The comments in here no longer apply to Solaris, as of OpenSolaris - commit 11736:63a134e1f09c by Donghai Qiao (4492533 Filesystems may - need VOP_CLOSE() for executables following a VOP_OPEN()). This means - that this workaround should no longer be necessary for any Solaris 11 - release, any illumos release, and anything else based off of - OpenSolaris. So, stop doing it. - - Thanks to Frank Batschulat for pointing this out, and providing all of - the details. - - Change-Id: I54ed545e3b9d858fbffc762246ae805cd9c63a64 - Reviewed-on: http://gerrit.openafs.org/8895 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6c50960174f35d75fd50956e248318a9c826fca1 -Author: Andrew Deason -Date: Tue Jan 8 17:41:21 2013 -0600 - - SOLARIS: Use vn_renamepath when available - - In Solaris 11.1, the signature of vn_setpath changes; it gains an - extra boolean_t argument called 'force'. Instead of trying to adapt to - it, call vn_renamepath() instead, which will do the correct thing and - call vn_setpath &co for us. vn_renamepath has existed since Solaris 10 - Update 8, and is in all releases of Solaris 11. Only call it in - Solaris 11, since it makes the ifdefs easier, and there are no - problems with calling vn_setpath on Solaris 10. - - Thanks to Frank Batschulat for all of the relevant information. - - Change-Id: Iad4ada70abbb5ec2289c30149ab4c571fa8a68ff - Reviewed-on: http://gerrit.openafs.org/8894 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c981ef17613e59d5b96dd4cd9f5ee023c2e5750b -Author: Ben Kaduk -Date: Mon Jan 7 15:05:40 2013 -0500 - - Fix build for separate objdirs - - In particular, setting UNTHREADED=${srcdir}/dir and then referring - to ${srcdir}/${UNTHREADED} is a recipe for sadness. - - Fix the libtool invocation to correctly find .la.sym files in ${srcdir}. - - Also add some missing header dependencies that are hidden when building - in the src tree. - - Change-Id: I1b663141c549cc4b90e46327c3fb31dc80294eaa - Reviewed-on: http://gerrit.openafs.org/8891 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3ee5e20170b4c42f6fccabaf70e28d14e35fae53 -Author: Rod Widdowson -Date: Fri Dec 28 15:43:52 2012 +0000 - - Windows: Restrict the Service IOCTLS to the service process - - When the service starts the system we save it's PID and when we see a - IOCTL_AFS_INITIALIZE_REDIRECTOR_DEVICE, - IOCTL_AFS_PROCESS_IRP_REQUEST, IOCTL_AFS_PROCESS_IRP_RESULT, - IOCTL_AFS_SYSNAME_NOTIFICATION or IOCTL_AFS_SYSNAME_NOTIFICATION - ioctl we check that the calling process has that PID. - - Change-Id: Ie66676bba4b4e4d858979babe9c0af4c53ea0143 - Reviewed-on: http://gerrit.openafs.org/8844 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8a17568fb4fd3f77a3b9d043bbe49e992bca8266 -Author: Michael Meffie -Date: Sat Jan 5 13:37:51 2013 -0500 - - correct whitespace errors in readme files - - Fix the trailing whitespace and leading spaces - before tabs in the readme files. - - Change-Id: If20e528ddb28f82e4d3d1b1f03dec8670f914afc - Reviewed-on: http://gerrit.openafs.org/8877 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Ken Dreyer - Reviewed-by: Jeffrey Altman - -commit 5138c07abd076e0fa90d70a175a3a822fb127ef5 -Author: Rod Widdowson -Date: Fri Dec 28 14:40:40 2012 +0000 - - Windows: Only allow the local system account to speak to the redirector - - When we get the IOCTL_AFS_INITIALIZE_CONTROL_DEVICE IOCTL we check to - see whether the calling process is the LOCAL_SYSTEM_SID (the one that - services run at if they are not running as a specified SID). If we - are not then the initialize fails ACCESS_DENIED. - - If the debug build ONLY, setting the AFS_DBG_DISABLE_SYSTEM_SID_CHECK - bit in OpenAFSDebugFlags circumvents this check, allowing interactive - debugging. - - Existing code stops two processes (or even handles) from trying to - initialize the system. - - Change-Id: I2ef8ca3a0df908acba38b435178d0509e96d6114 - Reviewed-on: http://gerrit.openafs.org/8842 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 8e8e3c26b87d78b92d96ba91d58ee59d774ebcb5 -Author: Nickolai Zeldovich -Date: Sat Jan 5 23:45:59 2013 -0500 - - libadmin/vos/vosutils.c: mask out sign-extension - - Right-shifting a signed int by 24 bits can produce a value outside of - 0..0xff due to sign-extension. As a result, in AddressMatch(), the - first bPattern!=255 check can never succeed. Fix by masking with 255 - before comparison. - - Change-Id: Idb0b4c176ff120c7cf0e03a935ebfdca51084bbd - Reviewed-on: http://gerrit.openafs.org/8884 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit bd850e5b980d34236ee98d16b9717860b63af306 -Author: Nickolai Zeldovich -Date: Sat Jan 5 23:45:46 2013 -0500 - - lwp/iomgr.c: avoid off-by-one out-of-bounds access - - Avoid accessing sigDelivered[NSIG] and sigEvents[NSIG], which are - out-of-bounds by one. - - Change-Id: Id6a1798cba901987b8103f287e0869b31040b45b - Reviewed-on: http://gerrit.openafs.org/8883 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 4d6967e0b0a0628deb1dd9d210de84779d41f856 -Author: Nickolai Zeldovich -Date: Sat Jan 5 23:45:33 2013 -0500 - - butm/file_tm.c: check for null pointer before dereferencing - - Move the null pointer check to before the pointer is dereferenced. - - Change-Id: I9983dae8802706c1efeff8a507a001b649572686 - Reviewed-on: http://gerrit.openafs.org/8882 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 1b3749335165a0d6ff7882cea4ee3e16f2055b4e -Author: Nickolai Zeldovich -Date: Sat Jan 5 23:45:21 2013 -0500 - - auth/authcon.c: fix likely mistake - - It seems likely the original developer intended to check - *scIndex==RX_SECIDX_NULL rather than scIndex==RX_SECIDX_NULL. - - Change-Id: I8a33d3cb177a9212917613581957073392b08314 - Reviewed-on: http://gerrit.openafs.org/8881 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - -commit d9cc9c9dee9ad0213ddd39174e81d01b9707937b -Author: Nickolai Zeldovich -Date: Sat Jan 5 23:45:11 2013 -0500 - - tools/dumpscan/pathname.c: properly check strdup() return value - - Fix the check for strdup() running out of memory. - - Change-Id: I4e2d83036095c7b292ee4c386d8ed7b16ec75067 - Reviewed-on: http://gerrit.openafs.org/8880 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 0e83cde60e6e91fbe20ffac0f0a77afe8497d950 -Author: Nickolai Zeldovich -Date: Sat Jan 5 23:44:55 2013 -0500 - - ubik/udebug.c, vol/vol-info.c: check array index before dereferencing - - Avoid out-of-bounds array accesses by first checking that the index - is in-bounds, and then dereferencing; not the other way around. - - Change-Id: Ib36a28ca6181a7a7fd602de45cb5a15fad099a44 - Reviewed-on: http://gerrit.openafs.org/8879 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 5c5515a5c3b34f9a115b29378e123c779c138f51 -Author: Nickolai Zeldovich -Date: Sat Jan 5 23:44:33 2013 -0500 - - volser/vol_split.c: do not dereference known-NULL pointer - - Avoid dereferencing a pointer that we just checked is NULL when printing - an error message. - - Change-Id: Ibc89883977e7044cab2a844d97b7f0f7d236f4ea - Reviewed-on: http://gerrit.openafs.org/8878 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4042667388406e540c8a6546031d514793ffc8c4 -Author: Michael Meffie -Date: Sat Jan 5 10:40:42 2013 -0500 - - spelling corrections in readme files - - Fix spelling errors in readme files. - - Change-Id: I62348372d5e226f2b2a3a7732b4a5f8c7331b2ff - Reviewed-on: http://gerrit.openafs.org/8876 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit 81dd4878e7a71b5acfd7a6e6f9be26cd6ab28972 -Author: Andrew Deason -Date: Fri Jan 4 14:18:40 2013 -0500 - - SOLARIS: Look for ncurses in ncurses/ncurses.h - - Solaris 11+ has ncurses.h in ncurses/ncurses.h. Look for it there. - - Without this, on Solaris 11.1 we will detect libncurses automatically - (because it lives in /usr/lib), but not ncurses.h (since it is in - ncurses/ncurses.h, not ncurses.h). So, we will fall back to curses.h, - but will try to link to libncurses, which, as you might guess, fails - with various undefined symbols. - - Change-Id: Ia174e2a3c97318d6db2a48a6098569aede93522c - Reviewed-on: http://gerrit.openafs.org/8874 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 936c2b02bf6fbeb3844c539665392ae89eb652fe -Author: Andrew Deason -Date: Fri Jan 4 13:47:35 2013 -0500 - - SOLARIS: Avoid areq and auid conflict - - On new Solaris (11.1), nfs/auth.h #defines areq and auid to access - some elements inside the nfsauth_arg structure more easily. We have a - lot of functions that use those names as parameters, so the compiler - throws an error (since we have a decl like "struct vrequest - *areq_u.areq"). - - We cannot avoid including that header, since we need some NFS-related - headers for the NFS xlator, and they pull in nfs/auth.h - unconditionally. So, work around this by undefining areq and auid - afterwards. - - Change-Id: Ifd139917dfe7a1221941351f7873fe183c617159 - Reviewed-on: http://gerrit.openafs.org/8873 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 004e9f25634d76be58b5a60dfc3c9a058d8bcd26 -Author: Andrew Deason -Date: Wed Jan 2 14:09:06 2013 -0500 - - afs: Check dv against localhero aincr - - For operations that modify directories, we call afs_LocalHero to - determine if we can perform the directory modification in our local - cache, and avoid fetching the dir blob from the fileserver. Currently, - afs_LocalHero assumes that the DV received from the fileserver is - correct, and will update the cache DV as long as we have a valid - callback on the file. - - If for any reason the client cache falls out of sync with what's on - the fileserver, this can cause the client to incorrectly believe its - cache is up to date. Since, the cached data will be marked with the - newest DV, even if the DV on the server has jumped to be larger than - we expected. - - While the client cache should never fall out of sync with the - fileserver, in the past this has been possible due to other bugs - (fileserver idle dead processing and client VNOSERVICE handling). - Assuming that the given DV is correct is also just unnecesarily - fragile, since we can always check if it is correct, so just check it, - and add some comments helping explain what's going on here. Note that - regular file writes effectively already check this. - - Note that this change makes use of the 'aincr' argument to - afs_LocalHero, which was previously unused. aincr appears to have been - used for a purpose similar to this before OpenAFS 1.0, but was - removed, possibly accidentally. - - It is possible this change negatively affects, or even breaks - (unlikely), functionality with the AFS<->DFS translator. Although - nothing of the sort has been seen, it is difficult to know one way or - the other, due to the lack of available DFS translators. - - Change-Id: I0e5395bac695257f66ba0cd58695a59ebdf56431 - Reviewed-on: http://gerrit.openafs.org/8864 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 19f424ecc26b02b210a3ba54b93846dddba14ede -Author: Mark Vitale -Date: Fri Dec 21 18:26:18 2012 -0500 - - vol: correct old conditional for IH_CONDSYNC - - Two places in the vol package performed IH_CONDSYNC(vp->linkHandle) - only if AFS_NT40_ENV. This was correct when the namei implementation - was windows only; however, this ifdef was apparently overlooked - when namei was implemented for UNIX. - - Change-Id: I0cbe2c5c0a65ece0485b8c2d5a5f92eeb53725fe - Reviewed-on: http://gerrit.openafs.org/8815 - Reviewed-by: Derrick Brashear - Reviewed-by: Michael Meffie - Tested-by: BuildBot - -commit 0a98596cd34152c13e44ff81249d89d47b5baee4 -Author: Russ Allbery -Date: Thu Jan 3 14:09:02 2013 -0800 - - Make MIN/MAX code in rx/rx_packet.h more readable - - Eventually all MIN/MAX code in the tree should be handled uniformly, - but until that day, make this chunk of it more readable and - document the odd exception case for Linux kernel builds. - - Change-Id: I4afe5d99b63010df831943e6b82ff89733b08066 - Reviewed-on: http://gerrit.openafs.org/8871 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fe2bae1c83a6d050e0afb88bad8fe02beae343e7 -Author: Russ Allbery -Date: Thu Jan 3 13:57:02 2013 -0800 - - Ensure MIN/MAX are defined in userspace builds of rx - - The include of was removed from rx_packet.h on - Linux 2.6 and later to fix kernel builds with 3.7, which doesn't - have that header in kernel space. However, while kernel space - always provides MIN/MAX defines, userspace relied on the header. - On at least powerpc, no other include chain includes sys/param.h, - so MIN/MAX were left undefined. - - Fix this by only skipping the include of on Linux - if building in kernel mode. - - Change-Id: Icd2edd645ef4d18d626de8ce8b81ac07f37b1f21 - Reviewed-on: http://gerrit.openafs.org/8870 - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2e5ef04e24c89e846af7aae7da57a0b0f5e200c3 -Author: Russ Allbery -Date: Thu Jan 3 09:13:26 2013 -0800 - - Fix spelling error (retreive for retrieve) in strings - - Caught by Lintian analysis of the compiled binaries. - - Change-Id: I5d53d596d30ad8fea5d3f8f0116122a8c1aa808c - Reviewed-on: http://gerrit.openafs.org/8865 - Reviewed-by: Ken Dreyer - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit f2f7ba50ed61a6187814d633327a8cacda0f656f -Author: Andrew Deason -Date: Fri Dec 28 13:16:49 2012 -0500 - - viced: initInterfaceAddr_r regardless of ICBS code - - Currently we only call initInterfaceAddr_r for a host if a call to - RXAFS_InitCallBackState3 succeeds. However, this leaves the host - without a host->interface structure, which indicates that the host - does not support UUIDs, and is represented by just a single host,port - pair. - - But this is not correct; the host probably does have the relevant UUID - associated with it, but it is just not responding. So, with the - current code, we create a uuid-less host structure for a host that - probably has a uuid; that host structure will probably never be used, - and will just get deleted later. - - So instead, always call initInterfaceAdd_r. Do it before the ICBS - call, so the host will be findable via UUID as early as possible. If - the ICBS call fails, the host will be marked as 'down' later on. - - Change-Id: I3a000af90773acbdd66fc22718e5e742619839a1 - Reviewed-on: http://gerrit.openafs.org/8847 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7b642173c7cd7b6b7130214c1a940501736abbf0 -Author: Andrew Deason -Date: Fri Dec 28 12:58:33 2012 -0500 - - viced: Avoid dangling uuid hash table entry - - Currently we add a given host to the uuid hash table, then call - RXAFS_InitCallBackState3, and then only initialize the host->interface - structure if the ICBS3 call succeeded. - - If the ICBS3 call fails, we have added a host to the uuid hash table, - but the host structure does not contain that uuid. If the host is then - deleted, we will not remove the host from the uuid hash table (since - host->interface is NULL), and so the uuid hash table entry will still - point to the freed host. If that host is then later looked up via that - uuid, we can reference a freed host, which can cause all kinds of - undefined behavior. - - So instead, add the host to the uuid hash table at the same time that - we initialize the host->interface structure, inside - initInterfaceAddr_r. - - FIXES 131277 - - Change-Id: Ib2ca82cc498877ec896ab1806cf675f1271ec214 - Reviewed-on: http://gerrit.openafs.org/8846 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 89d85da6044a82eee34ef5c424921dad12b2ae7a -Author: Derrick Brashear -Date: Fri Dec 28 00:46:12 2012 -0500 - - vol: fix everything to use volumeid type - - use one type for volumeid, not 3. kill VolId, and stop - using afs_uint32 (and a few times, afs_int32) - - Change-Id: Ibcbd09b5a24d8720b02a02f926e6f59dc0f529aa - Reviewed-on: http://gerrit.openafs.org/8845 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit c67d29c676b02dc069d3c39f803b5ef6f7dbadca -Author: Derrick Brashear -Date: Fri Dec 21 06:44:18 2012 -0500 - - vol: use header access macros everywhere - - a couple direct references to diskstuff have crept in. push them - back out - - Change-Id: I66c7a157aeb326dee17012d551c0f499bae35bc7 - Reviewed-on: http://gerrit.openafs.org/8807 - Reviewed-by: Derrick Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - -commit 2f087dc434f62cfa7888434427eaac6803b563ab -Author: Andrew Deason -Date: Fri Dec 28 16:49:20 2012 -0500 - - afs: Add a little more info on SLVC loop panic - - If we panic due to a perceived infinite loop, log a little more info - about our loop iterations. - - Change-Id: Ifbb6d613aa482dbc33f7ba13dc959709e1688f15 - Reviewed-on: http://gerrit.openafs.org/8850 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 1cee097b5bf44b0d8273712f0074b541f0f3f96e -Author: Andrew Deason -Date: Fri Dec 28 16:39:15 2012 -0500 - - afs: Avoid unnecessary panic in ShakeLooseVCaches - - afs_vcount can change as we traverse the loop. If we successfully - evict something from the cache, afs_vcount goes down, but our loop - variable 'i' stays incremented. For example, if afs_vcount was 100 at - the start of the loop and we kicked out 50 things, by the time we - traverse the entire VLRU, we could have iterated over the loop 100 - times, but afs_vcount would still be just at 50. - - So, remember what afs_vcount was at the start of the loop, and use - that for our loop limit. Note that vcaches cannot be added to the VLRU - during the execution of this loop, since we're just kicking stuff out. - And nobody else can modify the VLRU but us, since we're holding - afs_xvcache, and if we drop afs_xvcache, we restart the whole eviction - process. - - The bug here was introduced by commit bc6dd950, but usually did not - affect Linux until commit 696db866. - - FIXES 131553 - - Change-Id: If30026b5b2101559e704d0e1961effe14beb915f - Reviewed-on: http://gerrit.openafs.org/8849 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 36959b50e513d4e9d4d2be93965eec2537943de5 -Author: Andrew Deason -Date: Fri Dec 28 16:36:42 2012 -0500 - - afs: Consolidate ShakeLooseVCaches retry init - - Don't duplicate the initialization code in effectively three separate - places. Just goto the top of the loop again. - - This should incur no functional change; it's just reorganization. - - Change-Id: I40548919a5fa9c4e472a4de0eada8d213d034097 - Reviewed-on: http://gerrit.openafs.org/8848 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 370aaaeafa43f804b0a5286d92b4ec5f1ccb62be -Author: Andrew Deason -Date: Wed Dec 12 16:14:55 2012 -0600 - - LINUX: Avoid infinite d_invalidate loop - - In afs_linux_lookup, we try to invalidate as many dentry aliases as we - can. However, a successful d_invalidate() against a dentry does not - necessarily mean that the dentry will not show up in a later - d_find_alias() call. This is because d_invalidate() does not remove - the dentry from the d_alias list, but just removes it from the hash - chain. dput() is what removes it from the d_alias list when all of the - references go away. If a reference is grabbed between our - d_invalidate() and dput() calls, the dentry will stay on the d_alias - list. - - We will then retry the loop, and we will get the same dentry back from - d_find_alias(). Running d_invalidate() on an unhashed dentry is a - no-op, so we don't change anything in the loop. We will retry again - and again, looping forever and spinning the CPU. - - To avoid this, just call d_prune_aliases instead, instead of - repeatedly looping through the alias list ourselves. Note that this - does remove our check for DCACHE_DISCONNECTED in each alias' d_flags. - This should not be a problem, since we will still use any remaining - DCACHE_DISCONNECTED dentry via d_splice_alias if one still exists. - - Change-Id: I8a09a922d07f2c4971269f3c681c748c33bf8e3d - Reviewed-on: http://gerrit.openafs.org/8751 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 8bfce8f2787a512cfb24e3360435600abe5904d0 -Author: Derrick Brashear -Date: Thu Dec 20 15:54:57 2012 -0500 - - vol: use defines for header name length - - instead of randomly hardcoding numbers in several places, - use macros - - Change-Id: I153cbe74d0d297496fb39449c4a71ec81d5637c5 - Reviewed-on: http://gerrit.openafs.org/8806 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5afe7a882b0bb90a515e505d9ffce4f644633f06 -Author: Ben Kaduk -Date: Thu Nov 8 18:40:57 2012 -0500 - - Add configure option to not install kauth - - Per http://www.openafs.org/pages/no-more-des.html the kaserver - suite of utilities is deprecated and is not supposed to be built - anymore in this post-1.6 world. - Not building them at all requires some effort, but not installing - them is pretty easy. Do the easy part for now, and leave the hard - parts for a follow-up commit. - - Change-Id: I1c400a7398b8708e7c9dc6613cd183b9b67e7a7f - Reviewed-on: http://gerrit.openafs.org/8457 - Reviewed-by: Michael LaƟ - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 752514bd1c8eaae487d25116dc59853552f77d12 -Author: Andrew Deason -Date: Tue Dec 18 18:49:49 2012 -0600 - - viced: Sanity check file link count during CoW - - A few ihandle bugs in the past have caused the CopyOnWrite code to - open cached file handles for files which have been deleted. When we - CoW, both of the files we're dealing with had better actually be on - disk, so bail out and flag an error if either of them appear unlinked. - - FIXES 131530 - - Change-Id: I478871bb1b9b43fc0161bb4a255dd7b77d2a28ae - Reviewed-on: http://gerrit.openafs.org/8839 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9cf9a0e978ece2b0afb8ba5947455f307a424cab -Author: Andrew Deason -Date: Fri Dec 21 12:30:24 2012 -0600 - - ihandle: Add FDH_ISUNLINKED - - Add the FDH_ISUNLINKED functionality to ihandle. This lets the caller - know if the file for the underlying file descriptor has been deleted - out from under us. This is useful for sanity checks in some callers. - - Change-Id: I59d4fffba853cfa1b900a08b7b43134c29bbf844 - Reviewed-on: http://gerrit.openafs.org/8838 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a04071e7940b26dc2a29ac3f0952b10321e7b786 -Author: Andrew Deason -Date: Fri Dec 21 11:11:00 2012 +0000 - - ihandle: Indent ifdef maze - - According to the mesoamerican long count calendar, ifdef ladders will - destroy the world in 2012. - - Change-Id: Ie9b16d600e4743eba3d934f8c3cf4d299abbf7e3 - Reviewed-on: http://gerrit.openafs.org/8837 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit eb938bd18d9806f3529b7a2cbccdce5340c0e39f -Author: Andrew Deason -Date: Fri Dec 14 15:05:53 2012 -0600 - - volser: Check vnode length on dump - - Commit aadf69eabb1962496fa93745ab560a5b48cacd61 adds length checks on - vnodes during fileserver read/write operations. Do the same thing when - we dump volume data from the volserver, to ensure that we don't - transmit incorrect data e.g. to other RO sites when releasing. - - FIXES 131530 - - Change-Id: I662489d0466d38af74a9604a2c97a4a5c72525c7 - Reviewed-on: http://gerrit.openafs.org/8836 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 75d9c88281b686822a71ffabe76cb4aebd35d0ee -Author: Jeffrey Altman -Date: Mon Dec 24 02:40:08 2012 -0500 - - Windows: GetResourceParent processing for \\afs - - When the input name is \\afs the parent must be an empty - NETRESOURCE structure. The null lpRemoteName field represents - no parent. - - Change-Id: I779f1c3357ac74aa76e6d1ed0b755841513ac260 - Reviewed-on: http://gerrit.openafs.org/8831 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5f43eb2919e20eaa18f8252f47f1ae0eceb246f1 -Author: Jeffrey Altman -Date: Wed Dec 19 16:59:57 2012 -0500 - - Windows: Add SERVERHASINLINEBULK macros - - Implement SERVERHASINLINEBULK and SET_SERVERHASINLINEBULK macros. - Apply them to cm_vnodeops.c. - - Change-Id: Ib9e3ed7f745a7ad3acf03ae918d8d1ca406f19c0 - Reviewed-on: http://gerrit.openafs.org/8830 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9054392cdc750a17854103a87dfb12b445b8bba1 -Author: Jeffrey Altman -Date: Wed Dec 19 16:58:25 2012 -0500 - - Windows: move SERVERHAS64BIT macros to cm_conn.h - - Move the SERVERHAS64BIT and SETSERVERHASNO64BIT macros to - cm_conn.h from cm_dcache.c. - - Change-Id: I1e1a332a3bd968645912b4e0caa0d793ef96358c - Reviewed-on: http://gerrit.openafs.org/8829 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b74c778bfd70c6db65e9c6d686b2482ae6a72bbe -Author: Jeffrey Altman -Date: Wed Dec 19 16:47:36 2012 -0500 - - Windows: Fix smb_GetCallerAccess prototype - - to supress warnings. - - Change-Id: I7d6597457dfe3c99fe7b62621dbad5ffd2f4f0bd - Reviewed-on: http://gerrit.openafs.org/8827 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fc85e66d453c0f066f6cfa48222d20e18ea9b316 -Author: Jeffrey Altman -Date: Sun Dec 23 23:15:59 2012 -0500 - - Windows: SetRenameInfo do not reference deleted name - - After the Target Dirctory CB has been deleted, it is not - safe to reference the FileName component. Use the uniTargetName - in the error log message. - - Change-Id: I83e6db62ffa0cf59d666066cae8f32e93d63d815 - Reviewed-on: http://gerrit.openafs.org/8825 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit df4d971ec1a014826929dfeac017fb24d37ac38a -Author: Michael LaƟ -Date: Sat Dec 22 22:54:20 2012 +0100 - - Remove AFSLore from wiki URLs - - The URL of the openafs wiki doesn't contain "AFSLore" anymore. Although - these old URLs still work, replace them to point users to the correct - address in the first place. Also be consistent and always use a - trailing /. - - Change-Id: I9d22694249c47331b4a5cd4f02f8815742c4b86f - Reviewed-on: http://gerrit.openafs.org/8819 - Reviewed-by: Ken Dreyer - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 93d674d702ab1bd452b139f5ba628db2c082f536 -Author: Rod Widdowson -Date: Sun Dec 23 14:48:14 2012 +0000 - - Windows: more warnings on kernel builds - - This is the same sort of changes a per git commit 8a4094e9ffa5d0f96501817c8ffd3cc8dc7ec62b - but this time for the fs tree. Again most of the work is UNREFERENCED_PARAMETER, initialize - variables where the compiler lacks the smarts and remove unused locals. - - Change-Id: Id67246e8aaee292cb6f02833e9960f9545c55101 - Reviewed-on: http://gerrit.openafs.org/8823 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fef0776df4f358c58cc0a6b5f3396573dd1a2d2a -Author: Jeffrey Altman -Date: Wed Dec 19 11:45:56 2012 -0500 - - Windows: Remove unused AFSVolumeWorkerThread - - The currently implmentation does all maintenance work in the - AFSPrimaryVolumeWorkerThread which is associated with the - AFSGlobalRoot volume object. Remove AFSVolumeWorkerThread as - it is unused. - - Change-Id: I2174833093b436430fc46f056e23bb272df6388f - Reviewed-on: http://gerrit.openafs.org/8793 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1726aec2b2291c4b1e89e21fa0f5a27318671a6f -Author: Jeffrey Altman -Date: Wed Dec 19 09:31:06 2012 -0500 - - Windows: Wait for all worker threads to exit - - The signalling mechanism for waking and shutting down worker threads - relies upon a per-queue event. Therefore it is not guaranteed that - the worker thread that AFSShutdown*Thread() is attempting to wait - for is in fact the thread that will be woken and exit. Modify the - code to loop waking threads until the one that is being waited for - does in fact exit. - - Subsequent calls to AFSShutdown*Thread() will bypass the wait if - the thread has already exited. - - Change-Id: I4555df062ac5a6161b5c55f4598d1bd34e144a2b - Reviewed-on: http://gerrit.openafs.org/8783 - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8a4094e9ffa5d0f96501817c8ffd3cc8dc7ec62b -Author: Rod Widdowson -Date: Fri Dec 21 16:17:34 2012 +0000 - - Windows: warnings on kernel builds - - I turned some new warning (by virtue of a more modern compiler) and - threw up a few hundred. This checked supresses them: - - - Mostly remove variables which are never used - - Make unused parameters UNREFERENCED_PARAMETER - - Initialize a couple of variables which were either forgotton or - the compiler wasn't smart enough to notice were initialized. - - Also strip out some extraneous tabs which had crept in. - - Change-Id: Iee261ad8a7338bb5d8fde2d7229bbbbbd5af39ae - Reviewed-on: http://gerrit.openafs.org/8812 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cf150252b688dff0224f32be66d88347d1d94b37 -Author: Derrick Brashear -Date: Tue Dec 18 09:04:15 2012 -0500 - - macos: avoid leaking iocount on synthetic fsevents - - in certain cases we could leak an iocount. clean up even if - our event couldn't be run - - Change-Id: I3a69f637c38478ac5f20a42af7db7f8a0ba7539a - Reviewed-on: http://gerrit.openafs.org/8777 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 986a8541518fb03a69cf5ece2055cb9cd50bda60 -Author: Michael LaƟ -Date: Fri Dec 14 17:06:30 2012 +0100 - - Update configure help msg to match actual defaults - - The defaults for LINUX_KERNEL_PATH and LINUX_KERNEL_BUILD in - acinclude.m4 were changed in 2cfd611, 94ff565 and 3f9d982 without updating - the output of ./configure --help. Change the description of - linux-kernel-headers and linux-kernel-build to show the correct defaults. - - Change-Id: I41331f4d48a555e291a45ca56e788bc418c064d3 - Reviewed-on: http://gerrit.openafs.org/8759 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3f9d982ec25aa5f9cf32a1268d6883a9afa70b12 -Author: Stephan Wiesand -Date: Sat Dec 15 15:36:24 2012 +0100 - - Linux: Restructure kernel header detection - - As of kernel 3.7, version.h has moved, and hence utsrelease.h was - no longer found. Loop over candidate directories and locations - within, and look for the files we're actually after. - - FIXES 131525 - - Change-Id: I686212a283b9e0ce769b1351e3cb75e08f4b110c - Reviewed-on: http://gerrit.openafs.org/8761 - Tested-by: BuildBot - Reviewed-by: Michael LaƟ - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 23092acce5d2d71a5ad6402119973c7c2c2f5e89 -Author: Andrew Deason -Date: Tue Nov 20 15:00:15 2012 -0600 - - ubik: Do not count votes from error'd connections - - If the given connection has a connection-wide error on it, the vote we - got from that site is probably not valid, and we could easily be - interpreting an error code as a vote time. So instead, treat the host - as if we got a network error from it. - - Change-Id: Ib9253bf6c24493be1c0d16b9252deecec4e43c2a - Reviewed-on: http://gerrit.openafs.org/8487 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit fb4ae03f8d34af499d1c2960fa1345074b5a2f79 -Author: Jeffrey Altman -Date: Sat Dec 15 12:26:18 2012 -0500 - - Windows: AFSLocateNameEntry Evaluate Symlink Target - - Instead of validating the symlink target if both the TargetFID - and the Target Name fields are undefined, perform the validating - if either of them are undefined. - - Change-Id: I609bfbf5fe574350580bd54a0b03becb82a2b45e - Reviewed-on: http://gerrit.openafs.org/8765 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1dea312bd4974bc3abcdf2aa527ef4c3ca1e283b -Author: Jeffrey Altman -Date: Sat Dec 15 12:23:58 2012 -0500 - - Windows: AFSLocateNameEntry Absolute Symlink Cell resolution - - During AFSLocateNameEntry processing of an absolute symlink the - component being searched for in the AFSGlobalRoot volume may not - be found. In this case, use AFSCheckCell() to query the service - to resolve the name. If the AFSGlobalRoot happens to be the - Freelance Root Volume then the service can resolve it even though - it is not present in the directory listing. - - Change-Id: Ib6cfce6de5e5e9f619808e6ddbfffac00c596a23 - Reviewed-on: http://gerrit.openafs.org/8764 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3bddf7905198dc8f99ae5ab6195b51e5a9bc2e7e -Author: Jeffrey Altman -Date: Sat Dec 15 12:19:31 2012 -0500 - - Windows: cm_NameI Freelance Eval of Absolute Symlinks - - In cm_NameI() it is possible that a symlink to an absolute path - is reached for which the component after the 'mountRoot' is not - present in the mountRoot directory. If the mountRoot is the - Freelance root.volume then it is appropriate to attempt automatic - cell resolution. - - Change-Id: I806c6d4332e5e7b76a9ce2d02977d0caef612e3c - Reviewed-on: http://gerrit.openafs.org/8763 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0d9ffd712af25c1ca2bc92c428a599c495bc08dd -Author: Jeffrey Altman -Date: Sat Dec 15 12:18:52 2012 -0500 - - Windows: Set Symlink mpDV after reading target string - - When a cm_scache object, symlink, has its mountPointString field - successfully populated by cm_GetData(), the mpDV field must be - assigned the current dataVersion value in order to prevent unnecessary - queries of the mountPointString from the file server. - - Change-Id: I62b2341459c680d531fd9f4de64dfcc87801ec3e - Reviewed-on: http://gerrit.openafs.org/8762 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit aaa217b079b426a405e1364bf39276b13cd5f353 -Author: Jeffrey Altman -Date: Thu Dec 13 23:33:54 2012 -0500 - - Windows: If no inlinebulkstat, set the flag correctly - - If RXAFS_InlineBulkStatus fails with RXGEN_OPCODE, - cm_SetServerNoInlineBulk must be called with the 'no' parameter - set to True. Otherwise, thE cm_server object will not remember - that the RPc is not supported. - - This is important for avoiding unnecessary timeouts on IBM AFS 3.6 - servers. - - Change-Id: Ia43b5fbd8e81d4c23ad5741e334831b5d6a4e9ce - Reviewed-on: http://gerrit.openafs.org/8756 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1e03c535da1ace4e878ee1f6985d68259d518f12 -Author: Jeffrey Altman -Date: Thu Dec 13 13:27:21 2012 -0500 - - Windows: *ParseIoctlPath path has trailing slash - - Make it explicit that a pioctl input path that ends in a trailing - slash is consistently interpretted as a directory. - - \\afs\cell\mp\dir\ == \\afs\cell\mp\dir\. - - Change-Id: Id55638157cd69297d1a072ae04f94b968ea03b30 - Reviewed-on: http://gerrit.openafs.org/8755 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 83ccb62012d7b3b696dd48e05feb8adeb203463a -Author: Arne Wiebalck -Date: Thu Dec 6 16:23:05 2012 +0100 - - Update 'vos shadow' man page - - Change the 'vos shadow' man page to say that updating the - VLDB with shadow volumes does only work if the VLDB entries - for the corresponding source volumes are deleted first. - - Change-Id: I2764776b7a03346b5b2809f796d1deed0c32933b - Reviewed-on: http://gerrit.openafs.org/8652 - Tested-by: BuildBot - Reviewed-by: Dan van der Ster - Tested-by: Dan van der Ster - Reviewed-by: Ken Dreyer - -commit b11ac53fff26f35f3615b61e2e451a359eb9cdc1 -Author: Jeffrey Altman -Date: Sun Dec 9 18:23:59 2012 -0500 - - Windows: Release Notes updates - - document adobe reader protected mode issues - - Explain Stats, Volumes, and Cells registry values - - many other minor improvements. - - Change-Id: I0305fdf12d7e3d2160bab4a10d9030df32afa1ad - Reviewed-on: http://gerrit.openafs.org/8733 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0fc14fde0f7c1b36df61a60c718485ec54f414f6 -Author: Jeffrey Altman -Date: Sun Dec 9 18:13:01 2012 -0500 - - Windows: Correct RDR Subsystem value overlap - - AFS_SUBSYSTEM_LOAD_LIBRARY and AFS_SUBSYSTEM_PROCESS_PROCESSING - were both assigned value 0x00010000. Ensure that all values are - unique and match the documentation. - - Change-Id: I0e5e52cc84d8b6069ce6f0cd4f431f38fe8e09ac - Reviewed-on: http://gerrit.openafs.org/8732 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b454f2ef0ea4efae0d703947ba67d4fd00545685 -Author: Jeffrey Altman -Date: Sun Dec 9 01:18:03 2012 -0500 - - Windows: buf_usedCount can be 64-bit - - If buf_usedCount is 64-bit, must use 64-bit Interlocked operations. - Define buf_IncrementUsedCount() and buf_DecrementUsedCount() macros - to wrap the 32-bit and 64-bit Interlocked operations as appropriate. - - Change-Id: Icbcb4d20530cc33b43e3c58c3ce74251b12c1e93 - Reviewed-on: http://gerrit.openafs.org/8729 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 107d7ace8b83af10c18c84b94851f5105261225f -Author: Jeffrey Altman -Date: Sun Dec 9 00:31:58 2012 -0500 - - Windows: RDR Dynamic root Freelance only - - commit 6c708d1415b27bf8f2804f3407e4fbe2f7bf1009 does not restrict - the AFS redirector dynamic root detection only to the Freelance - volume root directory. This logic should not apply to arbitrary - mount point target paths. - - Change-Id: Iedde41937f602895b1d5922453c93fae4a5bf5d8 - Reviewed-on: http://gerrit.openafs.org/8728 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 34f51936859c57b8b23047ff352100005c4efa12 -Author: Jeffrey Altman -Date: Thu Dec 6 14:24:12 2012 -0500 - - Windows: AFSProcessOpen !MmFlush release SectionObjectResource - - Restructure the code around the MmFlushImageSection() call in - AFSProcessOpen() to ensure that the SectionObjectResource is - released even when the flush fails. - - Change-Id: Ifd6b25640df796f64fba46b920fdababa5224637 - Reviewed-on: http://gerrit.openafs.org/8713 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 339723e78eafec71576f04ed83e2d4417f6919a4 -Author: Jeffrey Altman -Date: Thu Dec 6 23:24:44 2012 -0500 - - Windows: AFSCachedWrite reset LastServerFlush when Forced - - If the ForceFlush parameter to AFSCachedWrite is set to TRUE, - the Fcb->Specific.File.LastServerFlush value must be reset to - ensure that the AFSPrimaryVolumeWorkerThread will trigger an - extent flush on its next pass. The LastServerFlush value will - not be reset by AFSNonCachedWrite() when called as a result of - a CcFlushCache() call as it appears to be PagingIo. - - Change-Id: I72c368e05f30f04b13b2c6d098bdb1da578ac82c - Reviewed-on: http://gerrit.openafs.org/8717 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dd0f4bcd06c2283bc4ebbd3b44ed0f0e47b73d03 -Author: Jeffrey Altman -Date: Thu Dec 6 23:20:57 2012 -0500 - - Windows: Periodic Worker CleanupFcb to Flush Dirty Extents - - The AFSPrimaryVolumeWorkerThread must not check the ObjectInformationCB - reference count when determining whether or not to call AFSCleanupFcb(). - One of the tasks of AFSCleanupFcb() is to flush dirty extents to the - service. - - Change-Id: Id1821ec16393952d27520e73e290e520966b1d75 - Reviewed-on: http://gerrit.openafs.org/8716 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b30c9dcfacb3785360c422c19ef2cc0eea151291 -Author: Jeffrey Altman -Date: Thu Dec 6 14:59:22 2012 -0500 - - Windows: SetDispositionInfo !MmFlush SectionObjectResource - - In AFSSetDispositionInfo() if MmFlushImageSection() fails, - be sure to release the SectionObjectResource. - - Change-Id: Ic0a31627369d0fa055f78e5949314398f58569e0 - Reviewed-on: http://gerrit.openafs.org/8714 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 42c404ba5d46699865892fb424c9ed514ca66db3 -Author: Jeffrey Altman -Date: Thu Dec 6 08:16:01 2012 -0500 - - Windows: SetVolumeState is not an invalidation - - Volume state notifications (online, offline, unknown) from the - afsd_service.exe to the afs redirector are not invalidation - events. The verify flag should not be set, the extents should - not be purged, etc. Just set or clear the AFS_VOLUME_FLAGS_OFFLINE. - - Change-Id: I046468e614c836981db228aa142d2c8bdb03a9ad - Reviewed-on: http://gerrit.openafs.org/8651 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5b2cc290f8e991b152411168cabd1c9e7f31deb4 -Author: Marc Dionne -Date: Wed Dec 5 18:23:34 2012 -0500 - - cache bypass: fix afs_bypass_copy_page memcpy oops - - The two memory copy cases were inverted when the code was - refactored, causing an oops when cache bypass is enabled. - - Change-Id: I30a9a51b7280883fb9b7bbeebbabe464c139b714 - Reviewed-on: http://gerrit.openafs.org/8617 - Tested-by: BuildBot - Reviewed-by: Stephan Wiesand - Tested-by: Stephan Wiesand - Reviewed-by: Derrick Brashear - -commit a774fa8a6acf44b19e566c2da1bb416ef5d2983c -Author: Jeffrey Altman -Date: Wed Dec 5 13:07:08 2012 -0500 - - Windows: AFSSetRenameInfo Drop TreeLocks MmForceSectionClosed - - If the Target directory TreeLock is held across the - MmForceSectionClosed() call in AFSSetRenameInfo() Trend Micro's - TmPreFlt!TmpQueryFullName call can deadlock in its worker thread - when AFSCommonCreate() attempts to AFSLocateNameEntry() which - requires shared access to the TreeLock for the search. - - Reorganize the Target Entry Exists case to call MmForceSectionClosed() - after the directory entry has been deleted. That should throw - a monkey wrench into Trend Micro's attempt to scan it. - - Change-Id: Ib8d4777fde257c0f2c93e2577caa6542c1b08c79 - Reviewed-on: http://gerrit.openafs.org/8607 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b338928bd4663a50963b24d38d337cd1c9f4b87e -Author: Jeffrey Altman -Date: Tue Dec 4 16:57:36 2012 -0500 - - Windows: Prevent lock inversion SetFileRenameInfo - - SetFileRenameInfo calls MmForceSectionClosed() which can call - back to the afs redirector via the Cleanup processing. AFSCleanup() - requires an exclusive hold of Fcb->Resource so we must obtain the - lock first in AFSSetFileRenameInfo() prior to obtaining the - SectionObjectResource. - - Change-Id: If679eeb107f04153a26659971b7f2455eef97c9a - Reviewed-on: http://gerrit.openafs.org/8603 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ec6c7c1ce46b9a63f5e79071a25f12c94aed798e -Author: Jeffrey Altman -Date: Tue Dec 4 16:56:21 2012 -0500 - - Windows: addition debug for --validate-cache - - Print the value of the header size, the magic value and the - dirty flag. - - Fail check if header size and magic do not match current - version of afsd_service.exe - - Change-Id: I19c9a374a5f83dd9fcb37990c4dfbb97cf7f74a0 - Reviewed-on: http://gerrit.openafs.org/8602 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2c7e2007342a86006199039408b7acbb63267235 -Author: Jeffrey Altman -Date: Tue Dec 4 13:27:59 2012 -0500 - - Windows: AFSProcessDFSLink to Dos Device - - Support msdfs links to :\ - - Map them to IOMgr as \??\:\ - - Change-Id: I110dd7e857d4b7984e75611787d2135bc97aaa39 - Reviewed-on: http://gerrit.openafs.org/8601 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5616b7e2f91c9cdac1f026b852b8db923de11a10 -Author: Jeffrey Altman -Date: Mon Dec 3 13:39:18 2012 -0500 - - Windows: fs getcalleraccess - - Implement VIOC_GETCALLERACCESS and associated 'fs getcalleraccess' - for Windows. Varies from the Unix implementation in the following - ways: - - * getcalleraccess supports the -literal switch to permit - querying rights of symlinks and mount points - - * multiple files can be provided on a single command line - - The VIOC_GETCALLERACCESS pioctl returns the user access rights - and the anyuser access rights. - - Change-Id: I75f636956bbafcc91144b44bd2d7729b8643605c - Reviewed-on: http://gerrit.openafs.org/8598 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5adf1476b1c95ab61f7944f751928e5f47720478 -Author: Jeffrey Altman -Date: Sat Nov 24 11:44:16 2012 -0500 - - Windows: AFSDevControl print control if exception - - Change-Id: If94ba4f265d943ec8e4852c3d8c88d59cef3ef9b - Reviewed-on: http://gerrit.openafs.org/8599 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 81212b18b3411b538c4a1bb94732948902005beb -Author: Jeffrey Altman -Date: Sat Nov 24 19:47:01 2012 -0500 - - rx: RX_INVALID_OPERATION abort unknown service only - - Patchset 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1 introduced the - sending of RX_INVALID_OPERATION aborts for connection attempts - requesting a service not offered by the rx peer. By sending aborts - for all failures of rxi_FindConnection() the set of incoming packets - that are responded to is broader than simply those with non-matching - serviceIds. This patchset restricts the transmission of - RX_INVALID_OPERATION aborts only to the explicit case in which - rxi_FindConnection() attempted to find a service and either failed - to find a match or couldn't apply the requested security class/level - to that service. - - Change-Id: Ie18798531e542e54878209ccd2fbbcd24f31abb6 - Reviewed-on: http://gerrit.openafs.org/8512 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 399abf159b1418dea38daf166f9d55072042909c -Author: Andrew Deason -Date: Tue Nov 13 14:54:10 2012 -0600 - - rx: Add rx_GetNetworkError - - Add the function rx_GetNetworkError to rx, to allow callers to - retrieve some information about the last ICMP error received for a - connection's peer. This can be useful if a call on that connection was - recently ended due to ICMP errors. - - Change-Id: I7c507185f6a4ab986c0119f67cdaa4e50e447175 - Reviewed-on: http://gerrit.openafs.org/8451 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 696db8667d12b1c5639515840f69c9a46d2b866d -Author: Andrew Deason -Date: Wed Nov 28 15:12:12 2012 -0600 - - afs: Apply VLRU safety check for Linux too - - This invariant should apply to all platforms, not just those with - dynamic vcaches. Since this prevents an infinite loop if the list os - corrupt or something, having this around everywhere seems useful. So, - drop the check for afsd_dynamic_vcaches. - - Change-Id: I90e438eb33f40762346d1c5a7138ed127fdcdcc6 - Reviewed-on: http://gerrit.openafs.org/8555 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bc6dd95016c63d0742698d902aebf73c01162c24 -Author: Andrew Deason -Date: Fri Nov 16 14:18:32 2012 -0600 - - afs: Fix VLRU traversal sanity check - - On non-Linux, the number of vcaches in the VLRU can easily exceed - afs_maxvcount, since we allocate new vcaches when we run out. So, - assume we only have afs_vcount vcaches on the VLRU, instead of - assuming we have at most afs_maxvcount vcaches. - - Change-Id: I3bec8f795b1f6e086ddb490400616c5b42d8b8be - Reviewed-on: http://gerrit.openafs.org/8471 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4d4668b1618a2bd5b94ed4620464787f42d11cab -Author: Andrew Deason -Date: Tue Nov 20 14:18:47 2012 -0600 - - ubik: Try to detect VOTE_Beacon errors - - Currently the way ubik dbsites vote for each other is via the "return - value" of the Beacon VOTE RPC. Since this is really an Rx abort, this - can easily collide with actual errors on the wire, such as rxkad - errors. - - Try to detect these by detecting vote times that are very different - than the current timestamp (more than an hour in the future or past), - and treat it like a network error. - - If we do not do this, a single site reporting an error can cause us to - never reach quorum, since we calculate our sync site expiration based - on the oldest 'yes' vote, which for most known Rx aborts will be far - in the past. - - Change-Id: I28cf4c520bbbe9e98eb55947476c8785d3c8ec0b - Reviewed-on: http://gerrit.openafs.org/8486 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7c8373c8c27abdfa316c6526aa14654caed3e7f8 -Author: Michael Meffie -Date: Tue Nov 20 08:49:39 2012 -0500 - - tools: example sysvmq audit reader - - A user contributed sysvmq audit log example reader. Shows - how to read the sysvmq audit log using core only perl modules. - - Change-Id: I39adb62150df2bcb812ca4d06b193b08d7e95c21 - Reviewed-on: http://gerrit.openafs.org/8485 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 595a614d76d84be602c07d519738556b7f9ebf2a -Author: Andrew Deason -Date: Mon Nov 5 23:47:06 2012 -0600 - - afs_open: Deal with afs_GetDCache returning NULL - - afs_open was assuming afs_GetDCache always returned non-NULL. Make it - deal with a NULL return. - - Change-Id: Ib0593de27d65294726a4a40b3faa4687bb6fc5fe - Reviewed-on: http://gerrit.openafs.org/8408 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 274daabae35a5f2501469257be9592d0c2e49a02 -Author: Derrick Brashear -Date: Wed Nov 28 15:32:45 2012 -0500 - - config: provide inlines to make 64bit ints printable - - same idea as the 32 bit versions. make it so you can print something - the compiler would otherwise stand in the way of. - - Change-Id: Iec9d2efe7ecb74c13406dacf854d13fe61075092 - Reviewed-on: http://gerrit.openafs.org/8552 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit dbd801d5853dcbc0d9754e64729cc2b4041dfd9c -Author: Andrew Deason -Date: Tue Nov 13 14:58:11 2012 -0600 - - afs: log ICMP errors for downed servers - - When we notice a server is unreachable, log the ICMP error we got for - that server, if any. - - Change-Id: I9dcd40bf45fefa6679eac92a5d03d44eceac0816 - Reviewed-on: http://gerrit.openafs.org/8410 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2d4745244d970b1c26809ab87546d307492d088b -Author: Derrick Brashear -Date: Mon Nov 19 15:54:35 2012 -0500 - - macos: decode mountain lion panics - - security hardening in the mountain lion kernel - screws up our decoder. apple doesn't bother to document - what to do, but after some head smashing, here we are. - - Change-Id: I1f8411e6fa81baab065acc5cdfe7ef3dea10a077 - Reviewed-on: http://gerrit.openafs.org/8476 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cbce3193b0cac9073b0bf5369b3b4994feaa0b4e -Author: Jeffrey Altman -Date: Mon Dec 3 10:01:24 2012 -0500 - - Windows: shuffle trace messages for clarity - - Some of the trace messages for VolumeReferenceLocks and - VolumeReferenceCounts were in odd places. Move them for consistency and - clarity. - - Change-Id: I3cf95de0670af8855b622f8a83d2f0b69dc851df - Reviewed-on: http://gerrit.openafs.org/8581 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e58eaae182dc877c0818b3cc5e8ea408606863f0 -Author: Jeffrey Altman -Date: Mon Dec 3 09:11:14 2012 -0500 - - Windows: Handle AFSLocateNameEntry() STATUS_REPARSE - - AFSLocateNameEntry() can return STATUS_REPARSE in addition to - NTSTATUS failure codes. As in the case of an NTSTATUS code other - than STATUS_OBJECT_NAME_NOT_FOUND, the reference counts are decremented in - AFSLocateNameEntry() if STATUS_REPARSE is returned. - - Change-Id: I7cab5be2ae304be47cb14abb4f6952e4e0e65efe - Reviewed-on: http://gerrit.openafs.org/8580 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f25a061b7192531b54933088e4ac8adcde22961c -Author: Jeffrey Altman -Date: Sat Dec 1 07:54:59 2012 -0500 - - Windows: Decr. used buf count flush and deleted files - - When flushing the cache (fs flush*) or when deleting files or - when a file server reported error indicates that the buffer is - bad, decrement the used cache count so "fs getcacheparms" now - indicates a floating value based upon the number of buffers - containing potentially valid data. - - Change-Id: I1bfb7b64ff36832526a02e9374ab87baf679f100 - Reviewed-on: http://gerrit.openafs.org/8579 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 66a5703463baad5739b6d47ed12d0a3a7b0c489a -Author: Jeffrey Altman -Date: Sat Dec 1 07:30:57 2012 -0500 - - Windows: Restore "fs getcacheparms" used space - - buf_Init() adds all of the available buffers to the free queue - at startup and cm_data.buf_freeCount tracks the number of items - in the free queue. So it cannot be used as a method of reporting - how much of the cache space has been used. Add a new buf_usedCount - parameter to the cm_memmap data to track the number of cache blocks - that have been used up to the total number of allocated blocks. - buf_usedCount can then be used in cm_IoctlGetCacheParms to restore - the original behavior. - - Change-Id: I3ecdfdbda1c423551b7e7691243696e0f1553edc - Reviewed-on: http://gerrit.openafs.org/8578 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit be27d61961cb490e3f1033d9e0943d2655b73b8a -Author: Jeffrey Altman -Date: Thu Nov 29 03:14:42 2012 -0500 - - Windows: QFileInfo only Verify Entry when necessary - - During a QueryFileInformation request only call AFSVerifyEntry() - when the AFS_OBJECT_FLAGS_VERIFY flag is set on the ObjectInformationCB. - The AFS_OBJECT_FLAGS_VERIFY flag is set in response to an invalidation - event from the cache manager. Let the cache manager decide when our - data is no longer consistent with the file server. - - Change-Id: I299597577f9fb13d008e20aff7a404ad6c2185b5 - Reviewed-on: http://gerrit.openafs.org/8568 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f499babad036b9efc4c5f0aab252cfadcfb0c22f -Author: Jeffrey Altman -Date: Thu Nov 29 03:13:11 2012 -0500 - - Windows: Dir Enum only validate when necessary - - During a directory enumeration, do not call AFSValidateEntry() - for every DirectoryCB. Instead only do so when the - AFS_OBJECT_FLAGS_VERIFY is set on the ObjectInformationCB. - - Change-Id: I5653cbf8703da03aeaee24c0c7bf8817e66b8f9e - Reviewed-on: http://gerrit.openafs.org/8567 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 957601aeab7050413c4e0c9994e2c263a1b8374d -Author: Jeffrey Altman -Date: Thu Nov 29 03:02:48 2012 -0500 - - Windows: AFSTearDownFcbExtents count extents properly - - Fcb->Specific.File.ExtentsCount cannot be used directly - in the for loop conditional because each call to AFSFreeExtent() - decrements the value. Instead, save the original value to - 'lFcbExtentCount' and use that in the loop conditional. - - Change-Id: I7b2dc0fbd1cbf0eec2f627f8caad8c973c3437c7 - Reviewed-on: http://gerrit.openafs.org/8566 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da6c8d57287392c0e7d0c512dab5bcf019421f81 -Author: Jeffrey Altman -Date: Thu Nov 29 03:00:48 2012 -0500 - - Windows: AFSCleanup calls AFSDeleteFcbExtents - - When the hard link count of the file drops to zero, call - AFSDeleteFcbExtents() instead of AFSTearDownFcbExtents() - because the file has been deleted and the extents have been - implicitly released. - - Change-Id: I4198ece075a23850699ae188943d06df7bf4c668 - Reviewed-on: http://gerrit.openafs.org/8565 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 037d568de530603299b1dd3be6fd623ca81c25c5 -Author: Jeffrey Altman -Date: Thu Nov 29 02:58:46 2012 -0500 - - Windows: AFSDeleteFcbExtents() - - Similar to AFSTearDownFcbExtents() but does not release the - extents to afsd_service.exe. It is intended for use when the - FCB's extents are implicitly released as the result of file - deletion. - - Change-Id: If9b09f3190db84eb194475161247fb375cd3dc66 - Reviewed-on: http://gerrit.openafs.org/8564 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dc87e01c704d4cb16c26368597b383dc738d4d25 -Author: Jeffrey Altman -Date: Wed Nov 28 02:48:48 2012 -0500 - - Windows: Fcb sectionObjectResource - - Add a SectionObjectResource to the AFS_FCB structure. This lock - replaces the Fcb.Resource in protecting the SectionObjectPointers. - - The new resource is being added to assist in avoiding deadlocks - caused by Trend Micro and perhaps other AV products when - CcPurgeCacheSection() is called while holding the Fcb.Resource - which is required in AFSProcessOpen(). - - Change-Id: I738c175512e97e1ec153be52ab874f16389d4c95 - Reviewed-on: http://gerrit.openafs.org/8563 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6c708d1415b27bf8f2804f3407e4fbe2f7bf1009 -Author: Jeffrey Altman -Date: Tue Nov 27 14:26:21 2012 -0500 - - Windows: Implement dynamic cell detection for RDR - - RDR_EvaluateNodeByName knew how to parse \\afs\foo#bar\ notation - but couldn't perform a lookup for a cell that wasn't already - in the root directory. Add support for autorecognition. - - Change-Id: I8c2bacd034afa507d551da83dfc1958bd849a3a1 - Reviewed-on: http://gerrit.openafs.org/8562 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a428033bfe78c00dad84af9c14645723344297cf -Author: Jeffrey Altman -Date: Tue Nov 27 00:35:20 2012 -0500 - - Windows: PrimaryVolumeWorkerThread Garbage Collect Fcb - - Revert commit cecd99abd3837ef820d78fb15e450c8688b0f39b. Failing - to garbage collect the FCB from the ObjectInformationCB at the - earliest opportunity opens the door to a deadlock with Trend Micro's - anti-virus driver. Trend Micro attempts to make a copy of the - file data each time a CcPurgeCacheSection() is performed on the - FCB. If during AFSValidateEntry or AFSVerifyEntry a DirectoryCB-> - ObjectInformationCB->FCB is discovered which has a non-NULL - SectionObjectPointers.DataSectionObject and the data version in - the DirEnumEntryCB differs from the ObjectInformationCB, a - CcPurgeCacheSection() call is performed while holding the - FCB->NPFcb->Resource exclusively. Trend Micro will deadlock the - thread making the CcPurgeCacheSection() call when it attempts - to open the file in one of its worker threads. - - Change-Id: I912f22ab3695ad8faf1edcdbf2d50ff9a76277db - Reviewed-on: http://gerrit.openafs.org/8529 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8e68e08901b0ad003ad1e5114a155bfac83bdd83 -Author: Jeffrey Altman -Date: Sat Nov 24 20:10:49 2012 -0500 - - rx: set abort client_initiated flag to match direction - - In a recent incident involving packet reflection back to the - file server, aborts were being sent by the file server in response - to a server sent packet. The aborts sent in response also failed - to set the CLIENT_INITIATED flag in the header which permitted the - the actual client to confuse the Abort as applying to its client - initiated connection. - - in rxi_SendRawAbort, set the CLIENT_INITIATED flag to the opposite - of the packet the abort is being sent in response to. - - Thanks to Chaskiel Grundman for the suggestion. - - Change-Id: Iea4189f022ac050e2e005e80c427f1c02c2251db - Reviewed-on: http://gerrit.openafs.org/8513 - Reviewed-by: Chaskiel Grundman - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit f2fdd3040cf6fabcae3ff889d13349abdaaf9e0c -Author: Simon Wilkinson -Date: Sun Nov 4 17:06:41 2012 +0000 - - rx: Make rxevent_Put NULL the event ptr being put - - Change rxevent_Put so that it takes a pointer to the event being - put, and NULLs that pointer. This removes a lot of duplicate code - in callers, as well as making it harder to reuse a discarded event. - - Change-Id: Ib7a51f01687e08ea3dced5932ec9ec27797a784a - Reviewed-on: http://gerrit.openafs.org/8540 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f40199327a8753d8350b5fefedc2bb556b8b00a6 -Author: Simon Wilkinson -Date: Thu Nov 22 08:41:51 2012 +0000 - - rx: Return success value when cancelling an event - - When cancelling an event that holds reference counts, we need - to know whether the attempt to cancel the event was successful - or not, otherwise references can be double put when the - cancellation races with the event firing. Take the follwing - - Thread A Event Thread - ========= ============ - - ... event fired ... - MUTEX_ENTER(&obj->lock); - if (obj->event) { - rxevent_Cancel(&obj->event); - obj_put(&obj->refcnt); - } - MUTEX_EXIT(&obj->lock) - MUTEX_ENTER(&obj->lock); - if (event == obj->event) - rxevent_Put(&obj->event); - ... - MUTEX_EXIT(&obj->lock); - obj_put(&obj->refcnt); - - Holding obj->lock doesn't control whether the event is fired or - not. Only putting the reference if the event being fired matches - that in obj doesn't help - it just leaks a reference in a different - race. - - So, make rxevent_Cancel return true if it did actually cancel the - event, and false if the event has already been fired. This means - that Thread A can become - - MUTEX_ENTER(&obj->lock); - if (rxevent_Cancel(&obj->event) - obj_put(&obj->refcnt); - MUTEX_EXIT(&obj->lock) - - In the example above, rxevent_Cancel would return false. - - Change-Id: I48e012774c97c9d9588b00687428a32795be2b37 - Reviewed-on: http://gerrit.openafs.org/8539 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 20034a815750beff262d49b37fba225c72dd0ab1 -Author: Simon Wilkinson -Date: Sat Nov 3 23:15:50 2012 +0000 - - rx: Don't treat calls specially in event package - - Many different structures can be passed to the rxevent package as - data. Don't give calls special treatment by making rxevent aware of - how to release their reference counts when an event is cancelled. - - Update all of the callers of rxevent_Cancel to use the new arguments, - and where they were cancelling functions with calls as parameters add - the appropriate CALL_RELE directives. In many cases, this has led to - new helper functions to cancel particular call-based events. - - Change-Id: Ic02778e48fd950e8850b77bd3c076c235453274d - Reviewed-on: http://gerrit.openafs.org/8538 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4abcf4a7d1ae0719594d38add9c8ad80a0643f8d -Author: Simon Wilkinson -Date: Thu Nov 1 17:44:07 2012 +0000 - - rx: Remove unused origPeer parameter to FindPeer - - rxi_FindPeer took an 'origPeer' parameter, which was originally - there as an optimisation to decrement a reference count when replacing - a peer on a connection structure. However, we don't do that any more, - and the origPeer parameter is never used. - - Just remove it to simplify this bit of code. - - Change-Id: I49127f25dd151082f4e508a28e8cab232e251ed1 - Reviewed-on: http://gerrit.openafs.org/8537 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 5245d15c2305bf4edf2758f01c97264323db6583 -Author: Simon Wilkinson -Date: Thu Nov 15 18:21:27 2012 +0000 - - rx: Remove unused timeoutEvent - - The timeoutEvent pointer in the rx_call structure is unused. Remove - it to reduce confusion about which events can hold call reference - counts. - - Change-Id: Ide625fe0af608cc434c33188e642750979a8db21 - Reviewed-on: http://gerrit.openafs.org/8536 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit e9c91feace886de4640f84aa35b592b03fb61809 -Author: Simon Wilkinson -Date: Fri Nov 9 23:20:42 2012 +0000 - - rx: CheckBusy doesn't drop conn_call_lock - - As rxi_CheckBusy doesn't drop the conn_call_lock when it checks for - busy call slots, it doesn't need to deal with someone replacing a - call behind its back. - - Change-Id: I7cc64150e32e29b0a497cded55cd187b5bb78ad1 - Reviewed-on: http://gerrit.openafs.org/8535 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit b5876a60f7406cdf67a4802b5b6fdf772a303eff -Author: Jeffrey Altman -Date: Mon Nov 26 11:25:43 2012 -0500 - - Windows: RefCounts, Asserts, and Trace Logging - - Rename DirectoryCB.OpenReferenceCount to DirOpenReferenceCount - to distinguish it from the FCB.OpenReferenceCount. This makes - it easier to search for instances within an editor or debugger. - - Ensure that all InterlockedIncrement and InterlockedDecrement - calls on a reference count field assign their value to a local - 'lCount' variable. Ensure that 'lCount' is used within any - trace log messages and conditionals. - - Add ASSERT( lCount >= 0) after all reference count decrements - in order to catch underflows. - - Change conditionals from (RefCount == 0) to (RefCount <= 0) so - that object destruction can occur when there has been an underflow. - This is important in release builds for which ASSERT() is a no-op. - - Change-Id: I1d10076464c68745ede117eef2f728f70a0003c1 - Reviewed-on: http://gerrit.openafs.org/8522 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 438b0d8a239068c58065f7a552d45b8077f027dd -Author: Jeffrey Altman -Date: Mon Nov 26 11:16:56 2012 -0500 - - Windows: AFSClose File FCB/CCB cleanup before DirCB - - Move the processing of FCB and CCB cleanup ahead of the - DirectoryCB cleanup. It is not safe to dereference the - Ccb->DirectoryCB until after the CCB has been destroyed. - - Change-Id: I74ec824ea523fe1d575169472c65da6ffe87ce5e - Reviewed-on: http://gerrit.openafs.org/8521 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 71ef2663da36f50a7eabe6b70971714a8f5f5dd5 -Author: Jeffrey Altman -Date: Sun Nov 25 18:13:53 2012 -0500 - - Windows: AFSDeleteObjectInfo not on volume roots - - The VolumeCB embeds an ObjectInformationCB structure which must - not be freed by calling AFSDeleteObjectInfo(). Add an assert - in the checked build and return without destroying the object - in the free build. - - Change-Id: I77c92fbe0d10252785f4796153d9d824ff074d4c - Reviewed-on: http://gerrit.openafs.org/8520 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 282e2bdd7f34f26073e003a84a85cb4f8b59f0cd -Author: Jeffrey Altman -Date: Mon Nov 26 07:10:05 2012 -0500 - - Windows: Missing DirEntry Ref incr AFSLocateName - - In the STATUS_NAME_COLLISION error path the DirEntry refcnt must - be incremented because it will be decremented before exit from - AFSLocateName(). - - Change-Id: I7cf976afa8e62d0d9803549b64a5d0dae27cd9b1 - Reviewed-on: http://gerrit.openafs.org/8518 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fcfd1f99d8dd7a83bf09330dfd3b1fc6cc8b11c0 -Author: Jeffrey Altman -Date: Mon Nov 26 01:18:19 2012 -0500 - - Windows: AFSLocateNameEntry move InsertNextEntry - - In AFSLocateNameEntry, move the InsertNextEntry to name array - call from before the directory entry DirOpenReferenceCount is - incremented to afterwards. This permits InsertNextEntry() to - consistently assert based upon the DirOpenReferenceCount value. - - Change-Id: I3c65f5360650739f6d75b7e657ae5cdea4c14aa4 - Reviewed-on: http://gerrit.openafs.org/8517 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5a09e6ab2b1913f438eae113f41a7ef9ea92387d -Author: Jeffrey Altman -Date: Sun Nov 25 18:06:17 2012 -0500 - - Windows: AFSInvalidateCache volume refcounts - - AFSInvalidateCache failed to release the volume reference count - when FileId is the volume root. In the non-root case it released - it too early permitting a race with AFSPrimaryVolumeWorkerThread - calling AFSRemoveVolume(). - - Change-Id: I12b756e5a543a2ef791d716f660df1f4a7ae2327 - Reviewed-on: http://gerrit.openafs.org/8516 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ded88c8f8d1dc6758344b708d2aa55f3b29651c7 -Author: Jeffrey Altman -Date: Sat Nov 24 14:36:46 2012 -0500 - - Windows: Fail RX_INVALID_OPERATION errors - - RX_INVALID_OPERATION errors were not resulting in an eventual - failure and the RPC was being repeated indefinitely. There were - three subtle problems: - - 1. RX_INVALID_OPERATION was being processed by cm_Analyze() - resulting in a retry in all cases. Even those where no - connp was passed in as NULL. connp == NULL implies that - no server could be obtained so the RPC was not issued on - this pass. As a result there should be no retry. - - 2. RX_INVALID_OPERATION was mapped to CM_ERROR_UNKNOWN which - is not an error that is reported to the AFS redirector. - - 3. RDR_BkgFetch was setting CM_REQ_NORETRY and permitting - the retries to be handled by the cm_daemon threads. However, - CM_ERROR_UNKNOWN was not treated as a fatal error by cm_Daemon. - - Address the failures in the following ways: - - A. cm_Analyze no longer retries calls which did not take place. - - B. Create a new CM_ERROR_INVAL_NET_RESP error for RX_INVALID_OPERATION - which is translated to the Win32 STATUS_INVALID_NETWORK_RESPONSE - error. This is now returned to the AFS redirector and treated - as a fatal error. - - C. RDR_BkgFetch no longer queues tasks to cm_Daemon with the - CM_REQ_NORETRY flag set. - - Change-Id: I1eba0e83fbbe5726f43f667ddb67ced8c011853d - Reviewed-on: http://gerrit.openafs.org/8510 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 988f66c5c3bd4c4f23bfa53e69a52ed52c4e3ab9 -Author: Andrew Deason -Date: Wed Nov 28 17:22:21 2012 -0600 - - vol: Let non-usable volumes attach for non-DAFS - - Before DAFS, volumes that were not inService/blessed were not - accessible by normal clients, but were still allowed to attach. That - is, access to clients was prevented at VGetVolume-time, rather than at - attach-time. Commit 939382c5 tried to short-circuit this by detecting - this volume state at attach-time. However, volume utilities (e.g. - volserver) can give us back a volume over FSSYNC when they are done - with the volume, and for non-DAFS, we then try to attach the volume. - So, with 939382c5 that attachment will fail when volserver gives us - back a volume that is not inService/blessed (which can happen for some - normal volume operations). - - This situation is not terrible, since either way the volume is not - usable by clients (since the volume didn't attach), and the volume is - still usable by volserver (since volserver is allowed to check out - nonexistent volumes). But it is a deviation from pre-DAFS behavior and - it can result in confusing error messages, so revert the 939382c5 - behavior for non-DAFS. - - For DAFS, this behavior is fine, since the fileserver does not attach - a volume unless it is trying to service a client request. So, leave it - for DAFS. - - FIXES 131505 - - Change-Id: I8cf47640ceb068762eb42f1b70eb88aa9c4a060a - Reviewed-on: http://gerrit.openafs.org/8557 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e4c9b448c9e62c7f66f9feb4831a15f7ee073c25 -Author: Simon Wilkinson -Date: Fri Nov 9 23:11:16 2012 +0000 - - rx: Add a no-op afs_kcondvar_t for LWP - - Remove the need to protect afs_kcondvar_t with RX_ENABLE_LOCKS, by - typedefing it as an int in rx_lwp.c. This is identical to what we - already do with afs_kmutex_t, and should let us get rid of some more - preprocessor spaghetti. - - Change-Id: Ica6114585a68abde691ceee47d92d7f4e230a9bc - Reviewed-on: http://gerrit.openafs.org/8534 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 866c05825c9964aa92740bcb0f20f26b451e65ea -Author: Andrew Deason -Date: Tue Nov 13 23:30:41 2012 -0600 - - rx: Lock call for KeepAliveOn/KeepAliveOff - - rxi_KeepAliveOn/Off expect the call lock to be held after the call has - been initialized. So, hold it in the rx_KeepAliveOn/Off callers. - - Change-Id: Ic2e96853bc9553e97f62e4502a5c92bbb28c63a2 - Reviewed-on: http://gerrit.openafs.org/8463 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 22da9ec896f651f066317a85268620a7d3ac46fa -Author: Andrew Deason -Date: Tue Nov 13 18:27:11 2012 -0600 - - afs: Handle VNOSERVICE as a timeout - - For whatever reason, the fileserver uses VNOSERVICE to indicate that - an Rx call was killed due to an idledead timeout. It is not used for - any volume errors, so treat it like the idle dead error codes. - - Change-Id: I432cbb8ae011d5269ac8df31261d11204687fcf6 - Reviewed-on: http://gerrit.openafs.org/8462 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9ed02a628afd700a0e3c47ac92fa9c89d0827301 -Author: Jeffrey Altman -Date: Tue Nov 27 00:16:58 2012 -0500 - - Windows: cm_LookupInternal obtain type of target - - cm_LookupInternal needs to return the target of a mount point - if the matching directory entry is a mount point. Therefore, if - the target type is unknown the status information must be queried. - - Change-Id: Ifc37897531766f59e2517650ed7050cba50d6819 - Reviewed-on: http://gerrit.openafs.org/8528 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 11c8a64ffc10addb5fe7b68b78666cd91edccfb9 -Author: Jeffrey Altman -Date: Tue Nov 27 00:08:30 2012 -0500 - - Windows: cm_GetNewSCache init mpDV to BAD - - when allocatiing a new cm_scache_t object the mpDataVersion - field must be initialized to CM_SCACHE_BAD_VERSION. Zero is - a valid data version for a mount point or symlink. - - Change-Id: If455b35cf01454ddf4a5b0a8adcc6e39d71b33d0 - Reviewed-on: http://gerrit.openafs.org/8527 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit db57dfd3798f09e77b5c49bed304cacc0c448f91 -Author: Andrew Deason -Date: Tue Nov 13 18:15:21 2012 -0600 - - afs: Slight restructuring in afs_Analyze - - We test for acode < 0 && acode != VRESTARTING, but then immediately - test for specific values for acode. Move this conditional down, and - remove a level of indentation for the next couple of acode checks. - - This commit should introduce no functional change. - - Change-Id: I2ca3a00d5f6d620fcb042d8007f18dd8b5cfaf24 - Reviewed-on: http://gerrit.openafs.org/8461 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit a84c6b0ece1fdee4f462c6ce27fa78c2e0d419f4 -Author: Andrew Deason -Date: Tue Nov 13 22:46:34 2012 -0600 - - rx: Generate BUSY packets for error call channels - - Currently, if a call is error'd out but still active, we won't - generate BUSY packets if another call comes in on the same channel. - This is because we bail out earlier, here, before we get to the BUSY - processing. - - The comments suggest that this is for if we enter an error state while - waiting for TQ to clear. So, only do this if our error has changed. - - Change-Id: I070f2af16bc79b1ebc7d19b7cb761fdbca78344b - Reviewed-on: http://gerrit.openafs.org/8460 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 45721d0d5603ac0d7dae477bf0ed33c54bba6dbc -Author: Jeffrey Altman -Date: Sun Nov 25 14:30:07 2012 -0500 - - Windows: AFSValidateEntry Symlink TargetName - - During an AFSValidateEntry if the data version of the symlink - object has not changed, do not discard or rebuild the target - name if already assisgned. - - Change-Id: If37af308ee48ec761283ff6e831ffa5e06dacf58 - Reviewed-on: http://gerrit.openafs.org/8515 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 5ab61bbc5c5f50183e737184de03b1b9153e208a -Author: Jeffrey Altman -Date: Sun Nov 25 23:56:47 2012 -0500 - - Windows: Panic if RDR_Initialize SERVICE_DISABLED - - If RDR_Initialize() fails with ERROR_SERVICE_DISABLED it means that - the AFSRedir.sys driver loaded but the AFSRedirLib.sys driver library - cannot be loaded. In this situation neither the RDR nor SMB interfaces - can successfully be used. Panic! - - Change-Id: I09d30a86b9d72b9077d4c7578dab52314cce559a - Reviewed-on: http://gerrit.openafs.org/8514 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e3373c5ad24bf2ff858d1f33fa0dd65236c928de -Author: Jeffrey Altman -Date: Fri Nov 16 17:20:33 2012 -0500 - - Windows: GetResourceInformation print path earlier - - In the network provider, GetResourceInformation was logging the - input resource path after the afs redirector chopped it up. Log - it before the DeviceIoControl call. - - Change-Id: Icefcf65583b95fd46c8e28bd0e2c53258b5094fa - Reviewed-on: http://gerrit.openafs.org/8509 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit bd57c7d64844ca26d80f2b29db470dacd134fc56 -Author: Andrew Deason -Date: Wed Nov 21 10:39:51 2012 -0600 - - LINUX: Dir follow_link should set LAST_BIND - - For our faux-symlink directory follow_link operation, we leave the - given nameidata struct with an invalid 'last' component. That is, - nd->last is not changed or set to anything meaningful. - - Usually the callers of our follow_link op do not care about the last - component of the nameidata. However, at least one caller does: the - caller near the do_link label in open_namei(). This is called during - processing for O_CREAT operations on symlinks, and since our - directories look like symlinks, it gets called. It tries to use - nd->last to look up the last component of the dereferenced path (so it - can try to create it, as necessary), but since our nd->last is not - set, this will not work. - - Specifically, our nd->last.name is not pointing into the names cache, - so the subsequent putname/__putname on it will corrupt the names - cache. However, even if this were not a problem, the actual contents - of the last component do not seem meaningful so this would probably - result in incorrect behavior anyway. - - To avoid all of this, set nd->last_type to LAST_BIND, so any callers - know that the last component of the given nd is not valid, and we are - pointing directly to the target component with a dentry. - - Change-Id: I9cebc3b63ae7a2410295392a08aa8fc738549234 - Reviewed-on: http://gerrit.openafs.org/8489 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 41f8d6b9239d8ee1ca786c0485bea4251c96b9e5 -Author: Hans-Werner Paulsen -Date: Mon Nov 26 15:45:26 2012 +0059 - - Do not call afs_MarinerLog when afs_mariner is not set - - When mariner log is not set up (afs_mariner=0), do not call afs_MarinerLog, - otherwise a osi_NetSend() to hostaddress=0 is tried, which will give you - ICMP messages in the socket error queue. - Do not call afs_AddMarinerName, when afs_mariner is not set. - - Change-Id: I1ed6369fb0eea130348f4f6fd37bb0d021c4c791 - Reviewed-on: http://gerrit.openafs.org/8519 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 873f8978fd13ae5a52d7401788d84237dace105f -Author: Jeffrey Altman -Date: Sat Nov 17 00:43:00 2012 -0500 - - Windows: Add Hard Link support to Service - - Implement Hard Link support to the redirector interface in the - service. It is implemented to support hard links across directories - even though AFS does not currently support it. cm_Link() will - check before issuing an RPC to the file server. ReplaceIfExists - functionality is implemented by cm_Unlink() followed by cm_Link() - if required. - - Change-Id: Icb4e7eeaed1ae57719c487fe3bf29efea1902246 - Reviewed-on: http://gerrit.openafs.org/8482 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2b86ae33fead57696488e4b8c425cf8ae1bdd0f1 -Author: Jeffrey Altman -Date: Fri Nov 16 22:27:02 2012 -0500 - - Windows: Add Hard Link support to AFS Redirector - - Both Windows and AFS support the notion of hard links to files. - Add an implementation to the AFS redirector. The body of the - functionality and the IOCTL to the service permits the specification - of hard links to files across directory boundaries. There is a - restriction within AFSSetFileLinkInfo() which prevents cross-directory - requests. However, this can be taken out if AFS ever permits them. - - Decrement object information link counts on directory entry - deletions. Do not delete object information context blocks if the - link count is greater than 0. Increment link counts when hard - links are added. - - A subsequent patchset will implement the afsd_service support. - - Change-Id: Iffabf480c0b43ab76feb5bdf3464a0bf1324e642 - Reviewed-on: http://gerrit.openafs.org/8481 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c3ed4794c1ed7db14b67eb0c3bb65c1aed18ff35 -Author: Jeffrey Altman -Date: Thu Nov 22 11:52:11 2012 -0500 - - Windows: Trend Micro QueryDirectory deadlock - - Trend Micro will deadlock both itself and the AFS redirector by - calling a worker thread to generate a temporary file name during - an active FindFirst Directory Query. The Trend Micro worker will - also attempt to enumerate the directory. If the directory contains - an entry for which the data version as reported by the service is - different than the data version in the ObjectInformationCB a deadlock - will occur on the matching FileCB Resource. - - To avoid this deadlock, prevent AFSValidateEntry from purging or - updating the ObjectInformationCB and FileObject information when - called from AFSQueryDirectory. - - Change-Id: I8f2f7136796759eb91dadfea34a89513c1a1fff4 - Reviewed-on: http://gerrit.openafs.org/8492 - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d733f9daed95feef2eefb3d68dc16607b1321142 -Author: Jeffrey Altman -Date: Mon Nov 19 15:33:33 2012 -0500 - - Windows: Missing lock in AFSNotifyRename - - If the ParentObjectInformation and TargetParentObjectInformation - are different, the TreeLock for each must be held. - - Change-Id: Iac9910d838f8f35b286e4e40009cfd547ed8a438 - Reviewed-on: http://gerrit.openafs.org/8479 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8245b2bc7aab4553f368470d97d0110f9daa4fe9 -Author: Jeffrey Altman -Date: Mon Nov 19 15:30:09 2012 -0500 - - Windows: AFSSetRenameInfo always set pRenameInfo - - Make it easier to debug AFSSetRenameInfo by setting pRenameInfo - so that the FILE_RENAME_INFORMATION structure is visible within - the debugger on all code paths. - - Change-Id: I6e47c417e2468eeb4f56a680ddcbe75cb8753916 - Reviewed-on: http://gerrit.openafs.org/8478 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dbc2589731ff5c6879745be8be5c5bf46844a4ef -Author: Jeffrey Altman -Date: Thu Nov 15 23:13:17 2012 -0500 - - Windows: SetFileRenameInfo Improve Error Handling - - If a Target FileObject is not provided by the IOManager and - a Target RootDirectory Handle is provided something has gone - wrong. Return STATUS_INVALID_PARAMETER to indicate the - invalid state. - - If the target directory is not specified by FileObject and a full - target path is provided return STATUS_NOT_SAME_DEVICE to force - an object Move instead of Rename. - - Change-Id: I54c3c978c0b9fcc3d4b61fb9f7b7d0771e38f714 - Reviewed-on: http://gerrit.openafs.org/8477 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 42e812c7abf5fafbbfeebd40828978e8b4639860 -Author: Jeffrey Altman -Date: Wed Nov 21 18:08:35 2012 -0500 - - Windows: smb_ReceiveTran2QFileInfo Pioctl support - - Similar to the QueryPathInfo support for _._AFS_IOCTL_._ the - QueryFileInfo interface must respond to pioctl queries. When - GetFileAttributes() on XP is called from the afslogon.dll the - QFileInfo path is used instead of the QPathInfo path. - - Change-Id: I119fbefbf933e868cac57eb508ef30a45277a50f - Reviewed-on: http://gerrit.openafs.org/8491 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 305133cde60fec7fb1050caf60a4319cdcf88a27 -Author: Jeffrey Altman -Date: Wed Nov 21 18:03:10 2012 -0500 - - Windows: afslogon do not specify smbName for tokens - - The smbName was added to the Windows ktc_SetTokens() interface - to provide a mechanism for passing the Windows account name - that the tokens should be associated with via Integrated Logon. - This was only required when the Authentication Provider did not - impersonate the user context prior to calling ktc_SetTokens(). - Now that impersonation is used, the ktc_SetTokens() call will - do the right thing without the smbName. In fact, when impersonation - is used setting the smbName does the wrong thing by specifying - the AFS_PIOCTL_LOGON flag which is only valid if the SYSTEM account - is issuing the ktc_SetToken() call. - - Change-Id: I6d04b56b815571f6e9fe3557544bd93a5b9ca735 - Reviewed-on: http://gerrit.openafs.org/8490 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit eca3d56436c16e4634afe1954a2a15424b4ad5f1 -Author: Jeffrey Altman -Date: Wed Nov 21 01:13:49 2012 -0500 - - Windows: Fix smb_ReceiveTran2QPathInfo Pioctl support - - The path check should needs to include the root directory slash - when comparing to the \_._AFS_IOCTL_._ path to detect a pioctl - request. - - Change-Id: I1d2c620fdcff55a0c90d8be3f3de6a1bd1137b8f - Reviewed-on: http://gerrit.openafs.org/8488 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5acf8b7f98ecd3daa721e60b49c7a582c7ce3b8d -Author: Jeffrey Altman -Date: Tue Nov 20 01:23:08 2012 -0500 - - Windows: QuerySecurity deny access to SACL - - The SACL requires System Access Level. Requests for SACL by - end user applications must be denied. Permit access to Owner, - Group, DACL and Label but not SACL. - - This change permits executables to be initiated from drive - letter mappings. - - Change-Id: Ibf847261f0c36dc7b6175b0536657161158cd44f - Reviewed-on: http://gerrit.openafs.org/8483 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6d37315a9c4fa4aae99715dd18827fcc0b543ba3 -Author: Jeffrey Altman -Date: Mon Nov 19 15:06:47 2012 -0500 - - Windows: Fix Redir link counting - - Each object in AFS has a link count which tracks the number of - directory entries that refer to the FileId. In the redirector - there is one ObjectInformationCB per FileId and one AFSDirectoryCB - for each directory entry. When a directory entry is deleted perhaps - by delete on close it is important to ensure that the matching - ObjectInformationCB is not deleted unless the Link count drops to 0. - - Change-Id: I2c7906d5881f93ed60697d40a0ea462f4567d443 - Reviewed-on: http://gerrit.openafs.org/8480 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f436fe03c80e21b6a58a6de962070841e00791ef -Author: Jeffrey Altman -Date: Sat Nov 17 21:44:52 2012 -0500 - - Windows: buf_CleanLocked protect against NULL bp->userp - - The cm_buf_t.userp field should never be NULL if the CM_BUF_DIRTY - flag is set but apparently it sometimes is. cm_BufWrite() requires - that the userp parameter be non-NULL. Otherwise, an assertion fails - and afsd_service.exe panics. If bp->userp is NULL, use cm_rootUserp. - The worst that will happen is the write will fail due to an access - denied error. - - Change-Id: I6cc650dcffe2b0fb50ac2ce91b74e8afbdfc40ca - Reviewed-on: http://gerrit.openafs.org/8475 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 887cff5b0f84ad3b758bc4258b1f1302401c2c1d -Author: Jeffrey Altman -Date: Sat Nov 17 21:39:50 2012 -0500 - - Windows: do not adjust deleted scache LRU ordering - - Instead of moving deleted scache objects so that they are next - in line to be recycled, do not move them at all. Making them - next to be recycled results in the CM_SCACHEFLAG_DELETED flag - value being lost. - - Change-Id: I3839053066cca304454e445b2f4e4abea6e08dda - Reviewed-on: http://gerrit.openafs.org/8474 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c99797eadc80efa24972a85d1c37e03393c888ca -Author: Jeffrey Altman -Date: Sat Nov 17 21:32:44 2012 -0500 - - Windows: buf_CleanLocked validate cm_scache_t - - If the cm_scache_t object is not passed in by the caller ensure - that the cm_scache_t has a valid callback. If the cm_scache_t - has the CM_SCACHEFLAG_DELETED flag set, clear the dirty flag on - the cm_buf_t and do not bother contacting the file server. - - Change-Id: If85be550b59765f64aadea4e1882af9430cebcb4 - Reviewed-on: http://gerrit.openafs.org/8473 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f03247ddd7f5b4a9cf8ef132757d794546c884ef -Author: Jeffrey Altman -Date: Sat Nov 17 17:11:42 2012 -0500 - - Windows: buf_SetDirty add assertion - - the userp parameter must never be NULL. - - Change-Id: Id785ac417bc869f708990f0bfe53809e3e5c71e5 - Reviewed-on: http://gerrit.openafs.org/8472 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b28c51d594ba3147bc1c30c34b974beb3f1fdfb3 -Author: Simon Wilkinson -Date: Wed Nov 21 16:46:29 2012 +0000 - - opr: Don't confuse isLast and isEnd - - opr_queue_IsEnd's implementation was incorrect - it would return - true when the element was the last item in the list, not when it - was the end of the list (equal to the head record) - - Correct the implementation of isEnd, and add an implementation for - isLast. - - This fixes a bug in RX, wher we would never notice that the last - packet in the transmit queue was acknowledged, because the loop that - iterates over the queue uses isEnd to detect when its work is done. - - Change-Id: I8966e05c479c18d025bb5cc4cf77514ce002be95 - Reviewed-on: http://gerrit.openafs.org/8493 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit ad4e634051e18fa5bd07016b6405e53e236c2f45 -Author: Andrew Deason -Date: Wed Nov 14 18:29:35 2012 -0600 - - afs: Do not skip flushing pages for dv-0 files - - If the dv for a file is 0, we know the file is empty. Currently we - skip flushing pages for such files, presumably the idea being there is - no data in the file, so there should be no pages to flush. - - However, Linux seems to keep empty pages around for empty files. So, a - future read can result in the application reading a page full of - zeroes, unless we flush the page here. While this has only been found - to happen on Linux 2.6.22 and later (and distribution-specific - backports, like RHEL 2.6.18-128), other platforms could in theory also - choose to do this. It would be difficult to find out when another - platform started to behave like this, so just remove this skip for - everyone so we never have to deal with this again. - - Replace this code with a comment with a quick explanation, in case - anyone tries to add a similar optimization here in the future. - - Thanks to Richard Brittain. - - Change-Id: I68c51bb7612a98a5c75112bb8f4bb1edd949fda1 - Reviewed-on: http://gerrit.openafs.org/8465 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit aeb2763b741a218ad6fd93adc6157a6a31f27e13 -Author: Marc Dionne -Date: Thu Nov 15 20:58:03 2012 -0500 - - Linux 3.7: key instantiate API change - - Adapt to the new parameters for the instantiate key operation. - - Change-Id: I25dea3489b68cad662e962a4973ee98ec7228cd3 - Reviewed-on: http://gerrit.openafs.org/8470 - Tested-by: BuildBot - Reviewed-by: Hans-Werner Paulsen - Reviewed-by: Derrick Brashear - -commit 007ec3e25e6920d7036f70550bc44adefab0c170 -Author: Marc Dionne -Date: Thu Nov 15 17:49:53 2012 -0500 - - Linux 3.7: remove use of param.h and ioctl.h - - Header files param.h and ioctl.h have moved as part of the userspace - API restructuring of header files. Nothing in those files is - currently needed by the source, so just drop the includes. - - Change-Id: Icbbf7038ca1bf23edbde42aaf48f5108626d0040 - Reviewed-on: http://gerrit.openafs.org/8469 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2bafb2f99d85804459acb8994d4057be809f8729 -Author: Marc Dionne -Date: Wed Nov 14 22:12:13 2012 -0500 - - Linux: change test for new putname API - - Replace the existing test with a more robust one that checks for - the existence of the new filename structure. Since older kernels - are expected to fail this test, we'll get the correct result even - if there is unrelated failure, for instance a missing/different - header file. - - Change-Id: Ie50abce37580eab803e9b07e636a1538f4a91a81 - Reviewed-on: http://gerrit.openafs.org/8466 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e1d149c925cfcc2656086bee2416fb319e1bd9ca -Author: Jeffrey Altman -Date: Wed Nov 14 07:02:01 2012 -0500 - - Windows: Hold ProcessTreeLock across AFSValidateProcessEntry - - AFSValidateProcessEntry() is called from AFSProcessCreate() which - holds the ProcessTree.TreeLock exclusive across the call and from - AFSCreate() and AFSRetrieveAuthGroup() where it is not held at all. - - Add a parameter to AFSValidateProcessEntry() that indicates whether - or not the ProcessTree.TreeLock is held. If it is held, it must be - held exclusive. If it is not held, the lock must be acquired within - AFSValidateProcessEntry() and it must be held for the entire lifetime - of the pParentProcessCB reference. Failure to hold the TreeLock - for the lifetime of the reference permits a race with AFSProcessDestroy() - that can result in the parent ProcessCB being destroyed while its - Resource is held. - - Change-Id: I7cf0dff6bd541b0588a060d677a8e3d724858b96 - Reviewed-on: http://gerrit.openafs.org/8455 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit f56c01d313140b625b4342feddfe464342d1ced4 -Author: Jeffrey Altman -Date: Tue Nov 13 17:59:06 2012 -0500 - - Windows: Do not reset cm_buf.offset on error - - When an error occurs the cm_buf_t is not removed from the - hash tables. Since the scacheHashTable hash is built from - the fid and the offset it is not safe to reset the offset field. - Resetting the offset field results in an assertion failure - during buffer recycling. - - Change-Id: Id33ec048f8ecfd7f715feafadfa4ea618cdbac0d - Reviewed-on: http://gerrit.openafs.org/8452 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 91f43fb6f798bdcae95e43a1fe5923742b307622 -Author: Jeffrey Altman -Date: Tue Nov 13 09:14:39 2012 -0500 - - include roken.h in yacc parsers - - Change-Id: Ic6f2dba3ee5bbfdb2794fd9ecc8e1ab2eb3de828 - Reviewed-on: http://gerrit.openafs.org/8450 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 3081a2cff2e4f9499268854504873fa801d50ce5 -Author: Andrew Deason -Date: Thu Nov 1 16:46:13 2012 -0500 - - afs: Add some comments on GetValidDSlot panics - - A couple of call sites for afs_GetValidDSlot currently panic if an - error is returned, but no explanation is given. Add a few comments - helping explain why there is a panic there, instead of graceful error - handling. - - Change-Id: Ic1c9808c427fe7524ea7dc1b7dbab8e9ac665b91 - Reviewed-on: http://gerrit.openafs.org/8407 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 866a9fbbdd89735ab76a70cb6d6523db2b98e4c9 -Author: Andrew Deason -Date: Thu Nov 1 16:33:31 2012 -0500 - - afs_FreeDiscardedDCache: Avoid assert on error - - Currently afs_FreeDiscardedDCache will assert if it cannot read in any - discarded dcache entry to free. Return an error instead of asserting, - so the caller can figure out what to do about the error. - - Adjust the callers to handle the error, or panic. - afs_MaybeFreeDiscardedDCache still just panics anyway, as making it - handle the error gracefully is beyond the scope of this commit, and is - work for another day. - - This changes afs_FreeDiscardedDCache to return an int. - - Change-Id: Id1e77af18461c9804b655c6f91ac90038621a394 - Reviewed-on: http://gerrit.openafs.org/8406 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e02185547e316667989a100f77e68b918481b597 -Author: Andrew Deason -Date: Thu Nov 1 15:43:09 2012 -0500 - - afs: Handle afs_AllocDCache errors - - Do not panic if afs_AllocDCache encounters an error and returns NULL. - Instead, go into the normal retry loop that occurs if we couldn't free - up any more free/discard dcache entries. - - Change-Id: Ia165e0b5f5ef37e05942c795955d75f26e4ea7d3 - Reviewed-on: http://gerrit.openafs.org/8405 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 64ee7b32f134e6431eb2894ed4397f8b1fea25ad -Author: Andrew Deason -Date: Thu Nov 1 15:32:31 2012 -0500 - - afs_AllocDCache: return NULL instead of panic - - Currently afs_AllocDCache will panic if we cannot get a valid dcache - from the free/discard lists. Instead, return NULL, so the caller can - decide how to handle the error. - - Currently the caller will just panic anyway, but that will be - addressed in a future commit. - - Change-Id: Iafb539bbda9ef20907ef575699185f111ca39c2b - Reviewed-on: http://gerrit.openafs.org/8377 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 336939179721d79a6798614ff747dd06701e3edc -Author: Andrew Deason -Date: Thu Nov 1 13:41:06 2012 -0500 - - afs: Traverse discard/free dslot list if errors - - Currently, when we pull a dslot off of the discard or free list, we - just try to get the first entry from the list, and panic if we cannot - get it. Instead, traverse through the whole list, trying to find an - entry we can successfully get. This introduces the helper function - afs_GetDSlotFromList to do this traversal. - - This does not yet address the case where we cannot get any entry on - the relevant list. - - Change-Id: Iedbcffcbeb5dda61fde8e1d526e793f68c3200b3 - Reviewed-on: http://gerrit.openafs.org/8376 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f74a0a7bbb37a8ab6050e833cf8d66abdff31854 -Author: Andrew Deason -Date: Thu Nov 1 11:51:42 2012 -0500 - - afs: Handle easy GetValidDSlot errors - - Many callers of GetValidDSlot currently assume they will always get - back a valid dcache, and will panic on getting NULL. However, for many - of these callers, handling the NULL case is quite easy, since the - failure to get a dcache can just result in an error directly, or - obtaining the dcache is best-effort or just an optimization. - - This commit just handles the "easy" cases; some other callers require - more complex handling. - - Change-Id: I622908de7004ba4cb18ccb26bda0e75b879f65ca - Reviewed-on: http://gerrit.openafs.org/8375 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 20b0c65a289e2b55fb6922c8f60e873f1f4c6f97 -Author: Andrew Deason -Date: Wed Oct 31 15:55:35 2012 -0500 - - afs: Never use GetNewDSlot after init - - Currently there are two ways to get a dcache via a slot number: - afs_GetNewDSot and afs_GetValidDSlot. afs_GetValidDSlot assumes that - the given slot number refers to a dcache entry that is valid on disk; - with afs_GetNewDSlot, the given slot may not be valid, and if it is - not, an empty 'template' dcache is returned. - - afs_GetNewDSlot is useful for initializing cache files, since if a - given dcache slot exists on disk and contains valid data, we use the - dcache like normal. If it does not already exist or does not contain - valid data, we fill in the missing data after afs_GetNewDSlot returns. - - However, for all other uses, afs_GetNewDSlot is incorrect, and causes - various serious problems. After we have initialized our dcache - entries, any attempt to read a dcache by slot number should succeed, - since the number of dcache entries never changes after we are started, - and we initialized all of them during client startup. - - Some code outside of afs_InitCacheFile was still using - afs_GetNewDSlot; code that reads in a dslot from the free or discard - list. In these cases, if there is any error reading the dcache slot - from disk, we will be given a dcache that has some of its fields not - filled in properly. Notably, we assume that the entry is not on the - global hash table (we set tdc->f.fid.Fid.Volume to 0), and the - tdc->f.inode field is not initialized at all, leaving it set to - whatever was in memory for that tdc before we tried to read the slot - from disk. - - This can cause cache corruption, since tdc->f.inode can point to the - inoder for a different existing cache file, so writing to that dcache - modifies the data for another cached file. - - To avoid this, modify the non-afs_InitCacheFile callers of - afs_GetNewDSlot to avoid afs_GetNewDSlot. Since these callers read - from the free/discard list, the contents of the dcache entries are not - valid (the cell, volume, dv, etc are not valid), though they must - exist on disk (we have a valid inode number for them). So, create a - new function, afs_GetUnusedDSlot, to get a dcache that must exist on - disk, but does not represent any valid data. Use this for callers that - must get a dslot from the free/discard list. - - Add some comments to try and help explain what is going on. - - Change-Id: I5b1b7ef4886102a9e145320932b2fd650b5c6f2f - Reviewed-on: http://gerrit.openafs.org/8370 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit fb5eccb2fe30b04497e3e12efab6080ef03d896d -Author: Jeffrey Altman -Date: Mon Nov 12 18:54:54 2012 -0500 - - Windows: SYMSTORE the entire WINNT/afsrdr tree - - The tools directories need to be imported into the symstore - one directory at a time. - - The "build.exe" output files afsredir.sys, afsredirlib.sys and - afsrdfsprovider.dll must be imported from within the kernel - build environment script. - - Change-Id: Ida7d84deecfb1ec4f508c5c40fc5576e2cb7b3e4 - Reviewed-on: http://gerrit.openafs.org/8445 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 152e3c0423cc96e2ab4d4ee4a15c9c74f9dd0374 -Author: Jeffrey Altman -Date: Mon Nov 12 11:47:50 2012 -0500 - - Windows: Add AFSRedir binaries to Symbol Store - - Change-Id: I1b4f2d5fcd4243e9a8a931a223bced33631206b0 - Reviewed-on: http://gerrit.openafs.org/8441 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e15a612252e881783638e297e33a88f499017614 -Author: Jeffrey Altman -Date: Mon Nov 12 07:13:07 2012 -0500 - - Windows: torture should not reference roken.h - - Do not include roken.h in torture tests. The torture test - should not be linked to afsroken.dll. - - Change-Id: I14d67c2e2f9980906854e0ab72c040eb9437a931 - Reviewed-on: http://gerrit.openafs.org/8431 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0bef3159d3698a941154bd21352eb35bd94edb8c -Author: Jeffrey Altman -Date: Sun Nov 11 22:00:07 2012 -0500 - - afsio: process windows file paths consistently - - Windows file paths can use either '\' or '/' as a path - separator. libafscp on the other hand requires '/' and argv[0] - will always use '\'. - - Introduce a new function ConvertAFSPath() which converts the - input path to '/' and converts \\afs to /afs. A future commit - should access the registry and make use of the NetbiosName and - MountRoot values to perform the conversion correctly. - - Change-Id: I14f5f45234ec4beab58751783a25206b3e7eff45 - Reviewed-on: http://gerrit.openafs.org/8430 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit be50ea11feee47695c89906ea9b8a299342ff345 -Author: Jeffrey Altman -Date: Sun Nov 11 21:53:13 2012 -0500 - - libafscp: Windows TellMeAboutYourSelf response - - The address list and uuid are computed in init_afs_cb(). There - is no need for special Windows processing within TellMeAboutYourSelf. - - Change-Id: Ica4d2edb69ac9000713b016996a2c58e8b65ee9c - Reviewed-on: http://gerrit.openafs.org/8429 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cdad65170d717dfe7e7f53510e7e331fa746c20d -Author: Jeffrey Altman -Date: Sun Nov 11 21:52:27 2012 -0500 - - libafscp: build as pthreaded for windows - - Change-Id: Iaa9515e572178f44deb670a83daba358c2d4dc74 - Reviewed-on: http://gerrit.openafs.org/8428 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 81db8d9764e721386ca78af96daf2a7d26ae94bb -Author: Jeffrey Altman -Date: Sat Nov 10 23:41:21 2012 -0500 - - Windows: afsrpc.dll MAKEDEBUGCALL - - Enable debug calls from the pthreaded RX library. - - Change-Id: Ie5e98d4408a3eb259e7f5f298f0776931f0d488a - Reviewed-on: http://gerrit.openafs.org/8427 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 692c300e371797ae5eac063a4c1a8030d48bb1aa -Author: Andrew Deason -Date: Tue Oct 30 13:30:27 2012 -0500 - - afs: Pass rx connection to print_internet_address - - Make print_internet_address take an rx_connection, so it can print out - more information based on rx info. Currently it does not use the - connection; this commit is just for adding the connection to the - interface, and adjusting all of the callers to cope. There should be - no behavior change. - - Change-Id: I410ffe43b7b6fc4d5c82666529c9263969820185 - Reviewed-on: http://gerrit.openafs.org/8409 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - -commit bcb077a00fb575e7beb92739646054ea67ca0b79 -Author: Michael Meffie -Date: Tue Oct 30 10:41:12 2012 -0400 - - fix stale volume info from vos examine (non-dafs) - - A volume examine on a non-dafs volume server/fileserver can show old - information, including old volume update time, for up to about 20 - minutes. The non-dafs volume server reads the volume information - from the volume headers, which are updated by the fileserver only - periodically to avoid excessive i/o. - - Before dafs, when the volume server performed a volume examine, the - volume server would send a fssync command to the fileserver with the - request FSYNC_NEEDVOLUME and mode V_READONLY. The fileserver writes - the current memory contents to disk on this fssync command. The - volume server would then attach the volume, reading the current - volume data. - - The dafs volume/fileserver avoids this extra i/o by using a new set - of fssync commands to retrieve the volume information from the - fileserver. However, the non-dafs volume server does not use the new - fssync commands and reads the volume headers from disk. - - Revert the volume attachment processing for the non-dafs volume - server to request the volume with the V_READONLY mode. This causes - the fileserver to update the volume headers, allowing the volume - server to read the up to date volume header data. - - Sadly, this adds another dafs ifdef to the already twisty maze of - passages that all look alike. - - This changes the volserver to use the V_READONLY attachment mode - only for the case of getting a single volume, as that what was - done in 1.4.x. - - Change-Id: Ibee25bfcfb087e73ccbc17e181a99da49a7751ae - Reviewed-on: http://gerrit.openafs.org/8327 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0eaa0d1baa8b8fe115301f188ce32176acc7b065 -Author: Michael Meffie -Date: Tue Oct 30 10:22:40 2012 -0400 - - vol: allow non-dafs volume utils to attach with V_READONLY again - - Allow non-fileserver, non-dafs, programs to attach volumes with the - V_READONLY mode again. This was lost during the code changes for - dafs. - - The caller sends a fssync request to the fileserver, which updates the - on-disk contents of the volume headers, before the caller reads the - volume headers, allowing the caller to have the most recent info about - the volume. The fileserver still has the volume in use. - - Later in the attachment process, the inUse check is skipped for the case - of a non-fileserver process which is attaching the volume using the - V_READONLY mode, otherwise the attachment would incorrectly mark the - volume as needing to be salvaged. - - Note: The mode checks in VMustCheckOutVolume() are correct. We must - checkout the volume when attaching with the V_READONLY mode. This - fix updates the VShouldCheckInUse(), in which an additional - exception was added to cover the case for V_READONLY mode from a non- - fileserver process. - - Note: A check is added in the dafs version of attach to avoid overwriting the - inUse field when a volume utility is attaching a volume in V_READONLY mode. - Currently, V_READONLY is not used by dafs, but this was done to avoid future - errors. - - Change-Id: I09d3af1e74087d0627399392e662e5075d41cdeb - Reviewed-on: http://gerrit.openafs.org/8339 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d2d3c51a7d76c41b154105c5295eeee172c573ae -Author: Hans-Werner Paulsen -Date: Fri Nov 9 13:48:45 2012 +0100 - - fileserver: check value of -cb argument - - The value of the -cb argument for the fileserver was not checked correctly. - The fileserver refused to start for any number of callbacks. - - Change-Id: I25fe9d81ba20d286f36999a554c94fda4ef7fb2f - Reviewed-on: http://gerrit.openafs.org/8420 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 15670c1ae95182d98c6e874672ef7138e1949dfe -Author: Jeffrey Altman -Date: Thu Nov 8 13:26:36 2012 -0500 - - Windows: use hKUserMap to read afslogon username - - hkTemp is not the correct registry handle. Use hkUserMap - - Change-Id: I44776b6dd46bb0ecac0c729bf80ed9261ddf7a67 - Reviewed-on: http://gerrit.openafs.org/8412 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6f79eb36593a2b20e712cf7e828e987e12f8e99f -Author: Jeffrey Altman -Date: Thu Nov 8 12:20:30 2012 -0500 - - Windows: Prevent SMB unitialized variable access - - smb_ReceiveNTTranCreate would make use of 'fidp' before it was - allocated. - - Change-Id: Ib4a7262ba09f15049f1855535250638c2e5d17a4 - Reviewed-on: http://gerrit.openafs.org/8411 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c01e552b857d0a472c79f60704906936cbb2eb19 -Author: Jeffrey Altman -Date: Thu Nov 8 11:29:20 2012 -0500 - - Windows: Treat invalid AFSFetchStatus as VBUSY - - Modify cm_Analyze() to accept an AFSFetchStatus parameter which - when set is verified for validity. If the status info is invalid, - then consider the response equivalent to VBUSY and attempt to - query an alternate file server (if any.) Log the invalid status - info to the Windows Application Event Log as a Warning. - - When cm_Analyze() is processing the response of an RPC that returns - multiple AFSFetchStatus structures, pass in the one that corresponds - with the source object. - - Change-Id: I84be22f332ff6fd7bc9620347f958538a3412380 - Reviewed-on: http://gerrit.openafs.org/8404 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d87a9adeb66f405441be35b12048012a527c122d -Author: Jeffrey Altman -Date: Thu Nov 8 10:39:43 2012 -0500 - - Windows: cm_IsStatusValid - - Break out validity checking for AFSFetchStatus responses into - a new function. - - Change-Id: I15d2ed12ed2d9ca9a24d6f717243d823db22d30c - Reviewed-on: http://gerrit.openafs.org/8403 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 45f0a9ba7f139749a969e73362194b380988116d -Author: Jeffrey Altman -Date: Thu Nov 8 00:24:14 2012 -0500 - - Windows: cm_MergeStatus now returns an error code - - cm_MergeStatus() can fail if the AFSFetchStatus InterfaceVersion - field does not have the value 0x1 as that is the only version that - is defined by the protocol. The return code will be CM_ERROR_INVAL. - cm_MergeStatus() returns 0 on success. - - Update all of the call sites. - - Change-Id: Iddf56f68dfa26b0f11744b905a70d7d39ad853d1 - Reviewed-on: http://gerrit.openafs.org/8402 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 48b60478897e7cb22e9cc1adfa3b71c188572093 -Author: Andrew Deason -Date: Wed Oct 31 15:04:55 2012 -0500 - - afs: Make last_error always useful - - Currently we record last_error as the last getuerror() we got when - failing to read in a slot in UFSGetDSlot. For kernels that do not have - getuerror(), this variable is currently useless, and we do not record - anywhere what the last error received was (besides logging it via - afs_warn). - - So, for non-uerror, just record what 'code' we got, so we at least - have something. - - Change-Id: Iede39bbeee48ea48f380b788f2968886a831a918 - Reviewed-on: http://gerrit.openafs.org/8369 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b5d9e29e89c2a63c857c47f1fb9accae90b0a3aa -Author: Andrew Deason -Date: Wed Oct 31 15:02:09 2012 -0500 - - afs: Log slot for GetDSlot read errors - - When we log that a disk read error occurred during GetDSlot, log which - slot we were trying to read for convenience. - - Change-Id: I35ffa94ff31cee735e85542ed9697b5f14180226 - Reviewed-on: http://gerrit.openafs.org/8368 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit bbea7b07f3f2120245026a632b4109d9d7b1359f -Author: Andrew Deason -Date: Wed Nov 7 18:46:24 2012 -0600 - - rx: Fix non-TSFPQ rxi_FreePackets - - Actually count the number of packets we're given, so we don't bail out - early because num_pkts is 0. Without this, we effectively do not free - most packets for non-pthreads Rx, so e.g. the unix kernel module will - leak memory quite quickly and be very slow. - - This was introduced by 170dbb3c. - - Change-Id: Id781e37170683c422b40079fdda018be1caddaf3 - Reviewed-on: http://gerrit.openafs.org/8401 - Tested-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 30ee8b645ea28b8f4f4794b2620fef723d03de9d -Author: Jeffrey Altman -Date: Wed Nov 7 16:34:23 2012 -0500 - - Windows: RDR_CleanupFileEntry protect lock release - - Prevent lock release of scp->rw when not held. - - Change-Id: I9ed3ca464a7881cd365ebe3560d5a6da22e21c86 - Reviewed-on: http://gerrit.openafs.org/8372 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8c7846f4e1dd89db4ff3b03c558d97cd13cbb205 -Author: Jeffrey Altman -Date: Tue Nov 6 06:39:39 2012 -0500 - - Windows: call MIDL_user_allocate instead of calloc - - In the RPC service routines do not call calloc() directly. - All memory will be deallocated by a call to MIDL_user_free() - so use MIDL_user_allocate() to perform the allocation. - - Modify MIDL_user_allocate() to call calloc() instead of malloc() - to ensure that the memory is initialized to NUL bytes. - - Change-Id: I4d458bb5d8888c63040f213550d04f481e98175b - Reviewed-on: http://gerrit.openafs.org/8365 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 40964dd39decf8b64d82090b5bb9ecac05901c07 -Author: Jeffrey Altman -Date: Tue Nov 6 06:38:14 2012 -0500 - - Windows: no more _wcsdup; use wcsdup - - _wcsdup is not mapped by roken.h. Use wcsdup which is. - - Change-Id: I0f6bb3f5465c74ad52f992892fcbc9837c276c0c - Reviewed-on: http://gerrit.openafs.org/8364 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f749f17fe1a2bc56a8129f5579e5cf5009f12d95 -Author: Ben Kaduk -Date: Wed Nov 7 10:08:33 2012 -0500 - - Catch up to FreeBSD non-MPSAFE deorbit - - All filesystems must have their own locking now. - We have been MPSAFE for quite some time, but the preprocessor macro - "MPSAFE" has been removed and we must catch up in order to compile. - - The MNTK_MPSAFE macro has not yet been removed, but it is toothless - now, so we can preemptively stop using it. - - Change-Id: I9d9090fd1afc020670a0cf874baacf483fd34915 - Reviewed-on: http://gerrit.openafs.org/8366 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 586e9cd24ede7799ea795221df856b65ea158e31 -Author: Simon Wilkinson -Date: Thu Nov 1 20:42:58 2012 +0000 - - opr: Add Windows stuff for dict.c/h - - The NTMakefile changes were omitted from the patch which added - opr/dict.h for Unix. Add them here. - - Change-Id: I240b40116aed83dcf232a1d741d0ef7b442bf6f7 - Reviewed-on: http://gerrit.openafs.org/8358 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ba718cba9285fc9f663b0fd15524bc5474cca893 -Author: Jeffrey Altman -Date: Wed Oct 31 20:59:30 2012 -0400 - - Windows: Use MountRoot for Absolute Symlinks - - Replace the absolute symlink processing in AFSLocateName(). - Implement AFSIsAbsoluteAFSName() to test whether or not the - path is in fact an absolute /afs path by comparing the input - string to the registry MountRoot value which specifies the - case sensitive root path for all absolute symlinks stored - in the AFS cell. - - If a symlink target path begins with a directory separator - and is not an absolute afs path name, return an error. - - Construct the substitution string using the target path - without the MountRoot prefix. - - Add functionality to AFSRedir.sys to read the MountRoot - from the registry and pass it on to AFSRedirLib.sys. - - Change-Id: Ie1df24da1e6de257c73dc34c80a75288bad47d29 - Reviewed-on: http://gerrit.openafs.org/8353 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7fe30bd28e62ad0ed717c24e8eccf5e563b9cd68 -Author: Derrick Brashear -Date: Thu Nov 1 14:15:27 2012 -0400 - - configure: check for poll() - - if we have code which uses HAVE_POLL, check for poll(). - - Change-Id: I1baf61541b243f82b3acca112db2cbbca813182b - Reviewed-on: http://gerrit.openafs.org/8357 - Reviewed-by: Chaskiel Grundman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5be3cdc3f3a3b1d78a9c9f7acb9e5ee81d5a5191 -Author: Simon Wilkinson -Date: Tue Oct 30 11:25:02 2012 +0000 - - opr: Add dictionary implementation - - Add a simple implementation of a dictionary/hash structure based around - opr queues and the jhash hashing function. - - Change-Id: I4ae5cafcef377b05c8caa7c455737a992b1d36cd - Reviewed-on: http://gerrit.openafs.org/8355 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 07372cf7e76acf62eb26908977e2682338c85ac1 -Author: Simon Wilkinson -Date: Mon Oct 29 19:02:03 2012 +0000 - - opr: Add opr_jhash_int2 function - - Add a function to jhash that can be used to hash a pair of unsigned - integers (or other stuff that can cast to them) without having to build - up an array. - - Provide a couple of tests for the new function - - Change-Id: I594848f64316fb459eff565933691f560512ca79 - Reviewed-on: http://gerrit.openafs.org/8354 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit dce5e012fedb3efc9e7acd9c443b7ec2caaf47ae -Author: Simon Wilkinson -Date: Thu Nov 1 17:38:45 2012 +0000 - - tests: Fix fallout from cleanup change - - The change to cleanup temporary files after tests - (0c3670914a05c7aa33f0b1239ba9cc25f430ed04) broke all attempts - to run the tests using libwrap, as it would cause libwrap to run - the binary named "MAKECHECK=1" - - Move the variable defintion before the libwrap invocation to fix this. - - Change-Id: I330267c9b53483abccf43d60a7dc8f8d973c3959 - Reviewed-on: http://gerrit.openafs.org/8356 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6580d64b5d8ef0ccce71b72783b33c9e6f75b9e8 -Author: Jeffrey Altman -Date: Wed Oct 31 12:04:50 2012 -0400 - - Windows: cm_ConnByServer increment under lock - - Incrementing the cm_conn.refCount must be performed while holding - the cm_connLock in order to prevent cm_GCConnections() from - seeing an in-use object as having a zero count. - - Change-Id: Ifaa755ef0f04f3bf64223434dfc518bc73d01d4d - Reviewed-on: http://gerrit.openafs.org/8347 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b0283d5f17aafecf258479d6691682af3baaa0fd -Author: Jeffrey Altman -Date: Wed Oct 31 09:53:57 2012 -0400 - - Windows: cm_FindVolumeByName refactoring - - The cm_volume allocation within cm_FindVolumeByName() was racy. - Given how locks were obtained and dropped it was possible for two - threads to both determine that a cm_volume_t object needed to be - allocated. It might even have been possible for two threads to - attempt to allocate the same object. - - This refactoring ensures that if a volume cannot be found under - a read lock that a second search is performed under the write lock - in case the object had in fact been allocated during the transition. - - Once it is determined that an allocation is required, the cm_volumeLock - is not dropped until the object has been built and inserted into the - name hash table. This ensures that two threads cannot attempt to - allocate a cm_volume object for the same volume group. - - InterlockedIncrement is used to manage the cm_data volume count. - - Change-Id: I64c07cbc0f7968c5580478ff33214f67088072f8 - Reviewed-on: http://gerrit.openafs.org/8346 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d914034d4c5fd48fb89b1380da24984a520bae33 -Author: Jeffrey Altman -Date: Wed Oct 31 09:52:23 2012 -0400 - - Windows: use cm_GetVolume / cm_PutVolume - - Instead of locally incrementing and decrementing the cm_volume - refCount field use cm_GetVolume and cm_PutVolume. Doing so makes - it easier to see if there is an imbalance. - - Change-Id: Id62e42a74a9b1d9865a00dae177550a93e6e0f08 - Reviewed-on: http://gerrit.openafs.org/8345 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2b798792fb56c5feda8e68dd433c82f43b1698aa -Author: Jeffrey Altman -Date: Wed Oct 31 09:50:34 2012 -0400 - - Windows: Interlocked ops for cell and scache allocation - - Replace foo++ with InterlockedIncrement for cm_data cell and scache - counters which are used for allocating objects. - - Change-Id: I09d2a536ef559d6d5873a3fdead4c8580bc93a0c - Reviewed-on: http://gerrit.openafs.org/8344 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit aa3579b26503f42de50e7c58c56937a7fbf4d45f -Author: Jeffrey Altman -Date: Tue Oct 30 21:54:20 2012 -0400 - - Windows: Do not flush dirty bufs to deleted FID - - If the FID is known to have been deleted, drop all dirty data - returned from the redirector on the floor. - - Change-Id: I8b9a1a69d632d7243bdbcfedb5329558e0004d2e - Reviewed-on: http://gerrit.openafs.org/8343 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4a8e1385844eb3a1c6c70758baa7522cf35130df -Author: Hartmut Reuter -Date: Thu Oct 18 09:38:50 2012 -0400 - - linux: bypass readpages should update nocache read parms - - the nocache read parms need to have the offset updated during a bypass - readpages request - - Change-Id: Iced321e6eeab7fd784c5ccb871fcda7ff9c7493d - Reviewed-on: http://gerrit.openafs.org/8254 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Marc Dionne - -commit 527f2ba00c1247ae7e8d6f355572c8635331bc0c -Author: Andrew Deason -Date: Tue Oct 23 15:47:06 2012 -0500 - - ptserver: Avoid inet_ntoa - - The ptserver uses inet_ntoa in a few places, such as for calculating - host CPS. This isn't safe in pthreaded environments, so use - afs_inet_ntoa_r instead. - - Change-Id: I84cdf606ffd44d2d87c0db509af0950a6547364e - Reviewed-on: http://gerrit.openafs.org/8287 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3898f4d20500fbdbe60e36ecaf6b80f96913b84c -Author: Simon Wilkinson -Date: Sun Oct 21 20:07:44 2012 +0100 - - Fix mutex assertion - - RX mutexes have two mechanisms for asserting ownership of a mutex: - MUTEX_ISMINE, which returns true if the caller is the owner of the - mutex in question, and osirx_AssertMutex which fires an assertion if - the calling thread doesn't own a specified mutex. - - Neither of these work with pthread mutexes on all platforms, and the - kernel support for MUTEX_ISMINE is dubious in places. Because in some - implementations, MUTEX_ISMINE tries to lock the mutex in question, a - failing call to MUTEX_ISMINE can lead to the process holding an - additional, unexpected, lock. - - This patch reworks all of this, and uses the new opr mutex framework - so that we can do mutex assertions in userspace, too. We remove the - unsafe MUTEX_ISMINE macro, and replace it with MUTEX_ASSERT which - simply asserts if the specified mutex is not held by the current - thread. osirx_AssertMutex is removed as it is now redundant. - MUTEX_ASSERT will always work in kernel code. - - For userspace, we provide opr_mutex_assert, which is implemented using - POSIX error checking mutexes. As error checking mutexes have a runtime - overhead, this is only available when configured with - --enable-debug-locks, the rest of the time calls to opr_mutex_assert are - no-ops. - - Change-Id: I285ee2b558389fa3d63b786e4bc4420fa2126c80 - Reviewed-on: http://gerrit.openafs.org/8282 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d287e816988a98654ba6e0fd3aa053b20fd14663 -Author: Simon Wilkinson -Date: Sun Oct 21 21:19:40 2012 +0100 - - rx: Move kernel assertion macros - - Move the kernel assertion macros out of rx_prototypes.h and into - rx_kernel.h. This solves an ordering problem if these macros are to - be used from src/rx//*.h - - Change-Id: I5f11e0802b3d25c1c32a2c646a35c0b59422ab3d - Reviewed-on: http://gerrit.openafs.org/8283 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0c3670914a05c7aa33f0b1239ba9cc25f430ed04 -Author: Marc Dionne -Date: Wed Sep 19 19:14:31 2012 -0400 - - tests: cleanup temporary files - - Call the configuration directory cleanup function before exiting - so there are no files left behind, even in case of error. - - Add KeyFileExt to the list of files that are removed. - - Change-Id: Ie795bef0d44609b36950970244c02a6c6da1a843 - Reviewed-on: http://gerrit.openafs.org/8142 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit d82a3d7e2c126950382e3db24e8494de5a1db2a0 -Author: Hartmut Reuter -Date: Thu Oct 18 07:00:18 2012 -0400 - - linux: fix cache bypass applicability function - - don't allow cache bypass if execsOrWriters is true - - don't trigger cache bypass based on being larger than the - "disabled" value of -1. - - Change-Id: Ic174b133e5da3e9215465c9c2705c25e81a8beca - Reviewed-on: http://gerrit.openafs.org/8248 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8927d5f3055a730c86dc2b1149d73ee3cd16af18 -Author: Marc Dionne -Date: Mon Oct 29 19:11:23 2012 -0400 - - Linux: remove unused afs_set_name inline functions - - These were used in an earlier version of the patch that got merged. - - Change-Id: Ifc5ba94392a394d0fb55c31051b4b74211cfc1f0 - Reviewed-on: http://gerrit.openafs.org/8332 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f5a643ad6dbcbf1785eac274f9dec79ef65928f3 -Author: Simon Wilkinson -Date: Sat Oct 20 23:14:41 2012 +0100 - - Add opr/lock.h and tidy locking macros - - The MUTEX_* and CV_* macros leaked from RX a while ago - they mean - that most of the pthreaded tree has a dependency on RX, as well as - further confusing the difference between userspace and kernel. - - Tidy all of this up so that we have opr_mutex_* and opr_cv_* macros - to handle portable locking, and use these throughout the userspace - tree. Only kernel code should now use MUTEX_* and CV_*. - - Provide opr/lockstub.h as a header that can be used by non-pthreaded - code to easily stub out these functions. - - Change-Id: I24be525c7667641134d50561ce7f1e2d752cdf1f - Reviewed-on: http://gerrit.openafs.org/8280 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9607d0e7993f3dee7f70ae747ea9d0b8ba1404af -Author: Simon Wilkinson -Date: Fri Oct 26 15:37:52 2012 +0100 - - rx: Move transmit queue clearing - - When the client receives a data packet from the server, it means that - the server has completed processing the client's request. This, in turn, - implies that the transmit queue can be cleared. However, we were doing - this with every incoming data packet. - - Move the transmit queue clearing to the code which handles the rest of - the data packet, and make the function only run if the transmit queue - is non-empty. - - Now that there's no client specific logic in the ReceiveCall section, - clean up this code to reduce duplication. - - Change-Id: Ia4f9024720c676cbcc6d8426d4b94a0acded20bc - Reviewed-on: http://gerrit.openafs.org/8301 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 96d50fc0e1d8b709a86d76318c8a1801cbff12d7 -Author: Simon Wilkinson -Date: Fri Oct 26 15:23:48 2012 +0100 - - rx: Refactor code to acknowledge a whole TX queue - - We acknowledge a whole transmit queue whenever an ACKALL packet is - received, or whenever the call changes direction. As the same logic - is used in both locations, pull it out into a common helper function. - - Change-Id: Ia91b037c73cc0dd612ebbd0bd38ec171ec7c96a5 - Reviewed-on: http://gerrit.openafs.org/8300 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 8d359e6dff5317698597e77f0a1dd5ba2bfb569a -Author: Simon Wilkinson -Date: Fri Oct 26 14:55:02 2012 +0100 - - rx: Remove duplicate out of order ACK check - - Once we've moved the congestion window, there's no going back. So - any ACK packets that attempt to move the window backwards by including - a 'firstPacket' value earlier than the current window position must - be ignored. - - However, we check (and ignore) these packets twice. Once in - rxi_ReceivePacket, which only checks in the client side case, and again - in rxi_ReceiveAckPacket, which has a more complete check that runs for - both client and server connections. - - Remove the identical check from rxi_ReceivePacket in a continuing effort - to clean up this bit of code. - - Change-Id: I090bc289848d0797860f46aec5877ad07fcc9b82 - Reviewed-on: http://gerrit.openafs.org/8299 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit daeb917110f6b358d505eef50088bbb4573a6130 -Author: Simon Wilkinson -Date: Fri Oct 26 14:52:46 2012 +0100 - - rx: Remove duplicate security layer check - - rxi_FindConnection checks that the connection it returns has a - security layer matching that of the incoming packet. Don't duplicate - this check within the rxi_ReceivePacket code. - - Change-Id: I03e7d50ecf84f638d8e222d77defc25b8a58627a - Reviewed-on: http://gerrit.openafs.org/8298 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3c6570413c94afe4107634e9ca3f923f3cd30c21 -Author: Simon Wilkinson -Date: Fri Oct 26 14:50:51 2012 +0100 - - rx: Refactor rxi_ReceivePacket call selection - - Refactor the call selection logic in rxi_ReceivePacket so that it is - a little bit easier to follow, and better optimised to the common case. - - Split the current logic into a function for packets being received by - a server, and a function for packets being received by a client. - - Change-Id: Ie27de7952cc13fa3b92619cfe68e671e6d5e170c - Reviewed-on: http://gerrit.openafs.org/8297 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a0ae8f514519b73ba7f7653bb78b9fc5b6e228f8 -Author: Simon Wilkinson -Date: Fri Oct 26 12:21:41 2012 +0100 - - rx: Don't build a call to immediately abort it - - If the server is over the busy threshold, then don't create a new - call structure just to be able to send an abort on that call. Instead, - use rx_SendRawAbort to send an abort packet on the appropriate channel. - - Change-Id: I02782fc25fe8ed7608b39e3f8355e2793f7526e3 - Reviewed-on: http://gerrit.openafs.org/8296 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0c9e55639cc02d90e9fd108572bb5ee64db3ddcc -Author: Simon Wilkinson -Date: Thu Oct 25 13:34:33 2012 +0100 - - rx: Remove unreachable debug statement - - ReceivePacket has a dpf which is conditional on the packet having a - zero callnumber. However, just before we reach this debug statement, - we always return if the header doesn't have a call number included. - - So, the debug statement can never run. Just remove it, as it's - potentially confusing. - - Change-Id: I5fad9f39c9a0c4aac50853aaf4f853b9f7715e61 - Reviewed-on: http://gerrit.openafs.org/8295 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 8e118de45cdf9987845d8d127c3c45cf1b77f01f -Author: Simon Wilkinson -Date: Thu Oct 25 12:01:04 2012 +0100 - - rx: Always provide rxi_WaitForTQBusy - - Move the prototype for rxi_WaitForTQBusy to rx_internal.h, and always - provide it (as a prototype for RX_ENABLE_LOCKS, and as a no-op for lwp). - - Remove all of the #ifdef RX_ENABLE_LOCKS around rxi_WaitForTQBusy calls. - - Change-Id: I6c2b943d6d06bf19d3cb4495201d278e3900b6ef - Reviewed-on: http://gerrit.openafs.org/8294 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7e8278e1447328bc57396803a1651cbb497198d0 -Author: Jeffrey Altman -Date: Mon Oct 29 12:59:14 2012 -0400 - - Windows: Set Server Prefs recalc immediately - - When processing the set server preferences pioctl call cm_RankServer() - to update the server preference value reported by "getserverprefs" - in addition to cm_ChangeRankVolume() or cm_ChangeRankCellVLServer(). - - Change-Id: Iacd8d30865286c39a7cc02e2f659b8c684f8f4a4 - Reviewed-on: http://gerrit.openafs.org/8328 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e59cf940ce1cb2ed72ccf05ce39f73019547d9b1 -Author: Jeffrey Altman -Date: Mon Oct 29 10:33:18 2012 -0400 - - Windows: mark server reference offline for VOFFLINE - - cm_Analyze() was not marking the cm_ServerRef_t reference to - a volume instance as srv_offline in response to a VOFFLINE error. - As a result the same volume instance is tried again and again. - - Change-Id: Ic467f41e96408281e6251a796d2dfba3245bb023 - Reviewed-on: http://gerrit.openafs.org/8326 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c7061310b7865c635c382490703ff951c2f9af3f -Author: Jeffrey Altman -Date: Mon Oct 29 09:19:13 2012 -0400 - - Revert "Windows: Media Protected if create on RO volume" - - This reverts commit f3f282265a3d9e3c968fd06793e6d1a91337f443. - - Returning STATUS_MEDIA_WRITE_PROTECTED in preference to - STATUS_OBJECT_NAME_COLLISION when the file results in silent - failures by some applications (ie, Firefox.exe) when the - first directory in the path below the share name is the - root of a .readonly volume. - - FIXES 131416 - - Change-Id: I342d9ff09ef68615371cf9d372f38fac854ed6c0 - Reviewed-on: http://gerrit.openafs.org/8325 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4bc8d82d9a204b76fcf5208ded3a9a6ea917b734 -Author: Simon Wilkinson -Date: Thu Oct 25 11:57:22 2012 +0100 - - rx: MUTEX_* are no-ops when !RX_ENABLE_LOCKS - - Remove any occurences of - # ifdef RX_ENABLE_LOCKS - MUTEX_ENTER(&mutex) - # endif - - and similar for MUTEX_INIT, MUTEX_DESTROY and MUTEX_EXIT, as all of - these operations are no-ops when RX_ENABLE_LOCKS isn't defined. - - Change-Id: Ic0f27b42d56ae4362ff095f1f08a06575c4ca2c1 - Reviewed-on: http://gerrit.openafs.org/8293 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f224849f29343cf634c732b1672b4e81373de872 -Author: Simon Wilkinson -Date: Thu Oct 25 11:49:55 2012 +0100 - - rx: Get rid of AFS_GLOBAL_RXLOCK_KERNEL - - Get rid of the AFS_GLOBAL_RXLOCK_KERNEL #define. RX used to have a - single global lock locking mode, but none of our kernel modules use - it any more. In fact, AFS_GLOBAL_RXLOCK_KERNEL is now only defined - when RX_ENABLE_LOCKS is also defined. Simplify the code by renaming - all of the occurrences of AFS_GLOBAL_RXLOCK_KERNEL as RX_ENABLE_LOCKS, - and remove any cases where we're now doing unecessary tests - - Change-Id: I061d8d364c61168370b223cdac48ad161f0c9d74 - Reviewed-on: http://gerrit.openafs.org/8292 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9358e452a90c3d87f025a54e503da2b2d062dbef -Author: Simon Wilkinson -Date: Thu Oct 25 11:32:03 2012 +0100 - - rx: Don't have 2 different protos for rxi_CheckCall - - Use a single prototype for rxi_CheckCall in both the pthread and - lwp cases. Remove the #ifdef maze at the call sites, and take advantage - of the fact that MUTEX_EXIT reduces to an empty string in the lwp - case. - - Change-Id: Iaa8c1b983f1c8372e9c2e1b90aaef25a2bc5f81f - Reviewed-on: http://gerrit.openafs.org/8291 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e93b6dca2f593e479499122eedef1e65452aaaac -Author: Simon Wilkinson -Date: Thu Oct 25 11:27:33 2012 +0100 - - rx: Don't double check conn->call - - We currently have - - call = conn->call[channel] - if (call) { - ... - } else { - call = conn->call[channel] - if (call) { - ... - } - } - - As we don't drop (or acquire) any locks between the first and the - second check of call, there's no way that the result can be different - from the first time we checked. So just get rid of the uneccessary - code, and reindent the following block to match. - - Change-Id: If21a1d0af461fe0c0651e713dfb99a7c5f01cba4 - Reviewed-on: http://gerrit.openafs.org/8290 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c00c0effd18dd508051ebc4c7c8983b800f8a973 -Author: Simon Wilkinson -Date: Tue Oct 23 19:21:09 2012 +0100 - - rx: Move bytesSent + bytesRcvd into app only data - - The call->bytesSent and call->bytesRcvd counters are only manipulated - by the application thread in running calls. Move them into the app-only - section of the call structure so this is clear. - - Change-Id: Ib7929a8e34bcb70c8cb9c1f89544adce0d627299 - Reviewed-on: http://gerrit.openafs.org/8288 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 6f8da199e5c694e0e9a90f4737a9a1618470389e -Author: Simon Wilkinson -Date: Tue Oct 23 13:35:43 2012 +0100 - - rx: Don't use app-thread variable in SendXmitList - - The value of call->app.mode is changed by the application thread - without taking the call lock. Instead of using this variable in - SendXmitList to determine whether the queue should be flushed, add - a new flag (RX_CALL_FLUSH) to control flushing behaviour. - - As call->flags is manipulated under the call lock, its value can - be safely used by SendXmitList. - - Change-Id: I8416697f457e5003af08a35ac08809512b03a9be - Reviewed-on: http://gerrit.openafs.org/8286 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit ada1fc25679db5abc887fb52d30e32bb2713cae3 -Author: Simon Wilkinson -Date: Tue Oct 23 12:41:07 2012 +0100 - - rx: Make lock-free call data explicit - - For speed, the application thread accesses a number of elements of - the call structure without holding the call lock. This is safe, as - long as the application thread is the only place in which these - items of data are accessed. - - Make this distinction explicit by creating a new structure to hold - all of these fields, and include this structure within the rx_call. - - This turns up one place in the code (SendXmitList) which accesses an - application private piece of data in the listener and event threads. - A forthcoming patch will fix this. - - Change-Id: I7b5ffb8b5ce68a2186e37ae64461fe356a40603e - Reviewed-on: http://gerrit.openafs.org/8285 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit c584b68213aef29f9df7fc104b584e8559b7d4fe -Author: Jeffrey Altman -Date: Sat Oct 6 17:34:52 2012 -0400 - - Windows: Makefile dependencies - - Permit "afsrdr" and "extra" to be built without the rest of - the tree by making them depend on "config". - - Change-Id: I52e484f64d02e7f9b136164e10accdc981835ec0 - Reviewed-on: http://gerrit.openafs.org/8321 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e9e5978a4dc3738708f23d15a3e91cee1f34a5f2 -Author: Jeffrey Altman -Date: Mon Aug 6 12:19:26 2012 -0400 - - Windows: Send all \\AFS\PIPE to afsd_service - - Anytime there is a pipe service request, forward it to the - afsd_service.exe and permit the service to manage the request. - The prior implementation resulted in STATUS_FILE_NOT_FOUND errors - being delivered when an unexpected service was requested. - - Change-Id: I2ae9c45db787c0cb422fa3fecdfb235631927415 - Reviewed-on: http://gerrit.openafs.org/8320 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f7148418961e3083b895c0875b15060213921e4d -Author: Jeffrey Altman -Date: Wed Sep 26 01:51:37 2012 -0400 - - Windows: Treat EIO from file server as fatal error - - Return STATUS_DISK_OPERATION_FAILURE to caller when a file - server fails an RPC with EIO. Previous behavior was to retry - the request indefinitely. - - Change-Id: I8fa3dbc92dda4e50e1331ad350dd697092f26985 - Reviewed-on: http://gerrit.openafs.org/8319 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5857dd36b2b129fd2cf187650723b896c24f5177 -Author: Jeffrey Altman -Date: Fri Oct 19 11:26:21 2012 -0400 - - Windows: ObjectInfo RefCount 0 <-> 1 transitions - - When the reference count transitions from 0 <-> 1 ensure that the - ObjectInfoLock is held exclusive to prevent the current thread from - altering the state while another thread is holding the ObjectInfoLock - shared in order to conditionally perform an action based upon - the the reference count being zero. - - Change-Id: I5bcf384a0ea90e4896e55b537e92112ac3791a4c - Reviewed-on: http://gerrit.openafs.org/8257 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fd7a16d5b09d963ded1fb4314632e9fb5d513b29 -Author: Jeffrey Altman -Date: Thu Oct 25 18:42:11 2012 -0400 - - Windows: PrimaryVolumeWorker ObjectInfoLock deadlock - - Patchset eaad522651a81f20eac4966a55a731e0e59e39dd inadvertently - introduced a deadlock with invalidation requests from the service. - It is not safe to hold the ObjectInfoLock resource across calls - to AFSCleanupFcb(). Instead of holding the lock obtain a reference - to the ObjectInformationCB. - - Change-Id: I048401ec3e432c05c8a72251ef1e32442974256d - Reviewed-on: http://gerrit.openafs.org/8308 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 08d446424873c2d46b00b6d4604766051e5ba837 -Author: Jeffrey Altman -Date: Thu Oct 25 14:33:29 2012 -0400 - - Windows: AFSCleanup re-organization - - Reorganize the activities of the AFSCleanup() for File FCBs - so that the Fcb Resource can be dropped prior to issuing the - cleanup request to the cache manager. The cache manager can - block for a long period of time while flushing data and holding - the Fcb resource blocks all subsequent CreateFile requests. - - Change-Id: Ieaf3653ebf487670bce1043e73be093eb77a8736 - Reviewed-on: http://gerrit.openafs.org/8307 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3a996b58dea74be4748446c63b7d3c4c631b1881 -Author: Jeffrey Altman -Date: Thu Oct 25 14:31:14 2012 -0400 - - Windows: AFSCleanup Flush Data decision - - AFSCleanup() should instruct the cache manager to flush dirty - data when the Context Control Block indicates that the handle - being closed was opened for writing and was granted appropriate - permissions. The decision to flush should not be dependent on - the open handle count because the last handle might belong to - an authentication group that does not have write permission. - - Change-Id: I4e181616f1c8eba9e4c6184e2035d9f6cbaba1d0 - Reviewed-on: http://gerrit.openafs.org/8306 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ea2f25372cc09c958780990f6cb8d064c7e7a0e3 -Author: Jeffrey Altman -Date: Thu Oct 25 14:12:42 2012 -0400 - - Windows: buf_DirtyBuffersExist return value - - buf_DirtyBuffersExist() should return 'found' not '0'. - - Change-Id: I037ce37d5fc8a63f563ded196925af930434fb16 - Reviewed-on: http://gerrit.openafs.org/8305 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c33c678760e254e67037d62e38f6eedc139eaf6f -Author: Jeffrey Altman -Date: Mon Oct 22 20:40:21 2012 -0400 - - Windows: AFSMarkDirty() require ExtentsResource held - - Instead of dynamically testing if the ExtentsResource is held - and if not acquire it within AFSMarkDirty(), simply require that - it be held. AFSMarkDirty() is only called from one location. - - Change-Id: If30fc05fead4c9e0604555239e9b862659de3e8b - Reviewed-on: http://gerrit.openafs.org/8304 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3c57bab34ee74b4951cf637537ff73d86986fd3e -Author: Jeffrey Altman -Date: Mon Oct 22 20:34:59 2012 -0400 - - Windows: AFSFlushExtents QueuedFlushCount leak - - The FCB QueuedFlushCount was decremented in all code paths - but only incremented if the AuthGroup acquisition succeeded. - Increment the counter before the AuthGroup checks. - - Change-Id: I3f58075124412cc4a7ac63dc6a7f90a91af369cf - Reviewed-on: http://gerrit.openafs.org/8303 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 651cceabc3e5f939554e50437b9ed3181b6f7b1f -Author: Jeffrey Altman -Date: Mon Oct 22 20:29:47 2012 -0400 - - Windows: RDRFunction remove DebugBreak - - DebugBreak hard coded into the source tree makes debugging - other unrelated issues difficult if the code path being executed - includes them. Remove them. - - Change-Id: I0f55b1fbccdbac13abecb4f4e9774b23fa57678d - Reviewed-on: http://gerrit.openafs.org/8302 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f869b6f8c11f859fad6e3649faf7e724e0bd1d6d -Author: Jeffrey Altman -Date: Fri Oct 19 09:33:18 2012 -0400 - - Windows: Promote DELETED from DirEntry to ObjInfo - - On deletion of the DirEntry in AFSDeleteDirEntry() set the - AFS_OBJECT_FLAGS_DELETED flag on the ObjectInformation object - if and only if the AFS_DIR_ENTRY_DELETED flag was set in the - DirEntry. Setting the AFS_OBJECT_FLAGS_DELETED should not - be conditional on the ObjectInformatION ReferenceCount being - zero. - - Remove the test and set of AFS_OBJECT_FLAGS_DELETED from - AFSClose() because that operation will already have been - performed in the call to AFSDeleteDirEntry() if necessary. - - Change-Id: Ib52f89633e6a343b08d408ef24b067c8fae73e0f - Reviewed-on: http://gerrit.openafs.org/8256 - Reviewed-by: Derrick Brashear - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 89c200c5658b2605f446c393f904874d4c65a28c -Author: Simon Wilkinson -Date: Fri Oct 19 14:06:57 2012 +0100 - - opr: Clarify opr_time copyright - - opr_time.h made it in to the tree without a copyright statement. - Clarify that it is BSD licensed. - - Change-Id: Ifd6e3dff547337885e5e0bdc0d04e218b733ce44 - Reviewed-on: http://gerrit.openafs.org/8279 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit dc0441d0a2140e0d8138939cb84fc232d9e54650 -Author: Hartmut Reuter -Date: Sat Oct 20 18:24:53 2012 -0400 - - volser: comment with a list of all dump tags - - this is a list of all the dump tags currently defined - - Change-Id: Ie040f48b35ac5ec377e5d4184bcb8e47020d1d46 - Reviewed-on: http://gerrit.openafs.org/8281 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit eca04c7e52d1e777cde423cdf673d7bf579c342b -Author: Marc Dionne -Date: Sat Oct 20 17:59:01 2012 +0100 - - Linux: Rework handling of names in the lookup functions - - Rework the name lookup functions in the kernel to deal more cleanly - with the change of API for kernel 3.7 - - Change-Id: I1de9e02cfedbbeee31e2793c443722d4eed57705 - Reviewed-on: http://gerrit.openafs.org/8278 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a550d64f8e0003e1cce538a83270b35be54f9957 -Author: Magnus Ahltorp -Date: Fri Oct 19 18:12:13 2012 -0400 - - lwp: zero reused request blocks - - new blocks are calloc()d as zeroed. reused ones are not. - zero them - - FIXES 131369 - - Change-Id: I646c04d3d14ffc121d54e740a92803bb18f32091 - Reviewed-on: http://gerrit.openafs.org/8277 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 115850076c09625e37d75da6dc29a68b0a2d638e -Author: Marc Dionne -Date: Fri Oct 19 18:31:53 2012 +0100 - - Linux: fix afs_putname wrapper for pre-3.7 kernels - - Make the compatibility function use the right type for pre-3.7 - kernels. - - Change-Id: I9222a3dc5a923c97dc36f69485d9cd3ecc6810fb - Reviewed-on: http://gerrit.openafs.org/8276 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b538f21bea758a92f2bd9f8d529e8889c4a9e63 -Author: Jeffrey Altman -Date: Tue Oct 16 09:36:56 2012 -0400 - - Windows: Remove 'bAllocatedFcb' from AFSCreate.cpp - - All functions now call AFSInitFcb() and the ObjectInfo->Fcb == NULL - test is performed internally. Therefore, it is not possible for - the caller to track whether or not an Fcb was allocated. It is - irrelevant. The Fcb will be cleaned up when the ObjectInfo is - destroyed by the PrimaryVolumeWorker thread. - - Change-Id: I3255563e1b0c44082e4f390002d294ad333d534f - Reviewed-on: http://gerrit.openafs.org/8242 - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2bfe3653e3eec99a1199392912a4136668406212 -Author: Jeffrey Altman -Date: Sun Oct 7 23:41:32 2012 -0400 - - Windows: PrimaryvolumeWorker do not pause if busy fcb - - The AFSPrimaryVolumeWorkerThread should not unnecessarily block - on the FCB Resource because such blockage could be the result of - of waiiting for extents to be delivered from the service. The - AFSPrimaryVolumeWorkerThread is the primary method by which - extents are released back to the service. - - AFSCleanupFcb() is modified to return STATUS_RETRY if the Fcb - resource cannot be obtained without blocking. - - The AFSPrimaryVolumeWorkerThread() does not call - AFSCleanupFcb() with 'ForceFlush' parameter set to TRUE and - remembers if STATUS_RETRY is returned. If any Fcb was busy, - then the worker does not wait for the 5 second timer to fire. - - Change-Id: If3eab06b902202483eb354362a4db6bc8167d0df - Reviewed-on: http://gerrit.openafs.org/8227 - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dfcb68cdc82260f614b2efed2529dc7c559d1933 -Author: Jeffrey Altman -Date: Fri Oct 19 08:37:25 2012 -0400 - - Windows: avoid race set/clear ExtentsRequestComplete - - The FCB ExtentsRequestComplete KEVENT setting, clearing - and testing was racy. Clear the event before issuing the - request to the service and if the request fails, set it in - case two threads issued requests for the same FCB in parallel - and one fails and the other succeeds. - - We must ensure that a clear does not mask the event being set - prior to the request thread returning. - - Change-Id: I6d496214a2621aeca2b9f6d2f50095ffd19b6c59 - Reviewed-on: http://gerrit.openafs.org/8255 - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 555412a03f18aff0d30401082ad2946a68bd7694 -Author: Jeffrey Altman -Date: Thu Oct 18 09:56:12 2012 -0400 - - Windows: clear pending delete upon deletion - - During cleanup processing if the DELETE_PENDING flag is set - the service will be told to delete the file when the handle - count reaches 1. At that point the file will be deleted - and the DELETED flag will be set on the object info object. - The DELETE_PENDING flag was not being cleared which could - lead to confusion. This patchset clears the flag after deletion. - - Change-Id: Ib30bb3a5c3a06b8971ac4523e6eacefaaed068ce - Reviewed-on: http://gerrit.openafs.org/8253 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 05fa1202fb63e32aff3c60d47286c8af232322fe -Author: Jeffrey Altman -Date: Sun Oct 7 10:23:19 2012 -0400 - - Windows: AFSInitFcb Check ObjectInfo->Fcb for NULL - - Now that AFSInitFcb is called under the ObjectInfoLock, it is - once again safe to perform a test for ObjectInfo->Fcb != NULL - and return immediately if an Fcb is already assigned. - - Change-Id: Id926b9ccf24c7761dbeacf42c53d7cc7d1375482 - Reviewed-on: http://gerrit.openafs.org/8226 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9eb4bcfced06554d08c0f95de54f2285f48de890 -Author: Jeffrey Altman -Date: Sun Oct 7 10:20:11 2012 -0400 - - Windows: Fix DV Raced Trace Message Parameters - - Data Versions are logged as HighPart:LowPart not QuadPart. - - Change-Id: I7cfb712060fd602a1d20ca1d4f20b892820edf89 - Reviewed-on: http://gerrit.openafs.org/8225 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit eaad522651a81f20eac4966a55a731e0e59e39dd -Author: Jeffrey Altman -Date: Fri Oct 5 11:36:45 2012 -0400 - - Windows: Protect ObjectRefCnts with ObjectInfoLock - - The ObjectInfoCB.ObjectReferenceCount is tested to determined - when it is safe to remove an FCB from the ObjectInfoCB. The - value must not be permitted to change while a removal is performed. - - Protect AFSRemoveFcb() calls with exclusive holds of the - ObjectInfoCB.NonPagedInfo->ObjectInfoLock. New functions: - - AFSObjectInfoIncrement() - AFSObjectInfoDecrement() - - perform all increments and decrements while holding the - ObjectInfoLock in a Shared state. - - Change-Id: If89b7668ef0a891d55b039d9516620b581c79e10 - Reviewed-on: http://gerrit.openafs.org/8224 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cecd99abd3837ef820d78fb15e450c8688b0f39b -Author: Jeffrey Altman -Date: Tue Oct 2 21:11:01 2012 -0400 - - Windows: AFSPrimaryVolumeWorkerThread AFSRemoveFcb - - Do not call AFSRemoveFcb() on a directory entry whose Fcb - has a non-zero use count. - - Change-Id: I0d733327c094f15a7b681eb1806a4fa9a4a6c151 - Reviewed-on: http://gerrit.openafs.org/8223 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8827be708460eb1cbd58001d3247ed7bb160ebc8 -Author: Jeffrey Altman -Date: Tue Oct 2 21:07:21 2012 -0400 - - Windows: Always AFSInitFcb and AFSRemoveFcb - - Instead of comparing ObjectInfo->Fcb to NULL and conditionally - calling AFSInitFcb() or AFSRemoveFcb(), always call them and use - InterlockedExchangePointer() as the test. - - Change-Id: I81915dfdfdf180c04ad2b4ff7506784a83ee8c2a - Reviewed-on: http://gerrit.openafs.org/8221 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 23c920066976ac5ede41dd799c84d97ff5174c4c -Author: Jeffrey Altman -Date: Sat Oct 6 17:36:25 2012 -0400 - - Windows: AFSRequestExtentsAsync and AFSDoExtentsMapRegion - - When calling AFSDoExtentsMapRegion() the FCB ExtentsResource - must be held. AFSRequestExtentsAsync() failed to hold the - ExtentsResource across the call. - - Change-Id: I607cfb45725410c7f079b3be03002b002fccbea4 - Reviewed-on: http://gerrit.openafs.org/8220 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit edef37033cf08f7a383ef973f248d950eecd7624 -Author: Hartmut Reuter -Date: Thu Oct 18 07:32:50 2012 -0400 - - lwp: add shared-locked macro - - we have a macro to check for write locked, add one for shared locked - - Change-Id: I2cd7754fd0e725df19b37f2a2234997cb4c34d3f - Reviewed-on: http://gerrit.openafs.org/8252 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f821c7e5c82f32ad6435c56994f40e544ef69abb -Author: Hartmut Reuter -Date: Thu Oct 18 07:28:33 2012 -0400 - - memcache: add extend-entry function - - export directly and rewrite writevblk in terms of it - - Change-Id: I181f84428158e93e9bc6008ac9226958653a9409 - Reviewed-on: http://gerrit.openafs.org/8251 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit df8709012b50eb0039463eeaa40b48727a4dbd7f -Author: Hartmut Reuter -Date: Thu Oct 18 07:14:26 2012 -0400 - - bypasscache: update threshold variable type - - if we're doing things based on size, we should allow storing - a size - - Change-Id: Ibfb15c45b8b8c7a7c17154165da98c7a8518032a - Reviewed-on: http://gerrit.openafs.org/8250 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5bd05894dd14bdbf845aa3f384f9d8dcac1286aa -Author: Hartmut Reuter -Date: Thu Oct 18 07:07:21 2012 -0400 - - libafs: add partial background store - - add a bop that does a partial store - - Change-Id: I5971d2cda705a11c7fba7c0cfa54a3fa2d90f392 - Reviewed-on: http://gerrit.openafs.org/8249 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f6ab5cc8bd216383b8584aa05a5516862b59ab70 -Author: Jeffrey Altman -Date: Tue Oct 16 09:08:37 2012 -0400 - - Windows: Remove Fcb.Specific.File.LazyWriterThread - - The LazyWriterThread should not be recorded in the FCB. It is - possible for multiple lazy writes to occur on a file in parallel - in separate threads. The value is not used for anything in any - case. AFSCommonWrite() tests the LazyWriterThread value but only - if 'bMapped' is FALSE. Since 'bMapped' is always TRUE, the - comparison is never performed. Remove the test and the value. - - Change-Id: Iddbb65d2125f39f0362aba72ae20ab2666944367 - Reviewed-on: http://gerrit.openafs.org/8241 - Tested-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fe28a0c5966ac50fa3bccf5d98db4a3532f1e4a4 -Author: Jeffrey Altman -Date: Sun Oct 14 15:46:06 2012 -0400 - - Windows: Add cm_SyncOp to cm_ReadMountPoint() - - Add a cm_SyncOp(CM_SCACHESYNC_FETCHDATA) call to cm_ReadMountPoint() - to prevent multiple FetchData RPCs being issued for the same - mount point at the same time. - - Change-Id: I7651f4505727289d800af060cc3ff5a5f449f447 - Reviewed-on: http://gerrit.openafs.org/8235 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7b1115d47019a9948c574ebad7b1323a30b16ab6 -Author: Jeffrey Altman -Date: Tue Oct 2 21:09:35 2012 -0400 - - Windows: AFSInitFcb assign pFcb->ObjectInformation - - In AFSInitFcb() assign pFcb->ObjectInformation before the - InterlockedExchangePointer call and not afterwards. Assigning - it afterwards leaves a small race where the ObjectInformation - value will be invalid. - - Change-Id: Ie79587e0b2f161b7ff612fc4fb283135bafd1085 - Reviewed-on: http://gerrit.openafs.org/8222 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7fd98901620cfb2f44f53b1d717834e39959c538 -Author: Jeffrey Altman -Date: Tue Oct 16 20:26:43 2012 -0400 - - Windows: OpenTargetDirectory AFSInitFcb Reparse Test - - In AFSOpenTargetDirectory the test to determine if AFSInitFcb - allocated a FCB or returned an existing one (STATUS_REPARSE) - was reversed. If AFSInitFcb was called and AFSOpenTargetDirectory - eventually failed, an in use FCB would be freed. - - Change-Id: Ie5974fee5202685575f286fe4fef43dfdc0698cb - Reviewed-on: http://gerrit.openafs.org/8244 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ae10a40c5c18a7e52fb11d95b28333e312ffffce -Author: Jeffrey Altman -Date: Fri Oct 5 11:40:44 2012 -0400 - - Windows: ObjectInformationCB indentation - - Fix indentation within ObjectInformationCB structure - - Change-Id: I004ca5a16fceb63522e3f244177e60e4459e507b - Reviewed-on: http://gerrit.openafs.org/8219 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1335eefeffb70b0759015d39e6732ee075537982 -Author: Jeffrey Altman -Date: Sat Oct 6 01:40:47 2012 -0400 - - Windows: Do not call buf_ClearRDRFlag unlink/rmdir - - When processing unlink and remdir operations initiated by the - SMB stack do not call buf_ClearRDRFlag. The redirector upon - receiving the AFS_INVALIDATE_DELETE call will cancel outstanding - extent operations, mark the FCB deleted, and tear down any held - extents. - - Change-Id: I5203dbe5489fcfd0a1c871c3e7aa6aa1a7d65e9a - Reviewed-on: http://gerrit.openafs.org/8218 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 816776215de17d5cf4e1f992ae27c7c1f5b5f43d -Author: Jeffrey Altman -Date: Fri Oct 5 20:16:35 2012 -0400 - - Windows: Correct alloc size SetFileExtents result - - AFSFileExtentCB objects not AFSSetFileExtentsCB objects. - The latter are too large. Just wastes memory. - - Change-Id: I2ffd1bfd639acc37e2d06bc61749d4ac93376668 - Reviewed-on: http://gerrit.openafs.org/8217 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c53220c179b06fdeb03879e8dc5e10f69bbe0a5f -Author: Jeffrey Altman -Date: Thu Oct 4 22:07:40 2012 -0400 - - Windows: AFS_INVALIDATE_DELETE must cancel IO - - When processing an AFS_INVALIDATE_DELETE the redirector - must cancel any outstanding extent requests on the file - prior to tearing down the extents. - - This code path is triggered either when VNOVNODE is received - from a file server or when an alternate cache manager interface - (SMB) unlinks the file. - - Change-Id: I16c08c2469228b33ae4ece0e45a9890a057ab257 - Reviewed-on: http://gerrit.openafs.org/8206 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 611e80ee125214be038c6d9735dca0bd0b3a7cdf -Author: Derrick Brashear -Date: Mon Oct 15 12:22:03 2012 -0400 - - salvager: fix formatting in the rest of the Log messages - - right now some not-commonly-defined code fails to compile with warnings. - fix it so it uses a format string like everything else. - - Change-Id: Ib35445db9800444f3ee74a43f17aeb6f2959645a - Reviewed-on: http://gerrit.openafs.org/8236 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 170dbb3ce301329ff127bb23fb588db31439ae8d -Author: Simon Wilkinson -Date: Fri Oct 12 10:07:22 2012 +0100 - - rx: Use opr queues - - Modify RX so that it uses opr queues throughout, rather than the older, - non-type-safe rx_queue structure and macros. Attempt to clarify which - items in a structure are queue headers, and which are linkage pointers. - - This has the knock on effect that including an RX header doesn't - automatically give you rx_queue.h in your application's namespace. - - Change-Id: I1b3fbcd8c03f8153a557bd4532710bcebfe45818 - Reviewed-on: http://gerrit.openafs.org/8232 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit eca07c108cc61fc9a6da720848e1beb78833f670 -Author: Simon Wilkinson -Date: Thu Oct 11 12:34:46 2012 +0100 - - rx: Move server queue entry structure out of rx.h - - Hide the server queue management structure in its own header file, - rather than exposing it globally in rx.h. This structure has always - been private - applications have no business knowing about it! - - Change-Id: I97ac31e0e77dbe1c10b2804f33901d933a8f0627 - Reviewed-on: http://gerrit.openafs.org/8231 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a7828d50a82384e6d0fb0ad5b5a702f768029581 -Author: Marc Dionne -Date: Fri Oct 12 16:31:24 2012 -0400 - - libafs: Fix second pass in ShakeLooseVCaches - - Commit 3105c7ff introduced a two phase process for reclaiming - vcache entries. First go through the list and do what's possible - without sleeping (skipping aliased dentries on Linux), then do - a second pass only if necessary, allowing sleeping. - - Unfortunately the test for the end of the VLRU scan is incorrect - and can never trigger, so this second pass was effectively disabled - and any code that is conditional on defersleep=1 was never - exercised. The code to start the second scan also has issues. - - Fix the end of VLRU test, and also correctly set the variables - needed to restart the scan. - - Change-Id: I8034cd3b79aab4f2976ab2559c13c102126480d7 - Reviewed-on: http://gerrit.openafs.org/8234 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fa3116567e2998af73eb116751032713850c9459 -Author: Marc Dionne -Date: Mon Oct 15 12:26:09 2012 -0400 - - Linux 3.7: putname is no longer exported - - putname is unexported in kernel 3.7. Add a compatibility inline - afs_putname function and open code it if necessary. - - Change-Id: I5416067566f6332d77e5d91ce2b9cf7bc0c96dce - Reviewed-on: http://gerrit.openafs.org/8237 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1571e9b9f6749511534ee47b62e97674bb10c3fb -Author: Simon Wilkinson -Date: Tue Oct 16 15:07:38 2012 +0100 - - rxperf: Use libtool RX library - - Use the libtool built liboafs_rx.la, rather than using libafsrpc - for OpenAFS - - Change-Id: Iffc32e512b6f8dd2a89bbc9774b0477236087b0c - Reviewed-on: http://gerrit.openafs.org/8243 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit df3b4ff8420b38cdc7a45757b94e9613d7a7bdfa -Author: Simon Wilkinson -Date: Wed Oct 17 12:13:39 2012 +0100 - - rx: Export some more functions - - Export some symbols that are required by rxperf - - Change-Id: I12d99a9ed1c025c838a4f80ecd61aadd19d20c4c - Reviewed-on: http://gerrit.openafs.org/8245 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit a2877368045947ca28c29283ef03f1510d764d4d -Author: Andrew Deason -Date: Tue Sep 11 14:23:02 2012 -0500 - - rx: Skip rxi_CheckPeerDead if we are DALLY - - DALLY connections don't need to be marked dead, so just skip the whole - function if we are DALLY. - - Change-Id: I8a70c93edb54be28cfda499bc8ce3b7b5b7db600 - Reviewed-on: http://gerrit.openafs.org/8120 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4532e96bb96ab6424c7c00327c094f9b5b307f91 -Author: Andrew Deason -Date: Tue Sep 11 13:59:21 2012 -0500 - - LINUX: Ignore 'offender' in error queue processing - - The 'offender' is who generated the error, possibly who sent us an - icmp packet (the given 'port' will be 0). What we want is the peer - that is actually unavailable, which is already in the 'addr' variable - we received from the recvmsg itself. - - Change-Id: I930293ca14f0e13ba09ee94b5a5d9cdc0f321743 - Reviewed-on: http://gerrit.openafs.org/8119 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 083ec556af66c755c93f821146e06423e27cfba9 -Author: Andrew Deason -Date: Tue Sep 11 12:48:14 2012 -0500 - - rx: Check for peer deadness in rxi_Resend - - If we need to resend something, the peer we're sending to may be dead. - Check if the peer is dead in rxi_Resend, so we don't have to wait - (possibly several seconds) for the next rxi_CheckCall. - - Change-Id: I0ecc0b1fc23bb4194ebadcea97dd58c938af8154 - Reviewed-on: http://gerrit.openafs.org/8118 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0ac9fe184a323fef212c421b844a45838f4d6e57 -Author: Andrew Deason -Date: Mon Sep 10 16:31:01 2012 -0500 - - rx: Process all errors received - - When we receive a buffer of errors from the error queue, loop through - all of them, and do not stop at the first applicable one we find. - - Change-Id: Iad928e0489041b360fe705ac397836650b30091e - Reviewed-on: http://gerrit.openafs.org/8116 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - -commit c172d469dde64b5dfaf762c5ad52dfe842dffb02 -Author: Derrick Brashear -Date: Tue Oct 16 09:25:03 2012 -0400 - - linux: always define do_handlesocketerror - - even if we are not handling socket errors, have a stub function - - Change-Id: I1f3c1631c5ddcf10e74612e13aafbae833bd5eaa - Reviewed-on: http://gerrit.openafs.org/8240 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 37ef85d44a3275c1f367eaa6d241cd6d602a472b -Author: Derrick Brashear -Date: Wed Oct 17 18:52:41 2012 -0400 - - rx: pthread sendmsg should return success, not a bytecount - - thanks to Marc Dionne for noticing the error - - Change-Id: I6e5d8b6e3aa30cb0722aff1a9e538f23f40de441 - Reviewed-on: http://gerrit.openafs.org/8246 - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 7c0484413d9928512b934ee92b2634444dd8ae58 -Author: Andrew Deason -Date: Fri Sep 7 17:04:18 2012 -0500 - - LINUX: Allocate error queue buffer once - - We call osi_HandleSocketError in a loop, so make sure we process all - of the errors. We were allocating a buffer to process the errors in - osi_HandleSocketError itself, but we can reuse the same buffer on - subsequent invocations, to reduce allocation/free pressure if we need - to call osi_HandleSocketError more than once. So, do that. - - Change-Id: Idca2b9d21a48a868574ce6cfc5efe2efba3570a1 - Reviewed-on: http://gerrit.openafs.org/8115 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cddd859d2a6a05a01c971c23dba0b43eceb6b93b -Author: Andrew Deason -Date: Fri Sep 7 16:58:05 2012 -0500 - - rx: Process error queue after noticing errors - - If errors exist in the socket error queue, we will notice by a sendmsg - or recvmsg returning an error. If we never get an error, we don't need - to check the error queue. So, only call osi_HandleSocketError after - such an error has been returned, so we can avoid unnecessarily - checking the error queue when there are no errors. - - Change-Id: I7c8aaaac42728dac7fb0634538b8cc317f0e7212 - Reviewed-on: http://gerrit.openafs.org/8114 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - -commit 9c2612bd33e15e77dc2cdf3051fcf43bdef22496 -Author: Andrew Deason -Date: Wed Aug 1 15:30:11 2012 -0400 - - Turn on Linux rx error queue and PMTU handling - - Change-Id: I17822e9463b5e34bd43e96926a168a19773b2b21 - Reviewed-on: http://gerrit.openafs.org/7928 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a812d28bbf5c847812423977be1ee679cc209893 -Author: Simon Wilkinson -Date: Wed Oct 10 16:49:34 2012 +0100 - - Revert "Add some basic tests to check out fuse" - - This reverts commit 94bf003a720c9a883ba7ebf43ab3053d3072d3dd. - - The fuse tests are fundamentally broken as they stand: - - *) They rely on files that have not been committed to the tree. To - function correctly the file fuse/conf/CellServDB must be present - *) They always run, regardless of whether the fuse helper binaries are - installed on the developers system, or even on whether the tree was - built with fuse support enabled. - *) They pass, even if fuse fails to start up - *) The file fuse.sh is committed, despite being unused. This is - particularly confusing, as it looks like this is where the tests - are performed from (its not, testing is done in dynroot-t) - *) fuse-log should be either cleaned up, or flagged as ignored in - .gitignore - - Revert the commit until such time as all these issues can be fixed - - Change-Id: I5ff9a95f33c0a5d0614bb47c521a8770d92fe2eb - Reviewed-on: http://gerrit.openafs.org/8230 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f0a57e9de6f361ea8ab357252dbd86d516a7cb83 -Author: Simon Wilkinson -Date: Wed Oct 10 14:45:03 2012 +0100 - - tests: Reformat loopback tests - - Reformat the loopback tests to match our house style - 4 spaces for - first indent, a tab for the second, and so on, opening brace of a - function on a newline, spaces around assignments, and so on. - - Change-Id: I54f168ca143e7ff46c9d82289331b8314849f848 - Reviewed-on: http://gerrit.openafs.org/8229 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 072828a1f5447ef64f92b2c57b8681a4e254b0f8 -Author: Simon Wilkinson -Date: Wed Oct 10 14:42:21 2012 +0100 - - tests: Tidy up loopback adapter tests - - Remove the unused h_errno extern, which in turn removes the need - for disabling strict prototype warnings in the Makefile - - Use roken.h, instead of hardcoding system libraries - - Change-Id: Ie654c77ff60ed14fc3b659fa3eb527535be71164 - Reviewed-on: http://gerrit.openafs.org/8228 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 78ae01fb9837d79e7bbdb2918872ab106d4c7e98 -Author: Marc Dionne -Date: Fri Oct 12 16:25:43 2012 -0400 - - Linux: osi_vcache: Fix loop for the hlist case - - An hlist is not circular, and the end is marked by a NULL next - pointer. - - Change-Id: Iec7ad7e3e7ee989d548233b045aa8def1ebfb1dc - Reviewed-on: http://gerrit.openafs.org/8233 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3237543afafae7191635fd8e8cada1f95e8abcff -Author: Andrew Deason -Date: Thu Oct 4 15:49:56 2012 -0500 - - DAFS: VRS_r with VOL_SALVAGE_NO_OFFLINE in attach2 - - One caller of VRequestSalvage_r in attach2 was not passing the - VOL_SALVAGE_NO_OFFLINE flag. This really should be passed for every - place that manually sets vp->nUsers = 0, since then the VPutVolume_r - handlers will never fire. - - Change-Id: I088d93a6c598a4d636224f4cf4c0d89454efcca8 - Reviewed-on: http://gerrit.openafs.org/8203 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 720ff46271766ac88c704a03a5c2dfa30bcb843b -Author: Andrew Deason -Date: Wed Oct 3 14:44:46 2012 -0500 - - sys: Split up syscall.lo 'echo's - - Currently we echo a string to syscall.lo to generate it. However, - 'echo' is often a shell builtin, and some shells (such as bash) do not - interpret escape codes like \n unless the -e option is given. So, this - results in syscall.lo containing a single commented line, which - results in .libs/libafsrpc_sys.a not getting created, which later on - causes errors. - - Instead, just split the syscall.lo generation into separate echo - invocations, to make sure we work everywhere. - - Change-Id: I8a6ed42a0837086de604be0936d830f0f4558ebf - Reviewed-on: http://gerrit.openafs.org/8202 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 8a9f4244dced5cacbf0daca4060fb9e0625f4a2e -Author: Derrick Brashear -Date: Wed Oct 3 10:32:34 2012 -0400 - - afsd: consolidate macos event handling code - - in order that this can potentially be extracted entirely - to a platform-specific file, (and possibly dbus-equivalents - inserted also) consolidate the macos system events handling code - - Change-Id: I8fc4a96dc2590778a13f27610b383ee35626871e - Reviewed-on: http://gerrit.openafs.org/8201 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0fc27471e7da0c5de4addcdec1bfbca5208072cc -Author: Andrew Deason -Date: Tue Oct 2 14:38:20 2012 -0500 - - afs: Avoid tracking file locks for RO volumes - - Advisory file locks for RO volumes don't make a lot of sense, since - there are no possible writes to worry about. The fileserver already - does not track these, so don't even bother processing them in the - client. - - Change-Id: Ie2a20d2f7af67799cfb8d30e72aa3e52a1ecc2d5 - Reviewed-on: http://gerrit.openafs.org/8197 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit be7fca06530829373149487b411611f579eae266 -Author: Derrick Brashear -Date: Wed Oct 3 10:27:37 2012 -0400 - - comerr: no need to libl on macos - - libl is obsolete on macos; stop linking it - - Change-Id: If6e184b6a13ccd3f6b175e9dfbfae9a595322159 - Reviewed-on: http://gerrit.openafs.org/8200 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a28b5e645a9699e30b21615bb0d3aa4876376ee0 -Author: Derrick Brashear -Date: Wed Oct 3 07:47:06 2012 -0400 - - configure: make use of native build assist tools possible - - provide a way to run native rxgen, config and compile_et - - Change-Id: I9d1a2b4a1d4100fdc4a042005586e8fc40f39f7b - Reviewed-on: http://gerrit.openafs.org/8199 - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 94bf003a720c9a883ba7ebf43ab3053d3072d3dd -Author: Troy Benjegerdes -Date: Sun Feb 26 22:56:06 2012 -0600 - - Add some basic tests to check out fuse - - Update makefiles to have 'make test' and 'make check' use the - _nolibafs build version, since there are no tests that (currently) - require the AFS kernel module to be built. - - Clean up fuse test copyright notice, Alphabetize configure.ac - - Change-Id: Icc95dd3393cd66f0d04fa5f6e8f806db60ca031e - Reviewed-on: http://gerrit.openafs.org/8135 - Reviewed-by: Troy Benjegerdes - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit bb84ed0f5609ea64f75cb4188fe76d15c160f3be -Author: Derrick Brashear -Date: Tue Oct 2 23:42:35 2012 -0400 - - config: make makefile builder be a config tool also - - all of our helper tools should be configured in one place, - so a cross compile can override them - - Change-Id: I35044832257fa3389504f79207aa423e39d1ad4a - Reviewed-on: http://gerrit.openafs.org/8198 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit eae608d99a5ae94624200f91af6ed818c9f6612b -Author: Andrew Deason -Date: Tue Oct 2 15:04:47 2012 -0500 - - afs: Use common cleanup code for lockctl EINVAL - - afs_lockctl has common cleanup code in the 'done' label. Use it here, - instead of trying to duplicate it. - - Currently this code path appears to not be dropping the discon lock, - which this rectifies. - - Change-Id: I136a78bc3235454db7e3d69bb79b0061cfcab265 - Reviewed-on: http://gerrit.openafs.org/8196 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 5289b5bb81a90bfacbb9841ee6357c6f72358a6e -Author: Chas Williams (CONTRACTOR) -Date: Mon Oct 1 10:11:22 2012 -0400 - - bos: convert struct bnode to use opr - - Convert struct bnode to use the common linked list code from opr. - bnode_Deactivate() was converted but is unused by the code and isn't - tested. - - Change-Id: I0edec453f15cf19e82088e3d361483cc5833f897 - Reviewed-on: http://gerrit.openafs.org/8168 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 549a5c04ee5ac78dbfde9ec96488e2ae3d5c822d -Author: Chas Williams (CONTRACTOR) -Date: Mon Oct 1 10:10:22 2012 -0400 - - bos: convert struct bnode_proc to use opr - - Convert struct bnode_proc to use the common linked list code from opr. - - Change-Id: I30753ad10387b23509be0831d378772049f4be9d - Reviewed-on: http://gerrit.openafs.org/8167 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit fe32aec9d8a99db5d70440226ca4b61a78aac224 -Author: Chas Williams (CONTRACTOR) -Date: Mon Oct 1 10:08:36 2012 -0400 - - bos: convert struct bnode_type to use opr - - Convert struct bnode_type to use the common linked list code from opr. - - Change-Id: I21329aff81a91a79a1fcf525f4fdd3a22b33ec92 - Reviewed-on: http://gerrit.openafs.org/8166 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d3ed12ef497f2a98d07bbd442b866b9cdc7ceeb8 -Author: Chas Williams (CONTRACTOR) -Date: Mon Oct 1 09:59:09 2012 -0400 - - bos: split part of bnode.p.h into bnode_internal.h - - Move the bosserver specific parts of bnode.p.h into bnode_internal.h - so that inclusion of bnode.h doesn't expose bosserver's internals. - - Change-Id: Id58714507211331a57c36eb71c1c3937fff0dd2a - Reviewed-on: http://gerrit.openafs.org/8169 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 909639448ec803ee68f41dbacdd87eb516e0354a -Author: Derrick Brashear -Date: Mon Oct 1 16:09:09 2012 -0400 - - generated target updates - - tweak what's needed to build helper binaries for cross-compile - - Change-Id: Ib476716e1e32444f0b2aeb8cb8a1e91ab49471de - Reviewed-on: http://gerrit.openafs.org/8173 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 338014a231235fe25116b09c1e8978db2db1dbb3 -Author: Jeffrey Altman -Date: Mon Oct 1 12:03:49 2012 -0400 - - Windows: File Info Query Symlinks - - For Symlinks, always set the Reparse Point attribute and - set the Directory attribute if the target is a directory. - Do not return the file attributes of the target. - - Change-Id: I72dcde912c998e1ab3eea45426d019314e10e740 - Reviewed-on: http://gerrit.openafs.org/8171 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dd59f6f6114a436ae86b70cd0837e97eea18dde8 -Author: Jeffrey Altman -Date: Mon Oct 1 11:04:23 2012 -0400 - - Windows: Dir Enum behavior for Symlinks / MPs - - Comparisons of the behavior of cmd.exe, powershell.exe, and tcc.exe - with regards to directory enumeration show that when Symlink file - information is returned that the "reparse point" data should be - reported along with whether or not the target is a directory. - - For mount points, the reparse point file information should always - be returned and the type should always be directory. - - The target timestamps, file sizes, etc. should never be returned. - - Change-Id: I0f899229061a282d0d218155407ffc4ab62ad377 - Reviewed-on: http://gerrit.openafs.org/8170 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 22d68eec6de654bdc6a8d5b005b86320a46ac8f0 -Author: Jeffrey Altman -Date: Wed Sep 26 22:03:03 2012 -0400 - - Windows: Move afsredir process type check - - The process type check in afsredir.sys was performed during the - Process Creation callback which is processed in the context of the - parent process which might not be the same type (32-bit or 64-bit) - as the process being created. - - Change-Id: I6ae79a6dacf434a986c7bb0135b2238fcfeeb0cd - Reviewed-on: http://gerrit.openafs.org/8165 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 137ea396dbbcf302bce8200e3da7d4693b464ca7 -Author: Jeffrey Altman -Date: Tue Sep 25 13:01:53 2012 -0400 - - Windows: Fix memory leak SRXAFSCB_GetCellServ - - In commit 19f1e0f7cf40c3da1d49c789358bd814f7e3b3eb strdup() - was replaced by xdr_alloc() and memcpy(). Unfortunately, - the patch was wrong and the pointer to which the result of - xdr_alloc() was assigned was overwritten with zero. - - Change-Id: I0a9e6c03d67e2a1c811e84808fbbdd39f782ba87 - Reviewed-on: http://gerrit.openafs.org/8162 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ae8527269ca091d47a1232a0469921ba7c54f65b -Author: Jeffrey Altman -Date: Tue Sep 25 12:59:04 2012 -0400 - - Windows: duplicate ExtentsResource hold - - All callers to AFSDoExtentsMapRegion() hold the ExtentsResource - so there is no need to obtain it again within the function. Instead - add an ASSERT to confirm that the resource is held. - - Change-Id: Id34a3d650062d6e519a66732d248c136a92e4be3 - Reviewed-on: http://gerrit.openafs.org/8161 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5c348e5a9f276b45e2351e4c1adf2bafd4659484 -Author: Jeffrey Altman -Date: Tue Sep 25 14:32:06 2012 -0400 - - Windows: make static RDR_ParseIoctlPath[Parent] - - The RDR_ParseIoctlPath and RDR_ParseIoctlPathParent functions - are helper functions within RDRIoctl.cpp. Make them static - and remove them from the header. - - Change-Id: I5f3b68f87701e2d8423a01c236c7cb598c3ff743 - Reviewed-on: http://gerrit.openafs.org/8160 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1df112db3c06b6d16a027acbfe8739410630c66e -Author: Jeffrey Altman -Date: Tue Sep 25 14:31:11 2012 -0400 - - Windows: remove reqp param RDR_IoctlWrite/Read - - The RDR_IoctlWrite and RDR_IoctlRead functions no longer - use the cm_req_t parameter so remove it. - - Change-Id: I1c6f09da9e4a386f79dae1c15b0b2ccdce944d51 - Reviewed-on: http://gerrit.openafs.org/8159 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 63ded5bc452bf6cdd10db4d9e1befb9a71fad539 -Author: Jeffrey Altman -Date: Tue Sep 25 14:18:39 2012 -0400 - - Windows: add cm_req_t to RDR_ioctl_t - - The cm_req_t structure flags store information related to - the source of the request and whether the process is WOW64 or not. - This information is required for proper pioctl processing. Add - a cm_req_t structure to the RDR_ioctl_t structure and initialize - it in RDR_SetupIoctl() which is called from RDR_PioctlOpen(). - - Change-Id: I351101f036f63bbb1f0d7b19e9b092b18a3e070e - Reviewed-on: http://gerrit.openafs.org/8158 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ac97f8f5a6937398db7d1902ff6bab7adbc24f4a -Author: Jeffrey Altman -Date: Tue Sep 25 14:16:10 2012 -0400 - - Windows: Add bWow64 param to RDR_InitReq - - Instead of using the pattern - - RDR_InitReq(&req); - if (bWow64) - req.flags |= CM_REQ_WOW64; - - add bWow64 as a parameter to RDR_InitReq(). - - Change-Id: I2c02683ab857c6743b46e83dc3f9defa660263d0 - Reviewed-on: http://gerrit.openafs.org/8157 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c2e4112ffe44bc5c638a79f88eab0377ec992784 -Author: Jeffrey Altman -Date: Sun Sep 23 14:03:19 2012 -0400 - - Windows: cm_ExpandSysName for 64-bit processes - - on 64-bit Windows, only 32-bit processes have the WOW64 request - type flag set. Reverse the conditional to permit proper evaluation - of the 64-bit sysname list. - - Change-Id: I0bbad7b275b836ecaff73c69afdde08e17f310a7 - Reviewed-on: http://gerrit.openafs.org/8147 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 72f1f345ece09b1fbd113af17c9e8e25ec9dffa5 -Author: Andrew Deason -Date: Tue Sep 25 11:16:35 2012 -0500 - - RedHat: Avoid the DKMS escaping silliness - - Depending on the version of DKMS, the current MAKE[0] variable in the - dkms.conf needs different numbers of backslashes. Commit 81a9a33e - tried to address this by changing the contents of dkms.conf depending - on whether or not we were on Fedora. However, the change occurred in - DKMS 2.2, so if someone running RHEL tries to use a newer DKMS, this - will fail. - - So instead of trying to guess at the level of escaping we need, just - avoid needing to escape anything with backslashes. We can quote the - heredoc marker to avoid variable expansion inside the heredoc, we can - use a case statement instead of using backticks and local variables - and such, and we can use single quotes for the outer MAKE assignment. - With this, we should not need any backslashes when writing dkms.conf, - so we should work with any DKMS version. - - Change-Id: I5484826c37da13ee383e08bbfeb473aa993e245e - Reviewed-on: http://gerrit.openafs.org/8156 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 33ca19acbd0526014da6ac7beeb91f8aa9937676 -Author: Chas Williams (CONTRACTOR) -Date: Mon Sep 24 15:06:10 2012 -0400 - - afs: casting NULL is generally unnecessary - - Casting NULL shouldn't be necessary in most cases. Eliminate this - in favor of shorter lines and consistency. Function pointers, variadic - arguments should still be cast. - - Change-Id: Ibcd67378556e45c2b24f7aa85a4d73c72cd88e02 - Reviewed-on: http://gerrit.openafs.org/8151 - Reviewed-by: Garrett Wollman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cee87bde7c1099b526c6c14367f9351e028494c8 -Author: Marc Dionne -Date: Wed Sep 26 21:37:33 2012 -0400 - - viced: Remove unused gettimeofday calls - - StartTime and EndTime are set with gettimeofday(), but are not - used for any calcualtions or statistics, and appear to never have - been used. There are platforms where gettimeofday is expensive, - so remove the variables and the calls. - - Change-Id: I9ff8035377227cb07383ffea15b7e04f155e307f - Reviewed-on: http://gerrit.openafs.org/8164 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 100cec69fbbb911762a3424a37c8a53b299136ea -Author: Jason Edgecombe -Date: Sat Sep 22 21:07:51 2012 -0400 - - TESTS: Skip the volser tests if current hostname maps to the loopback network - - Change-Id: I35d16ba418d0ecd67ffbd54d564a515bf551fe8d - Reviewed-on: http://gerrit.openafs.org/8146 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a060159b95c0d29afaee1e8eac5827c7f8b40e47 -Author: Derrick Brashear -Date: Wed Sep 26 07:37:11 2012 -0400 - - auth: token jar handling should realloc correctly - - instead of reallocing n+1 tokens, we would realloc 1 token - plus N bytes - - Change-Id: Idb5a20b5b9becc9d48cb645bbc0bd26459220ccd - Reviewed-on: http://gerrit.openafs.org/8163 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 5538633c9fc5677f2b9e0974b54153c9ccabab55 -Author: Chas Williams (CONTRACTOR) -Date: Wed Mar 21 20:59:19 2012 -0400 - - afsio: add -clear and -crypt option - - Allow the user to optionally not use encryption (and also allow - user to ensure that encryption is being used). - - Change-Id: I3ad590e21f5139654b22c8284ea2634ce902a1b5 - Reviewed-on: http://gerrit.openafs.org/8138 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 54e413387391f643008b70b05dadb9545e3bc900 -Author: Jason Edgecombe -Date: Sun Sep 16 21:01:04 2012 -0400 - - DOXYGEN: Move the protocol and architecture docs into their own modules - - Change-Id: I1021d99c2479f9157e5c5b1fef10e5d975b35f86 - Reviewed-on: http://gerrit.openafs.org/8130 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 10dbf19378b3d3f38b1be9387c7e9943ef219d19 -Author: Jason Edgecombe -Date: Sun Sep 16 21:00:40 2012 -0400 - - DOXYGEN: Add a simple index page - - Change-Id: I26dde9ae732841f04799f7b6ff79a994c450400b - Reviewed-on: http://gerrit.openafs.org/8129 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d52398940d58ccdba4114a9975762f48cc24ad15 -Author: Marc Dionne -Date: Mon Sep 24 20:47:00 2012 -0400 - - Windows: Export a few more functions to afsauthent and afsrpc - - The following exports are added: - - libafsauthent: - afsconf_SetExtendedCellInfo - afsconf_PickClientSecObj - afsconf_SawCell - ka_PrintBytes - ka_KeyIsZero - - libafsrpc: - initialize_RXK_error_table - - Those functions are referenced by the bos code. - - Change-Id: I26898070c8e9dc7cac53f13c49dadf28d58457f4 - Reviewed-on: http://gerrit.openafs.org/8154 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 70c4369e893d6770f0f7b243c3e840c32b5a2a2b -Author: Jason Edgecombe -Date: Fri Sep 21 23:14:37 2012 -0400 - - TESTS: Add a library to check for the default loopback network - - Change-Id: Id7bb92345e97309363fa5ddbff9147edf30ccd96 - Reviewed-on: http://gerrit.openafs.org/8145 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 58c089e642198a210462b3bf508056b56667f879 -Author: Marc Dionne -Date: Fri Sep 21 20:08:58 2012 -0400 - - bozo: fix typo in help text - - Fix a typo for "interface" in the help text for bosserver. - - Change-Id: I042fc52e46f50dd00be9fc9bf62525a0f2755dda - Reviewed-on: http://gerrit.openafs.org/8144 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: Jason Edgecombe - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Reviewed-by: Michael Meffie - -commit 94115df4352b872ae096977d9a77fad935864688 -Author: Andrew Deason -Date: Mon Sep 24 11:31:29 2012 -0500 - - LINUX: Avoid 'wakeup' define - - Make 'wakeup' a static inline function instead of redefining 'wakeup', - so we can use the keyword 'wakeup' elsewhere. - - Specifically, 'wakeup' is used in some Linux kernel structures, so - redefining it can confuse some things. - - Change-Id: I462903099426b4d2e940e749dd958e03a04f7eb1 - Reviewed-on: http://gerrit.openafs.org/8149 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 179096d9b2c461f02236bbf670b46597ff2d4c3c -Author: Andrew Deason -Date: Mon Sep 24 13:03:34 2012 -0500 - - LINUX: Define printf/uprintf as variadic macros - - Instead of defining the string 'printf' itself, make printf (and - uprintf) variadic macros. This avoids renaming printf to printk for - things like '__attribute__((format(printf,X,Y)))'. - - Note that this is Linux-specific; compilers on other platforms may not - support variadic macros. - - This avoids many warnings in the Linux kernel module build if we - include Linux headers after AFS headers. - - Change-Id: I2b8ed67f25e93f559535e40680ecab6fe7579e9c - Reviewed-on: http://gerrit.openafs.org/8150 - Reviewed-by: Derrick Brashear - Reviewed-by: Marc Dionne - Tested-by: BuildBot - -commit 1046bf7904dd323e1cd1c1788870052c315ec2a3 -Author: Andrew Deason -Date: Thu Aug 30 17:10:36 2012 -0500 - - rx: More afspag-specific objects - - For Linux, each object in the kernel module needs to be in only one - module for KBUILD_MODNAME. For AFS_RXERRQ_ENV, we pull in some - additional headers that require KBUILD_MODNAME in rx. So, just add a - few more afspag-specific rx objects. - - Change-Id: I80b4a8648141856dffce6e26d5c034dffd8dd5cf - Reviewed-on: http://gerrit.openafs.org/8113 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: Andrew Deason - -commit 0e68488ec1a8420511095b389a7d820b9e115f11 -Author: Andrew Deason -Date: Thu Aug 30 16:36:48 2012 -0500 - - rx: Do not include linux/module.h - - This isn't available in userspace; we don't need it, so just don't - include it at all. - - This was introduced in 9cd98379. I had thought it fixed a build - failure, but I believe now I just made a mistake during build. - - Change-Id: If97d8e3204b27acd053ec021ddd8cd1527dad3c5 - Reviewed-on: http://gerrit.openafs.org/8112 - Reviewed-by: Derrick Brashear - Tested-by: Andrew Deason - Tested-by: Derrick Brashear - -commit 347908cd0031c558c266ec412aa49200ae2b3204 -Author: Andrew Deason -Date: Tue Sep 11 18:46:42 2012 -0500 - - rx: Save errno in LWP rxi_Sendmsg - - Much of this code examines errno or WSAGetLastError to determine what - to do. However, some other operations between the actual sendmsg call - and code that examines errno may modify errno. So, save the value of - errno to ensure errno reflects the actual error we got from sendmsg; - this also slightly simplifies some of the logic. - - Change-Id: I5a8643fce5d2e29131069743b14805bbc2428805 - Reviewed-on: http://gerrit.openafs.org/8110 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 27ee85123284b77004c757fec7cd6c9af3078e05 -Author: Andrew Deason -Date: Tue Sep 11 12:56:22 2012 -0500 - - rx: Split out rxi_NetSendError - - This logic is duplicated in a couple of places. Just extract it into - its own little function for easier modification. - - Change-Id: Iebcc460698beaee6f1cee4b4fb633b9a10e37213 - Reviewed-on: http://gerrit.openafs.org/8109 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a7278eb5620507cd70086582cf539b4024b46194 -Author: Andrew Deason -Date: Mon Sep 24 14:20:07 2012 -0500 - - doc: Fix Solaris 11 kernel module path - - For Solaris 11, the module goes in drv, not fs. - - Change-Id: Ib297239b845977eaf7e4cdb3edaba32db6733e12 - Reviewed-on: http://gerrit.openafs.org/8152 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit 5ef5cf48f3d2ba52cf5ed428728215b5b5f8d0b2 -Author: Michael Meffie -Date: Fri Sep 21 15:58:29 2012 -0400 - - doc: solaris x86 kernel module path - - Add instructions for solaris x86 kernel module installation. - - Change-Id: Ib6756f609c21867f964a4ab03af322ee4eb1526d - Reviewed-on: http://gerrit.openafs.org/8143 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit fe72b581d7c0a5285f109109ae7ed703f1d62b6f -Author: Chas Williams (CONTRACTOR) -Date: Sun Sep 23 19:02:19 2012 -0400 - - doc: fix kindle builds of documentation - - Use kindlegen located by the configure stage and test for - kindlegen and dbtoepub before building in all cases. - - Change-Id: Ieb46023ddf0725a2c93f96e29f942b71343d53dd - Reviewed-on: http://gerrit.openafs.org/8148 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Ken Dreyer - -commit 4f42ff3c31a16c8aea8bb76227856615e0b3ccfb -Author: Andrew Deason -Date: Fri Aug 31 14:51:45 2012 -0500 - - Pretty make output for tsalvaged, lib[u]afs - - Change-Id: I852f862c029cad60dc7871ab22367fb266314244 - Reviewed-on: http://gerrit.openafs.org/8108 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 112348b4a5721a2c0585669160b7ec7d1689eb30 -Author: Andrew Deason -Date: Thu Aug 2 15:02:09 2012 -0400 - - doc: Add quotes to bos create in DAFS QSG section - - In appendix C in the QSG, we give an example 'bos create'. The given - -cmd arguments should have quotes, or they will be interpreted as - individual arguments to 'bos create'. - - Change-Id: Ie8b0a69908b3419af303716acce51e8d1e97837b - Reviewed-on: http://gerrit.openafs.org/7930 - Tested-by: BuildBot - Reviewed-by: Ken Dreyer - -commit aea3c71e59ec30e84ca4e7383fd3b566ce94bbb6 -Author: Rainer Toebbicke -Date: Wed Sep 19 12:13:15 2012 -0400 - - butc: clean xbsa shutdown on control C - - when we catch a control-c, do a clean shutdown - - Change-Id: I8da28c28d0a238d3642f65c381c399a883d6d4b1 - Reviewed-on: http://gerrit.openafs.org/8141 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba9cc212d782678cb32167b498efa82718b60b7f -Author: Marc Dionne -Date: Tue Sep 18 20:29:06 2012 -0400 - - quiet build: Define NOQ version of LT_LDLIB_lwp - - When the command is invoked within a case statement, we need the - "NOQ" version of RUN_LD. Add the LT_LDLIB_lwp_NOQ variant and use - it under src/sys where LT_LDLIB_lwp causes a build error. - - Change-Id: I5af9c6cbbe9c3cf284d8e9aabb63d53bf5b056ea - Reviewed-on: http://gerrit.openafs.org/8140 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 71a5f2965d6a6ff3113e7d2f9cab7d687b502793 -Author: Derrick Brashear -Date: Tue Sep 18 14:46:37 2012 -0400 - - libuafs: enable 64 bit mode on linux - - already safe and being used on other platforms; might as well - here too. - - Change-Id: I1fe4c2459caaea873e5618d0b097a142dd935791 - Reviewed-on: http://gerrit.openafs.org/8139 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 16bd729a06f6f30b0d1a3eba925a0371569c5508 -Author: Derrick Brashear -Date: Tue Sep 18 11:41:55 2012 -0400 - - libuafs: honor debug vs optimize setting from configure - - OPTF should not be forced on if the user specified debugging. - side effect: use the OPTMZ setting for the platform instead - of hardcoding here. - - Change-Id: Ib1cd4afebbd037938e2ee18e3bfc347b3690277b - Reviewed-on: http://gerrit.openafs.org/8136 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 43db9a73a2b34217b35c9d499bf685895a9e1390 -Author: Derrick Brashear -Date: Mon Sep 17 23:26:12 2012 -0400 - - afsd: roken.h includes dirent.h; get valid dirent defines on osx - - our workaround for #define KERNEL didn't work on OSX because - roken.h included dirent.h before we got the chance. cope with - it. - - Change-Id: I5e580aa934cec4e99d62ba105873f71b11326e2f - Reviewed-on: http://gerrit.openafs.org/8132 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 7b4d0cde3fcfb0a098b3108843dfbdefd555aa17 -Author: Chas Williams (CONTRACTOR) -Date: Mon Sep 17 15:00:06 2012 -0400 - - libuafs: use the pic version of opr for perluafs - - perluafs is a shared library, therefore we need to use the PIC version - of the opr library (just like any of the other libraries that have two - flavors and get linked with perluafs). - - Change-Id: I597f4f40010524d94341d343d3f54648a139f760 - Reviewed-on: http://gerrit.openafs.org/8131 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit b52d0b50ff4a8026eb4043898d8f070f960e511d -Author: Marc Dionne -Date: Sat Sep 15 16:02:26 2012 -0400 - - make install fixes for libraries - - Don't install several libraries that have dependencies that are - not currently installed, but install static libraries. - - Fix rule for libafsauthent_pic.a to get the library from .libs - - Change-Id: I746b111edf8a6d94ad98fcf235e34b4dac1eb050 - Reviewed-on: http://gerrit.openafs.org/8123 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d2674bf1fd3b2bcd0111f3b60029ca3529e7d8a5 -Author: Marc Dionne -Date: Sat Sep 15 13:53:06 2012 -0400 - - rxkad: silence unused variable warnings in v5gen.c - - Sprinkle AFS_UNUSED attributes where the compiler complains - about unused variables. - - Note that this file is assembled from code generated by the heimdal - source. A similar fix exists in the generator code upstream, so - when the file is re-generated in the future it should not be - necessary to re-apply this. - - Change-Id: I2ef407428d90157050481d5630f6f22510d65ca3 - Reviewed-on: http://gerrit.openafs.org/8122 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit dca06bd10493eaea7565c42417bd0dbd0dc03b82 -Author: Simon Wilkinson -Date: Sun Sep 16 19:54:48 2012 +0100 - - tests: Convert opr tests to use libtool - - Avoid the problems with libopr's dependencies by just converting - the tests to use the libtool version of the opr library. While we're - at it, make the tests pthreaded too. - - Change-Id: I4e570b288ea57c758c848be1d545e5ee59771ab9 - Reviewed-on: http://gerrit.openafs.org/8127 - Reviewed-by: Jason Edgecombe - Tested-by: Jason Edgecombe - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 88fc3c6f4257561d30234651fc5ec46ea62b020f -Author: Simon Wilkinson -Date: Sun Sep 16 15:39:25 2012 +0100 - - Split up libtool support into LWP and pthread - - Currently, the type of library you build is determined by whether - the library is build in a pthread, or an lwp build directory. However, - this prevents building an LWP library in a directory that builds - pthreaded clients and servers. - - As we want to continue to provide LWP libraries for backwards - compatibility, but move over to pthreaded binaries, this causes - some issues. - - So, split up the libtool logic, so we have Makefile.libtool, which - you include if you want to build a pthreaded libtool library, and - Makefile.lwptool, for building a library which supports LWP and - pthreaded use. These only affect how .lo files are built - so the - .o files used for non-library objects are managed with the - Makefile.pthread and Makefile.lwp includes as before. - - Change-Id: Ib1af48342253230abab9056eb15a3f79bd77a6de - Reviewed-on: http://gerrit.openafs.org/8126 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 519f2b96c7ea84e7d78c558c6602960035e4c508 -Author: Simon Wilkinson -Date: Sun Sep 16 17:48:08 2012 +0100 - - tests: Fix volser Makefile - - The volser Makefile had a bad path for liboafs_util, and was still - directly pulling in some objects from the fileserver build. Fix it - so that it uses proper libraries. - - Change-Id: Ic36c6a0f93c299bd04d48fa4238c4da5cbc571d4 - Reviewed-on: http://gerrit.openafs.org/8125 - Tested-by: BuildBot - Reviewed-by: Jason Edgecombe - Tested-by: Jason Edgecombe - Reviewed-by: Derrick Brashear - -commit f1b88f0713e49ed89a230364be9f12b62f2fe46b -Author: Marc Dionne -Date: Fri Sep 14 19:23:55 2012 -0400 - - libafsauthent: fix parallel build - - Same logic as ee18ccbe - we have to avoid building libafsauthent.la - and libafsauthent_pic.la at the same time. Add a dependency to - force make to build them in sequence. - - Change-Id: I4b341d7688a249e0067c3917909259c813f26717 - Reviewed-on: http://gerrit.openafs.org/8121 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c4c51444ebd35fe0ceccde23512707ae693210ee -Author: Ben Kaduk -Date: Thu Sep 13 17:28:17 2012 -0400 - - FreeBSD major version numbers are multi-character - - Do not assume that there is only a single character before the dot. - - Change-Id: I45169a6faa5dbeafc4f9c57deaaad96bef8de613 - Reviewed-on: http://gerrit.openafs.org/8106 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 23c23592f422ec7696f92a1c7a056c408b23692b -Author: Simon Wilkinson -Date: Fri Sep 14 11:42:56 2012 +0100 - - opr: Libtool archive should depend on symbol file - - There should be a dependency between the libtool archive - liboafs_opr.la and the symbol map for the archive - (liboafs_opr.la.sym) so the archive is rebuilt if symbols are added - to, or removed from, the map file. - - Change-Id: Ifb0cd0a8abaa4c9b476c53cf186458ec0b8f8778 - Reviewed-on: http://gerrit.openafs.org/8107 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f11cd3725a6a50d6e4f7b899a1fd7b7e0cc160ab -Author: Simon Wilkinson -Date: Wed Sep 12 10:59:16 2012 +0100 - - afsd: Add missing variable for Solaris - - The Solaris 11 syscall code was missing a definition for the - 'error' variable - - Change-Id: Ia9a678435203994e1791824954d8c28c3cdefe17 - Reviewed-on: http://gerrit.openafs.org/8103 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ba043e11022e87fae3fd04fd55c223aae788463b -Author: Simon Wilkinson -Date: Wed Sep 12 10:20:43 2012 +0100 - - libafs*: Don't re-export opr/util functions - - On Solaris, a library can't re-export functions which come from one - of its dependencies - so libafsrpc can't easily republish the 5 opr - functions that are currently in the libafsrpc map file. - Including the bits of the opr library that define these functions - causes problems with then linking libafsrpc against libopr, which - we do in a number of places. - - libafsauthent has exactly the same problem, with a few symbols that - it pulls in from util. - - The affected symbols were all added relatively recently, and have - limited uses outside of the OpenAFS tree, so just remove them from - the export list so we are one step closer to building on Solaris - again. - - Change-Id: If0a1105320e416ebc013ff670dddd5d247b06f6b - Reviewed-on: http://gerrit.openafs.org/8102 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b22b1ed356d885db04c0233bc82279ef6c8f40de -Author: Simon Wilkinson -Date: Fri Aug 31 12:18:21 2012 +0100 - - Stop using libafsauthent - - Change-Id: Ieead3704e3210a1d88500ad1efa15bd2cad93bf6 - Reviewed-on: http://gerrit.openafs.org/8098 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3c3d209a4f2a3efbd9fa1d3cd59e735a45a2d690 -Author: Simon Wilkinson -Date: Fri Aug 31 11:13:06 2012 +0100 - - libafsauthent: Build with libtool - - Construct the libafsauthent library with libtool. All libraries - contributing to libafsauthent provide a libauthent_.la - convenience library, which we use libtool to combine into shared - and static versions of libafsauthent. - - Change-Id: I76fa61eb027862eab730c4c86ab74a7b7e03c13b - Reviewed-on: http://gerrit.openafs.org/8097 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit acfa4865d9fbeb43dc36a84784d5efa8d05007c7 -Author: Simon Wilkinson -Date: Wed Sep 12 06:53:24 2012 +0100 - - opr: Add hcrypto to the library list - - uuid needs hc_RAND_bytes, which means that liboafs_opr has a dependency - on hcrypto (and, until hcrypto is libtooled, on libroken as well). Make - this dependency explicit. - - Change-Id: I748a43f7a2125c12b566502580e149ad1d9c1164 - Reviewed-on: http://gerrit.openafs.org/8101 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 630072828230bbe5bcf5ce608b5d25f2c4ba6f77 -Author: Simon Wilkinson -Date: Wed Sep 12 06:51:08 2012 +0100 - - ptserver: Fix parallel builds - - It's not safe to have libtool building a blah.lo at the same time as - gcc is building blah.o. A Makefile must exclusively use either the .lo - or the .o form. - - Fix ptserver so that ptint.xdr.lo is the only one referenced, and just - explicitly pull in the LWP object for the ptserver. - - Change-Id: I2e868d2d318c84e20bcccc0ffc462c87e4b7a2f2 - Reviewed-on: http://gerrit.openafs.org/8100 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e52183033fdc83f927383ff432c9bd7e024051ba -Author: Simon Wilkinson -Date: Thu Aug 30 12:41:04 2012 +0100 - - kauth: Use libtool - - Modify the kauth directory so that we use libtool to build its library. - Unlike most of our other directories, kauth has few pthreaded consumers - within the tree, so the libtool library itself is currently unused. The - libtool conversion is done as a stepping point for libafsauthent, which - does include kauth objects. - - At the same time, we take the opportunity to modify kaserver so that it - uses libkauth, rather than referencing the library objects directly - - Change-Id: I9d261686753b30c415f767603d44c7ce6e10eed1 - Reviewed-on: http://gerrit.openafs.org/8095 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1e53d5dae07635c4ceb425b394a648363c41c229 -Author: Simon Wilkinson -Date: Tue Aug 28 20:10:04 2012 +0100 - - volser: Use libtool - - Change-Id: Ic70476aa7258d12aafa7b06ae380012f040c65b6 - Reviewed-on: http://gerrit.openafs.org/8094 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9ed998275cae289be7403717d9c6181c42196164 -Author: Simon Wilkinson -Date: Tue Aug 28 08:18:45 2012 +0100 - - vlserver: Use libtool - - Change-Id: I030ec62db64b6dab856d520e68d5d727cd7b8bb3 - Reviewed-on: http://gerrit.openafs.org/8093 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 47e7ecf8578422644186a07976dda40e45f27287 -Author: Simon Wilkinson -Date: Thu Aug 23 22:58:20 2012 +0100 - - acl: Use libtool - - Change-Id: I589fc4d9b12bb23a34ef9145cd699e9ea2c4f496 - Reviewed-on: http://gerrit.openafs.org/8092 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1e7de65899e3ae30b21b804606f2876fe748d8b8 -Author: Simon Wilkinson -Date: Thu Aug 23 22:18:49 2012 +0100 - - ptserver: Use libtool to build a pthreaded libprot - - Use libtool to build a pthreaded version of libprot in src/ptserver. - Make the tptserver directory just build pthreaded versions of the - client and server, and link these against libprot - - Change-Id: Idc43de8c548f38584e78b35f9f1ecba3eb4b74d2 - Reviewed-on: http://gerrit.openafs.org/8091 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 035a2ea4a1a26141508cf3fa5918d40b7be6fc90 -Author: Simon Wilkinson -Date: Thu Aug 23 21:35:35 2012 +0100 - - ubik: Use libtool - - Use libtool to build LWP and pthreaded versions of the ubik library. - Both versions are built in the src/ubik directory. src/tubik is modified - to only build pthreaded versions of the ubik test commands. - - Replace use of libubik_pthread.a with the libtool generated library. - - Change-Id: Id441fe00dbe801e38a108600bfbe06c292383872 - Reviewed-on: http://gerrit.openafs.org/8090 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ee18ccbeeb54b76fcc3fc5952da58d1a505eef23 -Author: Marc Dionne -Date: Mon Sep 10 20:49:19 2012 -0400 - - libafsrpc: avoid concurrent libtool - - libtool gets confused if it is running two instances in the same - directory, so make sure we build libafsrpc.la and libafsrpc_pic.la - one after the other. - - Change-Id: Idfd16b1f4e1efe07822a300df798bf05e2df6bcd - Reviewed-on: http://gerrit.openafs.org/8086 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d72df5a18e0bb8bbcbf23df3e8591072f0cdb770 -Author: Michael Meffie -Date: Tue Sep 11 08:59:13 2012 -0400 - - cmd: exit status zero from -help - - Return of an exit status of zero when running commands with -help, - instead of returning an error. By general convention, and in - previous versions, tools do not not treat -help as an error. - - The AFS::Command perl modules, use -help as an introspection - technique, and fail when commands run with the -help option returns - non-zero. - - Change-Id: I6ecd95f6ccd07218a2657dbb4dbf1c13599159f4 - Reviewed-on: http://gerrit.openafs.org/8087 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - -commit 1015a097bffef8b2d56050210d47a31ad32f5858 -Author: Simon Wilkinson -Date: Thu Aug 23 20:48:21 2012 +0100 - - auth: Use libtool - - Use libtool to build a pthreaded version of the auth library - - Change-Id: I452773e7fa159c278f5a7a7d21e77b6dd44c14bd - Reviewed-on: http://gerrit.openafs.org/8089 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9c66a1a8f38736063fbf30e55ad46acfba36d540 -Author: Simon Wilkinson -Date: Wed Aug 22 12:59:30 2012 +0100 - - audit: Use libtool - - Convert audit into a libtool library - - Change-Id: Ie95539596deb2cda2959f5c5ab822d291c08acc0 - Reviewed-on: http://gerrit.openafs.org/8088 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 95f2b8f92814bf66a1dfea9bd449f030e2300f3e -Author: Simon Wilkinson -Date: Wed Aug 22 13:13:15 2012 +0100 - - Stop using libafsrpc - - Instead of using libafsrpc.a in the pthreaded server directories, - use the libtool library variants instead. - - Change-Id: I4cdbaf5a060b3e5aa82fb0d79535cb4fdc850bcf - Reviewed-on: http://gerrit.openafs.org/8074 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8662592caedbcf8e065312fe142731faabe1eb77 -Author: Ken Dreyer -Date: Mon Sep 10 11:20:26 2012 -0600 - - add a simple backport policy to README.GIT - - This will clarify where patches should go, and who can do backports. - - Change-Id: Ie3efa6522382ea0cabc5847dbc1d75d59b04a403 - Reviewed-on: http://gerrit.openafs.org/8075 - Reviewed-by: Andrew Deason - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 4505af800206c0857245c8192710a00bdf08e51c -Author: Derrick Brashear -Date: Mon Sep 10 14:43:08 2012 -0400 - - aix: add atomic support - - aix has an atomic facility. add support for it. - - Change-Id: Iaf1305fbafe1c0d7f0d22f14babfbea382c0b32d - Reviewed-on: http://gerrit.openafs.org/8076 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 320f74653c24f334a28463f971fdf2064cc701ae -Author: Simon Wilkinson -Date: Wed Aug 22 09:46:24 2012 +0100 - - libafsrpc: Assemble with libtool - - Use libtool to assemble the libafsrpc shared and static libraries - from objects built with libtool in each of the directories that - contribute to the library (fsint, rx, rxkad, comerr, util, rxstat, - sys and lwp). - - Each source directory controls which objects are built into the shared - library by making a libafsrpc_ libtool convenience directory. These - convenience directories are then merged together to produce the - libafsrpc library. - - Change-Id: I330aeb8df4c237b408a298826363eea7357339ce - Reviewed-on: http://gerrit.openafs.org/8072 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 123c2ac285fb5a4968fbf4ab3a2565022d72d02a -Author: Derrick Brashear -Date: Sun Sep 9 21:42:09 2012 -0400 - - opr: build and install pic library correctly - - previously we installed the same library as both the normal and pic variants. - tweak to build a pic version also. - - Change-Id: I6b197d43184a9aa23aa65de663f8f5f08d486912 - Reviewed-on: http://gerrit.openafs.org/8073 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9220bd4adc6cf58b29fcdae053edd3b6f0165891 -Author: Simon Wilkinson -Date: Wed Aug 22 12:45:43 2012 +0100 - - Don't explicitly build and link rx_pthread.o - - A number of pthreaded directories explicitly build, and link, with - rx_pthread.o, in order to be able to send RX 'dpf' debugging messages - to the server log, rather than to stderr. - - However, this direct linking causes build failures on some platforms, - because we end up linking in a version of rx_pthread.o, twice and both - versions contain identical linker symbols. - - As this functionality is only used for debugging, just get rid of the - additional object. - - Change-Id: I6126891db2dcbc289f6a9f7b99c01d6af7a19089 - Reviewed-on: http://gerrit.openafs.org/8071 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit c9e89088afc5989031e54cbd15e050bc92518433 -Author: Simon Wilkinson -Date: Wed Aug 22 09:39:59 2012 +0100 - - fsint: Move to using libtool - - Move the fsint directory over to building a libtool library - (liboafs_fsint). Because libtool requires that libraries have no - unresolved dependencies, we cannot include the server side stubs in - the libtool library. - - Change-Id: Ia3f009680ac510f522b806366985e557cd6e4219 - Reviewed-on: http://gerrit.openafs.org/8070 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3f63d48dab4c46389fde6920189960c1f44494a2 -Author: Simon Wilkinson -Date: Thu May 24 22:08:45 2012 +0100 - - lwp: Build a pthreaded compat library with libtool - - The majority of the LWP directory isn't used by pthreaded applications. - However, there are three files - fasttime.c, lock.c and waitkey.c which - are used within pthreaded code. - - Eventually, these should live somewhere other than the LWP directory. - For now, just build a small pthreaded library to hold them, so we - can finish up with the libtool work before considering how to move - this code elsewhere. - - Change-Id: I66281f7cd838c048fd982bbd0f756a16a10862d1 - Reviewed-on: http://gerrit.openafs.org/8069 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f29887631da6567b952c89c7cf0379f910863559 -Author: Simon Wilkinson -Date: Thu May 24 21:57:55 2012 +0100 - - rxstat: Use libtool - - Change-Id: I4fd533691cf191b37c1f80038651b45efd142133 - Reviewed-on: http://gerrit.openafs.org/8068 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 972c45c0833171bb401ffe6d10719f050cc0cf4b -Author: Simon Wilkinson -Date: Thu May 24 11:55:26 2012 +0100 - - rxkad: Add a libtool library - - Add liboafs_rkxad.la, a libtool version of librxkad.a - - Change-Id: I414dada02d202d8bdba4234f92d445b560dbb297 - Reviewed-on: http://gerrit.openafs.org/8065 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9953a23699044e9e8e5b70e83058578ba862a7cb -Author: Simon Wilkinson -Date: Sun Sep 9 10:19:53 2012 +0100 - - rxkad: Use rxi_Alloc not osi_Alloc - - rx exposes the rxi_Alloc function to be used for memory allocation - in security classes, not osi_Alloc which is private. Using rxi_Alloc - means that allocations are counted in the general rx statistics. - - Modify rxkad so that it uses rxi_Alloc. This also restores symmetry - in the allocator - the memory that's allocated by rxkad_server is - already freed using rxi_Free in rxkad_DestroyConnection - - Change-Id: I3321355f2470974d3570dd911f06ea91c21d1c9d - Reviewed-on: http://gerrit.openafs.org/8067 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4fc7850a0c618443e3eb636ac5fe2f0e3202451b -Author: Marc Dionne -Date: Sat Sep 8 15:43:17 2012 -0400 - - comerr, cmd, opr: fix library install targets - - Fix a couple of issues in the install targets following the libtool - changes: - - don't install liboafs_comerr or liboafs_opr, they're not ready to - be exposed to the outside world - - fix the libcmd.a install target to use INSTALL_DATA and the correct - library name - - Change-Id: I2bf241cfff419d51bf170fdc871248e9b0c7ab33 - Reviewed-on: http://gerrit.openafs.org/8063 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 22ee485b5d3f7d70e8326967be9b705352338c3a -Author: Simon Wilkinson -Date: Thu May 24 11:26:51 2012 +0100 - - Sys doesn't depend on auth - - Nothing in sys depends on auth headers, so remove the dependency - - Change-Id: Ic7d9b8e66c03f87d2de95166865d39feab8717af - Reviewed-on: http://gerrit.openafs.org/8064 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5563ff6674ddac87265d800878774532f6fa0dae -Author: Simon Wilkinson -Date: Thu May 24 11:24:47 2012 +0100 - - sys: Use libtool for pthreaded library - - Create a pthreaded version of libsys.a, called liboafs_sys.a - - On AIX, the sys library is special because it includes references to - two syscall stubs - lpioctl and lsetpag. This means that we can't link - the library with -no-undefined, as the references to these stubs are - only resolved at run time. - - Change-Id: Iaae5923fe4eec7bc3f006e29df4e26e4ba8e5418 - Reviewed-on: http://gerrit.openafs.org/8061 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 564fe1e32989211312ccec56c8a8407e2cceea51 -Author: Simon Wilkinson -Date: Thu May 24 11:08:48 2012 +0100 - - rx: Build libtool library - - Build a pthreaded, libtool, version of librx.a called liboafs_rx.la. - librx.a remains for LWP applications to use. With this change, all RX - objects are built in both the LWP and pthread cases, so some #ifdef - guards are required to protect code that isn't relevant in a given - build. - - Currently, all of our pthreaded objects use libafsrpc to get RX - functionality, so this change is fairly minimal outside of the RX - directory. - - Change-Id: I8e629e2319fb1964058e70c3c0c3ed548b09b22d - Reviewed-on: http://gerrit.openafs.org/8058 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bdfe025b646036788095e39159e0566bb32007fa -Author: Simon Wilkinson -Date: Thu May 24 10:26:21 2012 +0100 - - usd: Convert to using libtool - - Turn the libusd library into a libtool object (it has no pthread/LWP - differences, and so can just become a pthreaded library), and include - it as such in butc and the volser. liboafs_usd.la is the libtool - object, libusd.a is preserved as a static object for backwards - compatibility. - - Change-Id: I25c3d0f429415527fe529c3d3e5afbad9490ea45 - Reviewed-on: http://gerrit.openafs.org/8057 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 012b878576a1e7632622041d656e3aada51550d9 -Author: Simon Wilkinson -Date: Thu May 24 09:14:18 2012 +0100 - - util: Convert to using libtool - - Create a pthreaded version of libafsutil, named liboafs_util.la, - and use this library in all of the pthreaded binaries that we build, - replacing both inclusion of libafsutil.a, and direct compliation of - pthreaded versions of the util source files. - - libafsutil.a is provided for legacy LWP applications, and the - convenience library libafsutil_pic.a remains until we address the way - in which the user space cache manager is built and linked. - - Change-Id: Ibdc3d6e2fe56ca6f5b882cf03991d1a2e32c62b2 - Reviewed-on: http://gerrit.openafs.org/8056 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 772e957b7196a214bcb39f06e9c864c6e5a02ac5 -Author: Derrick Brashear -Date: Fri Sep 7 16:47:43 2012 -0400 - - uuid: hashes are positive ints - - switch to unsigned - - Change-Id: I2a2dbde211d1de2c73bcf5fd0c9ef1704d0e0000 - Reviewed-on: http://gerrit.openafs.org/8060 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d36be5b8be5ac248b88224606c09257efab0718e -Author: Simon Wilkinson -Date: Wed May 23 21:43:57 2012 +0100 - - cmd: Convert to using libtool - - Convert the libcmd and libcmd_pic libaries to being built using - libtool. Historically, these have been built as LWP code, but they - have no LWP dependencies, and no LWP-specific code within them. So, - make cmd a pthread-only library. - - In addition to the libtool library liboafs_cmd.la, we build the - legacy libcmd.a and libcmd_pic.a as convenience libraries. libcmd64.a - (a 64bit variant, used solely by kdump), remains built through - "normal" means. - - Update pthreaded users of libcmd to use the new liboafs_cmd.la. For - now, non-pthreaded users are left alone. - - Change-Id: Id8445949754d1942f6e8752ae182b4e6f86fe94f - Reviewed-on: http://gerrit.openafs.org/8055 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 11e0ce535d094579c58247bd6274e058fb7cd71c -Author: Simon Wilkinson -Date: Fri Sep 7 13:51:29 2012 +0100 - - comerr: Fix a couple of libtool problems - - The comerr libtool patch was submitted before buildbot had a chance - to verify it. Fix a couple of problems that buildbot identified: - - *) On AIX liboafs_comerr needs to link against roken - *) On OpenSuSe the LWP CC command has a space in it, so needs to - be quoted before being passed in to lwptool - - Change-Id: I885099f57ef670ed58d532162b1cb70316744b28 - Reviewed-on: http://gerrit.openafs.org/8059 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d6d2f2845072e75cdf1e21bd5d28aba70610bce7 -Author: Simon Wilkinson -Date: Tue May 22 08:37:08 2012 +0100 - - comerr: Convert to using libtool - - Convert the libafs_comerr library so that it uses libtool. - - comerr uses a pthread lock to protect the error tables, so it needs - to be built as both an LWP, and a pthread library (previously, we've - just built it as LWP, which is probably broken on some platforms, as - it won't define -D_REENTRANT) - - libafscom_err.a remains as the LWP variant, and all pthreaded code is - modified to use the libtool liboafs_comerr.la library. - - Change-Id: Id421cc97ad8681b42af7a5eb3cb512e1e1ce9a90 - Reviewed-on: http://gerrit.openafs.org/8054 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 61d417c1a3770f2a53ef883f9ec2ed077184ab1d -Author: Simon Wilkinson -Date: Fri Sep 7 11:43:21 2012 +0100 - - lwp: Fix stupid mistake in lock.h - - My earlier change to lock.h got the sense of the opr_Verify test wrong, - so we would assert() whenever the lock call succeeded. Fix this, so - things work again. - - Change-Id: I7e2fda473343c7b541d6ca120ef0977adcf35f62 - Reviewed-on: http://gerrit.openafs.org/8053 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fe2641e35b9cf540132fdba828bdc097392a899e -Author: Derrick Brashear -Date: Thu Sep 6 14:27:13 2012 -0400 - - tests: deal with one more unsigned warning - - C90 wants this unsigned hint before it will dtrt - - Change-Id: Ic60b0336df7e8c4373582ffa352f4042ebc021c1 - Reviewed-on: http://gerrit.openafs.org/8050 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f230eda87f33c31a3f69fc6c83cf2e77bbecaed2 -Author: Derrick Brashear -Date: Thu Sep 6 14:28:04 2012 -0400 - - rx: initialize mutexes from globals - - in order to work around stupidity from macos linker. - - same fix as was needed in 0559a23d38f98280e2eb1c1e2fc91ae7a1798537 - - Change-Id: Idb78abd74eef45cb3c9b212647dd6722c98e0cd5 - Reviewed-on: http://gerrit.openafs.org/8051 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ef7cc7e3f50c7d443a84fbab6bf21a85e9796c5c -Author: Derrick Brashear -Date: Thu Sep 6 14:26:32 2012 -0400 - - regen: look for glibtoolize also - - macos uses the g prefix to avoid conflicting with a system - tool called libtool. - - Change-Id: I867f5c4aa7e7c21bf47087b05a58299e11a5b70a - Reviewed-on: http://gerrit.openafs.org/8049 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ed0624c32e671f8ae391a61ff8b870ecde740216 -Author: Ken Dreyer -Date: Thu Sep 6 12:24:25 2012 -0600 - - doc: fix examples of direct volume access - - Fix the Unix examples to use ":volume" instead of "#volume", and add - a couple more examples. - - Change-Id: I2e7907b128248343d99136552ab791b9bf0246ca - Reviewed-on: http://gerrit.openafs.org/8052 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d77a99106de3ee758f532497c05a7994f96422b8 -Author: Marc Dionne -Date: Wed Sep 5 20:45:01 2012 -0400 - - tests/opr: fixes for the uuid-t.c tests - - It's always good to have a plan. - - Also, use correct mask when checking for DCE bit. - - Change-Id: I4ab72aeb89efbd63d2d15fdc57aea8d2c1eb13d9 - Reviewed-on: http://gerrit.openafs.org/8047 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1f55bc7f08a2e0442e556542fece375746275d34 -Author: Marc Dionne -Date: Wed Sep 5 20:18:09 2012 -0400 - - tests/auth: fixes for the opr libtool changes - - Add a missing line continuation backslash, and use the correct - location for libafs_opr.la - - Change-Id: I52e44d36d9e1a9a0b3cd81c463f952072d4cbb48 - Reviewed-on: http://gerrit.openafs.org/8045 - Tested-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 0dac4de8eee84a43ef06c56dfc867c2a1b9a9f0c -Author: Marc Dionne -Date: Wed Sep 5 20:25:55 2012 -0400 - - Linux: drop GLOCK before calling dput - - Holding the GLOCK when calling dput can result in a deadlock when - the kernel calls back into afs_dentry_iput. It should be safe - to drop the lock here. - - Change-Id: I8966aea7336b39b4c3ec265a53d820fc6135eeaf - Reviewed-on: http://gerrit.openafs.org/8046 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 777e03103f5eb05012ea1f7f23624515e4ed6bb4 -Author: Andrew Deason -Date: Mon May 7 11:15:24 2012 -0500 - - tests depends on viced - - Some of the tests code (specifically, that in tests/volser) depends on - objects in src/viced being build (specifically, vldbint stuff). So, - make 'tests' depend on 'viced', so they are built before we get there. - - Change-Id: I572c490cf7bd6c84beb8966783c38869b371a85e - Reviewed-on: http://gerrit.openafs.org/7367 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 97dfe2b73c753bafedf8961ff4219ee4efdb350c -Author: Derrick Brashear -Date: Tue Apr 17 00:39:37 2012 -0400 - - tests: modernize tests to compile in warning-as-errorland - - the tests haven't been loved as we've been killing warnings. clean up. - - Change-Id: I9c36114d3172c4a6347f5e890df6edb5caf796b4 - Reviewed-on: http://gerrit.openafs.org/7232 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 35d5be2adf2456e26aa6b10935352dc19eb6b3f2 -Author: Andrew Deason -Date: Fri May 18 17:55:09 2012 -0400 - - afs: Do not avoid DNLC if fakestat is set - - Currently in afs_lookup we avoid putting an entry in the DNLC if - 'force_eval' is unset, in order to avoid populating the DNLC with - mountpoint symlinks (we want the target of the mountpoint to be in - there instead, the root dir). However, if -fakestat or -fakestat-all - are enabled, 'force_eval' is always false, since we only set it to - true under certain circumstances when evaluating mountpoints. - - To fix this, populate the dnlc for non-mountpoints, even if force_eval - is unset. - - Change-Id: Ia2fef1bea9a08182715d587517f81074147aa4e7 - Reviewed-on: http://gerrit.openafs.org/7431 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 238b88624a8fef39557d397cc336c88bd8efc5b1 -Author: Andrew Deason -Date: Tue Aug 21 17:03:30 2012 -0500 - - LINUX: Avoid symlink-y resolution limits - - Implementing the d_automount or follow_link function pointers for our - directories means that we can hit symlink resolution limits during - lookup, since we look like a "symlink". We can hit these limits pretty - easily if there are just too many directories in the lookup path. - - Our pseudo-symlink directories cannot contribute to an infinite - resolution loop, since our destination is always an actual directory, - not a symlink that will result in more redirection. So, decrement the - total_link_count counter when our d_automount or follow_link code is - reached, so we do not contribute to hitting the max resolution limit. - - Note that this is not related to recursive symlink lookup (link_count) - but only to the iterative symlink limit (total_link_count). Our - lookups are not recursive here, and we are not causing more recursive - lookups like a normal text-based symlink would do. - - Change-Id: Id6d2edd614388ac0890eb7591caec25d375964ce - Reviewed-on: http://gerrit.openafs.org/8009 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b9a10641dd75fed9bbcd27f6ddbb2b9246f25fe7 -Author: Derrick Brashear -Date: Wed Sep 5 13:41:48 2012 -0400 - - opr: export uuid packing routines in the kernel - - these are actually kernel-safe. allow their use - - Change-Id: Id0b9e21701dcdf7e43f75a5a9b240cb7579a8d7b - Reviewed-on: http://gerrit.openafs.org/8044 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d01ef1ccfb75bdb649abf5586b786bae0f3eeb1a -Author: Simon Wilkinson -Date: Fri Aug 17 14:52:16 2012 +0100 - - Tidy up library includes - - Tidy up the way that library inclusion is performed in the tptserver, - tvlserver and tvolserver Makefiles by splitting the library list into - common, client and server, using the appropriate list for each binary, - and removing duplicate library or object includes. - - Change-Id: I5bde3f8b4105372c22984ccd486b145b434ae82e - Reviewed-on: http://gerrit.openafs.org/8042 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f258e7dddeb4331d2cf4649541c1a3adfa7a416a -Author: Mark Vitale -Date: Mon Aug 27 15:11:32 2012 -0400 - - vos: convertROtoRW - prevent VLDB corruption - - vos convertROtoRW incorrectly marks the first VLDB entry as the - new RW if the converted RO is not in the VLDB. Correct this - by creating a new valid RW site in the VLDB entry. - - Change-Id: I683ac10db90c2c41717c11c0d86eadc81a935e52 - Reviewed-on: http://gerrit.openafs.org/8037 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8c785b74c001e2cbfd1bafb35d2c18c55f287985 -Author: Derrick Brashear -Date: Wed Sep 5 09:58:12 2012 -0400 - - opr: add time initializer macro - - add a macro that can be used to initialize an opr_time - - Change-Id: Ib73fc03d8ba333a054fa073153edafb130b2292b - Reviewed-on: http://gerrit.openafs.org/8043 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 03b87dffee1383c3cd5b1fed0ac3116fd8564187 -Author: Michael Meffie -Date: Thu Aug 30 11:48:34 2012 -0400 - - bozo: dont lie when binding to any address - - Do not log the bosserver listening to just the loopback when it is - actaully listening on any address. The loopback address is still - written to the bosserver.rxbind file in this case to give local - scripts an simple way to contact the bosserver. - - Fixes the log message introduces in - commit 9133aa6ed3a7fe2ae55b2d3242366ae277c7f726 - - Change-Id: I48f3ff5a1f9a20881df11a41baf3da29e1d02576 - Reviewed-on: http://gerrit.openafs.org/8022 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dd48cd3c67cd0a6d71f6f9bea5fd34dcddeefeeb -Author: Marc Dionne -Date: Tue Sep 4 19:48:12 2012 -0400 - - crypto: Fix assert macro - - Commit ab977738b inadvertently changed osi_Assert to opr_Assert for - kernel code, causing the kernel build to produce an unloadable - module with undefined symbols. - - Change-Id: I792359974ef21db97267847dfdf6c4b17c84328a - Reviewed-on: http://gerrit.openafs.org/8039 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 50a6b047093092a72e925d143fe0d4c7587c2386 -Author: Marc Dionne -Date: Tue Sep 4 17:09:00 2012 -0400 - - viced: Make use of unused variable - - Commit c2d724dc introduced the now variable that was set but never - used. Use it in the remainder of the function where time(NULL) - appears, which was probably the intention. - - Change-Id: I9cc25caf20dcfa466865c7fbf67893b022fdcc3e - Reviewed-on: http://gerrit.openafs.org/8038 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8b84d9538c83261f65cb9b6fc51c0225798571e6 -Author: Simon Wilkinson -Date: Mon May 21 18:04:32 2012 +0100 - - opr: Convert to using libtool - - Convert opr so that it uses libtool. For backwards compatibility we - still build libopr.a, but we do so as a static convenience library. - - As libopr.a may, in the future, be converted to an LWP library, change - all of the pthreaded binaries so that they link against the libtool - library liboafs_opr.la - - Change-Id: Icee04ff4745334f06ffba16df5bb07fc9dcc0b54 - Reviewed-on: http://gerrit.openafs.org/8034 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b650106e301ecefe2f5c8f4a34081af1f5f74901 -Author: Mark Vitale -Date: Tue Sep 4 09:06:44 2012 -0400 - - vos: convertROtoRW incorrect warning when RO not in VLDB - - vos convertROtoRW will issue an incorrect warning about a partition - mismatch if the RO to convert is not in the VLDB. Only check the - partition if the RO is in the VLDB. - - Change-Id: Ib2726bc5bf6697898ad26dc1d817143da3286ba3 - Reviewed-on: http://gerrit.openafs.org/8036 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 69f26ece3c4545ecc9099641f7a507796fe9dc77 -Author: Simon Wilkinson -Date: Mon May 21 08:57:05 2012 +0100 - - Add libtool support - - Add support for using libtool to the Unix build system to build - both pthreaded and lwp libraries. For purely pthread libraries, - this just provides convenience macros to invoke the standard GNU - libtool from the OpenAFS build system. For libraries that have - lwp variants, we provide an initial wrapper script - lwptool, - which handles building a non-PIC LWP object before asking libtool - to build the pthread variants. - - For a given source example.c, example.o is the non-PIC pthread - object, .libs/example.o is the PIC pthread object, and - .lwp/example.o is the LWP object. - - To use libtool for a particular library directory, add the line - include @TOP_OBJDIR@/src/config/Makefile.libtool - to the file's preamble. Makefile.pthread, or Makefile.lwp should be - included as normal to indicate whether the libraries in this Makefile - are pthread only, or should be built for both pthread and LWP objects. - - The variables LT_current, LT_revision and LT_age may be used to control - the version of the shared objects produced. They have the same meaning - as that documented in the Versioning section of the libtool manual. - - The LT_objs variable should be set to a space separated list of the .lo - objects included in the library. Note that there should _never_ be a - dependency on the .o form of these objects in the Makefile, as this - breaks parallel builds. - - LT_deps is a list of the libtool dependencies of the library, and - LT_libs is a list of the external (non-OpenAFS) library dependencies. - - A file called .sym should be created which contains a - newline seperated list of all of the symbols exported from this - library. - - LWP library names remain the same as always. To distinguish the - pthreaded static and shared libraries these - - LWP libraries should be linked using - libexample.a: $(LT_objs) - $(LTLWP_LDLIB) $(LT_objs) - - Shared libraries should be linked using - libexample.la: $(LT_objs) $(LT_deps) - - (note that the pattern rules in the included Makefile take care of the - build rule here) - - If necessary, static convenience libraries can be produced using: - libconvenience.a: $(LT_objs) - $(LTLWP_LDLIB_static) $(LT_objs) - - PIC convenience libaries can be linked using: - libconvenience_pic.a: $(LT_objs) - $(LTLWP_LDLIB_pic) $(LT_objs) - - Libtool libraries should be installed using the $(LT_INSTALL_DATA) macro - - Binaries linking agains libtool libraries should be linked using the - $(LT_LDRULE) or $(LT_LRDULE_static) options, with library paths in the - built locations relative to the top of the tree. For example - - example_test: example_test.o $(top_builddir)/src/example/libexample.la - $(LT_LDRULE) example_test.o \ - $(top_builddir)/src/example/libexample.la - - Change-Id: I32b162e8443119e8115febc532c5b5a0ec8fed32 - Reviewed-on: http://gerrit.openafs.org/8033 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b31aba6a6aa9440bfa4e957d6e90cd6ae3c8b16 -Author: Simon Wilkinson -Date: Wed Aug 22 09:31:03 2012 +0100 - - util: Don't use rx-internal locking macros - - The MUTEX_INIT, MUTEX_ENTER, MUTEX_EXIT and MUTEX_DESTROY macros - are intended for RX internal use only (they're an abstraction - interface so that the same locking code can be used in userspace and - in the kernel). They aren't appropriate for general purpose use. - - Just use pthread calls directly for the serverLog locks. - - Change-Id: I8373eaa097c36f7d3a4c9b0501fc5e897372582e - Reviewed-on: http://gerrit.openafs.org/8031 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7b1af325f12acc61cffd78b1b5ba580940c9b610 -Author: Simon Wilkinson -Date: Sun Jul 10 13:50:03 2011 +0100 - - lwp: Don't depend on RX locking macros - - The lwp library should be independent of RX (in fact, bits of it are - a dependency for RX). So, LWP cannot use the MUTEX_ENTER, CV_WAIT, and - so on macros that RX defines. - - Just implement these natively within the pthreaded bits of lock.c to - remove the dependency. - - Change-Id: I4cdb8313e791f253e84bbc4e256087e46a4c59bd - Reviewed-on: http://gerrit.openafs.org/5396 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ab977738b1542bee2dd780285ec90ebeebdc32c1 -Author: Simon Wilkinson -Date: Wed Sep 7 14:59:17 2011 +0100 - - Further rationalise our usage of assert() - - This patch futher improves our usage of assert() and friends. The - intention is to bring clarity to which forms of assert are used in - which situations, and to solve the problem of assert(X), or - osi_Assert(X) being used in a situation where X has side-effects. - - It introduces two new assertion macros opr_Assert() and opr_Verify(), - and clarifies the usage of osi_Assert() and assert(). - - *) opr_Assert is a direct equivalent of assert(), with the exception - that its output can be redirected to a log file when used in server - code. It is the preferred version of assert for libraries, and server - side code. Note that whilst opr_Assert doesn't currently become a - no-op when NDEBUG is defined, the intention is that it will do so at - some point in the future. - *) opr_Verify(X) asserts if the value of X is false. Unlike assert() - it will always run X, regardless of whether the value is checked or - not. The eventual intention is that when NDEBUG is defined, - opr_Verify(X) => X - *) osi_Assert is an assertion macro intended for use in kernel code, - or in mixed kernel/userland code. When code is built for userspace, - osi_Assert(X) => opr_Assert(X) - *) assert is the system's own assert macro. It should only be used - in client code. Whilst a header (opr_assert.h) is provided to map - assert() to opr_Assert(), its use is discouraged - - Change-Id: Ie6d61305686bdc7193cc8690e6f4fbe363211faf - Reviewed-on: http://gerrit.openafs.org/5395 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 04c750b2fe3879126054f92804b37ad3b1b6340c -Author: Simon Wilkinson -Date: Thu May 24 09:12:13 2012 +0100 - - lwp: Fast time doesn't need util - - With the rise of roken, the fasttime file no longer depends on util - - Change-Id: I2a1391d13bb39321666889dcfc2fbf43b181c749 - Reviewed-on: http://gerrit.openafs.org/8030 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit c2d724dc5b849340f37bb2af9d3f139c72903621 -Author: Simon Wilkinson -Date: Thu May 24 10:55:07 2012 +0100 - - viced: Don't use fasttime - - For pthreaded builds, the FT_ routines are just wrappers around - gettimeofday() and time(). As viced is now an entirely pthreaded - directory, improve readibility, and reduce our dependencies, by - just calling the operating system routines directly. - - Change-Id: I3812ac31bc5eb7d2fcbe47d037d4af3d489d3b81 - Reviewed-on: http://gerrit.openafs.org/8029 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 14141123da0c098fc168772277b14f114bf4af5d -Author: Simon Wilkinson -Date: Tue Sep 4 12:33:02 2012 +0100 - - Fix aliasing problems in tptserver - - Commit f2db78a346112f5320efc6f0b6b9fe4ae0d893d3 disabled strict - aliasing for ptutils.c and ptprocs.c when built in the ptserver - directory. Similarly disable aliasing checks for these files when - built in the tptserver directory. - - This doesn't actually fix the significant problems with these files, - but doing so is going to require completely reworking the way that - supergroups is implemented, so just disable these optimisations in - the compiler for now. - - Change-Id: I6857ba83238a2c98a6540c795426f1a4038b70b3 - Reviewed-on: http://gerrit.openafs.org/8035 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e9e9719bba91ebc6a1362c6613552a70353aec29 -Author: Simon Wilkinson -Date: Sun May 20 17:43:10 2012 +0100 - - log: Relocate pagsh - - Move the pagsh utility out of sys, and into log. This moves it closer - to other token and PAG related utilities, and resolves a circular - dependency between sys and auth. - - Change-Id: Ibbbfc0e3bebc9ecb70f05b137e10e65ff9e4aff6 - Reviewed-on: http://gerrit.openafs.org/8028 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1e76c59ea52b35f4d478fdbe85456160b1e9f8ec -Author: Simon Wilkinson -Date: Sun May 20 12:57:00 2012 +0100 - - auth: Relocate NetRestrict support functions - - Pull the NetRestrict and NetInfo support functions out of libutil, - and into libauth. This starts to concentrate all of our configuration - file parsing functions into the same place. - - It also gets rid of a circular dependency. NetRestrict parsing relies - on functions from rx, so with this in libutil, we had the dependency - chain util->rx->util - - Change-Id: I250d4d8264da8db61f603a06d1b7fdab44384cd3 - Reviewed-on: http://gerrit.openafs.org/8027 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6705646e8d6d12c165a159ca7b1318e2fd92a085 -Author: Simon Wilkinson -Date: Sat May 19 20:36:12 2012 +0100 - - Use rk_rename from roken - - Rather than using our own renamefile() implementation on Windows, - pull in rk_rename() from libroken wherever a rename which unlinks - the destination file is required. - - Change-Id: Ied8ac26b90a0983283b02704328da123bdd4f4b2 - Reviewed-on: http://gerrit.openafs.org/8026 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8ab7e73fe2933aa3910b94fe28f6adf3e5c214fd -Author: Heimdal Developers -Date: Fri Aug 31 13:14:51 2012 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 4a438db29d361b7e5f47b86ced1482a96cde86ea (switch-from-svn-to-git-3008-g4a438db) - - New files are: - roken/rename.c - - Change-Id: Ib32975e9ec7f3d6abf5557cfd37fb40f248d00f0 - Reviewed-on: http://gerrit.openafs.org/8025 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7c26b43413d08c732c017c28503b5635f0e45be2 -Author: Simon Wilkinson -Date: Sat May 19 20:29:00 2012 +0100 - - roken: Add rename.c to list of imported files - - Change-Id: I835bf47625b7f0b3e025df4388416d88f3c52506 - Reviewed-on: http://gerrit.openafs.org/8024 - Reviewed-by: Jeffrey Altman - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 81c172343c17644a496dbe0d2ab48b7925c11cb4 -Author: Derrick Brashear -Date: Fri Aug 31 08:09:31 2012 -0400 - - update libafsdep to include external without being in 3rd party dirs - - everything below src/external is managed out of other trees, - put our libafsdep at the top - - Change-Id: I5f8e37afca30934f2f7befb17d1b19f4e3d12601 - Reviewed-on: http://gerrit.openafs.org/8023 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit e5ba359f64b5d8d874a31a50694398c17f27cfa1 -Author: Andrew Deason -Date: Wed Aug 29 14:14:39 2012 -0500 - - LINUX: Detect non-vectorized aio functions - - In kernels before 027445c3, the functions generic_file_aio_read and - generic_file_aio_write, as well as the fs operations aio_read and - aio_write, do not deal with iovecs but rather just use a single - buffer. Detect this, so our aio_read and aio_write implementations - have the correct signatures. - - This removes several warnings on such kernels. - - Change-Id: I70aa0d43bac5545d83710806b58f36d13d7f6cc8 - Reviewed-on: http://gerrit.openafs.org/8020 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5daa08ea263b2a82b4a85abd61d72d4d1f48bbb6 -Author: Michael Meffie -Date: Fri Aug 17 13:25:17 2012 -0400 - - LINUX: make d_automount work properly on rhel5 kernels - - Recent centos/rhel 5 kernels (2.6.18-308.*) started providing the - d_automount operation, but renamed the DCACHE_NEED_AUTOMOUNT flag to - DMANAGED_AUTOMOUNT. - - Change-Id: I74811f8967d52ce482316b110e9dd616a4869a7f - Reviewed-on: http://gerrit.openafs.org/8006 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 74c1881dff1593f4a8920ba8d8a2400760899fa5 -Author: Andrew Deason -Date: Wed Aug 29 11:39:01 2012 -0500 - - LINUX: Use struct vfs_path on RHEL5 - - Some revisions of the kernel from RHEL5 (2.6.18-308.* and possibly - others) renamed 'struct path' to 'struct vfs_path'. So, use - 'struct vfs_path' when it exists. - - This introduces the afs_linux_path_t typedef, which is defined as - either a struct path, or struct vfs_path. - - Change-Id: I88c31125dbc1ab2998a521e3c57ed532bf2d5bb7 - Reviewed-on: http://gerrit.openafs.org/8019 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit f87d49cd17fbf6aa9465faadac823ed8d0510a16 -Author: Andrew Deason -Date: Thu Aug 30 08:06:33 2012 -0400 - - autoconf: add AC_CHECK_LINUX_TYPE macro - - add a macro which looks for a given type in a given linux kernel - header file - - Change-Id: Id3b0bcf65241c635f0109ed370b3079da8cd5656 - Reviewed-on: http://gerrit.openafs.org/8021 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 911f751d1edfb18ddd5f6a699746ba14730d553d -Author: Michael Meffie -Date: Wed Aug 15 17:19:07 2012 -0400 - - vldb_check: fix cross-linked mh entries - - When run with -fix, consolidate server numbers in vl entries which - point to the same multi-homed entry. Use the lowest server number - from the set of server numbers which point to the same multi-homed - entry. - - Remove unreferenced address entries which are duplicate multi-homed - indexes. - - Two passes of vldb_check -fix may be required; first to fix the - vl entry server numbers; then to remove the duplicate address - entries. - - Change-Id: I794cec4c176e8aab98a236a9700f58b1269a99bb - Reviewed-on: http://gerrit.openafs.org/7999 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 579048cb1ec24b09a869928ceb521c8db4201a43 -Author: Andrew Deason -Date: Wed Aug 29 11:34:06 2012 -0500 - - LINUX: Indent osi_machdep.h maze - - This one isn't so bad, actually, but it still benefits from some - indentation. - - Change-Id: I08de26df7da79dfa506f033e0b8bc1d33cad441b - Reviewed-on: http://gerrit.openafs.org/8018 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 87df877ae26405206c9157197d1f65974b4b4587 -Author: Derrick Brashear -Date: Fri Aug 24 15:04:40 2012 -0400 - - libafs: actually set hasno64bit flag - - if we're starting a 64 bit data op, we should also end it, - and vice versa. - - Change-Id: I1edef140f0c96d73f87759a80318a004196f22d5 - Reviewed-on: http://gerrit.openafs.org/8013 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c2b13458498e8c27aa6eb1f2a777cf9bfe4488df -Author: Christof Hanke -Date: Fri Aug 24 05:18:31 2012 +0200 - - out-of-tree-build: extend configuration, - - namely libafsdep-files and configure-libafs.ac - so that building the kernel-module on linux in a separate - obj-directory works. - - Change-Id: Ie1664aa161fade012df7d23367eb7876912448e3 - Reviewed-on: http://gerrit.openafs.org/8012 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3c489db55811dfe3fdf5e555bf229989e5b58aa6 -Author: Mark Vitale -Date: Mon Aug 20 17:39:06 2012 -0400 - - vos: convertROtoRW susceptible to VLDB changes during override prompt - - vos convertROtoRW obtains a VLDB entry, then peforms some setup logic - (including a possible user prompt) before obtaining a volume lock. - This exposes the code to possible time-of-check/time-of-use issues. - After obtaining the volume lock, get a second copy of the VLDB entry - and compare it to the first copy; if it has changed, fail the conversion - with an error message asking the user to re-issue the vos convertROtoRW - command. - - Change-Id: I9c1a634cea2e22188869d54b00b7831aed12b1cd - Reviewed-on: http://gerrit.openafs.org/8008 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 185699e631ec3548bb6d1e68302d4a652632d3e6 -Author: Christof Hanke -Date: Wed Aug 22 16:39:13 2012 +0200 - - fileserver: add volume number to error-messages - - in physio. If things go wrong in ReallyRead() or - ReallyWrite(), the admin would like to know which - volume to salvage. - - Change-Id: Ic822412fec56ac5bb68f04d80713d94cbf977e71 - Reviewed-on: http://gerrit.openafs.org/8010 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8b6926e43f31a30a95e5883fd4b9e72924b3371d -Author: Marc Dionne -Date: Tue Aug 14 19:37:00 2012 -0400 - - Linux: include kthread.h before afs includes - - We need to include kthread.h before the afs standard includes - to avoid clashing with the printf -> printk mapping. - - Change-Id: I965916515bd14a5a08b0f280cf8e7f9935d8aa50 - Reviewed-on: http://gerrit.openafs.org/7988 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ec48dca871ef98adb69792a34047c6be5818f1b2 -Author: Marc Dionne -Date: Tue Aug 14 18:26:24 2012 -0400 - - Linux 3.6: lookup inode operation API change - - The nameidata argument is replaced with an unsigned int flags - argument. - - Change-Id: Ife07bb50ae7d747bd6256ea8238c4e19dbb5ee3f - Reviewed-on: http://gerrit.openafs.org/7987 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7413cd09a53f89882a46fd100bf6c501348f2188 -Author: Marc Dionne -Date: Tue Aug 14 18:08:51 2012 -0400 - - Linux 3.6: revalidate dentry op API change - - The nameidata argument is dropped, replaced by an unsigned flags - value. The configure test is very specific; kernels with the - older API with a signed int flags value should fall through. - - Change-Id: I5939b089b023fe81e3824ac3f920c4b6a261d39a - Reviewed-on: http://gerrit.openafs.org/7986 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 020e32779c103817ca89caa51259fb53bc3dde79 -Author: Marc Dionne -Date: Tue Aug 14 17:28:50 2012 -0400 - - Linux 3.6: create inode operation API change - - The nameidata argument is dropped and a flag is added. - - Change-Id: I33692fc506e7eb9b8935a27ff3d10b713dfa6e5e - Reviewed-on: http://gerrit.openafs.org/7985 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c633a92a1bc7881f18ee641082ff2efe7da1a8cb -Author: Marc Dionne -Date: Tue Aug 14 17:11:08 2012 -0400 - - Linux: fix variable used to test for the iop create API - - Use correct variable when testing for the create API to use. - - This is just for looks - there is no effect since mkdir and create - were changed in the same kernel release. - - Change-Id: I9e43cc80d3817ee8a6c339c4ae98a1a2ab0851a1 - Reviewed-on: http://gerrit.openafs.org/7984 - Reviewed-by: Alistair Ferguson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6bea047fb404bde828c6358ae06f7941aa2bc959 -Author: Marc Dionne -Date: Mon Aug 13 21:55:25 2012 -0400 - - Linux 3.6: d_alias and i_dentry are now hlists - - The d_alias pointer is now the head of an hlist. This means the - iterator is a different macro and has no "reverse" version since - hlists have no direct pointer to the list tail. - - inode->i_dentry gets the same treatment. Adjust where we use it. - - Change-Id: Ibcdd8ab6f8a571a8f94c646949ebe0503f075574 - Reviewed-on: http://gerrit.openafs.org/7983 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8766a65e97eb90cb6c97ccd35181c441ece14f8a -Author: Marc Dionne -Date: Mon Aug 13 21:36:15 2012 -0400 - - Linux 3.6: dentry_open API change - - dentry_open now takes a path argument that combines the dentry and - the vfsmount pointers. - Add a configure test and a new compat inline function to keep things - cleaner in the main source file. - - Change-Id: Ia29422d60d438cf4c795840566d4610649aa1f10 - Reviewed-on: http://gerrit.openafs.org/7982 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 049c485b4a39ba510035788b4959d839ef668c55 -Author: Marc Dionne -Date: Tue Aug 14 16:34:42 2012 -0400 - - Linux 3.6: kmap_atomic API change - - kmap_atomic no longer requires a KM_TYPE argument. Test for this - and adjust the affected code. - - Change-Id: I3a9e0018124d40be51cc509ac00d9250a5e8e76d - Reviewed-on: http://gerrit.openafs.org/7981 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0a8256a26fafb490b454f2a857b0c15d859572c5 -Author: Marc Dionne -Date: Mon Aug 13 20:32:08 2012 -0400 - - Linux: bypass: consolidate copy_page macros into a single function - - The copy_page(s) macros are very similar; combine them into a - single function that can be used for all cases. - - This will make it easier to add some pre-processor logic around - the kmap_atomic calls to adapt to Linux API changes. - - Change-Id: I6daf7cb8ce49b743cc1b4532da91d9625a90d0ca - Reviewed-on: http://gerrit.openafs.org/7980 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bf1131fd33e71a18a0aef1cb21038144286fd28a -Author: Michael Meffie -Date: Thu Aug 16 18:04:22 2012 -0400 - - vos: use the roken max macro - - Use the max macro provided by roken. Fixes builds on - solaris. - - Change-Id: Id429fe816284a1017082054e02a830a2a952c26b - Reviewed-on: http://gerrit.openafs.org/8004 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 99238baed75205fd7a1885ed6b8fc8505d4faf95 -Author: Heimdal Developers -Date: Thu Aug 16 17:26:07 2012 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 4a438db29d361b7e5f47b86ced1482a96cde86ea (switch-from-svn-to-git-3008-g4a438db) - - Upstream changes are: - - Michael Meffie (1): - drop __restrict some more, to please old compilers - - Change-Id: Ibe62c9abd661793d11f379c13cc3b93f198a1e8d - Reviewed-on: http://gerrit.openafs.org/8003 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6e2dd6e65cae4157538c29fb4362da4d15406b0e -Author: Jeffrey Altman -Date: Wed Aug 15 00:53:21 2012 -0400 - - Windows: disable short names on Win7 and 2008 R2 - - After listening to a presentation from Microsoft's file system - team and speaking with anti-virus vendors, it is not only safe - to disable ShortNames on non-boot volumes in Win7 and 2008 R2 - but it is a definite win for performance, stability and security - of the system. - - Change-Id: I706a8a17b0ae76189aeebaf254c8c70739d12f09 - Reviewed-on: http://gerrit.openafs.org/7989 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a72c9bc861cb47d956b80fd81dde59b6f4c13ea0 -Author: Garrett Wollman -Date: Mon Jul 30 22:16:40 2012 -0400 - - afs_server: afs_SetServerPrefs() can never be called with null - - The one and only call site never calls afs_SetServerPrefs() with a - null pointer, and some but not all of the paths through the #ifdefs - assume this. Remove code that checks for this; it confuses both - humans and the static analyzer. - - Change-Id: Ie3f7319cebde9ec3078af2defcebb80692aa95f2 - Reviewed-on: http://gerrit.openafs.org/7912 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3bb8e4c396d8894c7c0f71f121f5844f940516bf -Author: Simon Wilkinson -Date: Tue Jul 17 17:20:13 2012 +0100 - - opr: Add opr_jhash_opaque - - Add a function which can be used to obtain a hash of an arbitrary - opaque string of arbitrary length - - Change-Id: I9e6aa29fa06a54976b81eda399c8838b73007962 - Reviewed-on: http://gerrit.openafs.org/7978 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit beb8f07496f59a19621bb0db14b401107888de35 -Author: Michael Meffie -Date: Sat Jul 28 13:17:55 2012 -0400 - - vlserver: use the logging function to log - - Use the logging function to log instead of printf. - - Change-Id: I377474881830152c93122bd3112e355ab5fd56ad - Reviewed-on: http://gerrit.openafs.org/7895 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 6f6bfb31acb0cfbe166d4df9f06a12bbdec0f496 -Author: Simon Wilkinson -Date: Tue Jul 17 16:50:59 2012 +0100 - - opr: Add UUID handling functions - - Add a set of functions to the opr library to handle creating and - manipulating UUIDs. - - The opr_uuid_t type is held as a 16 octet character string, which - comprises the UUID encoded into network byte order. This is the - primary form for manipulating UUIDs with this library, as it avoids - any nbo/hbo problems. - - For applications which require raw access to the UUID components, - the opr_uuid_unpacked structure is provided, and - opr_uuid_pack/opr_uuid_unpack can be used to convert to and from - this format. - - Finally, functions to print the UUID as a string, and parse a UUID - from a string, are provided. When printing, we use the standard UUID - format of 000000-0000-0000-0000-00000000. However, the afsUUID library - used to print UUIDs as 000000-0000-0000-00-00-00000000, so we also - accept this format. - - Change-Id: I78ef79b7ab8ae15fb955c6495118722875c94f8d - Reviewed-on: http://gerrit.openafs.org/7977 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b251b4057252163f3fad640cb5574c8dea9babc3 -Author: Simon Wilkinson -Date: Tue Jul 17 17:15:15 2012 +0100 - - opr: Convert jhash to use AFS types - - Convert the jhash.h header so that it uses afs types (afs_uint32) - rather than stdint types (uint32_t), so that we can use it in kernel - - Change-Id: I65138c7d1ab8d22c71b3f1722b334dcb20c9b204 - Reviewed-on: http://gerrit.openafs.org/7976 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 575d92b96cdd13b6935e7b5183f90a6d357d5b15 -Author: Simon Wilkinson -Date: Tue Jul 17 17:12:51 2012 +0100 - - hcrypto: Export hc_RAND_bytes - - Export the RAND_bytes function from hcrypto, so that we can have - access to hcrypto's random number generator from generic code. - - Change-Id: Ie46bdf0b7818b10f0311ae3029c27a15382ffd7a - Reviewed-on: http://gerrit.openafs.org/7975 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2758aa7171063ac9a3c9943ad04115d21dfd8cb4 -Author: Simon Wilkinson -Date: Mon Jul 9 10:27:17 2012 +0100 - - rx: Add the add_and_read function to our atomics - - Add rx_atomic_add_and_read, which lets us get the new value out - of an atomic addition operation. - - Change-Id: If74b1357390329b8c59042d3154491a103fe0d6c - Reviewed-on: http://gerrit.openafs.org/7974 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b440d8ffcbb0ac58ecaa34a9c60fe27a0fc91026 -Author: Tom Keiser -Date: Tue Apr 10 16:26:42 2012 -0400 - - libafs: use kthread_run when available - - Use the kthread_run interface on linux to create kernel - threads. This interface allows all the cpus to schedule - afsd threads, instead of just inheriting the cpu affinity of - the main afsd thread. - - Written by Tom Keiser. - - Change-Id: I69eb852d168bd85e9aa7ec075013c0346207dbcf - Reviewed-on: http://gerrit.openafs.org/7915 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 355b8c73ed5adc5c182cf29561cc360ef4674f9e -Author: Michael Meffie -Date: Sat Jul 28 11:37:59 2012 -0400 - - vlserver: fix vldb header initialization - - Avoid creating new vldb files with zeroed header data. - - The code path is as follows; The call to Init_VLdbase makes several - passes. On the first pass, the header is found to be empty, and so a - write lock is obtained on the second pass. On this second pass, - UpdateCache creates a newly initialized header and writes it to the - db. The rd_cheader is set to the newly created header data, and the - wr_cheader is still cleared at this point. - - When the transaction on the second pass ended in Init_VLdbase, the - data is committed and vlsynccache() is called. In this call to - vlsynccache(), the cleared write header buffer (wr_cheader) is - copied over the newly initialized rd_cheader buffer. Init_VLdbase - then returns to the caller, and if the caller writes to the db, the - header on disk is then cleared. - - Instead of initializing the read header buffer when rebuilding the - db header, initialize the write header buffer. When the ubik - transaction is ended, the call to vlsynccache() updates the contents - of the read header buffer with contents of the new/rebuilt header. - - This error was introduced with commits: - a0f416e3504929b304fefb5ca65e2d6a254ade2e - 1f532d099b8b084d43dd0140890448464325b602 - - Change-Id: If9c178bf28c55c50311554b12ffff9404785d052 - Reviewed-on: http://gerrit.openafs.org/7894 - Reviewed-by: Derrick Brashear - Reviewed-by: Alistair Ferguson - Tested-by: BuildBot - -commit fdd3b0fb1f8e6948c651d7f1822d17a78668e5ff -Author: Michael Meffie -Date: Thu Jun 28 17:12:24 2012 -0400 - - vldb_check: remove unreferenced mh entries with -fix - - When running vldb_check with -fix, clear any mh extent entries which - are set but are not referenced by an address entry in the - IpMappedAddr table. These unreferenced entries already generated a - warning. This commit adds the feature to clear the unreferenced mh - entries using vldb_check -fix option. - - Change-Id: I941d714c825d7990083ecd15fd7bd9cd3b5917b3 - Reviewed-on: http://gerrit.openafs.org/7616 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 08e803bce3375bb69a01715b026d844b7a8e0ab3 -Author: Michael Meffie -Date: Fri Jun 29 18:10:31 2012 -0400 - - vldb_check: warn about cross-linked mh entries - - Warn if an mh extent entry is referenced by more than one server - number in the IpMappedAddr table. - - The serveraddr table is used to determine which server numbers have - IP addresses. If, for some reason, multiple server numbers - reference the same mh entry, currently, the correct serveraddr value - is calculated only for the lowest server number in the set of server - numbers which reference the same mh entry. Handle this case, and - warn about the duplicated values in the IpMappedAddr table. - - Warn about IpMappedAddr entries which reference non-existent mh - blocks. - - Change-Id: Ife5bb44747fff922ae6536edbfd95d0fb98c303b - Reviewed-on: http://gerrit.openafs.org/7615 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit aaa1844b8f806513661d16c6429d4d1b890471f2 -Author: Jeffrey Altman -Date: Mon Aug 13 17:56:02 2012 -0400 - - Windows: AFSProcessUserFsRequest NULL dereference - - Protect against an Irp with a NULL FsContext2 field. - These represent Irps that are not intended for our device - since they do not have an AFSCcb associated with it. - - Change-Id: I2cf6b60e022df5074482544ef3142374149e38d6 - Reviewed-on: http://gerrit.openafs.org/7971 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 165c9e7465378f26db546c5f78fc4eeca0ba094a -Author: Jeffrey Altman -Date: Sun Aug 12 22:51:54 2012 -0400 - - Windows: reset volume NOEXIST flag - - In response to fs checkvolumes the NOEXIST flag should be reset. - - It should also be reset if the volume location update fails - because of a commumicaton (or other) error with the VLDB server. - The volume's lastUpdateTime is refreshed on error. - - Change-Id: I0bb5e61b9eb8a9613d47a32acda35b79aa71c293 - Reviewed-on: http://gerrit.openafs.org/7969 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 69fd66abe7465e605c4b1460298514c3638c7864 -Author: Jeffrey Altman -Date: Thu Aug 2 21:13:45 2012 -0700 - - Windows: sdk install missing headers - - Change-Id: Ifda4df6b736ca70e2cbe56e9d789436066c12bdb - Reviewed-on: http://gerrit.openafs.org/7933 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5a707645b7d14f37f3d7fd8d06685f3940631a44 -Author: Jeffrey Altman -Date: Thu Aug 2 21:12:25 2012 -0700 - - Windows: remove sdk sample token.c - - The sdk sample is no longer applicable. - - Change-Id: I9ab240429c73fece70f62f6ebc8ed284aa0071ac - Reviewed-on: http://gerrit.openafs.org/7932 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b10a0af8b3a88c4170403679b9c179258a225abe -Author: Jeffrey Altman -Date: Fri Aug 10 18:04:49 2012 -0400 - - Windows: document command prompt lnk limitation - - Command Prompt shortcuts cannot be used when stored in AFS. - - Change-Id: I5e26d92bbcaac8708eb8deb8d06164ef65308230 - Reviewed-on: http://gerrit.openafs.org/7955 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ecb3568210777fab98c51811aecaa1d2a085bc0b -Author: Jeffrey Altman -Date: Wed Aug 8 16:42:47 2012 -0400 - - Windows: Freelance Discovery configuration - - Add new "FreelanceDiscovery" configuration option to permit - Freelance dynroot mode to be used without the automatic discovery - of cells and generation of mount points. - - Change-Id: I5520c3b3e2388b984c7120212d4f0167dc2f2bc3 - Reviewed-on: http://gerrit.openafs.org/7950 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b48d45006cdfe1734935f54277c0bc27459a404e -Author: Jeffrey Altman -Date: Wed Aug 8 13:54:48 2012 -0400 - - Windows: disable short names on Windows 8 - - Add "ShortNames" option to control whether 8.3 compatible short - names are generated for objects stored in AFS. Set the default - to on for all operating systems prior to Windows 8 and Server 2012. - - Change-Id: I27b4631334e2739da5c6485b49efa3ae12d880a9 - Reviewed-on: http://gerrit.openafs.org/7949 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1d2a050e99e1feb9a5cee9956b48eb56bd9ad95d -Author: Peter Scott -Date: Tue Aug 7 09:07:41 2012 -0400 - - Windows: FileNormalizedNameInformation take one - - Add a response to FileNormalizedNameInformation requests. - Respond with the long file name. As yet there is no translation - from short name to long name for full paths. - - Change-Id: I9a88985cb72ebf4ce648cada62522f769f50044b - Reviewed-on: http://gerrit.openafs.org/7948 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0af079f2d03d1b76bd4221cb56b27091b5635fd0 -Author: Peter Scott -Date: Mon Aug 6 15:15:57 2012 -0400 - - Windows: FSCTL_SET_PURGE_FAILURE_MODE - - Windows 8 adds FSCTL_SET_PURGE_FAILURE_MODE. Failure to respond - with success prevents anti-virus filters from scanning the file - system. For now just return success. - - Change-Id: Ibb4822e1a9db13912980f4100519b69f9bff9a75 - Reviewed-on: http://gerrit.openafs.org/7947 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 831763ce6633d5377f5476651a8685f0673751de -Author: Peter Scott -Date: Mon Aug 6 15:12:12 2012 -0400 - - Windows: disable short names in redirector option - - If requested during redirector initialization, disable short - name processing. Future versions of Windows (8, Server 2012, - and beyond) will no longer require short names. - - Change-Id: I14b20afd919ed9dd8dc48dd7997089b5748a8896 - Reviewed-on: http://gerrit.openafs.org/7946 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d8e9d2f2bc0f95642836bca2d66bb09379884142 -Author: Peter Scott -Date: Mon Aug 6 12:59:35 2012 -0400 - - Windows: Consolidate Device Flags - - Move Device Flags to common/AFSRedirCommonDefines.h - - Change-Id: I1f54b1bcf6f9057cc56260c61c86dc3203891924 - Reviewed-on: http://gerrit.openafs.org/7945 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2332ee3aa8e21738ed4aa42b53edd4e2ae0a2984 -Author: Derrick Brashear -Date: Mon Nov 21 12:06:59 2011 -0500 - - ihandle: don't keep reallyclosing future fds - - given that we can mark something invalid for future use, ever, - once we have done so for all fds, we ih_reallyclose is done. - don't persist the setting to the detriment of new fds - - Change-Id: If82368dad79841a5d68f45a608b2645b32f951e7 - Reviewed-on: http://gerrit.openafs.org/6101 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 1a1e87dcdf972519cd21970f7c78709e40f8e1e9 -Author: Michael Meffie -Date: Thu Aug 2 17:24:02 2012 -0400 - - libafs: revert init req to use the real uid - - The commit to use wrappers for creditial structure access - inadvertently changed the user id to be the effective uid instead of - the real uid, when no PAG is present, on linux. Revert this so - setuid programs continue to work. - - See commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d - - Change-Id: I5d42b8caf90a042192ed39f26e55d70c9531f2e9 - Reviewed-on: http://gerrit.openafs.org/7931 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0c77c0acabe0a0588ab0a9efab0124ee1e15ef6a -Author: Mark Vitale -Date: Thu Aug 2 18:37:05 2012 -0400 - - vos: convertROtoRW may create 2nd RW on a fileserver - - If an RW is already present on disk on the target server (any partition), - 'vos convertROtoRW' will still convert the RO, creating a second RW on the server. - Detect this and refuse to convert the RO by returning EXDEV (invalid cross-device link). - - Change-Id: Ide15a7c39f2a975fd8597e497094b6a67b448e4f - Reviewed-on: http://gerrit.openafs.org/7934 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9cd983799e622c9acf5dd6e0b9ae3a3a75eaa8ce -Author: Andrew Deason -Date: Thu Aug 2 11:58:12 2012 -0400 - - rx: Process ICMP unreachable errors - - When a machine receives ICMP errors, we can detect them in - AFS_RXERRQ_ENV environments. Many of these errors indicate that a - machine is not reachable, so we are guaranteed to not get a response - from them. When we get such an error for a particular peer, mark all - relevant calls with an RX_CALL_DEAD error, since we know we won't get - a response from them. This allows some calls to dead/unreachable hosts - to fail much more quickly. - - Do not immediately kill new calls, since obviously the host may have - come back up since then (or the routing/firewall/etc was fixed), but - only calls that were started before the current error was received. - - Note that a call doesn't actually notice until the next rxi_CheckCall, - since directly killing each of the relevant calls would be rather - slow. So, we don't notice a dead peer immediately, though we notice - much more quickly than we used to. - - Reorganize the error queue processing a little bit to make this easier - to do. - - Change-Id: I403540e0677fe2d432901e4ecc19f7f385610b7f - Reviewed-on: http://gerrit.openafs.org/7929 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 407cfd281eab375512881945999b7e13ba93936e -Author: Andrew Deason -Date: Wed Aug 1 16:31:09 2012 -0400 - - LINUX: Fix error queue processing - - Receiving error queues in the Linux kernel is a little different from - userspace. When we encounter a cmsg that is not CMSG_OK, we need to - break out of the loop, and not just continue, since we can keep trying - to process the same cmsg over and over. In addition, on successful - return, the msg_control buffer has been modified to point to the next - available buffer space, and msg_controllen contains how many bytes are - remaining. So, we need to adjust the msg_control and msg_controllen - values to get something more familiar. - - Change-Id: I7cc768ea31379915974431d2a3c1fec5e0ac71bb - Reviewed-on: http://gerrit.openafs.org/7927 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d55df0ac8351b1518d2c3cde6e3938b98b3f21f7 -Author: Andrew Deason -Date: Wed Aug 1 15:56:27 2012 -0400 - - LINUX: Avoid SO_ERROR for RXERRQ_ENV - - SO_ERROR is for receiving errors from some nonblocking operations; it - has little relevance to our network operations. For Linux, use a - similar structure as userspace error detection, instead of SO_ERROR. - - Change-Id: I2188b1a023592d44bec62f6d07666dc19732222c - Reviewed-on: http://gerrit.openafs.org/7926 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 403f72ec7620c8c5d39d860edd7d8e775e2776e6 -Author: Andrew Deason -Date: Wed Aug 1 15:19:02 2012 -0400 - - rx: Create AFS_ADAPT_PMTU and AFS_RXERRQ_ENV - - Currently we have the ADAPT_PMTU define, which turns on functionality - in Linux to detect PMTU-related ICMP errors for Rx. However, this is - really turning on two separate pieces of functionality: the PMTU - processing, and the processing for ICMP errors in general. - - So split this out into two defines: AFS_ADAPT_PMTU, and - AFS_RXERRQ_ENV. The former is for processing PMTU discovery, and the - latter is for processing ICMP errors. Both of these are left disabled - due to issues in the error processing. Although PMTU discovery is the - only functionality which makes use of ICMP errors, this will change in - the future. - - Change-Id: Ia334c68ce5eb3fa01c01a8a1c52a0e0a2e41b2c0 - Reviewed-on: http://gerrit.openafs.org/7925 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d51694dfdb85503cd4fce39b5d2f15a82a37a427 -Author: Andrew Deason -Date: Wed Aug 1 15:14:23 2012 -0400 - - LINUX24: Remove ADAPT_PMTU code - - ADAPT_PMTU on Linux 2.4 doesn't really seem worth it. Remove it so we - don't have to duplicate code. - - Change-Id: Id430e4caa7ee601bd6103541888e2a0029e0ab58 - Reviewed-on: http://gerrit.openafs.org/7924 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3cf4c1fbad712984074a916897b77841c3e24752 -Author: Andrew Deason -Date: Wed Aug 1 15:11:48 2012 -0400 - - rx: Formatting fixes - - Some minor fixes to preprocessor indentation and other minor - formatting things in rx.c and rx_user.c. - - Change-Id: Ia7bfda68b40893191a91ac9161cfe513a83c1989 - Reviewed-on: http://gerrit.openafs.org/7923 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a3759e0af8717f478a32420b8c8d125fae15cd25 -Author: Andrew Deason -Date: Wed Aug 1 14:57:06 2012 -0400 - - rx: Remove ADAPT_MTU and MISCMTU - - Ever since 5bcf626ddaf92e199c4b46c11ad276013a47db52, ADAPT_MTU has - been unconditionally defined. MISCMTU has always been unconditionally - defined, and not used anywhere. Remove both of these, assuming they - are always defined. - - Note that ADAPT_MTU != ADAPT_PMTU. - - Change-Id: Ie870bde8f84e59e1fe2a09806d8b68936d15f65e - Reviewed-on: http://gerrit.openafs.org/7922 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 09f5a1e6053e6db3df581543875512d8cff259ae -Author: Michael Meffie -Date: Wed Aug 1 11:42:34 2012 -0400 - - bozo: avoid canceling the sigkill timer for hung processes - - A sigkill signal is sent to fileserver processes when a timeout is - exceeded for shutting down processes for the fs/dafs bnode. - (Currently 30 minutes for the fileserver, 1 minute for the other - server processes.) - - If the bnode goal is set to run before this timeout expires, the - timer is incorrectly stopped, and a wedged process is never killed. - Fix this by not canceling the timer when a fs/dafs process has been - signaled to shutdown, regardless of the current goal. - - Change-Id: I2eca8bcb4bac690f3ef671ca4cf375164ff34d5e - Reviewed-on: http://gerrit.openafs.org/7920 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1d8f3742661f07ab1923182883e2a2ea376151cd -Author: Andrew Deason -Date: Fri Mar 30 14:56:52 2012 -0500 - - libafscp: Add afscp_LocalAuthAs - - Add the function afscp_LocalAuthAs to libafscp. This allows the caller - to generate credentials based on the KeyFile on local disk, in order - to appear as an arbitrary user. - - Based on code written by YFS. - - Change-Id: I9c2da8b3460a000be8e6073eb0925dc82fcc1de3 - Reviewed-on: http://gerrit.openafs.org/7917 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 351d3b8a19314027b30cdc499ef48c95ba7903b6 -Author: Andrew Deason -Date: Tue Jul 31 14:40:41 2012 -0400 - - LINUX: Always hold afs_xuser for unixuser read - - We were failing to hold the afs_xuser lock when we entered our - unixuser traversal for the first time (when the given position is 0). - This means we can release the lock without acquiring it, causing all - kinds of weird behavior. - - Just always grab afs_xuser on entry. We could possibly do some tricks - to avoid grabbing this lock until after we've printed the column - headers, but it does not seem worth it. - - Change-Id: I68782098b5af2feb56887bc577511da2983d4f21 - Reviewed-on: http://gerrit.openafs.org/7916 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e3cf97b5b5ae06cbd7862dbfcc09f3d1f45c24c1 -Author: Derrick Brashear -Date: Mon Jul 30 09:52:24 2012 -0400 - - krb5 profile config support - - create openafs-client.conf and openafs-server.conf in respective ETC - dirs. enable afsd, ptserver, vlserver and fileserver option parsing from it - - [afsd] - dynroot = true - dcache = 800 - cachedir = /var/db/openafs/cache - - Change-Id: I4bae437d7c8f54daa5dadfaeb875cdd185809d61 - Reviewed-on: http://gerrit.openafs.org/7903 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d785abd5ec9302bdc1b3c33368246e573e0cd65d -Author: Andrew Deason -Date: Fri Apr 6 14:56:07 2012 -0500 - - LINUX: Do not lookup immediately recursive mtpts - - On Linux, having a mountpoint in a volume root that points to the same - volume can cause serious problems. By 'immediately recursive', I mean - a situation like the following: - - fs mkm mtpt vol - fs mkm mtpt/mtpt vol - - If there are multiple dentry aliases for the directory (which is - possible if the directory is a mountpoint), an 'rmdir' on the - recursive mountpoint can cause the client to deadlock. Since the - 'rmdir' code path in Linux locks the parent directory inode to perform - the rmdir, and locks the child directory inode after performing a - couple of sanity checks. For an immediately recursive mountpoint, - these two inodes are the same, and so we will deadlock. - - Change-Id: Icb9bf8a3dd77a2ef6b88856b0d41556541bb1d00 - Reviewed-on: http://gerrit.openafs.org/7742 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit de381aa0d39e88a1ca0c8ccbb2471c5cad5a964c -Author: Andrew Deason -Date: Fri Jul 6 16:37:39 2012 -0500 - - Linux: Make dir dentry aliases act like symlinks - - Currently, we try to invalidate other dentries that exist for a - particular dir inode when we look up a dentry. This is so we try to - avoid duplicate dentries for a directory, which Linux does not like - (you cannot have hardlinks to a dir). - - If we cannot invalidate the other aliases (because they are being - used), right now we just return the alias. This can make it very easy - to panic the client, due to the sanity checks Linux performs when dong - things like 'rmdir'. If we do something like this: - - mkdir dir1 - fs mkm dir1/mtpt vol - mkdir dir1/mtpt/dir2 - fs mkm dir1/mtpt/dir2/mtpt2 vol - cd dir1/mtpt - rmdir dir2/mtpt2 - - For the 'rmdir', we will lookup 'mtpt2'. Since 'mtpt' and 'mtpt2' - are mountpoints for the same volume, their dentries point to the same - directory inode. So when we lookup 'mtpt2', we will try to invalidate - the other dentry, but we cannot do that since it is the cwd. So we - return the alias dentry (for 'mtpt'). The Linux VFS layer then does a - sanity check for the rmdir operation, checking that the child dentry's - parent inode is the same as the inode we're performing the rmdir for. - Since the dentry we returned was for 'mtpt', whose parent is 'dir1', - and the actual dir we're performing the rmdir for is 'dir2', this - sanity check fails and we BUG. - - To avoid this, make the dentry alias act like a symlink when we - encounter an uninvalidateable dentry alias. That is, we allow multiple - dentry aliases for a directory, however, when the dentry aliases are - actually used, we redirect to a common dentry (via d_automount where - possible, and follow_link elsewhere). - - This means that such mountpoints will behave similarly to symlinks, in - that we 'point' to a specific mountpoint dentry. This means that if we - have multiple different ways to get to the same volume, and all are - accessed at the same time, all but one of those mountpoints will - behave like symlinks, pointing to the same mountpoint. So, the '..' - entries for each path will all point to the parent dir of one - mountpoint, meaning that the '..' entry will be "wrong", but for most - cases it will still be correct. - - In order to try to make the 'target', pointed-to directory consistent, - we add a new field to struct vcache: target_link. This points to the - dentry we should redirect to, whenever that vcache is referenced. To - avoid (possibly not-feasibly-solvable) problems with refcounting, this - pointer is not actually a reference to the target dentry, but just - serves as a pointer to compare to. - - FIXES 130273 - - Change-Id: I990131ce95cefe8336e83c7ebfb48aed1d685109 - Reviewed-on: http://gerrit.openafs.org/7741 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 9b0a7f5d13115fe5760db16587fe81dd35a5a0ef -Author: Derrick Brashear -Date: Tue Jul 31 11:47:58 2012 -0400 - - dirpath: fix macos alternate client etc dir support - - we set a proper client etc dirpath but did not apply - it to children. do so. - - Change-Id: I56da943838a13859a239e5edf4219c6400abfe35 - Reviewed-on: http://gerrit.openafs.org/7904 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bf45586c9a3aac23a131e096d581e1149540f602 -Author: Garrett Wollman -Date: Mon Jul 30 22:05:04 2012 -0400 - - afs_server: delete code that has been ifdef'ed out for years - - The comments in afs_SetServerPrefs() said "clean up, delete this". - The oldest one is a decade old. Removing these #ifdefs will make - following the rest of the spaghetti #ifdefs a bit easier. - - Change-Id: I187ccf2889a5244457218b109404be8b1cf1990e - Reviewed-on: http://gerrit.openafs.org/7911 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 77f258a71dde5bc8f82b5d6f24836cfee4e9bcce -Author: Garrett Wollman -Date: Tue Aug 9 00:28:27 2011 -0400 - - libafs: afs_CacheFetchProc can't be called without a dcache pointer - - An inspection of the only call site suggests that afs_CacheFetchProc() - can't be called with a null dcache pointer, and code further down - in this function dereferences adc unconditionally (assuming - rxfs_fetchInit() doesn't crash first) so remove the conditional - here. - - Probably more of these parameters can and should be included in the - AFS_NONNULL. - - Change-Id: Ic87517376085b0d5bc7631b5558411259ae986f4 - Reviewed-on: http://gerrit.openafs.org/5180 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 070e90a92175eb91b3709598859fabb0c843d0a9 -Author: Jeffrey Altman -Date: Mon Jul 30 15:19:57 2012 -0400 - - doc: Windows Release Notes Integrated Logon - - Expand on support for integrated logon details. Explain the - new capabilities for per-user configuration and name mapping. - - Change-Id: I6aef3f99cb54aa964f9a6dbc3992031d6199e97d - Reviewed-on: http://gerrit.openafs.org/7905 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da9f42d044725ae128feffcfbeaab67b31aaab44 -Author: Jeffrey Altman -Date: Mon Jul 30 00:43:01 2012 -0400 - - doc: Remove USA vs International from AdminGuide - - OpenAFS does not have separate distributions for the United States - and the rest of the world. Nor are there any restrictions on the - capabilities of the Update Server. - - Change-Id: I834d86764bb3d8df4cce62b9cbaa33bff455bc30 - Reviewed-on: http://gerrit.openafs.org/7902 - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 227cff3dd657967fa895317ad53e5c772c17aaec -Author: Michael Meffie -Date: Sun Jul 29 22:15:14 2012 -0400 - - vlserver: remove an unused global - - Remove the unused global variable extentaddr. - - Change-Id: I3a7aec78dddcdf4e56a9ed432d650a1693e7c16e - Reviewed-on: http://gerrit.openafs.org/7900 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 71dc077831d339fc5822f2c2c79b65afe14b12f8 -Author: Derrick Brashear -Date: Sun Jul 29 19:09:22 2012 -0400 - - opr: tweak nonnull macro to use nested parens - - throws an error on windows in some cases otherwise - - Change-Id: I977b63908fb64a9711f9ba9ca22aeb04882fadf4 - Reviewed-on: http://gerrit.openafs.org/7899 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8c01141ccaa538b182ee79ec2d8ed5ec12b58f11 -Author: Simon Wilkinson -Date: Sun Jul 29 15:14:11 2012 -0400 - - Windows: Rename cm_btree struct data - - Rename the "struct data" in cm_btree.h to something less generic in - order to avoid conflicts with other code. - - Change-Id: I0580be084d508c195d767152af4f9a461cf0407e - Reviewed-on: http://gerrit.openafs.org/7898 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b725a28eac2d9a94344b2524f995a98e60ecc2ea -Author: Garrett Wollman -Date: Sat Jul 28 01:10:09 2012 -0400 - - volser: restructure GetNextVol and clients to remove duplicate code - - There are several odd-looking but stylized loops involving GetNextVol() - which can be radically simplified if only GetNextVol() would return - a meaningful value. Move all of the code that skips non-volume-header - files in the directory into GetNextVol and have it return a truth value - (instead of always returning zero) that indicates whether it saw - something that looks like a volume header. Then all the odd while - loops and strcmps just collapse into while(GetNextVol(...)). - - GetNextVol() had external scope, but there are no callers in the - tree that use it outside of volprocs.c, and it's not part of a - public library interface, so make it static. - - While here, don't strcmp() past the end of a filename that begins with - 'V' but is too short to be a valid volume name. - - Change-Id: I214b33c46714959d700608b3d3718c79d3792878 - Reviewed-on: http://gerrit.openafs.org/7893 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cac7bcda084879a876d93eb0480c2f7c76c25a4a -Author: Garrett Wollman -Date: Sat Jul 28 00:18:00 2012 -0400 - - afscp: avoid null dereference in _GetSecurityObject error case - - Handle the possible error return from krb5_get_host_realm in the - same way as the other error cases (using an anonymous security - object); otherwise "realm" would be left null. - - Change-Id: I5ce7a614a3e272b3a9903a8e95545a8116d1af3c - Reviewed-on: http://gerrit.openafs.org/7891 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2460396391a17b6dc44c493d21fe921604a16cda -Author: Garrett Wollman -Date: Sat Jul 28 00:26:44 2012 -0400 - - pam: Use the right password variable in pam_sm_chauthtok() - - "password" is known to be null at this point. Use "prompt_password" - which is obviously the one intended. - - Change-Id: I4ab566f93c4978438df2c2875d619177ad8f5bdd - Reviewed-on: http://gerrit.openafs.org/7892 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fdb4ec2e2767359eb6b5309a0342492c70d206e4 -Author: Garrett Wollman -Date: Fri Jul 27 19:50:42 2012 -0400 - - butc: don't pass NULL to strcpy in RcreateDump - - volumesetNamePtr can return a null pointer in certain error - conditions. Check for this and return BUDB_BADARGUMENT rather - than dumping core. - - Change-Id: If0ce509c964211ffa591d8e095b7c32c51ae7bc3 - Reviewed-on: http://gerrit.openafs.org/7890 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5237d3d232f22aaf4f67f3a8727a293f4058a7ae -Author: Andrew Deason -Date: Thu Jul 26 16:40:03 2012 -0500 - - LINUX: Hold GLOCK for proc traversal - - The functions that traverse unixuser structures for display via /proc - (uu_start et al) call various libafs functions hold and release locks, - etc. To do any of that, we need GLOCK. Amongst other issues, we can - panic if we try to acquire a contested lock without GLOCK, since we - assert glock is held when we sleep for the lock or try to wake other - waiters. The same goes for the legacy CellServDB proc file. - - So, hold and release GLOCK as appropriate. - - Change-Id: I9ec2051bc5d914521d12a9d20d28da1076c090fc - Reviewed-on: http://gerrit.openafs.org/7885 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 23f2f1232b03ed02f87582c12b4c4e8474bc9b5d -Author: Andrew Deason -Date: Thu Jul 26 15:58:45 2012 -0500 - - LINUX: Fix osi_proc.c formatting - - osi_proc.c had a few formatting issues: - - - Several function definitions did not have the function name at the - beginning of the line - - - A few preprocessor directives were not indented - - - A few areas used a tab character for each indentation level, as - opposed to 4 spaces, then 1 tab, as the rest of the tree has - - - Struct definitions were aligned using tabs, not spaces, causing - misalignments when the indentation was fixed - - Fix these. - - Change-Id: I8d6b511473b89c42abd759553ec77332407daff0 - Reviewed-on: http://gerrit.openafs.org/7884 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit e02fd4d358f20bcf001f0486afe1750d4013dea3 -Author: Jeffrey Altman -Date: Mon Jul 16 17:29:54 2012 -0400 - - rx: protect against ACKs with serial as prevPacket - - patchset 4e71409fe1305cde4b9b341247ba658d8d24f4d0 introduced a - check in rxi_ReceiveAckPacket for out of order ack packets which - relied upon the value of the previousPacket field. Unfortunately, - some versions of RX store the previous packet's serial number in - the field instead of previous packet's sequence number. Modify - the check to only discard out of order ACKs if the previousPacket - sequence number is within the valid window. - - Change-Id: I72885a8c1aaa69eb263335be1827545f2b4c3e09 - Reviewed-on: http://gerrit.openafs.org/7785 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 300dd717fa57df77175807cf7cf6be36cb1f9fef -Author: Jeffrey Altman -Date: Thu Jul 26 18:35:48 2012 -0400 - - rx: better rxi_FindRpcStat check for end of queue - - patchset 1f0cf8b2b4bb6e36d8d82323a15ced72d91db0ec tested for - an empty queue but what is really required is a test for end of - queue after the queue_Scan(). If the queue_Scan() completes - at the end of the queue, in other words, pointing at the list - head, then return NULL because no match was found. - - Change-Id: I444531d3cfa85b4691eaa8960da0266de82a03a3 - Reviewed-on: http://gerrit.openafs.org/7886 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ee2b9c2d3ee22dfbc8fd2eb2cc470ae853d4e19a -Author: Jeffrey Altman -Date: Wed Jul 25 01:55:27 2012 -0400 - - rx: protect against invalid params in rx_Copy*RPCStats - - Protect against: - - . rxi_Alloc() failure - - Change-Id: I3334855e261bb40d5720fd376e62028760f0cee5 - Reviewed-on: http://gerrit.openafs.org/7873 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3fc800be9c702c1a40869908831a9895602909cb -Author: Andrew Deason -Date: Wed May 9 18:45:51 2012 -0500 - - vos: Minimize release impact for new RO sites - - Currently, if a new RO site is added with 'vos addsite', the only way - to populate the new site with data is a 'vos release' (excepting hacks - using 'vos restore' and 'vos addsite -live', etc). Due to safeguards - in 'vos' ensuring that RO sites always all contain the same data when - marked as up-to-date in the VLDB, such a release always incurs some - amount of data to be transmitted to all sites, as well as remote sites - being brought offline briefly, even when the RW data has not changed - in very long time. - - To alleviate this situation, make 'vos release' detect if new, - unpopulated RO sites have been added, and if the RW volume has not - changed since the release of any existing RO sites. If both of these - conditions are true, do not update any of the existing sites, but only - transmit volume data to the sites that did not already contain RO - volumes. - - Change-Id: If343d241a18e788c3619876f5d494d2ebf425cb8 - Reviewed-on: http://gerrit.openafs.org/7393 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 93aa733909e72da4a67ef8422070f417cd12b1d8 -Author: Garrett Wollman -Date: Wed Jul 25 00:41:05 2012 -0400 - - tabular_output: don't leak table struct on error exit - - The caller is almost certainly going to exit when we return, but - all the same, don't leak the table description structure in the - error exit. Makes the static analyzer happier. - - Change-Id: I55e986a3601968751921ee38badf5bb86cd3174f - Reviewed-on: http://gerrit.openafs.org/7870 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit ff217dec93c9b46a2f161bea5439d5a41337bf51 -Author: Garrett Wollman -Date: Wed Jul 25 00:22:10 2012 -0400 - - afsdump_extract: clarify logic to avoid freeing local buffer - - Sometimes vnodepath is set to a local buffer. Sometimes it is set - to malloc'ed storage. Simplify the logic for freeing vnodepath - by checking explicitly for this condition rather than the state - of other variables. As a bonus, avoids a false (?) positive from - the static analyzer. - - Change-Id: I3772cb97698acc5a6ac1f438977c673e6fea7722 - Reviewed-on: http://gerrit.openafs.org/7869 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 24d2d3ea83bdadee3d8a8b477be10e9ced178b6d -Author: Michael Meffie -Date: Thu Jun 21 23:44:31 2012 -0400 - - vlserver: always use the hostaddress table in GetAddrsU - - Use the hostaddress (IpMappedAddr) table when looking up hosts by IP - address and when listing addresses by index, instead of accessing - the multi-homed extensions directly. - - The existing vos client calls the old GetAddrs rpc to first retrieve - a count of the number of addresses expected. This count is the - number of addresses in the hostaddress table. If there are - unreferenced entries in the mh extension blocks, then vos can return - an incorrect or incomplete list of addresses. - - To be consistent with the rest of the host address processing, use - the hostaddress table in GetAddrsU to lookup hosts by index or by IP - address. - - The hostaddress table is already used when looking up addresses by - UUID. - - Change-Id: I01aa29ae7d24d48bcd245f0320e329435f61548e - Reviewed-on: http://gerrit.openafs.org/7878 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 7649a66a6193e2fd8a709bf701fcbb07774d2d33 -Author: Garrett Wollman -Date: Sun Jul 22 23:20:01 2012 -0400 - - afs_conn: make release_conns_vector() actually work - - release_conns_vector must never have been called before with - a non-null parameter, because it could not possibly work. - The first line of the loop is a null pointer dereference, and - if that were fixed, there's also a modify-after-free bug as well. - It's not clear how what the old version was trying to do; this - version makes a stab at doing something sensible but might be - less than required. (Note that this would be much simpler if - converted to queue(3) macros or a similar standard linked-list - data structure.) - - Change-Id: I4c0fb7ed1ee977dcc0b4dfb32557882679069731 - Reviewed-on: http://gerrit.openafs.org/7838 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit d0db811939df4eda268ae2ae54a1dc0194653ed9 -Author: Garrett Wollman -Date: Tue Jul 24 22:29:00 2012 -0400 - - pruser: AFS_NONNULL annotations for functions that deserve it - - Change-Id: I68e74affcb3235d93e684a04a56ef44798a42406 - Reviewed-on: http://gerrit.openafs.org/7861 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3f691e663cc55ffb89386e53535030c659cb2fc2 -Author: Garrett Wollman -Date: Wed Jul 25 00:06:05 2012 -0400 - - kauth: ka_CellToRealm's "realm" parameter cannot be null - - Annotate ka_CellToRealm with AFS_NONNULL to indicate that its - "realm" parameter cannot be null; it does not make sense to call - this routine without this parameter. (The static analyzer inlines - the call to ka_ExpandCell and concludes that "realm" might be null; - the annotation will prevent that and avoid a false positive.) - - Change-Id: Id7fac19cf4eb4bdb1decde81d951b8bcd96fce71 - Reviewed-on: http://gerrit.openafs.org/7865 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f6d7a4b426f55db366113bbdda4da71570310410 -Author: Andrew Deason -Date: Wed Jul 25 16:08:41 2012 -0500 - - afsd: More pthreads damage - - We need MT_LIBS for -lpthread and such. HP-UX needs this, and probably - other platforms; otherwise we complain about missing pthreads symbols. - - Change-Id: If7486cabfc20ef4238087f0285c25d9f8602703a - Reviewed-on: http://gerrit.openafs.org/7880 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit cf03e0a4748e122fd1bf2ec9d00e539b70f3eb3f -Author: Andrew Deason -Date: Wed Jul 25 15:48:34 2012 -0500 - - crypto: Use our strcasecmp in kernel - - A few pieces of heimdal we use in the kernel call strcasecmp - (hcrypto/evp.c, krb5/crypto.c). The strcasecmp function does not exist - in all kernels (specifically, it does not exist in at least Linux 2.4, - 2.6.9, and probably not on Solaris pre-10). Since we have our own copy - of strcasecmp (called afs_strcasecmp), just use that for now. - - Ideally we would have some kind of configure test for detecting the - presence of the function in the kernel, and use the roken - implementation when we don't. We currently have the framework for - neither of those in place at the moment, though, so just get by with - this for now. - - Change-Id: Ia96b17596da6cb168c80c92486fa049c05205da4 - Reviewed-on: http://gerrit.openafs.org/7881 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit 97e241fdc68e0759d4b2762ee050f8bdde57a2e0 -Author: Andrew Deason -Date: Thu Jul 26 09:47:35 2012 -0500 - - afs: afs_strcasecmp args are const - - We do not modify our args, so declare them const so we are usable with - const strings. - - Change-Id: I2d60044014e51e2a52638b76ca50a5c2fc6980c0 - Reviewed-on: http://gerrit.openafs.org/7882 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 97146a8ed8497e8bfe3ea24eb0fe4685430fdcf3 -Author: Garrett Wollman -Date: Tue Jul 24 23:41:02 2012 -0400 - - ptuser: avoid implementation-defined behavior in CreateIdList() - - CreateIdList() is an internal subroutine of pr_IDListExpandedMembers(), - used to flatten a hash table of protection IDs into an array that can - be passed to pr_IdToName(). If for some reason the hash table had no - entries, it would call malloc(0) and, depending on how the - the implementation defines this, either return a PRNOMEM error (wrong!) - or else allocate a minimum-sized buffer which pr_IdListExpandedMembers - would then promptly leak. Compromise between the two behaviors by - not allocating any memory in this case but returning success, and in - the caller check for an empty list and avoid the pointless RPC to - translate no IDs into no names. pr_IDListExpandedMembers() will return - success, as it previously did in the non-PRNOMEM case. - - Change-Id: I8a042bde3e98f5cf248358f37f2e875d6b5b298d - Reviewed-on: http://gerrit.openafs.org/7863 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 2e7939ea4653ba3634445b1710aed1206f44f7ca -Author: Garrett Wollman -Date: Tue Jul 24 23:54:56 2012 -0400 - - kauth: don't call lcstring with a null source argument - - This code was probably never executed, but now that lcstring() has - an AFS_NONNULL annotation, the static analyzer indicates the - potential null-pointer-dereference. - - Change-Id: Idb41c2af1cb38bc5c084d4912614e0a553d4aa5a - Reviewed-on: http://gerrit.openafs.org/7864 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit a573697da3fed9509f98e087b65b1fb7a60bc9a0 -Author: Garrett Wollman -Date: Wed Jul 25 00:49:25 2012 -0400 - - rxgen: avoid an unimportant memory leak in docppline() - - If cpp emitted - # 1234 "" - docppline() would leak a small buffer. Just free it. - The static analyzer will thank you. - - Change-Id: I34ae6e228469a900139375f2a4758855922cf0ef - Reviewed-on: http://gerrit.openafs.org/7871 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 3c9a9b49602c4e624662d25f4573ec0e78ed2b7d -Author: Andrew Deason -Date: Wed Jul 25 11:59:44 2012 -0500 - - rx: Initialize kernel rx_atomic_mutex - - Change-Id: I9a63fbee0e5a0f9df31b8e2440e91a03af54151f - Reviewed-on: http://gerrit.openafs.org/7876 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 410a55addfcd055ac666f9bc5450b238648d07bf -Author: Andrew Deason -Date: Wed Jul 25 10:45:16 2012 -0500 - - rx: Raise minimum Linux atomics version to 2.6 - - Linux 2.4 does not have atomic_dec_return. If we switch to a - dec_and_test-like API, then we could use the Linux 2.4 atomics. But - for now, just raise the minimum to 2.6, and for 2.4 and below just use - the generic atomics implementation so we can build. - - Change-Id: Ie584bd420839dbcbe3158fe7b50df633cb7eba6d - Reviewed-on: http://gerrit.openafs.org/7875 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6dd0bc6bed79013fe1737f3e9016066ee74958fd -Author: Andrew Deason -Date: Tue Jul 24 18:18:13 2012 -0500 - - LINUX24: explicit dir buffers fallout - - Fix fallout from 0284e65f97861e888d95576f22a93cd681813c39 - - Change-Id: I40a16fee3bb3835690f7ff7328f70d3454fd1198 - Reviewed-on: http://gerrit.openafs.org/7874 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3638ef30d0de7d82d919b046ec87986ad09442d3 -Author: Derrick Brashear -Date: Wed Jul 25 00:17:46 2012 -0400 - - macos: next version header - - add header for next macos - - Change-Id: I9078b77587197b38ff705663c73a7f930efeec7a - Reviewed-on: http://gerrit.openafs.org/7868 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5f60992bfe17b74526bf7d26c5e0df2a2d1c4833 -Author: Jeffrey Altman -Date: Tue Jul 24 13:56:02 2012 -0400 - - Windows: NPAddConnection3 debugging - - Define Add3FlagsToString() and use it when generating debug - output from NPAddConnection3(). - - Change-Id: I73251890659ea5a833b5f67d26129053c625b58a - Reviewed-on: http://gerrit.openafs.org/7860 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 16b671cf3bddfc1c8cd9f760f99320ac21e583ac -Author: Jeffrey Altman -Date: Tue Jul 24 13:53:49 2012 -0400 - - Windows: Correct exceptions in AFSRDFSProvider - - Correct two errors in the generation of debug strings that - were triggering invalid memory access exceptions. - - Change-Id: Ie5ee3289e2fa74809067f05931c3aa568c2be9d0 - Reviewed-on: http://gerrit.openafs.org/7859 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 78f1e230ce2b7167981e2f327bfdb5d50c94a95f -Author: Garrett Wollman -Date: Sun Jul 22 22:57:41 2012 -0400 - - afs_bypasscache: parameters of afs_ReadNoCache can't be null - - The first two parameters of afs_ReadNoCache() are unconditionally - indirected through, and all existing callers appear to guarantee - that these parameters are in fact non-null, so annotate the function - declaration to so indicate, and remove the one test that checks - whether avc (the first parameter) is null. I suspect that acred - cannot be null either, but this code does not appear to depend on - that, so it's not included in the non-null annotation. - - Change-Id: I496c868ffcbc9b894f91578019bc30bf7b14fefd - Reviewed-on: http://gerrit.openafs.org/7837 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 21878c61ddef84af50fc5c8aacd87cadc3e2dade -Author: Garrett Wollman -Date: Tue Jul 24 01:17:47 2012 -0400 - - ptuser: use the "prname" typedef rather than "char[PR_MAXNAMELEN]" - - There's a typedef for this type, so use it in function prototypes - rather than the more complicated declarator. - - Change-Id: I75a9b4e72201e6b2072dba14185579f9c4aa61be - Reviewed-on: http://gerrit.openafs.org/7858 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 5e0c59284ac3307fd47b5d6a1fa5589362085ced -Author: Derrick Brashear -Date: Tue Jul 24 00:26:56 2012 -0400 - - afsd: fix pthreads damage - - ah linker fun. clean up from 98f86cfc53fc987fdaed2f5bb733b5b5d21bfda9 - - Change-Id: Id78debe0c9ddec0ce5f3fd2b95e16802a132845f - Reviewed-on: http://gerrit.openafs.org/7855 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8ff703fcbb93399f12fb3210b729f82fb43f0ed1 -Author: Jeffrey Altman -Date: Sun Jul 1 22:31:04 2012 -0400 - - Windows: No VLDB server blocking probes - - Now that we have background probes, use them for VLDB server probes. - - Change-Id: Ib160ec5ae702065f410e85ae949ae13a02c425e8 - Reviewed-on: http://gerrit.openafs.org/7854 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ceeb0474578914a64cc938e52533e6c7911396b2 -Author: Jeffrey Altman -Date: Sun Jul 1 22:27:13 2012 -0400 - - Windows: NOPROBE means probe in background thread - - It is important that down servers be detected as soon as possible. - When it is not possible to perform a blocking probe, perform a - probe in a backgrond thread. - - Change-Id: If73856359ba894c5c302c11fd50aaa76cd2fcf28 - Reviewed-on: http://gerrit.openafs.org/7853 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a738c8dcff8410d82b631a0e71c23b8447db9a0d -Author: Garrett Wollman -Date: Mon Jul 23 22:07:38 2012 -0400 - - ptuser: pr_SNameToId/SIdToName: if RPC response empty, force error - - If the prserver returns an empty response to ubik_PR_NameToID - or ubik_PR_IDToName, but doesn't otherwise give an error, - force a PRINTERNAL error return so that the client knows that the - the return parameter was not updated. Existing callers seem to - expect this, as pr_SNameToId is often called without initializing - the variable which receives the result and checking only for the - error code. - - PRINTERNAL is a new error code. - - Change-Id: I3e598a22deb39792a0f208ac09b3c1991d6f1e58 - Reviewed-on: http://gerrit.openafs.org/7836 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 98f86cfc53fc987fdaed2f5bb733b5b5d21bfda9 -Author: Derrick Brashear -Date: Sun Jul 22 09:18:28 2012 -0400 - - afsd: switch to pthreads - - kill one more lwp dependency. - - Change-Id: I9a878d7b0e1ab50770c6162f6bd380119b7a4292 - Reviewed-on: http://gerrit.openafs.org/7828 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a3b6a940f84a35aa3ae0d3ee6963ef4086f3a3a4 -Author: Derrick Brashear -Date: Mon Jul 23 22:25:19 2012 -0400 - - afsd: cleanup syscall cleanup - - sadly ead743db5d57afa175f5dc0828b76881bcbcbf54 missed a few bugs. fix - them here. - - Change-Id: I03d52543fb096f75ccf6dbde4f7526a7c0c576bb - Reviewed-on: http://gerrit.openafs.org/7852 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 736e0dbeec54e19801e96ba93d471bd5a995f4f3 -Author: Jeffrey Altman -Date: Sun Jul 22 01:19:57 2012 -0400 - - Windows: get rid of _strdup and use rk_strdup - - Do not use the _strdup() C RTL function. Use strdup() so that - rk_strdup() roken replacement can be used. - - Change-Id: Ifd2808a078b514468aee52ef76a9b51e606a2c88 - Reviewed-on: http://gerrit.openafs.org/7848 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 907dbac89cfde3d3663c14fa17ca5ac9ced5a846 -Author: Jeffrey Altman -Date: Fri Jul 20 10:19:07 2012 -0400 - - roken: rk_strdup rk_wcsdup exports - - Change-Id: Iee3670ddf86599dd81f1247a9f8cfafcbc6e1e8f - Reviewed-on: http://gerrit.openafs.org/7847 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cabfe32c335002d2cfc77481c33d091cc7fd0dda -Author: Heimdal Developers -Date: Mon Jul 23 17:27:56 2012 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - b8a53329fc8bf2fe8c4f4058512f828d7654e3f8 (switch-from-svn-to-git-3003-gb8a5332) - - Upstream changes are: - - Jeffrey Altman (2): - Windows: rk_strdup allocator - Windows: rk_wcsdup allocator - - Nicolas Williams (1): - Fix bug in _krb5_expand_path_tokensv() - - Change-Id: I08abb25b4f4136bccb3eaf8d8c44851ce748f395 - Reviewed-on: http://gerrit.openafs.org/7842 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 5dce817d40bc69684451e88fe8a0f1078f1f3880 -Author: Simon Wilkinson -Date: Wed Jul 18 10:22:07 2012 +0100 - - ptserver: Make ptclient build again - - Make the ptclient utility build again, and add it to the ptserver - Makefile so that it is built by default and, hopefully, won't - bitrot again. - - Change-Id: I888a9d4392b62ecb2d7556694400a2853658052a - Reviewed-on: http://gerrit.openafs.org/7841 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0eca3c1822683ccf1b559eb8e455688c5bdc1fc9 -Author: Simon Wilkinson -Date: Mon Jul 16 20:09:04 2012 +0100 - - auth: Fix GetTokenEx with NULL cellName - - If GetTokenEx is called with a NULL cellName, it means use the - local cell. To do this with the legacy interface, a 0 length string - must be used for the cell instance of the ktc_principal passed to - GetToken. Fix this so that we do so, rather than attempting to - strcpy(..., NULL) which never ends well. - - Caught by clang-analyzer - - Change-Id: I53d9bdf0fc280ee073a2fb7693659269df29c2eb - Reviewed-on: http://gerrit.openafs.org/7840 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1f0cf8b2b4bb6e36d8d82323a15ced72d91db0ec -Author: Jeffrey Altman -Date: Sun Jul 22 20:40:41 2012 -0400 - - rx: rxi_FindRpcStat must test for empty queue - - When queue_Scan is executed on an empty queue the queue element - variable, in this case 'rpc_stat' is the queue head, _RXQ(q), - and not NULL. Callers of rxi_FindRpcStat() expect NULL on failure - to find or create an rx_interface_stat object. Correct the behavior - by testing for an empty queue and return NULL immediately if the - queue is empty and the caller is not requesting creation. - - Change-Id: I9952d7aaf357e039e87f6b8b17cb1a00208d6465 - Reviewed-on: http://gerrit.openafs.org/7835 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ead743db5d57afa175f5dc0828b76881bcbcbf54 -Author: Simon Wilkinson -Date: Wed Sep 7 18:31:32 2011 +0100 - - afsd: Tidy up system calls - - Tidy up the way that we do system calls from afsd, by making - afsd_syscall a va_arg function, using a structure to pass system call - information around, and simplifying the #ifdef ladder that converts our - platform independent system calls into something platform specific. - - This fixes all of the warnings in afsd which required the -Wno-error - option, the only warnings remaining are related to daemon being - deprecated on Darwin. - - Change-Id: I357c7d175b5327007d50d213c6181881c842050e - Reviewed-on: http://gerrit.openafs.org/7188 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 748a3e29b624d10e90af43cb0dc65a4f96c0310e -Author: Jeffrey Altman -Date: Mon Jul 23 01:38:03 2012 -0400 - - Windows: cm_UpdateVolumeLocation volp locked - - When calling cm_UpdateVolumeLocation the volp->mx must be held. - cm_Analyze() did not obtain the mutex as required. - - Change-Id: Ida69105879a78692a367cd4439bee8e4bea751ff - Reviewed-on: http://gerrit.openafs.org/7839 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 82865811e49aae8b7b8ff9f5d995dc32518b9eb8 -Author: Michael Meffie -Date: Thu Jun 7 13:54:20 2012 -0400 - - libafs: avoid flushing already freed dcaches in flush volumes - - When flushing volume data, skip flushing dcache entries which - are already freed. - - Change-Id: I74d7e055e833dc91214dd9d544af3781f74db59b - Reviewed-on: http://gerrit.openafs.org/7539 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fd707e3014945b99539db9ea5198859713e33251 -Author: Marc Dionne -Date: Thu Jul 19 22:23:20 2012 -0400 - - vol: set correct bit in bitmap after VGrowBitmap - - Set the correct bit after the bitmap is expanded with VGrowBitmap - so we don't allocate it twice and trigger a salvage. - - Change-Id: Iee307a0913d4402c2d5a32d493ff489b35778811 - Reviewed-on: http://gerrit.openafs.org/7793 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 91d7cd931a0362b5055c37fc7adc3f5d6015b573 -Author: Garrett Wollman -Date: Fri Jul 20 18:35:56 2012 -0400 - - uafs: avoid type-punning in get_user_struct() - - There's no need for type-punning here; usr_getspecific() is a macro - that just assigns to the variable whose address we provide, so the - cast was just unnecessary (and erroneous) obfuscation. This is the - only caller of usr_getspecific(), so if it needs to be more complex - in the future, it should probably just be open-coded here. - - Change-Id: I81286cbce9a00908aa87073b728b07d8bcc8d1d1 - Reviewed-on: http://gerrit.openafs.org/7799 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d3761b9e6265df47e38e166983711a591ef48b31 -Author: Derrick Brashear -Date: Sat Jul 21 00:27:49 2012 -0400 - - ubik: don't force an error just because calliter is early returning - - in this case, racing another ClientInit caller is not fatal. - clean up from 56b5b9a1c51c2197923aa373c180a834edabe4f6 which was - my fault. - - Change-Id: I81d3298a775ed46972779b4121498560883fee01 - Reviewed-on: http://gerrit.openafs.org/7803 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: Derrick Brashear - -commit e39d6ca55af79b917e459a09893606e79ba50375 -Author: Garrett Wollman -Date: Sat Jul 21 01:35:15 2012 -0400 - - strcompose: NULL must always be cast when passed to a variadic function - - The C standard allows NULL to be defined as a bare "0", which will - be passed to variadic functions as an int. If the function expects - a pointer type, demons fly out of your nose. strcompose() is such - a function, so make sure that all of its callers cast NULL appropriately. - (None of them did.) This may be an opportune time to change all of - the callers to spell it opr_strcompose() as well, and avoid using a - reserved identifier, but this change does not do so. - - Change-Id: Ia9007a48102da4d0a85a48b41a44e83102304b49 - Reviewed-on: http://gerrit.openafs.org/7805 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 466ba9cb60816a455c15e7c3dba5f325f005f2fe -Author: Garrett Wollman -Date: Sat Jul 21 01:22:02 2012 -0400 - - opr: constify various string functions and mark them AFS_NONNULL() - - All of these string functions require at least one non-null argument. - Mark them as AFS_NONNULL() so that the compiler and static checker can - find erroneous uses. The "source" arguments of lcstring and ucstring - can be const, so do so. (This doesn't affect anything in the tree - right now.) While here, note a few unfixed issues with these interfaces.) - - Change-Id: If2a8dd4d617795560e92c09ee604780f90edce6a - Reviewed-on: http://gerrit.openafs.org/7804 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cb807db4505a8d4a4c904d32a59ad168d4650e4c -Author: Derrick Brashear -Date: Wed Jul 18 00:02:16 2012 -0400 - - libafs: getattr should include S_IFDIR on fake dirs - - on macos, VDIR is not useful as part of a directory mode. it's just not. - on aix, solaris, we presumably want to pass S_ISDIR, so do so - - Change-Id: I04ee49857febf1cf96d30bd6a8271f99192630c8 - Reviewed-on: http://gerrit.openafs.org/7789 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 30e26c07d42d8e8208c51719bc823e387d5919ee -Author: Jeffrey Altman -Date: Mon Jul 2 10:26:05 2012 -0400 - - Windows: Recompute server rank periodically - - After VL_ProbeServer and RXAFS_Getcapabilities RPCs call - cm_RankServer() to recompute the server ranks based upon the - updated peer statistics. - - Change-Id: I84687e12f1c1bd323a95c5ffcc73b95d400bd1f5 - Reviewed-on: http://gerrit.openafs.org/7827 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a3e2bd0d0183fab913264b04c6772f000367cb73 -Author: Jeffrey Altman -Date: Fri Jul 20 02:57:35 2012 -0400 - - Windows: Clear peer RPC stats on IP addr change - - When an IP address change has been detected, clear the peer - RPC statistics used for server ranking. - - Change-Id: Ie9e3f4553f9d0b22d4876b729ce0028e762efb33 - Reviewed-on: http://gerrit.openafs.org/7826 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c0d652dcdead56c53c622ade5df0f50e8aefd0f2 -Author: Jeffrey Altman -Date: Fri Jul 20 02:55:20 2012 -0400 - - Windows: server rankings by RPC statistics - - Use VL_ProbeServer for VLDB servers and either - opcode_RXAFS_GetCapabilities or opcode_RXAFS_GetTime for - File servers. - - Change-Id: I67c3ad88ac3dd07ac1c0e44d462853d068bf50c8 - Reviewed-on: http://gerrit.openafs.org/7825 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c1081a3ab5dc7e5c83ad84dd0b5c795969745d7d -Author: Derrick Brashear -Date: Sat Jul 21 00:17:14 2012 -0400 - - rxgen: per-opcode stats - - allow access to per-opcode stats - - Change-Id: I17639cf23acac23acfb9cb7dc07a7c5c81d4ff89 - Reviewed-on: http://gerrit.openafs.org/7802 - Tested-by: BuildBot - Reviewed-by: Jacob Thebault-Spieker - Reviewed-by: Derrick Brashear - -commit c3767f1e90b7ba61efcb25e022d27f35d1accc2b -Author: Derrick Brashear -Date: Sat Jul 21 00:07:41 2012 -0400 - - rxgen: emit opcode defines in header - - define an opcode-name-specific define with the numeric value - of the opcode - - Change-Id: I34e6eb57ac2c57319a83b0279cc9115050a39c4f - Reviewed-on: http://gerrit.openafs.org/7801 - Reviewed-by: Jacob Thebault-Spieker - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 417df0d495a8636aec6959b074a35885e20022c9 -Author: Garrett Wollman -Date: Sat Jul 21 00:04:58 2012 -0400 - - xdr: fix two old FIXMEs related to signed/unsigned arithmetic - - It's implementation-defined whether the C '>>' operator, when - applied to a signed integer, is sign-extending or zero-filling. - If you want unsigned arithmetic, you have to ask for it explicitly. - One assumes the reason for the shift is to avoid overflow if the - returned size/count is later converted to a signed int, in which - case maybe it would be better to use INT_MAX here. This is the - minimal change necessary for correctness. - - Change-Id: I6e848110963b5e1832a11d052d84884f10903e2e - Reviewed-on: http://gerrit.openafs.org/7800 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 860812931f3adf07c85ac2a56deb149b9c0d33bb -Author: Jeffrey Altman -Date: Sat Jul 21 12:17:46 2012 -0400 - - Windows: AFSTearDownFcbExtents loop conditional - - If there are extents in the list with a non-zero ActiveCount, - those extents will be skipped and the list 'le' will never - become empty. Add an additional condition to ensure that the - loop is only executed once for each extent in the list. - - Change-Id: I48adf7c49282181d0a34135ac50f7fa1a165c735 - Reviewed-on: http://gerrit.openafs.org/7810 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6b0bc2f6ff6ffecb4dd158ba5d2021d46bad7da0 -Author: Jeffrey Altman -Date: Sat Jul 21 12:02:20 2012 -0400 - - Windows: memory leak AFSInitPIOCtlDirectoryCB - - In an error occurs during AFSInitPIOCtlDirectoryCB processing - the nonpaged pool allocation would be leaked. - - Change-Id: I092538202d84bd65476ba21a68e210d5f626ead2 - Reviewed-on: http://gerrit.openafs.org/7809 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit af1bdc2b7758615ac22505128415a4f10a1f8f10 -Author: Jeffrey Altman -Date: Sat Jul 21 12:00:21 2012 -0400 - - Windows: memory leak AFSRemoveVolume - - Do not leak the - VolumeCB->ObjectInformation.Specific.Directory.PIOCtlDirectoryCB->NonPaged - allocation and the associated lock object. - - Change-Id: Ie6455c49fdcee578ab31355df1b2237f27a92e1d - Reviewed-on: http://gerrit.openafs.org/7808 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fe61f35d35003121c94b717a1dd79119c9073adc -Author: Jeffrey Altman -Date: Sat Jul 21 11:52:22 2012 -0400 - - Windows: AFSExFreePool -> AFSExFreePoolWithTag - - Replace AFSExFreePool() with AFSExFreePoolWithTag() which is - a wrapper around both ExFreePool() and ExFreePoolWithTag(). - If a 'Tag' value, is provided, ExFreePoolWithTag() is used. - Otherwise, ExFreePool(). - - Specify allocation tag values wherever possible. Path name buffer - tags are not specified because they are allocated using multiple - tags. The same is true for network provider string buffers. - - This is being done in order to debug a memory corruption issue. - - Warning: this is a change to the AFSRedir->AFSRedirLib interface - and therefore both drivers must be updated with a reboot and - not simply restarting the service. - - Change-Id: Id5c0503141d1077d6c2beae5d28602160105a312 - Reviewed-on: http://gerrit.openafs.org/7807 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8a11435eed2d3d1d1aef0ebb92822b34299b2e4d -Author: Jeffrey Altman -Date: Sat Jul 21 11:57:40 2012 -0400 - - Windows: Freeing SeQueryInformationToken allocations - - Memory allocated by SeQueryInformationToken() must be freed with - ExFreePool() and not AFSExFreePool(). - - Change-Id: Iece2c37d5dc524204cbf3d8d6869148e1a0ce88e - Reviewed-on: http://gerrit.openafs.org/7806 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3ec1bdf9c74bd250d49065fa84475a5123461744 -Author: Jeffrey Altman -Date: Fri Jul 20 10:20:02 2012 -0400 - - rx: fix abort on missing service - - patchset 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1 introduced - the possibility that a NULL connection pointer could be dereferenced. - Prevent it. - - Change-Id: Ic813642c8073cedc3e4df578c1b06fecd22cfbdf - Reviewed-on: http://gerrit.openafs.org/7794 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit bbf92017b084a8ba8df81effe06d11421cdf4bb0 -Author: Jeffrey Altman -Date: Mon Jul 16 16:53:32 2012 -0400 - - rx: rxi_ReceiveDataPacket do not set rprev on drop - - In KERNEL builds if there are no available packet buffers the - new packet is dropped on the floor. In that case, the call's - rprev field should not be updated because the packet was never - "received" for delivery to the application. - - Remove a dead comment from the same block of code. - - Change-Id: I12a2b1618a430880d18efee48e6348e6f9ba8119 - Reviewed-on: http://gerrit.openafs.org/7784 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 91f17adf01e54302b0c8d86df5627214f0bdf5d0 -Author: Jeffrey Altman -Date: Fri Jul 20 01:00:38 2012 -0400 - - Windows: avoid memory overrun during extent release - - While tearing down extents, if an extent is found to be in use - it will be skipped. Must use 'ulReleaseCount' as the index - into the released extent array. - - Change-Id: Iaf8a82c77ac8f4ddb30b35f43a4ce7a70f4a32a8 - Reviewed-on: http://gerrit.openafs.org/7796 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7ec46ced616f7af72fa3ce1d60304ae475977a28 -Author: Jeffrey Altman -Date: Fri Jul 20 00:59:33 2012 -0400 - - Windows: more roken.h include corrections - - Change-Id: I02d4347b870ff1e06b4f144bedb37d50c697c5ba - Reviewed-on: http://gerrit.openafs.org/7795 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 14c98f9df9fd7686f6fc453edaf70168e19e6da9 -Author: Jeffrey Altman -Date: Fri Jul 20 02:54:18 2012 -0400 - - windows: add afsroken to afssvrcpa NTMakefile - - Change-Id: Iae17ad514bc9ce9a6786e820105a413b31a419ff - Reviewed-on: http://gerrit.openafs.org/7797 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 281b5385855e98c9aa989bfba91451c56a1b73f1 -Author: Garrett Wollman -Date: Fri Jul 20 18:11:38 2012 -0400 - - uafs: avoid unnecessary type-punning - - There's no need to declare a separate buffer and initialize a structure - inside it when we can just instantiate the structure directly. - - Change-Id: Idbcad31343ce7f074015f5921a4997d3f6c9799a - Reviewed-on: http://gerrit.openafs.org/7798 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 6060374216bb899280d619b1b5834ffcb6dad2d7 -Author: Derrick Brashear -Date: Thu Jul 19 11:30:02 2012 -0400 - - macos: no bulkstat - - i have a bulkstat refactor in mind, but this *still* isn't safe - on osx. disable as is on 1.6 - - Change-Id: I9446a6307e4890e4f7a78ab7fc054d84c39c992b - Reviewed-on: http://gerrit.openafs.org/7792 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 56b5b9a1c51c2197923aa373c180a834edabe4f6 -Author: Garrett Wollman -Date: Sun Jul 15 22:07:05 2012 -0400 - - ubik: refactor error exits in internal CallIter() - - Originally, the first store to "code" was dead here. Refactor the - error exits to follow the non-error exit path, which has the effect - of making the store to "code" live again (and also makes it less - likely that any new cleanup code will be unintentionally omitted). - In the ubik_ClientInit recovery case, handle the possibility that - aproc() returned zero and return UINTERNAL rather than letting the - caller think that this operation succeeded. - - Change-Id: Idc198aa7a6e21975faaca9f159e822c9e3f66d98 - Reviewed-on: http://gerrit.openafs.org/7776 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 33a761ebd11e33b5e111e67204218e8f67bef431 -Author: Derrick Brashear -Date: Tue Jul 17 15:34:07 2012 -0400 - - macos: get more packets if requested - - analogous to eead07418f13cd87a90770f03ea5118c546d8f1a for ukernel, - this is for macos' upcall procedure - - Change-Id: Ia9d6108d8bb45b9bd33fe9a3af761dfe15248c6e - Reviewed-on: http://gerrit.openafs.org/7788 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 50009267bb6deaa431042dc99ac6e5d913b1412a -Author: Derrick Brashear -Date: Tue Jul 17 00:15:56 2012 -0400 - - macos: native apps need 64 bit support - - the installer bundle, prefs pane and backgrounder all need to be 64 bit - mode since the system uses them as plugins - - Change-Id: Ic2242ed8c993b7ed0a7c15ada78b625799bb446a - Reviewed-on: http://gerrit.openafs.org/7787 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3dd230e8595e2b9635d6ec412a145ae3be229b7a -Author: Derrick Brashear -Date: Mon Jul 16 22:32:55 2012 -0400 - - macos: fix growlagent icon handling - - the whole of the api used for icon handling when you steal it - from a resource fork is deprecated in new macos. fine. we'll just make - an app bundle by cheating, move andy into a standalone icns file, - install him into the "bundle" and open it the macos way. - - Change-Id: I94b3fdb5fdb08b28400bd0f6f6a18a07840124df - Reviewed-on: http://gerrit.openafs.org/7786 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e359aa5c617e668535bc28eb88a139f1ae85851f -Author: Derrick Brashear -Date: Mon Jul 16 15:55:54 2012 -0400 - - libafs: pointopoint not supported in ukernel - - afs_server.c:1054: error: 'struct usr_in_ifaddr' has no member named 'ia_dstaddr' - - well, for now, bye bye! - - Change-Id: I3246a52e0bbdcfb92045de7e21febe0e65255db2 - Reviewed-on: http://gerrit.openafs.org/7783 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e6aa586a996e32b3def4b8108815730fcfbf1463 -Author: Derrick Brashear -Date: Mon Jul 16 15:16:53 2012 -0400 - - macos: future-proof MakefileProto.DARWIN.in - - if new cases show up which match the current ones, they just work. - darwin60 and older were already killed from the tree, kill here also - - Change-Id: Id246e13985c4752e99f606efd009bc5ce2871691 - Reviewed-on: http://gerrit.openafs.org/7782 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 25556cf0015c9930adcd8a36d06f3008625db993 -Author: Derrick Brashear -Date: Mon Jul 16 15:09:11 2012 -0400 - - macos: actually link in shlibs - - we need shlibs in /usr/lib, actually install the links - - Change-Id: I172da1d043f70f7335c5d0aaaa9a301eef542243 - Reviewed-on: http://gerrit.openafs.org/7781 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f25734e9226232e03a397e0eded9a873ea0dfaa8 -Author: Garrett Wollman -Date: Sun Jul 15 22:47:51 2012 -0400 - - afs_vcache: remove redundant assignment in afs_FlushAllVCaches() - - Don't do in the body of the loop that which the loop itself - already does. - - Change-Id: I41b5cbee86ab783d59024d8961c933525a5128d7 - Reviewed-on: http://gerrit.openafs.org/7780 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 4a6a95fdb4ffb8f2681beb5e4e62ddd378baf75d -Author: Garrett Wollman -Date: Sun Jul 15 22:16:27 2012 -0400 - - afs_server: remove 3 dead assignments in LoopServers, move live one - - The assignments to conns, rxconns, and conntimer are all dead, so - remove them. The assignment to nconns is live, but rather far from - the for loop that actually uses it; move it to just before the loop. - - Change-Id: I8daf642630cc2d468ba7db42de46b69cd88fac28 - Reviewed-on: http://gerrit.openafs.org/7777 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 73ff09513013ae3c6b29b1b7b0a6e76b4fd260f7 -Author: Derrick Brashear -Date: Sun Jul 15 03:03:00 2012 -0400 - - macos: next version support - - support things beyond 10.7 - - Change-Id: I7a50f569fd43e0e1ed3c74f0480a8e2521df1bc5 - Reviewed-on: http://gerrit.openafs.org/7763 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit a27a8a66c2c27a62afa566679ef9cf424e758d9f -Author: Michael Meffie -Date: Tue Jun 26 15:09:07 2012 -0400 - - vldb_check: off by one host address table error - - Fix several off-by-one errors when traversing the IpMappedAddr - table in vldb_check. The last index (254) was not checked - in several places. - - Change-Id: Ida5039fefa1fa55f6f647dee4ed3a26dd84a85d0 - Reviewed-on: http://gerrit.openafs.org/7614 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 36c6c46bd081e0278611c3bb6ae25dd765f10648 -Author: Michael Meffie -Date: Thu Jun 7 12:58:54 2012 -0400 - - libafs: use afs_ResetVCache in flush volume data - - Remove some code duplication by using afs_ResetVCache - in the flush volume data pioctl. Adds a flag to - ResetVCache to avoid unneeded calls to purge dnlc - when reseting all the vcaches in a volume. - - Adds freeing of vcache link data in the flush volume - data pioctl. - - Change-Id: Ib94e6b4d28078a03d2ffd217998bbc345c4968e4 - Reviewed-on: http://gerrit.openafs.org/7538 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit cc4552c9a1ca4a12d3d7f64d98185f8d2025834d -Author: Garrett Wollman -Date: Sun Jul 15 21:53:17 2012 -0400 - - util: eliminate dead store in hostutil_GetHostByName - - Change-Id: Ibf6712ec239a5f4d163c145f5444c086277e4445 - Reviewed-on: http://gerrit.openafs.org/7774 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b69ca34eb55f9d0a53e5f6b2e6155c7824b2fde -Author: Garrett Wollman -Date: Sun Jul 15 15:41:25 2012 -0400 - - rx: dead initialization in rxi_RestoreDataBufs - - Don't initialize iov only to overwrite it immediately below. - - Change-Id: I5b5660f31e02094a8871a0726dbd5be7ae6f9ea6 - Reviewed-on: http://gerrit.openafs.org/7770 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e319f0ed8bf110d3b614f8e1feca73e6601b4a2d -Author: Garrett Wollman -Date: Sun Jul 15 15:44:42 2012 -0400 - - vol: dead initialization in VWalkVolumeHeaders() - - Actually, all of the initializers in this small function are dead. - - Change-Id: If89fe3222ec39b34233f92f3aafd458f5723b0c5 - Reviewed-on: http://gerrit.openafs.org/7771 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6422be38fc8084a58b70412e3cfe087a4e1e57b8 -Author: Garrett Wollman -Date: Sun Jul 15 22:00:04 2012 -0400 - - rx: eliminate dead variable sdl in rx_getAllAddr_internal() - - Near as I can tell, sdl is only assigned once, and is never read. - - Change-Id: I145be12aef902db3ad149be39c1db360775d4456 - Reviewed-on: http://gerrit.openafs.org/7775 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e194a8b7f811a995e8f7147a12ac4be6e96f873f -Author: Garrett Wollman -Date: Sun Jul 15 14:09:11 2012 -0400 - - util: LogCommandLine: argc is an int, so assert that it's positive - - In practice, argc should never be negative, but by convention it's - a signed int, so change the assertion to require it to be positive - rather than merely nonzero to get some help to the static analyzer. - - Change-Id: I2d6c00b8ad2f8d573d717f1e2b88a4bb902f125c - Reviewed-on: http://gerrit.openafs.org/7765 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f4b2ad4dc974b441819d0113efbb81c537b8ed97 -Author: Garrett Wollman -Date: Sun Jul 15 14:18:12 2012 -0400 - - budb: don't malloc(0) on error condition in GetText() - - malloc(0) is non-portable (may return a pointer to no space, or it - may return NULL. Just set the result to NULL without bothering to - call malloc(), as is done earlier in this function. - - Change-Id: Ic3562e722113a1409ec7c30bd571e9470b3e092b - Reviewed-on: http://gerrit.openafs.org/7766 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0527cc793054e582ea8be8c0dc76df9e2ca0ab1b -Author: Garrett Wollman -Date: Sun Jul 15 14:54:47 2012 -0400 - - util: in util_newTable, don't leak Table on error - - It is unlikely that this memory leak actually matters as the caller - will normally just exit. - - This whole source file could stand to be reformatted. - - Change-Id: Ic5cb52a73ac09ae492c6e6ab606dfaf92a1ab8bf - Reviewed-on: http://gerrit.openafs.org/7767 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 53c432d1feba6454af4526b4d797b45a6f205eac -Author: Garrett Wollman -Date: Sun Jul 15 15:01:29 2012 -0400 - - rx: don't leak a connection hash table in unlikely error condition - - If getsockname() returns an error (which shouldn't be possible), - rx_InitHost would leak a connection hash table (which probably - doesn't matter because the caller will just exit anyway). Make - the analyzer happy by freeing the memory anyway. - - Change-Id: If8e78ebfb787d2dc1c0b9f95f91b6e7510c9e307 - Reviewed-on: http://gerrit.openafs.org/7768 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 3af6beea4b03bd4dd62b23a6a0df149037b456c0 -Author: Garrett Wollman -Date: Sun Jul 15 15:13:55 2012 -0400 - - volser: don't derefernce null pointer in copyVnodes() - - split_volume() can call copyVnodes() with parVnode == NULL, so guard - the one reference to parVnode (a memcpy()) to avoid a fault. - - Change-Id: I631a78bcfa6a7a465e997a6714849ca0d2d86f86 - Reviewed-on: http://gerrit.openafs.org/7769 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d2d591caf2c9b4cf2ebae708cc9b4c8b78ca5a5a -Author: Jeffrey Altman -Date: Tue Jul 3 15:58:01 2012 -0400 - - viced: RXAFS_GetVolumeStatus remove access check - - The AFS file server had always performed a PRSFS_READ permission - check on the volume's root directory (1.1) vnode before responding - succesfully to the client. A successful response contains the - following volume state information: - - Message of the day (if any) - Offline message (if any) - Online flag - InService flag - Blessed flag - NeedsSalvage flag - Type - MinQuota - MaxQuota - BlocksInUse - PartBlocksAvail - PartMaxBlocks - - All of this information is publicly available to anonymous users - via other services so it is odd that it is hidden from anonymous - cache managers. - - As sites begin to tighten the ACLs on volumes due to privacy - and security concerns this READ permission check is begin to - cause problems for Windows clients that rely upon the quota and - block counts to determine whether or not it is likely to be safe - to perform an extending write. In many environments volumes are - being configured such that the root directory is 'l' for all and - only the subdirectories provide for 'ridw'. Under these situations - the user is able to read/write the data but cannot determine how - much free space is available. Since all of the data returned by - RXAFS_GetVolumeStatus is publicly available, the patchset removes - the access check entirely. - - Change-Id: Ic8a8d755b0ed61789a49243827083ae97c137560 - Reviewed-on: http://gerrit.openafs.org/7705 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit d2ef4a6e1f685564ed51e8c1bc82642b406e936a -Author: Garrett Wollman -Date: Sun Jul 15 22:34:42 2012 -0400 - - bozo: small-notifier: don't ignore return from system() - - Nobody can possibly be using this program, but even so, don't ignore - return values. Unfortunately, the return value of system() is a bit - complicated to interpret. - - Change-Id: I6edbbb7c010b4e534de9033b91849e2d54bf4b25 - Reviewed-on: http://gerrit.openafs.org/7778 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b9b575c8807e00aa5c1b5c1f26f57982a860d8c3 -Author: Garrett Wollman -Date: Sun Jul 15 22:42:10 2012 -0400 - - budb: remove dead assignment in verifyFreeLists() - - Change-Id: I1c4b6e9f4961395815ca379dd031a309b53d5364 - Reviewed-on: http://gerrit.openafs.org/7779 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c29c302347ba93bd3dc5f88f9c235cb89a0413b8 -Author: Garrett Wollman -Date: Sun Jul 15 21:35:21 2012 -0400 - - afs_server: spell IFF_POINTOPOINT consistently - - The interface flag has one fewer T than normal English usage would - suggest, so this code was never compiled on systems that don't have - the normally-spelled version as an alias. - - Change-Id: I7ae4ab45eda937d122894828ec8fdc104f43392f - Reviewed-on: http://gerrit.openafs.org/7772 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ce1917c801b8338629723b4ccf38b336e873aef1 -Author: Garrett Wollman -Date: Sun Jul 15 21:47:35 2012 -0400 - - volser: dead store in UV_MoveVolume2 - - Change-Id: Iee66b99388c7deb0109aaf676ad28ec9c27e6409 - Reviewed-on: http://gerrit.openafs.org/7773 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 59e0efd22e9a36102a7aa6a544f89f6f2cd3edea -Author: Garrett Wollman -Date: Sun Jul 15 11:56:15 2012 -0400 - - FBSD: don't reference libc_r; no release OpenAFS works on still uses it - - libc_r is the old user-mode threading library. Modern versions of - FreeBSD don't include it, and the conditionals here that (nearly - always) override it with the correct library, libpthread, are true - on every version of FreeBSD for which OpenAFS might plausibly be - compiled. So just use the correct library all the time. - - Change-Id: I8f813814973cec3173f44636523c3bf0bee27b3e - Reviewed-on: http://gerrit.openafs.org/7764 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6b8c43559073caa7f0b9db25bab4812606740e7d -Author: Jeffrey Altman -Date: Fri Jul 6 16:04:28 2012 -0400 - - Windows: add cm_ServerListSize() - - cm_ServerListSize returns the length of a cm_serverRef_t list. - - Change-Id: I6dc1e5e2c23efffe9d6c210ba1c8702d00aabe8f - Reviewed-on: http://gerrit.openafs.org/7759 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2dbe1316a17716e57013cf41e7b19ec898b94cbf -Author: Jeffrey Altman -Date: Fri Jul 6 16:02:38 2012 -0400 - - Windows: add cm_IsVolumeReplicated() - - Given a file id indicates whether the volume it is located on - is replicated or not. - - Change-Id: Icae0a387fc26e2a76b4b6f87fdb5c330da31a96b - Reviewed-on: http://gerrit.openafs.org/7758 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a9be0735b5e23adefc5fd57083ca206e61820bab -Author: Jeffrey Altman -Date: Mon Jul 9 09:34:22 2012 -0400 - - Windows: Redesign of server preferences - - Server rankings should be composed from three values: - - 1. administrative preferences - - 2. network address locality - - 3. peer performance (rtt and congestion window) - - This ensures that local subnet servers are always - preferred. - - Add a new rank for down servers so they are always - sorted las in cm_serverRef lists. - - Change-Id: Id00e151fc1acd65db558571e6a3a0e7cfbf3c6ca - Reviewed-on: http://gerrit.openafs.org/7757 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 65a5e3ce92c47a87c3dca54cec456ae0337c78ef -Author: Michael Meffie -Date: Wed Jul 4 17:54:02 2012 -0400 - - vlserver: fix logging of ip addresses - - Remove the spurious dates surrounding IP addresess in the VLLog. - Instead of multiple calls to the logging function for a given log - line, format a string containing the addresses and call the log - function once. - - Changes the log output from, - - ... The following fileserver is being registered in the VLDB: - ... [Tue Jul 4 14:11:43 2012 192.168.10.128Tue Jul 4 14:11:43 2012 ] - ... It will create a new entry in the VLDB. - - to, - - ... The following fileserver is being registered in the VLDB: - ... [192.168.10.128] - ... It will create a new entry in the VLDB. - - Change-Id: I6c4ac2dcc60fe4c5ced79017b91049f0c327e935 - Reviewed-on: http://gerrit.openafs.org/7750 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f70952a347dff39bd445f8361224e1c622a5b1cf -Author: Jeffrey Altman -Date: Tue Jul 10 00:13:04 2012 -0400 - - Windows: cm_SyncOp waiting logic - - Use interlocked increment and decrement to track the waiters - and use the wait queue itself to determine if there are waiters - instead of the CM_SCACHEFLAG_WAITING flag. - - Change-Id: I9c570cb228d73253989932149346ecfc45804267 - Reviewed-on: http://gerrit.openafs.org/7752 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 80732b94ef8a8fd239d8f77d8e10f0d770f0ec24 -Author: Jeffrey Altman -Date: Tue Jul 10 00:09:14 2012 -0400 - - Windows: remove unused CM_SCACHEFLAGs - - CM_SCACHEFLAG_CALLBACK and CM_SCACHEFLAG_STATD were cleared at - various points and tested at various points but never set. - Remove them. - - Change-Id: I018c51febf01e1311dc38e3779e8c8880890f20a - Reviewed-on: http://gerrit.openafs.org/7751 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6fb3b7aa317a6429daf86b140785875a70686bac -Author: Jeffrey Altman -Date: Sat Jul 7 14:11:23 2012 -0400 - - Windows: not all short rx_Read[v] reads are fatal - - When performing a RXAFS_FetchData[64] RPC, a short read from - rx_Read[v] is not a reason to stop processing the call unless - it is the first read and the file server FetchData offset bug - has been detected. If not, only stop processing if the - rx_Read[v] return value is <= 0. - - Change-Id: I5b10ce7903686fa3d9c251e6c92c4bcec376ed40 - Reviewed-on: http://gerrit.openafs.org/7749 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 606d9554e2880c2978675b7eae3fa5f53bd07c3d -Author: Jeffrey Altman -Date: Mon Jul 9 00:49:13 2012 -0400 - - Windows: record mount point string data version - - The Windows cache manager stores the mount point or symlink target - string in the cm_scache_t object. If the string is the empty string - then the target needs to be resolved. Otherwise it is considered - up to date. With this approach, care must be taken to ensure that - the string is erased whenever the data version changes. - - This patchset records the data version of the mount point target - string in the cm_scache_t object. Being up to date is determined - by comparing the current data version of the object to the mount - point string version. A match and the string is up to date. - - Change-Id: I4dfdc1af5894548afb35e84e77f7f607674bd7af - Reviewed-on: http://gerrit.openafs.org/7745 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit df46bb407a9073374337f4b8e4291e18c74e548c -Author: Jeffrey Altman -Date: Sun Jul 8 02:00:17 2012 -0400 - - Windows: initialize afsStatus and callback structs - - In cm_GetBuffer, cm_GetData, cm_VerifyStoreData - - Change-Id: I4bb965ead41f99c6c677cce35a784b53b1f6b310 - Reviewed-on: http://gerrit.openafs.org/7744 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8115841e2fc9d827a7207ddc18e5c84e466ed7e7 -Author: Jeffrey Altman -Date: Fri Jul 6 15:07:13 2012 -0400 - - Windows: cm_MergeStatus unknown interface numbers - - Ignore status information if the interface number is unknown. - Currently only version 1 is recognized. - - Change-Id: I02618ef81e42ad5b6ef903e2f25598dfb7053ca4 - Reviewed-on: http://gerrit.openafs.org/7743 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 234bedae6ef506ec1ff53854a22548e892db3f11 -Author: Andrew Deason -Date: Wed Jun 20 16:28:51 2012 -0500 - - vos: Avoid creating volume with the same RO/BK ids - - If we specified an RW id of 5, an RO id of 6, and no BK id, this code - would assign the BK id to RW+1, or 6. This gives the RO and BK volumes - the same volume id, which is a mistake. Choose a different id instead. - - Change-Id: I7910008dd6147a95d482337f91926e9e0d924b9e - Reviewed-on: http://gerrit.openafs.org/7603 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5800b7f23cf04525a6d570f4d97a9842d73a4cb8 -Author: Andrew Deason -Date: Thu Jun 28 23:16:33 2012 -0500 - - viced: fsprobe needs MT_LIBS - - fsprobe is built pthreaded, so it needs MT_LIBS; otherwise HP-UX and - possibly other platforms complain about missing pthread symbols. Just - copy the libs from the fileserver link line. - - Change-Id: I78e69c9ea45e983e997b1bc1bb59f97ee07c3e2f - Reviewed-on: http://gerrit.openafs.org/7609 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 9be78ab820476e27b31440dc2f6ba425d21d5436 -Author: Jeffrey Altman -Date: Fri Jul 6 00:29:59 2012 -0400 - - ptserver: unused by set variable 'eid_s' - - Third declaration of 'eid_s' in WalkNextChain() set but unused. - [-Werror=unused-but-set-variable] - - Change-Id: I7a4e2ea3dea3d58379e31d3c6cb4b3169a882bce - Reviewed-on: http://gerrit.openafs.org/7737 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9bc068edc890991b5d384108ce972c12d3c18975 -Author: Jeffrey Altman -Date: Thu Jul 5 16:55:03 2012 -0400 - - Windows: interlocked ops for osi lock flags - - Use interlocked operations to set and clear the flags in the osi - mutex and readwrite lock objects. - - Change-Id: I92089650d3474efb76c45293b5209b3e2350d983 - Reviewed-on: http://gerrit.openafs.org/7720 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d5f067aa735968d4da6685f0883ca978d5e6795c -Author: Jeffrey Altman -Date: Thu Jul 5 16:52:51 2012 -0400 - - Windows: use spin counts for osi base locks - - On multiprocessor systems, spin counts are faster than entering - a processor wait state when there is critical section contention. - Microsoft recommends a count of 4000. This feature is only available - on XP and above which is fine since OpenAFS master and 1.7 no longer - support Windows 2000. - - Change-Id: I1b40d00b2a91e60e1676a53e1c38eb5f9bfadc69 - Reviewed-on: http://gerrit.openafs.org/7719 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f4baf7cf99ef52f3ce9d6a7ee577cd9140a8bdc5 -Author: Jeffrey Altman -Date: Thu Jul 5 21:13:21 2012 -0400 - - Windows: X86 DEBUG Interlocked Or and And - - X86 DEBUG builds do not have a native InterlockedOr or - InterlockedAnd. Therefore, we must provide our own. - - Change-Id: I48f86feb58c96e327500e802340a213c0f70d5e4 - Reviewed-on: http://gerrit.openafs.org/7726 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7f646382f633fb83d2054298cd5ce12a7bfa250c -Author: Michael Meffie -Date: Thu Jun 28 17:24:49 2012 -0400 - - vldb_check: remove unused functions - - Remove the readSIT function, which has been unused - since the IBM days. Remove the commented out and - unimplemented writeUbikHeader stub. - - Change-Id: Ic2cebba6ddf803a537a6b1e5f24db51560209436 - Reviewed-on: http://gerrit.openafs.org/7613 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit 828ef9c39a14af265796755718c10b63513f952c -Author: Andrew Deason -Date: Thu Jun 28 18:56:47 2012 -0500 - - doc: Add fs bypassthreshold man page - - FIXES 130050 - - Change-Id: I0ffc7b93ed9dd93765a25efd60fe3430a86366cf - Reviewed-on: http://gerrit.openafs.org/7602 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 52f3878da4b8f5356e7799f2659d41cade0dbdee -Author: Jeffrey Altman -Date: Thu Jul 5 18:25:09 2012 -0400 - - Windows: remove used 'deltas' from cm_CheckServersMulti() - - Change-Id: I9dd5e72a8fe748a06aa4d008888a41017d60570c - Reviewed-on: http://gerrit.openafs.org/7725 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3b3b620a03b56dba7f0696f8175b9fb2c8fbd6ae -Author: Jeffrey Altman -Date: Thu Jul 5 18:22:24 2012 -0400 - - Windows: Apply cm_GetVolServerList() to cm_ConnFromVolume() - - Use cm_GetVolServerList() in cm_ConnFromVolume() to ensure an - error is returned instead of dereferencing a NULL pointer if - the serverRef list for the requested volume cannot be obtained. - - Change-Id: I265b7e8b64fcf6b4444c7d504e5109d67fa48089 - Reviewed-on: http://gerrit.openafs.org/7724 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4e3400414f676b9a0033f041f81671534ffdab99 -Author: Jeffrey Altman -Date: Thu Jul 5 18:21:51 2012 -0400 - - Windows: Apply cm_GetVolServerList() to cm_Analyze() - - Using cm_GetVolServerList() it is possible to simplify - the logic in cm_Analyze(). It is no longer necessary - for cm_Analyze() to call cm_GetServerList() which must - obtain its own reference the the cm_volume_t object via - a fileId lookup. This reduces lock contention and makes - the code a bit more readable. - - Change-Id: I3a39458676af06fd473489d639bf9d2fe80c0b9d - Reviewed-on: http://gerrit.openafs.org/7723 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2575d87824fbf5d0e1a5fcb3a1b49949d6fbe2ee -Author: Jeffrey Altman -Date: Thu Jul 5 18:16:09 2012 -0400 - - Windows: Add cm_GetVolServerList - - cm_GetVolServerList() is a wrapper for cm_GetVolServers() that - returns CM_ERROR_NOSUCHVOLUME if the server list cannot be - obtained for the requested volume. - - Change-Id: I1ab21b3f6ca71507cc382738cb50f87e92ee2ce2 - Reviewed-on: http://gerrit.openafs.org/7722 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ef5686b1a11e1a6ba4590b09170306190d6c7393 -Author: Jeffrey Altman -Date: Thu Jul 5 18:06:13 2012 -0400 - - Windows: Modify cm_GetVolServers and cm_GetServerList - - Move the determination of the 'replicated' state into - cm_GetVolServers() so that cm_GetServerList() and - cm_ConnFromVolume() can be implemented without duplicating - the resolution of the cm_vol_state_t object. - - Change-Id: I355cb2cdf7e327742df7936171ad3dc604f135df - Reviewed-on: http://gerrit.openafs.org/7721 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5b9e9265a0df707e9fb79842ab5aa94b59b8e88e -Author: Jeffrey Altman -Date: Thu Jul 5 14:54:04 2012 -0400 - - Windows: cm_ConnByServer hold userp->mx only while necessary - - The cm_userp_t does not need to be locked while the cm_conn_t - force new connection processing is taking place. - - Change-Id: Ia3711d393d60382b18f7e45621561d2015b97af7 - Reviewed-on: http://gerrit.openafs.org/7718 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c3ce54e6b7be8c2996a0fda2d7ad9780fca2f0ef -Author: Jeffrey Altman -Date: Thu Jul 5 14:33:50 2012 -0400 - - Windows: cm_ConnByServer add conn to list after init - - Do not add a newly created cm_conn_t to the cm_server_t connsp - list until after the object is fully initialized. - - Change-Id: Ic5605abefb51d9342f0d249903e13e99b90452b7 - Reviewed-on: http://gerrit.openafs.org/7717 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f73aebbe8772e62bf8930d70e9edab2f82ff8984 -Author: Jeffrey Altman -Date: Thu Jul 5 11:03:35 2012 -0400 - - Windows: cm_HaveCallback optimize .readonly - - If the cm_scache_t has a registered callback, there is no reason - to obtain a volume reference for a .readonly. Just use the - callback. - - Change-Id: I40a696b9c5fa2e8104837871236c41c338dfbdf9 - Reviewed-on: http://gerrit.openafs.org/7716 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 561b9ce80938d316223f2b313f8224fe06af9d5a -Author: Jeffrey Altman -Date: Tue Jul 3 15:38:33 2012 -0400 - - Windows: RDR RXAFS_GetVolumeStatus vs 1.1 'l' only - - The Windows redirector relies upon the ability to obtain volume - status information to decide whether a file system volume object - can be created and whether or not an extending write can be - permitted. As of this writing, the file server always performs - a PRFS_READ access check on the volume's root directory (1.1) - vnode as a condition for releasing the volume state information - which includes: - - Message of the day (if any) - Offline message (if any) - Online flag - InService flag - Blessed flag - NeedsSalvage flag - Type - MinQuota - MaxQuota - BlocksInUse - PartBlocksAvail - PartMaxBlocks - - All of this information is publicly available to anonymous users - via "vos examine" so it is odd that it is hidden from anonymous - cache managers. When RXAFS_GetVolumeStatus fails, the AFS redirector - was failing to create a file system object for the AFS volume. That - in turn prevented the volume from being accessed even if the user - had 'l' in the root directory and full access everywhere else. - - This patchset will make up fake data for the AFS volume if the - RPC fails. However, doing so does have consequences. The client - will be unable to make an accurate determination regarding free space - on the file server. As a result, an extending write may be permitted - which writes data into the system page cache which in turn cannot - be written to the file server. Such data will be lost and unrecoverable. - - Change-Id: Ic818ce9d51893181941f41d6628394b5917dc811 - Reviewed-on: http://gerrit.openafs.org/7704 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 261ec65f20df46ed043d16a869d042cf61c6eda7 -Author: Jeffrey Altman -Date: Tue Jul 3 12:51:27 2012 -0400 - - Windows: HaveCallback vs readonlyVolumeVersioning - - If the cm_scache_t volumeCreationDate is 0, the field is not - valid for comparison. Add a check during the have callback test. - - Change-Id: I95bbf229d9ee1c7acfd4b7fe30242faaa4c22cf6 - Reviewed-on: http://gerrit.openafs.org/7680 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit c3485a35b7a548d850d55dde4634ba78e5330aa9 -Author: Jeffrey Altman -Date: Tue Jul 3 12:49:53 2012 -0400 - - Windows: HaveCallback vs OfflineRO Is Valid - - commit f716962ab41847af4450d0a361f5de9195b32ed0 - inadvertently broke the offline .readonly is valid functionality - when readonly volume versioning is disabled. Restore it. - - Change-Id: Iae282f394d49ca5f558a62819bc2bbd8dd7f152e - Reviewed-on: http://gerrit.openafs.org/7679 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 64a37fa9f916cd1e8f0ec9bb252fda13aa8b4cd4 -Author: Jeffrey Altman -Date: Tue Jul 3 12:42:52 2012 -0400 - - Windows: cm_DiscardSCache volumeCreationDate - - commit f716962ab41847af4450d0a361f5de9195b32ed0 - clears the cm_scache_t volumeCreationDate field. - It shouldn't because the volumeCreationDate is not a property of - the callback. It is a property of the status information which - does not change simply because the callback expires. - - Change-Id: I3f73cf89588de6c1c87434cd04b86939d45cfa43 - Reviewed-on: http://gerrit.openafs.org/7678 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 673127f6928c9c2fb5a3b0400fa36d4afcf1e5df -Author: Jeffrey Altman -Date: Fri Jun 29 00:35:49 2012 -0400 - - Windows: add missing items to 'clean' rules - - Change-Id: Ibf7ce081d789a5940033ecdcfd62515824176368 - Reviewed-on: http://gerrit.openafs.org/7653 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 17584782a4d76facf5a89a3eeeebfcc23582b3e8 -Author: Jeffrey Altman -Date: Mon Jun 25 23:06:30 2012 -0400 - - Windows: afslogon expand short domain names - - Depending on how the user specifies the domain name during login, - NPLogonNotify may be given a short or a full domain or kerberos - realm name. If the name is the short name, attempt to expand it - automatically if there is no 'realm' configured for the short - domain name. - - This patchset relies upon data in the local registry instead of - using an API such as NameTranslate in order to avoid network - queries to the domain controller that might not be reachable. - - Change-Id: Ib2cd08bca5223fa847a462520074bb758191539d - Reviewed-on: http://gerrit.openafs.org/7650 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 712c0c1d0e506a9010d7a5cc93dfd49bee006d41 -Author: Jeffrey Altman -Date: Mon Jun 25 01:38:41 2012 -0400 - - Windows: afscreds import lsa before renew expiring - - Change-Id: I53d3d000a0970089417d7855fda7a97ba4e61000 - Reviewed-on: http://gerrit.openafs.org/7649 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0834e40bd7444ba1f1770c60b387cf513b279a4b -Author: Jeffrey Altman -Date: Mon Jun 25 01:33:02 2012 -0400 - - Windows: Remove HELP from afscreds - - The old .hlp format is no longer supported and the text of the - help files is long out of date. Remove the HELP buttons from - the dialogs and all references to WM_HELP message processing - from the application. - - Change-Id: I4c735993c7a79d46cbbc49440aa6d77b6861ff85 - Reviewed-on: http://gerrit.openafs.org/7648 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 91795c659087371f941231e51fe284de010e60b1 -Author: Jeffrey Altman -Date: Mon Jun 18 22:03:21 2012 -0400 - - Windows: afslogon major refactoring NPLogonNotify() - - This is a major refactoring of NPLogonNotify() that is meant - to reduce redundancy and add functionality. Key highlights - include: - - * New Domain\user hierarchy that permits configuration - settings to be applied on a per user basis instead of a - domain basis. As part of the extension the username itself - can be mapped. - - * Attempt to import the MSLSA credentials prior to performing - KFW_AFS_get_cred(). - - * Do not perform redundant KFW_AFS_get_cred() calls. - - * Add a flag to indicate if the authentication name is the - LSA principal name. - - * Add more debugging messages. - - Change-Id: Iacd6c6b4d3fe25f07a9c6982d0859eee22d09fe8 - Reviewed-on: http://gerrit.openafs.org/7635 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 76ae0f01b32d3e87273ff6d2c9c20eec59e22e16 -Author: Jeffrey Altman -Date: Mon Jun 18 21:58:26 2012 -0400 - - Windows: afslogon cast away warnings - - cast away size_t to int warnings in 64-bit builds. - - Change-Id: I1200fe6235d75f87c5d8e78496baae29b3c5242c - Reviewed-on: http://gerrit.openafs.org/7634 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 79f68de80e56179cfc5158fdcb51c34cfa864802 -Author: Andrew Deason -Date: Fri Jun 29 12:36:36 2012 -0500 - - Remove empty Makefile continuation lines - - HP-UX make gets confused by constructs like: - - FOO = bar \ - - BAZ = quux - - Where a line continuation is followed by an empty line. So, get rid of - all of these in the tree. Not all of them matter, but removing all of - them makes it easier to find these, and catch them in the future. - - Change-Id: I7d5ef000b5b55de4b71c183589fbfe36e3880ba1 - Reviewed-on: http://gerrit.openafs.org/7611 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Jeffrey Altman - -commit 4707174938b92df189697a2b7e463438c37c1ed0 -Author: Jeffrey Altman -Date: Sun Jul 1 22:19:08 2012 -0400 - - Windows: cm_UpdateVolumeLocation misplaced lock - - The volume->mx was obtained in the wrong place which resulted - in the potential of a panic caused by obtaining the mutex when - it was already held. - - Change-Id: I812ed57bef93c60358591a2a1e19009fc6bb1a2d - Reviewed-on: http://gerrit.openafs.org/7654 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4929b0cb0b57a803a84673fe0faf619d088ed910 -Author: Jeffrey Altman -Date: Thu Jun 28 22:29:19 2012 -0400 - - Windows: WiX backup additional registry keys - - Move backup storage to HKLM\Software\OpenAFS\BackupSettings - - Backup HKLM\SYSTEM\...\Services\AFSRedirector - - Add ..\TransarcAFSDaemon\NetworkProvider "Debug" value - - Change-Id: Iecf0c99ec941fee2bf8ed7f1e8224a50d751bdef - Reviewed-on: http://gerrit.openafs.org/7652 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 03dfcce05aabf2ceecdb84528fc837176c52af77 -Author: Jeffrey Altman -Date: Wed Jun 27 01:00:20 2012 -0400 - - Windows: ensure TreeLock obtain and release same pointer - - The indirection ObjectInformation->ParentObjectInformation does - not appear to be stable. When acquiring and releasing a parent - TreeLock, use a local variable to store the ParentObjectInformation - pointer and use that to access the TreeLock. This will ensure that - the resource obtained is the one that is released. - - Change-Id: If359de0f7572cfa4e401baa47affa6872b79e932 - Reviewed-on: http://gerrit.openafs.org/7651 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f3f282265a3d9e3c968fd06793e6d1a91337f443 -Author: Jeffrey Altman -Date: Sun Jun 24 10:16:42 2012 -0400 - - Windows: Media Protected if create on RO volume - - If there is an attempt to create a file/directory on a readonly - volume as indicated by the Volume Characteristics, return - STATUS_MEDIA_WRITE_PROTECTED immediately. Do not bother contacting - the afsd_service. - - Change-Id: I809adacbbc429166d9a0e308752e484400799cb8 - Reviewed-on: http://gerrit.openafs.org/7647 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 53413685ce56c5adba7b095265a62a5088977de2 -Author: Jeffrey Altman -Date: Sun Jun 24 10:12:51 2012 -0400 - - Windows: Remove incorrect assert AFSVolumeInfo - - When querying the volume information, the input FileId does not - have to be a volume root. Remove this extraneous assertion. - - Change-Id: Iee4c64c395ad409dfcc3d3be31df63ceaf70fc07 - Reviewed-on: http://gerrit.openafs.org/7646 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dddd393198bc066e0fea478baf719c97cd51ec53 -Author: Jeffrey Altman -Date: Sat Jun 23 15:04:29 2012 -0400 - - Windows: NPGetConnectionPerformance - - Restore the implementation of NPGetConnectionPerformance - in AFSRDFSProvider.dll. This time just return 0 for all fields - except for the preferred read/write size which is set to 64K. - - When this function is not implemented at all, a query for - performance of a \\AFS path will be processed by the SMB - redirector. This can result in a 20 second timeout while waiting - for the SMB Browser query for "AFS <20>" to complete. - - Change-Id: I67f7a3f0bb20a4be791bc153109e4e91144e00af - Reviewed-on: http://gerrit.openafs.org/7645 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5a6cf1494613b83332e4fad01980bb636c510a88 -Author: Jeffrey Altman -Date: Sat Jun 23 11:11:47 2012 -0400 - - Windows: ShellExt Add Prop Page only if AFS - - If the file is not in AFS, do not add any of the AFS specific - property sheets. - - Change-Id: Ie6a794d4b93821287a8d41c6f2e4931edaf45917 - Reviewed-on: http://gerrit.openafs.org/7644 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d95d4fcca997ea3f8bfbf4a2c1f22c402446aad8 -Author: Jeffrey Altman -Date: Fri Jun 22 16:51:00 2012 -0400 - - Windows: ShellExt display error if symlink not AFS - - If the path in which a Symlink is to be created is not located - within AFS, display an error dialog. - - Change-Id: I8e4cc6840d56184da7d842cc552d11624cdef89d - Reviewed-on: http://gerrit.openafs.org/7643 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 349c1f53383ee26eb13729d703b0b9e89865ec0c -Author: Jeffrey Altman -Date: Fri Jun 22 16:46:23 2012 -0400 - - Windows: Dir Invalidation Notify Current Object - - When an invalidation is processed for a directory object, - send the notification on the directory object that was invalidated - not its parent. - - Change-Id: I2f5e698e451576891a82364058baee3dc6717362 - Reviewed-on: http://gerrit.openafs.org/7642 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 05ac74528b30d36c195ff8f4df343fa72082a213 -Author: Jeffrey Altman -Date: Fri Jun 22 00:25:26 2012 -0400 - - Windows: check perms before RXAFS_GetVolumeStatus - - Instead of calling RXAFS_GetVolumeStatus naked, perform a read - permission check using RXAFS_FetchStatus first. This permits EACCES - caching to prevent unnecessary requests. - - Regardless of which FileId is queried, always use the root vnode - FileId for the permission check. The file server performs its - permission check using the root vnode. - - Change-Id: I3260bf0061beed5d95aae1d40e25d17be1811271 - Reviewed-on: http://gerrit.openafs.org/7641 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4785361388d21c46dd30332d89bb201522ee1a6c -Author: Jeffrey Altman -Date: Thu Jun 21 19:37:25 2012 -0400 - - Windows: cm_GetROVolumeID empty server list check - - Instead of testing for a non-NULL server list, check to see - that the list itself is non-empty. - - Change-Id: I1d8be33cd5f0713677d6013f5d7344400f6b1ae6 - Reviewed-on: http://gerrit.openafs.org/7640 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 056399bb0d2186bae96223c7f7665e1bc0aed82f -Author: Jeffrey Altman -Date: Thu Jun 21 19:34:58 2012 -0400 - - Windows: Replicated requires more than one site - - The VLDB response may include a list of servers some of which - are not valid replicas because the DONOTUSE flag is set or - because the replica site may be out of date. Instead of setting - the replication state based upon the server count in the VLDB - response, use the number of RO sites that were deemed valid - at the end of processing. - - Change-Id: I47780e1633f3148f1f7c76af89224cbe37dde6c6 - Reviewed-on: http://gerrit.openafs.org/7639 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 877053a8cd419c6a6470972f18c4adc7ddb0f163 -Author: Jeffrey Altman -Date: Thu Jun 21 19:29:26 2012 -0400 - - Windows: [Inline]BulkStat VolSync not accurate? - - Instead of only recording the volume creation date when - cm_readonlyVolumeVersioning is true, record the date whenever - the RPC in use is not a RXAFS_[Inline]BulkStatus. This is - tracked by the addition of flags for cm_MergeStatus and - cm_EndCallBackGrantingCall which identify when the RPC was - in fact a BulkStat variant. - - As a reminder, pre- 1.4.11 and 1.6.0 file servers do not - properly set the VolSync structure when responding to BulkStat - RPCs. At present, there is no method of identifying when it - is safe to use them. When cm_readonlyVolumeVersioning is TRUE, - it is assumed that the file servers are new enough to do the - right thing. - - Change-Id: Ida9a30b07ea646a094e9753af9d79f36ab095a98 - Reviewed-on: http://gerrit.openafs.org/7638 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ae25cf277c8d70da0e6666316baf98d5c117a03b -Author: Jeffrey Altman -Date: Wed Jun 20 00:05:44 2012 -0400 - - Windows: force vldb lookup if server list is empty - - The Windows cache manager can mark server references as "deleted" - which can give the impression that a server reference list is not - empty when it is. If the volume list is empty any attempt to - issue an RPC would fail with a CM_ERROR_ALLDOWN error. Since the - VLDB data is current, this condition will remain for two hours. - - This patchset adds a new error, CM_ERROR_EMPTY, which is returned - when the server reference list is empty. cm_Analyze() is modified - to process the CM_ERROR_EMPTY error by attempting to update the - server reference list. If the update succeeds and the list is no - longer empty, the RPC is retried. Otherwise, the RPC fails as - before. - - Change-Id: I13891c28ec9916bdd03c1b02e1c9049ed0581ed3 - Reviewed-on: http://gerrit.openafs.org/7637 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e0b9b89dd98d0bf449556e3f28b479dd61e7eb95 -Author: Jeffrey Altman -Date: Tue Jun 19 18:48:31 2012 -0400 - - Windows: Freelance Short circuit all vol updates - - As long as the cell is the Freelance Cell ID the volume updates - should be short circuited. There is no benefit to performing - the extra work. - - Change-Id: I3449d8a11607406a616918f9a60796552a6cf6d4 - Reviewed-on: http://gerrit.openafs.org/7636 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7fd1dc6c887c3bf786632901bc72b8250298a98f -Author: Jeffrey Altman -Date: Mon Jun 18 21:55:49 2012 -0400 - - Windows: AFS_Startup_Event must query Debug value - - For proper debugging to be performed within the AFS_Startup_Event - processing, the "Debug" value must be queried from the registry. - - Change-Id: I3b9fa48029f45022c9c5c00cadd64d0822878046 - Reviewed-on: http://gerrit.openafs.org/7633 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 187af8d11350c2ff509244f216c72bdd4b88451a -Author: Jeffrey Altman -Date: Mon Jun 18 21:49:18 2012 -0400 - - Windows: NPLogonNotify secure erase password - - The user's password is copied during the NPLogonNotify - processing, be sure to erase it from the stack before the - function completes. - - Change-Id: Ib600f5656f7b32628e7105336ff0ffef8f15272f - Reviewed-on: http://gerrit.openafs.org/7632 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c8b1f007b530c072ee1f5654833f68e45a2eafd5 -Author: Jeffrey Altman -Date: Mon Jun 18 21:48:05 2012 -0400 - - Windows: afslogon impersonate when deleting tickets - - When tickets are obtained via the KFW_AFS interface the user - context is being impersonated. Do the same when cleaning up. - - Change-Id: Iba43db2e66d8f02e9fbf4e076f6429a53838edea - Reviewed-on: http://gerrit.openafs.org/7631 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ae5aba17cc5d45805f7d263fd645fba0d3bb5116 -Author: Jeffrey Altman -Date: Mon Jun 18 21:45:39 2012 -0400 - - Windows: afslogon make error dialog system modal - - Prevent error dialogs from getting lost behind the desktop - during logon. Make them system modal. Add a warning icon - as well. - - Change-Id: I63aa89d130af18846c86abe4a3327bf7b87e3058 - Reviewed-on: http://gerrit.openafs.org/7630 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7adb93cf51d56936d51b70758a959342728fea56 -Author: Jeffrey Altman -Date: Mon Jun 18 21:39:51 2012 -0400 - - Windows: afslogon MapAuthError - - return WN_NET_ERROR (ERROR_UNEXP_NET_ERR) to indicate a problem - with this network provider when an error occurs instead of - returning WN_NET_SUCCESS. - - Change-Id: Ideaab8b5043e9033adc19efa158c95415f561d0e - Reviewed-on: http://gerrit.openafs.org/7629 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 43d53bed6f591257fee55c343699ee1d3b223ff6 -Author: Jeffrey Altman -Date: Mon Jun 18 21:37:49 2012 -0400 - - Windows: afslogon OutputDebugString - - If the NetworkProvider "Debug" value has the 1th bit set (2), - generate all debug values to the debugger via OutputDebugString(). - - Change-Id: Ie7552fc5d154c178c38962672598a3b71321294d - Reviewed-on: http://gerrit.openafs.org/7628 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e513799232f72ce9deabe5097f06f42d4ce09bf2 -Author: Jeffrey Altman -Date: Mon Jun 18 10:10:32 2012 -0400 - - Windows: Do not permit RDR worker threads to quit - - If the DeviceIoControl from the service's redirector worker threads - fails the thread will terminate. This is a problem because if all - of the threads quit the afs redirector will end up deadlocking - all requests since there will be no method of delivering them to - the service. If there is an error log it (if possible), and retry. - Hopefully it will be transient. - - Change-Id: I3ce5e338e41fd71c5289fe778789f0300c0b5ecd - Reviewed-on: http://gerrit.openafs.org/7627 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d7690835aca12b3d38722a8dafa6efbfb1f549ee -Author: Jeffrey Altman -Date: Thu Jun 7 09:23:26 2012 -0400 - - Windows: misplaced brace in KFW_AFS_get_cred - - A misplaced brace in KFW_AFS_get_cred() results in KFW_AFS_klog() - being executed twice in a row if successful. The second attempt - could fail due to a KRB5KRB_AP_ERR_REPEAT error issued by the KDC. - - Change-Id: I6364c1e378eeeeec9f66449674c8cd240f029a8a - Reviewed-on: http://gerrit.openafs.org/7626 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c639b08ebc1b202b571b245bb5eee075300b2ec0 -Author: Steve Simmons -Date: Wed Jun 27 17:28:36 2012 -0400 - - Added build of cscope index to Makefile - - Add ability to do 'make cscope' at the top of - the distribution tree and get 'cscope.out' built - in ./src. Index file is removed in 'make clean'. - cscope.out is now ignored in src/.gitignore - - Change-Id: I2ae4eea0fce46a87a6b9d5a992fcb7288f6b5655 - Reviewed-on: http://gerrit.openafs.org/7594 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 300cbb28b08c2fd3709942cc6c48e7d9369a3394 -Author: Andrew Deason -Date: Thu Jun 28 15:43:27 2012 -0500 - - doc: Correct volume size CAUTIONS notes - - 2 terabytes is 2^41 bytes, not 2^31 bytes. Also clarify that volumes - can be much larger than this. - - FIXES 130188 - - Change-Id: Id667b2827900dbe447828d773c7b90e9611288a2 - Reviewed-on: http://gerrit.openafs.org/7598 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fcaa53a6d7289665b64037a0d96ae4c6cbf4f776 -Author: Andrew Deason -Date: Thu Jun 28 17:47:32 2012 -0500 - - doc: Fix whitespace errors - - Change-Id: I3bbdf1075279d970bc011277b1f79291a5ba62a6 - Reviewed-on: http://gerrit.openafs.org/7599 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3ff8ef499c56008f4d2ebf5b81e08e98eb0c0826 -Author: Andrew Deason -Date: Thu Jun 28 15:30:40 2012 -0500 - - doc: Consolidate CAUTIONS notes about volume size - - Change-Id: I264906fb3f61db62c483982f613654a9a897f417 - Reviewed-on: http://gerrit.openafs.org/7597 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5e91c3b5d1a70f7af2e04ac74d98ae6b407f169c -Author: Jeffrey Altman -Date: Mon Jul 2 01:56:35 2012 -0400 - - Windows: export roken allocators - - Use rk_alloc, rk_calloc, rk_free, rk_realloc instead of Windows - C RTL allocators. The OpenAFS source tree has a bad habit of - allocating memory in one module and freeing it in another. This - is not a problem for POSIX but is disaster on Windows. This change - ensures that all OpenAFS modules share the same allocator. - - Change-Id: Ia57f1ba351e8dc24e7fbba87bbc9595bcf001ed6 - Reviewed-on: http://gerrit.openafs.org/7625 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9c0b7be87de83493ca1d5a01326982ce5c8c131b -Author: Heimdal Developers -Date: Mon Jul 2 15:00:30 2012 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 3fe55728404c602884f16126e9cc60fc5a3d8f20 (switch-from-svn-to-git-2993-g3fe5572) - - Upstream changes are: - - Andrew Bartlett (1): - Revert "make paranoia check less paranoid" - check that key types strictly match - - Jeffrey Altman (3): - do not include stdint.h unprotected - Windows EAFNOSUPPORT defined by VS2010 - roken: Use a common allocator for all windows - - Love Hornquist Astrand (2): - add rk_getpwnam_r - move windows compat errno constants to after is included - - Nicolas Williams (7): - Fixes to make Heimdal -Wall -Werror clean - Make krb5_kuserok() pluggable and add features (including MIT config compat) - Generalize token expansion to allow for context-specific tokens - Address code review comments (use krb5_enomem()) - Make master build on Windows - Fix a compiler warning in lib/roken/snprintf.c on 32-bit Ubuntu - Move base into lib - - Roland C. Dowdeswell (3): - Turn on -Wextra -Wno-sign-compare -Wno-unused-paramter and fix issues. - Provide support for enctype aliases for ease of use. - Additional changes to make -Wshadow build on Ubuntu 10.04. - - Simon Wilkinson (1): - hcrypto: Use correct size for memset in md2 - - New files are: - roken/realloc.c - roken/win32_alloc.c - - Change-Id: I8129ad5677fd7e3a3d3daa78eadf436bbc63adc2 - Reviewed-on: http://gerrit.openafs.org/7612 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e05a63045230e732d6abb1f4baf8ed5275e19e69 -Author: Simon Wilkinson -Date: Mon Jul 2 14:50:10 2012 +0100 - - roken: Import Windows allocator changes - - Roken now supports using a single allocator across all of the objects - which include that roken library. Two additional objects are required - to support this, so add them to the list of symbols that we import. - - Change-Id: If43537f06a6cdc6ea4dea278cdc1db1e6970f955 - Reviewed-on: http://gerrit.openafs.org/7618 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0e327b4982d630508446aaa2cc0999d899cc8a31 -Author: Jeffrey Altman -Date: Mon Jul 2 11:52:34 2012 -0400 - - cmd: add krb5_enomem() definition - - Heimdal's expand_path.c now makes use of a new function krb5_enomem() - which is a wrapper around krb5_set_error_message(). Add a dummy - implementation to src/cmd/krb5_locl.h so that expand_path.c can - build within the OpenAFS tree. - - Change-Id: I9616604dfd7e0844b7e09576c76d844b1cb678dc - Reviewed-on: http://gerrit.openafs.org/7624 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a41ab064962ef4865dfa5023c4b314c6f935ed64 -Author: Jeffrey Altman -Date: Mon Jul 2 11:49:54 2012 -0400 - - Windows: HAVE_UINTPTR_T - - The Windows build has a definition of uintptr_t. Add - HAVE_UINTPTR_T to the Windows config.h file. The sources imported - from Heimdal make use of it. - - Change-Id: I6d01dd9eb67c1e7f7ef257f0ac06d89d656f8bd8 - Reviewed-on: http://gerrit.openafs.org/7623 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7c2399115153609edc87a4c487d18e7f8b41dcba -Author: Jeffrey Altman -Date: Mon Jul 2 01:42:35 2012 -0400 - - Add HAVE_INT64TOINT32 test in stds.h - - Windows SDK v6.0 and above include a platform specific - definition of Int64ToInt32. Use the platform definition when - available. - - Change-Id: I8081ed1c33d2ac11287ebaa1eaef1f77682575cf - Reviewed-on: http://gerrit.openafs.org/7622 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6f779c18678d4d9549c2977c2c3c9d15a0f13524 -Author: Jeffrey Altman -Date: Mon Jul 2 10:36:22 2012 -0400 - - Windows: remove unused defines from param.h - - Remove #if 0 disabled definitions and those for strtoll and - strtoull as they are not used anywhere in the tree. strtoll - and strtoull will conflict with the next roken.h update. - - Change-Id: Ieea394abf6046be9b5974464890b7af945c00153 - Reviewed-on: http://gerrit.openafs.org/7621 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 754180b61ee4cb84bd21046afd813b0dc03fad54 -Author: Jeffrey Altman -Date: Mon Jul 2 01:35:43 2012 -0400 - - Windows: link to afsroken.dll - - All binaries must be linked against afsroken.dll. - - Change-Id: I74f392a8aaadfe67f24d01a8d65df6a6228fd952 - Reviewed-on: http://gerrit.openafs.org/7620 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3078c4a59240540b085799495270872bc9393912 -Author: Jeffrey Altman -Date: Mon Jul 2 01:32:25 2012 -0400 - - Windows: roken.h ordering - - The order of include files must be - - afsconfig.h - afs/param.h - afs/stds.h - roken.h - - Change-Id: Ie9f6476b9be143416105d1eec3a512a87cf66383 - Reviewed-on: http://gerrit.openafs.org/7619 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d8397c7c320cd8557e4a24a9ff84b029c07b165e -Author: Jeffrey Altman -Date: Mon Jun 11 14:45:15 2012 -0400 - - Windows: afslogon is only an authentication provider - - afslogon.dll is just a Authentication Provider DLL. It does not - provide network file system browse and mapping functions. Therefore, - do not include the "ProviderPath" registry value when the - AuthentProviderPath variable is sufficient. - - Change-Id: I92848e614906c3e35b882dd70570bddfaa44d36f - Reviewed-on: http://gerrit.openafs.org/7550 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0c6a2a7b359b7b0432c94287485ed1ed26d5f253 -Author: Derrick Brashear -Date: Fri Jun 29 10:04:10 2012 -0400 - - viced: null-terminate server list for ubik - - when we set up the vlserver connection, we could potentially use - uninitialized memory as ubik connections. don't. - - Change-Id: Idefa71874c7402c927fbf148f994f9422183208a - Reviewed-on: http://gerrit.openafs.org/7610 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - Tested-by: BuildBot - -commit 44ca4aa90ef101fb13b3b5327ca19381b5464fb3 -Author: Ben Kaduk -Date: Wed Jun 27 22:04:24 2012 -0400 - - Patch up FreeBSD-10 support - - The auto-guessing code for sysnames produces *_fbsd_100, so we can't - just claim that we'll be *_fbsd_1000 for kicks. - Revert back to the old behavior so as to be less disruptive. - - Change-Id: Iddbff8f6e03a1bd0cf140b6eaad1de72ad3b76b4 - Reviewed-on: http://gerrit.openafs.org/7595 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6ea7a84bdcc533ad3420b651a7c3c001b8c1cc6c -Author: Simon Wilkinson -Date: Tue Jun 26 17:42:39 2012 +0100 - - viced: Remove localcellname - - Commit 8a040cfd848410b75b4e5ac5498f00f073932598 removed all of the - code which relies on the localcellname variable being set, but didn't - remove the variable itself. So do so. - - Change-Id: I34bb0d321712b6712633cf42a1d89140a0146501 - Reviewed-on: http://gerrit.openafs.org/7588 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit eed293b295f9d29baa4add36a1c504f5bdeb8df0 -Author: Simon Wilkinson -Date: Tue Jun 26 17:43:29 2012 +0100 - - viced: Make private host stuff static - - The function initInterfaceAddr_r is internal to the host.c file, - so make it static to make this clear. - - Change-Id: I4dd2de5a7071e68f103bb56347551a3e535d2fd9 - Reviewed-on: http://gerrit.openafs.org/7587 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3b45a13a74936ed5f0e19a2766072fbd25c27022 -Author: Simon Wilkinson -Date: Wed Jun 27 10:51:37 2012 +0100 - - viced: Make the config directory path global - - Store the location of the configuration directory in a global - variable, rather than hardcoding it in multiple locations in the file. - This makes it easier to write unit tests for portions of the fileserver, - and is a step towards producing a fileserver that can be run from - within the test suite. - - Change-Id: I0ee1d9bed084472b1e29b9c559a8726f867f91e4 - Reviewed-on: http://gerrit.openafs.org/7585 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7034b980f7381fd99aa53f85a27a7260432c0c41 -Author: Simon Wilkinson -Date: Sun Jun 17 22:20:40 2012 +0100 - - vol: Make some functions static - - Make all of the functions in partition.c that are only used in that - file static. - - Change-Id: I12e0980578b79459f50b6f4a46d2c423847e18a9 - Reviewed-on: http://gerrit.openafs.org/7586 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c7ff0d28bf68533a74664e4f6a7ac0d946ac2893 -Author: Simon Wilkinson -Date: Tue Jun 26 21:04:41 2012 +0100 - - tests: Abstract out code for a test RPC service - - Lots of our tests want to start a test RPC server, and then run - commands against it. Start to abstract out the code to do this - by pulling the code to start a test RPC server into its own - function in the common test directory. - - Change-Id: Ie7fa1fa1984113f3722def17a9fd4b98993bd6ff - Reviewed-on: http://gerrit.openafs.org/7584 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 6f9443e702745d1e371eb72ad7fcba5cac47f3db -Author: Simon Wilkinson -Date: Tue Jun 26 21:16:28 2012 +0100 - - Unix builds: Reference krb5 libs in standard way - - Use $(LIB_krb5) and $(LDFLAGS_krb5) to reference the Kerberos - library and linker flags, rather than directly using an autoconf - substitution. This brings us in line with the way other libraries - are handled. - - Change-Id: Icda16833abea32440a5c307c39eb06b32613b06a - Reviewed-on: http://gerrit.openafs.org/7583 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 387fe294f663abd9c92cd007869e2e9e8cc11d69 -Author: Andrew Deason -Date: Tue Jun 19 14:42:23 2012 -0500 - - viced: Clear all client CPS on FlushCPS - - Currently the fileserver only finds the first applicable 'client' - structure (via h_ID2Client) for a FlushCPS operation, and invalidates - the CPS for it. However, there may be many 'client' structures in - memory for the given viceid, since we may have many connections for - the same user (possibly from different hosts). - - So, modify FlushCPS to find all relevant client structures, and - invalidate the CPS calculation on them. - - Change-Id: I46532984cc470f41c83fb8c686766e4a4d49edd0 - Reviewed-on: http://gerrit.openafs.org/7574 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cb64dea75a114f6ebcba174be4e71c7fb5f85658 -Author: Andrew Deason -Date: Mon Jun 18 17:01:24 2012 -0500 - - cacheout: Perform authenticated RXAFS_FlushCPS - - Fileservers may now require RXAFS_FlushCPS calls to be made with - administrator tokens. So, try to make the call with admin tokens, and - provide the usual -noauth and -localauth options. - - Change-Id: I8b3fc28b9151eb07eda858a0d7e6bd123a107d14 - Reviewed-on: http://gerrit.openafs.org/7573 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 568adf7d18eb17a42caa263aabc92a686f0ae121 -Author: Andrew Deason -Date: Fri Jun 15 16:58:42 2012 -0500 - - viced: Restrict RXAFS_FlushCPS to administrators - - RXAFS_FlushCPS currently can be run by anyone, including - unauthenticated users. Forcing CPS calculation can be a relatively - resource-intensive operation, though, if done frequently enough, and - only should need to be done by administrators. Thus, only let - administrators use it. - - Change-Id: Iaedd1e72e542b637070930bf1a0a9eba83a9ab64 - Reviewed-on: http://gerrit.openafs.org/7572 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7a875f639f61966f2d327f929305091d2678e99a -Author: Andrew Deason -Date: Fri Jun 15 16:55:16 2012 -0500 - - viced: Rename fs_rxstat_userok - - The fs_rxstat_userok function can be used for other purposes; give it - a more general name. - - Change-Id: Ic94e8121ac8b856b288712d486e34556be8250d6 - Reviewed-on: http://gerrit.openafs.org/7571 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d4bab02f023f53041c3ac58fd75cffd27ec92df0 -Author: Andrew Deason -Date: Mon Jun 18 15:06:49 2012 -0500 - - doc: Consolidate NetRestrict format docmentation - - We were specifying exactly the same format in two different places; - consolidate them into one place. In addition, explicitly say there are - is no way to specify a range of addresses, in case some people are - confused by the previous versions of this man page that erroneously - said you could use 255 as a wildcard. - - Change-Id: I18d96ee9e6c43dfb62719323fa7eb8d9f254e273 - Reviewed-on: http://gerrit.openafs.org/7565 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4ae005062e2c927b77ea23d95934d5af463878b3 -Author: Andrew Deason -Date: Mon Jun 18 15:02:09 2012 -0500 - - doc: Remove reference to NetRestrict wildcards - - Commit 80fc888a9223050481de932233fe7121a48df194 got some of this, but - forgot the other reference. We don't support these anywhere, so remove - it here, too. - - FIXES 125340 - - Change-Id: I536336634beb835c9e1c93e23f8d7329fa821c96 - Reviewed-on: http://gerrit.openafs.org/7564 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 58e7d52d0066a9f237971f39e7acdde02761172a -Author: Ben Kaduk -Date: Fri Jun 22 21:33:50 2012 -0400 - - Catch up on fbsd releases - - Pull in the changes needed to even have a chance at supporting - FreeBSD 8.3, 8.4, 9-stable, and 10-current. - Conditionals for changed interfaces in a follow-up commit. - - Change-Id: I4765679f6cef0555ce6d02ad281e127869d8924c - Reviewed-on: http://gerrit.openafs.org/7581 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e1ff7148cce62f7c34614dc1ac1edc909dea1c55 -Author: Andrew Deason -Date: Thu May 24 14:53:59 2012 -0500 - - cmd: Avoid premature OptionAsString free - - Only free the previously-set string value if we're actually going to - change it. This avoids the scenario where a caller does something - like: - - char *str = strdup("defaultval"); - /* ... */ - cmd_OptionAsString(as, OPT_foo, &str); - - resulting in 'str' pointing to freed memory when the relevant option - is not specified, or there is some other error. - - Change-Id: If1f94d5eb39cc4dba9a4195ff20850ff81737eb9 - Reviewed-on: http://gerrit.openafs.org/7475 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1 -Author: Derrick Brashear -Date: Fri Jun 1 13:16:31 2012 -0400 - - rx: abort on missing service - - currently rx does not send an abort if a service does not - exist; it quietly ignores the packet. provide a hint we have - done so. - - Change-Id: Id3533afd46ed21765d4d2aab630a896b21c945de - Reviewed-on: http://gerrit.openafs.org/7563 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit a3ef19e1995a1d3d05c8f3b2decf4301359d8375 -Author: Andrew Deason -Date: Sun May 20 17:05:12 2012 -0500 - - FBSD: Add osi_fbsd_checkinuse - - Add the osi_fbsd_checkinuse function, which contains code common to - the FreeBSD osi_TryEvictVCache and osi_VM_FlushVCache. Implement the - latter two in terms of osi_fbsd_checkinuse. - - This commit should incur no behavior changes. This is just a - reorganization so future commits can change the implementations of - osi_TryEvictVCache and osi_VM_FlushVCache. - - Change-Id: I42df9d6efb7b573bd933d0bf04924f668a3608da - Reviewed-on: http://gerrit.openafs.org/7432 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit dda5cc0c5f7172aa4edf58c0f876c8bf05590889 -Author: Michael Meffie -Date: Mon Jun 18 17:16:02 2012 -0400 - - vol: avoid attach retry loops on SYNC_FAILED - - Avoid unnecessary volume attach retry loops if a volume - salvage is unable to be scheduled due to a hard error. - - Change-Id: If1962b83e03f634044a55b03787661b8a7695008 - Reviewed-on: http://gerrit.openafs.org/7566 - Tested-by: BuildBot - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit e2d094595fd76e76e4a5861114202f513d02c2b1 -Author: Derrick Brashear -Date: Tue Jun 19 15:11:38 2012 -0400 - - libafs: put connection in analyze when conn srvr missing - - we need to putconn in all cases we can in afs_Analyze, but at least - one case we didn't. fixed. - - Change-Id: I4e3b8d9f8e7445e3641fad32ff54dde2d21bb06b - Reviewed-on: http://gerrit.openafs.org/7567 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c8e52c1f457a237ec83be0fbe535077d5bccdd51 -Author: Simon Wilkinson -Date: Wed Jun 20 16:55:25 2012 -0400 - - tests: Fix cmd config file path - - Fix the configuration file path for the cmd test so that it works - when invoked from runtests - - Change-Id: Id7d717e163abf5cfab2d551aaf08fb9967a87153 - Reviewed-on: http://gerrit.openafs.org/7576 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3c16a2b296722f548309b10e6744639608c0861b -Author: Niklas Jonsson -Date: Wed Jun 20 10:03:54 2012 -0400 - - Auth: increase size of DNS resolver answer buffer - - This patchset increases the size of the res_search() answer - buffer from 1024 octets to 4096 octets. This is not a proper - long term solution but will permit sites with longer response - lists to make use of SRV and AFSDB records. - - This patchset only impacts UNIX systems. Windows uses the - Win32 DNS resolver which dynamically allocates memory based - upon the size of the response. - - FIXES 130936 - - Change-Id: I8434e128fb5918839c216209851b37a17cf94065 - Reviewed-on: http://gerrit.openafs.org/7575 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 5019ecd5fad0846abcd92835411c7b0f3f2170ca -Author: Simon Wilkinson -Date: Fri Jun 1 13:20:57 2012 -0400 - - rx: provide mechanism to send a bare abort packet - - simply put an abort on the wire - - Change-Id: I0486e1826da9466a2982ac07c3749876848a7f66 - Reviewed-on: http://gerrit.openafs.org/7562 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4660b53e69fd65ba961e62bed1a1c126e375011c -Author: Simon Wilkinson -Date: Tue May 15 16:45:57 2012 +0100 - - opr: Add simple time type - - Add a simple time type to the opr library, which provides helper - routines to implement the 100ns time format selected for on-the-wire - use for AFS-3 (this also provides a handy single integer internal - time format) - - Change-Id: I1f2d81e61a3e4124e0dd49830a115b72d7a7b37f - Reviewed-on: http://gerrit.openafs.org/7559 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ba300e35a5c17730dabde735385222d7e12a4bbc -Author: Simon Wilkinson -Date: Sun Jun 10 11:43:56 2012 +0100 - - viced: Abstract out peer mapping code - - Pull the code which gets the peer information for an incoming connection - into its own function. - - Reformat this function a little to avoid if-ladders. - - Change-Id: I4a48e0079f00cca4fe651161fb19453f63527336 - Reviewed-on: http://gerrit.openafs.org/7561 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fa1f2687aff79469d521bdef7b23a253a1e62756 -Author: Simon Wilkinson -Date: Sat Jun 9 22:29:44 2012 +0100 - - viced: Tidy up VL initialization - - Tidy up the routines which initialize the VL server so that they - don't reopen an already open configuration directory, and so that - some global variables are less globally scoped. - - Change-Id: I7e83073b2d984203e03133e94da4ec875d1b8472 - Reviewed-on: http://gerrit.openafs.org/7560 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ed02c6ff8a4bc2cc82876a4b1736a8985548a71c -Author: Simon Wilkinson -Date: Wed May 30 18:25:51 2012 +0100 - - rxgen: Make input strings const - - Modify the code generation routines so that string inputs to RPCs - are declared as (const char *) on the client side. This doesn't affect - callers as we can freely cast from (char *) to (const char *), but means - it is easier to write API wrappers that accept const arguments. - - Change-Id: I4719d04f03bd76cbe7ee21ad7511f6f3b3d36163 - Reviewed-on: http://gerrit.openafs.org/7556 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9b97b80dd8d29278de209fcecfdfd95a46863eb8 -Author: Simon Wilkinson -Date: Thu Jun 7 23:21:48 2012 +0100 - - aklog: Fix error message fallback for Heimdal - - Since we reverted to using Russ's upstream version of rra-c-util's - krb5.m4, we no longer check for the existence of the pure com_err - error_message(). - - So, for error message fallback on Heimdal, use krb5_get_error_message() - instead. As we don't have access to the context in which the error - occurred, build one to get the raw com_err error translation - this - won't give us any additional context specific detail. - - Change-Id: I4bab080704ec5d08e8b85e6b7ad69cf1f89bf3b3 - Reviewed-on: http://gerrit.openafs.org/7554 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 5db615100afd97233550abfe19625ac7ee7dbc5f -Author: Simon Wilkinson -Date: Fri May 11 00:34:24 2012 +0100 - - viced: Abstract out hpr thread context code - - Every hpr lookup function had a copy of the same code to pull a thread - specific ubik context out of the pthread library, and to create one if - one wasn't already there. - - Instead of endlessly repeating this code, create a small inline function - to do the job. - - Change-Id: I7eac0eaebbd42978e40c90f0ce59b26f2e67d96d - Reviewed-on: http://gerrit.openafs.org/7558 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit c855dd726a6f2681bf51a9596ec600a8cc88fb59 -Author: Simon Wilkinson -Date: Thu Jun 7 20:46:27 2012 +0100 - - rx: Constify rx_opaque_populate - - rx_opaque_populate doesn't modify the data passed into it, so - make that argument const - - Change-Id: Icc7c121bda43a8abc19f72affc70967baba91e6d - Reviewed-on: http://gerrit.openafs.org/7557 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit fac69a5c88f1756aafd283e66a971e389dc8a62c -Author: Simon Wilkinson -Date: Tue May 15 17:01:50 2012 +0100 - - viced: Remove unused profiling code - - src/viced/profile.c is never built, and contains unused code which - is now useless to us. Just remove it from the tree - it is in git if - we ever need it again. - - Change-Id: I04da5395f5c4a618968958f1696f638e0db69122 - Reviewed-on: http://gerrit.openafs.org/7555 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit a08604b78f82ae2adf57b7a30bd8c80a11223b0d -Author: Derrick Brashear -Date: Tue Jun 12 14:23:12 2012 -0400 - - uss: allow disabling by configure switch - - provide an option to disable building uss. current heimdal - when built static can leak symbol names for its flex/bison parser - causing symbol conflicts. this is but a workaround, but - sites not needing uss can at least use it. - - Change-Id: Ibab1dd189e7fbc41ca01e7ef7479421c056999f5 - Reviewed-on: http://gerrit.openafs.org/7553 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5d53c12b95c6ffac6c00e4fec6138a51b6185dd7 -Author: Derrick Brashear -Date: Tue Jun 12 14:10:04 2012 -0400 - - gtx: add configure switch to force not building - - allow gtx and associated software to be turned off. - - Change-Id: If02427311c79e0784fcc5fb1816a449f7dcdd879 - Reviewed-on: http://gerrit.openafs.org/7552 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6d3390bc16281e6f889bb555abb1182985556287 -Author: Derrick Brashear -Date: Tue Jun 12 13:46:46 2012 -0400 - - aklog: can't assume krb5_524_conv_principal based on convert_creds - - add probing for krb5_524_conv_principal directly instead of - assuming finding a 524 library will find it. current heimdal - does not include it. - - Change-Id: Iea523e3e7ba4cb51ec5a0d4b38fec9c7df30529d - Reviewed-on: http://gerrit.openafs.org/7551 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 3e0eaec61e1df9341ca67b902a5ec86a863a3423 -Author: Derrick Brashear -Date: Mon Jun 11 16:37:53 2012 -0400 - - viced: fix GetVolumePackage to not bomb always when GetClient called - - master only. already correct in 1.6. the gotos for error exit should - be called only when we have an error, due to missing braces that was - not true - - Change-Id: I396be7d34ad741e01634a702784a0892f47a2d5a - Reviewed-on: http://gerrit.openafs.org/7549 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 3770ffe41689bc5b37795f23b0d4f3de4bc0619a -Author: Derrick Brashear -Date: Mon Jun 11 16:05:10 2012 -0400 - - viced: fix merge error - - when 37fc2dfbb9e3a8a8ecb022febae7ccd04d7340a4 was merged, the close - bracket went in the wrong place, meaning for non-remote calls - we don't re-enable keepalives. fix it. - - Change-Id: I163db9b3b2f42f629d8a5ff22a75902a61a3138b - Reviewed-on: http://gerrit.openafs.org/7548 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 4f9c3f2be9abd5548dd52888b49c407d574b6557 -Author: Andrew Deason -Date: Thu May 31 17:45:56 2012 -0500 - - vol: Avoid getting stuck in ATTACHING in attach2 - - Since commit 5fc2365f, a VNOVOL error early in attach2 meant that we - skipped changing the volume state to anything, and just returned - instead. When we do this, the volume is in VOL_STATE_ATTACHING for - DAFS, and so if we return, the volume will forever be in - VOL_STATE_ATTACHING. The next thing that tries to access the volume - will wait forever for the volume to come out of that state. - - So, revert half of 5fc2365f, and transition to ERROR state instead. - This code path should not be hit during normal usage, since a - nonexistant volume access for the fileserver will be detected earlier. - If the volume does not appear to exist at this stage of attachment, - something is wrong with the volume, so this warrants the ERROR state. - - For the volserver and other volume utilities, we may hit this when a - request just plain references a nonexistant volume for whatever - reason, but in that case the vp should go away soon. For non-DAFS, - this commit does not change much, since the difference between - error_notbroken and unlocked_error is very small. - - The other half of 5fc2365f is not changed, since it is correct. For - VOFFLINE errors at this point, the volume has already been - transitioned to VOL_STATE_UNATTACHED, so it is okay to return. Add a - comment to help make this more explicit. - - Change-Id: I63853f6e1721020cd204639c6e3ce4b59de08f75 - Reviewed-on: http://gerrit.openafs.org/7516 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a43f0e4717fd72727ae325eb4437cef065419cdd -Author: Andrew Deason -Date: Thu May 31 16:41:15 2012 -0500 - - DAFS: Preattach, not attach, in FSYNC_Drop - - FSYNC_Drop currently attaches volumes that were checked out by the - dropped fssync handler, but not checked back in, in order to make the - volume available again. For DAFS, however, a full attachment is - unnecessary; just preattach instead. - - Change-Id: I2c9d0b8cf0ddc7f4182347706b2c26d86f69725e - Reviewed-on: http://gerrit.openafs.org/7515 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fff80cb1983a8cf7ccf1c1dc4f69e232785700c5 -Author: Andrew Deason -Date: Thu May 31 16:15:33 2012 -0500 - - vol-salvage: Unlock volumes before exiting - - Normally, volume locks acquired by an exiting salvaging process would - be automatically given up when the process exits, since our FDs are - closed. However, if we exit by calling Exit() or Abort(), we - gracefully shutdown our SYNC channels before exiting. For FSSYNC, this - can result in the fileserver trying to online the volumes we had - checked out but had not yet checked back in, so the fileserver may try - to online a volume we have locked, before the locks have been - released. - - To avoid this, unlock all volume locks for all partitions before we - shutdown SYNC channels on exit. - - Change-Id: Idcda5fcf4639da7d4b951bea36606ea8daf68f3c - Reviewed-on: http://gerrit.openafs.org/7514 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 80359f562a459ef1dba2cdf53ee486578b50752d -Author: Andrew Deason -Date: Thu May 31 16:08:00 2012 -0500 - - vol-salvage: Indent some ifdefs - - Change-Id: I213859d35ba4908e088a0ba2117f527ab8db3dc8 - Reviewed-on: http://gerrit.openafs.org/7513 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9bb876f6829f137e534b961f7374b310bfa8aa7d -Author: Derrick Brashear -Date: Fri May 25 09:40:54 2012 -0400 - - libafs: initialize free dcache list for memcache - - reuse the disk cache dcache creation code for memcache, then - call it to prime the list - - Change-Id: If63268aa1a89c9642236f944e1ac8328d68aeba5 - Reviewed-on: http://gerrit.openafs.org/7446 - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a8e35e9fd7b24b6d8523a3ac9da0f77c84423ef9 -Author: Derrick Brashear -Date: Fri Jun 8 19:52:33 2012 -0400 - - viced: clear optstring before parsing - - we try to free the string if there was a value, so - if there's none we should probably ensure we know it - - Change-Id: I20fc535e56d65c82f26852ba59528d5660c98e20 - Reviewed-on: http://gerrit.openafs.org/7546 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7273c8b4ae123ce555dde3bee7b9878c59ad1805 -Author: Derrick Brashear -Date: Fri Jun 8 16:12:17 2012 -0400 - - cmd: avoid issues with static heimdal - - stealing the krb5 parser and linking with static heimdal can cause problems. - remap things we have which duplicate heimdal's private namespace. - - Change-Id: I89030967a32997f00a21e97258056c26f2a4cbf6 - Reviewed-on: http://gerrit.openafs.org/7545 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5227148ae17949705487ea673d558ebfe143e635 -Author: Marc Dionne -Date: Sat Jun 2 21:35:53 2012 -0400 - - Linux 3.5: encode_fh API change - - The encode_fh export operation now expects two inode arguments - instead of a dentry and a "connectable" flag. Use the inode of - the dentry we're interested in, and NULL as the parent inode which - is the same as passing a 0 flag in the previous API. - - Change-Id: I05cf146fb2a4bacdca20a9f108d04ccb11530804 - Reviewed-on: http://gerrit.openafs.org/7523 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bc3a32a84facb8114a8c7de87025f972d0281098 -Author: Marc Dionne -Date: Sat Jun 2 20:45:08 2012 -0400 - - afsd: include sys/resource.h in afsd_kernel.c - - With a recent glibc update, sys/wait.h no longer includes - sys/resource.h unless __USE_SVID, __USE_XOPEN or __USE_XOPEN2K8 - are set. - - Don't rely on the indirect inclusion to get the bits we need; - include it directly in afsd_kernel.c. This include used to be - there but was dropped when afsd_kernel.c was split off. - - Change-Id: I1bfd2e0c340e15ca44472aa89614f088e0c0ce0c - Reviewed-on: http://gerrit.openafs.org/7522 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0d2c1dfd5510e9c84cb3b56c00370f0fc114e87b -Author: Jeffrey Altman -Date: Tue Jun 5 23:25:08 2012 -0400 - - windows: AFSQueryVolumeInfo exception info - - Protect against NULL FileObject or ObjectInformation. - - Log additional information when an exception is caught in - AFSQueryVolumeInfo. - - Change-Id: I6111345e53edc641f4d809839c1666f7a11a93d3 - Reviewed-on: http://gerrit.openafs.org/7525 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 371af87a23b61187ca9d54c8e6819f2121fbf1db -Author: Jeffrey Altman -Date: Tue Jun 5 23:07:40 2012 -0400 - - Windows: SMB GetFileAttributes support - - commit 56a2cbb5fbdcab51bd5f4720e610796abbce5c41 added a - GetFileAttributes query to the pioctl interface to protect - against printing pages on printers with a broken smb protocol - implementation. This patchset adds support for GetFileAttribute - on _._AFS_IOCTL_._ files to the SMB implementation. - - Change-Id: I9d60dc77b7048892eb816e9d1c6e94033711ae7b - Reviewed-on: http://gerrit.openafs.org/7524 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6e704d967334a3f990e2ba1c758e4f054234e97e -Author: Jeffrey Altman -Date: Sat May 26 19:16:47 2012 -0400 - - Windows: Introduce AFSFreeExtent() - - Consolidate all operations necessary to free an extent in - a single function, AFSFreeExtent(). - - Change-Id: Id0edd2009136c49cbafb9374e373749d6a906d40 - Reviewed-on: http://gerrit.openafs.org/7521 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cee6a383d3d1732e78827c839ee9513847e03aa6 -Author: Jeffrey Altman -Date: Sat May 26 18:11:06 2012 -0400 - - Windows: Adjust extent release strategy - - All extents were flushed whenever AFSReleaseExtentsWithFlush was - executed. This included a call at the completion of each - NonCached Read operation which could result in heavy thrashing - as the data would be released prior to it being needed by the - application. - - This patchset makes the following adjustments. First, - AFSReleaseExtentsWithFlush() has been modified to release all - but 1024 extents belonging to the file. Second, NonCached Reads - only execute AFSReleaseExtentsWithFlush() when there are more - than 4096 extents associated with the file. Third, - AFSReleaseExtentsWithFlush() now has a 'bReleaseAll' parameter - which is used for calls from AFSCleanup() and AFSFlushExtents() - which need to be able to flush all extents attached to a FCB. - - Change-Id: Id8b05f02c59eb46b1881e4d905a511a2597455e8 - Reviewed-on: http://gerrit.openafs.org/7520 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5335f77bd56b7a94fd0225477fe7b7a707df86b7 -Author: Jeffrey Altman -Date: Sat May 26 18:09:30 2012 -0400 - - Windows: AFSRedir code cleanup - - Remove unnecessary intermediate variables. - - Do not drop lock only to reacquire. - - Formatting. - - Change-Id: I7396047f30ee81755927b90a7b3f990d481d8d3e - Reviewed-on: http://gerrit.openafs.org/7519 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ed0eb70f36121ca5cacbf0b87ab9d05bfbb526b8 -Author: Jeffrey Altman -Date: Sat May 26 18:06:07 2012 -0400 - - Windows: Remove extent from all skip lists - - Before freeing the memory for an Extent object, the extent must - be removed from all of the extent skip lists. Otherwise, the - lists will be corrupted. - - Change-Id: I891321477b9f0e194544e9e73dad53473f0865b4 - Reviewed-on: http://gerrit.openafs.org/7518 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c5f32b315982bf23f33d0395f404fe93563f0b8d -Author: Jeffrey Altman -Date: Sat May 26 18:04:25 2012 -0400 - - Windows: consoldiate NextExtent() implementations - - Both AFSExtentsSupport.cpp and AFSIoSupport.cpp provided - NextExtent() implementations. The AFSExtentsSupport version was - more general. Use that one for both modules. - - Change-Id: I19d17c989b4eadd40dcbb3d6d4186c316c26577e - Reviewed-on: http://gerrit.openafs.org/7517 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e94b2338691d9450749e5f3e51f85e99f90b4bea -Author: Jeffrey Altman -Date: Sun May 27 11:20:11 2012 -0400 - - Windows: Protect against null volp dereference - - In cm_RecycleSCache cm_GetVolumeByFID can fail leaving 'volp' - a NULL pointer. Do not call cm_PutVolume() if cm_GetVolumeByFID - fails. - - Change-Id: I57eaf5d40130ecad75a312ef5487cdfa6e7367e3 - Reviewed-on: http://gerrit.openafs.org/7506 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ce8d0aefd1a6915df281ec2551b3f090c2a3b322 -Author: Jeffrey Altman -Date: Fri May 25 21:47:23 2012 -0400 - - Windows: Avoid deadlock on ProcessTree Lock - - Change-Id: I2c1be0df615c513eefc27be167d7acda113c06e2 - Reviewed-on: http://gerrit.openafs.org/7505 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 25948ccbc369087958d2159fb7dd995c21c92b20 -Author: Jeffrey Altman -Date: Thu May 24 20:46:27 2012 -0400 - - Windows: Add CCB NonPaged Resource for synchronization - - Add a NonPaged ERESOURCE object to the AFS_CCB structure for - use in synchronizing access to the Ccb->Flags field and the - construction of Directory Snapshots. - - Change-Id: I10ecc95619d0e5bd1ca02b044c2f1541a1b9a9f0 - Reviewed-on: http://gerrit.openafs.org/7478 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fffce9aee4c7c93e140eb56e449f9a9ff6345659 -Author: Jeffrey Altman -Date: Thu May 24 20:45:07 2012 -0400 - - Windows: Make CCB_FLAGS_DIRECTORY_QUERY_MAPPED consistent - - Use CCB_FLAG_DIRECTORY_QUERY_MAPPED instead of - CCB_FLAGS_DIRECTORY_QUERY_MAPPED. - - Change-Id: I504b8fda9867a82e5b45d5a1905970a1de11fc27 - Reviewed-on: http://gerrit.openafs.org/7477 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 611436eaec4db67a856b0617c00224d4359d804a -Author: Jeffrey Altman -Date: Thu May 24 17:47:25 2012 -0400 - - Windows: Remove unused async read/write operations - - Removing dead code. - - Change-Id: I60f3f098a3afb922143941f59b0146eebf60ac84 - Reviewed-on: http://gerrit.openafs.org/7476 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 06a602bfd40661ef89b3d6b39dd8574015a15b92 -Author: Jeffrey Altman -Date: Thu May 24 04:57:19 2012 -0400 - - Windows: Avoid deadlock on VolumeCB->VolumeLock - - AFSPrimaryVolumeWorkerThread() holds VolumeCB->VolumeLock SHARED - across the call to AFSCleanupFcb() -> CcPurgeCacheSection(). - If a filter driver such as Sophos (savonaccessfilter.sys -> - savonaccesscontrol.sys) triggers an AFSCreate() in response to - the cache section being purged that will force the evaluation of - the file path by AFSLocateNameEntry(). If the path contains a - mount point that requires validation, AFSBuildMountPointTarget() - is called which in turn required the VolumeCB->VolumeLock EXCL. - - AFSBuildMountPointTarget() only requires the VolumeCB->VolumeLock - if the VolumeCB->RootFcb == NULL. That should only be true if - the VolumeCB was allocated by AFSInitVolume() or under very rare - race conditions. - - This patchset refactors AFSInitVolume() to ensure that it holds - an extra VolumeCB->VolumeReferenceCount reference. This reference - is used to assist in the refactoring of AFSBuildRootVolume() and - AFSBuildMountPointTarget() to avoid races with volume root object - invalidation as well as permitting the VolumeCB->VolumeLock to - be ignored in the common case. - - Avoiding the acquisition of VolumeCB->VolumeLock during mount - point target evaluation has the additional benefit of reducing - lock contention during path evaluation. - - FIXES 130812 - - Change-Id: Id9b0dcc2bfd91277d522f3724893b60ce4d947f5 - Reviewed-on: http://gerrit.openafs.org/7474 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 02018d729f3d1b1177ee271d566b8acba488a515 -Author: Marc Dionne -Date: Mon May 28 21:49:46 2012 -0400 - - gtx: remove unused variable numBuffBytes - - Commit 9efc255a makes the numBuffBytes variable unnecessary. - Remove it to clear up an "unused but set" warning. - - Change-Id: Ifc50c40542e008d76007c76a9ce146fe6ebab4be - Reviewed-on: http://gerrit.openafs.org/7504 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 2b33384a4a7b88842281021129ffccc837d91d36 -Author: Marc Dionne -Date: Mon May 28 21:43:12 2012 -0400 - - Linux 3.4: replace end_writeback with clear_inode - - end_writeback() is renamed to clear_inode(). Add a configure test - and cope. - - Change-Id: Icaf5b6b54d0ee377fabcf0b295d690eaa6b4be5e - Reviewed-on: http://gerrit.openafs.org/7503 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 85626606e9ad0aac2c513de56215362b4672acf8 -Author: Garrett Wollman -Date: Thu May 24 22:33:04 2012 -0400 - - afsd (FUSE): Avoid a compilation error and spell it "asprintf" not "asprint". - - Change-Id: I126e9c57877e4969af68dcc4ec1fd1786ecfbd4e - Reviewed-on: http://gerrit.openafs.org/7479 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 0e81db38b549d79a3af5fce0f9f8fa48d9e6efeb -Author: Andrew Deason -Date: Fri May 18 17:40:38 2012 -0400 - - afs: Do not QueueVCB before osi_dnlc_purge* - - In afs_FlushVCache, when we QueueVCB, we might drop the afs_xvcache - lock (as of 76158df491f47de56d1febe1d1d2d17d316c9a74). The vcache may - still be on the DNLC, so a lookup while xvcache is dropped can cause - someone else to grab a reference to the vcache while it is being - flushed. This can cause panics and failed assertions, since someone - will have a reference to the flushed vcache, which is effectively - freed and many of the structure fields are no longer valid. - - So instead, do not call QueueVCB until we have purged the vcache from - the DNLC. - - Change-Id: Ia6b51b4a2bb26903346217fbd6fc7d959d87eae7 - Reviewed-on: http://gerrit.openafs.org/7430 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7b35b409a484772989bb76633232b6e1d4f9bcc5 -Author: Michael Meffie -Date: Tue May 22 11:45:50 2012 -0400 - - fix audit init in vl and pr servers - - Correct error introduced in commit - 0dd7c980acda0756150f11992a0d2236f340e0c2 - - Change-Id: I929bb35a6a7070d637f1b332dae50cd182aaf9c5 - Reviewed-on: http://gerrit.openafs.org/7447 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 40123db55ec36e8f5536db749e0a935141de74c7 -Author: Simon Wilkinson -Date: Thu May 17 13:28:51 2012 +0100 - - comerr: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it is - unnecessary noise. - - Change-Id: Idc5f098a20809a5f869c4ea9f3970e598520c0e9 - Reviewed-on: http://gerrit.openafs.org/7468 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 519d2cd5d8bb2bc1d2e315b8fea9616504674c79 -Author: Simon Wilkinson -Date: Thu May 17 13:33:33 2012 +0100 - - Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it is - unnecessary noise. - - Change-Id: Ie328ebd2d31160bf07b86b760fbb5ce7108a532d - Reviewed-on: http://gerrit.openafs.org/7473 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 152bda64c662f719b167d05c0489ce4cb6e65c36 -Author: Simon Wilkinson -Date: Thu May 17 13:32:28 2012 +0100 - - util: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it is - unnecessary noise. - - Change-Id: I8287709413fe0e34f417936d1fc64c421fea6d28 - Reviewed-on: http://gerrit.openafs.org/7472 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1c734bd7e59b0e2b1f79dbd9b203de1ecb921f3c -Author: Simon Wilkinson -Date: Thu May 17 13:31:53 2012 +0100 - - update: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it is - unnecessary noise. - - Change-Id: I6a33ab25b092faa96c764f0a469d052c181344ee - Reviewed-on: http://gerrit.openafs.org/7471 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 695e3a028e1257e1a1460205eba3fc7a837c5b41 -Author: Simon Wilkinson -Date: Thu May 17 13:31:07 2012 +0100 - - sys: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it is - unnecessary noise. - - Change-Id: I58b7695e3cf4b99f17869a46e1efca5c7daf6ff7 - Reviewed-on: http://gerrit.openafs.org/7470 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e33f1dc0b6ec497133903918f1918adfa46f10ea -Author: Simon Wilkinson -Date: Thu May 17 13:29:42 2012 +0100 - - xstat: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it is - unnecessary noise. - - Change-Id: Iaddc6c44041dc77a576f32133b2aa80aefce5cb2 - Reviewed-on: http://gerrit.openafs.org/7469 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 900f7cc5f7c0b35a8efebc6c7166efa7625a0493 -Author: Simon Wilkinson -Date: Thu May 17 12:33:28 2012 +0100 - - lwp: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it is - unnecessary noise. - - Change-Id: Ie41f7b831f0ba70796649e2493e014fe44f1c39e - Reviewed-on: http://gerrit.openafs.org/7467 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3613d41515438a5615c3ffcdde5616c5f4e1c6ae -Author: Simon Wilkinson -Date: Thu May 17 12:31:39 2012 +0100 - - rx: Don't cast returns from allocator - - malloc() and osi_Alloc both return (void *). So, don't bother - casting the return value before assigning it - its unnecessary - noise. - - Change-Id: I71a66a8fa0d9f49f4833dd77bbb55422e6f20d6f - Reviewed-on: http://gerrit.openafs.org/7466 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 56e350b8559cbc16ee9087dd8ada47fe9a9d79f2 -Author: Simon Wilkinson -Date: Thu May 17 12:29:51 2012 +0100 - - auth & [ak]log: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: I270b81c239afb9ac4bd8121adfd5a48fcfac9c3b - Reviewed-on: http://gerrit.openafs.org/7465 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b0ccfea010df0c38f1e53efe384b9e2a29fed40a -Author: Simon Wilkinson -Date: Thu May 17 12:28:41 2012 +0100 - - afsmonitor & gtx: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: I74b1f3ba3000ecaeb3da8eb3201f6050c9972c4e - Reviewed-on: http://gerrit.openafs.org/7464 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cbdf31d9fff7be2bd99142a7c6ee7b04b96942fc -Author: Simon Wilkinson -Date: Thu May 17 12:26:37 2012 +0100 - - dbservers: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: I5a7c800e2836e7401f5f8bccf1aa2a1b223100b7 - Reviewed-on: http://gerrit.openafs.org/7463 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4d96d0d5e4f21e208be60df53216ff7b113f4b87 -Author: Simon Wilkinson -Date: Thu May 17 12:21:57 2012 +0100 - - libadmin & uss: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: I9a3387c07c6ee02efbaa1ec0035fcea8691f171c - Reviewed-on: http://gerrit.openafs.org/7462 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0df1f0023a4aef7126c031e2e30990446093ac7e -Author: Simon Wilkinson -Date: Thu May 17 10:52:46 2012 +0100 - - fileserver & friends: Don't cast from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: I9d41f2f1aee03d9317b4c5780fb00e13d30b0821 - Reviewed-on: http://gerrit.openafs.org/7461 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ca48be9161cacf5c301379a17c4d7be70a78642c -Author: Simon Wilkinson -Date: Thu May 17 10:18:24 2012 +0100 - - backup: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: I6a878d53007e27179c11d8f745b09dacade4c83d - Reviewed-on: http://gerrit.openafs.org/7460 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0cf3c58d807d74d8ee1b4692a936079fb767412c -Author: Simon Wilkinson -Date: Thu May 17 10:03:16 2012 +0100 - - bos: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: If6f0dbc00b31f5d9a1622984c6ac9eba83c04900 - Reviewed-on: http://gerrit.openafs.org/7459 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 25bc7849caf855b08a69b1701db089b1da9b506b -Author: Simon Wilkinson -Date: Thu May 17 09:37:50 2012 +0100 - - JAVA: Don't cast returns from malloc() - - malloc() returns a (void *) on all of our current platforms. So, - don't bother casting the return value before assigning it - it's - unecessary noise. - - Change-Id: I534d424da13e03d3c0f0de3dddf1dd19088d1659 - Reviewed-on: http://gerrit.openafs.org/7458 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cfcb45d4aeda972cd1dd18044fa791e61dc6163d -Author: Simon Wilkinson -Date: Thu May 17 09:19:03 2012 +0100 - - Unix CM: Don't cast allocator returns - - All of our allocators return (void *) values, so there is no need - to cast the returns - doing so is just noise. - - Change-Id: I6b1009efbb5034225a4af0e19d03b74c628dfb82 - Reviewed-on: http://gerrit.openafs.org/7457 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9547615445ccbe07d8f6d7baeb7fd0315354fce0 -Author: Simon Wilkinson -Date: Thu May 17 09:10:03 2012 +0100 - - Don't cast the return from calloc() - - calloc returns a (void *) argument. So we don't need to cast its - output before storing it. - - Change-Id: Ibdfc61a8a2cf9779a0bfb17ff8ebf1f3bef3ea0e - Reviewed-on: http://gerrit.openafs.org/7456 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bdd8187c040ac3898fe5ae4429b5408f04c685d1 -Author: Simon Wilkinson -Date: Thu May 17 09:01:02 2012 +0100 - - Don't cast the return from realloc() - - realloc takes, and returns a (void *) argument. So we don't need to - cast these parameters into, or out of, realloc. Doing so is just - noise, so don't bother. - - Change-Id: I64e721703536515b2e315e3b033eb2be14f7e18c - Reviewed-on: http://gerrit.openafs.org/7455 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9efc255ab8de7ad90c7d599fea7bd1956bfd48c2 -Author: Simon Wilkinson -Date: Thu May 17 08:36:11 2012 +0100 - - Use calloc, rather than malloc/memset - - Rather than doing - a = malloc(sizeof(me)); - memset(a, 0, sizeof(me)); - - Just use - a = calloc(1, sizeof(me)); - - This is simpler, shorter, and removes the potential for the size of - the memset not matching the size of the malloc (or the target of the - memset being wrong!) - - Where the size is of the form (n * sizeof(me)), we also use - calloc(n, sizeof(me)); - - Change-Id: Ia0f75665c1031fd2982eee0e1d8c8ebe23d7fbc0 - Reviewed-on: http://gerrit.openafs.org/7454 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d142c8f97afb5bb3e1bb5bd31a53ed1dade2fd3b -Author: Simon Wilkinson -Date: Wed May 16 20:38:02 2012 +0100 - - Don't cast arguments to free() - - free(3) is defined as: - - void free(void *ptr); - - so there is no need to cast the pointer argument being past to it to - (char *), (void *), or whatever other randomness happened to be floating - through the author's mind. Remove all such casts, as they are just - noise. - - Change-Id: Ib7c8c259d53e9ce74fc486cb0997360044795395 - Reviewed-on: http://gerrit.openafs.org/7453 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8961793dbbae2f8b213372906a281dc38c77186c -Author: Simon Wilkinson -Date: Wed May 16 20:27:22 2012 +0100 - - auth: Simplify DNS lookups with asprintf - - Instead of allocing a maximal string, and using snprintf to - construct each possible DNS search string, just use asprintf to - construct each string. This greatly simplifies the code, and makes - it much less likely that maths errors can creep in causing buffer - overflows in the future. The downside is that we have more round - trips to the allocator, but that shouldn't matter in this context. - - Change-Id: Iae9ab7d45f454c90a937354c71c9ec7fa2c55b69 - Reviewed-on: http://gerrit.openafs.org/7452 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 044785d587b15e02855b6c9e396d27db962d867a -Author: Simon Wilkinson -Date: Wed May 16 20:23:41 2012 +0100 - - Use asprintf for string construction - - Rather than using something along the lines of - - strOut = malloc(strlen(strA) + strlen(strB) + strlen(strC) + 1); - strcpy(strOut, strA); - strcat(strOut, strB); - strcat(strOut, strC); - - use asprintf for string construction, so we can just write - - asprintf(&strOut, "%s%s%s", strA, strB, strC); - - roken provides an implementation of asprintf for platforms which are - missing one. - - Change-Id: Ieef9f4b65f72260c0d372cdf3865daab98733ad9 - Reviewed-on: http://gerrit.openafs.org/7451 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bd1248ca3988edb230174ff34c3ff79bedcf559e -Author: Simon Wilkinson -Date: Wed May 16 06:44:30 2012 +0100 - - Use strdup to copy strings - - Where we have - newStr = malloc(strlen(oldStr)+1); - strcpy(newStr, oldStr); - - replace these with - newStr = strdup(oldStr); - - It's shorter, clearer, and gets rid of a load of occurences of strcpy, - which some compilers are now warning is unsafe (although it isn't in - this context) - - Get rid of a number of custom duplicate string functions and replace - them with strdup where the behaviour is identical - - Change-Id: If800343a7d13b1ba6362d4570a2a324fa3525250 - Reviewed-on: http://gerrit.openafs.org/7450 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 47e12584804b287051552900c94c99a3c84daa92 -Author: Andrew Deason -Date: Mon May 21 18:15:58 2012 -0500 - - afsd: Report fakestat correctly - - A fakestat value of 1 is for -fakestat-all, and 2 is for -fakestat, - not the other way around. - - Change-Id: Iedfb7b4a5223c809ace5b5f704a671e8523eb53a - Reviewed-on: http://gerrit.openafs.org/7445 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 258a092260f3831dbf5ee693724e561b088f35ae -Author: Andrew Deason -Date: Mon May 21 18:14:16 2012 -0500 - - afsd: Detect -dcache presence correctly - - cmd_OptionAsInt will return 0 if the requested option is present and - valid. - - Change-Id: Ie5154648ccb274b04617dcb8cc397ed3aa3d97e6 - Reviewed-on: http://gerrit.openafs.org/7444 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9eb924f16c6f3bb06d83ed281317f2ba29473202 -Author: Andrew Deason -Date: Mon May 21 18:01:49 2012 -0500 - - afsd: Avoid printing cacheBaseDir for memcache - - cacheBaseDir is NULL when memcache is turned on; don't print it. - - Change-Id: Ib75a64767a9027a9eaf0341d0ad543d023cfcad4 - Reviewed-on: http://gerrit.openafs.org/7443 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2e2bc535bd03df86f78b648f78d2d0a95d273fab -Author: Andrew Deason -Date: Mon May 21 17:11:29 2012 -0500 - - afsd: Avoid dir interpolation for memcache - - memcache doesn't make use of fullpn_DCacheFile, fullpn_VolInfoFile, - etc. Do not even try to generate these strings for memcache, since - cacheBaseDir will be NULL, and so this can cause a segfault on some - platforms including Solaris. - - Change-Id: I0decdb9a8866272adf500125af7edb03c98e6bdc - Reviewed-on: http://gerrit.openafs.org/7442 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6f6c799c4ba4d03c6c381738b2db8aafe741ba5e -Author: Andrew Deason -Date: Mon May 21 12:28:58 2012 -0500 - - afs: Add some comments explaining 'needvalid' - - Add some comments to try and help explain the meaning of the - 'needvalid' parameter to GetDSlot, added in - 1a672914ab050811c99b6307c657630ab9b5c8ee. - - Change-Id: I4f1c704fa131df07e671f46b1b7575fbf607fce4 - Reviewed-on: http://gerrit.openafs.org/7429 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit cfae6cda3fe1efa8703ece3e6a8118f76e6c5411 -Author: Andrew Deason -Date: Mon May 21 12:22:24 2012 -0500 - - Revert "afs: the assert seems to be inverted when using memcache" - - This reverts commit bc7f10130f7b96923d1a1ad5c688ef0106a83178. - - Change-Id: Ie4f4a103177f0485fc1196acfe4203ce06b6ce15 - Reviewed-on: http://gerrit.openafs.org/7428 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bc7f10130f7b96923d1a1ad5c688ef0106a83178 -Author: Chas Williams (CONTRACTOR) -Date: Thu May 17 20:57:38 2012 -0400 - - afs: the assert seems to be inverted when using memcache - - needvalid will always be 1 for the memory cache -- i.e. the slots are - always valid. see change id I53ea6e99649e4d6d5cbde58929dfcee1d45a3e7b. - - Change-Id: Id1294d54cb5f20d226258e5da39fb4d4f782a694 - Reviewed-on: http://gerrit.openafs.org/7421 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 33eff6597facc01bbcd5266fb83c8a6bfa40dfa8 -Author: Mark Vitale -Date: Tue May 8 15:03:46 2012 -0400 - - vos: volume lock not released on convertROtoRW error - - If an error occurs during convertROtoRW, the volume lock may - not be released. - - Change-Id: Ic03af00676de836cade4e39a743b234a0dc9b6cf - Reviewed-on: http://gerrit.openafs.org/7389 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 38ebd79bafee3c97323aa603906d1d5f279ec450 -Author: Mark Vitale -Date: Tue May 8 14:45:16 2012 -0400 - - vos: convertROtoRW does not respect volume lock - - vos convertROtoRW was not checking the return code from - ubik_VL_SetLock(). - - Change-Id: I651c543f9a0070a9d34d9cca7583437e50e95dc8 - Reviewed-on: http://gerrit.openafs.org/7388 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 3a7dbe331580e418d1bdd5d75769512bb5e38cee -Author: Jeffrey Altman -Date: Fri May 18 16:31:19 2012 -0400 - - Windows: avoid deadlock TreeLock vs Fcb Resource - - Cannot call AFSPerformObjectInvalidate directly because - ObjectInfoCB->Specific.Directory.DirectoryNodeHdr.TreeLock is - held during the sequence - - AFSVerifyEntry->AFSValidateDirectoryCache->AFSVerifyDirectoryContent - - and AFSPerformObjectInvalidate requires the Fcb->NPFcb->Resource - which must be held prior to the TreeLock. - - Change-Id: I337f52e2927c8e5ae2d218867987625c3240a792 - Reviewed-on: http://gerrit.openafs.org/7423 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 564c9733e5f1f1bd2417063e3ccd8228ca763a2e -Author: Jeffrey Altman -Date: Fri May 18 10:19:13 2012 -0400 - - Windows: buf redir queue mgmt scp can be null - - buf_InsertToRedirQueue, buf_RemoveFromRedirQueue, and - buf_MoveToHeadOfRedirQueue can be passed a NULL cm_scache_t pointer. - If the pointer is NULL (as is the case during buf_Init() processing) - the scp->redirMx must not be obtained or a crash will occur. - - Change-Id: I157091afd973a8b4789976c42de253831a2698a3 - Reviewed-on: http://gerrit.openafs.org/7422 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e04f324b5dc87391d9fc08820a4ff22b7dda84c3 -Author: Jeffrey Altman -Date: Wed May 16 09:52:00 2012 -0400 - - Windows: Apply MAX_FID_COUNT to AFS Redirector - - Provide consistency between the SMB path parser and the AFS - redirector path processing by using the same constant, MAX_FID_COUNT, - for both. MAX_FID_COUNT is the maximum number of unique file ids - that can exist in a path after all mount points and symlinks have - been expanded. The current value is 512. - - Change-Id: Ife1a29ce7c064c986589bc9e2836899864da2f76 - Reviewed-on: http://gerrit.openafs.org/7412 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 94f96c6aae142478bf0824e7c3a3a810494a123d -Author: Jeffrey Altman -Date: Mon May 14 11:11:57 2012 -0400 - - Windows: AFSTearDownExtents may experience active extents - - If there are extents with a non-zero ActiveCount when AFSTearDownExtents() - is executed, it must leave them alone and attached to the File Control - Block. This has implications for its callers, especially AFSCleanupFcb() - since it may be the case that a Cleanup cannot be completed. - - The AFSPrimaryVolumeWorker thread must therefore check after calling - AFSCleanupFcb() whether or not the Fcb ExtentCount is zero before - calling AFSRemoveFcb(). - - Change-Id: I164dbe24d2bfe69aba0fcb5d845f66415d5bb0c3 - Reviewed-on: http://gerrit.openafs.org/7406 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a9a768fb7ac06c887c45f6ed144c312fe357ab1e -Author: Jeffrey Altman -Date: Tue May 15 23:27:36 2012 -0400 - - Windows: avoid duplicate work cm_Analyze - - During VNOVOL processing, if the volume is replicated and the - server reference status is "not busy", set the status to busy - and avoid calling cm_SetServerBusyStatus() because that function - mirrors the loop that is already being processed. - - Change-Id: I1c92fd02fecc92c3dcd94a33eb87fe5c2fa254ae - Reviewed-on: http://gerrit.openafs.org/7411 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9a728fd86c7add13e15dfa0d3062fa94cc77c53f -Author: Mark Vitale -Date: Tue May 8 10:01:12 2012 -0400 - - vos: convertROtoRW may create two RW volumes - - If the RW volume is listed after the RO convert target in the VLDB, - the code failed to detect that an RW is already present and would - create a second RW volume. - - Change-Id: Ia77004214c4d1b18699b5527bc1fc928e8e1143d - Reviewed-on: http://gerrit.openafs.org/7385 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 97581f751024527d1090566f2d59fd1b14235b67 -Author: Jeffrey Altman -Date: Tue May 15 00:23:17 2012 -0400 - - Windows: init section ptrs for pioctl files - - FIXES 130783 - - Change-Id: I809d21d5d30727172d6e1026d99b32466fcc74c6 - Reviewed-on: http://gerrit.openafs.org/7407 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ac08a0c30d1b8f4f5f13a6e78b86d32e2cb34f65 -Author: Jeffrey Altman -Date: Mon May 14 00:12:17 2012 -0400 - - Windows: Redir Ioctl thread safety - - A crash dump showed that it is possible for a Cleanup - to race with a Read from the ioctl file. Add reference counting - to protect against crashing under such a circumstance. - - Change-Id: I5dada2b5855603807b48a191db46ff48043c1997 - Reviewed-on: http://gerrit.openafs.org/7405 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a160606616cae6e047d97d4e86f075ebe8c2e366 -Author: Jeffrey Altman -Date: Fri May 11 19:24:54 2012 -0400 - - Windows: Permit Media Player to work with mapped drives - - Windows Media Player was failing to play media files from - mapped drives if the mapping was to a directory several - levels below \\afs\cellname\. The code to permit SUBST drive - letters to work got in the way during NPGetConnection processing. - Try to get the connection info without the drive substitution - logic. Try again with the drive substitution if the result - is no connection present. - - FIXES 130757 - - Change-Id: I0c2037d1d8f4c6cf82fbff7d4baee995b5124b39 - Reviewed-on: http://gerrit.openafs.org/7402 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit dfceff1d3a66e76246537738720f411330808d64 -Author: Michael Meffie -Date: Thu Feb 23 12:34:44 2012 -0500 - - volser: preserve stats over reclones and restores - - Optionally, preserve the volume usage statistics instead of clearing - them during reclone and restore operations. - - Change-Id: I436b39b129b892912533ddeff5569b07224b075c - Reviewed-on: http://gerrit.openafs.org/3312 - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e1c6ad7d580041caf35f698c9b2241fb45f02361 -Author: Mark Vitale -Date: Tue May 8 12:38:38 2012 -0400 - - vos: convertROtoRW misc error reporting problems - - Fixes a few inconsistencies and bugs in some error messages. - - Change-Id: Ic4971c4cc3a3aa3623ee0f13161fd7793d3acb19 - Reviewed-on: http://gerrit.openafs.org/7387 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Reviewed-by: Michael Meffie - Tested-by: BuildBot - -commit 0f30c95a03ecf2a964db566fd8c3e96c1bcb6211 -Author: Simon Wilkinson -Date: Sun Oct 9 01:20:57 2011 +0100 - - cmd: Add support for pulling options from files - - With this change, we gain the ability to set our command line options - from krb5.conf configuration files. This is only available for tools - which are implemented using the new cmd_OptionAs accessor methods. - - Callers should load their configuration file using - cmd_OpenConfigFile("/path/to/config/file.conf"); - - (an addition to libauth to return a path to a system wide - configuration file will be forthcoming) - - and then set their command name (for example, "fileserver", "afsd", - "vos" and so on) using - cmd_SetCommandName("mycommand"); - - The accessor functions will then populate their return values with - either: - a) The command line options, if specified - b) The contents of the tag matching the option name, in the - [command_subcommand] section of the configuration file, if it - exists - c) The contents of the same tag, in the [command] section of the - configuration file, if it that exists. - d) The contents of the same tag in the [defaults] section of the - configuration file. - - Callers can also gain access to the entire configuration file by - calling cmd_RawFile, or to just the section corresponding to their - command line by calling cmd_RawSection. Note that when using the file - directly, it is up to callers to preserve consistency by implementing - similar inheritance rules as the above. - - Change-Id: Ic501ab296af3638f961486869af79c9ce47b77b8 - Reviewed-on: http://gerrit.openafs.org/7135 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ad347dea3245b84c4478b6a6be01b4031c3c36e0 -Author: Simon Wilkinson -Date: Thu May 10 16:51:01 2012 +0100 - - tests: Add additional cmd tests - - Add additional tests to the libcmd test suite to verify the - behaviour of cmd_OptionPresent and cmd_OptionAsList - - Change-Id: I81a235fb5ee87682c72ca942f1341f77be6fda39 - Reviewed-on: http://gerrit.openafs.org/7392 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0524e0d1915f519a76d62540b695abc16634d4c9 -Author: Derrick Brashear -Date: Wed Apr 18 11:57:10 2012 -0400 - - macos: update AFS prefs pane - - modify afshelper to just run what it's told instead - of offering fixed operations. this avoids having a setuid - tool around. in spite of apple's suggestion this is correct, - it's actually more dangerous. instead, elevate privilege only - to run a small set of commands, then drop. allow - unlocking of the prefs pane, but make the menu extra prompt - for authentication when needed. - deactivate controls in the prefs pane when locked. - - Change-Id: I0e2510efc98605f464e04d26cc8f2ce2bfe116f4 - Reviewed-on: http://gerrit.openafs.org/7196 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0debf2d2274db1ea862bfdc2ef767372f1fa77e3 -Author: Andrew Deason -Date: Fri May 4 17:23:42 2012 -0500 - - Call rx_SetNoJumbo earlier - - For ubik server processes, rx_SetNoJumbo needs to be called before - ubik initialization for it to effect the communication between - dbservers; otherwise, full database transfers may result in Rx - jumbograms on the wire regardless of the jumbo/nojumbo setting. Move - the call to rx_SetNoJumbo to before ubik initialization to avoid this. - - Also move the call to rx_SetNoJumbo to immediately after rx_Init* for - all server processes, for consistency. Move similar calls to - rx_SetMaxMTU for the same reason. - - Change-Id: Ic79415829601fcfb4e74e72fbf5711d0c32aaa0c - Reviewed-on: http://gerrit.openafs.org/7350 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit a2f523b50592e261fe9cd3ef32978e786011c3c7 -Author: Mark Vitale -Date: Wed May 2 13:55:16 2012 -0400 - - DOC: vos convertROtoRW security requirements - - They were copied from another command; corrected them. - - Change-Id: Ic77f1a91520ec4147e42864438d98942f6a7effc - Reviewed-on: http://gerrit.openafs.org/7305 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Ken Dreyer - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 186158c9eb2379ec350831b8fb244c51ae234a6e -Author: Ken Dreyer -Date: Fri Mar 16 13:37:20 2012 -0600 - - doc: add Windows section to fs newcell - - fs newcell works slightly differently on Windows. Document the - differences in the man page. - - FIXES 125094 - - Change-Id: I3fb71ebb28290222069d795762f50a82f3fb6495 - Reviewed-on: http://gerrit.openafs.org/6919 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit ecfd9549fc29cdad8042e830c656caee1363c6cf -Author: Andrew Deason -Date: Thu May 3 16:36:03 2012 -0500 - - vol: Free vol header on attach_volume_header error - - In attach_volume_header, make sure we free the volume's header if - we're returning an error. We take care of the locks and i/o handles in - the immediately preceding block, but for an actual error we don't get - rid of the header. Do so. - - Noticed by Tom Keiser. - - Change-Id: I97e61700f644066ac1a0e6b45a67dd62c5397034 - Reviewed-on: http://gerrit.openafs.org/7325 - Reviewed-by: Tom Keiser - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f45ed29d5f5e029ef8c38c5d71ab069336f86866 -Author: Simon Wilkinson -Date: Sun Apr 22 10:20:18 2012 -0400 - - Make the cmd config file parser build on Windows - - Change-Id: Id6c3515869529b6fb5c48a06661b63bed974e436 - Reviewed-on: http://gerrit.openafs.org/7141 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1a823e9326ca7210a7381b9691227e1b4c8f89a8 -Author: Simon Wilkinson -Date: Sun Oct 9 01:17:19 2011 +0100 - - cmd: Don't expose krb5 error codes - - Don't use krb5 error codes in our configuration parser, instead use an - error allocated from the existing cmd error table - - Change-Id: I777d9638c676d198d13a3bd33a90acdc53dc26cc - Reviewed-on: http://gerrit.openafs.org/7134 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0f5dc583a9d942e67953f84a6d800e9b969149b2 -Author: Russ Allbery -Date: Fri May 11 21:28:41 2012 +0100 - - Import of code from rra-c-util - - This commit updates the code imported from rra-c-util to - 3900f94b9b8c46a3cb2d83d73c6cf4b73be1cc10 (release/4.4) - - New files are: - m4/krb5-config.m4 - - Change-Id: I6ef966e4a30cd23feac4a159be2ffeb7357765b7 - Reviewed-on: http://gerrit.openafs.org/7401 - Reviewed-by: Russ Allbery - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 99108f95443680db0bbd098a7b93c04c8f4bd7c2 -Author: Simon Wilkinson -Date: Fri May 11 21:27:02 2012 +0100 - - rra-c-util: Add additional file - - Add the m4/krb5-config.m4 file, which is required for version 4.4, - to the list of imports. - - Change-Id: Ib5d3d0d7be67eaa75f6edc6d030cdb3c47838d3c - Reviewed-on: http://gerrit.openafs.org/7400 - Tested-by: BuildBot - Reviewed-by: Russ Allbery - Reviewed-by: Derrick Brashear - -commit c877c0b419d04a0e754f99b9d975f2229b660df5 -Author: Simon Wilkinson -Date: Mon May 7 21:52:16 2012 +0100 - - tests: Start using the upstream C TAP harness - - Instead of bundling our own copies of Russ's C TAP Harness, start using - source pulled from his git repository using the src/external import - mechanism. Note that we are not currently building the floating - point (is_double) portion of the harness. - - In the process of doing so, we also upgrade our test harness to the latest - upstream version, 1.11. This is somewhat problematic, as there have been - some significant code changes since the version bundled with OpenAFS. - Work around these by - *) Referencing the basic.h header as , rather than - just , to match the new upstream layout - *) Changing the include path so that the tests/ directory can be - found within it. - - Change-Id: I63efbb30248165e5729005b0a791e7eb7afb051d - Reviewed-on: http://gerrit.openafs.org/7374 - Tested-by: BuildBot - Reviewed-by: Russ Allbery - Reviewed-by: Derrick Brashear - -commit 319ec27236d40318819163ae10e897e4a3f7b50b -Author: Russ Allbery -Date: Fri May 11 21:16:22 2012 +0100 - - Import of code from c-tap-harness - - This commit updates the code imported from c-tap-harness to - d3fc03606efc8e76ff34f04470e6133db25a3982 (release/1.12) - - New files are: - LICENSE - NEWS - README - tests/runtests.c - tests/tap/basic.c - tests/tap/basic.h - tests/tap/float.c - tests/tap/float.h - tests/tap/libtap.sh - tests/tap/macros.h - - Change-Id: I4435bbb240f9db3cf2883cb0711f592f9d865f92 - Reviewed-on: http://gerrit.openafs.org/7399 - Tested-by: BuildBot - Reviewed-by: Russ Allbery - Reviewed-by: Derrick Brashear - -commit a18848fcae234258113012839483aceb3ada1281 -Author: Simon Wilkinson -Date: Fri May 11 21:14:38 2012 +0100 - - c-tap-harness: Fix import paths - - Somehow or another, the file list committed as - 098e6f141f2234dcd0196096ab6f739db678f746 is missing the tests/ - prefix for a number of object files. Reinstate this prefix. - - Change-Id: I2b807bf6fb8e5f136aef571e576c036714280b0c - Reviewed-on: http://gerrit.openafs.org/7398 - Tested-by: BuildBot - Reviewed-by: Russ Allbery - Reviewed-by: Derrick Brashear - -commit c6782b86d77f8653d8dd4bc27d0cbcca5f13747f -Author: Jeffrey Altman -Date: Thu May 10 08:36:33 2012 -0400 - - Windows: Avoid deadlock during "fs memdump" - - When the afs redirector is in use, it is possible that "fs memdump" - could be executed while all of the pages in the Windows page cache - are dirty with data that must be purged and flushed to \\afs. In - such a situation it is not safe for afsd_service.exe to hold - global locks such as buf_globalLock, cm_scacheLock, etc. while - performing WriteFile() calls against %TEMP%\afsd_alloc.log if - afsd_alloc.log was opened without the FILE_FLAG_NO_BUFFERING flag. - Doing so can result in a deadlock as it can become impossible for - the Windows page cache to purge data to complete the WriteFile() - as all extent operations block waiting for the global lock to - be cleared. - - The correct long term approach would be to use the FILE_FLAG_NO_BUFFERING - flag when opening %TEMP%\afsd_alloc.log. However, this requires that - all writes to the file be performed using buffers that are consistent - with the drive geometry. Such an approach would be incompatible with - the _CrtMemDumpAllObjectsSince() operation and would require a redesign - of the current interfaces. See - - http://msdn.microsoft.com/en-us/library/windows/desktop/cc644950(v=vs.85).aspx - - for requirements when using non-buffered writes. - - The short term fix is to dump the contents without holding the - global locks. This can result in an inconsistent view of the world - but will ensure that deadlocks are avoided. This patchset makes - such a change when the afs redirector is in use. - - Change-Id: I6ffc0ff7c80707f16bf132f2dcab7dab5727894d - Reviewed-on: http://gerrit.openafs.org/7391 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 90ecc0ff72607afeebafd9355a4fa42d5d994180 -Author: Jeffrey Altman -Date: Wed May 9 10:44:39 2012 -0400 - - Windows: cm_GetBuffer do not retry if biod empty - - Change-Id: I583a69199b0e3163c3bc5b620543028f2950bfeb - Reviewed-on: http://gerrit.openafs.org/7390 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4b58432de4f6eef93900786dad7d6b84e7123f5c -Author: Hartmut Reuter -Date: Mon May 7 12:31:15 2012 +0200 - - Make it build outside source tree - - some missing ${srcdir}/ inserted - - Change-Id: I323d4475dcf10bb5753741d611e3869779ff22d9 - Reviewed-on: http://gerrit.openafs.org/7383 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1e13ae53b3f1e753211f3ed39ae9d2ea9597cf48 -Author: Andrew Deason -Date: Wed May 2 12:11:01 2012 -0500 - - vol: Remove redundant vop check in GetVolume - - VAttachVolumeByVp_r (specifically attach_check_vop in attach2) already - handles checking for conflicting vol ops, and gives us VOFFLINE - appropriately. We don't need to check again in GetVolume. - - Change-Id: Ibb93d423d3c856dd957a2569412a85698180ff8e - Reviewed-on: http://gerrit.openafs.org/7304 - Tested-by: BuildBot - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit 80cb7bdebe2d8f852338eebc26c1bf507adbb4c5 -Author: Derrick Brashear -Date: Mon May 7 23:31:02 2012 -0400 - - c-tap-harness: add float.h - - add float.h to the list of files we import for c-tap-harness from - upstream - - Change-Id: I133dd6172bab17ae183cc6fc983f92f19005ba85 - Reviewed-on: http://gerrit.openafs.org/7381 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit a9595ab04712b523db8b0ca934613aa1a60cda99 -Author: Simon Wilkinson -Date: Sat Oct 8 23:33:37 2011 +0100 - - tests: Use enum rather than #defines for tests - - Change the command test so that it uses an enum, rather than #defines - for offsets into the parms array. This is mainly a cosmetic change, but - brings the test suite into line with the way that we're doing stuff in - the "real" code. - - Change-Id: Ia9d72e13230edd4fe13af52ba6816cf775693c36 - Reviewed-on: http://gerrit.openafs.org/7133 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit a81f9237bfa7b2e3a0567a930f3c49234b9a4376 -Author: Andrew Deason -Date: Wed May 2 12:07:49 2012 -0500 - - vol: Pay attention to specialStatus after VAVByVp - - attach2/VAttachVolumeByVp_r do not alter the yielded error code - according to specialStatus. So, pay attention to specialStatus after - receiving an error from VAttachVolumeByVp_r, to ensure we respond with - the correct error code. - - Change-Id: I59e977dd1f0949f8fe5670c7a52429acbfb7d7e9 - Reviewed-on: http://gerrit.openafs.org/7303 - Reviewed-by: Tom Keiser - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 21ed79aeaee2d3b2b47436db0491943829ac44a6 -Author: Andrew Deason -Date: Wed May 2 11:38:57 2012 -0500 - - vol: Avoid VBUSY/VRESTARTING trick for offline vop - - Currently, if GetVolume() finds that the volume we're trying to attach - has a vol op that leaves the volume offline, we do the - VBUSY/VRESTARTING trick as described in CheckVnode(). This doesn't - make any sense for a couple of reasons. - - For one, VBUSY/VRESTARTING is not the correct error code to return to - the client when an offline vol op is in progress and vp->specialStatus - is not set everywhere else we yield VOFFLINE. - - Additionally, this block of code is only hit once for a particular vol - op. Once we reach this section, the volume is in UNATTACHED state, and - so on the next iteration of GetVolume we will immediately return - VOFFLINE (or specialStatus). So the CheckVnode-like situation is not - applicable, since we are not returning VBUSY to the same client for 15 - minutes; we would return VBUSY once and then return VOFFLINE. - - Change-Id: I0e8376df7937fd6bd01f9998371b9289c4ad2618 - Reviewed-on: http://gerrit.openafs.org/7302 - Reviewed-by: Tom Keiser - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 098e6f141f2234dcd0196096ab6f739db678f746 -Author: Simon Wilkinson -Date: Mon May 7 21:21:26 2012 +0100 - - Configure src/external for c-tap-harness - - Setup the src/external system so that we can pull in releases of - the C Tap Harness using that mechanism. - - Change-Id: I312db7991b037e7bb885c8f93a5c94c793dada30 - Reviewed-on: http://gerrit.openafs.org/7372 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 427f53eea7f9c05e7b1913c91d57777d72bc30b2 -Author: Andrew Deason -Date: Mon May 7 15:49:34 2012 -0500 - - fs: Report default storebehind when errors exist - - After 904c9fbe, we no longer print out the default store asynchrony - when any of the supplied paths results in a pioctl error. However, if - just one (or a few) of the paths supplied results in an error (such - as, the path does not exist), this does not prevent us from reporting - the default value. - - Instead, keep track of whether or not we have a valid value, and try - to determine the default if we haven't already by the end of - StoreBehindCmd, and print it out. - - Change-Id: I16a5faed15141d0bb00ea9b6f991c0a8e404d4d5 - Reviewed-on: http://gerrit.openafs.org/7376 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit e9e14b551901db8f5be4d4c6060c709d2a3596be -Author: Jeffrey Altman -Date: Mon May 7 11:35:07 2012 -0400 - - Windows: cleanup redirector pipes - - If pipe creation fails, cleanup the mess. - - At shutdown, if there are pipes that have not been closed by - Windows, clean them up. - - This is just to ensure that at shutdown the reference counts of - cm_scache_t objects in the cache are reset to zero. - - Change-Id: I1d738c31faafce445f05adc4884c7711123589e2 - Reviewed-on: http://gerrit.openafs.org/7366 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 542dad75733354a6fb1e912d3ff75d414459078b -Author: Jeffrey Altman -Date: Mon May 7 00:56:11 2012 -0400 - - Windows: Correct refcount leak - - The new duplicate avoidance code in cm_QueueBKGRequest() leaked - a cm_scache_t and a cm_user_t reference count. - - Change-Id: Iceaf32a8d20cf350024fe40e3185c723f6203676 - Reviewed-on: http://gerrit.openafs.org/7365 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6da91dfcb8ffa83a4663e73359abc6c8b6128e34 -Author: Jeffrey Altman -Date: Mon May 7 00:54:27 2012 -0400 - - Windows: fix build with DEBUG_REFCOUNT - - cm_GetSCache added a new parameter. The same parameter is required - for the cm_GetSCache macro when DEBUG_REFCOUNT is defined at build - time. - - Change-Id: Id198cdf845b8339259716d4a61c0347c33ffd83d - Reviewed-on: http://gerrit.openafs.org/7364 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4fce72b0e6ddabce64af5fb7cef35492933f58d8 -Author: Jeffrey Altman -Date: Sun May 6 19:31:03 2012 -0400 - - Windows: Checksum server lists on Volume Errors - - For VMOVED, VNOVOL and VOFFLINE checksum the server lists for - the current volume. If the server list changes as a result of - the forced volume location update, do not set the updated flag - which prevents subsequent volume location updates for the current - cm_req object. - - This combined with the previous patchset to filter volume locations - based upon the VLSF_NEWREPSITE flag will avoid outages during - vos release operations. - - Change-Id: I39e6981b9fac5ed0dfd900e09474df43cb72feec - Reviewed-on: http://gerrit.openafs.org/7361 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 345d643729ed588c4e49e69607bee5793809b01d -Author: Jeffrey Altman -Date: Sun May 6 09:54:55 2012 -0400 - - Windows: cm_SetServerBusyState use cm_ServerEqual - - When the busy state of a server is set it must apply to all - server references if the server is multi-homed. Use cm_ServerEqual() - to do so. - - Change-Id: I76c07746eb396af988a5270804e221e7a641db66 - Reviewed-on: http://gerrit.openafs.org/7355 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 193a56aa664ccfb39a3447f81735f2183a914c76 -Author: Jeffrey Altman -Date: Sat May 5 21:37:00 2012 -0400 - - Windows: Track Mixed RO Volume Release State - - If the volume location information indicates that a replica site - is VLSF_NEWREPSITE then it implies that some of the replicas are - out of date. Ignore the out of date replicas when constructing - the list and force a volume location list reset every five minutes - while the replica site info is mixed. - - Change-Id: I136e66b1d2da66578970932553d14f59a666721b - Reviewed-on: http://gerrit.openafs.org/7354 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1af906799b2de90d41139dadaf2dd654e4fd2df3 -Author: Jeffrey Altman -Date: Sat May 5 20:46:08 2012 -0400 - - Windows: Make CM resilient to transient VNOVOL - - The 1.6.0 and 1.6.1 file servers send transient VNOVOL errors which - are no indicative of the volume not being present. For example, - VNOVOL can be sent during a transition to a VBUSY state prior to - salvaging or when cloning a .backup volume instance. As a result - the cache manager must attempt at least one retry when a VNOVOL is - receive but there are no changes to the volume location information. - - This patchset records the VNOVOL error in the cm_req_t structure - If the volume is replicated, the volume's server reference into a busy state. - If the volume is not replicated, the thread is paused for two seconds. - In both cases, the request is retried. If the VNOVOL error is received - a second time from the same server, the volume server reference is - deleted as before. This is done to prevent repeated requests to the - VLDB server and the file server that are expected to fail. The server - reference will be restored to the volume on the next volume location - update. - - Change-Id: Ica51f853683f80cb17c804cdc216f7a113cca60a - Reviewed-on: http://gerrit.openafs.org/7353 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 46c1f1391b6e1b95798e183b8f34cba5c074e0ad -Author: Jeffrey Altman -Date: Sat May 5 19:11:07 2012 -0400 - - Windows: cm_GetNewSCache drop lock to permit change - - In cm_GetNewSCache the entire LRU queue is searched for a - cm_scache_t object that is safe to recycle. If none are the LRU - queue was immediately searched again without dropping the - cm_scacheLock or taking a pause. As a result it is quite possible - that a thread about to release a cm_scache_t was blocked from - doing so. - - This patchset factors some of the logic a bit differently to - improve readability and adds new log messages to help diagnose - the cause of a problem if no cm_scache_t ever becomes available. - - Change-Id: Ica6ebee0ce0456e879ae7188d9c8cdc935a92e5b - Reviewed-on: http://gerrit.openafs.org/7352 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dbab42ca724668a8d0b0e33dd998fa9312b781d1 -Author: Jeffrey Altman -Date: Sat May 5 13:50:36 2012 -0400 - - Windows: Remove dead code in AFSRead.cpp - - Change-Id: I9ebaf0a43b0b14c11fc7d1b0935a8d436e70e900 - Reviewed-on: http://gerrit.openafs.org/7351 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4cdb94dbc4f7cfc13c9f3e07929adcd96b3df1c8 -Author: Andrew Deason -Date: Fri May 4 17:13:32 2012 -0500 - - ubik: Initialize ubik_callPortal earlier - - As of 7caf4143, we call ubeacon_InitServerList* before ubik_callPortal - is set, causing Rx connections to be created to port 0, causing - various problems with communicating with other sites. Initialize - ubik_callPortal to the correct value before calling any such - functions, so we create connections to the right port. - - Change-Id: I37dbf575bcdec10463c7b6006738678096a92573 - Reviewed-on: http://gerrit.openafs.org/7349 - Reviewed-by: Jeffrey Altman - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f76cf9a3fb30b8c89c91ca10eaff8308cab9630a -Author: Jeffrey Altman -Date: Thu May 3 20:01:22 2012 -0400 - - Windows: FCB cleanup must be done before ObjectInfo - - When processing the cleanup and destruction of a File Control Block - the related ObjectInfoCB is required for proper cleanup. Reorganize - the AFSPrimaryVolumeWorkerThread logic to ensure that this is true. - This involves dropping the VolumeCB->ObjectInfoTree.TreeLock around - the AFSCleanupFcb() call. While the lock is released it is possible - for the ObjectInfoCB->OpenReferenceCount to change. Therefore, new - checks must be added after the lock is re-acquired to ensure that - an in-use object is not destroyed. - - Change-Id: I6b26fb2fe1ef4077c6edd643ec40715c8e2928ac - Reviewed-on: http://gerrit.openafs.org/7327 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e691a757d6f43fa11e3b9a84cf5cbb151a8e9a3b -Author: Jeffrey Altman -Date: Thu May 3 19:58:31 2012 -0400 - - Windows: AFSInitFcb STATUS_REPARSE cleanup - - If a race is detected when creating a new File Control Block in - AFSInitFcb() the Fcb Header must be torn down and the ExtentsResource - and DirtyExtentsListLock must be deleted prior to freeing the pool - memory. - - Change-Id: I3c3f45aed26ea62b4d20e5c5e80d1237d96c912c - Reviewed-on: http://gerrit.openafs.org/7326 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f12a20e2279dc9446a1b74217c9995e3d9fc099b -Author: Jeffrey Altman -Date: Wed May 2 18:20:45 2012 -0400 - - Windows: cm_BkgFetch do not impose arbitrary timeout - - The afs redirector will queue extent requests for the entire file - if it is being copied to local disk as long as there is enough - page cache space to store it. If the file is 8GB and the bandwidth - from the file server is 100K/second it may take a while to get to - the end of the request queue. Do not arbitrarily time out the - requests. - - Change-Id: I12d9358ee5de37fc78d68c8e07dd14ca5dda1832 - Reviewed-on: http://gerrit.openafs.org/7320 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b12a038b487a47e99700c0d51273aee37aecbfca -Author: Jeffrey Altman -Date: Wed May 2 18:05:26 2012 -0400 - - Windows: Treat all cached writes as write-through - - Treat all writes that are cached in the windows page cache as - write-through requests so that they are delivered immediately to - the AFS cache. - - The upside is that the afsd service can begin to store data to the - file server immediately which can be of significant importance whe - the AFSCache is larger than the file size and the file size is large - and the bandwidth to the file server is slow. In that situation - the entire file can be written into the windows page cache and - will only be flushed to disk at the last handle close on the file. - - The downside is that all data will be written to the file server - including that for files that will later have the delete pending - flag applied. - - Change-Id: Icff536f9ec768068692c1e024a943448409e7e40 - Reviewed-on: http://gerrit.openafs.org/7319 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 0fb70aab0e06099bbfe9b1fa388722d0b28f81a3 -Author: Jeffrey Altman -Date: Wed May 2 18:04:23 2012 -0400 - - Windows: AFSQueueFlushExtents permit NULL AuthGroup - - If the AuthGroup is NULL, search for an AuthGroup to use when - queuing the flush extents request. - - Change-Id: Ie77f292dd992c4f8621434cecc70c7633de60320 - Reviewed-on: http://gerrit.openafs.org/7318 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ba8e60d70a74fc2c6899b29f330a5bfa59175912 -Author: Jeffrey Altman -Date: Wed May 2 18:02:28 2012 -0400 - - Windows: refactor AFSCleanupFcb - - move the checks for deleted and invalid files earlier in the - function to simplify other conditional tests. - - Change-Id: I973f411b65c0327227f07718ae764572d6f37c85 - Reviewed-on: http://gerrit.openafs.org/7317 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 23bec3fe9f12c0af08f03b0b9cb70add7be859ba -Author: Jeffrey Altman -Date: Wed May 2 18:01:31 2012 -0400 - - Windows: correct typos or mistaken comments - - Change-Id: Iae278c0121c1b4d3cc9aaab276fab798c1a8065b - Reviewed-on: http://gerrit.openafs.org/7316 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f86b17ab2b9ea75dacfcb508f138256c3827655b -Author: Jeffrey Altman -Date: Wed May 2 17:58:39 2012 -0400 - - Windows: RDR_RequestFileExtentsAsync set current DV - - if the buffer returned from cm_GetBuffer() has an offset that is - beyond the serverLength and it has a "bad" data version, set the - data version to the current value. This is for debugging clarity. - - Change-Id: Icb3ee4accd0219a41813c44428070248245f2549 - Reviewed-on: http://gerrit.openafs.org/7315 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a7fec07348889e9455ccec3b5028aec385b83e5f -Author: Jeffrey Altman -Date: Wed May 2 17:52:44 2012 -0400 - - Windows: refactor cm_GetBuffer avoid BIOD construction - - Constructing a BIOD is a very expensive operation as it requires - obtaining exclusive locks on each and every buffer that in the - collection. The prior code would construct a BIOD for a chunk - worth of buffers and then check to see if the current buffer is - beyond the serverLength or the truncation position. If so, the - buffer is cleared and the buffer is returned as current after - releasing the BIOD. This is very wasteful. Instead, check every - buffer in the BIOD to see if it should be made current or not. - If yes, do so before releasing the BIOD. This permits the construction - of the BIOD to be avoided for the rest of the buffers in the chunk. - - Change-Id: I0a413f8be9686cd0e326a3ea3608ca954cdf4370 - Reviewed-on: http://gerrit.openafs.org/7314 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6b602e59af8d360f7ca2c48734477c21a94396af -Author: Jeffrey Altman -Date: Wed May 2 17:47:46 2012 -0400 - - Windows: cm_InitDaemon initialize cm_bkgQueueCountp[] - - Change-Id: Ie4abd1c26d54208921a78e421b447a8f4fc5684a - Reviewed-on: http://gerrit.openafs.org/7313 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b750d82a8460cc1bd5a5761ed160b09ac5c132f5 -Author: Jeffrey Altman -Date: Wed May 2 17:42:59 2012 -0400 - - Windows: cm_QueueBKGRequest improvements - - Do not add duplicate requests into the queue. Outstanding extent requests - will be re-issued by the afs redirector on a periodic basis while - waiting for them to be satisfied. If they are pending there is no - need to remember them a second time. - - Use separate queues for Fetch and Store operations. Store operations - might be blocked on the file server but a Fetch operation might be served - from the cache. - - Change-Id: I8e15c71275921c9a062944d52bf97a0ba68fe430 - Reviewed-on: http://gerrit.openafs.org/7312 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ce7fe9ccfbfe0fd17416758357036881d5d2b5f4 -Author: Jeffrey Altman -Date: Wed May 2 17:39:12 2012 -0400 - - Windows: buf_GetNewLocked skip redirector owned buffers - - If a buffer is owned by the afs redirector, regardless of whether - or not it is dirty, do not use it. - - Change-Id: Icc92f3cb8606ac67bcf561d409c76bd5a4a7bc06 - Reviewed-on: http://gerrit.openafs.org/7311 - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fcf1079f580fe1f2afa86f5e0312792817d52d2f -Author: Jeffrey Altman -Date: Wed May 2 16:57:11 2012 -0400 - - Windows: buf_RemoveFromRedirQueue in buf_Init - - use buf_RemoveFromRedirQueue in buf_Init instead of the roughly - duplicated code. - - Change-Id: Ibf070d3e44f7a0749d1046c9d1168bdfb9aa6f2b - Reviewed-on: http://gerrit.openafs.org/7310 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2246e7887cccd9e3d3524c3079b80b5cecaac433 -Author: Jeffrey Altman -Date: Wed May 2 14:32:01 2012 -0400 - - Windows: AFSInitializeProcessCB failure stack exhaustion - - If AFSInitializeProcessCB() fails in AFSProcessCreate() it can - lead to a recursive loop of AFSValidateProcessEntry() -> - AFSProcessCreate() calls. Only call AFSValidateProcessEntry() - if AFSInitializeProcessCB() succeeds. On failure, log an error - to the trace log. - - Change-Id: I67a65bed9a3193a5ce44eb01d30aed15fe9e469d - Reviewed-on: http://gerrit.openafs.org/7309 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ad5916d19fe85c89db7675cac551a1e7634d5bdc -Author: Jeffrey Altman -Date: Mon Apr 30 06:22:41 2012 -0400 - - Windows: More useful AFSDumpFile exception info - - Modify AFSExceptionFilter to accept the __FUNCTION__ name - where the exception occurred. - - Generate the trace dump file after the exception has been - handled so that it is possible to see where it happened - in the trace output. - - Change-Id: Icddafc1066dd85b63d8d97c40c0f76c54d181ebe - Reviewed-on: http://gerrit.openafs.org/7308 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f70a12adef9a915ada728350e0b9e1e5104f7ea7 -Author: Jeffrey Altman -Date: Mon Apr 30 06:18:58 2012 -0400 - - Windows: VNOSERVICE error translation - - Translate VNOSERVICE as CM_ERROR_RETRY and not CM_ERROR_OFFLINE. - - Change-Id: I6daf9b9fb607192cedc057c518137772a7eb1bab - Reviewed-on: http://gerrit.openafs.org/7307 - Tested-by: BuildBot - Tested-by: Chas Williams - CONTRACTOR - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c87fe04a61a97d61859684d53bb2d3ef7ee65da8 -Author: Jeffrey Altman -Date: Mon Apr 30 06:18:06 2012 -0400 - - Windows: VNOSERVICE message text - - correct message text to indicate that an rpc has not been serviced. - - Change-Id: Id2d82756253136ae6221aa2227be64bf654ee36e - Reviewed-on: http://gerrit.openafs.org/7306 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 50752e2f60d613fda1e70b798a72679bea5d65f8 -Author: Jeffrey Altman -Date: Sun Apr 29 10:31:07 2012 -0400 - - Windows: reorg RDR_CleanupFile to prevent lock leak - - RDR_CleanupFile could fail to drop a file lock if the user does - not have write permission on last handle close even if the file - is readonly or there were no dirty extents to be stored. The - error handling would return the error immediately and skip the - file lock release. This patchset changes the logic so that the - user permissions are not tested if the file is located on a readonly - volume or if there are no dirty extents or metadata changes to store. - - In addition, if there is an error, skip to unlock processing and - not to function exit processing. - - Change-Id: I03f8cbbae5ead2a66ce261631e7e34dd533de930 - Reviewed-on: http://gerrit.openafs.org/7292 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f19e9d72466785bb3b543922f153ad8be2395e6e -Author: Andrew Deason -Date: Thu May 3 14:57:08 2012 -0500 - - vos: Default to server confdir for -localauth - - For -localauth, we traditionally default to using the server - configuration directory, since that's usually the dir that has the - KeyFile in it. Keep doing that with the new ubik client interface. - - Change-Id: I0f7e1ed180874f52c2b91b1ea3f74e763c26cd0c - Reviewed-on: http://gerrit.openafs.org/7324 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit d206783e0d1666464eb333ce58c72534448c2987 -Author: Andrew Deason -Date: Thu May 3 14:55:39 2012 -0500 - - vos: Correct comment - - This is -localauth, not -serverauth - - Change-Id: I8337c231905a5424b5a91b0ed981adade64ca144 - Reviewed-on: http://gerrit.openafs.org/7323 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Michael Meffie - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit 663185d62df501fb9d7a18e6ef329e4f53aa8854 -Author: Andrew Deason -Date: Thu May 3 12:40:40 2012 -0500 - - vos setaddrs: notice unexpected errors - - Currently 'vos setaddrs' only prints a message and errors out if the - VL_RegisterAddrs call fails with certain error codes (VL_MULTIPADDR - and RXGEN_OPCODE). But if we get something else like an access error, - we should of course print that out, instead of reporting success. - - Change-Id: Id90c65604289651d9f20fb1ab2c706446162f324 - Reviewed-on: http://gerrit.openafs.org/7322 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit b71f4ffa7c58ef7b27eb6e28d00892906aec49ec -Author: Michael Meffie -Date: Wed Apr 11 15:34:29 2012 -0400 - - volinfo: show header filenames even if error - - When invoked with -header option, print the header inode - number, and namei filename, even if the header file cannot - be opened. - - Change-Id: Id2a2e63f07e12cd817718a9da63d24250718ae06 - Reviewed-on: http://gerrit.openafs.org/7190 - Tested-by: BuildBot - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit 2460e132a9ed63714754745fe24f6f3a5712c81d -Author: Michael Meffie -Date: Mon Apr 16 22:29:24 2012 -0400 - - bozo: increase salvage instance poll rate - - Increase the bos client poll rate of the salvager temporary bnode - instance status, from every 5 seconds to 1 second. This reduces the - minimum time bos salvage takes, from 5 seconds to 1 second, which - can add up when doing a large number of volume salvages. - - Change-Id: Ia0f48bfabae9442ab0f1b4a6f43df34699892f66 - Reviewed-on: http://gerrit.openafs.org/7231 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - -commit 200a02f69a7f2ac1604c42e28498171c81df9b43 -Author: Jeffrey Altman -Date: Wed May 2 19:32:22 2012 -0700 - - Revert "viced: avoid crash if missing volume header" - - This reverts commit 2b40e6d2abbf842e6823661b94cfa9aa833b9990 - - Change-Id: I9df0fd4fa6232286babdf64da54d491d2ec1e91a - Reviewed-on: http://gerrit.openafs.org/7321 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ae5ad937997ae6e29f81e4049451eda09c2efb6f -Author: Michael Meffie -Date: Tue May 1 10:09:44 2012 -0400 - - viced: avoid crash if missing volume header - - Avoid a fileserver crash if the volume header is - missing in SetVolumeSync. - - Change-Id: I509081306402fc7147d0624aa1181330b9fa9fc5 - Reviewed-on: http://gerrit.openafs.org/7301 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 94a8ce970d57498583e249ea61725fce1ee53a50 -Author: Michael Meffie -Date: Mon Apr 23 14:42:24 2012 -0400 - - libafs: log server errors on hard mount retry - - Save the last errors seen during a request and log those - errors if a hard-mount retry is done. - - Change-Id: I65e41207c5f667c41c7f9cf459243118e5baa074 - Reviewed-on: http://gerrit.openafs.org/7275 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 07ff10c7fc194ee503b52691da000ab2c69d0fb1 -Author: Jeffrey Altman -Date: Sun Apr 29 10:40:31 2012 -0400 - - Windows: Cc FileObject Settings - - Modify the assigned CcSetReadAheadGranularity() from 64K to - the afsd_service configured chunk size. - - Assign a CcSetDirtyPageThreshold() to be twice the configured chunk size. - - Change-Id: I1cfa67612058cf5e08906e369236d0d8a48c54f0 - Reviewed-on: http://gerrit.openafs.org/7294 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cf0d53b06a42a21238f13d65feb8e5ebf602da4d -Author: Jeffrey Altman -Date: Sun Apr 29 10:37:35 2012 -0400 - - Windows: correct cm_Analyze log message - - A VNOSERVICE log message takes three parameters and not one. - Use the correct log macro. - - Change-Id: Iedb5e568b7ac39c061c0b70738a5c7ac670d9687 - Reviewed-on: http://gerrit.openafs.org/7293 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a400f2a8a0732db57d725a8629ba869ed71caf9f -Author: Jeffrey Altman -Date: Fri Apr 27 08:54:56 2012 -0400 - - Windows: remove unnecessary libs from aklog/asetkey - - Unnecessary lwp libs were linked into the aklog/asetkey binaries - on Windows. lwp and pthread should not be mixed. - - Change-Id: I53deed9ab210b8ccb394e754c66e15f35dfe89c2 - Reviewed-on: http://gerrit.openafs.org/7289 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2a83f03100deae0f13c255e41ab849d172859971 -Author: Jeffrey Altman -Date: Wed Apr 25 20:16:22 2012 -0400 - - Windows: Remove High Security Integrated Logon - - High security mode for integrated logon never was high security. - It use was deprecated in the 1.5 series and it has no use at all - in the afs redirector world. Remove it. - - FIXES: 21702 - - Change-Id: I019b4fecc430517d29195e79e39529a782c88073 - Reviewed-on: http://gerrit.openafs.org/7285 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 7d0a0b66cca5dfd7f9c42032393632abadb1aa76 -Author: Jeffrey Altman -Date: Wed Apr 25 18:05:01 2012 -0400 - - Windows: fs getcacheparms - - The get cache params output is supposed to include two values: - - . the size of the cache - - . the size of the cache in use - - Windows no longer has a concept of an unused cache buffer. All - buffers are inserted onto the freelist and are available for - recycling when the AFSCache file is created. Instead of reporting - the used cache space as 0K, report it as the full cache in use. - It is likely to disturb users less. - - Change-Id: I6c1475f26e561d245bfa2b658c77ba683f735bb5 - Reviewed-on: http://gerrit.openafs.org/7284 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 8095503bc1021515c48966f77e9561acfea1aa0c -Author: Michael Meffie -Date: Sat Apr 28 23:46:26 2012 -0400 - - doxygenize afs_analyze - - Change-Id: Idb5d873a0c2727928f80364aa5e99e48c05649ad - Reviewed-on: http://gerrit.openafs.org/7291 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d10f71d44fddd7ea6e37481cffd7ee1be2a93217 -Author: Andrew Deason -Date: Fri Apr 27 12:59:25 2012 -0500 - - vol: A GOING_OFFLINE volume should yield VOFFLINE - - Currently, GetVolume treats a volume in the VOL_STATE_GOING_OFFLINE - state the same as VOL_STATE_SHUTTING_DOWN, and so returns VNOVOL for a - GOING_OFFLINE volume, but these states are very different. - - GOING_OFFLINE indicates that a volume should soon be in the UNATTACHED - state, so we should treat GOING_OFFLINE the same as UNATTACHED for - returning errors to the user. For UNATTACHED, we return specialStatus - if it's set, or VOFFLINE otherwise; so, just do the same for - GOING_OFFLINE. - - Change-Id: Ia9500d2cfd90b8c15782a06025f39298810d0a99 - Reviewed-on: http://gerrit.openafs.org/7290 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 868378cc00b9ac7016da3dc457abf3fa2016687c -Author: Derrick Brashear -Date: Thu Apr 26 09:24:25 2012 -0400 - - libafs: don't crash on no addresses in afs_Conn - - we try to avoid a crash on a missing serverHost; do the same - on missing addrs in that host - - FIXES 130714 - - Change-Id: Ic6bab8654cf7bf85351a9482b9ba5d51e5a768d5 - Reviewed-on: http://gerrit.openafs.org/7287 - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 229131ab12d3c62a650ebff8c97acd5778f5bca1 -Author: Jeffrey Altman -Date: Tue Apr 24 15:41:39 2012 -0400 - - Windows: AFSValidateEntry CcPurge on DV change - - The variable bPurgeExtents was not being set when a DV change - was detected in AFSValidateEntry(). This resulted in the purge - being skipped and old data being left in the cache. - - Change-Id: I6f5a35e5c7a51d28267e0ff25318782a766771ac - Reviewed-on: http://gerrit.openafs.org/7280 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d4c9cbc75edd632bd5bf22042c6502d03dda2d9c -Author: Jeffrey Altman -Date: Mon Apr 23 20:18:20 2012 -0400 - - Windows: Directory validation should purge data changes immediately - - During AFSEnumerateDirectory() and AFSVerifyDirectoryContent() calls - use AFSPerformObjectInvalidate() instead of AFSInvalidateObject() - to trigger the data purge. This is necessary to avoid a race as - AFSInvalidateObject() will queue a work request that will be performed - after the metadata is updated. - - Change-Id: Iaf09c6448927a037175cb4a83502fd4a1d210ef2 - Reviewed-on: http://gerrit.openafs.org/7279 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 76f2e07fd039e0175540ae0ca3330a4bec86e1fe -Author: Jeffrey Altman -Date: Mon Apr 23 20:08:47 2012 -0400 - - Windows: Flag purge on close if CcPurgeCacheSection fails - - CcPurgeCacheSection can fail. If it does, remember that the - purge still needs to be performed by setting the - AFS_FCB_FLAG_PURGE_ON_CLOSE flag on the File Control Block. - - Change-Id: I83fab09ed5c506879e219606f8b10fdd7c021204 - Reviewed-on: http://gerrit.openafs.org/7278 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit be1f110f3efb41a72278c7abc8a22cbfcfa8d0e3 -Author: Derrick Brashear -Date: Sun Apr 22 22:45:09 2012 -0400 - - macos: remove mistyped vnode warning - - newborn vnodes are corrected if needed; don't worry about it. - - Change-Id: I3bc4d6e9a467a8e09a3a77e027254f0da1448f80 - Reviewed-on: http://gerrit.openafs.org/7270 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7e7a4ff328d279330e0c3f3e4c6fc07b43c4d9eb -Author: Simon Wilkinson -Date: Sun Apr 22 18:19:07 2012 +0100 - - tests: More fixes for the vos test - - The vos test wasn't running correctly from runtests, as it contained - a relative path which assumed that the CWD was tests/volser, rather - than tests/ - - Modify this to use the BUILD environment variable when invoked from - runtests, and also add an exit after the exec(), so that if we do - fail to launch the binary we don't have two processes both running - the same code. - - Change-Id: I7b2d7e6a517e9e9f74f15803da7507037671226a - Reviewed-on: http://gerrit.openafs.org/7265 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit e3c93b87b7fa751e9cf4c1356d606b7bb399b06c -Author: Derrick Brashear -Date: Wed Apr 18 11:58:52 2012 -0400 - - libafs: stop bkg first - - because background daemons can have dependence on other subsystems, but - are not needed for other operations, stop them first. - - Change-Id: If65cf922b84cfca7b8c5d7b7a2d571bfe1e5ff12 - Reviewed-on: http://gerrit.openafs.org/7246 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit a08f9baa7620a6643f12f0b847c2bbab41a0b255 -Author: Derrick Brashear -Date: Wed Apr 18 11:58:03 2012 -0400 - - macos: lock module against unload during shutdown - - during shutdown, once umount finished, it was possible to - unload the module before shutdown completed. fix that. - - Change-Id: I7eae5210ec9553fa862d96148f963dcdfee79c4b - Reviewed-on: http://gerrit.openafs.org/7245 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 749cb03e3c4b95c19803fc718d59ba79e8f8292f -Author: Jeffrey Altman -Date: Thu Apr 19 07:14:16 2012 -0400 - - Windows: Add global root to name array if share name - - If the share name was resolved by querying the service instead - of finding the entry in the root.afs root directory, construct - a name array in AFSParseName() that includes the AFSGlobalRoot - above the resolved share root directory. - - In AFSBackupEntry, check for the case where two volume root entries - appear in sequence without an intervening mount point. - - Change-Id: Ied0e0dc8226b0460d85a1f3a8b389294cfdef34b - Reviewed-on: http://gerrit.openafs.org/7252 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 9dce9e2461d7b375c0ff4caaf400a6b448322e74 -Author: Jeffrey Altman -Date: Thu Apr 19 05:14:51 2012 -0400 - - Windows: cm_ResetACLCache handle NULL cellp - - It is valid for the cellp parameter to be NULL. When invalidating - all ACLs for a user pass 0 to cm_EAccesClearUserEntries(). - - FIXES 130704 - - Change-Id: Ic6b6e5f1c2e10aa633390ee3d7c709dc202bbd29 - Reviewed-on: http://gerrit.openafs.org/7251 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit d55a767287d7f0ae1b3a018f3cb7b2a6730ebafa -Author: Jeffrey Altman -Date: Wed Apr 18 17:26:00 2012 -0400 - - Windows: reverse order of EACCESS and USER locks - - The user lock is obtain while holding the eaccess lock. - Reflect it in the hierarchy. - - Change-Id: I3aac945287415cd3babbe52f9fdeb93ab4d729bd - Reviewed-on: http://gerrit.openafs.org/7247 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 3029ed4003d900bda7767aa1d4a46683fd8f7b4d -Author: Simon Wilkinson -Date: Sat Apr 21 21:08:13 2012 +0100 - - ptserver: Complete pr_realmName removal - - Commit 9ddf9eca56e02be978ff7d065ee16c85de2cfb06 changed the mechanism - by which the local realm is determined such that pr_realmName is - no longer required. - - Tidy things up by removing the unecessary variable. - - Change-Id: I9b21340a8ecd38fbb8326dbed276882c9f0e9a62 - Reviewed-on: http://gerrit.openafs.org/7266 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit fbc9599484850f7f9fc41a98d3bd2105001fd802 -Author: Michael Meffie -Date: Thu Apr 19 15:15:04 2012 -0400 - - configure: solariscc check update - - Add checks for recent versions of sunstudio for solaris. The - installation paths are documented in the release notes of versions - 12.1, 12.2, and 12.3. - - Change-Id: Ic28f40a061f288a1c39acb6a5d11e81876631d7f - Reviewed-on: http://gerrit.openafs.org/7253 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4b63b93f24157aefa33f28c67ebea41803cc068e -Author: Simon Wilkinson -Date: Sat Apr 21 11:25:25 2012 +0100 - - rx_identity: Add a super user value - - Add an RX identity type that can be used to represent the super user - who is granted access using printed tickets. - - Change-Id: I3d6e657a04136746b502efa7698901225410f3c0 - Reviewed-on: http://gerrit.openafs.org/7261 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e1eb0fd66af158b86aec9c21cda836d84bc21c59 -Author: Simon Wilkinson -Date: Sat Apr 21 11:24:25 2012 +0100 - - rx: Make identity and opaque usable with NULL vals - - Make it possible to have NULL values for elements of the rx_identity - and rx_opaque structures. - - Change-Id: I3624d490d92da3cf75da5edb91c7d4e5ce1fa937 - Reviewed-on: http://gerrit.openafs.org/7260 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 5815a04cf1f3c7f4dec8ef3b9783e01bac599d1c -Author: Simon Wilkinson -Date: Fri Apr 20 18:13:30 2012 +0100 - - tests: Move token faking code to its own file - - Move the token faking code out of superuser-t.c into its own file in - tests/common, so it can be used by other tests. - - Change-Id: I7b420250ef974b4b80a8dde692d2666657bb82ca - Reviewed-on: http://gerrit.openafs.org/7259 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5cfea96b23b268bc93c6ffa5888c773031da7d67 -Author: Simon Wilkinson -Date: Fri Apr 20 15:36:29 2012 +0100 - - tests: Make afstest_StopVLServer generic - - The StopVLServer function can be used to stop any server for which - we know the pid. So, rename it as afstest_StopServer to make this - apparent. - - Change-Id: Ia5973342e81dc15a698e84e69b314cd6157831f7 - Reviewed-on: http://gerrit.openafs.org/7258 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2ce3fdc5dc888693c8a7698aae7805a7d4dee145 -Author: Simon Wilkinson -Date: Fri Apr 20 15:34:26 2012 +0100 - - tests: Abstract out code to produce a Ubik client - - Abstract out the code which the volser test uses to produce a - ubik client so that it can be used to test other ubik services - - Change-Id: I800fda9e53ad45c91f3de8eceea387cc011dda3c - Reviewed-on: http://gerrit.openafs.org/7257 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a6d64d700794601bb003a6e5693b34faa2214c18 -Author: Simon Wilkinson -Date: Sat Apr 21 07:43:59 2012 +0100 - - ptserver: Refactor per-call ubik initialisation - - The way in which the ubik database is initialised is identical for - all read transactions, and for all write transactions. Rather than - duplicating this code in each call handler, pull it out into two - helper functions - ReadPreamble and WritePreamble. - - Change-Id: I40f2d8d609bc4e6e8e3e0fc8851da86978c77818 - Reviewed-on: http://gerrit.openafs.org/7256 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit ddcd9ede775ef64de281bc4994b3c7477f7105e9 -Author: Simon Wilkinson -Date: Sat Apr 21 19:24:10 2012 +0100 - - tests: Add missing vos test - - Add the missing volser/vos test, and fix it so that the plan is correct - - Change-Id: I017679176f5df8fb18002175a75ac0dcd108aded - Reviewed-on: http://gerrit.openafs.org/7255 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 25a5c423a0d12086ab3cc390306bcd0f0324a731 -Author: Simon Wilkinson -Date: Sun Apr 22 10:58:17 2012 +0100 - - ptserver: Remove PR_REMEMBER_TIMES - - The #define PR_REMEMBER_TIMES is always true, so remove the #define, - and all of the #ifdefs that it triggers - - Change-Id: I445a2cd8f5e5b2570e6ef1311cc6bb3d66592fdc - Reviewed-on: http://gerrit.openafs.org/7264 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5c9be9a2f8eb4e2e8e9bf80132976adc506d968b -Author: Simon Wilkinson -Date: Sat Apr 21 20:55:23 2012 +0100 - - util: Completely remove get_krbrlm - - Commit d85ece0977e043154b7d8f5aef5f4cd972771e8e added a new - mechanism for determining whether a realm is local or not, and - susequent commits removed all in-tree calls to the now-legacy - functions in get_krbrlm.c - - To avoid confusion, just remove all of these legacy functions, as - we don't want to end up supporting two ways of doing this - operation. - - This change is not suitable for pullup to a stable release. - - Change-Id: Ie2f5c447f751d12a0d85a4a438efd7e210133e97 - Reviewed-on: http://gerrit.openafs.org/7263 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a38df1befb5a92f4f2c034576ead830b8d0c72c7 -Author: Simon Wilkinson -Date: Sat Apr 21 20:32:38 2012 +0100 - - dumpscan: Add missing .gitignore - - Add the missing gitignore file from the new src/tools/dumpscan - directory - - Change-Id: I8fc7a3de4e717ef657c331a5ce82afb8f05ff726 - Reviewed-on: http://gerrit.openafs.org/7262 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3a1e129b76be5109feaa52deeffb8a51c024a6cc -Author: Simon Wilkinson -Date: Wed Apr 18 12:46:31 2012 +0100 - - tests: Add a RX functionality test - - Use the rxperf performance testing tools to add a couple of simple - RX tests. The first moves 1Mbyte of data backwards and forwards 30 - times. The second starts 30 threads, which each move 1MByte of data - once. - - This is by no means an exhaustive test of RX, but the single and - multi-threaded invocations should provide a useful smoke test if - things get very broken. - - Change-Id: I11267be067cf6c05a20aeb90a18ed4031502a1b1 - Reviewed-on: http://gerrit.openafs.org/7244 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 06cc5bec2c2485f49a39fcd4af378279178fab36 -Author: Simon Wilkinson -Date: Tue Apr 17 23:19:17 2012 +0100 - - rxperf: Move into the tools directory - - Move the 'rxperf' RX performance testing utility out of the - src/rx/test directory, and into the slightly more visible top level - src/tools/ directory - - As this is the first time that rxperf has been built as part of the - default build, make a number of changes so that it will build on all - of our supported platforms. - - Change-Id: Ice37e7db694dbfed34009bf76d24f1e0bf272e47 - Reviewed-on: http://gerrit.openafs.org/7240 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit db733e325e558d4f36835639e340ecee94f7fcb5 -Author: Simon Wilkinson -Date: Wed Apr 18 23:25:33 2012 +0100 - - roken: Add setprogname - - Add setprogname to the list of functions that we test for, and replace - with a libroken alternative if it is missing. - - Remove setprogname and getprogname from the AC_CHECK_FUNCS list, as - AC_REPLACE_FUNCS is a superset of this test. - - Change-Id: If81dc8ba6d9245329f3abae6a6f062e3827dcfab - Reviewed-on: http://gerrit.openafs.org/7250 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c0952be8d870cf1fc7837b86b373a100886742e4 -Author: Heimdal Developers -Date: Wed Apr 18 23:16:39 2012 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - ee7340860a22f81fb869cc431efc1fd4e5c77d34 (switch-from-svn-to-git-2542-gee73408) - - New files are: - roken/setprogname.c - - Change-Id: I4e6bbe0b76f6a79035937c1eb830008c972f1db4 - Reviewed-on: http://gerrit.openafs.org/7249 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 02eb5507481a3f05423081df3c1d07597cd36dc4 -Author: Simon Wilkinson -Date: Wed Apr 18 23:15:15 2012 +0100 - - roken: Add setprogname to list of imports - - Change-Id: I0aff8d1b3228e702012ffbe8bc8707a6d60ffbaf - Reviewed-on: http://gerrit.openafs.org/7248 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 418886567064c9266824fe940592399e8daac3b9 -Author: Simon Wilkinson -Date: Wed Apr 18 09:10:36 2012 +0100 - - Update .gitignore files - - Update (and create) .gitignore files across the tree - - Change-Id: I7534e4f1eac44e6024f86591a171b63a64c6f320 - Reviewed-on: http://gerrit.openafs.org/7241 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 18db7ede1c570710d361a2e7cc3a641260e6a08a -Author: Simon Wilkinson -Date: Wed Apr 18 12:44:43 2012 +0100 - - tests: Explicitly include DES in superuser test - - When the hcrypto/des header was removed from our installed headers, it - wasn't added back in to the superuser test. Add it now, so that the test - can build. - - Change-Id: I38023ee94abe801f6f2313b492e4f80855001c41 - Reviewed-on: http://gerrit.openafs.org/7243 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6f20e9ddc2d15ec70b7c2d4035c78b156a36656a -Author: Simon Wilkinson -Date: Wed Apr 18 12:35:10 2012 +0100 - - Mac OS: Fixed shared library symbol issues - - Some of our shared libraries (in particular, roken) build with different - symbols in them depending on the exact configuration options for a - particular platform. This means that not all of the symbols in the map - file may be present within the library. On Mac OS X we have been working - around this by using the "-flat_namespace,-undefined,suppress" linker - options. - - However, with Lion this no longer works, as the linker still expects to - find the symbol in the library whose mapfile indicated that it was - present. So, for example, we end up with errors like: - - dyld: Symbol not found: _errx - Referenced from: openafs.git/tests/rx/../../src/tools/rxperf/rxperf - Expected in: openafs.git/lib/librokenafs.dylib.1.1 - - ... despite errx actually being provided by the system libraries. - - The fix to this is to use the default two level namespace, and change - our behaviour for undefined symbols to 'dynamic_lookup', rather than - 'suppress' - - Change-Id: Ide37856198a8db3d42ee0a5261d097176bcc9301 - Reviewed-on: http://gerrit.openafs.org/7242 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9dca26ac192f0538e8f76a8935819b6f9f4c438e -Author: Simon Wilkinson -Date: Tue Apr 17 22:28:14 2012 +0100 - - tools: Move dumpscan into its own directory - - Move dumpscan into its own directory, so that it's Makefile rules can - be better contained, and not pollute the whole 'tools/' namespace - - Change-Id: Ic58d007824ab802eae469dd2996300f80671a3b8 - Reviewed-on: http://gerrit.openafs.org/7239 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0dd7c980acda0756150f11992a0d2236f340e0c2 -Author: Michael Meffie -Date: Mon Mar 5 10:47:45 2012 -0500 - - audit: remove static local realms - - Remove the static list of local realms and use the - auth interace to do the local realm check. A callback - function is registered by the servers to avoid a circular - dependency between audit and auth. - - Change-Id: Ic0f25cd79da7987704de68bade14054490b26c80 - Reviewed-on: http://gerrit.openafs.org/6879 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8a040cfd848410b75b4e5ac5498f00f073932598 -Author: Michael Meffie -Date: Mon Mar 5 08:27:55 2012 -0500 - - viced: remove static local realms - - Use the new auth function to do the local realm match - check instead of static local realms lists. - - Override the krb.conf file with the -realms command line - option. - - Change-Id: Ic364e61b03385fbc9496ac4af3877a1fdee3a3a5 - Reviewed-on: http://gerrit.openafs.org/6878 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9ddf9eca56e02be978ff7d065ee16c85de2cfb06 -Author: Michael Meffie -Date: Tue Feb 28 22:31:45 2012 -0500 - - ptserver: remove static local realms - - Use the new auth function to do the local realm match - check instead of static local realms lists. - - Change-Id: I8b509188103916bdd2e575e5e9a14e3671b81e65 - Reviewed-on: http://gerrit.openafs.org/6877 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d85ece0977e043154b7d8f5aef5f4cd972771e8e -Author: Michael Meffie -Date: Tue Feb 28 09:19:11 2012 -0500 - - auth: remove static local realms - - Remove the static list of local realms and use the auth - interface to perform the local realm match check. - - Change-Id: I0f56e7974e59035eb9bf9fb343b550ab6b7ef314 - Reviewed-on: http://gerrit.openafs.org/6876 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 8e62ddaa3706319b425327b9516c91290274590a -Author: Simon Wilkinson -Date: Fri Apr 13 14:49:59 2012 +0100 - - rx: Use native 64bit data counters - - Modify the peer, call and rpc_stats structures to use native 64 bit - types for the bytesSent and bytesRcvd data counters. All of our - platforms support native 64bit quantities now, so there's absolutely - no value in rolling our own. - - Change-Id: I7c51de73be17821c6472eea535c8476fe0d7a23e - Reviewed-on: http://gerrit.openafs.org/7205 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c83e1ae68022993399402911eab84ee157d34de2 -Author: Derrick Brashear -Date: Tue Apr 17 08:55:45 2012 -0400 - - aklog: heimdal kvno is rapidly changing - - in 1.6 it's unsigned. in 1.5 it's signed. - it's 32 bits. i don't care. just copy the darn thing. - - Change-Id: I51efd2be64eac108e5b1591643f24fd0a51bfdff - Reviewed-on: http://gerrit.openafs.org/7235 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0ac28aa703459df60e9f18348fb1d4f73d5c042c -Author: Jeffrey Altman -Date: Mon Apr 16 15:22:35 2012 -0400 - - Windows: Drop Fcb Resource across SetEOF and SetAllocation - - If the file size or allocation is being altered, we must hold - the PagingResource and drop the Fcb Resource. Dropping the - Fcb resource is necessary to avoid a deadlock with TrendMicro's - filter if the size is set to zero and acquiring the PagingResource - is necessary to prevent races now that the Fcb Resource is no - longer held. - - Change-Id: Ie72a018adc52c479a4bb2469b2b1abe317644e8b - Reviewed-on: http://gerrit.openafs.org/7224 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fd161ec0e474485c6a1a43019b802e3b663098df -Author: Jeffrey Altman -Date: Mon Apr 16 14:47:38 2012 -0400 - - Windows: Hold PagingResource across ExtendingWrite - - When the file allocation size changes the PagingResource must - be held exclusively to prevent races. - - Change-Id: I6ff3a2061563dbb858bb284b463913f6d3b33e7a - Reviewed-on: http://gerrit.openafs.org/7223 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8e1490f5799f0a307760047a133aade806b32afc -Author: Peter Scott -Date: Mon Apr 16 12:25:01 2012 -0400 - - Windows: AFSProcessOverwriteSupersede CcSetFileSizes - - Instead of calling CcPurgeCacheSection() in AFSProcessOverwriteSupersede() - as part of the file length truncation to zero, call CcSetFileSizes(). - - Wait to call CcSetFileSizes() until after the Fcb->Resource has been - dropped but while the Fcb->Header.PagingIoResource is still held. - Make sure that file sizes are restored in the Fcb->Header if the - afsd_service rejects the file update. - - Change-Id: I7574e80781ac1dbbe69814c69644bb3825de9b6a - Reviewed-on: http://gerrit.openafs.org/7220 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f8b759b63ff938e2829fefd71059202c44e7ca13 -Author: Michael Meffie -Date: Tue Feb 28 08:50:33 2012 -0500 - - auth: local realms configuration - - Add krb.conf and krb.excl support to the auth cell configuration - library. Provide a function to determine if the user is local to the - cell. Provide a function to set the local realms during application - initialization. These changes are intended to replace the functions - afs_krb_get_lrealm and afs_is_foreign_ticket_name. - - Change-Id: Iba57e9ffc2c958f3a4565a9352ce172189276ce9 - Reviewed-on: http://gerrit.openafs.org/5744 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a3ff62857cb76e403c11a27a250aa3c79d66ebb6 -Author: Simon Wilkinson -Date: Fri Apr 13 19:14:44 2012 +0100 - - rx: Remove surplus call to FindPeer - - When stats are enabled, rxi_ReadPacket calls FindPeer immediately - the packet is received from the wire. The peer structure that it - gets is used solely to increment a counter, and then thrown away. - Given that FindPeer requires a lock, and a hash lookup, this is - really inefficent. - - Instead, delay the compilation of statistics until rxi_ReceivePacket. - Call FindPeer for version and debug packets which have no associated - connection otherwise wait until we have found the packet's connection, - and use the peer which is linked from there. - - Change-Id: Ic2eb08e52b97d6b033b9d3de59da9346e012d70d - Reviewed-on: http://gerrit.openafs.org/7206 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 660720d1f54a867e21f78b6ec4c024235e4c37b7 -Author: Andrew Deason -Date: Thu Mar 29 10:30:47 2012 -0500 - - rx: dec rx_nWaiting on clearing RX_CALL_WAIT_PROC - - Currently, a couple of callers (rxi_ResetCall, and - rxi_AttachServerProc) will decrement rx_nWaiting only if - RX_CALL_WAIT_PROC is set for a call, and the call is on a queue - (presumably rx_incomingCallQueue). This can cause an imbalance in - rx_nWaiting if these code paths are reached when, in another thread, - rx_GetCall has removed the call from its queue, but it has not yet - cleared RX_CALL_WAIT_PROC (this can happen while it is waiting for - call->lock). In this situation, rx_GetCall will remove the call from - its queue, wait, and e.g. rxi_ResetCall will clear RX_CALL_WAIT_PROC; - neither will decrement rx_nWaiting. - - This is possible if a new call is started on a call channel with an - extant call that is waiting for a thread; we will rxi_ResetCall in - rxi_ReceivePacket, but rx_GetCall may be running at the same time. - This race may also be possible via rxi_AttachServerProc via - rxi_UpdatePeerReach -> TryAttach -> rxi_AttachServerProc while - rx_GetCall is running, but I'm not sure. - - To avoid this, decrement rx_nWaiting based on RX_CALL_WAIT_PROC alone, - regardless of whether or not the call is on a queue. This mirrors the - incrementing rx_nWaiting behavior, where rx_nWaiting is only - incremented if RX_CALL_WAIT_PROC is unset for a call, so this should - guarantee that rx_nWaiting does not become unbalanced. - - Change-Id: I7dba4ba5f7cc33270c2d0f486b850fc0391927d1 - Reviewed-on: http://gerrit.openafs.org/6986 - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 6a9b0d8c56ab80bdcc8d4e2d0b28a606837141cc -Author: Jeffrey Altman -Date: Sun Apr 15 17:40:03 2012 -0400 - - rx: conn_call_lock leak - - In rxi_ReceivePacket, if the packet is for a client connection - and there is no call allocated, the conn->conn_call_lock was - leaked. Introduced by 95c38dff3740d7e24971ceb5875c06e7abfce102. - - Change-Id: Icfc10849c1da08d7c96d139b0a10d9ffe7ee57df - Reviewed-on: http://gerrit.openafs.org/7218 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 15cde0e40db8c99ef9af7e9f04c406ce6ea3bfeb -Author: Michael Meffie -Date: Mon Feb 20 15:26:09 2012 -0500 - - auth: get local cell internal function - - Add an internal function to retrieve the local cell - name when the auth mutex is already held. Implement - afsconf_GetLocalCell in terms of the new internal - function. - - Change-Id: I2f021a9966129e8e256b61d5219e7315b904ac0e - Reviewed-on: http://gerrit.openafs.org/6875 - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit c242c5a4ae156b6a4432edd3258e87eb283c7ef1 -Author: Jason Edgecombe -Date: Thu Apr 12 21:30:47 2012 -0400 - - TESTS: Add the libwrap script to "make check" to handle library paths - - LICENSE MIT - - Change-Id: I5f77d8703a163b8b9224f64010b9e008bb386c59 - Reviewed-on: http://gerrit.openafs.org/7202 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: Derrick Brashear - -commit 56a2cbb5fbdcab51bd5f4720e610796abbce5c41 -Author: Jeffrey Altman -Date: Sat Apr 14 09:43:48 2012 -0400 - - Windows: pioctl use GetFileAttributes - - Instead of attempting to CreateFile(OPEN_EXISTING) the _._AFS_IOCTL_._ - file, try using GetFileAttributes() to obtain the attributes of the - file. The file doesn't exist in the directory listing but the - afs redirector and the afs smb server will respond to the request. - Perhaps the SMB servers in the broken printers will fail it. - - Change-Id: I792bcc89c63871043ce6835a971de284fd754d54 - Reviewed-on: http://gerrit.openafs.org/7210 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 718a6a0c464e1c2f477acbe48770c2297720a57d -Author: Jeffrey Altman -Date: Sat Apr 14 11:06:58 2012 -0400 - - Windows: _._AFS_IOCTL_._ hidden and system - - Query file attributes returned only the system attribute - and not the hidden attribute. Must return both. - - Change-Id: Id29465adf3e3524b59c63b2e6f8ef482f536a0e1 - Reviewed-on: http://gerrit.openafs.org/7209 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3cdfdc4792444c54a36341b6a8a66ae1a8085cec -Author: Jeffrey Altman -Date: Fri Apr 13 23:16:56 2012 -0400 - - Windows: Remove PurgeContent param AFSVerifyEntry - - When verifying a directory entry we must update the metadata - for a file therefore we must also purge the data if the version - number changed. This is not optional. - - Change-Id: Icb673c7a6c52b3778978248fcb243d110685aa8d - Reviewed-on: http://gerrit.openafs.org/7208 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ead0a458272abe79fcca5e521b2960d90d358465 -Author: Jeffrey Altman -Date: Fri Apr 13 20:17:48 2012 -0400 - - Windows: Flush data and then drop locks - - The redirector must flush the data to the file server - and then drop the file locks. Doing it the other way - creates races. - - Change-Id: Ic3a48546ee9e0066df9d228fc4e57f52b43587c2 - Reviewed-on: http://gerrit.openafs.org/7207 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dcefc4576020c2c076af1a4af07cc827bf4eea40 -Author: Michael Meffie -Date: Fri Apr 13 11:58:02 2012 -0400 - - Build: check for gencat - - Check for the gencat program and give a missing warning if - not present. - - Change-Id: I71cdaa0840215b53071be4481a5f23b2f8667bda - Reviewed-on: http://gerrit.openafs.org/7203 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit c11d1c031940f298e96def822024d2857f603268 -Author: Michael Meffie -Date: Fri Apr 13 13:01:05 2012 -0400 - - Build: error if solariscc is not found - - Fail configure if the solariscc is not found and give the builder - a message to cope with non-standard installation paths for - sunstudio. - - Change-Id: I64c1e752833f2aa824f4a15cc144e54bb03a1ec8 - Reviewed-on: http://gerrit.openafs.org/7204 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a187be182ce2915b68af0e318bef352d41f7715a -Author: Simon Wilkinson -Date: Sun Jan 8 11:45:57 2012 +0000 - - rx: Rework code which pulls packet from recv queue - - Both rxi_ReadProc and rxi_FillReadVector contained copies of the - same code to pull a packet out of the receive queue, and turn it - into the call's currentPacket. Abstract this out into a single common - function, so we're not maintaining the same code in two different - places. - - Change-Id: I20af6b4ff19f05e21ffde1a80609be12ad6cfeee - Reviewed-on: http://gerrit.openafs.org/7195 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7b45d62ec18726a49dcffe8ddbca8f446ca0bb3e -Author: Simon Wilkinson -Date: Fri Jan 6 10:12:26 2012 +0000 - - rx: Tidy up currentPacket handling - - Instead of making a copy of the call->currentPacket variable in our - read/write routines, reference it directly. Make it clear that - currentPacket is used solely by the application thread, and remove - a number of mistaken comments that suggest otherwise. - - Change-Id: I7ad799acbf110422df7c1e18ab552caf26b7766a - Reviewed-on: http://gerrit.openafs.org/7194 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit e6105fcd33db8af6a5ea5da5f221b6acc8d39f04 -Author: Derrick Brashear -Date: Thu Apr 12 17:35:27 2012 -0400 - - aklog: heimdal kvno is unsigned - - heimdal's kvno is unsigned. comply. - - Change-Id: I5960ec33dccb10ae2bbc121e231b6aa58fa17993 - Reviewed-on: http://gerrit.openafs.org/7201 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit 83b76f564b0972c6163656637b2d64d06895e41a -Author: Simon Wilkinson -Date: Thu Sep 8 11:26:39 2011 +0100 - - Remove redundant header includes - - Remove includes of system headers where roken.h already takes care of - including them. This simplifies the source tree, reduces the amount of - work done by the compiler, and ensures that all of our headers are - included with the correct guards - - The list of files to edit was generated with the following script: - - list=`grep include external/heimdal/roken/roken.h.in \ - | sed -e's/#include//g' | sort | uniq`; \ - for A in `find . -name *.c | xargs grep -l roken.h \ - | grep -v external/ | grep -v WINNT/`; do \ - found=0; \ - for B in $list; do \ - if grep "$B" $A > /dev/null; then \ - echo "$A : $B"; \ - found=1; \ - fi; \ - done; \ - if [ $found == 1 ] ; then mvim -f $A; fi; \ - done - - Change-Id: I2edbda550a129709b1dc6860b17d6a8a7509af58 - Reviewed-on: http://gerrit.openafs.org/5815 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Alistair Ferguson - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit 03ec768fa65dc5961e161517871f3035df70b643 -Author: Michael Meffie -Date: Tue Mar 27 00:33:26 2012 -0400 - - volscan: index offset output column - - Add index offset as a possible volscan output column. - - Change-Id: I1bf6e8dc3c506a2ee013536e19141ddb214879a6 - Reviewed-on: http://gerrit.openafs.org/6980 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 22fbed08a6f23dbbc05fd567e6e8e21e4d1a9709 -Author: Michael Meffie -Date: Mon Mar 26 20:20:28 2012 -0400 - - volscan: option to ignore dir vnode magic - - Option to ignore directory vnode magic when looking - up the path names. Print which vnode failed when - doing the checks. - - Change-Id: Id4b74ee9f139305025b849a007a4534b8ed04dbf - Reviewed-on: http://gerrit.openafs.org/6979 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ed8b38d1d0f2e74ff7280c09afbc6fd4d2df1b23 -Author: Jeffrey Altman -Date: Wed Apr 11 11:59:17 2012 -0400 - - Windows: missing brace in RDR_CleanupFileEntry - - Fix 46d76d8821f4c8476499757d509ce1a6bab764b1 - - Change-Id: I6c6cf5e1dec431544963f6a4c283e2ae0d52a7d9 - Reviewed-on: http://gerrit.openafs.org/7189 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit df522b588396aaac3ec662b516ef7287f3b7c47b -Author: Andrew Deason -Date: Thu Mar 22 17:54:12 2012 -0500 - - salvager: Trust inode-based special data over OGM - - Currently the salvaging code looks for special inodes, and infers the - volume id and inode type from the OGM data in each special inode file. - However, we can already derive this information from the inode number - itself for the special inode, so if they disagree, use the values - based off of the inode number and correct the OGM data. - - The inode number should be more likely to be correct, since that is - how we look up the special inode from the header when attaching the - volume. It is also impossible to get special inode files with the same - name, so this ensures we don't get duplicates. And for people that go - snooping around /vicepX/AFSIDat even though we tell them not to, it - seems more likely that they go around 'chmod'ing or 'chown'ing rather - than 'mv'ing. - - This change avoids an abort in the salvaging code when the OGM data is - wrong. If we trust the OGM data when it is incorrect, we assume the - special inode file is for a different volume. So when we go to - recreate one of the special files for the volume we're actually - working with, the IH_CREATE fails (from EEXIST) and so we abort. - - Change-Id: Ibfaa1bfb27d190c5fec6fc673d88df366268e302 - Reviewed-on: http://gerrit.openafs.org/6946 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 0594fc80b48152b4b03edda7e19133b59fc0670e -Author: Andrew Deason -Date: Fri Mar 23 13:02:22 2012 -0500 - - namei: Abstract out OGM functions a bit more - - Add GetWinOGM and SetWinOGM for getting and setting the - Windows-equivalent of the Unix OGM data. Make those and CheckOGM use - GetFileTime/SetFileTime so we can operate just via an FD_t, without - needing the full pathname. Modify the NT namei_icreate to use - SetWinOGM. - - Change-Id: I5077911d8473d44ad9ba1d17d3b6deec3a12ba39 - Reviewed-on: http://gerrit.openafs.org/6945 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4c8a3cd789a8495d0c0b3f8ff1a7ebb2a20f5336 -Author: Derrick Brashear -Date: Tue Feb 14 21:58:09 2012 -0500 - - libafs: dont handle outstatus on write error - - if a write errored, we can't trust the OutStatus we got. don't. - - Change-Id: I74934c32426c6f25aace06f6ee59c1c1b547af90 - Reviewed-on: http://gerrit.openafs.org/6714 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 7a650025c5387db483b1c061cc78c9e9c528d582 -Author: Michael Meffie -Date: Wed Feb 29 09:40:14 2012 -0500 - - Build: link libaudit before util - - libaudit depends on util symbols, so link it first to avoid - unresolved symbols. Include libaudit in the list of libs - instead of making it a special case. - - Change-Id: Ide6d5f7e3ce8fd76b504088dcae3110872a87092 - Reviewed-on: http://gerrit.openafs.org/6847 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit ef6ae1e7eda56e1d6ff7b9ade25b290c855e5780 -Author: Michael Meffie -Date: Sat Mar 3 10:05:01 2012 -0500 - - viced: fix log message for MapName_r - - Do not log a code of zero if the name plus instance length exceeds - the max pr name buffer. - - Change-Id: I8b8f970213c0beb35a728bcc2158796f84120a3b - Reviewed-on: http://gerrit.openafs.org/6861 - Reviewed-by: Derrick Brashear - Reviewed-by: Alistair Ferguson - Tested-by: Derrick Brashear - -commit bc770a5007ae16aa5477bf1748f3e0666f665781 -Author: Michael Meffie -Date: Tue Apr 10 16:07:37 2012 -0400 - - doc: distributed files are under dest - - Add the dest path component in the quick start guide instructions for - copying files from a binary OpenAFS distribution file. - - Change-Id: I5c39ac0426ef2eab89ae5d3df260628e949dc21e - Reviewed-on: http://gerrit.openafs.org/7187 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fbe6f0f4ad983389b77309be49af658f6c0dfeb3 -Author: Simon Wilkinson -Date: Tue Sep 13 07:17:27 2011 +0100 - - afsd: Move to newer cmd syntax - - Move afsd over to using the newer cmd functions, and avoid using - direct array access, and fixed offsets. - - Change-Id: I6e09823d764cbe6109c9a72700239d814b91db0c - Reviewed-on: http://gerrit.openafs.org/7137 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 46d76d8821f4c8476499757d509ce1a6bab764b1 -Author: Jeffrey Altman -Date: Wed Apr 11 00:29:03 2012 -0400 - - Windows: Do not delete in CleanupFile if error - - If an error was detected when processing RDR_CleanupFileEntry() - do not perform the file deletion. Just return the error as - attempting the deletion could result in an exception. - - Change-Id: I57b17a15d1bdda4d0890dbe59f9e2432d465250f - Reviewed-on: http://gerrit.openafs.org/7186 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f0b039fc4761bb0151c7ee69110926ef16e264c7 -Author: Michael Meffie -Date: Mon Apr 9 15:49:50 2012 -0400 - - libafs: log error code when marking server down - - Log the error code when marking the server down due - to server/networks issues. - - Change-Id: Ib3d57562642ca564dcfeaa775de66f54d08f23af - Reviewed-on: http://gerrit.openafs.org/7138 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3720f6b646857cca523659519f6fd4441e41dc7a -Author: Simon Wilkinson -Date: Sun Oct 23 16:21:52 2011 +0100 - - Rework the ugen_* interface - - Remodel the ugen_* ubik initialisation interface so that more complex - sets of security flags can be passed through it. A number of new - functions are provided, all of which take the AFSCONF_* security flags - defined in libauth: - - *) ugen_ClientInitCell is used to initialise a ubik client structure - when the caller already has afsconf_dir and afsconf_cell - structures for the cell being contacted - *) ugen_ClientInitServer is used to initialise a client which will - contact a specific server within a given cell, rather than - selecting one from the pool - *) ugen_ClientInitFlags is used to initialise a client given a - cellname, and a path to a configuration directory. It is is - closest to the legacy ugen_ClientInit function. - - All of the in tree callers are updated to use this new interface - - Change-Id: I6a438aa70d94114c8b6626fa1396b7580ab07c07 - Reviewed-on: http://gerrit.openafs.org/7131 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 5dd997762897e290083a96a2179afacc4caa2fbd -Author: Marc Dionne -Date: Sun Jan 22 10:03:43 2012 -0500 - - viced: Make Update_TargetVnodeStatus usable by replication code - - Add a remote flag, skip rights related code for the remote case. - - This will need to be revisited later; in the case that what ends - up on disk is slightly different than the InStatus passed in, the - changes should be preserved to pass to the replicas. - - Change-Id: I596698ba00174efbdc6a170a24f86ea88554f9af - Reviewed-on: http://gerrit.openafs.org/6675 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 37fc2dfbb9e3a8a8ecb022febae7ccd04d7340a4 -Author: Marc Dionne -Date: Sun Jan 22 09:34:28 2012 -0500 - - viced: Make GetVolumePackageWithCall usable by replication code - - Add a remote flag to GetVolumePackageWithCall to make it usable for - remote replication RPCs. For the remote case the checks related - to access rights are skipped. - - Change-Id: I81db0bb1ae90c5f98cf4e59d9ba28466b312c763 - Reviewed-on: http://gerrit.openafs.org/6673 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 74e5f32aaca5313f153f13c7ce9442527b758a0a -Author: Marc Dionne -Date: Sat Jan 21 14:42:01 2012 -0500 - - vol: Allow VAllocVnode of specific vnodes - - Add parameters to VAllocVnode to allow the caller to specifiy the - vnode and unique numbers to use. This will be used by the RW - replication code to keep vnode numbers in sync between the master - volume and the replicas. - - Adapted from code by Vishal Powar and Derrick Brashear. - - Change-Id: Ibaf79aad2b3e7a52802f5e01f7e4c7730c3f5090 - Reviewed-on: http://gerrit.openafs.org/6672 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 46474374e1914fb556d38f09f50cdbbaeaa1aef0 -Author: Jeffrey Altman -Date: Tue Apr 10 10:17:51 2012 -0400 - - Windows: AFSValidateProcessEntry, ullProcessId 64-bit - - In AFSValidateProcessEntry(), ullProcessId is 64-bit and must be - printed as an %I64X in AFSDbgLogMsg() formats. - - Change-Id: I0e1cd45383c4512eb271c294674bbfe3f0f39bef - Reviewed-on: http://gerrit.openafs.org/7172 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7bab9649aa9d4fe467d2f0fa6df2747a97f35950 -Author: Simon Wilkinson -Date: Mon Apr 9 23:13:28 2012 +0100 - - roken: Add rk_getprogname to Windows mapfile - - Add the rk_getprogname symbol to the Windows mapfile so it can be - used by roken consumers. - - Change-Id: I77c7db3fcd9136d36e2b17b6250bfcfa6327b0e5 - Reviewed-on: http://gerrit.openafs.org/7139 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit bb16c6f38f30c59be1849e3b30cad6928530066b -Author: Simon Wilkinson -Date: Thu Apr 5 16:00:32 2012 -0400 - - rxkad: Remove DES include from header file - - Remove the hcrypto/des.h include directory from the rxkad_prototypes - header file. We ship rxkad_prototypes.h, but we don't ship the hcrypto - headers. Having an installed header depend upon an uninstalled one is - a pain when building out-of-tree code like perl-AFS. - - Change-Id: Idac93ba834c84f6f9e2e49361f88d0e357a328d6 - Reviewed-on: http://gerrit.openafs.org/7068 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1e858293d3aea047953edef626b8b3e36feca814 -Author: Simon Wilkinson -Date: Thu Apr 5 15:58:11 2012 -0400 - - rxkad: Move conversion functions to own file - - Move the various key conversion functions into thir own header file, - rather than rxkad_prototypes.h. This means we can isolate the dependency - on the hcrypto DES headers (which we don't install) - - Change-Id: I8efcbf97b6794d9573f35eec9d4a32e9ff4cf352 - Reviewed-on: http://gerrit.openafs.org/7067 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 10a7428b79e44b203a132e70cf929a6ee9b18650 -Author: Simon Wilkinson -Date: Fri Apr 6 23:56:30 2012 +0100 - - shlibafsauthent: Add a load more objects - - The perl-AFS module needs to link against a pthreaded, PIC, library - that contains all of the routines that it provides perl shims for. - At the moment, libafsrpc_pic and libafsauthent_pic are the only such - libraries that OpenAFS provides. - - Add all of the necessary objects to libafsauthent_pic such that the - 2.6.2 version of perl-AFS can build with a minimal set of patches. - Minimise the damage by only making these available through the static - version of the libafsauthent_pic library. - - Change-Id: I5a2aa5f5fbcfbe15aa7a23c3ab57b34b979ab2f3 - Reviewed-on: http://gerrit.openafs.org/7070 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c3dd14759d592463eb29a1e15dc6648bfe25e583 -Author: Simon Wilkinson -Date: Fri Apr 6 23:54:10 2012 +0100 - - opr: Install the queue.h header - - The opr queue definition is required by a structure in the installed - cellconfig.h header. So that header can still be used by out-of-tree - applications, install the queue.h header too. - - Change-Id: Ifaf49d59df24275ff50c215de6a0f40fc2bd2230 - Reviewed-on: http://gerrit.openafs.org/7069 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7051672c7118b44e40a59b645f48428aabc9ee8a -Author: Jeffrey Altman -Date: Tue Apr 10 01:05:14 2012 -0400 - - Windows: report error on panic - - If afsd_notifier() is called the service is going to exit(1). - Report to the service manager that the service exited with an - error as well. - - Change-Id: I88bb2f315016ab17a526d1eab162ccde8beb0dd0 - Reviewed-on: http://gerrit.openafs.org/7148 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 846cef3685edbdba9f186f595daecb5241551ec1 -Author: Jeffrey Altman -Date: Mon Apr 9 23:24:07 2012 -0400 - - Windows: correct afsredir log entries - - AFSVerifyEntry != AFSValidateEntry - - Change-Id: I5b138e121f66724afddde9eadce4c11009ec6ec4 - Reviewed-on: http://gerrit.openafs.org/7147 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 779c27bf1daaf01c79c0bb7c687781151abb4383 -Author: Jeffrey Altman -Date: Mon Apr 9 18:41:13 2012 -0400 - - Windows: Refactor AFSValidateEntry - - Refactor AFSValidateEntry to avoid obtaining the - ObjectInformation->Fcb->Resource when it isn't necessary. - This will avoid contention and improve performance. - - The only time that the Fcb->Resource is required is when - the object requires verification, the object is a FILE, - and the object was successfully evaluated. - - Even with this reorganization there is a small window - of opportunity for a deadlock to occur if a CcPurgeCacheSection() - which is called with the Fcb->Resource held triggers a filter - driver to issue a CreateFile and in between the two operations - an invalidate object is received. - - Change-Id: Iddf64f030c6a608ac29a10b7a9a7e130ae6c4249 - Reviewed-on: http://gerrit.openafs.org/7143 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit d1e59d2d82787d19c81e60db68c76f45560b8465 -Author: Simon Wilkinson -Date: Fri Sep 9 07:46:01 2011 +0100 - - Generalise the new background daemon code - - Move the new background daemon code out from under the AFS_DARWIN80_ENV - ifdef into its own AFS_NEW_BKG define. This lets us use it for things - other than the Darwin mv helper, on other platforms. - - Based on code originally written by Derrick Brashear - - Change-Id: Iba9431f5dc4bbbe10222b25a595cdd1ea2f592f4 - Reviewed-on: http://gerrit.openafs.org/7136 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 46bdb318c45b4e93a5b297e6fdee2b2acbed4b55 -Author: Andrew Deason -Date: Mon Apr 9 17:16:42 2012 -0500 - - vos: Do not try to remove backup volume id 0 - - Currently we always try to delete a BK volume if we're deleting the - RW. If the BK volume id is 0, this is never going to do anything, so - don't try to delete it. - - Change-Id: I0c003040cface9999944d61637077fce1736445e - Reviewed-on: http://gerrit.openafs.org/7140 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5e7e3724fc354a17ebc05814d8693a50d859bd84 -Author: Simon Wilkinson -Date: Tue Apr 10 00:35:43 2012 +0100 - - Import the expand_path.c file from Heimdal - - Import expand_path.c from Heimdal so that it can be used for path - parsing with the Windows version of the INI file parser. - - Change-Id: I764ea10edb8bb63bd45216c912c0f67597c4467a - Reviewed-on: http://gerrit.openafs.org/7144 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 4545abb09686f2af91c937548af281587a61fe55 -Author: Heimdal Developers -Date: Tue Apr 10 00:37:07 2012 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - ee7340860a22f81fb869cc431efc1fd4e5c77d34 (switch-from-svn-to-git-2542-gee73408) - - New files are: - krb5/expand_path.c - - Change-Id: Ib4093b72257f9a0d1a49edb0fe6779908a78cd83 - Reviewed-on: http://gerrit.openafs.org/7145 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 3109a66fb2df8e3f2878938c5b62222e8212c0f1 -Author: Simon Wilkinson -Date: Sun Apr 1 12:27:04 2012 -0400 - - rx: Remove packet burst elements from peer struct - - The peer structure contains a number of elements left over from an - earlier, burst based, congestion control strategy. As OpenAFS has - never implemented this strategy, just remove these elements from - the structure, and store 0 values for these elements in the debug - packets. - - Change-Id: Ib50a8ac587890efb483d3c2640ead615d170db34 - Reviewed-on: http://gerrit.openafs.org/7006 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit aa6f52584ea1aea170da578328cc35e567a5b0b4 -Author: Simon Wilkinson -Date: Fri Nov 25 20:51:40 2011 +0000 - - rx: Remove the unused packet skew code - - We don't (and haven't, since the release of OpenAFS) use the packet - skew calculations for anything. However, maintaining them requires - taking locks in some critical parts of the transmission code path. - For both speed, and maintainability, reasons remove the skew code - from the tree - it's in git if we ever want to go back to it. - - Change-Id: Idc6dc80fb06ca959ad02a85f2c536a94ca3d5c02 - Reviewed-on: http://gerrit.openafs.org/7004 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 84d09a831afcfa8d0971dcbe4f1fc7823cec9e10 -Author: Simon Wilkinson -Date: Tue Dec 6 14:06:05 2011 +0000 - - rx: Hide internal packet functions - - Hide functions in rx_packet.c which are only used by that file by - making them static. - - Change-Id: I22d4be2130cc4a46183254d3ba36c61644891852 - Reviewed-on: http://gerrit.openafs.org/7003 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - -commit 9862ac0dbb72d8f5f9f894e567261e52354e0b15 -Author: Simon Wilkinson -Date: Mon Dec 5 18:56:03 2011 +0000 - - rx: Hide struct rx_peer from the rest of the tree - - The peer structure is an internal RX structure, so it shouldn't - be contained in public header files, or used by non-rx modules. - - Hide the structure definition in rx_peer.h, and convert the - rx_HostOf and rx_PortOf accessors from macros into functions. This - will also help with adding support for non-IPv4 addresses to RX. - - Change-Id: I790fa3193bfa629a2872fc5395d0146e76a2de9e - Reviewed-on: http://gerrit.openafs.org/7002 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f971a36968bdcb224ff3ffb663929d4febcab5d5 -Author: Marc Dionne -Date: Mon Apr 9 19:00:36 2012 -0400 - - tests: remove unused variable in tests/util/ktime-t.c - - errors is set but not used - remove it. - - Change-Id: I00c99ac8b9c61ab2667aecbdf0fd04401d018bf8 - Reviewed-on: http://gerrit.openafs.org/7142 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cc06d00b215b4aebfdd05ad205c088e3dc1ba666 -Author: Simon Wilkinson -Date: Sun Sep 25 21:30:02 2011 +0100 - - Move configuration parsing into libcmd - - Rework the API for directly parsing configuration files and move it - out of util/ and into libcmd, where we can actually make use of it. - - This is a raw API - it provides direct access to the parser. The - eventual intent is that this will predominantly be contained within - libcmd itself, which will then wrap this with the more general purpose - Option functions - - Change-Id: I9f4a9c373c4123023120f69e595068ead6160507 - Reviewed-on: http://gerrit.openafs.org/7132 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e4430d9d487b1b93717886eeb2621bbe50899838 -Author: Simon Wilkinson -Date: Sun Apr 1 15:40:24 2012 -0400 - - rxperf: Build again - - Fix rxperf so that it builds again - - Change-Id: I9747bc1b3fedb96d5bc317acde69f35b1dc6efb8 - Reviewed-on: http://gerrit.openafs.org/7011 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 91303604f69a317b12e22b02f74a572573c8f3ca -Author: Simon Wilkinson -Date: Sun Apr 1 15:15:35 2012 -0400 - - roken: Prefix getopt and getprogname - - The roken symbols for getopt and getprogname are now prefixed with - 'rk_'. Fix the map file so it lists the correct symbols. - - Change-Id: I61adba7d5bec3e86b8e29d1eefda23df4ef91988 - Reviewed-on: http://gerrit.openafs.org/7010 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 80ec5db21d6395c29d5433541a2d9d63c975782f -Author: Simon Wilkinson -Date: Sun Apr 1 15:09:57 2012 -0400 - - all needs to be first rule in the Makefile - - Just running 'make' in a subdirectory will fire the first rule in that - directory's Makefile. When the buildtools rules were added to roken and - crypto, they were put at the start of the file, meaning that they fire - in perference to 'all' - - Swap the ordering back so that 'make' does what would be expected - - Change-Id: I598a183f42c150a5da724b7403e91f89f74a0109 - Reviewed-on: http://gerrit.openafs.org/7009 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 46c5aabfc6f5af2875e8b20252a17955ad89dd38 -Author: Simon Wilkinson -Date: Thu Apr 5 15:50:35 2012 -0400 - - bos: Change to using char casts for ka functions - - The ka_IsZero and ka_PrintBytes function just use char strings. Cast - directly, rather than going via a helper functions to simplify this - code. - - The helper functions add complexity, and additional dependencies which - cause problems with some uses of this code. - - Change-Id: I831ff0f8fbecec602d8c2b9112675938facfb06b - Reviewed-on: http://gerrit.openafs.org/7066 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 00992c66972aeab96cca9781b02a780ab49dce23 -Author: Simon Wilkinson -Date: Thu Apr 5 15:43:23 2012 -0400 - - shlibafsrpc: Add additional XDR functions - - Export the afs_xdr_pointer and afs_xdr_u_char functions so that - shlibafsauthent can make use of them. - - Change-Id: I16cf3f69904bffb3a034fd4052117845c1067a2c - Reviewed-on: http://gerrit.openafs.org/7065 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 578cdc35e645489823f322b09632fca2fd7b2c31 -Author: Jeffrey Altman -Date: Mon Apr 9 07:18:32 2012 -0400 - - rx: remove peer burst elements from rx/test - - Subsequent patchsets will turn rx_peer into an opaque object - and remove the burst elements entirely from the tree. For - now remove them from rx/test - - Change-Id: I728f7b74497701c0ef965009dff5550e1b153696 - Reviewed-on: http://gerrit.openafs.org/7130 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 01a1b79288c532f99e2da52aa13262d4c0fc1f79 -Author: Simon Wilkinson -Date: Wed Dec 7 18:30:00 2011 +0000 - - rx: rxi_AckAll isn't an event handler - - rxi_AckAll is coded as if it is an event handler, yet the only - call site is a direct call from rx.c. So, rework the function to - remove all of the event handling code, change its arguments to match, - and make it static. - - Change-Id: I947c02bf91bf5a3f42d2a389f9393e68f3ccee4b - Reviewed-on: http://gerrit.openafs.org/6999 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a20c4893670df80c15585f68d244f2f82bfa0758 -Author: Simon Wilkinson -Date: Wed Dec 7 19:14:03 2011 +0000 - - rx: Tidy up function scope in rx.c - - Rework headers to more clearly indicate which functions in rx.c - are considered part of the 'public' rx interface, and which are for - internal use only. - - Move internal functions either to be static in rx.c - (if they are used only within that file), or defined in - rx_internal.h. - - Remove entirely the unused function rxi_NatKeepAliveOn() - - Change-Id: I878374dc137f4c7e204de4b2d9ca17fa1c5db628 - Reviewed-on: http://gerrit.openafs.org/6998 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 084c2c1687fda07c768837e8fd7cc0904818f977 -Author: Simon Wilkinson -Date: Mon Nov 14 10:28:38 2011 +0000 - - rx: Remove trailing else from RX_KERNEL_TRACE - - The RX_KERNEL_TRACE ifdefs all contain a trailing else, which makes - no logicial sense given the rest of the code. The only effect of this - trailing else is to cause packets to not be sent when tracing is - enabled, which probably isn't the desired behaviour. - - Change-Id: I2175b1d8270cd096361f349a467245b49efabf6b - Reviewed-on: http://gerrit.openafs.org/7001 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 49ddcc3b3e9645255db394af0256ea374d06766e -Author: Simon Wilkinson -Date: Sun Apr 8 18:31:31 2012 -0400 - - kas: Don't require config for help - - Modify the call to ka_Init in kas, so that a fully configured client - isn't required in order to generate help output. In particular, permit - kas -help, kas -version and kas apropos to run without initialising the - ka library. - - This fixes a problem with running 'make check' on systems that don't - have an AFS client installed (or where the AFS client is installed in - a different location) - - Change-Id: I5edd10a319ed6aee163723f99c4f37183f572b2f - Reviewed-on: http://gerrit.openafs.org/7129 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9037358b6a49d45ba8170a1d71de8b7c678d4f0f -Author: Marc Dionne -Date: Sat Apr 7 10:11:14 2012 -0400 - - tools: return error code in xfclose - - The code variable takes the return code from do_close, but - is then unused. Return its value instead of systematically - returning 0, avoiding an unused variable warning. - - Change-Id: I831b5b81721400ee08106d2ecdbf2b7b8e126348 - Reviewed-on: http://gerrit.openafs.org/7123 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - -commit 2427cb000cb70cfca5b2a61d4f5f9ca54488fc55 -Author: Simon Wilkinson -Date: Sat Jun 25 18:29:27 2011 +0100 - - rx: Remove unused ACKHACK macro - - rx_globals.h had a macro called ACKHACK which at one point looks like - it was used to determine whether to send an ACK or not. We now have a - more sophisticate mechanism for determining this, and the old macro - doesn't seem to have been used in a long time. So, remove it to avoid - confusion. - - Change-Id: I9b17cdca69c903c7a952489791088f2899ac7e60 - Reviewed-on: http://gerrit.openafs.org/7000 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2c0ed7ace6e10cb7fa053f0eb6d2a1fa45f76577 -Author: Simon Wilkinson -Date: Sun Apr 8 18:31:25 2012 -0400 - - tests: waitpid requires sys/wait.h - - Calling waitpid requires the sys/wait.h header to be included to - guarantee that the prototype is enabled. - - Change-Id: I2d845236347d1be46cd750c2e766b305a64cde53 - Reviewed-on: http://gerrit.openafs.org/7128 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 02f470e99d5853808bca532ff953c2bbc0b8176c -Author: Simon Wilkinson -Date: Sun Apr 8 18:31:15 2012 -0400 - - tests: rx needs roken - - On Linux, the RX library has a dependency on libroken for the rk_socket - function. Add this dependency to the RX tests. - - Change-Id: I306e846524232bc136cd969ab1b8664d1c570e2d - Reviewed-on: http://gerrit.openafs.org/7127 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit bdca02dfe7df3800a3e5f3a9b10ca1d223779ef9 -Author: Simon Wilkinson -Date: Sat Mar 31 15:27:53 2012 -0400 - - cmd: Don't leak memory when constructing help string - - It's not critical, because we'll be exiting soon afterwards, but just - to be nice, don't leak the name of every command option whilst we're - constructing the help string. - - Caught by clang-analyzer - - Change-Id: I87fdb2030c6a7c5ad810f2a06820c08cbe2fb18e - Reviewed-on: http://gerrit.openafs.org/7107 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4dc40bade411ddc1a0cc85ee9e242307ea2c96b2 -Author: Simon Wilkinson -Date: Sat Mar 31 15:23:22 2012 -0400 - - ktime: Don't leak token list - - ktime_ParsePeriodic generates a malloc'd token list when it parses - the time string passed to it. Make sure that we free this list before - exiting from the function. - - Change-Id: I6edacc6504aeec06ede5b5ae36c22f69b0d6cea0 - Reviewed-on: http://gerrit.openafs.org/7106 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 63f7b0a2051b1c5cc20208b20b73c587f3d74b4f -Author: Simon Wilkinson -Date: Sat Mar 31 15:16:16 2012 -0400 - - budb: Don't leak memory - - Don't leak the malloc'd path variable everytime we call truncateDatabase - - Caught by clang-analyzer - - Change-Id: I583d81b136113820dab00a6eb35ca8e1aeec2cd1 - Reviewed-on: http://gerrit.openafs.org/7105 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 39bdcebad71cf4c7636e7c1007f228dbd36510cb -Author: Simon Wilkinson -Date: Sat Mar 31 15:13:49 2012 -0400 - - vol-dump: Don't leak memory - - Don't leak a Volume structure everytime we call HandleVolume - - Caught by clang-analyzer - - Change-Id: Id8cf79dd2178b8647d88f0765ec4ad9d327a23ae - Reviewed-on: http://gerrit.openafs.org/7104 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1b4d2b53ccb4bece0c5be78fa87ba085f070bdf5 -Author: Simon Wilkinson -Date: Sat Mar 31 15:11:10 2012 -0400 - - vol-dump: Make static things static - - vol-dump is a self contained object. Make everything in it static to - make clear that these functions are not being used by other objects in - the tree. - - Change-Id: I0345c884167ed322fdf7a6e83b77b0ae261b9d8f - Reviewed-on: http://gerrit.openafs.org/7103 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit be8d8b7c78eb54f460489084650ba13f3946d7a2 -Author: Simon Wilkinson -Date: Sat Mar 31 14:59:47 2012 -0400 - - auth: Don't leak key on file parse error - - If we fail for any reason whilst parsing the keyfile from disk, don't - leak the key structure which we allocated to store the results of the - parse. - - Change-Id: I21a27723f96af9428465134cfb975c83e10da535 - Reviewed-on: http://gerrit.openafs.org/7102 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8f39150b2718d5d758ba9d02bf3becd9c8947120 -Author: Simon Wilkinson -Date: Sat Mar 31 14:52:58 2012 -0400 - - opr: Flag assertion error handles as noreturn - - Flag both of our assertion error handlers as being AFS_NORETURN, so - that static analysers can truncate their decision trees, and avoid - false positives, based on assertion statements. - - Change-Id: I511c9c19a714cd3eaa5a886bf9561f577244360e - Reviewed-on: http://gerrit.openafs.org/7101 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d55a5d70802a1907ef7cf9c9d20646cb69e89989 -Author: Simon Wilkinson -Date: Sat Mar 31 14:42:39 2012 -0400 - - pts: Don't malloc(0) when there's nothing to do - - If GetNameOrId is called with no work to do, then don't attempt to - malloc a load of 0 length strings. Instead just return an empty array - to the caller. - - Change-Id: I245cfde71d65b8a3b6df4217b90dad81e9e60a58 - Reviewed-on: http://gerrit.openafs.org/7100 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8d497e575c85979c7107a0a1efd6bc75ac1d391f -Author: Simon Wilkinson -Date: Sat Mar 31 14:37:04 2012 -0400 - - bucoord: Don't malloc(0) if there's no work to do - - If there's no work to do, then don't attempt to malloc 0 bytes, and - just return success to the user - - Change-Id: I060852a247acb8309c75f3670577561b5a9af591 - Reviewed-on: http://gerrit.openafs.org/7099 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 54ca22a905c65e0544ce17c74fd59073f46b8c9f -Author: Simon Wilkinson -Date: Sat Mar 31 14:33:33 2012 -0400 - - auth: Handle empty lists of keys - - Handle the case where a list of keys may be empty - don't attempt - to calloc a 0 length array, and have Put handle the case where the - array being freed has no elements. - - Caught by clang-analyzer - - Change-Id: I665035cb00a8da411710a71a17ae66545702127f - Reviewed-on: http://gerrit.openafs.org/7098 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5815c5ffb03e8afa0d36eef7da865e564d568296 -Author: Simon Wilkinson -Date: Sat Mar 31 14:23:18 2012 -0400 - - Unix CM: We're disconnected if RW disconnected too - - At the moment, the Unix CM doesn't support entering a purely RO - disconnected mode (the historical AFS_IS_DISCONNECTED mode). If we - go disconnected, or reconnect we always toggle RW discon at the same - time as we toggle RO. Arguably, the RO disconnected mode should just - be removed, as it is now superceded. - - For the moment, make it clear to the compiler that RW disconnected - implies RO disconnected, so that static analysis can make more sensible - decisions about code paths. - - Change-Id: I7e2d04d2cf67740c6b6285950874c6a4eaeb0537 - Reviewed-on: http://gerrit.openafs.org/7097 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit de94f97649cbf36a5d8ae805a0d211573fcb11be -Author: Simon Wilkinson -Date: Sat Mar 31 12:20:25 2012 -0400 - - auth: Make sure we get AF_INET addresses from DNS - - The routines which do AFSDB and SRV lookups copy the results of - gethostbyname directly into an afs_int32, and use the size of the - result to limit the copy. If, for any reason, they get a result that - isn't an int, then they will overflow this value. - - Check that the result we get from gethostbyname is in the INET - address family, and also limit the size of the copy by the size of the - destination, rather than that of the source. - - Caught by clang-analyzer - - Change-Id: Icf1426e090bc1ed382212d5de6c291d0816fb2c9 - Reviewed-on: http://gerrit.openafs.org/7096 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 20265ddd78dbe4a7777b17912f2c3f00dbf2a1db -Author: Simon Wilkinson -Date: Sat Mar 31 11:59:16 2012 -0400 - - vos: Initialise total counters - - When VolumeStats_int calls DisplayFormat, it isn't interested in - the total counters it provides. So, it doesn't both initialising the - variables it passes in to hold these counters - garbage in, garbage out. - - However, this shows up as an uninitialises variable warning, so set them - all to 0 to keep clang happy. - - Caught by clang-analyzer - - Change-Id: Ia3e1eadde6eac6fa924a4ff9ad566c5c50f9ff40 - Reviewed-on: http://gerrit.openafs.org/7095 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6c1a7e68c4859573f636dec9b7e4b2ac1f5bb8a4 -Author: Simon Wilkinson -Date: Sat Mar 31 11:51:19 2012 -0400 - - vol: Don't return an uninited val from LookupNode - - If the SalvageHashTable for a particular node is empty, then LookupNode - can return an uninitialised value to the caller. It isn't clear from a - broader code inspection whether LookupNode can ever be called with an - empty SalvageHashTable, but returning a NULL vsp does seem like the - correct thing to do in this situation. - - Caught by clang-analyzer - - Change-Id: Ibee79e6acf7d3bdbc2995ef924338ade4de77d08 - Reviewed-on: http://gerrit.openafs.org/7094 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9cbc3b77db818bd65a8ec3c5b804178449c2bb67 -Author: Simon Wilkinson -Date: Sat Mar 31 07:01:46 2012 -0400 - - fs: Fix bad frees - - On an error GetLastComponent was freeing completely the wrong thing. - Fix this so it frees the memory it has allocated, and not some random - stack pointer. - - Caught by clang-analyzer - - Change-Id: I8b65f7ab36647b876fae5cbe59d82fd8d38ce0b7 - Reviewed-on: http://gerrit.openafs.org/7093 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9a007a9df43645b63a8b642029b4931928f9268b -Author: Simon Wilkinson -Date: Sat Mar 31 06:58:01 2012 -0400 - - cmd: Use strl* rather than strn* to avoid overrun - - The NName function was using strncat(a, b, sizeof(a)), which doesn't - work as you would expect if 'a' already contains data. To avoid the - potential buffer overflow, switch to just using strlcat. - - Caught by clang-analyzer - - Change-Id: Idd2c630c07a93b27e8d629339589aa6686290eae - Reviewed-on: http://gerrit.openafs.org/7092 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b5ebfec329ef428e242c7458ccbfc807b25f1d63 -Author: Simon Wilkinson -Date: Fri Mar 30 20:36:56 2012 +0100 - - autoconf: One CC to rule them all - - (well, in userspace at least) - - We have 3 different ways of specifying the C compiler - CC, CCOBJ and - MT_CC. On most platforms these are set to identical values by the - configure script. However, this causes problems for a user who wants - to override the default complier choice by doing - make CC=my-favorite-compiler - as this doesn't catch all of the ways we specify the compiler [1] - - So, change the specification of CCOBJ and MT_CC so that, by default, - they reference CC, rather than copying its value. This means that on - platforms where CC is the appropriate compiler to use in all situations, - a user need only change CC to modify their compiler choice. - - [1] - it might be argued that the correct place to substitue the - compiler is in configure's environment, which does currently work. - However, this doesn't work with special things, like static - analysers, that can build the source tree, but not the configure - tests. - - Change-Id: Ib95e2ac00b36f33c3cb2491feacd6c898f8f61dc - Reviewed-on: http://gerrit.openafs.org/7091 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3198cef8ccf0d9cb9a7479c0b973e604e21e62fc -Author: Simon Wilkinson -Date: Fri Mar 30 19:41:17 2012 +0100 - - afs: Handle reading past the end of a file - - ... except that this change doesn't actually handle this, it just - stops clang from throwing an error about the bogus code that's already - in there. This needs fixed properly ... - - Change-Id: Ifbf190a86037fced8104ed0843dd1e7aa0b999a7 - Reviewed-on: http://gerrit.openafs.org/7090 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f1842bcb87c84e8862ca521f491215e42ce1ee2a -Author: Simon Wilkinson -Date: Fri Mar 30 19:40:30 2012 +0100 - - xdr: Len can never be negative - - The len parameter to xdr_len is unsigned, so can never be negative. - Don't bother testing to see if it is negative, so that clang likes us - again. - - Change-Id: Iad5f8b1b2d20ec55846bc1ef7b7499a30956e17f - Reviewed-on: http://gerrit.openafs.org/7089 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5e107724f3661254cfdb693ae2d4d1c5238eba7d -Author: Simon Wilkinson -Date: Fri Mar 30 19:39:51 2012 +0100 - - rx: Remove needless braces - - Doing if ((a==b)) is unecessary. It's also potentially dangerous, as - that's the syntax required to do assignment within an if statement. - clang now issues warnings (errors in -Werror mode) when it encounters - these. - - Remove pointless braces from the Unix CM to make clang happy. - - Change-Id: I031db80c3f85c0e4c4db365b1c36b5d4b4a7cb48 - Reviewed-on: http://gerrit.openafs.org/7088 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 438d6ba63cda7d7484c545a4fd181803e84d68eb -Author: Simon Wilkinson -Date: Fri Mar 30 19:37:36 2012 +0100 - - rx: Handle negative returns on packet reads - - rxi_RecvMsg returns an int, because it can return a negative value upon - error. Don't store its return value as an unsigned int, because this may - hide the potential errors. - - Modify the error handling loop so that errors get to where they are - intended. - - Change-Id: I212e5881f83a2a95c177c23dbc2da2583155f1aa - Reviewed-on: http://gerrit.openafs.org/7087 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4e68282e26b0c4569d25d076d54274f0da47a691 -Author: Simon Wilkinson -Date: Fri Mar 30 19:35:51 2012 +0100 - - venus: Make clang happy with strlcpy use - - clang now expects that strlcpy will always be used to prevent overflow - of the destination string, and gives a warning if the size parameter is - based solely on the length of the source string. - - Modify the BreakUpPath function so that it takes the size of the - destination string as an argument, and uses this to limit the amount of - data pasted into it. - - Change-Id: I86f68dd2013ca8bc4c88ade78d27c4d416a9ae94 - Reviewed-on: http://gerrit.openafs.org/7086 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6d83b33324b68389d0cb8fee73f3bf3a06e9abe5 -Author: Simon Wilkinson -Date: Fri Mar 30 19:34:53 2012 +0100 - - viced: Remove pointless braces - - Doing if ((a==b)) is unecessary. It's also potentially dangerous, as - that's the syntax required to do assignment within an if statement. - clang now issues warnings (errors in -Werror mode) when it encounters - these. - - Remove pointless braces from viced to make clang happy. - - Change-Id: Iee8c1d60cc2296fefd0e7f82127821dcefb931ec - Reviewed-on: http://gerrit.openafs.org/7085 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 350b5d58779cc127b96497283c2d982e099b911c -Author: Simon Wilkinson -Date: Fri Mar 30 19:33:55 2012 +0100 - - vlserver: unsigned values are always >0 - - Maxvolidbump is defined as an unisgned int, and thus can never be less - than 0. Remove the pointless check, as it just makes clang sad. - - Change-Id: I78a2c8f6fcaee17196e37183256e6935cdca183b - Reviewed-on: http://gerrit.openafs.org/7084 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 408afc5690fc8ac3b6942983765ab36e63d2534d -Author: Simon Wilkinson -Date: Fri Mar 30 19:31:10 2012 +0100 - - vol: Call memset with the correct size - - Call memset with the size of the structure we're initialising to 0, - and not the size of the pointer to that structure. - - Caught by clang's new warnings. - - Change-Id: I8cded7bed4e289e9603778e06873f94fd3924aa8 - Reviewed-on: http://gerrit.openafs.org/7083 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e202822b8efd7511f8652064cd8831c0a049dce6 -Author: Simon Wilkinson -Date: Thu Jan 5 10:51:06 2012 +0000 - - rxgen: Tidy up server side freeing - - The way in which rxgen handles freeing of objects allocated by the RPC - stub has evolved over the years. Originally, there appears to have been - a "somefrees" parameter which was used to track whether objects required - freeing or not. However, this parameter has fallen in to disuse, as - support for typedefs and unions were added, and which parameters - require freed is now tracked within the description structures - themselves. So, get rid of somefrees, as it is now just confusing. - - The generated code to free a set of RPC arguments currently looks - something like: - - fail: - z_xdrs->x_op = XDR_FREE; - if (!xdr_string(z_xdrs, &Name, AFSNAMEMAX)) goto fail1; - if (!xdr_string(z_xdrs, &OfflineMsg, AFSOPAQUEMAX)) goto fail1; - if (!xdr_string(z_xdrs, &Motd, AFSOPAQUEMAX)) goto fail1; - if (rx_enable_stats) { - rx_RecordCallStatistics(z_call, RXAFS_STATINDEX, - 19, RXAFS_NO_OF_STAT_FUNCS, 0); - } - - return z_result; - fail1: - if (rx_enable_stats) { - rx_RecordCallStatistics(z_call, RXAFS_STATINDEX, - 19, RXAFS_NO_OF_STAT_FUNCS, 0); - } - - return RXGEN_SS_XDRFREE; - - Which isn't very efficient, or easy to modify. So, change the code - generator to produce code that looks like: - - fail: - z_xdrs->x_op = XDR_FREE; - if ((!xdr_string(z_xdrs, &Name, AFSNAMEMAX)) - || (!xdr_string(z_xdrs, &OfflineMsg, AFSOPAQUEMAX)) - || (!xdr_string(z_xdrs, &Motd, AFSOPAQUEMAX))) - z_result = RXGEN_SS_XDRFREE; - - if (rx_enable_stats) { - rx_RecordCallStatistics(z_call, RXAFS_STATINDEX, - 19, RXAFS_NO_OF_STAT_FUNCS, 0); - } - - return z_result; - - This does the same thing, but is easier to read and is more consistent - with the way that we structure marshalling and unmarshalling. - - Change-Id: I8b56f320c05c5d4270daf409d57514cbe8d076f5 - Reviewed-on: http://gerrit.openafs.org/7005 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 709a6358e1d1f6cc0b025522e1e595c50bb2b733 -Author: Simon Wilkinson -Date: Sun Apr 8 13:58:25 2012 +0100 - - fileserver: Fix NeverAttach support - - Commit 35becabed870d4bfe49abaa499d99a3ffb0a2d31 added support for - the /vicepXX/NeverAttach. However this code only appears to work on - Linux. It fails build testing on (at least) Mac OS X, FreeBSD, and AIX. - Modify the code so that the NeverAttach call uses the same variable to - locate the path of the partition as the AlwaysAttach call does. - - Change-Id: Ic87e112f362ac6d23376fb0a263d021c29c0b06e - Reviewed-on: http://gerrit.openafs.org/7125 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f26330904607c6c939c037587b473644deea669d -Author: Jason Edgecombe -Date: Sun Apr 8 12:10:58 2012 -0400 - - DOC: Factored common text out of the vos_backup and vos_dump man pages - - Change-Id: I84bd722834297778ab2e719996b2f8528d8706d6 - Reviewed-on: http://gerrit.openafs.org/7126 - Reviewed-by: Simon Wilkinson - Tested-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 58be19d792e6b8e93fbd49bc4ef04bbb8f4560ef -Author: Simon Wilkinson -Date: Fri Mar 30 19:30:18 2012 +0100 - - vol: Remove unneeded braces - - Doing if ((a==b)) is unecessary. It's also potentially dangerous, as - that's the syntax required to do assignment within an if statement. - clang now issues warnings (errors in -Werror mode) when it encounters - these. - - Remove pointless braces from vol to make clang happy. - - Change-Id: I805c52fd76de4d028741ae4382b747917581d2f2 - Reviewed-on: http://gerrit.openafs.org/7082 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a0af50a9dcab6935ad7701b81e76cab750633615 -Author: Simon Wilkinson -Date: Fri Mar 30 19:27:30 2012 +0100 - - vice & vol: Cast FDH_SYNC results to void - - FDH_SYNC is a macro which returns a result. This leads to clang - complaining about an unused expression when the macro is expanded. - Avoid this by just casting the macro result to (void) when we aren't - interested in it. - - Change-Id: I99eaac7432211d6b0cab10c3e1af0c6d4e2092a8 - Reviewed-on: http://gerrit.openafs.org/7081 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4d4e4dde7c0efcf238251b1ea1dc3933810062d0 -Author: Simon Wilkinson -Date: Fri Mar 30 19:24:23 2012 +0100 - - ptserver: Remove redundant braces - - Doing if ((a==b)) is unecessary. It's also potentially dangerous, as - that's the syntax required to do assignment within an if statement. - clang now issues warnings (errors in -Werror mode) when it encounters - these. - - Remove pointless braces from ptserver to make clang happy. - - Change-Id: I1bf1698b1d12f8228e0456d3d2dff4439879cfba - Reviewed-on: http://gerrit.openafs.org/7080 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 10a02e70c38c5ccb23f95f0990643230b9709ca5 -Author: Simon Wilkinson -Date: Fri Mar 30 19:23:24 2012 +0100 - - pam: Don't check if unsigned is < 0 - - uid_t is unsigned, so checking to see if it is less than 0 is a bit - redundant. - - Remove the checks to silence a warning from clang. - - Change-Id: I5ae429247d328b3320063b4c035f6e5bb101620b - Reviewed-on: http://gerrit.openafs.org/7079 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0d2c2b454bc83f6b8d1b5d7294dcaccdaf96455c -Author: Simon Wilkinson -Date: Fri Mar 30 19:21:41 2012 +0100 - - pam: Use &, not && for bitwise operations - - All of the LOG_MASK() checks are performing bitwise operations, and so - should be using '&', not && (which will always be true, providing - logmask is non-zero) - - Caught by clang's new error messages - - Change-Id: Idce9229b7351adc6c15279c94e1cc1e7fc45596e - Reviewed-on: http://gerrit.openafs.org/7078 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ca9fa87543df616b5bc2955090f6a8260da3efc1 -Author: Simon Wilkinson -Date: Sat Apr 7 12:44:17 2012 +0100 - - tools: Use native 64 bit integer - - Modify the tools directory to use a native 64 bit integer type, rather - than rolling its own. - - Change-Id: Ib2545b43aa3bf34e8917a4ae7ae4ee3f4be6d1c0 - Reviewed-on: http://gerrit.openafs.org/7118 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cc489b880c86d4e4e16dc9ca98c6dd3b1b93d47c -Author: Derrick Brashear -Date: Sat Apr 7 08:12:48 2012 -0400 - - ubik: utst needs opr for assert in util - - add libopr after libafsutil so assert can be satisfied - - Change-Id: I77494dc529f21246ae84f6522a578b14a803b6a9 - Reviewed-on: http://gerrit.openafs.org/7116 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 35becabed870d4bfe49abaa499d99a3ffb0a2d31 -Author: Jason Edgecombe -Date: Fri Apr 6 20:58:13 2012 -0400 - - Fileserver: Add the /vicepXX/NeverAttach flag to skip mounting a partition - - FIXES 130561 - - LICENSE MIT - - Change-Id: Ib465a978d08238d83c4c0a03813f5ec240f9bd9b - Reviewed-on: http://gerrit.openafs.org/7108 - Reviewed-by: Derrick Brashear - Tested-by: Jason Edgecombe - -commit 12eb3e26a3149527997ca6039ebdeb7cafbf9012 -Author: Simon Wilkinson -Date: Sat Apr 7 13:26:25 2012 +0100 - - tools: Add roken.h to afsdump - - On AIX, building afsdump currently produces the following warnings: - - "afsdump_scan.c", line 34.10: 1506-296 (S) #include file not found. - "afsdump_scan.c", line 275.32: 1506-045 (S) Undeclared identifier O_RDWR. - "afsdump_scan.c", line 275.41: 1506-045 (S) Undeclared identifier O_CREAT. - "afsdump_scan.c", line 275.51: 1506-045 (S) Undeclared identifier O_TRUNC. - "afsdump_scan.c", line 305.29: 1506-045 (S) Undeclared identifier O_RDONLY. - - Rather than including more platform specific goo, just add a roken.h - include to the various files to pull in the necessary headers. - - Change-Id: I46db92511c804cfc9b5d67b97cd3596480d306d6 - Reviewed-on: http://gerrit.openafs.org/7117 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 47545cb93d292a89d21c3d4f554584d9f00a9103 -Author: Simon Wilkinson -Date: Sat Apr 7 12:36:54 2012 +0100 - - tools: Rename u_int64 to solve AIX problem - - AIX's system headers define u_int64. Rename our local 64 bit integer - representation as dt_uint64 to avoid this collision. - - Change-Id: I997e3ff89df369a5f0643921a846a759bf8fa90b - Reviewed-on: http://gerrit.openafs.org/7115 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 1e30c00e7d9b45d65e819d39414939f2d5f7631b -Author: Simon Wilkinson -Date: Fri Mar 30 19:18:47 2012 +0100 - - libafscp: Use strdup, rather than rolling our own - - A = malloc(strlen(B)+ 1); - memset(A, 0, strlen(B) + 1); - strlcpy(A, B, strlen(B) + 1); - can be more simply written as - A = strdup(B); - - Doing so also avoids a warning from clang that strlcpy isn't checking - for A overflowing. - - Change-Id: I0e21f86eda7bdc0ce869e651c5ceb23d7494e1e2 - Reviewed-on: http://gerrit.openafs.org/7077 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 34afb3e6b903fc1659b1c869fa2fb4226038e076 -Author: Simon Wilkinson -Date: Fri Mar 30 19:16:50 2012 +0100 - - libadmin: Clear structures according to their size. - - memset(a, 0, sizeof(a)) is rarely correct, unless a is an error. Use the - size of the destination structure, rather than the size of a pointer to it - when deciding how much memory to clear. - - Caught by clang's new error messages - - Change-Id: Ia6c566534efae2f67f1b9bd22198d352238a987c - Reviewed-on: http://gerrit.openafs.org/7076 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b5f75c122875b4212eb1a885d09bfdd63f537a19 -Author: Simon Wilkinson -Date: Fri Mar 30 19:14:38 2012 +0100 - - libadmin: read returns an ssize_t, not a size_t - - size_t is unsigned, and therefore can never be less than 0. Using it as - a return code from read() means that we never catch read errors. read() - is defined as returning ssize_t, so just use this to capture its return - code. - - Caught by clang's new error messages - - Change-Id: Ibf61119dec2c64fd4b1e16e6ef02178e427116f0 - Reviewed-on: http://gerrit.openafs.org/7075 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 345656ec140f0156f2076629bdfc84940c02160b -Author: Simon Wilkinson -Date: Fri Mar 30 19:12:37 2012 +0100 - - Unix CM: Purge needless brackets - - Doing if ((a==b)) is unecessary. It's also potentially dangerous, as - that's the syntax required to do assignment within an if statement. - clang now issues warnings (errors in -Werror mode) when it encounters - these. - - Remove pointless braces from the Unix CM to make clang happy. - - Change-Id: I0f1558b42a487e1de722b77f8423500365a20eee - Reviewed-on: http://gerrit.openafs.org/7074 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1d8937b860509fcaabb041bc14faf7aa3023f3c9 -Author: Simon Wilkinson -Date: Fri Mar 30 19:09:36 2012 +0100 - - DARWIN: Make crfree() an inline function - - On Darwin 100, we have - #define crfree(X) kauth_cred_unref(&X) - which expands in one place to - kauth_cred_unref(&(afs_ucred_t *)avc->linkData) - - clang warns about this in -Werror mode, because arguments to the - address-of operator must be lvalues. - - To fix this make crfree an inline function, which will then let us do - the indirection required. - - Change-Id: Ic5adb63dcdc11e04c1e428c32e85f33a987fcf42 - Reviewed-on: http://gerrit.openafs.org/7073 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2454e3d96af2be9f316a5c50199d34444defe4a8 -Author: Simon Wilkinson -Date: Sun Aug 7 19:41:51 2011 +0100 - - util: LogCommandLine has to have a command line - - Add an assert() to LogCommandLine to catch the case where it is - called without a command line to log. - - Change-Id: Ia1be28b3a1d1d4e144626976f0f82b9675809c0a - Reviewed-on: http://gerrit.openafs.org/7072 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 047ff7e9fd283f67ede2b873e3ad64ebbcf8d3ef -Author: Simon Wilkinson -Date: Tue Jun 15 19:20:50 2010 +0100 - - Salvager: Don't use garbage vnodes when Testing - - If Testing is true, and the salvage wants to repair the '.' file, - then it will end up using a garbage value as the location of the - repaired file (vnodeNumber gets set to fid.Vnode, but fid.Vnode is - uninitialised) - - Fix this by making it behave as if no repair is necessary when running - in Testing mode. It's unclear that this is entirely the correct answer, - but it's definitely better than the current behaviour. - - Caught by clang-analyzer - - Change-Id: I1bddd889b3350cf31fe6384573e49e82159c7095 - Reviewed-on: http://gerrit.openafs.org/7071 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8648a8c45b593dce8982deec41e3caf48e80dc0c -Author: Jeffrey Altman -Date: Fri Apr 6 22:30:41 2012 -0400 - - Windows: Disk Full errors instead of Quota Exceeded - - The AFS Redirector does not support the Windows quota interface - therefore return STATUS_DISK_FULL for all over quota conditions. - - Change-Id: Idd8755b26ab65e423330eeb6cb0e1806dd6306c9 - Reviewed-on: http://gerrit.openafs.org/7111 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 85fad9a69f0d3df73ec8285722e788fe49ae9459 -Author: Jeffrey Altman -Date: Fri Apr 6 22:18:59 2012 -0400 - - Windows: AFSCheckCellName one level of indirection - - The parameter 'CellName' is a UNICODE_STRING *. No need to - take the pointer of it to pass to AFSDbgLogMsg(). - - Change-Id: Id49f95058541a1a0ddaa0db9cb2c5ef0e5a32c64 - Reviewed-on: http://gerrit.openafs.org/7109 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c1ef200a76b334309b0202c70165374305beb8fb -Author: Jeffrey Altman -Date: Thu Apr 5 07:38:47 2012 -0400 - - Windows: CleanACLEnt requires cm_scache write locked - - Therefore, cm_FindACLCache() must be called with the cm_scache_t - write-locked and therefore cm_HaveAccessRights() must obtain a - write-lock and not a read-lock on 'aclScp'. - - Change-Id: I884cd5a70a793d893999bf750264e76d436f40a2 - Reviewed-on: http://gerrit.openafs.org/7049 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3db44bacd4b3ac3b9ed63bcf671b03f7f7eeb8af -Author: Jeffrey Altman -Date: Mon Apr 2 18:10:07 2012 -0400 - - Windows: Name Array store mount point and volume root - - Modify the Name Array processing to store both the mount point - object and the volume root directory object in the array. This - is necessary for proper operation of - AFSPopulateNameArrayFromRelatedArray when the DirectoryCB parameter - is a mount point object. - - Modify AFSBackupEntry to remove two entries if a volume root - directory entry is being removed. - - Remove AFSReplaceCurrentElement() as it is no longer used. - - Change-Id: Iaa0a4effc3448351d04bcdd72be9ee726ffe4e9a - Reviewed-on: http://gerrit.openafs.org/7021 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 048b24ae2b8accb33bc92ab9fdc4cdda14bc425b -Author: Jeffrey Altman -Date: Mon Apr 2 07:10:17 2012 -0400 - - Windows: do not call time() in a loop - - When checking for ACL Entry expiration, obtain the current time - once per call to cm_FindACLCache() instead of once per ACL entry. - - Change-Id: I4da9e290a43315bd226f6c1b5dc12abe45ed19f5 - Reviewed-on: http://gerrit.openafs.org/7016 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7c5b8346b305911c981620fff70503008e9cf488 -Author: Jeffrey Altman -Date: Sun Apr 1 01:17:21 2012 -0400 - - Windows: Add per object per user EACCES caching - - If a cache manager is told by a file server that the user does - not have permission to fetch status for an object, the cache - manager must avoid requesting a fetch status a second time for - that object for the same user. Doing so risks triggering the - rx call abort throttling which can have a significant impact on - end user usability of the Explorer Shell and other applications. - - The cache manager cannot make a decision on whether or not to - issue an RXAFS_FetchStatus RPC based upon the type of the object - because the type is unknown to the cache manager. A file server - will succeed a FetchStatus request when the parent directory ACL - grants lookup permission if the object in question is the directory - or is a symlink/mountpoint. Only file objects require read/write - permissions to obtain status information. - - The rx call abort throttling is broken is many ways and must be - avoided. Call aborts are tracked by call channel and occur whenever - ten call aborts are issued on the same call channel in a row - regardless of the amount of time that has elapsed. - - The EACCES cache works by storing EACCES events by the FID and User - for which the event occurred, when it occurred and the FID of the - parent directory. By definition, the parent FID of a volume root - directory is itself. - - Entries are removed from the cache under the following circumstances: - - 1. When the parent FID's callback expires or is replaced. - - 2. When the parent FID's cm_scache object is recycled. - - 3. When the user's tokens expire or are replaced. - - Entries are not removed when the FID's cm_scache object is recycled. - - This patchset also implements correct behavior if the VLF_DFSFILESET - flag is set on a volume. - - Change-Id: I69507601f9872c9544e52a1d5e01064fa42efb81 - Reviewed-on: http://gerrit.openafs.org/6996 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4c5819e22852afe4e83bdcd05268864ac1953a8c -Author: Jeffrey Altman -Date: Mon Apr 2 13:41:27 2012 -0400 - - Windows: Fail recursive path evaluation with access denied - - Matching the behavior of the AFS SMB server, the afs redirector - should return STATUS_ACCESS_DENIED if File ID recursion is detected - in the Name Array for any given path. - - Change-Id: Ie846b42a228c634f1c38a8103332c7bb72803d1f - Reviewed-on: http://gerrit.openafs.org/7018 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3d024372293a279cf3a6cbdfe75a384ec7c8b200 -Author: Jeffrey Altman -Date: Thu Apr 5 23:14:18 2012 -0400 - - Windows: Check Avail Space on extending SetEndOfFile - - When cm_SetLength() is called with an extending file length, - check the available free space in the volume to see if the - new length will fit. If not, return CM_ERROR_SPACE. - - This permits applications to discover that there is insufficient - space prior to writing all of the data into the windows page - cache at which point it will be too late. - - There is still the possibility of a race that can result in - data loss if two applications are writing into the same volume - at the same time and there is insufficient room. - - Change-Id: Ieef2c48f5b6edc8d101b6527af3a3f87fe55f6ca - Reviewed-on: http://gerrit.openafs.org/7057 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 613f14727fbb404fb7fc1cac953dda46b671222e -Author: Andrew Deason -Date: Thu Apr 5 17:55:17 2012 -0500 - - viced: Do not offline volume on successful IH_DEC - - If we fail to CoW a file due to ENOSPC, we try to IH_DEC the new file - copy, and if IH_DEC fails, we take the volume offline for salvaging. - But IH_DEC returns 0 on success, not on error. So take the salvaging - path when we get non-zero. - - Change-Id: I4f0276fd4f077ca42087e92af8ba77b4e5347422 - Reviewed-on: http://gerrit.openafs.org/7054 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c19d1b875fab472dc7474c70529ab7fc2f7bf106 -Author: Jeffrey Altman -Date: Thu Apr 5 14:40:18 2012 -0400 - - Windows: Redirector must query volume size when asked - - The volume size and free space cannot be obtained at volume - initialization and then re-used for all FileFsSizeInformation - and FileFsFullSizeInformation queries. Doing so prevents Windows - from being able to see changes in the available free space. - - The maximum size of the volume is not the size of the partition - and the available space on the partition unless there is no quota - applied to the volume. If there is a quota, then the free space - is the smaller of the available quota and the available partition - space. - - Add a new ioctl request to permit the redirector to query the - current Volume Size Information details. - - Change-Id: I3414f314d7780fd12489e0d278b71bcadc1a72e6 - Reviewed-on: http://gerrit.openafs.org/7052 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7881de8cc17924120e45e498add1adc63fd85e5c -Author: Jeffrey Altman -Date: Thu Apr 5 17:00:28 2012 -0400 - - Windows: cm_AddACLCache lock ordering - - cm_aclLock must be obtained after cm_user_t mx and cm_cellLock. - - cm_user_t mx must be obtained before cm_cellLock. - - Change-Id: Iaf9fcf17c7ea50f2f5a83aefa759b7077ef28be6 - Reviewed-on: http://gerrit.openafs.org/7051 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ea82d1014372383334fd05c01db135da870d3928 -Author: Jeffrey Altman -Date: Thu Apr 5 17:16:15 2012 -0400 - - rx: fix bad merge 95c38dff3740d7e24971ceb5875c06e7abfce102 - - An extra - - CALL_HOLD(call, RX_CALL_REFCOUNT_BEGIN) - - was added in rx_NewCall(). Revert it. - - Change-Id: Ief1493ae9ec69ace5afd534a97fbf43f55872153 - Reviewed-on: http://gerrit.openafs.org/7050 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ba3ba96976f17cb5e83fae1e0a42fd6564b75719 -Author: Jeffrey Altman -Date: Thu Apr 5 00:11:11 2012 -0400 - - Windows: AFSVerifyEntry purge file data on DV change - - If the data version change is detected during AFSVerifyEntry(), - treat it the same as if the AFS_OBJECT_FLAGS_VERIFY_DATA flag - had been previous set. Purge the old data from the Windows - file cache. Be sure to set the new metadata after the purge - so that if the file length was truncated the old data beyond - the truncation point will still be purged. - - Change-Id: I80c33f303c6499f22955e9874b2f4c50d666a3cb - Reviewed-on: http://gerrit.openafs.org/7048 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1a458e8e72455e480ccf4c0e3fd926dd9af9beea -Author: Andrew Deason -Date: Tue Apr 3 18:13:17 2012 -0500 - - xstat_cm_test: Print all call info stats - - For CM xstat collecton 0 (function call statistics), there are many - more stats given to us on the wire than we currently print. Change - this so we print out everything in the afs_CMCallStats struct. - - Change-Id: I959571731fe8bf2a714e4cb3b47c52c39c516621 - Reviewed-on: http://gerrit.openafs.org/7047 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e6e8e26a3d7d97f2ad056251859f258fee509e7e -Author: Simon Wilkinson -Date: Sun Jan 8 11:49:53 2012 +0000 - - rx: Get rid of some uneccessary temporary vars - - rx_ReadProc and rx_ReadProc32 originally used temporary variables - (which were, at one time, declared as "register") to hand optimise - a couple of routines. With the removal of register throughout our - code, this is no longer helpful. - - Change-Id: Id21a931408489b985b726af620a687b838303a86 - Reviewed-on: http://gerrit.openafs.org/6997 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e53e189c3e99e28d31e0e1d1b52041aadcbd3ffa -Author: Jeffrey Altman -Date: Sun Apr 1 23:09:32 2012 -0400 - - Windows: Redirector Dir Enumeration Bug - - An enumerated directory was not validated properly if - AFSValidateEntry() was called with PurgeData == FALSE even - when a data version change was detected. Now it does. - - FIXES 130636 - - Change-Id: Ic5d2fd62b40fb16652fc09d459caf43905566d37 - Reviewed-on: http://gerrit.openafs.org/7012 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2982f8c5b1182f855c439e54778fd0bc5bd9a2d2 -Author: Derrick Brashear -Date: Tue Apr 3 13:51:38 2012 -0400 - - tools: move useful tools from test dir to tools dir - - move the dump utilities out of tests - - Change-Id: I21d0550e09fde3b1feb078bde4e9b4dc7ca3614e - Reviewed-on: http://gerrit.openafs.org/7043 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 72f5d88acc752ff447a9e63327c135473326a34d -Author: Derrick Brashear -Date: Thu Mar 29 10:44:53 2012 -0400 - - linux: update spec requirements - - don't require things which don't exist on el5. do require them - in el6. require kernel-devel if building modules - don't do anything involving the kernel if not building modules - if we can figure out that we don't have 2.4 based on the version, - avoiding the need to depend on kernel-devel just to build an srpm. - - Change-Id: I4bef6a00f50935b8efa057b42cd2147a22c0c1e6 - Reviewed-on: http://gerrit.openafs.org/6985 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 33903244ae2408dd86ee260d111e74dec0940abd -Author: Derrick Brashear -Date: Fri Mar 30 16:15:52 2012 -0400 - - linux: make mockbuild more reliable - - previously, a "cached" repo which was assumed to be of the same - releasever and arch of the host was created in /var/tmp, - which would screw up repoquery across a multiple-OS-build. - - well, you can tell repoquery what you really mean. so now we do. - - Change-Id: I5f477e4eeddb755fcd410a37a2b58e1334da2863 - Reviewed-on: http://gerrit.openafs.org/6991 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a66268f69a2da0dc21957338eebe5c91b279ddda -Author: Andrew Deason -Date: Mon Apr 2 16:16:37 2012 -0500 - - SOLARIS: Correct misplaced osi_machdep.h #endif - - Commit 64778fd7bece52360482f9a51f19b34dac1d2678 removed some '#ifdef - KERNEL' blocks, but for one block in SOLARIS/osi_machdep.h, the wrong - trailing #endif was removed. This effectively makes the last part of - the file Solaris 10+ only, and bypasses the header guard. On systems - before Solaris 10, this causes us to lose the osi_procname definition, - which eventually shows up as an undefined symbol. - - So, reinstate the original #endif, and remove the correct #endif - instead. - - Change-Id: I28a78dabc2c65abeadc003b95600026c3cb68e37 - Reviewed-on: http://gerrit.openafs.org/7042 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e1eba145843996ce50eae79356a3f88b92a2ea86 -Author: Jeffrey Altman -Date: Tue Apr 3 09:09:42 2012 -0400 - - Windows: cm_GetNewSCache must return NULL on failure - - cm_GetNewSCache was leaking a valid cm_scache_t pointer in some - failure cases. On failure, explicitly set the return value to - NULL. - - Change-Id: I074b278f969224aa535abe256ac33a90d0f4e62d - Reviewed-on: http://gerrit.openafs.org/7037 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e3a50ea0d314df4e8caf0e25c57042a5f2a6e008 -Author: Jeffrey Altman -Date: Thu Jan 12 09:31:43 2012 -0500 - - Rx: give grow mtu its own call ref count type - - Change-Id: Ibf62408203d615ff87454a9ecb50c38b6db6d45a - Reviewed-on: http://gerrit.openafs.org/6543 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit 95c38dff3740d7e24971ceb5875c06e7abfce102 -Author: Jeffrey Altman -Date: Sun Jan 29 13:52:17 2012 -0500 - - rx: conn->callNumber protected by conn_call_lock - - The conn->callNumber array should be protected by the conn_call_lock - since the conn_call_lock is what protects the binding of calls to - connection channels. - - Change-Id: I9f9b4e8f90d1e4ebbc4429af286358807784d84f - Reviewed-on: http://gerrit.openafs.org/6629 - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Jeffrey Altman - -commit 33185db16aca40a3bdbcb66caf994924220b5012 -Author: Jeffrey Altman -Date: Fri Jan 20 01:50:01 2012 -0500 - - Rx: rxi_FreeCall conn_call_lock vs call->lock deadlock - - The conn->conn_call_lock is held before call->lock in the lock - hierarchy which is violated within rxi_FreeCall(). While the - deadlock is rare, it is possible and has been experienced on - both Windows and Linux. - - Change the signature of rxi_FreeCall to return 1 if it frees - the call and 0 if it does not. - - Due to the lock hierarchy violation use MUTEX_TRYENTER() - to attempt to obtain the conn->conn_call_lock. If the lock - cannot be obtained set the call state to dally and - return. If the conn_call_lock can be obtained, behave as - we did before this patchset. - - Only increment the callNumber if the original call->state - was dally or hold and the conn_call_lock could be obtained. - We must not increment the callNumber otherwise. Doing so can - result in call numbers being skipped when the conn->call slot - is reused. - - Change-Id: Ic10bd2004e9b06df319c2f2efaa0b37bcb90c896 - Reviewed-on: http://gerrit.openafs.org/6443 - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0ca4dc279a49141a63727134898c58f30ad15e8d -Author: Jeffrey Altman -Date: Mon Apr 2 17:32:39 2012 -0400 - - Windows: Pass name array to AFSRetrieveFileInformation - - AFSRetrieveFileInformation does not parse the complete path. - That information is available in the Ccb->NameArray. If the - object on which AFSRetrieveFileInformation is called is a - relative symlink containing ".." references, the full contents - of the evaluated path is required for context. Pass the - Ccb->NameArray so that it is available. - - Change-Id: Id02d3fb47df74c0a0de849eb10550be76150ce8b - Reviewed-on: http://gerrit.openafs.org/7020 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 766c62b918dba793f738a075918947b8dad76229 -Author: Jeffrey Altman -Date: Mon Apr 2 13:39:17 2012 -0400 - - Windows: Use hash when comparing File IDs in redirector - - AFSIsEqualFid() should use the hash value included in the FileId - as part of the comparison algorithm. - - Change-Id: I2723e2e9795ce16869c6a0dc33611078b04a6a28 - Reviewed-on: http://gerrit.openafs.org/7017 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0896602f6e7c409990fcae40dd54f84260312472 -Author: Jeffrey Altman -Date: Mon Apr 2 06:57:53 2012 -0400 - - Windows FindACLCache must hold scp write locked - - In the SMB modules, calls to cm_FindACLCache() were not - holding the cm_scache_t rwlock writed locked as required. - - Change-Id: I213912eb8dd570ea918d92602c647e6aed8cfccb - Reviewed-on: http://gerrit.openafs.org/7015 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 68a42ed88db3e457b6d5169c2beb8fa7bb144ea3 -Author: Jeffrey Altman -Date: Mon Apr 2 06:57:02 2012 -0400 - - Windows: fix indentation - - Change-Id: Id3cd061badd1c8c4e22843e84999954e5424511d - Reviewed-on: http://gerrit.openafs.org/7014 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b84496b8593dd9c220022c78d8b9b571c7b78e8d -Author: Jeffrey Altman -Date: Sun Apr 1 12:40:36 2012 -0400 - - Windows: Freelance HaveAccessRights - - Change the test in cm_HaveAccessRights related to Freelance - mode. All objects in the freelance cell and root volume - by definition have access rights. - - Change-Id: Ibb96b12c15728bc6b711b3d7f2ad892c55109cbf - Reviewed-on: http://gerrit.openafs.org/7008 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 9a76279ef154730150594cc560a34eada3ae9fe4 -Author: Jeffrey Altman -Date: Sun Apr 1 12:11:40 2012 -0400 - - Windows: optimize InitCallback3 processing - - Do not drop and acquire locks if the cm_scache_t does not - have a callback. - - Change-Id: I6f84729838e7e4c2d84c0a40f0811ed837b79287 - Reviewed-on: http://gerrit.openafs.org/7007 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 8fcdef55f8e422f4762f38374be32993d2b2551e -Author: Jeffrey Altman -Date: Fri Mar 30 15:13:55 2012 -0400 - - Windows: Record callback issued time - - Save the time at which a callback was issued. This can be - used in a later patchset to determine if a callback was issued - after a negative access entry for a {fid,user} pair. - - Change-Id: Iab54eb729fd5f2a2daf4855b7e7e75245dc28051 - Reviewed-on: http://gerrit.openafs.org/6995 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fd919b3ae52695b8a83fabc736c8ea82f383a5c9 -Author: Jeffrey Altman -Date: Fri Mar 30 14:58:11 2012 -0400 - - Windows: Implement cm_TGTLifeTime() - - cm_aclent.h defined cm_TGTLifeTime() as a macro that always - returned 0x7fffffff. Implement cm_TGTLifeTime() as a function - that returns the actual token lifetime. - - Change-Id: I8b19626395f536db248ae8324b13e49eda9a1a87 - Reviewed-on: http://gerrit.openafs.org/6994 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit cf81cd790f71b7ce83c802df8e7094f93bff63fb -Author: Jeffrey Altman -Date: Fri Mar 30 12:24:43 2012 -0400 - - Windows: add parent FID to cm_GetSCache - - When a cm_scache_t object is created in 98% of the time, the - parent FID is known to the cache manager. Normally the cache - manager will obtain the parent info from the AFSFetchStatus - structure but if the user credentials do not permit status info - to be obtained from the file server the parent info will be unavailable. - - Having the parent directory FID is useful for debugging but can - also be used to check the user's access rights on the parent directory. - - Change-Id: I262345bc686392a4edef4c627182a8a67a392aa2 - Reviewed-on: http://gerrit.openafs.org/6993 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e8f6dfac59fe042a04a9ac5eb3c37356cb3a22a3 -Author: Jeffrey Altman -Date: Mon Apr 2 22:35:41 2012 -0400 - - viced: AFSDisk, AFSFetchVolumeStatus Int31 PartSize - - The AFSDisk and AFSFetchVolumeStatus structures use signed - 32-bit integers for representation partition size and - available blocks. RoundInt64ToInt31() should be used instead - of RoundInt64ToInt32() when assigning their values. - - Change-Id: I3834141fce2d54ce8bdfac3dc566074583bb305e - Reviewed-on: http://gerrit.openafs.org/7022 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 223cbf5a5bc1812f3b2ce86a7b05dc56f517c6f8 -Author: Jeffrey Altman -Date: Fri Mar 23 13:41:10 2012 -0400 - - rx: handle clock reversals for call timeouts - - If the clock is set backwards, call timeouts will not trigger - until the clock regains its original value plus the timeout period. - In rxi_CheckCall(), look for a backward clock shift and if one is - noticed, fail the call with RX_CALL_TIMEOUT. - - Change-Id: I7ca5abee165fc21d72d3881670f9522d315b4982 - Reviewed-on: http://gerrit.openafs.org/6943 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 9498cebd11ac26ed7986b5496440159f7ef745f2 -Author: Simon Wilkinson -Date: Sat Mar 31 19:21:04 2012 -0400 - - viced: Do error translation for InlineBulkStatus - - When a host has requested universal errors, error code conversion - is performed in the CallPostamble. However, the InlineBulkStatus - errorcodes are passed as part of the data set, not as RX errors, - so this translation is not performed. - - Fix this so that we also translate error codes that are part of - the InlineBulkStatus response. - - Change-Id: Ia23232d948990bdf9b7c4e5e0bcd8be087289a03 - Reviewed-on: http://gerrit.openafs.org/6992 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 134943a7a55d73f567d3f336e06783c405347fa7 -Author: Jeffrey Altman -Date: Thu Mar 29 23:49:43 2012 -0400 - - Windows: avoid deadlock with Trend Micro - - Trend Micro's anti-virus driver attempts to open the file in - response to CcPurgeCacheSection(). While processing - AFSSetDispositionInfo() the Fcb->NPFcb->Resource is held which is - also required if a status verification is required during the - CreateFile operation. That results in a deadlock. - - Avoid the deadlock by setting the PENDING_DELETE flag prior to - calling CcPurgeCacheSection(). - - Change-Id: I40d93d70e120525343afb917d473ad79a1f36e29 - Reviewed-on: http://gerrit.openafs.org/6988 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6cb256375bb0aab73cc802e50620f1fcf0f564e4 -Author: Jeffrey Altman -Date: Thu Mar 29 23:39:17 2012 -0400 - - Windows: Use ulFilter in AFSInvalidateObject - - ulFilter was assigned appropriate values but it was not passed - to AFSFsRtlNotifyFullReportChange as a parameter. - - Change-Id: Ie362b2b762e599a7cb040640539a098fdf80a259 - Reviewed-on: http://gerrit.openafs.org/6987 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0bc328b9729cb5bfe3085ac01455fe82c9cef7a4 -Author: Jeffrey Altman -Date: Tue Mar 27 00:16:30 2012 -0400 - - Windows: ObjectInformation.ObjectReferenceCount comparison - - If there is an undercount of the ObjectReferenceCount, consider it - the same as if the object count is zero for comparison purposes. - - Change-Id: Ia4ec2d1194f00cb530e7a50ed9db9c71cc4c5313 - Reviewed-on: http://gerrit.openafs.org/6970 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 05a703a320e549efe7f68e27cfa86e391cf5839d -Author: Jeffrey Altman -Date: Tue Mar 27 14:18:14 2012 -0400 - - Windows: Add Name Array Processing Trace Subsystem - - Change-Id: Ief4026e9bb3045046a031b56ceb584f2daf1cf43 - Reviewed-on: http://gerrit.openafs.org/6973 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Tested-by: Jeffrey Altman - -commit 32ad50bcee9a5b087bea7e0c9c1cfe3d1e58293e -Author: Jeffrey Altman -Date: Mon Mar 26 11:10:36 2012 -0400 - - Windows: AFSInvalidateObject can overwrite input param - - AFSInvalidateObject() must not be called with an AFSObjectInformationCB - pointer variable that it is not safe to overwrite as the function sets - the input value to NULL if the invalidation is going to be performed - asynchronously in a worker thread. - - In AFSEnumerateDirectory(), the following call took place: - - AFSInvalidateObject( &pDirNode->ObjectInformation, - AFS_INVALIDATE_DATA_VERSION); - - which requires a worker thread to process. As a result, the - ObjectInformation pointer was being set to NULL which detached the - AFSObjectInformationCB from the AFSDirectoryCB. That in turn produced - an execption in AFSLocateName() which resulted in a resource not being - freed that in turn produced a deadlock. - - Change-Id: Id30e84cf96b69156d648e3b452e7e03390559c43 - Reviewed-on: http://gerrit.openafs.org/6962 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Tested-by: Jeffrey Altman - -commit f7bea476c7f6e8489372e138dc60ebcdd92c40c1 -Author: Jeffrey Altman -Date: Sun Mar 25 21:29:40 2012 -0400 - - windows: ObjectInformationCB.ObjectReferenceCount - - The ObjectInformationCB.ObjectReferenceCount is protected by - the VolumeCB->ObjectInfoTree.TreeLock. When the TreeLock is - dropped the reference count can change. Hold the TreeLock across - both ObjectReferenceCount == 0 tests and the associated tear down - or repeat the ObjectReferenceCount == 0 test after the TreeLock - is reacquired. - - Change-Id: I069c22ae8f3a93fad3ef9a662df5b4903b317897 - Reviewed-on: http://gerrit.openafs.org/6959 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 79665a251d8b6cf9cb821accfd3819081f81f4c6 -Author: Michael Meffie -Date: Mon Mar 26 14:22:09 2012 -0400 - - remove athena env conditionals - - Remove the conditionals AFS_ATHENA_STDENV, AFS_ATHENA_ENV - and AFS_KERBREALM_ENV. - - Change-Id: If58743acd7d71dd3ed05e76316ff3efd475ca123 - Reviewed-on: http://gerrit.openafs.org/6963 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d1d51852be1daf45f92a8cbf5f294892141108f2 -Author: Jeffrey Altman -Date: Tue Mar 27 00:00:30 2012 -0400 - - Windows: Fix VNOSERVICE EventLog parameters - - Add missing volume and cell. - - Change-Id: If1efeb0defb3812e3f41572fb7d46f5e867be70c - Reviewed-on: http://gerrit.openafs.org/6969 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5b4e0e3c2eb161eabbb7a9ea8486315040e9705a -Author: Jeffrey Altman -Date: Mon Mar 26 20:49:03 2012 -0400 - - Windows: CreateProcessNotify verify changes - - PsSetCreateProcessNotifyRoutineEx will fail with STATUS_ACCESS_DENIED - if the driver does not have the IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY - bit set in the image header. - - Do not include the ParentProcessId in the AFSProceSSDestroy - parameter list. It isn't available to use and isn't used for - anything in any case. - - Assign AFSProcessCB blocks to processes that were created before - AFSRedirector registered the CreateProcessNotify callback and - access the file system. - - Change-Id: I4b78cd94949cfdea6b36f601a851c0e2f53a7dbf - Reviewed-on: http://gerrit.openafs.org/6967 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 745e1bb00350ac481cd0998b1623b6e040fc7312 -Author: Derrick Brashear -Date: Tue Mar 27 12:09:38 2012 -0400 - - macos: iterate mdfound packagemakers when spaces are present - - even if we get more than one match, and even if there's a space, - work anyway - - Change-Id: I8e71af0cb02fda7ea0fcf1c2f7a0404eca4bc073 - Reviewed-on: http://gerrit.openafs.org/6971 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fba35ba4e1d933126c788824f464a78ca1c93bf8 -Author: Derrick Brashear -Date: Mon Mar 26 20:33:26 2012 -0400 - - macos: find packagemaker instead of assuming path - - in xcode 4.3, packagemaker is unbundled. make no assumptions - about where it can be found; instead, let spotlight tell us - - Change-Id: I5e3431ce40ad6e9114e98c9bf047a4312d42284d - Reviewed-on: http://gerrit.openafs.org/6966 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d5c13a0f3ce7d9f0a01820ff9c12dfb1cbc12047 -Author: Andrew Deason -Date: Thu Mar 22 10:52:47 2012 -0500 - - afs: Slight adjustments in afs_GetDCache - - maxGoodSize is only used in one block, so move the decl to that block. - Adjust some of the comments to more accurately reflect what's going - on. - - Change-Id: Ifee3a6f98158a314cef6d241c53a0f881f4f2d2b - Reviewed-on: http://gerrit.openafs.org/6936 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit e53221d9a82fd8e3d545704abae51cc844bc31a3 -Author: Andrew Deason -Date: Fri Mar 2 17:22:12 2012 -0600 - - afs: Do not limit fetches based on vcache length - - Currently, when we go to the fileserver to fetch some data, we try to - make sure that we do not ask for data beyond the end of the file. For - example, if our chunk size is 1M, and we need to get the first chunk - for a file that is 4 bytes long, we will only ask the fileserver for 4 - bytes. - - This can cause issues when the file is being extended at the same time - as when we are trying to read the file. Consider the following - example. There is a file named X that has contents "abcd" at dv 1, and - we issue a FetchData64 request for X, only requesting 4 bytes. Right - before the fileserver gets the FetchData64 request, another client - writes the contents "12345" to file X. - - The client will then fetch the contents "1234" for that file, at dv 2, - and store that as the contents of the first chunk for file X. On - subsequent reads for file X, applications will now get "1234" as - the contents, since the size of the file will be updated to 5, but the - cache manager thinks that "1234" is the correct contents for the first - chunk of X at dv 2. The cache manager will continue to think so until - the cache entry is evicted or invalidated for whatever reason. - - To avoid this scenario, always request a full chunk of data if we have - any data to fetch and the file has not been locally truncated. We can - still avoid the fetch at all if it looks like we're fetching beyond - end-of-file, since we know that at least at some point that was - correct information about the file. If this results in us trying to - fetch beyond end-of-file, the fileserver will respond with the correct - length anyway. - - We still need to restrict the fetch request length based on - avc->f.truncPos, since the dcache data after avc->f.truncPos needs to - stay empty, since we don't track truncated data any other way. If we - also avoided this restriction, extending a file via truncation after - reducing a file's length via truncation could cause the old file data - to appear again, instead of filling the new file range with NULs. - - Note that on at least Linux, with this fix an application can still - read the contents "1234" on the first read in the above example, and - "12345" on subsequent reads. This is just due to when we give the VFS - updates about file metadata, and could be remedied by updating file - metadata immediately from the FetchStatus information from the - FetchData64 call. However, just reading the contents "1234" in the - above example seems like a somewhat plausible outcome; at the very - least, it is an improvement. - - Change-Id: I158593502ac96ba2c856a0b5997355a53d4173aa - Reviewed-on: http://gerrit.openafs.org/6882 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b3b267d16eefb993f52f66bf44f3e659c1017e58 -Author: Andrew Deason -Date: Thu Mar 22 10:42:38 2012 -0500 - - afs: Set DWriting when truncating a dcache entry - - When we truncate a file, we truncate the contents of the relevant - dcache entry chunks, and prevent future FetchData operations from - fetching data beyond the truncation offset. If we never write anything - to that chunk, we never set DWriting, and so on disk it looks like - that dcache entry has valid data for the specified DV. However, since - the data is truncated, this is not true. - - If a process holds a file open, truncates it without writing to it, - and then the client crashes (or we have trouble contacting the - fileserver when we close the file), the dcache entry will appear valid - on disk. So the next time we read the dcache entry, we will use the - incorrect cache contents as if they were accurate for the specified - DV. - - To avoid this, set DWriting when we truncate a chunk. Normally we only - clear DWriting when we actually send data to the fileserver, so to - clear DWriting in this case, add an additional line to clear it in - afs_StoreAllSegments, after the StoreMini has completed. - - Change-Id: Ifc3bfc21712ab37b1f2865ce59fa45bf03811dd8 - Reviewed-on: http://gerrit.openafs.org/6937 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 577d5d99fefb62f0b52a568207d2352946b36137 -Author: Andrew Deason -Date: Fri Mar 2 17:18:25 2012 -0600 - - afs: Log a message on invalid FetchStatus receipt - - If we get an invalid AFSFetchStatus structure from a server, log a - message to indicate as such. This serves as a warning to urge people - to fix their fileservers, and to explain what is doing. - - Change-Id: I33845f6228f96f693dcbfddcee38dae583f1b092 - Reviewed-on: http://gerrit.openafs.org/6881 - Reviewed-by: Alistair Ferguson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5af63fabc553a2fecd4c3080b25fe14483f5bd98 -Author: Andrew Deason -Date: Fri Mar 2 17:06:48 2012 -0600 - - afs: Sanity-check some AFSFetchStatus structures - - We currently do not do any sanity checking on the AFSFetchStatus - structures returned from fileservers. Add some sanity checking for - BulkStatus and FetchStatus calls, so we do not screw up our cache if a - fileserver gives us bogus data. - - If we do get an invalid AFSFetchStatus structure, act as if the server - gave us a VBUSY error code, so we will retry the request. For OpenAFS - fileservers prior to 1.6.1 that yield this situation, VBUSY is likely - the error code the fileserver should have responded anyway. - - Change-Id: Ie16a5210149b21dd5945380f5d7b6a4d9ee01a72 - Reviewed-on: http://gerrit.openafs.org/6880 - Reviewed-by: Alistair Ferguson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 29cb3b9f838eacf3348f83c81ce687f5882c77a2 -Author: Chas Williams (CONTRACTOR) -Date: Mon Mar 19 13:07:41 2012 -0400 - - Finish removing sunos 4.x references and build cruft - - Also, fix afsxbsa.h to always include since this should get - struct tm on any fairly modern operating system. - - Change-Id: Idfb39f12d28a2a0aa470c8549e4149d0b2ccde9e - Change-Id: Ia1c563e5954c533f18bd56155f2ae1825813efe3 - Reviewed-on: http://gerrit.openafs.org/6923 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Tested-by: BuildBot - -commit 690a4c144b53fd1f3538d83017ecf581a2bcded5 -Author: Andrew Deason -Date: Fri Mar 2 14:55:04 2012 -0600 - - viced: Do not ignore all InlineBulkStatus errors - - InlineBulkStatus currently returns 0 unconditionally, no matter what - errors are encountered. If we encounter an error early enough, from - CallPreamble for example, we do not fill in the OutStats nor CallBacks - structures at all. Since we return success anyway, this results in the - client getting AFSFetchStatus structures full of zeroes (or garbage, - before commit 726e1e13ff93e2cc1ac21964dc8d906869e64406). - - Since current OpenAFS clients do not perform any sanity checks on the - information received, this can result in cache corruption of files - being seen incorrectly as empty, and, before commit 726e1e, more - arbitrary corruption. - - So instead, return an error if we encounter an error before we iterate - over the given FIDs. We still of course do not return an error for any - errors encountered during the actual metadata retrieval, as those are - reflected in the individual per-fid status structures. - - Change-Id: Icfab4516e510be5f0063ddf9c69f11ab3d511b35 - Reviewed-on: http://gerrit.openafs.org/6871 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit a0a1ad06c2dd632e3e471e5f40ff3eda470bf71a -Author: Jeffrey Altman -Date: Mon Mar 19 22:38:06 2012 -0400 - - Windows: Assign AuthGroup during Process Create - - As the process is being created, assign the AuthGroup so that - the must up to date information is used to assign AuthGroup - inheritance from Impersonation states and to prevent the parent - process from being destroyed before the AuthGroup is determined. - - Change-Id: I176360a589d7f2bcf4b1ededad069424e3ce5393 - Reviewed-on: http://gerrit.openafs.org/6927 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit a54fefc0449fbccc881c017480cb92878bb460cb -Author: Jeffrey Altman -Date: Mon Mar 19 21:10:31 2012 -0400 - - Windows: Refactor AFSProcessSupport - - Breakup AFSProcessNotify() into AFSProcessCreate() and - AFSProcessDestroy(). - - Correct inconsistencies with ETHREAD vs ThreadId HANDLE. - - Add AFSProcessNotifyEx() and use PsSetCreateProcessNotifyRoutineEx() - to register it on Vista SP1 and above. - - Change-Id: I2be85c3e8229883b4e239e1fdba9a65fc704daaa - Reviewed-on: http://gerrit.openafs.org/6926 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 95ec152a850c0cde33829481b8e71e7e7e686a58 -Author: Jeffrey Altman -Date: Sun Mar 25 09:56:48 2012 -0400 - - doc: correct implicit ACL permissions volume owner - - OpenAFS changed the behavior of implicit administrator permission - for directory ownership. In OpenAFS only the volume root directory - owner has implicit administrator permissions and they apply to all - directories in the volume not just those with matching ownership. - - Change-Id: I8ca0a8874fe17cf7fc575107bd76efb5dc472b10 - Reviewed-on: http://gerrit.openafs.org/6951 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit d0ea3b18e2893943f9deb46244f2674db1920622 -Author: Jeffrey Altman -Date: Sat Mar 24 09:23:50 2012 -0400 - - softsig: not used on windows - - Do not install afs/softsig.h on Windows from src/util - - Do not include it in src/viced/viced.c - - Change-Id: I8b6dcb1508dcda7da297a0c9a6bfeaf037c40c88 - Reviewed-on: http://gerrit.openafs.org/6950 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit eaea11ef0f44dc9d743f85bbce53b98c2d568b74 -Author: Simon Wilkinson -Date: Thu Mar 22 14:48:16 2012 +0000 - - tests: Add opr to the command test libraries - - The cmd/command-t test needs libopr, so give it to it - - Change-Id: I74ca08efffb0c0f6245498c9dc0dcf5287915bbd - Reviewed-on: http://gerrit.openafs.org/6949 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 20429272805d029de80275a4e092291be7d747e9 -Author: Simon Wilkinson -Date: Thu Mar 22 14:39:27 2012 +0000 - - libafsrpc: Export connection accessor fuctions - - Add various connection accessor functions to the export map file for - libafsrpc so they can be used from within RX security layers. - - Change-Id: I0b5c75d987aadd6942dcb87fb1b98586bcc9e553 - Reviewed-on: http://gerrit.openafs.org/6948 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d2594f706b1eeaf7b16537f95b3617dcb1af63c2 -Author: Chas Williams (CONTRACTOR) -Date: Mon Mar 19 16:47:28 2012 -0400 - - opr: should be built as shared - - Since this library could be use anywhere (including a shared library) - it should be built as position independent code. - - Change-Id: I9e9c8b5c08e73ce43c04341b1106126f7774c405 - Reviewed-on: http://gerrit.openafs.org/6925 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 39964d08792f3a09694f97d7c7fa76a86ca213a7 -Author: Jeffrey Altman -Date: Thu Mar 22 15:55:47 2012 -0400 - - Windows: Client handling of VNOSERVICE - - VNOSERVICE should not be grouped together with the volume status - error codes. It is used to indicate that the RPC was not serviced. - The file server issues it when its idle dead timeout period is reached - while receiving rx call data. The client's existing status information - is still valid and the client can retry the call. - - Change-Id: I51e447824366381e740361576c96559f1c4f3fd3 - Reviewed-on: http://gerrit.openafs.org/6938 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b695eb272d66269a57cdca2550c00f2b0003ae35 -Author: Jeffrey Altman -Date: Wed Mar 21 10:11:31 2012 -0400 - - Windows: AFSRedir Debug for STATUS_NOT_A_DIRECTORY - - Add additional logging to handle the case where the afsd_service - returns STATUS_NOT_A_DIRECTORY for eval by id/name. - - Change-Id: Ib510fcea6102a92e5e810af5923f06dffbba1ed9 - Reviewed-on: http://gerrit.openafs.org/6930 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f246aa5f84a5233b6525ae43456a8da5b7e92984 -Author: Marc Dionne -Date: Wed Mar 21 22:19:04 2012 -0400 - - Linux 3.4: Switch to d_make_root - - If d_make_root is available, use it instead of d_alloc_root. - The helper was introduced in 3.3, and d_alloc_root gets removed - in 3.4. - - Change-Id: I39aaa6fd14d04c05ad9cb5b610e7f12f70fe0c94 - Reviewed-on: http://gerrit.openafs.org/6931 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e55f1b4dc3134762c61143c7dcc8e252d9973365 -Author: Ken Dreyer -Date: Tue Mar 13 20:06:43 2012 -0600 - - doc: remove references to AFS's NTP daemon - - AFS's own ntpd and runntp are obsolete. Remove them from the - documentation, and recommend the OS vendor-supplied NTP instead. - - Change-Id: If0cd837aa407eb49049881790e618ccd75ca6e5b - Reviewed-on: http://gerrit.openafs.org/6903 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 640fe82315838f60cce5789ad7d9965db3dabe0a -Author: Michael Meffie -Date: Mon Mar 19 19:27:33 2012 -0400 - - build on solaris 10 again - - Use min and max instead of the non-standard MIN and MAX macros. - - Commit 64b00c3a1a87739621f58c777fc3cc54fb15a0af removed inclusion of - rx_packet.h, which included definitions of MIN and MAX on various platforms. - - Change-Id: I3d3c75af375704b8baddd72aec3aecf3c4fd43d7 - Reviewed-on: http://gerrit.openafs.org/6924 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 4d98adc83cd09d75c99abd9d29af79f9de5b1d1a -Author: Jeffrey Altman -Date: Fri Mar 16 01:09:42 2012 -0400 - - Windows: invalidate correct objects during dir verification - - When processing a directory verification, if a change of data - version is detected or if the FileID of a FileName changes, - be sure to invalidate and verify the directory entry. Setting - the verify flag on the parent after updating the directory - entry's metadata does not result in the correct behavior. - - Change-Id: Ib24bd71b82964e150a6ce730071106c9cbea0d23 - Reviewed-on: http://gerrit.openafs.org/6914 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 59b57ff85acbef10bcec9724c42e3bad78538687 -Author: Derrick Brashear -Date: Thu Mar 15 11:51:39 2012 -0400 - - osx: deal with more kerberos damage - - the number of things which can return success without succeeding is - truly sad. - - Change-Id: Iab3a6ef72afc8075462dfd98548ad7aa3051d40f - Reviewed-on: http://gerrit.openafs.org/6911 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e5821239cde138f74f73bec1bd9a3880d08ac3df -Author: Andrew Deason -Date: Wed Mar 7 16:36:57 2012 -0600 - - afs: Never #define away afsd_dynamic_vcaches - - Some versions of the Solaris Studio compiler on SPARC (at least 12.2 - and possibly others, but not 12.3) get a little confused by code like - this: - - extern int foo; - int - somefunc(void) { - if (0) return foo; - return 0; - } - - When optimization is turned off, this results in an undefined symbol - reference to 'foo' (which is normal), but the resulting object file - lacks a relocation entry for the symbol 'foo', so the symbol remains - undefined after linking. In the OpenAFS tree, this occurs in - afs_daemons.c which references afs_vcount and afs_cacheStats in this - manner due to afsd_dynamic_vcaches being defined as '0' on Solaris. - The end result is that the libafs kernel module is not loadable, since - it complains about afs_vcount and afs_cacheStats being undefined, even - though the symbol definitions are also in the module. - - While this is a bug in Solaris Studio and has since been fixed, it is - simple to work around this so we are usable with more compilers. If we - just always declare afsd_dynamic_vcaches as a regular variable, it - works around this issue and keeps the code a tiny bit simpler. So, do - that. - - Change-Id: I3f8fc6aafd52487d729289e393fc59dac84d36ea - Reviewed-on: http://gerrit.openafs.org/6888 - Tested-by: Michael Meffie - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit 0fdcf171a8d2b2153648b6b799096e09eb469beb -Author: Simon Wilkinson -Date: Wed Mar 14 10:56:06 2012 -0400 - - rx: hold call->lock across RXS_PreparePacket - - RX Security Classes have a right to assume that when RXS_PreparePacket - is called that they have exclusive access to the rx_call structure. - Commit e445faa68c5ec6e47d3fd9d7318ade71d98703a9 unintentionally - failed to acquire the call->lock prior to RXS_PreparePacket being - called. - - Change-Id: I5a9dfb2818fa17ba6fc1ab6f76ec5cde602c6f16 - Reviewed-on: http://gerrit.openafs.org/6904 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 317b227a20a99960b313d06a3441822472d638c8 -Author: Jeffrey Altman -Date: Mon Mar 12 15:53:47 2012 -0400 - - Windows: Drop resource across AFSCleanupFcb - - Avoid additional deadlocks involving - VolumeCB->ObjectInfoTree.TreeLock. - - Change-Id: Ibfeb8f230c54e95d3a0b7b9d84c63cb7f4b9ce2d - Reviewed-on: http://gerrit.openafs.org/6893 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6fb1078e08d4077fb0602f97b1a83bcd72f55db8 -Author: Jeffrey Altman -Date: Wed Mar 7 06:54:54 2012 -0800 - - Windows: Wait for memory allocation if necessary - - The kernel has a limited pool of memory. If there is no memory - available to satisfy a request, that request will fail initially - with a STATUS_OUT_OF_RESOURCES error which in most cases is exposed - to the user-mode application as STATUS_ACCESS_DENIED. This can - produce inconsistent results. - - This patchset introduces an Event object, MemoryAvailableEvent, - which is signalled when the redirector deallocates memory. This - should in many cases permit requests to succeed where they otherwise - would have failed immediately. - - The WaitingForMemoryCount field tracks the number of threads that - are waiting for memory to become available. A subsequent patch - could use this value to accelerate the tear down of cached data. - - To avoid deadlocks, blocking threads will only wait for a maximum - of 30 seconds at a time. As long as the redirector continues to - free memory, the thread can re-queue itself. However, if a timeout - occurs, the allocation request will fail. - - Change-Id: I0aa549be3852b31b68d7b42ecab4ca982c75f6ba - Reviewed-on: http://gerrit.openafs.org/6886 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b7f6d8e3964592543d4706c58c395fbe2f81218b -Author: Jeffrey Altman -Date: Mon Mar 5 23:14:28 2012 -0600 - - Windows: Correct Data Version change synchronization - - The data version must be checked and set while the ObjectInformation - DirectoryNodeHdr.TreeLock is held exclusive. Otherwise, it is - possible for a race to occur. - - Change-Id: Ia4d94cca1d161062e9d98675976ba8fad5731032 - Reviewed-on: http://gerrit.openafs.org/6883 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d62456255e13beef41770ad90ee6cb58068007b9 -Author: Paul Smeddle -Date: Mon Mar 12 19:56:11 2012 +0000 - - Make volscan's column delimiter option work - - Currently, volscan ignores the -delim command-line option, - using the hardcoded default. This patch adds processing - for this option, allowing alternative characters. - - Corrects an error in a08c3207255756c825ab69a19e04f79dd879c646 - - Change-Id: I750f2d998cff029fc02556ed0baaaa0ca1c95e08 - Reviewed-on: http://gerrit.openafs.org/6894 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7dce85e4e5db7420c5c359fdd02a8005a12fb29c -Author: Jens Wegener -Date: Tue Mar 6 07:28:32 2012 -0600 - - viced: fix inverted lockCount assignment - - FIXES 130605 - - Change-Id: Ibfdbc03100094ca33630dc9e1ddbcacf770a1a02 - Reviewed-on: http://gerrit.openafs.org/6884 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 0f3cb2a43e3487d9b5ec774c417ae6744d6e4d83 -Author: Jonathan Billings -Date: Thu Mar 8 09:23:40 2012 -0500 - - redhat: Don't replace modified configuration files during rpm update - - The previous setting for three %config files mentioned in the spec file: - - %config /etc/sysconfig/openafs - %config %{_prefix}/vice/etc/ThisCell - %config %{_prefix}/vice/etc/cacheinfo - - When using an unadorned %config, it's possible that these files will - be replaced by the packaged version during a package update. Changing - %config to %config(noreplace) means that the packaged file will be - installed with the extension .rpmnew if there is already a modified - (from the existing package's version) file with the same name on the - installed machine. - - The concern here is that updating an existing system could potentially - change the configuration if the person installing doesn't pay close - attention. The Rule of Least Surprise indicates that we should - try to preserve existing configuration changes whenever possible. - - Change-Id: Ie132c12a3c5defe9bf6fec9ec0f8bd08f3d98646 - Reviewed-on: http://gerrit.openafs.org/6887 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4cc3923b1b857368a522be55c55fce4c9b62548a -Author: chas williams - CONTRACTOR -Date: Mon Mar 5 11:41:08 2012 -0500 - - rxgen: fix to use rx accessor routines - - apparently some uses didnt get converted during the previous work. - - Change-Id: Iaa4dcf73fd2e29e3f95feede5217eac4eaded4e2 - Reviewed-on: http://gerrit.openafs.org/6874 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c0268c7299afc3eb0a3bde2972a8fee800b735b1 -Author: Michael Meffie -Date: Sat Mar 3 09:42:12 2012 -0500 - - viced: fix -realm option arg parse - - Advance only once per realm argument when processing the - realm command line option. - - Change-Id: Id3873fbe213f27be673ec0c02a27a032dd33c002 - Reviewed-on: http://gerrit.openafs.org/6860 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fc1c58910c5991fa9d132d171d1d976dbfc44a95 -Author: Michael Meffie -Date: Wed Feb 29 11:08:10 2012 -0500 - - viced: fix log message in hpr initialize - - The wrong dir object is used to log an error in hpr - initialize. - - Change-Id: I4460b541a6458742839b47e8277990f426b233a7 - Reviewed-on: http://gerrit.openafs.org/6845 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0a3f0608fcf6c14b44484cfa6fe106c568aa1035 -Author: Derrick Brashear -Date: Sun Mar 4 09:48:07 2012 -0500 - - macos: don't crash on krb5 damage - - if we get success but still no client, don't crash - - Change-Id: I6be28ac6ecece3448123a84cf442a791eebc93cc - Reviewed-on: http://gerrit.openafs.org/6868 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 88ec2929fddec2ae53a74d3e40cbdeb566aeacc5 -Author: Jeffrey Altman -Date: Fri Mar 2 10:54:38 2012 -0500 - - Windows: add __try..__except - - Wrap potential exception locations in __try ... __except so - that the exceptions can be caught by us instead of Cc/Mm which - use exceptions to signal status. - - Change-Id: Ifef02bbf2c76b8583b538e4b67d4136c832b6cc6 - Reviewed-on: http://gerrit.openafs.org/6859 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 5762d9c3c7d941b856bfa86ce8e1ee6a76f41eda -Author: Jeffrey Altman -Date: Fri Mar 2 10:54:23 2012 -0500 - - Windows: fix indentation - - Change-Id: I2decb4093986c316fe6b9102f2d42a583a24b1f4 - Reviewed-on: http://gerrit.openafs.org/6858 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fdf1dfc5f92fcd149a7ae0945e4458993b2ad61e -Author: Jeffrey Altman -Date: Fri Mar 2 10:52:35 2012 -0500 - - Windows: Avoid deadlock in invalidation path - - During data version invalidation the AFS redirector must CcPurge - any non-dirty extents on a file. This operation can be intercepted - by a filter driver which in turn might open the file and close it - again before the CcPurge completes. - - The AFSPerformObjectInvalidate call holds the ExtentsResource - shared which can deadlock if AFSClose attempts an extent tear down - which requires exclusive access to the ExtentsResource. - - Change-Id: I7cb0289d8036aabf56bb11fd12a79308be45faa8 - Reviewed-on: http://gerrit.openafs.org/6856 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 81a9a33e0bc5455841ba105dab52735c64c7096b -Author: Dave Botsch -Date: Thu Mar 1 12:43:36 2012 -0500 - - Fixes dkms.conf for Redhat Enterprise - - commit 8e0aaae076f4cccfd2d6ed81ede4e355235b578e , while fixing dkms.conf for - Fedora, broke dkms.conf for RHEL. In RHEL, you get a dkms.conf with too - many backslashes in the "mv" line. The dkms.conf should have the mv line - reading: - - mv src/libafs/MODLOAD-*/\$KMODNAME \$DSTKMOD" - - for Fedora. - - This change checks if we are building on Fedora, and if so, maintains - the extra backslashes. Otherwise, not. - - modified: src/packaging/RedHat/openafs.spec.in - - Uses the dist tags as specified at - http://fedoraproject.org/wiki/Packaging:DistTag - - Change-Id: I7fd7531758a63b2634424c2fcba23ae1b0fc8f2f - Reviewed-on: http://gerrit.openafs.org/6851 - Reviewed-by: Ken Dreyer - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 579976cf246bd55dea2dfd3bf8470fd8bb8bde0a -Author: Jeffrey Altman -Date: Thu Mar 1 15:49:12 2012 -0500 - - unix: always retry RX_CALL_BUSY - - RX_CALL_BUSY is an indication that the call channel is busy not - that the server is down or otherwise cannot respond. Unconditionally - retry the RPC and do not alter state. We just want to force the use - of a different call channel. - - Change-Id: Ic4ef9bac800087f1b287d3da08fcd5eec84374ef - Reviewed-on: http://gerrit.openafs.org/6852 - Tested-by: BuildBot - Reviewed-by: Hartmut Reuter - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 28a33f8492098c23f7c3c58763ace93b82ea80a7 -Author: Jeffrey Altman -Date: Wed Feb 29 13:07:47 2012 -0500 - - Windows: Workaround Win7 SMB Reconnect Bug - - The SMB specification permits the server to save a round trip - in the GSS negotiation by sending an initial security blob. - Unfortunately, doing so trips a bug in Windows 7 and Server 2008 R2 - whereby the SMB 1.x redirector drops the blob on the floor after - the first connection to the server and simply attempts to reuse - the previous authentication context. This bug can be avoided by - the server sending no security blob in the SMB_COM_NEGOTIATE - response. This forces the client to send an initial GSS init_sec_context - blob under all circumstances which works around the bug in Microsoft's - code. - - Do not call smb_NegotiateExtendedSecurity(&secBlob, &secBlobLength); - - As a result of the SMB 1.x bug, all attempts to reconnect fail due to - SMB connection resets. The SMB 1.x redirector will retry indefinitely - but all processes with outstanding requests to \\AFS will block until - the machine is rebooted. - - Change-Id: Iedd58fccbf85495d48871935f6e61ede1e1240ff - Reviewed-on: http://gerrit.openafs.org/6846 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 2a6ddae62e4fac5eecdf4634746e7294405393d6 -Author: Andrew Deason -Date: Thu Jul 8 11:25:19 2010 -0500 - - viced: Ignore client loopback alternate addresses - - When we receive interface information from a client to determine its - alternate IP addresses, ignore any addresses that look like loopback. - - Change-Id: I245ebfc74ad1e8bd2fcd235a00f000d29229668d - Reviewed-on: http://gerrit.openafs.org/2368 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Reviewed-by: Alistair Ferguson - Tested-by: Jeffrey Altman - -commit 0e610fdacb4484d245bf1f727d035812774192ea -Author: Jeffrey Altman -Date: Fri Feb 24 12:23:28 2012 -0500 - - Windows: Fix an ExtentResource trace message - - This instance is logging a SHARED acquisition not an EXCL one. - - Change-Id: Id4e69bb275ff4eb242b2c145df80ed9b73313776 - Reviewed-on: http://gerrit.openafs.org/6792 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cfb7f205d8153899c0165594a29d91926a40425d -Author: Jeffrey Altman -Date: Fri Feb 24 12:21:46 2012 -0500 - - Windows: cm_UpdateCell never applies to Freelance mode - - The Freelance.Local.Cell is updated by the registry monitor - thread and cm_UpdateCell should be a no-op. Make it so. - - Change-Id: I2961114590af6b64b8ae06d608a97513e83aad4e - Reviewed-on: http://gerrit.openafs.org/6791 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6bb0014be2c3ea5ca411bf349fb3987c5d496c40 -Author: Vaibhav Kamra -Date: Thu Feb 23 09:58:07 2012 -0800 - - Windows: Redirector opens must set a valid FsContext - - A successful open must have FileObject->FsContext set to a structure - with a valid/initialized FSRTL_ADVANCED_FCB_HEADER object. - - Not having this breaks assumptions in the kernel. - - Patchset edited by Jeffrey Altman - - Change-Id: I70c9045bfa02c54074c015e6e871ead63efb6769 - Reviewed-on: http://gerrit.openafs.org/6782 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit de93a78b870b40338cfd0f4839fe4ef3b959481b -Author: Jeffrey Altman -Date: Thu Feb 23 11:13:08 2012 -0800 - - Windows: remove AFSOpenRedirector from AFSRedirLib - - The AFSOpenRedirector functionality must exist in the framework, - AFSRedir.sys, not the library, AFSRedirLib.sys. - - Change-Id: Id688efba016d94df558b241e9bee421c86c60e27 - Reviewed-on: http://gerrit.openafs.org/6781 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 315b97ab587247d7750ff4b64275e397ac4b97a7 -Author: Jeffrey Altman -Date: Thu Feb 23 06:31:31 2012 -0800 - - Windows: do not bugcheck in AFSExAllocatePoolWithTag - - If the Bug Check flag is set, the call to AFSBreakPoint() in - AFSExAllocatePoolWithTag() will trigger. There is no need for - an explicit bug check test in AFSExAllocatePoolWithTag(). - - If AFSExAllocatePoolWithTag() returns NULL there is no need - to ASSERT() the return value since AFSBreakPoint() would already - have been called to signal a debugger. - - Change-Id: Ie8564f41f811c3afd99dc2e9c02f4aa68d63ef8e - Reviewed-on: http://gerrit.openafs.org/6780 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fe6cc80fdbbd3c66ddc32bb6a8e639753244da70 -Author: Jeffrey Altman -Date: Thu Feb 23 06:28:49 2012 -0800 - - Windows: Revert "AFSRedir DebugFlags Turn on BugCheck" - - This reverts commit 209df87d08fb07d9641b81858a0821b9fd95dbcc. - - Turning on BugCheck by default was a good idea because we needed - to track down the cause of exceptions that were otherwise being - thrown resulting in resource leaks. However, it is a bad idea - because it results in out of memory conditions throwing bug checks - that result in a BSOD. - - Change-Id: If0965657957ed73b83686a9be42b0d7f89964f2f - Reviewed-on: http://gerrit.openafs.org/6779 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fb03b1380f82a6bdc8a78ad92069da38b4e98c26 -Author: Andrew Deason -Date: Thu Feb 23 18:28:21 2012 -0600 - - Rewrite make_h_tree.pl in shell script - - The current usage of make_h_tree.pl adds a build requirement of - /usr/bin/perl that we did not have prior to commit - 1d6593e952ce82c778b1cd6e40c6e22ec756daf1. Do the same thing in a - bourne shell script instead, so we don't need perl. - - Note that this is not as generalized as make_h_tree.pl, but it doesn't - need to be. Specifically, this does not strip a leading ../ from found - include directives (nothing in the tree that includes h/* files uses - this), and header filenames containing whitespace almost certainly do - not work correctly. - - The h => sys mapping is also much more hardcoded, but that's all we - were using this for anyway. - - Change-Id: If07888abfdb9e8ec822b33abed0bf744b7210a52 - Reviewed-on: http://gerrit.openafs.org/6790 - Reviewed-by: Russ Allbery - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 46e85dd4682a3273e15bbf96c4d5492087555cab -Author: Andrew Deason -Date: Thu Feb 23 13:02:13 2012 -0600 - - salvager: Do not fork for single VG salvage - - Currently we always fork a child in the salvager in order to salvage a - volume group. I believe this is in order to protect SEGV, exit(), etc - in one salvage operation from preventing salvaging anything else. When - salvaging a single volume group, though, there appears to be little - benefit. - - In addition, we need to keep the VG salvaging code in the same process - as the cleanup code for single-volume salvages, so we can know which - volumes were deleted by SalvageVolumeGroup, so we know which volumes - to bring back online. So, do not fork for the singleVolumeNumber case. - - Note that for DAFS, we already never fork for the entire salvage - operation when salvaging an individual volume group. So, this is - effectively a non-DAFS-only change. - - Change-Id: I2b646b9ff932a673c714bc27ac32ed41cc3e22e6 - Reviewed-on: http://gerrit.openafs.org/6787 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 2a1719faa810663d6d9cf774339e286c18ef2717 -Author: Andrew Deason -Date: Tue Feb 21 18:05:32 2012 -0600 - - salvager: Remove VolumeSummary->fileName - - The 'fileName' field in VolumeSummary serves two apparent purposes: - - - Storing the filename of the volume header file (V0XXX.vol). - - - Indicating whether or not a given VolumeSummary object is - referenced by any inodes on disk. fileName is set by - AskVolumeSummary/GetVolumeSummary, and is cleared in - SalvageFileSys1 when a matching inodeSummary entry is found. - - This is very confusing. The first purpose is completely unnecessary; - we can always calculate the filename from the volume id for the - volume, and we already enforce the filename to be of that specific - format. The second purpose is very unclear in the current code, and - overloads the meaning of the field. - - So instead, remove fileName entirely. Code that was using it to locate - the header file are changed to use VolumeExternalName_r. Code that was - using the field to determine if the volume is "unused" is changed to - use a field just called "unused", set to 0 or 1. - - Change-Id: I5e257ea633b7ae821136c88e1b2024f62125ab30 - Reviewed-on: http://gerrit.openafs.org/6786 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d426e613b9a4802c3b404903f7122f6fd0046aba -Author: Andrew Deason -Date: Tue Feb 21 18:03:24 2012 -0600 - - salvager: Remove PrintVolumeSummary - - Nothing uses this function; remove it. - - Change-Id: I55ae048ba920bbd10030c227724323fa20681941 - Reviewed-on: http://gerrit.openafs.org/6785 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 839638870986ebd4cf992f7a2c81a23e37c14228 -Author: Andrew Deason -Date: Tue Feb 21 17:46:41 2012 -0600 - - salvager: Do not require MaybeZapVolume fileName - - In MaybeZapVolume, currently we do not remove the volume header if the - given isp->volSummary->fileName is not set. This effectively means - that we only actually "zap" volumes for which we have just created the - header, or which are not referenced by any inodes. - - For readonly volumes that have errors, we want to delete the volumes - instead of salvaging. Readonly volumes with valid headers will have - fileName as NULL, though (set back in SalvageFileSys1), so - MaybeZapVolume will refuse to remove them. What ends up happening is - that the headers will stay around, but since we do not finish checking - the volume, all of the inodes for the data in the volume will be - dec'd. This results in a volume whose header exists, but none of its - inodes (including special inodes) exist, so the volume will need to be - salvaged again, and during that salvage will be deleted (because there - are no inodes for the volume). - - Avoid all this, and just delete volume headers for volumes that lack a - valid fileName. Instead try to avoid deleting headers with - volSummary->deleted set, just so we don't try to delete the same - headers twice. - - Related issue reported by ƅsa Andersson. - - Change-Id: I4797d0cabe3851debdc78f4ed9ee619534397970 - Reviewed-on: http://gerrit.openafs.org/6784 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 76f12c2389fd2a8e09b4e869730169401d154ce9 -Author: Andrew Deason -Date: Tue Feb 21 17:40:46 2012 -0600 - - salvager: Do not set fileName on header fixup - - Currently, SalvageVolumeHeaderFile will set isp->volSummary->fileName - to a new string whenever the volume header needs to be created or - re-written. When control reaches back to SalvageFileSys1, this can - cause DeleteExtraVolumeHeaderFile to delete the header, since - vsp->fileName is used as a sort of indicator to see whether or not a - volume has been referenced by the inode summary. - - When we create a new header, we avoid this because we allocate a new - VolumeSummary struct, which is not caught by the last - DeleteExtraVolumeHeaderFile for loop in SalvageFileSys1. However, we - do delete the header when we simply re-write a header, since we use - the existing VolumeSummary struct. Set fileName in neither, for - consistency. - - Change-Id: Ibb7b5fbadb701028a6bafe01ae9f8d3265e2f443 - Reviewed-on: http://gerrit.openafs.org/6783 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 634c6f184b17e30ade86c0a838ab55ddddc730d6 -Author: Andrew Deason -Date: Wed Feb 22 15:40:20 2012 -0600 - - LINUX: Use afs_convert_code in afs_notify_change - - afs_notify_change currently just returns "-code". This can cause a - panic if the error code is negative, since we will return a positive - error code, which may get interpreted as a valid pointer value in - higher levels. - - Specifically, if we hit afs_notify_change via something like this code - path: - - do_sys_open -> do_filp_open -> open_namei -> may_open -> do_truncate - -> notify_change -> afs_notify_change (via inode->i_op->setattr) - - the positive error value will be interpreted by do_sys_open as a valid - 'struct file' pointer, and will be dereferenced. - - So pass the return value through afs_convert_code, like all of the - other vnode ops, so we ensure we return an error properly. - - Change-Id: I941cc2d77d5a96cf86dfe133d30af4ccf6e9f2cb - Reviewed-on: http://gerrit.openafs.org/6776 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 620d4169b73088579e691aec2cfdafc7f44e2fee -Author: Andrew Deason -Date: Wed Feb 22 15:36:37 2012 -0600 - - LINUX: move afs_notify_change to osi_vnodeops.c - - afs_notify_change is almost always used solely in inode_operations - structs, and is more similar to the other per-vnode functions. Put it - with the other per-vnode functions for better organization, and so - they can use the same static functions. - - Move the helper functions iattr2vattr and vattr2inode along with it. - - Change-Id: I47a69fe673cfc3318ce583596ba25cbeb9cb0b96 - Reviewed-on: http://gerrit.openafs.org/6775 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 75a3dabe66a9fbc232b05e2f744ad5b867e18262 -Author: Derrick Brashear -Date: Wed Feb 22 15:57:46 2012 -0500 - - libafs: retry retriable RPCs instead of abandoning - - if we get e.g. an idle dead error we should retry - retriable actions, namely data stores. in order - for writing files to work correctly given how - the writeback code is structured it's important that - this not interfere with analyze's shouldRetry decision - on those RPCs - - Change-Id: Ie091a72b924c8414ec66c377fa13da14575a69cf - Reviewed-on: http://gerrit.openafs.org/6749 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2378895fc66a19a050f302711f2e18dbbf2e3d6f -Author: Derrick Brashear -Date: Sun Feb 12 22:45:59 2012 -0500 - - libafs: ensure one nat ping connection per srvAddr - - track the natping conn with the srvAddr, ensuring exactly one. - - Change-Id: I2e424a71d398563f9d0ec3ca77b83320cbef4ea1 - Reviewed-on: http://gerrit.openafs.org/6706 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4ed91fe59468ed6c834f968a5b8202e967ea43b5 -Author: Jeffrey Altman -Date: Wed Feb 22 14:19:51 2012 -0500 - - Windows: invalidate data version on link creation - - notify the redirector that the directory data version has - changed when a pioctl is used to create a symlink or mount point. - - FIXES 130589 - - Change-Id: I07e1ae130b9db8d3dd68fef892c47de008be7cd4 - Reviewed-on: http://gerrit.openafs.org/6747 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5965c5390bf8264dacf60016929fc8d3aa83a7ea -Author: Jeffrey Altman -Date: Mon Feb 20 20:50:53 2012 -0500 - - Windows: AFSPerformObjectInvalidate hold ExtentsResource shared - - The AFSPerformObjectInvalidate() was obtaining exclusive - access to the Fcb ExtentsResource even though it was not - tearing down the extents list. The ExtentsResource could - be held shared instead. Doing so will avoid the following - deadlock: - - Thread 1: - nt!MmPurgeSection+0x403 - nt!CcPurgeCacheSection+0x100 - AFSRedirLib!AFSPerformObjectInvalidate+0xd4 - AFSRedirLib!AFSWorkerThread+0xa4 - nt!PspSystemThreadStartup+0x2e - - Thread 2: - AFSRedirLib!AFSAcquireShared+0x18 - AFSRedirLib!AFSMarkDirty+0x68 - AFSRedirLib!AFSNonCachedWrite+0x603 - AFSRedirLib!AFSCommonWrite+0x5fa - AFSRedirLib!AFSWrite+0x20 - nt!IofCallDriver+0x45 - AFSRedir!AFSWrite+0x57 - nt!IofCallDriver+0x45 - fltMgr!FltpDispatch+0x6f - nt!IofCallDriver+0x45 - AMFilter+0x2c6e - nt!IofCallDriver+0x45 - PMDriver+0x112a - nt!IofCallDriver+0x45 - OpLoader+0x1cd2 - nt!IofCallDriver+0x45 - savonaccesscontrol+0x6f15 - savonaccessfilter+0x2fa0 - nt!IofCallDriver+0x45 - nt!IoAsynchronousPageWrite+0xd0 - nt!MiMappedPageWriter+0x127 - nt!PspSystemThreadStartup+0x2e - - Thread 1 is attempting to perform a cache purge which cannot complete - until Thread 2 is finished but Thread 2 requires the ExtentsResource - which is held by Thread 1. - - Change-Id: I4582093cf973f61cf6aff0df5e23b6711ec708b3 - Reviewed-on: http://gerrit.openafs.org/6744 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 08d800b896db688cd96d742781e8225c9e58ef57 -Author: Jeffrey Altman -Date: Mon Feb 20 01:48:20 2012 -0500 - - Windows: fsLockCount not accurate - - Prior to 1.6.2 the file server does not report an accurate value - for the lock state. In addition, callbacks are not broken when - locks are freed due to lease expiration. - - Change-Id: I5b79d1d59c2ace9834cf23dfbef33e343ce6dda0 - Reviewed-on: http://gerrit.openafs.org/6741 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4603057d99a1501275f14f6d5aba089364785e09 -Author: Jeffrey Altman -Date: Mon Feb 20 01:40:03 2012 -0500 - - viced: lockcount only valid if not expired - - locks are issued on a lease. If the lock is expired, the lock - count is zero. - - Change-Id: I628dd5b8b0d38694d653d9e8e82ff60ec2e1505c - Reviewed-on: http://gerrit.openafs.org/6740 - Reviewed-by: Derrick Brashear - Reviewed-by: Alistair Ferguson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fd19b39b151e3dddd18b4280252ac3e0fdf3964d -Author: Marc Dionne -Date: Mon Feb 20 17:56:29 2012 -0500 - - volser: Remove unused variable - - tid is now unused - remove it to avoid a warning. - - Change-Id: If2d4fdf16415bbf19de3cd8a3e621d04d4d9b018 - Reviewed-on: http://gerrit.openafs.org/6743 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fe4e52655ce7e5a8e5f6c23cde678fc66c3db490 -Author: Andrew Deason -Date: Fri Feb 17 17:12:46 2012 -0600 - - viced: Relax "h_TossStuff_r failed" warnings - - Currently, h_TossStuff_r bails out and logs a message if we detect - that somebody grabbed a reference or locked the host while we tried to - h_NBLock_r. The reasoning for this is that it is not legal for anyone - to h_Hold_r a host that has HOSTDELETED set (but the error is - detectable and recoverable); callers are supposed to check for - HOSTDELETED and not hold a host in that case. - - However, HOSTDELETED may not be set when h_TossStuff_r is called, - since we call it if either HOSTDELETED _or_ CLIENTDELETED are set. If - CLIENTDELETED is set and HOSTDELETED is not, it's perfectly fine (and - necessary) for callers to grab a reference to the host. So, if that's - what is going on, don't log a message, since that's normal behavior. - - Check for HOSTDELETED before we h_NBLock_r, since it is technically - possible (and legal) for someone to grab a reference to the host and - somehow set HOSTDELETED while we wait for h_NBLock_r to return. Also - log the flags when we see this message. - - Change-Id: Ie50a0617de094bb1c721da28f100ed4b31aa849f - Reviewed-on: http://gerrit.openafs.org/6733 - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f52c33ea10de8d1d07a9c4805366283e6ca635dc -Author: Andrew Deason -Date: Fri Feb 17 16:24:16 2012 -0600 - - viced: Remove extraneous h_AHTAHT_r in h_GetHost_r - - We added this address to the host with an addInterfaceAddr_r call just - a few lines before, which adds the host to the address hash table. - Another call to h_AddHostToAddrHashTable_r is pure overhead and - confusing. - - Change-Id: Ib08817274e632f67776956ede8b56eaf0dce879e - Reviewed-on: http://gerrit.openafs.org/6729 - Reviewed-by: Jeffrey Altman - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 3c803580bb503c7650f7b138c1b3f2eafd92b985 -Author: Andrew Deason -Date: Fri Feb 17 15:46:50 2012 -0600 - - viced: Set h_GetHost_r probefail if MPAA_r fails - - Currently, in h_GetHost_r, if we get a connection whose address does - not match an extant host, but the reported uuid does, we ProbeUuid the - old host. If it fails, we call MultiProbeAlternateAddress_r and set - 'probefail'. Later on, if 'probefail' is set, we always add the - connection address to the host, and remove the host->host,host->port - address from the host. - - However, this is not always correct. Consider the following situation. - - We have an existing host that has primary address 1.1.1.1, and also - has addresses 1.1.1.2 and 1.1.1.3 on the interface list but not on the - hash table. Say that host A stops responding on 1.1.1.1, and a - connection comes in from 1.1.1.2. We ProbeUuid 1.1.1.1 and get a - failure, so we call MultiProbeAlternateAddress_r. - MultiProbeAlternateAddress_r probes via rx_Multi the addresses 1.1.1.2 - and 1.1.1.3. Say that 1.1.1.3 responds first, and responds - successfully, so MultiProbeAlternateAddress_r sets 1.1.1.3 to be the - primary address for the host. - - After MultiProbeAlternateAddress_r returns, 'probefail' is set. A few - lines down, we see that oldHost->host does not match haddr, and - 'probefail' is set, so we add 1.1.1.2 to the interface list, and - remove 1.1.1.3, and set 1.1.1.2 to be the primary address, even though - 1.1.1.3 is the address we most recently 'know' is correct. - - To fix this, only set 'probefail' if MultiProbeAlternateAddress_r also - fails after the failed ProbeUuid call. Conceptually this makes sense, - since if MultiProbeAlternateAddress_r succeeds, it found an address - that responds successfully to ProbeUuid, and it sets that address to - be the primary address. Therefore, after MultiProbeAlternateAddress_r - returns success, the situation is the same as if the 'good' address - was already the primary address, and the ProbeUuid call succeeded, so - 'probefail' should be cleared. - - Change-Id: Id32817916a8a42db567ad099aae00745b79598c5 - Reviewed-on: http://gerrit.openafs.org/6728 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Reviewed-by: Alistair Ferguson - Tested-by: BuildBot - -commit 7a6efc9bfcd955901d19274cc96f9a1b67f54f95 -Author: Andrew Deason -Date: Fri Feb 17 13:14:31 2012 -0600 - - viced: Correctly update addrs on alt addr probe - - The functions MultiBreakCallBackAlternateAddress_r and - MultiProbeAlternateAddress_r try to find a valid address in a host's - interface list of addrs. If they find one, they update host->host and - host->port. However, they do so just by changing those fields directly - and by calling h_DeleteHostFromAddrHashTable_r and - h_AddHostToAddrHashTable_r. This leaves the old host->host, host->port - on the interface list, and leaves it marked as 'valid'. Similarly, the - new host and port may still be marked as not 'valid'. - - This can result in the host being on the addr hash table via an - address that is not on the host's interface list. After the above - situation occurs, we may call - - removeInterfaceAddr_r(host, host->host, host->port); - - and then update host->host and host->port, which happens in a variety - of places. Since host->host, host->port is not marked as valid in the - interface list, it is not removed from the addr hash table, but it is - removed from the interface list. Eventually, this can cause the host - to be referenced from the addr hash table even after it has been - freed. - - Since this can result in hash table entries pointing to the 'wrong' - host, this can result in FileLog messages such as: - - Sun Feb 5 03:16:35 2012 Removing address that does not belong to host 0xdeadbeefdead (1.2.3.4:7001). - - And bogus instances of the message: - - Sun Feb 5 03:16:36 2012 CB: new identity for host 0xdeadbeefdead (1.2.3.4:7001), deleting(1 baadcafe 12345678-9abc-def0-12-34-456789abcdef fedcba98-76543210f-ed-cb-a9876543210f) - - To fix this, make MultiBreakCallBackAlternateAddress_r and - MultiProbeAlternateAddress_r update the address list the same way as - all of the code in host.c does; by adding the new address with - addInterfaceAddr_r, removing it with removeInterfaceAddr_r, and - updating host->host and host->port. - - Change-Id: I0a95e0186c03c1831c4df86daae901bf2462da0e - Reviewed-on: http://gerrit.openafs.org/6727 - Reviewed-by: Jeffrey Altman - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 9754c4e15fb9073ed9f95d5d4242d311eb65d717 -Author: Andrew Deason -Date: Thu Feb 16 16:20:16 2012 -0600 - - viced: Delete dup host before probing old host - - Currently, when the fileserver gets a new connection from an address - not on the addr hash table, we allocate a new host structure and add - that host to the addr hash table. If we then find that that host's - uuid matches the uuid of an extant host, we do the following: - - - probe the old host with the uuid, and MultiProbeAlternateAddress_r - if the probe fails - - - mark the duplicate host as HOSTDELETED - - - manipulate the interface lists - - Consider, for example, that we have an extant host ('oldHost') with - address 1.2.3.4:7001, but with 5.6.7.8:7001 on its alternate interface - list. At some point, the 1.2.3.4:7001 interface goes away or becomes - unreachable. A new connection comes in from that same host on - 5.6.7.8:7001. - - What will happen is we create a new host for address 5.6.7.8:7001, and - then detect the uuid collision. When we try to probe the old address - of 1.2.3.4:7001, it will fail, and we will try to - MultiProbeAlternateAddress_r. MultiProbeAlternateAddress_r will - determine that the alternate address 5.6.7.8:7001 responds - successfully to the probe, and it tries to set 5.6.7.8:7001 to be the - primary address of 'oldHost', and add 'oldHost' to the addr hash table - under 5.6.7.8:7001. - - But the "new" host from the incoming connection is already hashed on - the address hash table under 5.6.7.8:7001, so the - h_AddHostToAddrHashTable_r call in MultiProbeAlternateAddress_r fails. - Since we later delete the new duplicate host, this results in - 5.6.7.8:7001 being the primary address for the host, but that address - is not anywhere in the address hash table. - - This behavior can be seen by the following pair of FileLog messages: - - Wed Feb 1 11:02:38 2012 CB: ProbeUuid for 0xdeadbeefdead (1.2.3.4:7001) failed -01 - Wed Feb 1 11:02:38 2012 h_AddHostToAddrHashTable_r: refusing to hash host beefdead, baadcafe (5.6.7.8:7001) already hashed - - While those message do not necessarily indicate this problem, this - problem will result in those messages. - - To fix this, mark the duplicate host as HOSTDELETED before we do any - probing on 'oldHost'. This way, if MultiProbeAlternateAddress_r tries - to add 'oldHost' to the addr hash table under 5.6.7.8:7001, it will be - able to do so successfully, since the old duplicate host is deleted. - - Change-Id: Id3aaab0718425492dca1deba892725160677b85f - Reviewed-on: http://gerrit.openafs.org/6726 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Reviewed-by: Alistair Ferguson - Tested-by: BuildBot - -commit 13a4f2b18bb84d05773529a794371d29f64570ab -Author: Derrick Brashear -Date: Tue Dec 13 12:46:36 2011 -0500 - - vos: allow releases without offline time - - allow releases using dumps to clones to avoid offline time - - Change-Id: I06ed71f12494e362aa10a851081c9dcaf8c9a1af - Reviewed-on: http://gerrit.openafs.org/6254 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 8d618dceeefacbeb37c4ef3b1f9a8e80552311aa -Author: Derrick Brashear -Date: Tue Dec 13 12:29:30 2011 -0500 - - vos: refactor code - - change vos to remove lots of duplicated code for volume deletes and clones - - Change-Id: I1f39e857de6eefa0d8897e4eb8ece49e4a72f518 - Reviewed-on: http://gerrit.openafs.org/6253 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 2a4c6c3b9e1dc30d5599e67e02237a1aeef8a0f0 -Author: Andrew Deason -Date: Mon Feb 13 14:11:36 2012 -0600 - - Rx: Avoid lastBusy/PEER_BUSY discrepancy - - If an rx call has the RX_CALL_PEER_BUSY flag set, but the call's - conn->lastBusy is not set, we can easily cause an rx caller to loop - infinitely. rx_NewCall will see that lastBusy for a call channel is - not set, and will use that call channel, but rxi_CheckBusy will note - that the call appears busy and that there are non-busy call channels - on the same conn, and so will return RX_CALL_BUSY. - - This can currently happen in rxi_ResetCall, since we set - RX_CALL_PEER_BUSY on the call again if the call had that flag set when - rxi_ResetCall was called. If we are calling rxi_ResetCall with - 'newcall' set, the passed in call is unrelated to the new call, since - it was obtained from the free list. Thus, the busy-ness of the call - should be ignored. Fix this by only paying attention to the incoming - RX_CALL_PEER_BUSY flag if 'newcall' is not set. - - Also prevent this from happening by clearing RX_CALL_PEER_BUSY in - rx_NewCall when we select a call and clear lastBusy for that call. - - Change-Id: Ic5a4709854b62d962ed91ee0103c6cbdd735d175 - Reviewed-on: http://gerrit.openafs.org/6707 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 4b93c42513785d1094c5336b5c9cc4add1b89c5e -Author: Derrick Brashear -Date: Tue Dec 13 12:00:52 2011 -0500 - - vol: allow clones of readonly volumes - - allow writing of data where it's not user data we're changing - (e.g. allow a vnode to be marked cloned in the vnode index) - - Change-Id: If3338ab0474ddbfe895b705217d61c054c4cb696 - Reviewed-on: http://gerrit.openafs.org/6251 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit 641c67473615e80cfb8cf1e67636a82e42e5c899 -Author: Derrick Brashear -Date: Tue Dec 13 11:24:16 2011 -0500 - - volser: allow clonevol purge id to be new id - - effectively the same functionality that reclone already uses, but - for some reason we artificially limit it out of clone despite - the interface being there for it. it used to be there. put it back. - - Change-Id: I22868c41f8d3b920ba61d01e5334ff2320b38376 - Reviewed-on: http://gerrit.openafs.org/6250 - Tested-by: BuildBot - Reviewed-by: Alistair Ferguson - Reviewed-by: Derrick Brashear - -commit f1de04f3b35e91923efddca57e744b2138619223 -Author: Derrick Brashear -Date: Tue Dec 13 11:22:38 2011 -0500 - - volser: allow cloning non-rw volumes - - remove EROFS error which is the only thing preventing a working clone - on a non-RW. - - Change-Id: Ic3d4d07519188712e9a38267fc74ebd1eaef7d8a - Reviewed-on: http://gerrit.openafs.org/6249 - Reviewed-by: Jeffrey Altman - Reviewed-by: Alistair Ferguson - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 91d38b93566734734f559a84c38a09e5c7d530c0 -Author: Jeffrey Altman -Date: Sat Feb 18 19:57:25 2012 -0500 - - Windows: Dereg Lanman and Lsa reg values for afsredir - - If the machine has been upgraded from an AFS SMB Server to the - AFS Redirector, the registry will have leftover configuration - for the "AFS" netbios name in the Lsa BackConnectionHostNames - value and the LanmanWorkstation ReconnectableServers and - ServersWithExtendedSessTimeout values. These values are not - useful with the AFS Redirector since \\AFS is owned by afsredir.sys - and not the SMB redirector. Remove the "AFS" netbios name from - these values when afsd_service.exe has started in redirector mode. - - Change-Id: If8c100d3569595645c041ac58fedb1c835f9129f - Reviewed-on: http://gerrit.openafs.org/6737 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1cc8feb6fc7b8d551b343b276e40e023ab1dccbe -Author: Ken Dreyer -Date: Sat Feb 11 09:43:30 2012 -0700 - - doc: replace hostnames with IETF example hostnames - - There were several different real and made-up hostnames and company names used - throughout our documentation examples. - - The IETF has reserved "example.com" and other "example" TLDs for use in - examples (RFC 2606). Replace almost all references to ABC Corporation, DEF - Corporation, and State University, as well as "abc.com", "bigcell.com", - "def.com", "def.gov", "ghi.com", "ghi.gov", "jkl.com", "mit.edu", - "stanford.edu", "state.edu", "stateu.edu", "uncc.edu", and "xyz.com". - Standardize on "Example Corporation", "Example Network", "Example - Organization" (example.com, example.net, and example.org). - - The Scout documentation in the Admin Guide contains PNG images that contain - the old cell names, so I left those references until the images can be - replaced. - - Change-Id: I4e44815b2d2ffe204810b7fd850842248f67c367 - Reviewed-on: http://gerrit.openafs.org/6697 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d5bf33ec94b1ac1a6c08863bac39154f762f0810 -Author: Jeffrey Altman -Date: Fri Feb 17 22:21:00 2012 -0500 - - Windows: Explorer Shell Set Unix Mode bits - - The Unix Mode bits were not being saved. This patch permits - them to be saved. - - FIXES 130572 - - Change-Id: I6bf96c04115ee0f01e84b44b9efaacb578d95cbc - (cherry picked from commit 534d95ef90ac5e5ebf5deb227008e0b023e7ef8b) - Reviewed-on: http://gerrit.openafs.org/6734 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 168d730a6f227c9b9dce228314eb75aa76b8cddb -Author: Jeffrey Altman -Date: Fri Feb 17 10:37:34 2012 -0500 - - Windows: remove unnecessary DirectoryEnumEvent - - The DirectoryEnumEvent is not required to implement: - - AFSSetEnumerationEvent - AFSClearEnumerationEvent - AFSIsEnumerationInProgress - - The DirectoryEnumCount is modified by interlocked operations - and can be used as a marker for when an enumeration is in progress. - - Change-Id: I414ce2bc753b0fd60a3fac51c2cf3d264a32ab05 - Reviewed-on: http://gerrit.openafs.org/6725 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 780e497b32a927e008474a63b0427eca5d5a8877 -Author: Jeffrey Altman -Date: Thu Feb 16 23:50:18 2012 -0500 - - Windows: VolumeCB->ObjectInfoTree.TreeLock Deadlock - - AFSPrimaryVolumeWorkerThread held the VolumeCB->ObjectInfoTree.TreeLock - exclusively across calls to AFSCleanupFcb() which in turn triggers - a file extent release to the service which can in turn result in - an object invalidation. Processing the invalidation requires shared - access to VolumeCB->ObjectInfoTree.TreeLock which results in a deadlock. - - This patch alters the processing of AFSPrimaryVolumeWorkerThread - so that the VolumeCB->ObjectInfoTree.TreeLock is not held across - the AFSCleanupFcb() calls. - - FIXES 130431 - - Change-Id: I3726df02ab47d2dcc83a32c75957a5dafcfbf20e - Reviewed-on: http://gerrit.openafs.org/6724 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e5e9260c7936ce0b4d51855291421679acccaed4 -Author: Michael Meffie -Date: Thu Feb 16 10:58:50 2012 -0500 - - volinfo: initialize vnode details - - Clear the vnode details object. Fixes the path lookup in volscan. - - Change-Id: I5176cf50bdb54529230fc72e4d1a65a20b4c14ba - Reviewed-on: http://gerrit.openafs.org/6722 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a4d9fbaa8036cc78ae0119330314f6deab159c90 -Author: Derrick Brashear -Date: Mon Feb 13 16:11:19 2012 -0500 - - libafs: kill rxevent daemon even in upcall mode - - the switch from rxk listener env to upcall env could leave the event - daemon running. fix that. - - Change-Id: Ibe36e7473536c36a739c0ad1e18fcf6880c98021 - Reviewed-on: http://gerrit.openafs.org/6713 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 07d9b18e36fff6fc96c629ac2bebe8bb43f6b9dd -Author: Ken Dreyer -Date: Wed Feb 15 20:12:56 2012 -0700 - - doc: refer to aklog instead of klog - - klog (and kaserver) is deprecated. In generic examples, refer to the Kerberos - 5 equivalents. - - Change-Id: I95806a384686033fe2f03573017fc619c2a376c7 - Reviewed-on: http://gerrit.openafs.org/6721 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f38780b38d6097832b6d49453a0a47044bc06903 -Author: Jeffrey Altman -Date: Wed Feb 15 00:06:47 2012 -0500 - - Windows: disable afsdhook.dll reload by daemon - - The daemon thread's loading and unloading of afsdhook.dll every - second prevents the disk drive from sleeping and forces a search - of the PATH. Make the periodic reloading configurable and - disable it by default. - - Change-Id: I7e1a5b2bc7e1c4d4ea39fc30cf34c1195a326ed2 - Reviewed-on: http://gerrit.openafs.org/6715 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fcc8244095a9cfb5235b39afc25c8817167e895c -Author: Jeffrey Altman -Date: Tue Feb 14 21:52:28 2012 -0500 - - Windows: remove install9x rules - - Change-Id: I293f982d0f1466fd9bf213db055eedafc3c79977 - Reviewed-on: http://gerrit.openafs.org/6712 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 32de17264e229fca94742da7b6278536c24fe713 -Author: Jeffrey Altman -Date: Tue Feb 14 16:02:02 2012 -0500 - - Windows: remove AFS_WIN95_ENV - - No longer build for Win9x. Remove AFS_WIN95_ENV conditionals. - - Change-Id: I7082017a3aaa9a30723549974c4d8af50025b923 - Reviewed-on: http://gerrit.openafs.org/6711 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9a394780abb782f7a4f8b6095b6faf46b8e819a6 -Author: Jeffrey Altman -Date: Tue Feb 14 15:35:07 2012 -0500 - - Windows: add KTC_TOKEN_MUTEX_FAIL error code - - If acquisition of the Global\AFS_KTC_Mutex fails, return a - different error code from a pioctl failure since the pioctl - was never issued. - - Change-Id: I001227f87e97a06bf419c68d6579843e4f93f032 - Reviewed-on: http://gerrit.openafs.org/6710 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da17eb6c8619c0f781cd4601c0da1258043aa475 -Author: Jeffrey Altman -Date: Tue Feb 14 12:01:38 2012 -0500 - - Windows: avoid GetComputerNameW call for all ioctl - - Cache the value of GetComputerNameW() to avoid repeated calls - for each and every redirector ioctl request. - - Change-Id: I4476db982897a631510eba7d859385268b16ce34 - Reviewed-on: http://gerrit.openafs.org/6708 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 12e2a3abe7ca640a7cef2630039c06964f779f17 -Author: Andrew Deason -Date: Wed Feb 8 16:03:29 2012 -0600 - - RedHat: Fail openafs-client 'stop' on rmmod error - - Currently, the openafs-client RPM init script ignores any error - reported by rmmod. If 'umount /afs' succeeds but rmmod does not, the - client may panic the machine if the client is started again (from e.g. - running the 'restart' init script method), since afsd will try to - initialize AFS with a libafs that has been shut down. - - So, do not ignore errors from 'rmmod', and instead fail the 'stop' - method from the init script if we get an error. - - Change-Id: Id4a07703fb4df69ad3a6a3569c91e48f73a0d309 - Reviewed-on: http://gerrit.openafs.org/6709 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit aaab21e7a123ce701a8d5b2144032739fe177d6f -Author: Jeffrey Altman -Date: Sat Feb 11 22:14:23 2012 -0500 - - doc: fix AdminGuide - - The AdminGuide was broken by e99224f2fe049bc339e87c8b6c195de67dca2f08. - - Change-Id: I4fc67d36857d62b562092b9892636f3e4c6d6623 - Reviewed-on: http://gerrit.openafs.org/6703 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9d5a4530916a243632d911d78d93db676cd860d5 -Author: Jeffrey Altman -Date: Sat Feb 11 17:31:00 2012 -0500 - - Windows: default cell grand.central.org - - Change the default cell from openafs.org to grand.central.org - since there is no openafs.org cell. All openafs software is - distributed from the grand.central.org cell. - - Change-Id: I21ea2c5a9b55fbe3bb4ea19ae34ecf0e5a38084f - Reviewed-on: http://gerrit.openafs.org/6699 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8127eeced29beb43984de73b14ff55337103470c -Author: Jeffrey Altman -Date: Sat Feb 11 17:29:51 2012 -0500 - - Windows: reset version to 0.0.0 on master - - Master does not track a particular version number. - For Windows builds on master, reset the version to - 0.0.0 so that the builds are not confused with the actual - 1.5.7600. - - Change-Id: I3c84bb117418284de0d65e2a4069b88908b91659 - Reviewed-on: http://gerrit.openafs.org/6698 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5c4e49062af0e9b81b963d1d6e50c7cc52c68eb9 -Author: Jeffrey Altman -Date: Sat Feb 11 12:49:33 2012 -0500 - - Windows: AFSRemoveFcb() cannot race - - Modify AFSRemoveFcb to use InterlockedComparePointerExchange - to ensure that only one thread can remove and deallocate an - AFSFcb structure. - - Change-Id: I27d27b6a99806bee2fc2cfc04c2ac04d975a553d - Reviewed-on: http://gerrit.openafs.org/6696 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e99224f2fe049bc339e87c8b6c195de67dca2f08 -Author: Ken Dreyer -Date: Thu Feb 9 17:37:01 2012 -0700 - - doc: add section on direct volume access - - Provide examples of the direct volume access syntax, using the - fictitious example.com cell. - - Change-Id: Ia2ea592531e29f6b744d0bd6993d598d78a799c4 - Reviewed-on: http://gerrit.openafs.org/6691 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 42aba4391ab3fadca2103e1df1f47445e40c436e -Author: Jeffrey Altman -Date: Fri Feb 10 08:56:12 2012 -0500 - - Windows: Perform rename to self check earlier - - In AFSSetRenameInfo(), the rename to itself check was performed - after the name collision check. Move the check earlier in the - routine to ensure that we catch the no-op before any real work - is done. - - Change-Id: I580dd9958a259d4a1819c6bd882dae8067d2853d - Reviewed-on: http://gerrit.openafs.org/6692 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d6f977830c164ee079c68101595c28ff1847f88f -Author: Andrew Deason -Date: Tue Dec 20 17:44:42 2011 -0500 - - viced: Keep H_LOCK while locking host in h_Alloc_r - - Currently in h_Alloc_r, we h_Lock_r the host, so we have it locked on - return. However, h_Lock_r drops the host glock, which is bad in this - situation since we have already added the host to the global hash - table, so other threads may see it. This can mean that by the time - h_Alloc_r returns, the returned host may have HOSTDELETED set, and/or - the addresses associated with the host may be completely different. - - h_Alloc_r's caller, h_GetHost_r, seems to assume that the host is - still associated with the address of the passed-in connection. When - this is not true, this can result in the host structure getting into a - strange state, such as the primary addr/port may not be hashed. The - host may also have HOSTDELETED set, in which case we're not supposed - to be dealing with it at all. - - To avoid these problems, lock host->lock directly in h_Alloc_r, - without going through h_Lock_r and dropping H_LOCK. Also do it as one - of the first things we do to initialize the host, just to make sure - that if anybody else happens to see the host, it is locked by us when - they do. - - Change-Id: Ia99cb84ad94f3e143ed0bae33485a88d60ff5b27 - Reviewed-on: http://gerrit.openafs.org/6389 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 01301d0a5323a836efaae30cac325c25f6a7577a -Author: Marc Dionne -Date: Sun Jan 22 09:45:22 2012 -0500 - - viced: Allow null host for BreakCallBack - - For replication writes at the remote site, we will want to call - this without a host structure. - - Change-Id: I9cdef18f35229c9ab162cc07f6d60fe443204654 - Reviewed-on: http://gerrit.openafs.org/6674 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fb0d056c69489d76a5aad216277bf81ac3420aea -Author: Jonathan A. Kollasch -Date: Tue Feb 7 15:23:23 2012 -0600 - - libafsauthent, tvolser: fix objdir build - - Change-Id: I50c3424d61fc440f870207229a9540ebdb9a9632 - Reviewed-on: http://gerrit.openafs.org/6689 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c0ac71d92fda5c1cd451bd453b00983362f47ce7 -Author: Jeffrey Altman -Date: Tue Feb 7 15:56:12 2012 -0500 - - Windows: Release Notes corrections - - Add missing BlockSize registry value - - Correct AFSRedirector\NetworkProvider registry key description - - Add note that LanAdapter value is ignored if SMB mode is not in use. - - Change-Id: I449988f1f6841c1b254d73b08a6ee53ca2dbaeda - Reviewed-on: http://gerrit.openafs.org/6685 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8bc139b4acdd2c06643abb44d3f5b3bfdcbf639d -Author: Jeffrey Altman -Date: Mon Feb 6 12:00:58 2012 -0500 - - Windows: OpenAFS reparse points are surrogates - - OpenAFS reparse points represent mount points, symlinks, and dfs - referrals. All of which are file system objects that represent - another named entity in the system. As a result the reparse tag - field must include the Reparse Tag Surrogate bit (0x20000000) set. - - This permits the IsReparseTagNameSurrogate() macro provided in - winnt.h to be used to determine if the reparse point is a surrogate - or not. - - See - http://msdn.microsoft.com/en-us/library/windows/desktop/aa365197%28v=vs.85%29.aspx - - Change-Id: I2561823e23371c2fdf01941da99fe848ca1fa11d - Reviewed-on: http://gerrit.openafs.org/6668 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 58159672536df128cb21b449865acb011e8c90fc -Author: Marc Dionne -Date: Wed Jan 18 14:04:28 2012 -0500 - - RW Replication: Add basic definitions - - Add some basic definitions that will be needed to handle RW - replicas. - - A new volume type RWREPL is added. Replicas will share the same - volume ID as the RW volume, so the array of volume IDs by volume - type is unchanged, as is the VLDB entry format. - - A new flag bit ITSRWREPL/VLSF_RWREPLICA for serverFlags identifies - RW replica sites in VLDB entries. - - Change-Id: I882b238f34e682ebea782e11dc418ae1340d4546 - Reviewed-on: http://gerrit.openafs.org/6676 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit e93786b01b358dce419fa7f446cf154e6e40f5a0 -Author: Marc Dionne -Date: Tue Oct 4 17:47:48 2011 -0400 - - vol: remove OPENAFS_VOL_STATS - - OPENAFS_VOL_STATS has been unconditionally defined since the IBM days. - Adjust the code to assume it is set. - - Change-Id: I3b5ff99a469e6865ff1e10405a7f77d8c3890f59 - Reviewed-on: http://gerrit.openafs.org/5551 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 80592c53cbb0bce782eb39a5e64860786654be9f -Author: Andrew Deason -Date: Mon Feb 6 13:23:41 2012 -0600 - - Disable kernel opt by default on Solaris 10 and 11 - - With newer Solaris Studio (sometime in the 12.* series), cc started - adding SSE instructions to optimized x86 code, which is invalid for - kernel code and can generate panics. There appears to be no way to - turn this off currently (-xvector=%none is non-functional), so default - to not optimizing kernel code. - - Change-Id: I5fdedb11219df68e0146b8e0cee9010c2eb4067e - Reviewed-on: http://gerrit.openafs.org/6671 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3a621a8518f96e15a08448fecdfdb0cbce6a02c2 -Author: Andrew Deason -Date: Fri Feb 3 16:06:16 2012 -0600 - - Rx: Add missing rx_packet.h includes - - We no longer include rx_packet.h from rx.h, so rx_kcommon.h was not - picking up some packet-related definitions. Some files - (SOLARIS/rx_knet.c, IRIX/rx_knet.c) were using packet-related defines - (e.g. RX_HEADER_SIZE) while just including rx_kcommon.h. Include - rx_packet.h in those files to get the relevant definitions. - - Change-Id: Ib012f295d8e324dd8b38eb0b89933eac392a9583 - Reviewed-on: http://gerrit.openafs.org/6670 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit dc6beb3ea29a64bcf59807fd451a573aa54e1122 -Author: Andrew Deason -Date: Thu Feb 2 17:35:52 2012 -0600 - - SOLARIS: Use kcred instead of afs_osi_cred - - For many vfs ops to the cache, we currently pass &afs_osi_cred for our - credentials, which is a mostly zeroed-out credential structure. In - some modern versions of Solaris (Solaris 11), at least some parts of - this structure need to not be NULL (cr_zone), or we will panic. - - The Solaris kernel provides a 'kcred' credentials structure for the - purpose of using "kernel" credentials for i/o. So just use that - instead, since kcred has existed at least since Solaris 8. - - Change-Id: Ia5252580d2de6dd7adfa1a1929148362d1da6360 - Reviewed-on: http://gerrit.openafs.org/6669 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 39d152810de9adfa89acb994506d0b9d368395f2 -Author: Jeffrey Altman -Date: Sat Feb 4 17:26:02 2012 -0500 - - Windows: Avoid race during PIOCtl DirNode allocation - - Use InterlockedCompareExchangePointer to assign the DirNode to - ObjectInfo->Specific.Directory.PIOCtlDirectoryCB. Otherwise, - one thread could race with another thread when allocating the - pioctl object. - - Change-Id: Ic5b1a0ff2e44f2c4520cc7f5e536bd876bc83a65 - Reviewed-on: http://gerrit.openafs.org/6661 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b819d3e3abcfedf10a1c91a26f45d0d85e6b93f1 -Author: Jeffrey Altman -Date: Sat Feb 4 12:48:24 2012 -0500 - - Windows: Hold Fcb references prior to service call - - If the Fcb reference count hits 0 while the service is called - it is possible that the Fcb can be garbage collected prior to - the completion of the call. - - Change-Id: I32c3c5e3debb246fe63ac6f6cc5625b493ee47a9 - Reviewed-on: http://gerrit.openafs.org/6660 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit deb41441f0671d46de876d30f641f86cca7d256e -Author: Jeffrey Altman -Date: Sun Feb 5 12:58:22 2012 -0500 - - Windows: Do not build NSIS by default - - NSIS installers are no longer up to date and do not support 64-bit - builds. OpenAFS no longer distributes them for 1.7 and beyond. - Stop building them by default. - - Change-Id: I6b8c2b46ccc30654cfb4661c9bde50483bc99785 - Reviewed-on: http://gerrit.openafs.org/6664 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 339189c88ba9c6bc7e4ea6434acef0b96da24dae -Author: Jeffrey Altman -Date: Fri Feb 3 11:35:33 2012 -0500 - - Windows: add buf_InvalidateBuffers - - Add a utility function that invalidates all buffers for a - cm_scache_t object. - - Change-Id: Ib10139fb2aefa03d597d5afd494652fade40432e - Reviewed-on: http://gerrit.openafs.org/6651 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 865f2442e682ff71b28a6b21363de8262f9e2bd1 -Author: Jeffrey Altman -Date: Fri Feb 3 11:21:45 2012 -0500 - - Windows: fix cm_DirOpDelBuffer assert - - In cm_DirOpDelBuffer() the data version field for a buffer - in cm_dirOp_t.buffers[] can be CM_BUF_VERSION_BAD if the buffer - was added to the buffer list but was never fetched from the file - server. If the buffer was recycled by buf_Get() an attempt to - remove an entry from the directory will be failed as opposed to - fetching the buffer from the file server and performing the local - removal. - - Change-Id: Id9af5180f2176c2a90ef9907ae84139e66ffe5d6 - Reviewed-on: http://gerrit.openafs.org/6650 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 25142a9c2db933607507ee20e20216c635465d6d -Author: Jeffrey Altman -Date: Fri Feb 3 11:17:40 2012 -0500 - - Windows: buffer DV ranges do not work for directories - - In cm_MergeStatus, always set cm_scache_t.bufDataVersionLow - to the new data version because the cm_dir package does not - support version ranges. All modified dir buffers have their - dataVersion field set to the current data version value. - - Failure to update the bufDataVersionLow field can result in - B+ Trees being constructed from out of date directory information. - - Change-Id: Ic6bb6f78275de9c6c7960f2fc7c06c507b1144c1 - Reviewed-on: http://gerrit.openafs.org/6649 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 09ab91bf9d27258c126411d4c80e5363118b7bba -Author: Jeffrey Altman -Date: Fri Feb 3 11:16:04 2012 -0500 - - Windows: update btree debugging code - - B+Tree key strings were changed to wchars for unicode support, - the debugging printf format patterns were not updated to match. - Do so now. - - Change-Id: I70619d2e3fbc007f3f21eaf56cc5d61503203818 - Reviewed-on: http://gerrit.openafs.org/6648 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4224dc5c281ffc2bf8dd34eadb76762304eece75 -Author: Jeffrey Altman -Date: Fri Feb 3 11:14:50 2012 -0500 - - Windows: Do not open file if shutdown in progress - - Perform the shutdown check earlier in AFSCommonCreate() to prevent - a request from being processed after the service indicates that - a shutdown has begun. - - Change-Id: I8959141b5e2161ffe960e93a500b1153d9594a28 - Reviewed-on: http://gerrit.openafs.org/6647 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 209df87d08fb07d9641b81858a0821b9fd95dbcc -Author: Jeffrey Altman -Date: Tue Jan 31 22:34:30 2012 -0500 - - Windows: AFSRedir DebugFlags Turn on BugCheck - - Turn on bug checking by default via the installation. - This permits sites to disable the functionality but will allow - us to capture more meaningful minidump output. - - Change-Id: I62b6d0ce5deed2c8798c9afb09565a8846c32a8c - Reviewed-on: http://gerrit.openafs.org/6646 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fe952116f3f0968e6c9f584297bafd3e8dd56903 -Author: Jeffrey Altman -Date: Tue Jan 31 15:51:34 2012 -0500 - - Windows: Improve AFSNotifyDelete - - Do not call AFSNotifyDelete after the reference count on the - DirEntry->ObjectInformation is given up. - - Log the Parent FID and file name since that is what are passed - to the service to perform a delete. Log the actual FID of the - object being deleted and not the address of the FID fields. - - Change-Id: Ic02e2cec625258356d1b08e03a02a7a9c4eb4ce7 - Reviewed-on: http://gerrit.openafs.org/6645 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9a1d7518b62f43586f4d228f9261adb0fac4f5a4 -Author: Jeffrey Altman -Date: Tue Jan 31 15:49:22 2012 -0500 - - Windows: do not lower case direct volume references - - Not all volumes are lower case. Do not lowercase the string. - - Change-Id: Icb5f5ee9865bd856775486dffb1849f17f9b23f7 - Reviewed-on: http://gerrit.openafs.org/6644 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ef63547e955edc60e2d074ef825b091e1c43882e -Author: Tom Keiser -Date: Wed Feb 1 03:31:23 2012 -0500 - - com_err: correctly deal with lack of libintl - - On machines lacking a libintl, _intlize() currently fails to initialize - the output error string--leading to tools (e.g., translate_et) returning - a null string; make afs_com_err fall back to returning the en/US canonical - error text when we don't have any i18n support... - - Change-Id: I333745fb0a16e5bc9adb0755591d80de010d4d31 - Reviewed-on: http://gerrit.openafs.org/6638 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 20e82cecd9008f9b3467c9a323c5c3abf27f3021 -Author: Christof Hanke -Date: Sun Jan 29 18:08:57 2012 +0100 - - linux: fix probing for noop_fsync - - Commit 267934d0e6910c8d8166a6e78f93c1bab40857b8 introduced - probing code to deal with the renameing of simple_fsync - inside the linux-kernel. - This test does not take different parameter-lists - for noop_fsync or simple_fsync resp. into account. - Fix this. - - Change-Id: Ib490f0bb7e8098acc83fce001a43c08f478ad582 - Reviewed-on: http://gerrit.openafs.org/6628 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 87049b873b08ddd2246c02cd66099940eae2b1fd -Author: Jeffrey Altman -Date: Sun Jan 29 16:46:22 2012 -0500 - - man-pages: add fs_getverify and fs_setverify - - Add man pages for two new Windows only commands - - fs getverify - fs setverify -verify {on, off} - - Change-Id: Id784608fba35147a4e33f22e43c7cd50a2307b9e - Reviewed-on: http://gerrit.openafs.org/6632 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 7b3f5df6dca09a15d56aae5c431a50529c119db2 -Author: Jeffrey Altman -Date: Sun Jan 29 14:41:06 2012 -0500 - - Windows: do not panic if afsredir not ready during shutdown - - Change-Id: I0de6ad0f799e2acf1c02c6d53cfd9b1b437328fc - Reviewed-on: http://gerrit.openafs.org/6630 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5e08628da2c24b40aeedebe0fef4e6ddd4690904 -Author: Jeffrey Altman -Date: Sun Jan 29 10:39:28 2012 -0500 - - Windows: Increase size of worker thread pools - - The size of the afs redirector worker thread pools should be - made configurable but for now just increase the pool size to - be in parity with the default worker pool created by the - afsd service. - - Change-Id: Ib3c9356783162620112041582fa3d9dbaf8fce37 - Reviewed-on: http://gerrit.openafs.org/6627 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0f65600b675e641575efaf81a71db990cebbb7d3 -Author: Jeffrey Altman -Date: Sun Jan 29 10:37:50 2012 -0500 - - Windows: Run Workers until empty task queue - - Do not allow a worker thread to sleep until the task queue is - empty. It is better for the running thread to pick up and process - a task then to sleep this thread and wait for another one to wake - up to perform the work. - - Change-Id: I776bb9408ab054b045acb9bc003b88436cc4266b - Reviewed-on: http://gerrit.openafs.org/6626 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 55af3387ef90053a10b012ffe7ae1ebee7575e01 -Author: Jeffrey Altman -Date: Sun Jan 29 00:22:03 2012 -0500 - - Windows: Release Notes for 1.7.5 - - Release notes updates for 1.7.5. - - Change-Id: Ie44441150fc077cc4ca7924c67322a1aed4cb9af - Reviewed-on: http://gerrit.openafs.org/6624 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit de4d12dd5366bfddb6fde5bb050ce8fbaeb95f1a -Author: Jeffrey Altman -Date: Fri Jan 20 14:43:06 2012 -0500 - - Windows: Stop the thundering herd - - The afs redirector used notification events to wake up worker - threads when a task was added to a work queue. Notification - events when signalled wake up all threads instead of just one. - - Instead, use synchronization events to wake up a single thread at - a time and restructure the code to permit workers to wake up - additional workers if there is additional work to be performed - or during library shutdown. - - Thanks to Peter Scott for his assistance. - - Change-Id: I0fb9d8578035f606f03170622fc9c50a1dbfee3a - Reviewed-on: http://gerrit.openafs.org/6595 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1161d5fc3cde5e15cb2d13f01ff225710fc04766 -Author: Jeffrey Altman -Date: Wed Jan 25 11:27:39 2012 -0500 - - Windows: DriveSubstitution handle too small buffer - - If the buffer passed to DriveSubstitution is too small the - resulting file path will end up being truncated. At the very - least log the fact that truncation is occurring. In addition - return the fact that truncation occurred to the caller. - - In NPGetUniversalName allocate a 4K buffer on the heap instead - of calculating a buffer based on the local name buffer size. - The local name buffer size has no relationship with the required - buffer size for the expanded unc or device path. - - FIXES 130548 - - Change-Id: I86fbb9db4aa6a438dbb5e793678ec52283d5546b - Reviewed-on: http://gerrit.openafs.org/6618 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 3d10edc2d49e0e1c7a7a67c538a932347a91504c -Author: Jeffrey Altman -Date: Tue Jan 24 17:09:01 2012 -0500 - - Windows: Invalidate all volumes at library init - - The afsredirlib.sys library driver is unloaded when the afsd_service - stops and is reloaded when the afsd_service restarts. During the - shutdown window any objects known to the kernel are preserved by - afsredir.sys. When the afsd_service restarts, there are no valid - callbacks on any objects so the afsredirlib.sys must invalidate all - status info to permit the service to request a callback from the - file server on next use. - - Change-Id: I3e8fa9513f435ff5cd1a8cfb8daa766aa30dd8c1 - Reviewed-on: http://gerrit.openafs.org/6617 - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e44163a5470c6a9ff766641e4ce1ade6569cbadb -Author: Jeffrey Altman -Date: Tue Jan 24 12:52:12 2012 -0500 - - Windows: Refactor and consolidate afsredir invalidation - - Invalidation requests were being processed in an inconsistent - manner because different rules were being applied to volume root - directories and other objects and whether or not the invalidation - was a whole volume invalidation or not. - - This patchset consolidates all invalidation logic for an object - in the new AFSInvalidateObject function. AFSInvalidateObject - is then called from AFSInvalidateCache and AFSInvalidateVolume - as necessary. - - AFSInvalidateVolume executes AFSInvalidateObject on all objects - in the volume object tree. As a result, whole volume invalidations - whether triggered by the file server or "fs flushvolume" now work. - - Change-Id: I83f110b0987eb153794b6803a1fe48247090277f - Reviewed-on: http://gerrit.openafs.org/6616 - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e0eb5405a8fab142be26375f8daa87621d20cbe9 -Author: Marc Dionne -Date: Sun Jan 22 21:21:51 2012 -0500 - - vlserver: Consolidate VLDB entry server flag definitions - - Group the definitions of server flags for VLDB entries in one place, - and rename VLSERVER_FLAG_UUID to make its name consistent with the - other flags. - This makes it easier to see the complete set of flags and avoid - conflicts. - - Change-Id: I3b326e3d97bc297c0314cfc48f0a066c3ff0415e - Reviewed-on: http://gerrit.openafs.org/6615 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ca0fdd84a4311628b8310be66c62aaec51c86d4d -Author: Simon Wilkinson -Date: Mon Nov 7 09:48:14 2011 +0000 - - viced: Remove the LWP fileserver - - *) Remove all LWP specific code from the fileserver, and make pthread - the default - *) Build the pthreaded fileserver in the 'viced' directory, rather than - in tviced - *) Move the DAFS specific files from tviced to viced (arguably, these - should move into dviced, but there are currently no source files in - that directory) - *) Remove tviced from the build - - Change-Id: I6e186c9fad6d9dccd04cf1317a80c087587ef25f - Reviewed-on: http://gerrit.openafs.org/5816 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 40bf6dee2409197f7494c3d09bf2dea7c248d185 -Author: Andrew Deason -Date: Fri Jan 13 13:43:16 2012 -0500 - - vol: remove SYNC fatal_error processing - - Currently SYNC clients will "disable" themselves on certain error - patterns. For example, if the server end closes its file descriptor - too many times, or takes too long and then closes the fd, the SYNC - client will return an error and set fatal_error. On any subsequent - SYNC requests, the request will immediately fail without contacting - the server, often making SYNC client programs effectively useless - until they are restarted. - - There isn't really any reason to cause future requests to fail. - Transient problems in the fileserver can easily make this situation - possible (e.g. a fileserver can crash but still take several minutes - to close the SYNC fd while the core is written to disk), and so while - we may return an error for a specific problematic request, future - requests may be fine. - - So, just remove everything related to fatal_error, so future SYNC - requests can continue to be attempted. Adjust some log messages to - reflect the new behavior. - - Change-Id: I4b8bfe53f591a9e8541cd5a98c909208df5bcbac - Reviewed-on: http://gerrit.openafs.org/6548 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cd1f72649650404581cfcdcf3beeeaf2bb960bd6 -Author: Derrick Brashear -Date: Thu Jan 12 16:48:54 2012 -0500 - - libafs: add replicated connection pool - - keep pool of connections to use for replicated volumes, - so we can have a separate idle time setting - - Change-Id: I61ed62c652c924b33fde920fac766c4ca0043826 - Reviewed-on: http://gerrit.openafs.org/6546 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a9803ae643b070b8c805cf94b4ac3205ba8668b1 -Author: Jeffrey Altman -Date: Sun Jan 15 11:43:40 2012 -0500 - - Windows: make lock reader history debug only - - The lock reader history on osi_rwlock is proving to be too - expensive. Only use it for DEBUG builds. Leave the data - structures the same so that DEBUG builds can be mixed with - a RELEASE build of afsd_service.exe. - - Change-Id: If0eeddb63c8f9919cdb5e119f31cde77974447b6 - Reviewed-on: http://gerrit.openafs.org/6559 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dfd0c2acc103cd2881bbfecd923c05012001e12a -Author: Jeffrey Altman -Date: Sun Jan 22 18:42:32 2012 -0500 - - Windows: store data verification mode - - Over the lifetime of OpenAFS a number of bugs have been discovered - that can result in data corruption. This new mode (Windows only) - will double check that the data received by the file server does - in fact match the data that was written by the cache manager. - - After a successful StoreData and status merge but before the BIOD - is released, a fetchdata is issued to read the data written by the - cache manager. If the data fails to match, the StoreData operation - is repeated. - - Data verification mode can be queried with "fs getverify" and set - with "fs setverify {on, off}". The default value can be set with - the TransarcAFSDaemon\Parameters DWORD "VerifyData" registry value. - - By default verification is disabled. - - Change-Id: Ic99c1692e6e78790e65ae600c3e428a79df59370 - Reviewed-on: http://gerrit.openafs.org/6601 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1474b4a739c60f96a8d2e38546778ab9572c138d -Author: Jeffrey Altman -Date: Sun Jan 22 18:38:49 2012 -0500 - - Windows: VIOC_GETUNIXMODE = smb_IoctlGetUnixMode - - VIOC_GETUNIXMODE pioctl should execute smb_IoctlGetUnixMode not - smb_IoctlSetUnixMode. - - Change-Id: Ia7dc3e1a82d7d14810f743f50ff7666f13ba8afc - Reviewed-on: http://gerrit.openafs.org/6600 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 898930fc3ca81a5e5dde31967c00cdf5f4734ffa -Author: Jeffrey Altman -Date: Sun Jan 22 18:37:14 2012 -0500 - - Windows: fix fs setcrypt help message - - Options are on, auth, and off. - - Change-Id: I671df4233801f39482b8cac096e89fa38955a852 - Reviewed-on: http://gerrit.openafs.org/6599 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 111de76ea8dac713247c99ebe2182ae16cc0a3c0 -Author: Jeffrey Altman -Date: Sun Jan 22 18:33:43 2012 -0500 - - Windows; release BIOD after status merge - - Releasing the BIOD permits the accumulated buffers to be accessed. - Releasing the BIOD before the cm_MergeStatus() call creates a - window where the buffer data version is larger than the cm_scache - data version. Release the BIOD after the status merge. - - Change-Id: I023413cd41fbbd2d844d79a3b29c087792fffa24 - Reviewed-on: http://gerrit.openafs.org/6598 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 05f3a0d1e0359f604cc6162708f3f381eabcd1d7 -Author: Derrick Brashear -Date: Thu Jan 5 17:19:45 2012 -0500 - - viced: disable rx keepalives during disk io - - when we are going to hit the backend storage, disable keepalives. - the net effect of this is that no idle dead time is needed; instead, - the normal dead time will result in a connection with no activity - simply dying naturally if i/o blocks forever. - - it's important that keepalives be enabled during callback breaks, - so that is done. - - Change-Id: I1a7bfe0bc62a092ca7dd6dbc4710f1b8254ca9a1 - Reviewed-on: http://gerrit.openafs.org/6515 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6e85044efe1305cec56a2589e096eca7d8a1053a -Author: Jeffrey Altman -Date: Fri Jan 20 20:10:51 2012 -0800 - - Revert "Windows: disable memory extent interface" - - This reverts commit 503bc56403baf741a4a7056a4077edc43812b9d1 - - Change-Id: I9e40787ecd0833370a86486fab6644667e03aa3b - Reviewed-on: http://gerrit.openafs.org/6603 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 44261b25648a419abbc61b2a9d2d3f0373428080 -Author: Marc Dionne -Date: Tue Oct 4 17:35:18 2011 -0400 - - viced: remove FS_STATS_DETAILED - - FS_STATS_DETAILED has been unconditionally defined since the IBM days. - Adjust the code to assume it is set. - - Change-Id: If7fb913bbb42dba5d749e7c30b8d9b7d81e4b4f8 - Reviewed-on: http://gerrit.openafs.org/5550 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 9056d09887c84a480e0a9ee3457a9469fbb97064 -Author: Jeffrey Altman -Date: Tue Jan 17 19:46:30 2012 -0500 - - Windows: failover and retry for VBUSY - - When a file server returns the VBUSY error for an RPC the - cache manager records the 'srv_busy' state in the cm_serverRef_t - structure binding that file server to the active cm_volume_t - object. The 'srv_busy' was never cleared which prevents the - volume from being accessed. - - Clear the 'srv_busy' flag whenever cm_Analyze() receives a - CM_ERROR_ALLBUSY error which means that all replicas have - been tried or whenever the error is not VBUSY or VRESTARTING. - - FIXES 130537 - - Change-Id: I5020198e4f0ded1df0f64e228e699852f9de7c4d - Reviewed-on: http://gerrit.openafs.org/6563 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f768fb95f3eb3815d6225e074c43341ed2ad5347 -Author: Jeffrey Altman -Date: Fri Nov 25 09:28:18 2011 -0500 - - Windows: improved idle dead time handling - - RX_CALL_IDLE has been treated the same as RX_CALL_DEAD which is - a fatal error that results in the server being marked down. This - is not the appropriate behavior for an idle dead timeout error - which should not result in servers being marked down. - - Idle dead timeouts are locally generated and are an indication - that the server: - - a. is severely overloaded and cannot process all - incoming requests in a timely fashion. - - b. has a partition whose underlying disk (or iSCSI, etc) is - failing and all I/O requests on that device are blocking. - - c. has a large number of threads blocking on a single vnode - and cannot process requests for other vnodes as a result. - - d. is malicious. - - RX_CALL_IDLE is distinct from RX_DEAD_CALL in that idle dead timeout - handling should permit failover to replicas when they exist in a - timely fashion but in the non-replica case should not be triggered - until the hard dead timeout. If the request cannot be retried, it - should fail with an I/O error. The client should not retry a request - to the same server as a result of an idle dead timeout. - - In addition, RX_CALL_IDLE indicates that the client has abandoned - the call but the server has not. Therefore, the client cannot determine - whether or not the RPC will eventually succeed and it must discard - any status information it has about the object of the RPC if the - RPC could have altered the object state upon success. - - This patchset splits the RX_CALL_DEAD processing in cm_Analyze() to - clarify that only RX_CALL_DEAD errors result in the server being marked - down. Since Rx idle dead timeout processing is per connection and - idle dead timeouts must differ depending upon whether or not replica - sites exist, cm_ConnBy*() are extended to select a connection based - upon whether or not replica sites exist. A separate connection object - is used for RPCs to replicated objects as compared to RPCs to non-replicated - objects (volumes or vldb). - - For non-replica connections the idle dead timeout is set to the hard - dead timeout. For replica connections the idle dead timeout is set - to the configured idle dead timeout. - - Idle dead timeout events and whether or not a retry was triggered - are logged to the Windows Event Log. - - cm_Analyze() is given a new 'storeOp' parameter which is non-zero - when the execute RPC could modify the data on the file server. - - Change-Id: Idef696b15a8161335aa48907c15a4dc37f918bdb - Reviewed-on: http://gerrit.openafs.org/6118 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit c7673f4fad8e8b9390564e3cbfa11d5f1b52ba2f -Author: Jeffrey Altman -Date: Mon Nov 28 12:58:02 2011 -0500 - - rx: RX_CALL_IDLE and RX_CALL_BUSY - - Allocate new Rx error codes for Idle and Busy calls but do not - send these errors on the wire. They are only intended for local - use. - - RX_CALL_IDLE is an indication to an application that requests it - that the rx peer is maintaining an open call channel but has not - sent any actual data for the length of the registered idle dead - timeout. - - RX_CALL_BUSY is an indication to an application that requests it - that the rx peer believes the selected call channel is in use by - a pre-existing call. - - When either RX_CALL_IDLE or RX_CALL_BUSY are assigned as the call - error and an abort must be sent to the rx peer, the errors are - translated to RX_CALL_TIMEOUT. This is necessary because it is - not possible to add new Rx error values in a method that is safe - for peers that are not expecting them. - - This patchset also documents which Rx errors defined in rx.h are - used on the wire and which are not. - - The Unix and Windows cache managers are updated to build with - these new error codes. - - Change-Id: Ib236f27b88d503c68134534bb069e12dd83537d8 - Reviewed-on: http://gerrit.openafs.org/6128 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f6828bd9f158870002e8eeeb2325a40eb7ca5041 -Author: Peter Scott -Date: Wed Jan 18 18:42:19 2012 -0700 - - Windows Asynchronous purging of file content after a DV change - - Purge all regions of the file surrounding the extents which are to be - purged. If a failure occurs on the purge due to an existing mapping, flag - for purge during handle close - - Change-Id: Id8ef81afaa614ea08e03bbd55ec2cdded0d7139f - Reviewed-on: http://gerrit.openafs.org/6573 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 22cba8e9702f3673c335bf834a9ee2c5e5fd9b6e -Author: Jeffrey Altman -Date: Thu Jan 19 15:25:44 2012 -0500 - - Windows: cm_buf refcnt must hold buf_globalLock - - An assertion in buf_Recycle() was being triggered when a cm_buf_t - object was supposed to be in the free buffer list but wasn't. - buf_Recycle() was racing with another thread. The test for - refCount == 0 was performed while holding the buf_globalLock - exclusively but the InterlockedDecrement(refCount) in buf_Release() - was performed without holding buf_globalLock at all. buf_globalLOck - must be held at least as a read lock. Otherwise, the refCount can - reach 0 prior to the thread blocking for exclusive access to the - buf_globalLock. This provides buf_Recycle() which is holding - buf_globalLock the opportunity to race. - - The solution is to make sure that buf_Release() always holds - buf_globalLock as a read lock and then use buf_ReleaseLocked() - to perform the actual decrement and test. - - Change-Id: Ieb67548a7e44fa5f06f9346f428b1edadfc80696 - Reviewed-on: http://gerrit.openafs.org/6576 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 201c954a36fe6ec19f96e4c8e24e6e080c3ba55a -Author: Jeffrey Altman -Date: Thu Jan 19 01:21:02 2012 -0500 - - Windows: Redesign daemon thread queue management - - The daemon thread worker pool has some very poor properties. - The threads spend a significant amount of time polling for - ready to process tasks because so frequently a store/fetch data - request is accompanied by many other requests for the same FID - that would block. - - Lets try a new approach. Create one queue for each worker thread - and assign the tasks to a thread by a hash of the FID. This ensures - that all tasks for a single FID are serialized and prevents multiple - threads from attempting to perform the same task only to decide that - the thread would be forced to block. - - Change-Id: I1d00ba0df1aa646e05b2cb3cb0796629f2e6d233 - Reviewed-on: http://gerrit.openafs.org/6575 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit afeb3c3a83ed0869e4a70b0725e3f85713330c3a -Author: Jeffrey Altman -Date: Tue Jan 17 19:43:54 2012 -0500 - - Windows: prevent race assigning Fcb in AFSInitFcb() - - AFSInitFcb() is executed when the ObjectInformation->Fcb pointer - is NULL. More than one thread can make that determination at the - same time. Use InterlockedCompareExchangePointer() to detect - a race and permit cleanup to be performed. - - Remove the output parameter of AFSInitFcb() to avoid a double - assignment. - - Change-Id: I3870cccd5cd5e95134446523cce3547a2135d5e3 - Reviewed-on: http://gerrit.openafs.org/6562 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 503d09413add1831dff5db24ee907eec59eda9e2 -Author: Jeffrey Altman -Date: Sat Jan 14 10:32:51 2012 -0500 - - Windows: cm_EndCallbackGrantingCall refactoring - - Refactor cm_EndCallbackGrantingCall to prevent assigning a - callback to the cm_scache object in the case where it is going - to be discarded. If the race was lost the callback data was - already discarded by cm_RevokeCallback. By assigning and then - discarding we are forced to issue an additional change notification - to the smb client or afs redirector. Not only is this extra work - but the afs redirector notification can result in a deadlock with - a kernel thread that is waiting for the current thread to complete. - - modify the function signature to return whether or not a race - was lost with a callback revocation. - - rename 'freeFlag' to 'freeRacingRevokes' since that is what - the flag is meant to indicate. - - create a new 'freeServer' flag to indicate when the server - reference should be released. There was a leak of server - references when a race occurred. - - modify all calls to cm_EndCallbackGrantingCall() that provide - an AFSCallBack structure on input to check for a lost race. - If a race occurs, cm_MergeStatus() should not be performed. - - Change-Id: Ib17091ed51a24826bf84d33235125b3ccbbe47d4 - Reviewed-on: http://gerrit.openafs.org/6556 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d9884a480c96d14a3e5a6b08cde5e5003d7a4694 -Author: Jeffrey Altman -Date: Sun Jan 15 11:08:23 2012 -0500 - - Windows: deadlock bet. DirEntry lock + DirectoryNodeHdr.TreeLock - - The DirectoryNodeHdr.TreeLock must be obtained before the - DirEntry->NonPaged->Lock. In AFSLocateNameEntry(), the - DirEntry lock is obtained before the TreeLock when processing - a symlink object. For that case obtain the TreeLOCK first. - Drop it if it is not required. - - Change-Id: I5b73f98b4bc7fcd5c02b8f255fa2423b52eb4a4d - Reviewed-on: http://gerrit.openafs.org/6558 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 2fa7f36f74adc9a40a6b7c7ac5b5ea528733e0dc -Author: Peter Scott -Date: Wed Jan 18 12:04:29 2012 -0700 - - Windows: Correctly mark extents dirty when using the non-persistent AFS - cache - - Change-Id: I9e03264bb94fe6494f1ca3721e4d7c7faf469fb5 - Reviewed-on: http://gerrit.openafs.org/6571 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3cf5064c91af5efb5e2be80fb59db43b674d467a -Author: Peter Scott -Date: Wed Jan 11 06:49:23 2012 -0700 - - Windows: Performing async work after cache invalidation - - The code now queues a work item to perform additional work on extent - processing after a cache invalidation has occurred. This additional work - involves walking the current list of extents and purging/flushing regions of - the system cache based upon the current state of the extent. - Additional changes to filter which invlidation events result in a queued - worker to perform asynchronous work. - - Change-Id: I72e4e0bac2caf69e41a095ce8fc4c2e083702b5c - Reviewed-on: http://gerrit.openafs.org/6528 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6fda61ba2e2290dac818b42440fac1346d05b73d -Author: Marc Dionne -Date: Wed Jan 18 10:06:36 2012 -0500 - - Parallel build fixes - - Assorted fixes for issues seen with parallel builds: - - bucoord must depend on butm, since it uses libbutm - - for most object files in roken and hcrypto, headers must be installed - before building - - remove rules with 2 targets in rxkad and ubik - - budb: add dependencies for db_dump.o - - Change-Id: Ide05f223c2f1fe53bff33cb03011ca47bf741c80 - Reviewed-on: http://gerrit.openafs.org/6568 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit beafc7f742ebad021bfcbed73884aecedee4e04b -Author: Marc Dionne -Date: Wed Jan 18 11:22:35 2012 -0500 - - Linux 3.3: use umode_t for mkdir and create inode ops - - The mkdir and create inode operations have switched to using - umode_t instead of int for the file mode. - - Change-Id: Ib8bbf6eaa6e87d6a9692c45b1a3fe93fcc3eff7a - Reviewed-on: http://gerrit.openafs.org/6567 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 64bd0b728ca95ba7bb4f1fdd909386fde3ce81e1 -Author: Marc Dionne -Date: Wed Jan 18 10:25:03 2012 -0500 - - Linux: use standard macro for set_nlink configure test - - A generic macro exists to test for functions in the kernel, use - it for set_nlink. - - Change-Id: Iaec2b29e48f500bcf7a1ef80a3f2a1305e5dbb8f - Reviewed-on: http://gerrit.openafs.org/6566 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 60df98806b1aaf6ea4ba8f089faf8e9247b2fba5 -Author: Derrick Brashear -Date: Tue Jan 17 16:08:56 2012 -0500 - - volinfo: fix formating of placeholder printfs - - needed to placate gcc-llvm on lion - - Change-Id: Ie15e4768d2e3feb7ad80dfef05395f2c4a227c0f - Reviewed-on: http://gerrit.openafs.org/6565 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6ad3d646e62801cb81a3c9efeac320daa44936e1 -Author: Marc Dionne -Date: Tue Jan 17 20:19:54 2012 -0500 - - rx: Correctly test for end of call queue - - The intention of this condition is to check if the current call - being considered is the last one on the queue, but the test is - incorrect. A null next pointer indicates a removed item, not - the end of the queue. - - Use the queue_IsLast macro instead to correctly determine that - this is the last item in the queue and that a call has to be - selected, either the current one or a previously seen good choice. - - This can cause calls to get permanently stuck in the call queue - and never get assigned to a thread, even when all threads are - idle. - - Change-Id: Ie44a45734ab25bd3d2be3635c2e8f05857ca935e - Reviewed-on: http://gerrit.openafs.org/6564 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 20151a869911a98f0938d74ae6096f3308d7ec01 -Author: Jeffrey Altman -Date: Sat Jan 14 10:44:56 2012 -0500 - - Windows: disable memory extent interface - - There have been reports that the memory extent interface which - is used when NonPersistentCache is active can lead to data corruption. - - Change-Id: I3a8acae0648a67534e46c73ef1dcbf7f939a558d - Reviewed-on: http://gerrit.openafs.org/6557 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 69196e41ec9c5a6ce8efd370fb8582f66667bcf7 -Author: Jeffrey Altman -Date: Sat Jan 14 10:31:01 2012 -0500 - - Windows: restrict service to 2 cpus by default - - Performance drops off considerably when the number of processors - increases due to lock contention and the cm_SyncOp wait processing. - If the MaxCPUs registry value is not set, limit ourselves to two. - Setting MaxCPUs to zero permits use of all CPUs. - - Change-Id: I4bae328ed589811b0ea2a514501a0c1aa74e8015 - Reviewed-on: http://gerrit.openafs.org/6555 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7ae2c0df3373bdce129694efaf8d0097bab606da -Author: Jeffrey Altman -Date: Fri Jan 13 23:58:50 2012 -0500 - - Windows: AFS_SERVER_FLUSH_DELAY AFS_SERVER_PURGE_DELAY - - Alter the flush delay to 5 seconds from 30 seconds - - Alter the purge delay to 300 seconds from 5 seconds - - Change-Id: I3f8e79d84582c4015e35d58cf1bedc9a023c0d73 - Reviewed-on: http://gerrit.openafs.org/6554 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f549911027417cdb4fbacfc8deaa8bd664d1651f -Author: Jeffrey Altman -Date: Fri Jan 13 23:57:10 2012 -0500 - - Windows: AFSParseName edge cases - - If the input path is \afs\ behave as if the path is \afs. - - If the input path is \afs\*\ detect the wildcard and return - STATUS_OBJECT_NAME_INVALID. - - Change-Id: I0ef4f30fb3b6245a52160b5e7f9233bc5f599485 - Reviewed-on: http://gerrit.openafs.org/6553 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 96b9900d306645bb79d631250e3d740f163a2b40 -Author: Jeffrey Altman -Date: Fri Jan 13 19:32:16 2012 -0500 - - Windows: afs root is always a directory - - If the root is opened with the FILE_NON_DIRECTORY_FILE option, - fail the request with STATUS_FILE_IS_A_DIRECTORY. - - Change-Id: Ic7d29f9032c2a19617276138833938fcf304838e - Reviewed-on: http://gerrit.openafs.org/6552 - Reviewed-by: Peter Scott - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7fd67cb2899368ff091c9fca8b3ad82ac9cf004b -Author: Ken Dreyer -Date: Mon Jan 16 16:04:14 2012 -0700 - - fix spelling in comments - - Change-Id: I4b4558833825295bbd16134cbd403a87b1c7b14c - Reviewed-on: http://gerrit.openafs.org/6561 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fda2fe8538e00baddcd7fcf2c669162634b9d14e -Author: Andrew Deason -Date: Wed Jan 11 10:28:56 2012 -0500 - - DAFS: Fix SYNC_FAILED VScheduleSalvage_r log - - SYNC_FAILED is not an unknown protocol code, so stop saying it is. - - Change-Id: I87ce896fe061e6b5bfd3efdbb442281682a3e652 - Reviewed-on: http://gerrit.openafs.org/6530 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 627cfb1d4e7b32b4342c59b162a36ba9beb8a066 -Author: Andrew Deason -Date: Wed Jan 11 10:00:35 2012 -0500 - - vol: Fix VCreateVolume special inode cleanup - - In order to dec the relevant special inodes, we need to know the - parent vol id in addition to the vol id itself. Use the appropriate - volume IDs when IH_DEC'ing special inodes after we fail to create the - volume, so we don't leave behind special inodes. - - Change-Id: I77cfafac80c49debf46c86faefadd2a586d6f06b - Reviewed-on: http://gerrit.openafs.org/6529 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e77b6858ee889ec9e4e3fe3bb62c23b1c1f5727f -Author: Jeffrey Altman -Date: Tue Jan 3 21:10:32 2012 -0500 - - Windows: dir buffers out of date - mark them as such - - if cm_CheckForSingleDirChange() fails, mark the cm_scache_t - bufDataVersionLow as the current data version so that old directory - buffers are discarded. - - Change-Id: I8d587a024027e74e66190fdc993564b640993b4c - Reviewed-on: http://gerrit.openafs.org/6498 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7a25010a6e1719fc056b7367893c24267334978e -Author: Jeffrey Altman -Date: Thu Jan 5 11:52:00 2012 -0500 - - Windows: Avoid file server rpcs on deleted files - - If a file has been deleted, do not attempt to issue RPCs - to the file server in response to AFS redirector extent processing. - All RPCs will fail with VNOVNODE which will in turn trigger invalidation - requests to the AFS redirector which can deadlock. - - Change-Id: I85b6b4a0ce619e54df648163392be93761f709f0 - Reviewed-on: http://gerrit.openafs.org/6514 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cde0539f79b54dc3c4aa496be16b89a5e6a3654c -Author: Jeffrey Altman -Date: Wed Jan 4 12:13:40 2012 -0500 - - Windows: use local var for interlocked result - - Save the result of the interlocked operations for use in - debug logging. Do not reference the incremented or decremented - object in the log messages, it may have changed. - - Local assignment is provided even in functions that are currently - not logging to assist with debugging and as a reminder to use - the result variable in future log messages. - - Change-Id: Ia7ed8bf14b204b265e1db7713b96864634a731d7 - Reviewed-on: http://gerrit.openafs.org/6508 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 6185532db58692e58fca035a7b89767523d33225 -Author: Jeffrey Altman -Date: Wed Jan 4 01:10:37 2012 -0500 - - Windows: AFSParseMountPointTarget buffer overrun - - When parsing the AFS mount point string do not overrun - the buffer if the colon cell/volume separator is not - found. - - Change-Id: Id7275cc8815223730f7c39bd11a6f495beb117c4 - Reviewed-on: http://gerrit.openafs.org/6507 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ba4f5afc9c68f74587c7a9669571c2c32cb7a13b -Author: Jeffrey Altman -Date: Wed Jan 4 00:02:42 2012 -0500 - - Windows: Directory Enumeration, DVs, and TreeLocks - - Hold the TreeLock exclusively across all operations that - enumerate, validate, or otherwise manipulate directory tree - lists or data versions. - - Take the data version into account when deciding what to do - with directory data. If a directory enumeration takes more - than one request to service and the DV has changed from the - time the directory snapshop was taken by the service and the - enumeration completion, merge in the changes and then mark - the directory as requiring verification. - - If a directory change operation completes (create, rename, remove) - and the directory DV has changed by more than one force a full - directory verification. - - Set the directory data version to -1 whenever a directory - verification is required. Otherwise, the check to clear the - VERIFY flag will only update the metadata for the directory. - - During a directory verification, if a new entry has been discovered - it is added to the directory. Make sure the VALID flag is set so - that the entry will not immediately be removed as invalid. - - Change-Id: I6be8d00126fccf88bde8ae5f97e850dfb9a2f60f - Reviewed-on: http://gerrit.openafs.org/6460 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9783384af764fae23eb34cb26193cc295ee1a185 -Author: Jeffrey Altman -Date: Wed Jan 4 00:01:09 2012 -0500 - - Windows: correct log messages in AFSCleanup - - Change-Id: I1e202547d82195f85e6de20e72f6b07c6c7475ba - Reviewed-on: http://gerrit.openafs.org/6506 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit bd09d06c3f5bb81023b438e43c4b9b49d663bb34 -Author: Jeffrey Altman -Date: Tue Jan 3 23:58:04 2012 -0500 - - Windows: Return Dir Data Version from AFSCleanup - - This patchset returns the directory data version from AFSCleanup(). - It does not do anything with it. - - Change-Id: I86ac37f9e237bfec3ea612b896bec4ed7d43d068 - Reviewed-on: http://gerrit.openafs.org/6505 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit d2f9f8fa05b5b07965c8001d7b716da4ba486d83 -Author: Jeffrey Altman -Date: Tue Jan 3 23:43:30 2012 -0500 - - Windows: reorg open handle counts and Fcb->NPFcb->Resource - - Reorganize when open handle counts are decremented in order - to avoid a race with worker threads performing garbage collection. - - Change-Id: I07c1c5e80fad48cd3439dbc9c85bd6dff9b9bf44 - Reviewed-on: http://gerrit.openafs.org/6504 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e28d77fc4b3b6e5a93e5518d28c241eb9767d863 -Author: Jeffrey Altman -Date: Tue Jan 3 23:39:53 2012 -0500 - - Windows: Permit renames of open files - - AFS does not impose a restriction on renames of open files. - Failure to permit the rename can cause problems if an anti-malware - service opens the file immediately after the application performing - the rename does so. - - Change-Id: Ib23a6a893c5c575e89b8a817faec4c11300a04b7 - Reviewed-on: http://gerrit.openafs.org/6503 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b92a676517084432c64e1ccb1efff59e7bcbe088 -Author: Jeffrey Altman -Date: Tue Jan 3 23:36:50 2012 -0500 - - Windows: Do not prime the service directory cache - - Performing a directory enumeration is an expensive operation - that we should be attempting to avoid. The current directory - enumeration and evaluate target requests will use inline bulk - status RPCs to the file server which obtain status for 49 items - at a time from a single directory. - - Change-Id: I78e08680fec9715c3c446d0c4c5226cd79db80bd - Reviewed-on: http://gerrit.openafs.org/6502 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 6ee54eb3821b70a51cfde8096f2d50d46ead1b8a -Author: Jeffrey Altman -Date: Tue Jan 3 23:35:51 2012 -0500 - - Windows: More specific error values - - When a mount point, symlink, or dfslink cannot be resolved - return STATUS_REPARSE_POINT_NOT_RESOLVED. - - When an operation fails because the volume is readonly, return - STATUS_MEDIA_WRITE_PROTECTED. - - Change-Id: Ib35f0d7851c087bf8aa25d4b0138ee72fb6f3c68 - Reviewed-on: http://gerrit.openafs.org/6501 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e5a2f955c782ee46d1b24671fd0bac555e11d1a8 -Author: Jeffrey Altman -Date: Tue Jan 3 23:12:34 2012 -0500 - - Windows: do not flush dirty extents without permission - - When closing file handles, do not permit dirty extents to be - released back to the service if the current handle (Ccb) does - not have write permission. The cleanup operation will fail with - STATUS_ACCESS_DENIED, the extents will be released and all of the - dirty data will be discarded. - - Change-Id: Iceacf5319147d1bd6277ea160bc67d91f1a49d5b - Reviewed-on: http://gerrit.openafs.org/6500 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - -commit 22005aae24006dbe9ed9169c82d09ecfb032438d -Author: Derrick Brashear -Date: Sun Jan 8 21:02:04 2012 -0500 - - opr: fix generated target - - we need opr for comerr, but we don't want it after. build, - then clean up. - - Change-Id: I621f36bc5f6db85720b73b33578975d0dd126a18 - Reviewed-on: http://gerrit.openafs.org/6525 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2caf0778ddeb6eeb854360cac20c6b3f0894f3eb -Author: Marc Dionne -Date: Fri Jan 6 17:22:35 2012 -0500 - - libuafs: only rebuild h directory when needed - - A few changes to allow a "make all ; sudo make install ; make all..." - workflow to work without manually removing files in between. - - Make the rebuilding of the h directory dependent on the source - files scanned to build it. This prevents it from being rebuilt - for every "make install". - - While we're here, use -f when removing linktest for the clean target. - This allows "make clean" to remove it without prompting when the user - doesn't have write access to the file, as is the case when make install - rebuilds it as root. - - Change-Id: I45b34ad41560ef8c905e6be4201fa438a3cc7bc3 - Reviewed-on: http://gerrit.openafs.org/6519 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 80a2e6ed74c9bc1634f2aca76ee69fd81fcbb386 -Author: Marc Dionne -Date: Sat Jan 7 15:40:42 2012 -0500 - - opr: add buildtools target - - opr needs a buildtools target for "make generated". Make it install - the headers, which are needed by the other generated targets. - - Change-Id: I34faa81fa84407c5e6e1460dc765d0c2ce1ef3e8 - Reviewed-on: http://gerrit.openafs.org/6523 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 967d7201ee5c27db6d75d5efafcad9458e2b5167 -Author: Andrew Deason -Date: Sun Jan 8 11:31:39 2012 -0500 - - Make libjafs buildable again - - libjafs is surprisingly close to being buildable. Fix a few misc - things which have bitrotted over the years so it is possible to - actually build: - - - Add -I$SRC/config to the cflags, so we can include afsconfig.h - - - Remove references to the nonexistant rxkstats.o - - - Do not link with UAFS' AFS_component_version_number.o, since this - gives us duplicate version number symbols - - - Include afs_vosAdmin.h in Group.c, to satisfy some missing symbols - - Change-Id: Ie8da88872288073d080a58ed7fe8c8b52052488e - Reviewed-on: http://gerrit.openafs.org/6524 - Reviewed-by: Steven Jenkins - Tested-by: Steven Jenkins - Reviewed-by: Derrick Brashear - -commit 9620b67c138797e815621f0254cf15d0de504121 -Author: Derrick Brashear -Date: Wed Jan 4 15:04:41 2012 -0500 - - afs: discard cached state when we are unsure of validity - - in the event we got a network error, we don't know if the server - completed (or will complete) our operation. we can assume nothing. - a more complicated version of this could attempt to verify that the - state is what we expect it to be, but in extended callbacks universe - this is potentially easier to solve anyway. for now, return the - error to the caller, and mark the vcache unstat'd. - - Change-Id: Iafb67f24b89d78b8236660d047da12fce1dd6061 - Reviewed-on: http://gerrit.openafs.org/6510 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a12527c87a6f9e476861abbf18b9af84cef0db04 -Author: Derrick Brashear -Date: Fri Jan 6 06:33:22 2012 -0500 - - afs: put back conn if not using in checkserver loop - - we get a conn, check it for eligibility, and if not, - just abandon it. "oops" - - Change-Id: Ie3841c19b05a87fb225c3e8124cd485cba3c3648 - Reviewed-on: http://gerrit.openafs.org/6516 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - -commit 2a31f35936698c504c863702ebb675ac9dfe47e1 -Author: Derrick Brashear -Date: Fri Jan 6 06:53:46 2012 -0500 - - rx: add and export a public keepalive toggle - - make enabling and disabling keepalives a public function. - export the function - - Change-Id: Ia553d91488511edc0b483d95326f14ac0e315332 - Reviewed-on: http://gerrit.openafs.org/6517 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit d6876d3d8c7888cb9ef8efc9971e24259adf025a -Author: Chaskiel Grundman -Date: Thu Dec 29 13:06:31 2011 -0500 - - Make src/opr objdir safe - - Update the Makefile for src/opr to use $? to reference headers, so objdir - builds work correctly - - Change-Id: I3d8e0d885715a1d1bc1578f4e8ce69fe4239bb56 - Reviewed-on: http://gerrit.openafs.org/6444 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 0f4da13137612a9b0c0c3b57aa939d6661fb67f8 -Author: Derrick Brashear -Date: Tue Jan 3 15:57:14 2012 -0500 - - afs: increase idledead time - - it's actually important this be more than the rx call dead time - so timing out server callbacks to clients don't result in us idle deading - a call to the server when callbacks need to be broken - - FIXES 130327 - - Change-Id: Ibe2468edb61f307da9174d2c51cb0ea61c118c56 - Reviewed-on: http://gerrit.openafs.org/6497 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 38b74b34d2d370030f0e1abf835cfefefeaa0de2 -Author: Derrick Brashear -Date: Wed Jan 4 13:21:43 2012 -0500 - - ukernel: enable nat ping again - - if we're not root, no nat ping at all. fix that. - - Change-Id: I7ea4db77b30ba639921b11c4ccad35a2e14133b4 - Reviewed-on: http://gerrit.openafs.org/6509 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e3c8bd457476ddd83a0e483a24fb08c436cf4aac -Author: Simon Wilkinson -Date: Wed Jan 4 21:44:30 2012 +0000 - - afs: Negate codes using a clear, standard method - - The bulk of our code uses 'code = -code' to negate an error code. - Use this, rather than 'code *= -1', as the latter form makes my - head hurt. - - Change-Id: I578fbd7c123c37d89ceb1a6373409feb8b619d86 - Reviewed-on: http://gerrit.openafs.org/6511 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 52944ff61a455770da451b551ffa0ae10c19ea2e -Author: Marc Dionne -Date: Wed Jan 4 19:27:18 2012 -0500 - - Use offsetof() in set_header_word to get field offset - - Use offsetof() to replace a few instances where the same logic is - open coded in set_header_word and inc_header_word macros. In cases - where the field name involves a variable as an index to an array, - newer gcc gives a sequence point warning. - - Change-Id: I43e3d6ef6a63b51003496a1beb72c445a9109615 - Reviewed-on: http://gerrit.openafs.org/6513 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d4fba5f92db18d77c1fab20af3815637c132bc6f -Author: Marc Dionne -Date: Wed Jan 4 18:49:32 2012 -0500 - - vol: initialize readmeinode - - Newer gcc complains about readmeinode being potentially used - uninitialized. Doesn't look possible in the code, but initialize - it to quiet the warning. - - Change-Id: I7172475a64a3bfb90a76c0266d7812d5d42a2c4c - Reviewed-on: http://gerrit.openafs.org/6512 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit faa58c9f60a158481bdfee27e175a37c5fcd64aa -Author: Michael Meffie -Date: Wed Dec 14 12:52:51 2011 -0500 - - Unix CM: reset blacklist on hard-mount retry - - Reset black-listed servers on a request when retrying due to a - hard-mount retry. When hard-mounts are in effect, a request may - retry indefinitely. If all the servers have been black-listed - due to a transient error, the request may never complete. - - Change-Id: I2510f729cbbb21836b139c94e25867118a6ad873 - Reviewed-on: http://gerrit.openafs.org/6330 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8e15e16c9e6a5768f31976cc21b48d5bb10617b7 -Author: Andrew Deason -Date: Fri Nov 18 10:25:08 2011 -0600 - - DAFS: Atomically re-hash vnode in VGetFreeVnode_r - - VGetFreeVnode_r pulls a vnode off of the vnode LRU, and removes the - vnode from the vnode hash table. In DAFS, we may drop the volume glock - immediately afterwards in order to close the ihandle for the old vnode - structure. - - While we have the glock dropped, another thread may try to - VLookupVnode for the new vnode we are creating, find that it is not - hashed, and call VGetFreeVnode_r itself. This can result in two - threads having two separate copies of the same vnode, which bypasses - any mutual exclusion ensured by per-vnode locks, since they will lock - their own version of the vnode. This can result in a variety of - different problems where two threads try to write to the same vnode at - the same time. One example is calling CopyOnWrite on the same file in - parallel, which can cause link undercounts, writes to the wrong vnode - tag, and other CoW-related errors. - - To prevent all this, make VGetFreeVnode_r atomically remove the old - vnode structure from the relevant hashes, and add it to the new hashes - before dropping the glock. This ensures that any other thread trying - to load the same vnode will see the new vnode in the hash table, - though it will not yet be valid until the vnode is loaded. - - Note that this only solves this race for DAFS. For non-DAFS, the vol - glock is held over the ihandle close, so this race does not exist. - The comments around the callers of VGetFreeVnode_r indicate that - similar extant races exist here for non-DAFS, but they are unsolvable - without significant DAFS-like changes to the vnode package. - - Change-Id: I84c5d1bdd29f9e7140e905388b4b65629932c951 - Reviewed-on: http://gerrit.openafs.org/6385 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7461fa11939556d3b6f3ea38da7ff65607805579 -Author: Andrew Deason -Date: Mon Dec 26 21:22:08 2011 -0500 - - afs: Grab a reference to setp in afs_icl_Event4 - - We can drop GLOCK in several places in afs_icl_Event4 and the - afs_icl_AppendRecord callee. To ensure that the given afs_icl_set does - not get freed while we have GLOCK dropped, grab a reference to the - set. - - Thanks to Ryan C. Underwood for reporting an issue triggered by this. - - Change-Id: Ifeda229b444abd75b0f22c7acf18a7553d833964 - Reviewed-on: http://gerrit.openafs.org/6431 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 267934d0e6910c8d8166a6e78f93c1bab40857b8 -Author: Geoffrey Thomas -Date: Sat Dec 31 19:51:29 2011 -0500 - - linux: fsync on a directory should return 0, not EINVAL - - Directory writes are synchronous, so this is fine. There's a - mostly-convenient function in fs/libfs.c that returns 0 that we can use - to do what we want ("mostly" because it was renamed in 2.6.35). - - FIXES 130425 - - Change-Id: I9a2af60ed3152be036f0145c94152d8cff2e1242 - Reviewed-on: http://gerrit.openafs.org/6491 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit dee93ff1d114da711df345e06b5e1a682c877315 -Author: Geoffrey Thomas -Date: Sun Dec 11 05:06:24 2011 -0500 - - rpm: Don't attempt to restart on upgrade when using systemd - - systemd is actually rather capable of leaving the OpenAFS client in an - incredibly broken state, thanks to its willingness to track services and - kill their processes. We should not attempt to restart the client on - upgrade, whether a normal upgrade or a migration from SysV initscripts. - In the former case, it's fine (and correct) for the old AFS to keep - running; in the latter case, the unit file is capable of correctly - shutting down an initscript-launched client. The same is true for the - OpenAFS server. - - This brings the packaging in line with the SysV initscript code in the - specfile, which does not attempt to restart the service, as well as with - e.g. Debian's packaging, which uses --no-restart-on-upgrade. - - While we're here, clean up a redundant BuildRequires on systemd-units. - - Change-Id: I3b1771a7246f04be0e82765976664c50e0adae47 - Reviewed-on: http://gerrit.openafs.org/6247 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit af08b745117899d116d4ee14e08e1184369f591f -Author: Peter Scott -Date: Thu Dec 29 17:23:32 2011 -0700 - - Windows: Support correct status codes from service - - When performing object verification, check for status failures corresponding - to parent object issues which require a validation of the parent - - Change-Id: I4a73b55961eda62079c933f9e85888ea24b39f1f - Reviewed-on: http://gerrit.openafs.org/6447 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 52c3bace5ac4c93883d4913933a58573abded3e9 -Author: Peter Scott -Date: Thu Dec 29 17:30:45 2011 -0700 - - Windows: Handle invalid node types - - In the case where the direntry data is invalid, construct an Fcb - of type INVALID so that the direntry can be displayed and the objected - deleted even if it cannot be evaluated. - - Change-Id: I37da154b7429929fe833874c7cd048a3a804a96f - Reviewed-on: http://gerrit.openafs.org/6445 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ac56cd9e6182742e0b586ea8d833e4c7346e03b8 -Author: Jeffrey Altman -Date: Fri Dec 30 21:45:54 2011 -0500 - - Windows: AFSFileUpdateResultCB ParentDataVersion - - Add the parent directory data version to the AFSFileUpdateResultCB - structure. - - Change-Id: Ia1b1345c410ff216b35f3d42912ac921b978a299 - Reviewed-on: http://gerrit.openafs.org/6459 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 85f4971f850c0110915ba862922c1536ebe506c2 -Author: Jeffrey Altman -Date: Fri Dec 30 20:09:06 2011 -0500 - - Windows: renames that overwrite existing target - - The Windows client up to this point has never correctly implemented - directory renames. For the longest time it assumed that the file - server would not replace a pre-existing target. As a result, when - the target name was already in use the contents of the directory - would end up with the target name existing but its previous file id - associated with it. - - A second problem was that lookups for the source and target names - were not performed while the directory (or directories) were exclusively - held to ensure that competing changes could not occur. - - This patchset corrects both issues in cm_Rename() and adjusts the - redirector interface to match the new behavior. - - Change-Id: I4f5cff7debcf9925947ac3fc6931565acb57ebd9 - Reviewed-on: http://gerrit.openafs.org/6457 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d64983bab047ad6349d2edfe2ffa35b484529889 -Author: Jeffrey Altman -Date: Fri Dec 30 01:34:51 2011 -0500 - - Windows: AFSDirEnumResp and AFSDirEnumEntry changes - - A directory enumeration is not an atomic operation. The redirector - reads an enumeration a chunk at a time. During the entire enumeration - it is possible that the data version of the directory object has - changed due to entries being added or removed. This patchset adds - two data version values to the AFSDirEnumResp structure. - - The first is the snapshot data version which is the dv of the - directory object at the time the entry list snapshot was taken. - The second is the current data version number of the directory - object. - - If an object has been removed from the directory after the snapshot - was taken, attempts to fetch status information for the object will - fail with a VNOVNODE (aka CM_ERROR_BADFD aka STATUS_INVALID_HANDLE). - The NTStatus field has been added to the AFSDirEnumEntry structure - to permit notifying the redirector of such failures. - - RDR_PopulateCurrentEntry() has been extended with an additional - cm_Error parameter that accepts the errorCode field provided by - the cm_direnum_entry_t object constructed during the enumeration. - - Change-Id: Iee8f6bf9919780ce4dd6c2b184810c0d6afc39cc - Reviewed-on: http://gerrit.openafs.org/6455 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f142b615bbac6195aa4e275179f37da490013432 -Author: Jeffrey Altman -Date: Fri Dec 30 01:24:27 2011 -0500 - - Windows: Add AFSFileEvalResultCB - - In response to AFS_REQUEST_TYPE_EVAL_TARGET_BY_ID and - AFS_REQUEST_TYPE_EVAL_TARGET_BY_NAME, return the new AFSFileEvalResultCB - instead of a raw AFSDirEnumEntry. AFSFileEvalResultCB includes - the data version number of the parent directory at the time the - node was evaluated. - - Change-Id: Ida25790688f8ab193c234c9b3fadf4f594edd740 - Reviewed-on: http://gerrit.openafs.org/6454 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ccd6614c8f92e349e1892fa59f814b615c8816e0 -Author: Jeffrey Altman -Date: Fri Dec 30 01:10:08 2011 -0500 - - Windows: Add AFSFileCleanupResultCB - - Add AFSFileCleanupResultCB which includes the parent directory - data version number. This is necessary because object deletion occurs - during the Cleanup processing and the redirector needs to know the - resulting data version of the affected directory. - - Change-Id: Iac07ddaaa3e3373f1690c85d247313e070450169 - Reviewed-on: http://gerrit.openafs.org/6453 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9115c437c4113a554f3c3b97c4eaeafea6949600 -Author: Jeffrey Altman -Date: Thu Dec 29 18:31:11 2011 -0500 - - Windows: STATUS_OBJECT_PATH_INVALID == invalid parent directory - - Modify evaluation of nodes by name and id to consistently return - STATUS_OBJECT_PATH_INVALID if the parent FID no longer exists. - - Change-Id: I94f56e5b525a35279152f6f7848654a56bbfa235 - Reviewed-on: http://gerrit.openafs.org/6446 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e7ecda66eb2054012b4ec153a656ce674d6e70e4 -Author: Jeffrey Altman -Date: Mon Dec 26 20:46:46 2011 -0500 - - Windows: Request extents readability - - Two minor code modifications to make the code easier to read. - - Change-Id: I1cf72911ace4eff17c857cd000cb24fbe0f28c2b - Reviewed-on: http://gerrit.openafs.org/6433 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 970d6e268011ab4ad8a4857121933514f7768b55 -Author: Jeffrey Altman -Date: Mon Dec 26 20:44:36 2011 -0500 - - Windows: RequestExtents avoid bufWrite if rdr held - - If the cm_buf_t is held by the redirector the buffer cannot - be written back to the file server even if dirty. Therefore, - do not check whether or not the cm_buf_t is dirty until after - it is known that the buffer is not redirector owned. - - Change-Id: I10dc8f74915c2267dc44138284eba273eb708e0a - Reviewed-on: http://gerrit.openafs.org/6432 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2ef57a3ee951660cb69d8656e9293c93b28e0d1e -Author: Jeffrey Altman -Date: Sat Dec 31 16:07:00 2011 -0500 - - Windows: avoid race during Fcb cleanup - - The worker thread can race with a AFSCleanup() operation and - tear down the Fcb before the AFSCleanup() drops the Fcb->NPFcb->Resource. - Avoid this race by requiring the worker thread to obtain the resource - once before deleting the resource. - - Change-Id: Iafad8260c5dfc4187a62c04b14d55ac0bf0e4aeb - Reviewed-on: http://gerrit.openafs.org/6462 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e2b42e2cde170102c07937d55db376416cb3965c -Author: Jeffrey Altman -Date: Sat Dec 31 16:04:27 2011 -0500 - - Windows: avoid deadlock if bulk error during enum - - If the cache manager has a valid callback at the start of a - directory enumeration, the service can begin a bulk status rpc - which can fail. The error code from the rpc is never propagated - to the caller, therefore the caller loops forever attempting to - complete the enumeration with status info. - - Fix it by returning the error. - - Change-Id: I53892ddf338152d53c533ef31c3b1047c96bfbf2 - Reviewed-on: http://gerrit.openafs.org/6461 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 36657b8505e3b232158a63b4ecad12fa59548b3a -Author: Jeffrey Altman -Date: Fri Dec 30 20:24:49 2011 -0500 - - Windows: AFSInsertHashEntry can fail - - If AFSInsertHashEntry() fails, the object information structure - that was being inserted is not in the btree. Therefore, ensure - that the object does not have the AFS_OBJECT_INSERTED_HASH_TREE - or AFS_VOLUME_INSERTED_HASH_TREE flag set (as appropriate). - This permits the unreferenced object to be garbage collected. - - Change-Id: I023f765571a7ba014556d9505ab2d46ec930f1a2 - Reviewed-on: http://gerrit.openafs.org/6458 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit d4eb369e7a5dada7e13585d934a63fa27e0d20ee -Author: Jeffrey Altman -Date: Fri Dec 30 12:55:30 2011 -0500 - - Windows: additional AFSValidateEntry logging - - Change-Id: Iecfbaff197b83de1c31c51d18f819c9d1be54f60 - Reviewed-on: http://gerrit.openafs.org/6456 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ad3c00520b93174808f692ced3e35261030a8c1b -Author: Jeffrey Altman -Date: Thu Dec 29 22:20:38 2011 -0500 - - Windows: add DV and error status to dir enumerations - - The cm_BPlusDirEnum family of functions are atomic when generating - the directory enumeration but are not atomic with respect to the - rest of the system as the enumeration is accessed. Therefore, the - data version of the directory at the time the enumeration is created - may not be the same as the directory version when the enumeration - is fully processed. We therefore store the initial data version in the - cm_direnum_t object. - - When the enumeration is fetching status information for each of the - directory entries, it is possible that the fetch status will fail. - We therefore store the fetch status error code in the cm_direnum_entry_t - object. By doing so, the consumer of the enumeration can make a - reasonable decision about the lack of status info. For example, - if the resulting error is CM_ERROR_BADFD it is known that the entry - has been removed from the directory since the initial enumeration. - - Change-Id: I289881e2c59525a9f998559b00769d3ac3f335c0 - Reviewed-on: http://gerrit.openafs.org/6452 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9b42af9326dbf34a7a657a7d4a2ea6d845c845e1 -Author: Jeffrey Altman -Date: Thu Dec 29 22:18:59 2011 -0500 - - Windows: protect merge status against dscp == scp - - If the directory status object is the same as the object for which - status info is being merged, the object will refer to itself as its - own parent. Do not permit that. - - Change-Id: I6f7b6416f4c875a30dd5b85ba679389484523b12 - Reviewed-on: http://gerrit.openafs.org/6451 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 60992d4ffb94a8472ccff3ff7890c34e2572688d -Author: Jeffrey Altman -Date: Thu Dec 29 19:58:19 2011 -0500 - - Windows: protect dir ops by CM_SCACHESYNC_STOREDATA - - CM_SCACHESYNC_STOREDATA is used to ensure that only one directory - modifying rpc can be issued to the file server at a time on a - single cm_scache_t. However, the local directory modifications - were being made after cm_MergeStatus() and cm_SyncOpDone() - were called. As a result, serialization of changes against the - local directory buffers and b+tree was lost. - - Change-Id: I1e99685767b6b9b51e546be0946b189386e8dbd2 - Reviewed-on: http://gerrit.openafs.org/6450 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit dc06ebad8ba7a58c1561ddd03f0a8a79e610d7c7 -Author: Jeffrey Altman -Date: Thu Dec 29 19:19:04 2011 -0500 - - Windows: init scache DV=CM_SCACHE_VERSION_BAD - - zero is a valid DV. CM_SCACHE_VERSION_BAD is not. - - Change-Id: I65c10153059bae6dbd4da344958db4a6be309633 - Reviewed-on: http://gerrit.openafs.org/6449 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 83c52997b7b9e4d91a0263fbd26ec19fb2092d9c -Author: Jeffrey Altman -Date: Thu Dec 29 12:45:16 2011 -0500 - - Windows: afsredirlib log messages - - Improve or correct a number of log messages. Report the correct - FID or NT Status value, etc. - - Change-Id: I434b47e1350767f868170323280298f77e1a840a - Reviewed-on: http://gerrit.openafs.org/6442 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ea0865e3266884f15a05bb3edd316f5ce8f972ed -Author: Jeffrey Altman -Date: Thu Dec 29 12:42:26 2011 -0500 - - Windows: Symlink resolve failure error - - If a symlink cannot be resolved, return STATUS_REPARSE_POINT_NOT_RESOLVED - instead of STATUS_ACCESS_DENIED. The symlink is after all a reparse - point. This results in a more meaningful error being delivered to - the end user. - - Change-Id: I30713dac7b916efaf3cf7a5d7717cb0bc971a31a - Reviewed-on: http://gerrit.openafs.org/6441 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 07655bc23e2ab7b5d0c808d79b3c7838a01eacfa -Author: Jeffrey Altman -Date: Wed Dec 28 17:08:23 2011 -0500 - - Windows: Make idle dead timeout very long - - The idle dead timeout processing must eventually be removed - from Rx for initiators. In the meantime, make the timeout period - ten times longer than the hard dead timeout. This permits eventual - failure when the server doesn't respond in ten minutes but avoids - more transient issues. - - Change-Id: Ia673666dd55b33c4375ee8fdcbb89c82e8b01185 - Reviewed-on: http://gerrit.openafs.org/6440 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 19f1e0f7cf40c3da1d49c789358bd814f7e3b3eb -Author: Jeffrey Altman -Date: Wed Dec 28 17:07:01 2011 -0500 - - Windows: replace strdup with xdr_alloc in callback processing - - The CRT allocator cannot be used for memory that will be freed - by afsrpc.dll. Use xdr_alloc() instead. - - Change-Id: Idd33710c225d58b4e6eba0bfdb2f8b3282996258 - Reviewed-on: http://gerrit.openafs.org/6439 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 5d11bd665cd93b736f735d689f703e44f865cefc -Author: Jeffrey Altman -Date: Mon Dec 26 20:59:21 2011 -0500 - - windows: osi_TSignalForMLs simplify - - Simplify logic for readability and efficiency. - - Change-Id: I3c78b23b6fcf8478fe20a803755923108995d532 - Reviewed-on: http://gerrit.openafs.org/6438 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit f6f95ac4bfc5e504c1b825fd52b787d12a89e53c -Author: Jeffrey Altman -Date: Mon Dec 26 20:56:38 2011 -0500 - - Windows: osisleep do not tamper with queues - - There is no need to manually remove an entry from a queue before - executing osi_QRemoveHT(). osi_QRemoveHT() removes the item - from the queue and fixes up the pointers correctly. Manual - intervention is a waste of cpu and can be harmful. - - Change-Id: Iaea4ceac2cb5f61e5bb73fd181bd934e06ddf0a6 - Reviewed-on: http://gerrit.openafs.org/6437 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 4c2190784f1d4bb613cc140b8d189f0ab4ae10fc -Author: Jeffrey Altman -Date: Mon Dec 26 20:55:22 2011 -0500 - - Windows: osi_sleepInfo tid type - - The thread id type is DWORD not size_t for consistency - with the rest of the client_osi package. - - Change-Id: I2e2d31d8738d9de82d99f346f5109de133f3e25e - Reviewed-on: http://gerrit.openafs.org/6436 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 3011a8228a04a54e04f5626e9f686840a25f2d5f -Author: Jeffrey Altman -Date: Mon Dec 26 20:51:33 2011 -0500 - - Windows: add osi_TWaitExt(), fix osi_TWait() - - osi_TWait() was adding new locks to the turnstile at the tail - which is the end of the queue locks are removed from. This - implemented LIFO instead of FIFO when FIFO is the "fair" order - to service lock requests. - - osi_TWaitExt() is added to permit the Reader to Writer upgrade - request to use LIFO when more than one reader is present. - - Change-Id: Ib6435a3edc2cb8519939cfad93e0db4b0604da2d - Reviewed-on: http://gerrit.openafs.org/6435 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 2b6a8d384bd4426a61c72e79c34ffd75a03e612e -Author: Jeffrey Altman -Date: Mon Dec 26 20:48:24 2011 -0500 - - Windows: use waiters counter instead of osi_TEmpty - - The osi_TEmpty() macro examines the values of the turnstile - pointers. Instead use the lock's 'waiters' counter to determine - if there are waiting threads to signal. - - Change-Id: I8e14a03a30adcf1e67b07fc020104c2ada3b5c6a - Reviewed-on: http://gerrit.openafs.org/6434 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 2cdd59d8f318193d0ef7937910466531caf1c963 -Author: Jeffrey Altman -Date: Sat Dec 24 15:16:12 2011 -0500 - - Windows: kauth search for kerberos iv port first - - Modify src/kauth/user_nt.c to match the service name search - order of the Unix code: - - kerberos4 - kerberos-iv - kerberos - - The standard Windows SERVICES file includes "kerberos-iv" as - port 750. - - FIXES 127907 - - Change-Id: I518a812cc2d465334e8ef6929f8988c51b33749b - Reviewed-on: http://gerrit.openafs.org/6430 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 8a574ba16a80fc2b8b703ddcfc99486b977e6071 -Author: Andrew Deason -Date: Thu Dec 22 15:48:49 2011 -0500 - - afs: Panic on afs_conn refcount imbalance - - An undercounted afs_conn can easily cause a panic and/or memory - corruption later on, since we put an rx_connection reference with each - afs_conn reference. Panic as soon as we detect this, as this indicates - a serious bug. - - Change-Id: I251fd3303114d0822b8cf70805a8a447986a7762 - Reviewed-on: http://gerrit.openafs.org/6413 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 79f69f2eb130c1c5cb6cdfa4e7a129f450a58339 -Author: Andrew Deason -Date: Wed Dec 21 17:01:16 2011 -0500 - - afs: Add afs_WriteDCache sanity checks - - Writing a non-free non-discarded dcache entry with a zero volume id - can easily cause hash table corruption later on, so make sure we don't - do that. Also log something if the write itself fails, as this usually - indicates an unusual situation involving I/O errors or something. - - Change-Id: Ib9602227e8cee324cb63a4a3dee28e53af69b446 - Reviewed-on: http://gerrit.openafs.org/6419 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9ed26da26f4a5a3fef3bf0a7b6f9dae751ce6659 -Author: Andrew Deason -Date: Wed Dec 21 16:05:40 2011 -0500 - - afs: Cope with afs_GetValidDSlot errors - - Make callers of afs_GetValidDSlot deal with getting a NULL dcache, - which can occur if an error is encountered. Some of these just panic - at least for now, since a code path for recovery is complex, but this - is at least better than dereferencing a NULL pointer. - - Change-Id: I4022a914bbaa0e1f3f4daadfdc32d165a6e2febd - Reviewed-on: http://gerrit.openafs.org/6418 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1a672914ab050811c99b6307c657630ab9b5c8ee -Author: Andrew Deason -Date: Wed Dec 21 15:04:32 2011 -0500 - - afs: Do not always ignore errors in afs_GetDSlot - - Currently afs_UFSGetDSlot will silently swallow any error in reading - the specified dslot from disk, and will return a "blank" dcache to the - caller. However, many callers of afs_GetDSlot will be asking for a - dcache that we know exists, and more importantly, we know is on the - global hash table. If a disk error is encountered and we're given a - "blank" dcache, we will erroneously believe the dcache entry is not on - the hash table, causing corruption of the hash table later on. - - So instead, modify all callers of afs_GetDSlot to use either - afs_GetValidDSlot or afs_GetNewDSlot. Calling afs_GetValidDSlot - indicates that the given dentry index is known to be valid, and any - error encountered while reading the entry from disk should result in - an error (for disk I/O errors we have no control over, this results in - a NULL dentry returned; for internal consistency errors we panic). - Calling afs_GetNewDSlot indicates that the specified index may not - exist or may not be valid, and so returning a "blank" dentry in that - case is fine. - - For memcache, the situation is the same, except any time we go to - "disk" it is an (internal) error, since there is no disk. - - Change-Id: I53ea6e99649e4d6d5cbde58929dfcee1d45a3e7b - Reviewed-on: http://gerrit.openafs.org/6417 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 12177ba6fffaf8a693dd8c8e9445d5e7725ae743 -Author: Andrew Deason -Date: Wed Dec 21 17:25:29 2011 -0500 - - afs: Remove second argument to afs_GetDSlot - - All callers of afs_GetDSlot were passing NULL as the second argument - to afs_GetDSlot. So, remove the argument, and behave as if tmpdc was - NULL unconditionally. - - Change-Id: I138fe917d739c3020c35c20da48ffdf38f682fd6 - Reviewed-on: http://gerrit.openafs.org/6416 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b5ca12ac4696c4049be14974f1e946bb55e1c440 -Author: Andrew Deason -Date: Thu Dec 22 15:01:52 2011 -0500 - - afs: Indicate error from afs_osi_Read/Write better - - Currently afs_osi_Read and afs_osi_Write just return -1 on any I/O - error, even though they know the error code given from the OS VFS. - Just return that code instead so the caller can see what the error - was; but negate it, so it's clear that it is an error. - - Change-Id: I3d8350da18d075713356137a1cacf182a749fe3e - Reviewed-on: http://gerrit.openafs.org/6412 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 456ee898ae77b201275363f4efc0098c28e195d5 -Author: Andrew Deason -Date: Thu Dec 22 14:50:09 2011 -0500 - - afs: afs_osi_Read/Write returns negative on error - - afs_osi_Read and afs_osi_Write need to return negative values on - error. EIO is not negative; return -EIO so we don't accidentally - return "success" if someone requested to read or write EIO bytes. - - Change-Id: Id0693776737fdf7086de16a935ad3942f5026e55 - Reviewed-on: http://gerrit.openafs.org/6411 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2d8fa26022e6a9aac1877d0b6b73a3b1922a2674 -Author: Andrew Deason -Date: Thu Dec 22 13:50:53 2011 -0500 - - klog.krb5: cast get_cred_keylen to unsigned - - get_cred_keylen can yield a type besides an unsigned int (such as a - size_t on heimdal). But we are printing it with %u, which causes a - warning, so cast it to an unsigned int. - - Change-Id: I7b89de5b0b163b9532ac347e9c56e865cb58f266 - Reviewed-on: http://gerrit.openafs.org/6410 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2e5545342b0c644546f8a370bdbf836a6da68b60 -Author: Andrew Deason -Date: Fri Dec 23 18:31:10 2011 -0500 - - fuse: Autodetect Solaris 11 FUSE - - FUSE exists in Solaris 11, but it does not come with a fuse.pc - pkg-config configuration. Autodetect the presence of FUSE anyway. - - Change-Id: Ia052ba0a1bfe511dd051f3cfbee10395dc9d2c60 - Reviewed-on: http://gerrit.openafs.org/6422 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 98a6db0b047efcfbeb0fb3c8b1e4e136b206f10d -Author: Andrew Deason -Date: Wed Dec 21 23:19:01 2011 -0500 - - afsd.fuse: Solaris 11 support - - The FUSE in Solaris 11 has a couple of quirks; work around them. - - Change-Id: I29b8a8858467d1c6ebacb4926a15165feae64f2c - Reviewed-on: http://gerrit.openafs.org/6421 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit af218dee6c517f4636a18c681bff6f1212a7d9c0 -Author: Andrew Deason -Date: Wed Dec 21 22:00:12 2011 -0500 - - afsd: Parse cacheinfo during argument parsing - - Currently we parse cacheinfo in afsd_run, when the client is - initialized and started. Parsing cacheinfo can change - afsd_cacheMountDir, however, which may be of interest to afsd.o users; - in particular, libuafs exposes this via uafs_MountDir(). This means - that if a mount dir is not explicitly specified in the libcmd - arguments to afsd, a libuafs-using program will see the mountpoint as - the empty string if it is queried after afsd_parse but before - afsd_run. For afsd.fuse, this causes the cryptic error message: - - fuse: bad mount point `': No such file or directory - - since the mountpoint is the empty string if it is not specified - explicitly on the command line. - - To fix this, move cacheinfo parsing to effectively near the end of - afsd_parse, so the mountpoint is calculated in afsd_parse(). - - Change-Id: I058f2c7c2f0cc21db21c4b1d38ff63b9e9ed1562 - Reviewed-on: http://gerrit.openafs.org/6400 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 83d3084e95ac025660f0b8064f49400eb94bfb60 -Author: Andrew Deason -Date: Fri Dec 2 16:06:42 2011 -0600 - - fuse: Add -oallow_other by default where possible - - By default, fuse mountpoints are only accessible by the same uid as - that which mounted the fuse filesystem. When we're running as root, - specify -oallow_other so by default anyone can access the afs - mountpoint. - - Change-Id: Idc732a22136fbe6bc585b76ac6291d8518f1f9de - Reviewed-on: http://gerrit.openafs.org/6390 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3ca42749357edc97922918d04558deb268fe78f0 -Author: Peter Scott -Date: Fri Dec 23 17:00:57 2011 -0700 - - Windows: Avoid bottleneck on VolumeLock - - The VolumeLock resource was obtained during each AFSParseName() - and held across a wide range of operations including volume - info queries, renames, and extent requests. These operations can - take a long time to complete and as long as the VolumeLock was - held exclusively there could only be one operation in flight at - a time on a given volume. This significantly reduced the parallelism - of operations. - - The VolumeLock was not required in almost all cases. This patchset - adjusts the use of the VolumeLock and avoids the bottleneck. - - Change-Id: I9d60fe41d157b9e315aeaa15feee8d1e0d4ded4c - Reviewed-on: http://gerrit.openafs.org/6420 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ff368a7ec70fca0673a21f6b283db13cabcc2286 -Author: Jeffrey Altman -Date: Sat Dec 24 03:15:53 2011 -0500 - - Windows: avoid race in cm_GetNewSCache - - The cm_scacheLock is dropped while walking the scache LRU queue. - As a result it is possible for the cm_scache_t that is being - considered for recycling to be accessed and moved to the head - of the queue. - - Track the prev and next pointers so it is possible to detect if - the cm_scache_t that is about to be recycled has been moved. If - so, restart the search from the tail. - - Change-Id: I6c3b645b85aa60197b9b6d60cffdcb818eb6f4b2 - Reviewed-on: http://gerrit.openafs.org/6424 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 17ce77f843e01ff96f66e05b4b932b0c6187493e -Author: Jeffrey Altman -Date: Sat Dec 24 03:11:04 2011 -0500 - - Windows: cm_BufWrite() must wait in cm_SyncOp() - - Now that it is permissible for more than one store data operation - to construct BIOD lists in parallel, cm_BufWrite() must be willing - to wait in cm_SyncOp(). Otherwise, the daemon threads will spin. - - Change-Id: I77ee2005025de9255b4c9cdb8bed8efc44b9518a - Reviewed-on: http://gerrit.openafs.org/6423 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5f939c64e575dab937feda819937ce3087a2d2e8 -Author: Simon Wilkinson -Date: Sat Dec 24 17:23:48 2011 +0000 - - rx: Don't adjust non-existent events - - If we notice that time has gone backwards (that is, the current - time is older than the time of the last event we fired), then we - reschedule all pending events. - - On Windows, immediately after we have resumed from a suspend, this - code path can be executed with an empty event tree, causing an - exception: - - FAULTING_IP: - afsrpc!adjustTimes+cf [c:\src\openafs\openafs.git\repo\src\rx\rx_event.c @ 213] - 00000000`61041847 4c8b4030 mov r8,qword ptr [rax+30h] - - EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff) - ExceptionAddress: 0000000061041847 (afsrpc!adjustTimes+0x00000000000000cf) - ExceptionCode: c0000005 (Access violation) - ExceptionFlags: 00000000 - NumberParameters: 2 - Parameter[0]: 0000000000000000 - Parameter[1]: 0000000000000030 - Attempt to read from address 0000000000000030 - - Resolve this by checking for an empty tree before we attempt to adjust - event times. If the tree is empty, we just zero the last event time - (so we don't keep running the adjustTimes routine), and continue as - normal. - - Change-Id: I42a42ff1bd53a9d5c4733efc7ac5f629426b3aa1 - Reviewed-on: http://gerrit.openafs.org/6425 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e18c620aa0e49fde31beaa8327bf02eb87d89e3f -Author: Jeffrey Altman -Date: Wed Dec 21 21:47:56 2011 -0500 - - Windows: AFSCleanup extent processing - - 1. Perform a CcFlushCache() any time the file is cached - and the Context Control Block indicates that the handle - has FILE_WRITE_DATA permission. - - 2. Perform an AFSFlushExtents() whenever there are dirty - extents and the handle has FILE_WRITE_DATA permission. - No point flushing the extents if the AuthGroup does not - have write permission. Another Ccb must exist that does - have write permission. - - Change-Id: I3ece011b484c12e7dc936b81c272ba6a42f6c7d6 - Reviewed-on: http://gerrit.openafs.org/6399 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 68b10efa7dbabbedbb95928dccac29ed8d4179c4 -Author: Jeffrey Altman -Date: Wed Dec 21 21:37:41 2011 -0500 - - Windows: AFSRetrieveValidAuthGroup FILE_READ_DATA - - Only an AuthGroup belonging to a Context Control Block that was - granted the FILE_READ_DATA permission is capable of reading - data from the file server. - - Change-Id: I93a7d8e65a6bc87b44399a30da5c0dd7d4e07685 - Reviewed-on: http://gerrit.openafs.org/6398 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4fa01ad7fc5434ca5ca42f30407d47c736f8b000 -Author: Jeffrey Altman -Date: Wed Dec 21 21:34:14 2011 -0500 - - Windows: AFSRequestExtentsAsync retry with alt authgroup - - If AFSRequestExtentsAsync() fails to obtain requested extents - due to STATUS_ACCESS_DENIED using the AuthGroup associated with - the Context Control Block, try to find an alternate AuthGroup - to use to perform the extent request. We have already told - Windows what permissions the application has when the file was - opened. Windows will perform its own validation checks prior - to permitting the data to be accessed or altered. - - Change-Id: I430657e8c8e30c9f636a5ec81065af4122c926d7 - Reviewed-on: http://gerrit.openafs.org/6397 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b9ca435dcb5433218ecbb37ab41b85dabe0a5912 -Author: Jeffrey Altman -Date: Wed Dec 21 21:17:33 2011 -0500 - - Windows: Use AuthGroups for extent request error reporting - - The afs redirector current tracks the most recent extent error - in the File Control Block. Prior to this patchset the error - was returned to the requesting thread when the process Id matched - the most recent Process to issue a request. This approach resulted - in a couple of problems. - - 1. There are multiple threads that can issue an extent request - on the same file at the same time representing different processes. - Resetting the process Id with each new request could clear the - error prior to its receipt. - - 2. The failure may be due to inappropriate permissions. Permissions - are not associated with proceses but with Authentication Groups. - - This patchset makes several changes: - - 1. It enables the afsd_service to track the active authgroup as - part of the cm_user_t structure and associates that object with - the BIOD object to ensure that the active authgroup can be - reported to the afs redirector. - - 2. It modifies the AFSExtentFailureCB structure to include the - AuthGroup GUID. - - 3. It tracks the AuthGroup GUID associated with the extent - failure in the non-paged file control block. - - 4. It converts all tests on Process Id to use AuthGroup instead. - - 5. It alters the behavior of error delivery such that reported - error is only cleared after it has been reported once to a - thread using the matching AuthGroup. - - These changes make the situation better but not perfect as error - states can still be lost. However, it avoids the case most often - seen in production where two processes (a end user process and an - anti-malware process) are fighting over a file and the anti-malware - process has no permission to access the file under its own credentials. - - Change-Id: Ia5c3877b8d46de695c86884c4166dc812885a72c - Reviewed-on: http://gerrit.openafs.org/6396 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7e26dfd6dc893d14717aad411460fc781acc4001 -Author: Jeffrey Altman -Date: Wed Dec 21 21:10:45 2011 -0500 - - Windows: Explicit permission check on extent release - - When a data extent is released by the afs redirector or the - afsd_service performs an extent claw back during a cleanup - operation, perform an explicit permission check before attempting - to store dirty buffers to the file server. Instead of waiting - for the file server to fail the request, fail it immediately. - - The permission check is performed using the currently active - authentication group. - - Change-Id: I533f06ec10b8a6f4dbe5e18b1205b20881b5559a - Reviewed-on: http://gerrit.openafs.org/6395 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6cd09ca2e699d2f9817b897e7165fac60560adcc -Author: Jeffrey Altman -Date: Wed Dec 21 21:08:59 2011 -0500 - - Windows: RDR_CleanupFileEntry restrict extent claw back - - Only demand that extents be returned by the afs redirector - if this cleanup is the last open handle or the redirector has - requested that the file be flushed to the file server. - - Change-Id: I03ddcd153d2ded5fc805148a192234742d20b29e - Reviewed-on: http://gerrit.openafs.org/6394 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f6c85f40c06ddb2e527fcd9c39cba779bc82485b -Author: Jeffrey Altman -Date: Wed Dec 21 21:03:52 2011 -0500 - - Windows: remove unused AFSRequestExtents() - - Change-Id: I25251827ab2cfb68ba20cf97eaebb669e4f36a82 - Reviewed-on: http://gerrit.openafs.org/6393 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7a1c8e57a08dcebce2f3b861a0d7bbabcc5272ba -Author: Jeffrey Altman -Date: Wed Dec 21 20:49:59 2011 -0500 - - Windows: Bad DV invalidate only when new DV not 0 - - If the current DV is BAD_VERSION and the new DV is 0, do not send - an invalidation to the redirector. It only results in wasteful work. - If the current DV is BAD_VERSION the object either: - - 1. was never previously known - - 2. was recently flushed - - 3. the cm_scache_t was recycled - - In all cases, the redirector does not have knowledge of the object - since either it didn't exist or a previous invalidation was sent. - - Change-Id: I7e0cf41bae64660e4e1ec342bafcf3ef8a693d56 - Reviewed-on: http://gerrit.openafs.org/6392 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f417dba69230c6b72882ca614a3a8c5691fe561c -Author: Jeffrey Altman -Date: Wed Dec 21 20:45:19 2011 -0500 - - Windows: Define times in terms of AFS_ONE_SECOND - - The afs redirector defines the macro AFS_ONE_SECOND to indicate - the number of 100ns units necessary to indicate one second of time. - Use that definition when defining other time values. Also define - AFS_ONE_MILLISECOND and AFS_ONE_MICROSECOND. - - Change-Id: Ie2a173b4037af61e9a1c5aa06129520c36d714bb - Reviewed-on: http://gerrit.openafs.org/6391 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 37f537a21db6d560dd16a53ff5e0d2f0456d4c48 -Author: Andrew Deason -Date: Mon Dec 19 17:11:31 2011 -0500 - - Include afsconfig.h before anything else - - afsconfig.h can define various preprocessor symbols that can affect - how system headers behave. For example, the presence of the - _POSIX_PTHREAD_SEMANTICS symbol changes the number of arguments to - getpwnam_r on at least Solaris 8. So, we must include afsconfig.h - before including anything else, to ensure consistency. - - Change-Id: I84bc73b3fada5dbc68cd355c24f2f746f2e982b3 - Reviewed-on: http://gerrit.openafs.org/6387 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7ad2965bad8e8b2f085d05be661086dc81da52d3 -Author: Jeffrey Altman -Date: Sun Dec 18 18:36:14 2011 -0500 - - Windows: avoid deadlock during SetRenameInformation - - The VolumeLock must be held before the Fcb->NPFcb->Resource. - Obtain the VolumeLock in AFSSetFileInformation only in the - rename case instead of obtaining the VolumeLockin AFSSetRenameInformation. - - Change-Id: I84f086e3a8f7d08630266c9e409e1e22c1f92742 - Reviewed-on: http://gerrit.openafs.org/6377 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2d8f9141fa98df50ce682364ef5a7958ce422613 -Author: Jeffrey Altman -Date: Sun Dec 18 12:08:24 2011 -0500 - - Windows: terminate HOSTS/LMHOSTS with newline - - If the original file did not terminate with a newline, - add one before appending the "AFS" entry. - - FIXES 130210 - - Change-Id: I35f96120904d09679d62ea4fb65f29648c4abfa5 - Reviewed-on: http://gerrit.openafs.org/6375 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 92bfaae062c596d678220dcb93f9dc61304d3c5a -Author: Peter Scott -Date: Wed Dec 14 12:27:54 2011 -0700 - - Windows: Track AuthGroup in Context Control Block - - Tracking the AuthGroup in the File Control Block proved to be - insufficient to ensure that dirty extents can be stored back - to the file server when an anti-virus service opens a file - in authgroup without 'write' permission immediate after the - application performing a WriteFile() opens it. In this situation - the Fcb ends up with the AuthGroup set to the anti-virus value - and not the one that belongs to the writing application. - - Tracking the AuthGroup by Ccb provides the ability to select - an AuthGroup from the list of open handles instead of tracking - the most recent one. - - Change-Id: I851ea646feb531d7c765e1cf789a4ba541e4a150 - Reviewed-on: http://gerrit.openafs.org/6333 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 714ae7f1840757e0575d25c910b0b9fa2499e354 -Author: Jeffrey Altman -Date: Sat Dec 17 12:14:28 2011 -0500 - - Windows: Tear down extents upon file deletion - - When processing AFS_INVALIDATE_REMOVED, tear down all extents - since they are no longer necessary and return them to the service - for recycling. - - Change-Id: Iec6c0d2c68db16dbf3bd04c51536e13d45f0c1b8 - Reviewed-on: http://gerrit.openafs.org/6365 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c29dc399769c54bbab4af5bd4f828f0d49755860 -Author: Jeffrey Altman -Date: Sat Dec 17 12:13:17 2011 -0500 - - Windows: notify file size change if flushed - - When processing AFS_INVALIDATE_FLUSHED, notify any listeners - that the file size has changed to force a complete refresh. - - Change-Id: Ie5f0076ea786357ae77ef6a76f162c776d555953 - Reviewed-on: http://gerrit.openafs.org/6364 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 20d986fddf6b21abc58b2f3c24aac425cf5d2bf0 -Author: Jeffrey Altman -Date: Sat Dec 17 12:08:49 2011 -0500 - - Windows: forget data version only for flushing - - The AFS redirector was intentionally forgetting the data version - number for AFS_INVALIDATE_DATA_VERSION events. The point of that - event is to ensure that clean data be purged if the data version - in fact changed. Checking the data version for change cannot be - performed if the data version is reset to -1. - - Only when AFS_INVALIDATE_FLUSHED is processed should the data - version be reset to ensure that all of the data is purged. - - Change-Id: I430afc4889c55c49ef24904a987b08042994cfea - Reviewed-on: http://gerrit.openafs.org/6363 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ef31f0f6d1f23bcd882740db4d54a9ffea6e0a64 -Author: Jeffrey Altman -Date: Sat Dec 17 12:07:53 2011 -0500 - - Windows: fix indentation - - Change-Id: I187cfa466830a528d0ac2c77b0006e2b66b0a47c - Reviewed-on: http://gerrit.openafs.org/6362 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 20c871cc67f332f77b1b766f15b2659c0fab8e40 -Author: Jeffrey Altman -Date: Sat Dec 17 11:57:15 2011 -0500 - - Windows: AFSSetRenameInfo log message - - Fix a typo in the log message and change its priority from - error to verbose - - Change-Id: I807d7d6d9118b0fa6af3de638bb9fa2c0d90cbcb - Reviewed-on: http://gerrit.openafs.org/6361 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit d142082caed1eba870ffee017193883a0508306e -Author: Jeffrey Altman -Date: Fri Dec 16 17:24:36 2011 -0500 - - Windows: return error to system paging requests - - If an error has been set on a file, return that error to the - System process for any outstanding extent requests. - - Change-Id: I8f7244f19cc0e3f96a1599ce011251ade0afe3f4 - Reviewed-on: http://gerrit.openafs.org/6360 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 307856353c3f168105ce82f3f3fa8e4c5efb0b6c -Author: Jeffrey Altman -Date: Fri Dec 16 18:24:50 2011 -0500 - - Windows: log volume and authgroup for redir open - - If opening a volume root fails, log the authgroup and volume - to make it easier to debug the error. - - Change-Id: I0c9ffc58ffaf7582a1b22043de2b5d096530de5b - Reviewed-on: http://gerrit.openafs.org/6352 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit db9e5775dd26e6362820b7267f8d971f62dfe2ed -Author: Jeffrey Altman -Date: Fri Dec 16 00:12:39 2011 -0500 - - Windows: save fid/type for redirector invalidation - - Must save the fid/type fields of the cm_scache_t object before - recycling in order to invalidate the contents in the redirector. - - Change-Id: I7914faaa80082033044980deb471eaffbddf3cfc - Reviewed-on: http://gerrit.openafs.org/6359 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0b2639ff4fd732dfac2c1dc058d6c517cc966737 -Author: Jeffrey Altman -Date: Fri Dec 16 17:22:49 2011 -0500 - - Windows: move to head of queue no-op if not in queue - - If the buffer is not in the queue, do nothing. - - Change-Id: Icdb95775bcc6d010ca1926ce4384d9edcd8f1cd3 - Reviewed-on: http://gerrit.openafs.org/6351 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b63ff1319e0ebecdfbdef7365d49d02543bccce8 -Author: Jeffrey Altman -Date: Fri Dec 16 16:15:56 2011 -0500 - - Windows: Properly convert FID structures - - Use the FID conversion function in RDR_SetFileStatus(). - The FID structures are not the same in afsd_service and the - afsredirlib.sys driver. - - Change-Id: I6360f39c8b90c46d468a06c08f0911f55f9142fb - Reviewed-on: http://gerrit.openafs.org/6350 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b3e6db22a1755b7633b522dfe5cbb61949e06466 -Author: Jeffrey Altman -Date: Fri Dec 16 11:43:32 2011 -0500 - - Windows: propagate directory enumeration failures - - If a directory is enumerated with an AuthGroup that has no - permissions, do not treat the enumeration as successful. - - Change-Id: I6a543a1b19b9d2e68ee2c99f67398ed94ad52896 - Reviewed-on: http://gerrit.openafs.org/6344 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f73685c233974403fe63795303cd1659c5bcb2af -Author: Peter Scott -Date: Thu Dec 15 17:52:54 2011 -0700 - - Windows Problem with cross-directory rename - - Not correctly handling cross-directory rename processing - - Change-Id: I36e30a68d7755241c727868074e344beb9580c2d - Reviewed-on: http://gerrit.openafs.org/6343 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2d472f94ab1017724e56bcdd29b9ef451a13f182 -Author: Jeffrey Altman -Date: Wed Dec 14 12:58:36 2011 -0500 - - Windows: Update Adv Firewall Rules - - Do not specify the Service Name property. According to feedback - on openafs-info the Service Name blocks the rule from working properly. - - If the rule already exists, attempt to remove the Service Name filter - and update NAT Edge Traversal and Permitted interface rules. - - Change-Id: I1ab1a0c57f9271b68f91b08e530483a1fa40a165 - Reviewed-on: http://gerrit.openafs.org/6332 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 37a0c3d00a6e2d072faf7c2958ef0c7224add161 -Author: Jeffrey Altman -Date: Thu Dec 15 03:28:34 2011 -0500 - - vol: fix a08c3207255756c825ab69a19e04f79dd879c646 - - Patchset a08c3207255756c825ab69a19e04f79dd879c646 broke the suse - and windows builds by relying on C99 language syntax. Fix it. - - Change-Id: I8220e0504048d2caff00deb08e3bf53599e596b7 - Reviewed-on: http://gerrit.openafs.org/6337 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f469be407789e696c0b9e9a431b4879798a00e2a -Author: Andrew Deason -Date: Wed Dec 14 14:42:08 2011 -0600 - - afs: Clear VHardMount on ResetVolumeInfo - - afs_Analyze sets VHardMount on a volume struct when a hard-mount - scenario is encountered, and clears it after sleeping. However, if the - volume struct has VRecheck set, or if it's not in memory, afs_Analyze - cannot retrieve the volume struct in order to clear VHardMount again. - - For the VRecheck case, this can results in VHardMount never getting - cleared, and so hard-mount messages for the volume seem to disappear. - So, clear VHardMount when we set VRecheck so this does not occur. - - For the case where the volume struct is not in memory, this is not a - problem, since when we allocate a volume struct again, the VHardMount - state will not be retained. - - Change-Id: I607741241e330391b8c857b2a72f0e0cfc0b91cc - Reviewed-on: http://gerrit.openafs.org/6335 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit da3f8d86dd216a90bc400367b7b95e9a427f99e8 -Author: Andrew Deason -Date: Wed Dec 14 14:16:16 2011 -0600 - - viced: Yell when we GetSomeSpace_r - - A GetSomeSpace_r call indicates we don't have enough callbacks - configured. For many people, this can happen without the administrator - realizing anything is wrong, since we never give any indication that - something is amiss, unless the administrator checks the xstat - statistics. - - Since this can indicate a serious performance problem, yell in the log - when this happens. Only do it once, so we don't spam the log. - - Change-Id: I5c881a3c127c20b4f086d59bf3768864307efe92 - Reviewed-on: http://gerrit.openafs.org/6334 - Reviewed-by: Michael Meffie - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit b8e7d61965564557160dcc69301e35ab62ea0510 -Author: Jeffrey Altman -Date: Thu Dec 15 07:00:28 2011 -0800 - - Revert "Windows: cs_CZ localization" - - This reverts commit 642153cae6700e855a8abcc20be207612e1e6b3c - - cs_CZ localization cannot be committed to the repository until: - - 1. Resource DLLs for all components are built in the tree. - - 2. All built components have been successfully tested so that OpenAFS is not shipping code that caused executable components to crash in the cs_CZ locale. - - Change-Id: Id287d150a4c63afdc3f4105d26c9faf211da5395 - Reviewed-on: http://gerrit.openafs.org/6339 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 170ce3db8a32c2b5df68ada3e84ecdaa98785e71 -Author: Michael Meffie -Date: Thu Sep 29 14:44:11 2011 -0400 - - bozo: retry start after error stops - - After a bnode is stopped because of two many consecutive exits - delay for some time and attempt to start the bnode again. Countine - to retry on each error stop, doubling the delay for each retry - attempt until a maxium number of attempts. - - Change-Id: Ib6a4935d09c70c69de87f65717562bd3dcde761b - Reviewed-on: http://gerrit.openafs.org/5534 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit db472e730e3989dac1d49b54d7371b54b24cd63c -Author: Michael Meffie -Date: Fri Sep 30 12:22:27 2011 -0400 - - bozo: preserve all options over restart - - On unix, save all the bosserver command-line options and reuse - them on bosserver restarts. On Windows, the SCM integrator saves - the argument list, just use them. - - Change-Id: Ib54d1b0c9430946cce666d09f5ed923016d5ac8b - Reviewed-on: http://gerrit.openafs.org/5532 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 112b9b35fc701ca26ba7f99c31a73a7a1eecbdc0 -Author: Andrew Deason -Date: Thu Feb 3 16:11:38 2011 -0600 - - volser: Do not reset copyDate in ReClone - - When we ReClone in the volserver, do not reset the clone's copyDate to - the current time. If we retain the copyDate between ReClone - operations, then we can know when the clone was first created (and - thus makes local RO clones more consistent with remote RO sites). - - Change-Id: Ic76862c1a03ee3cafaf199f414fabc90e3b058d2 - Reviewed-on: http://gerrit.openafs.org/3892 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ba24ef73934c2a84dc505cdffad5e41e904aec4b -Author: Garrett Wollman -Date: Fri Jul 29 21:33:10 2011 -0400 - - util: simplify thread-name interface - - It appears that we don't actually need an interface to set the name - of an arbitrary thread (which Mac OS can't do), so remove the - afs_pthread_setname() interface and promote afs_pthread_setname_self() - to the status of primary. - - Change-Id: I2d915d8165dac9ccfe0cb99630db657cb1473389 - Reviewed-on: http://gerrit.openafs.org/5121 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit da89855b492d8d06128ed62b219dc968f5b38a9d -Author: Jeffrey Altman -Date: Tue Dec 13 23:28:15 2011 -0500 - - Windows: AFSRDFSProvider stack overrun - - StringCchXXX functions take the number of characters not - the number of bytes. Use StringCbXXXX functions whenever the - buffer size is being specified. - - Check return codes from StringXXXXXX functions and return errors - instead of blindly continuing with a truncated string. - - Allocate a larger buffer for substitution strings since they - need to handle the device path plus the target path. - - FIXES 130392 - - Change-Id: I62ca980d145d6fef8cf771c26cd634ce1dd55b91 - Reviewed-on: http://gerrit.openafs.org/6248 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 44045af35a6ae44880655115685e0755d6a0c828 -Author: Derrick Brashear -Date: Tue Dec 13 12:19:48 2011 -0500 - - vos: fix code to not triple-negate - - !!! is !. just write it that way. - - Change-Id: I8e788177280c4a1d78cedaffd144a5c4ecba28f2 - Reviewed-on: http://gerrit.openafs.org/6252 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1ca207f18491147bb7f7de3e588fb1979ac3d0c5 -Author: Jonathan A. Kollasch -Date: Tue Oct 11 12:33:19 2011 -0500 - - build tsalvaged, tvolser, and dvolser targets on *nbsd* - - Change-Id: Idb744f57ab92ba2d9af4d7d9ca7c800b3ee880d2 - Reviewed-on: http://gerrit.openafs.org/5595 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a08c3207255756c825ab69a19e04f79dd879c646 -Author: Michael Meffie -Date: Tue Jul 26 09:18:44 2011 -0400 - - volscan: print vnode metadata information - - volscan program to print vnode meta-data in a grep/awk/perl friendly - format. Optionally, find the paths of each vnode relative to the volume - root. Access control list data can be reported, and are listed as one - access entry per line. Mount point information can be shown to which - volumes are mounted from given volumes. - - The path lookup code originally written by Tom Keiser. - - Change-Id: I743e1a33d9e6076e4f1b1b2cc462960a94e3763b - Reviewed-on: http://gerrit.openafs.org/5102 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 33526acb56c1794838c6a8c02e9b8f5022a04ac1 -Author: Simon Wilkinson -Date: Thu Nov 24 17:43:45 2011 +0000 - - Unix CM: Log reason for marking server up or down - - When we mark a server up or down also log the error code that says - why we did so, for help in debugging connection issues. - - Change-Id: I1a14434607499c9932e23724b8e403442dc400c7 - Reviewed-on: http://gerrit.openafs.org/6116 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 752daf71cd75aa707fabb1b4598dd8ef1f51f973 -Author: Michael Meffie -Date: Mon Jul 25 22:02:04 2011 -0400 - - volinfo: implement -checkout option - - Implement the -checkout option using the FSSYNC communication - channel with the fileserver. - - Change-Id: I119fab0c238fd37eb85c9810626ee91210b2efb6 - Reviewed-on: http://gerrit.openafs.org/5101 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0d0a8288c1cdd05bbf5717ac45638cf6760ee7a8 -Author: Michael Meffie -Date: Mon Nov 21 19:12:56 2011 -0500 - - vol: log error reason on header read failure - - Log the error reason instead of just VSALVAGE when - ReadHeader() fails. - - Change-Id: I24d5ca175310345ee4ce095229b08d9e7c75f700 - Reviewed-on: http://gerrit.openafs.org/6108 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 2df43a5cb6add00eed05d70537b3172452f4674c -Author: Lukas Volf -Date: Sun Dec 4 18:52:49 2011 -0500 - - Windows: cs_CZ localization - - Resource conversion for the cs_CZ locale. Does not include - installer updates. - - Change-Id: Ifac0d7d9818dc662e584bc74701133cada9fbf33 - Reviewed-on: http://gerrit.openafs.org/6227 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4d76b19b600aad461ee1231eeadb9b7a27b7f117 -Author: Derrick Brashear -Date: Tue Dec 13 23:49:38 2011 -0500 - - libafs: disable mtu discovery - - we need to rework this to use lack of soft acks instead of this - method, which is too fragile - - Change-Id: Iedcd1e57e2c6a6c15ce3c040a9a9e6ae7d78bb36 - Reviewed-on: http://gerrit.openafs.org/6256 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 78885611ac8aa6602a4a1f42379c9d78ef226100 -Author: Derrick Brashear -Date: Tue Dec 13 23:20:01 2011 -0500 - - libafs: only do pings for default conn with root uid - - instead of doing it for potentially every unauth user, just do it for - root. - - Change-Id: I39ef22578eb07c339b096b25753a1775c9917e0b - Reviewed-on: http://gerrit.openafs.org/6255 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f30d70ba5575753302be0a2b08c27a639898d4aa -Author: Jeffrey Altman -Date: Sat Dec 10 13:28:17 2011 -0500 - - Windows: memory leak when setting tokens via smb - - The SID string of the RPC used to set the token sessionKey - was being leaked. Be sure to free it when it is no longer - required. - - Change-Id: I28261643680d608d5c8805e095650a751193ab6d - Reviewed-on: http://gerrit.openafs.org/6244 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 41d145b303d61aa6f8f336e4d66748dea860d08f -Author: Jeffrey Altman -Date: Fri Dec 9 18:40:42 2011 -0500 - - Windows: Suspend/Resume for afsd_service - - The power mgmt events are received in the service. The service - can block all requests from the redirector from being processed - until it knows that it is safe to process them. - - The service will receive a SERVICE_CONTROL_APMSUSPEND just before - the system goes to sleep. The service has two seconds to respond - and it uses that time to attempt to send RXAFS_GiveUpAllCallBacks - to all file servers as an rx_multi with no wait. It also marks - all servers down and updates the callback expirations to be just - after the servers were marked down so that they will be forced to - be refreshed when the server is marked up. - - Upon resume the service receives two events. First, - SERVICE_CONTROL_APMRESUMEAUTOMATIC which is used to perform an - SMB lan adapter change detection and perform a probe of all down - servers. The second, SERVICE_CONTROL_APMRESUMESUSPEND is used to - resume SMB listeners, perform a 2nd lan adapter change check (just - in case), check the status of all down servers in additional - networks have come up, and finally resume processing of redirector - requests. - - With these changes no special logic in the redirector is required. - - Change-Id: I5405ecab754dca04f34afb024c4dacc3fe089088 - Reviewed-on: http://gerrit.openafs.org/6243 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6d6d52e18f3bd537331de6021a0fcc2e96fc48db -Author: Karl Ramm -Date: Sun Dec 4 13:56:29 2011 -0500 - - Print "waiting for job termination" at most once. - - This message is useless, annoying, and is the UI equivalent of littering... but - it does explain why your backup command is just sitting there. - - Change-Id: Ied49d0bf9f81b0e10804133c6f05814321d80438 - Reviewed-on: http://gerrit.openafs.org/6223 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f238d4854d1f32836228f2d191c8a9d265d4b181 -Author: Jeffrey Altman -Date: Thu Dec 8 10:00:57 2011 -0500 - - Windows: increase timeout for extent request retries - - The AFS Redirector requests file data extents from the afsd_service.exe. If - it does not receive the requested extent within 10 seconds it issues another - request for that extent. Extent processing in the afsd_service is handled - by background daemons that process tasks serially from a work queue. When - the load on the system is large enough that satisfying the work queue takes - longer than 10 seconds, the redirector would retry the request. This would - increase the length of the work queue and increase lock contention. - - Increasing the timeout period for extent retries to two minutes - significantly reduces the number of retry attempts while maintaining - protection against a lost extent request. Two minutes is selected because - that is the rx hard dead call timeout. - - Change-Id: I8169fbdc2d3456f151359ffe9eaa8eeccb2ceaf1 - Reviewed-on: http://gerrit.openafs.org/6237 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f2c0c51f781495be0d28a75e5d7a786bbe9dddda -Author: Peter Scott -Date: Wed Dec 7 20:29:00 2011 -0500 - - Windows: include owner/group in Security DACL - - Include the World (Everyone) SID as the owner and group for - all files in AFS. - - FIXES 130343 - - Change-Id: I01d697d7a6dea8e0bea67b81c14597c197b4241d - Reviewed-on: http://gerrit.openafs.org/6236 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7a93c827f353e2ad695d8019ab789b02a3596f2e -Author: Jeffrey Altman -Date: Sun Dec 4 23:15:13 2011 -0500 - - afs: prevent nat pings on destroyed connections - - If the connection is no longer in use, reset the nat keep alive - timer to 0 seconds. - - Change-Id: I72b69979fb8b15ab5afaa654b317edc254253b4b - Reviewed-on: http://gerrit.openafs.org/6230 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 942dae0dd02f2e222ace5d003b1c55397a4018ff -Author: Jeffrey Altman -Date: Sun Dec 4 13:42:08 2011 -0500 - - Windows: Release Notes Updates - - Updates for 1.7.3. - - Grammar improvements. - - Reformatting. - - Change-Id: Iff829f343e0140943495a19406746b30a70ed235 - Reviewed-on: http://gerrit.openafs.org/6222 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 57316878e03691f7e320013b21f0c7640877e11e -Author: Simon Wilkinson -Date: Sun Nov 20 18:11:53 2011 -0500 - - rx: Make CALL_RELE and CALL_HOLD lock refcnt mutex - - The reference count mutex must always be held when calling CALL_RELE - or CALL_HOLD. Instead of requiring that the caller obtain, and release - the mutex, do so within the HOLD and RELE macros, greatly simplifying - calling code. Provide CALL_RELE_R and CALL_HOLD_R as versions of these - macros which can be used by callers who already hold the reference - count mutex for other purposes. - - Change-Id: Ie3e9df8b9d2a79476f1707bd65e588f43271c636 - Reviewed-on: http://gerrit.openafs.org/6219 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1ef8dc3dfbddcbe5610c276afc627c9fcfe30a65 -Author: Ben Kaduk -Date: Sat Dec 3 14:37:09 2011 -0500 - - FBSD: switch afsi_SetServerIPRank implementation - - Upstream has removed the ia_net{,mask} elements from - struct in_ifaddr, so we can no longer use them directly. - Switch to passing an rx_ifaddr_t (i.e. struct ifaddr*) in instead, - as that uses a slightly different codepath which still works - for our purposes. - - We compile the kernel module with -Werror, so storing a pointer - (memcpy return value) in an int is forbidden, hence the conditional - declaration of 't'. - - Change-Id: Ifefef88a353f4bd50a714ad88afa3a6f012fa3a1 - Reviewed-on: http://gerrit.openafs.org/6203 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit aefb10920740e537aa26d841d16302e6ce8e3d76 -Author: Simon Wilkinson -Date: Sun Nov 20 18:07:41 2011 -0500 - - rx: Helper function for decrementing conn refcnt - - The code to lock the reference count mutex, reduce the connection - reference count, then unlock the mutex, is duplicated many times - throughout rx.c. Replace all of these multiple copies with a single - inline function. - - Change-Id: I7adb460019d7434b32a16250cc026be667e7c55d - Reviewed-on: http://gerrit.openafs.org/6218 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 64b00c3a1a87739621f58c777fc3cc54fb15a0af -Author: Simon Wilkinson -Date: Sun Nov 20 16:31:28 2011 +0000 - - rx: Hide the rx_packet.h - - Hide the rx_packet.h, and hence the rx_packet structure from - application view. rx_packet.h is currently still installed, and is - included directly by RX security classes, to reduce the per-packet - overhead there. - - Change-Id: I269ccf4405a8f83cab4b0392b830bc1f36471c29 - Reviewed-on: http://gerrit.openafs.org/6182 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a57f6434e81539d3f261f0dd57327ae4dcd98caa -Author: Jeffrey Altman -Date: Sat Dec 3 21:20:05 2011 -0500 - - Windows: define MIN and MAX - - MIN and MAX are used throughout the tree. Windows does - not define them. A future patchset should convert the - openafs src tree to use min and max. - - Change-Id: Ibe7bba6a49e3c85f94cd1e1c45e904764bf06e02 - Reviewed-on: http://gerrit.openafs.org/6209 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d3eaa39da3693bba708fa2fa951568009e929550 -Author: Simon Wilkinson -Date: Sun Nov 20 14:58:28 2011 +0000 - - rx: Make the rx_call structure private - - Hide the rx_call structure for public view. Provide accessors for - those elements which are currently accessed by applications. - - Note that this change as it currently stands removes the visibility - of the last sent time, and sequence number information, from the - VolMonitor function. - - Change-Id: Ib25ab5635126f893ae43acb684d92a78278d6ca6 - Reviewed-on: http://gerrit.openafs.org/6181 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit aa76c8f670012d4591489db374bad48118defa36 -Author: Simon Wilkinson -Date: Tue Nov 15 10:40:44 2011 +0000 - - rx: Make struct rx_connection private - - Move the rx_connection structure into a private header file, so that - it is only visible from within the rx module. This allows us to use - types within the structure that are not visible to everywhere that - includes rx.h, as well as being a step towards a more stable ABI for - RX. - - Add accessor functions for all of the connection members which are - currently used by external callers, and modify those accessors - which were implemented as macros to also be functions. - - Change all external access to the connection structures to use these - new functions. - - Change-Id: Ife67e63f37cb04273fbfc9079db3907bde78ab98 - Reviewed-on: http://gerrit.openafs.org/6180 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 01f55bbf14210ef3e4f4c0246409af370de3a383 -Author: Jeffrey Altman -Date: Sat Dec 3 17:49:47 2011 -0500 - - Windows: apply Nat Pings only to cm_rootUser connections - - Use CM_UCELLFLAG_ROOTUSER flag to identify the cm_rootUser - connections and only apply Nat pings to those connections - instead of examining the security state of the connection. - - Change-Id: I978501972509d1e58b08b630e1ff046b404e59d8 - Reviewed-on: http://gerrit.openafs.org/6208 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2495d02951fa1a9f6f48cc2a5bc7750f310dae75 -Author: Jeffrey Altman -Date: Sat Dec 3 17:46:41 2011 -0500 - - Windows: track cm_rootUser connections - - Add CM_UCELLFLAG_ROOTUSER flag to cm_ucell_t for the purpose - of tracking which connections belong to the cm_rootUser. - - Change-Id: Icd809631637d4fc6c2bb1bd93e7cab74f2fb5c2b - Reviewed-on: http://gerrit.openafs.org/6207 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f37df60763a306fb70f791f7dcba9cec2ec27c7e -Author: Jeffrey Altman -Date: Sat Dec 3 15:45:53 2011 -0500 - - rx: rx_conn/rx_peer refCount signed - - Can't trace reference count underflows with rxi_LowConnRefCount - and rxi_LowPeerRefCount if they cannot become negative. - - Change-Id: I429da00a8e711c2e562378ec5d6601093293a55b - Reviewed-on: http://gerrit.openafs.org/6205 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5c6640bf0b2b365d4871051db7a1be6075d44666 -Author: Simon Wilkinson -Date: Sat Dec 3 21:10:43 2011 +0000 - - rx: Some kernels have no reschedule function - - If RXK_TIMEDSLEEP_ENV isn't set, then Unix kernel cache managers - call rxevent_Init without a reschedule function. Check for this so - we don't end up calling a NULL function in these situations. - - Change-Id: I5e89f5247aeffc4c27d3f81c0ccabe4979232846 - Reviewed-on: http://gerrit.openafs.org/6206 - Reviewed-by: Benjamin Kaduk - Tested-by: Benjamin Kaduk - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0fb7d852845effce50d896416cf8b4ba3c19d6e1 -Author: Jeffrey Altman -Date: Fri Dec 2 23:38:01 2011 -0500 - - Windows: npdll connected query returns no usage - - In response to a NPEnumResources CONNECTED scope query, the usage - field is always set to zero. If the CONNECTABLE flag is set, - mpr.dll will filter the entry out of the result list. - - Change-Id: If939f9f168fe2e02a1a8287c661ec2e1cda5eb8f - Reviewed-on: http://gerrit.openafs.org/6195 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b34a2df4c706838e680bdcd15528862c49b5ba6c -Author: Simon Wilkinson -Date: Sat Dec 3 11:20:57 2011 +0000 - - Windows: Use roken's min and max - - roken provides min() and max() macros. Use these, rather than our own - MIN() and MAX() - - Change-Id: I82456c061cb274490e2ef2966a7075c2bde1f016 - Reviewed-on: http://gerrit.openafs.org/6196 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3328770612b7205abb92df5b5f4737eb3349c910 -Author: Edward Z. Yang -Date: Sun Nov 20 15:48:33 2011 -0500 - - Add OpenAFS to the dependencies of remote-fs. - - Signed-off-by: Edward Z. Yang - - Change-Id: Icd1fd34dc3a5c849a2b698c1da08eb4003e6efa1 - Reviewed-on: http://gerrit.openafs.org/6093 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c22aa6c121bfbc71d5d6d4b628ee4585f4e134cf -Author: Ben Kaduk -Date: Fri Dec 2 20:24:04 2011 -0500 - - Remove dead code from rxi_FindIfnet() - - There is a separate implementation for DARWIN and XBSD above, so - having a check for DARWIN here is pointless. - - Change-Id: I66741dd1d8dbddc19809fd6e6fcd0897f047f222 - Reviewed-on: http://gerrit.openafs.org/6193 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1c4cd446605706e55e415cec15841acf8b1572e1 -Author: Simon Wilkinson -Date: Sun Nov 20 16:29:55 2011 +0000 - - rx: Refactor MaxMTU error checking - - The error checking on the rxMaxMTU parameter was done individually by - every server that sets it, using "internal" RX #defines to do so. - Instead, do the error checking within the function that actually sets - the MTU, reducing both the amount of code duplication, and the amount - of RX knowledge held within the servers. - - Change-Id: Ic2cdd9425d5344a5137f76f66f711f4dee91a7b6 - Reviewed-on: http://gerrit.openafs.org/6091 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ae227049fca2519e1f5ae1e8b68efbff10ebb665 -Author: Andrew Deason -Date: Fri Dec 2 14:36:59 2011 -0600 - - salvager: Create link table with volume group id - - The link table needs to be created with the VG id or RW vol id, not - the non-RW vol id. Unlike other special inodes, this goes for both the - 'parent' and 'volume' volume ids, not just the 'parent' id, since - there is only one link table per VG. - - Without this, the salvager can generate invalid linktable special - inodes if it encounters a VG with no inodes for the RW vol. - - Change-Id: I10725c514ef1b8a5b09a506e42596b51b74af5a2 - Reviewed-on: http://gerrit.openafs.org/6179 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 53230846a202a50f6c3a61b38d62ccba8876f89d -Author: Andrew Deason -Date: Wed Nov 30 17:41:53 2011 -0600 - - DAFS: Ensure logging on attach2 errors - - The attach2 error path transitions a volume to VOL_STATE_ERROR, in - case whatever got us to that error path did not already put the volume - in an appropriate state. Log when we do this, to make sure we do not - end up with a volume in VOL_STATE_ERROR state silently. - - Change-Id: I02c842b64882d96e707e867ee0f7730a2bebd405 - Reviewed-on: http://gerrit.openafs.org/6168 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d5d2d00a47cf53054bd18d7404be26bea34cba6f -Author: Andrew Deason -Date: Wed Nov 30 17:35:56 2011 -0600 - - DAFS: Avoid unnecessary preattach on FSYNC_VOL_ON - - FSYNC_VOL_ON/FSYNC_VOL_ATTACH can be called to "online" a volume that - was actually kept online for the duration of the volume operation. - Avoid calling VPreAttachVolumeByVp_r for such a volume if it's already - attached, in order to avoid an unnecessary log message and to save a - tiny bit of processing. - - Change-Id: I7776b933599ec0488941ccbd9a8e1279f5a552f4 - Reviewed-on: http://gerrit.openafs.org/6167 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4fd8347e842af61681c1718e456500b92c5b6ea9 -Author: Andrew Deason -Date: Wed Nov 30 17:21:32 2011 -0600 - - DAFS: Log more for VPreAttachVolumeByVp odd states - - When we encounter "odd" states in VPreAttachVolumeByVp_r, say what the - actual state we encountered was, along with the attach flags, so we - have a better idea of what's going on. - - Change-Id: Ic5d07d249db7b51301b3ac903ba987cfa21922ee - Reviewed-on: http://gerrit.openafs.org/6166 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f59312c0aee1a5376b29262efc6e6ea71264305a -Author: Andrew Deason -Date: Wed Nov 30 17:08:57 2011 -0600 - - DAFS: Ensure GetVolume errors on ERROR volumes - - In GetVolume, after we call VAttachVolumeByVp_r, there is no explicit - check to see if vp is in VOL_STATE_ERROR state. Make sure we don't try - to use such a volume, or blindly transition the volume away from that - state. - - Change-Id: Ib2c975ac215eeff28b4ff5f5bb0a387298d7aab9 - Reviewed-on: http://gerrit.openafs.org/6165 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5fc2365f5dff7f193781093ecb886b4c7391d5a3 -Author: Andrew Deason -Date: Wed Nov 30 14:36:06 2011 -0600 - - DAFS: Do not transition to ERROR on trivial errors - - attach2 can result in many different errors; some indicate that the - volume is in an inconsistent state, but many others just indicate that - the volume cannot be attached for benign reasons (such as VNOVOL if - the volume doesn't exist, or VOFFLINE if the volume is being used by a - volume utility). Currently, for DAFS, attach2 transitions the relevant - volume to the VOL_STATE_ERROR state for almost all errors encountered, - even the benign ones. Instead, skip the error state transition for - error handling paths that do not reflect a "broken" volume. - - Change-Id: I07754f715920c4ee30fb156fb2412d1e1a7e2597 - Reviewed-on: http://gerrit.openafs.org/6164 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9de84a1e67cb3570dedef4ac4552901210b19e5f -Author: Jeffrey Altman -Date: Fri Dec 2 18:49:23 2011 -0500 - - Windows: GetInfoTip really set return to NULL - - When we are not returning an info-tip string from the shell - extension the string output parameter must be set to NULL. - - Change-Id: I63cd9bbe078edd01e62d4b0c810a513dfbf205ae - Reviewed-on: http://gerrit.openafs.org/6183 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3fce5b3541d118bc452fe236e557acde57587462 -Author: Jeffrey Altman -Date: Fri Dec 2 13:41:38 2011 -0500 - - Windows: memset in RDR_RequestFileExtentsAsync - - The logic in RDR_RequestFileExtentsAsync() made it possible - for memset() to be called multiple times on a buffer that - is already known to be up to date. Restructure the code to - make things faster. - - Change-Id: Iea09b01f126a6d8915e6bf3dd3978ad4b482eb03 - Reviewed-on: http://gerrit.openafs.org/6178 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a60594ef54c1458f6778d0b16d870803e1594d41 -Author: Jeffrey Altman -Date: Fri Dec 2 13:36:01 2011 -0500 - - Windows: cm_MergeStatus redirector invalidation - - The redirector maintains its own cached status information which - must be updated when a DV change occurs that is not the result - of a redirector initiated data change. - - If the current old DV is BAD, send a DV change notification. - - If the DV has changed and request was not initiated by the - redirector, send a DV change notification. - - If the request was initiated by the redirector, send a notification - for store and directory operations that result in a DV change greater - than the number of active RPCs or any other operation that results - in an unexpected DV change such as FetchStatus. - - Change-Id: I6dd4c9d450901e4b5d4c8d67841e3b833cebbe1f - Reviewed-on: http://gerrit.openafs.org/6177 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2a2ae16511bae032025ffcfbbe4e78b2de1f8eff -Author: Jeffrey Altman -Date: Fri Dec 2 13:31:15 2011 -0500 - - Windows: cm_MergeStatus use new DV to purge buffers - - When deciding whether or not to purge buffers on a DV change - it is the new DV that matters not the old DV. If the new DV - is 0, there should be no purging because there are no buffers - to purge. - - Change-Id: Ie505348dbbf8173e477645e5022410ddd3028240 - Reviewed-on: http://gerrit.openafs.org/6176 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6ee14eef3679fbcdecfe6b1d7879309c9360bb61 -Author: Jeffrey Altman -Date: Fri Dec 2 13:21:24 2011 -0500 - - Windows: use interlocked increment on cm_buf_t refcnt - - For consistency use interlocked increment when setting the - cm_buf_t refCnt to 1 even though it is protected by a lock. - - Change-Id: I91fbb1469715ee6b7d6f94f416c59ebcd1645336 - Reviewed-on: http://gerrit.openafs.org/6175 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 500ffccfd66123c74a0d32c04801e5906f58e58a -Author: Jeffrey Altman -Date: Fri Dec 2 11:21:46 2011 -0500 - - Windows: buf_GetNewLocked should use cleaned cm_buf - - buf_GetNewLocked() searches the free buffer list for a buffer - that has a 0 refcnt, is not in the chunk that is being populated, - is not actively having I/O performed on it and is not dirty. - If it comes across a dirty buffer, it calls buf_Clean() with - the assumption that buf_CleanAsync() (as it was previously called) - was in fact asynchronous and would return immediately. Instead - buf_Clean() is synchronous and when it completes the buffer will - in most cases be clean. buf_GetNewLocked() should use the newly - cleaned buffer if it is still available and not continue the - search from the next entry in the free buffer list. - - Change-Id: Iae629df57b9d27a813f7f4c6740be23bd33fe039 - Reviewed-on: http://gerrit.openafs.org/6174 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7dccf17840a53e96b21f8c092910f3e4d7628b71 -Author: Jeffrey Altman -Date: Fri Dec 2 11:19:13 2011 -0500 - - Windows: fix buf_Recycle() comment - - buf_Recycle() does not return with a reference count to the - cm_buf_t object held. Correct the comment. - - Change-Id: Ic6acde3178afe59181436d9c10d4ddfb05340372 - Reviewed-on: http://gerrit.openafs.org/6173 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c712403f192bd9932f3ec1dce5fb23461d3d0349 -Author: Jeffrey Altman -Date: Fri Dec 2 11:14:11 2011 -0500 - - Windows: buf_CleanAsync is not async; rename it - - buf_CleanAsync() calls cm_BufWrite() which stores the dirty - buffers synchronously. There is nothing asynchronous about - buf_CleanAsync() so rename it to buf_Clean() and buf_CleanAsyncLocked() - to buf_CleanLocked(). Update the comments to remove the references - to the asynchronous processing which doesn't exist. - - That is not to say that the call to buf_Clean() in buf_GetNewLocked() - should not be asynchronous; it should. There is no such functionality - at the moment. One approach would be to modify buf_IncrSyncer to - trigger on an event set by buf_GetNewLocked() instead of the call - to buf_Clean(). Another approach would be registering a background - store event. In any case, that is for another patchset. - - Change-Id: I4c6d08d2a81b36f3cc43ada96acfa0ff9db23845 - Reviewed-on: http://gerrit.openafs.org/6172 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b26161284fef682e570377e70c7ebe5b6e8902fb -Author: Jeffrey Altman -Date: Fri Dec 2 11:11:59 2011 -0500 - - Windows: convert buf_IncrSyncer to pthreads - - buf_IncrSyncer() calls rx therefore it should be a pthread - thread so as not to count against the 63 native thread count - limit. - - Change-Id: If00eeb7d26bfbf7d0f35addb05290f3704d11a89 - Reviewed-on: http://gerrit.openafs.org/6171 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2aeb041bb0f5de94d553bc3fb6b2d39c82750952 -Author: Jeffrey Altman -Date: Wed Nov 30 23:29:56 2011 -0500 - - Windows: invalidate rdr for CM_SCACHE_VERSION_BAD - - If the cm_scache_t.dataVersion is set to CM_SCACHE_VERSION_BAD, - invalidate the redirector notion of status so that we do not - leak info to users that do not have permission. - - If the dataVersion is CM_SCACHE_VERSION_BAD and is updated - with real status info, invalidate the redirector so it attempts - to read the directory contents. - - Change-Id: Iaa15b37f7f1863169ffe93ae9bc3d24086a3b734 - Reviewed-on: http://gerrit.openafs.org/6159 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 79833cbc64c8ccd051060782a381af1ad0cc8d50 -Author: Jeffrey Altman -Date: Wed Nov 30 23:28:46 2011 -0500 - - Windows: do not set CM_SCACHEFLAG_EACCES twice - - correct a merge error. - - Change-Id: Iaf57703403a5c7555da730be0907bd31c9dfb34f - Reviewed-on: http://gerrit.openafs.org/6158 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0ee7fcc0a49494ad66778012b7808f80ee3af8d3 -Author: Andrew Deason -Date: Thu Dec 1 11:20:41 2011 -0600 - - SOLARIS: Define BSD_COMP for non-UKERNEL on 5.11 - - We were defining BSD_COMP twice for UKERNEL. Move one of the #define's - up to the !UKERNEL section. - - Change-Id: I91b90d666ab83a2037549c3f66ea038234a42e11 - Reviewed-on: http://gerrit.openafs.org/6162 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a9007cf81cb8cb390cbd2e5a93e47b1d231819e8 -Author: Derrick Brashear -Date: Thu Dec 1 12:34:38 2011 -0500 - - afsd.fuse: link libopr - - needed for rbtrees. linktest does so; we also need to - - Change-Id: Ic5c8aaa0727a979212ed4f089d915b106c00fac8 - Reviewed-on: http://gerrit.openafs.org/6163 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 25672ad8cdda42231b15937f0d390bea5b9e3b17 -Author: Derrick Brashear -Date: Wed Nov 30 16:20:23 2011 -0500 - - remove CopyOnWrite2 and unused vars - - unused static functions make grumpy compilers grumpy. - - Change-Id: I2a48e2993193a615bffe331f19948bfc46fba16b - Reviewed-on: http://gerrit.openafs.org/6157 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cdc26d92ed2022d7a424ca0fffb96bba5e9ea503 -Author: Derrick Brashear -Date: Sun Nov 27 11:23:29 2011 -0500 - - viced: disable accelerated copyonwrite - - don't do multistage CoW - - FIXES 130295 - Change-Id: Iec35619b970d87a72ed497d4bbec0b9415c9ddf7 - Reviewed-on: http://gerrit.openafs.org/6135 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0c01c36245c53db93ec6418b2b7ff7f679181765 -Author: Jeffrey Altman -Date: Tue Nov 29 15:02:12 2011 -0500 - - Windows: AFSRDFSProvider log to file - - For when logging via OutputDebugString() is insufficient, add - a cheap method of logging to a fixed file: c:\temp\AFSRDFSProvider.log. - Set AFSRedirector\NetworkProvider "Debug" to 0x2. - - Change-Id: I419bfbe251b8ef58d7c1b7921badde19d72c34e6 - Reviewed-on: http://gerrit.openafs.org/6142 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7ba9129141387e7c24a695a94fb602df368e3917 -Author: Jeffrey Altman -Date: Tue Nov 29 15:01:00 2011 -0500 - - Windows: NPEnumResources no Printer support - - The AFS Redirector does not support printer shares. If the - query is for printers only (or any other query that does not - permit disk shares as a response) return no more entries. - - Change-Id: Ide9fc58489bed7f4a9cf50da24a98a9b2477b72d - Reviewed-on: http://gerrit.openafs.org/6141 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 31d80e64683a6e7ce33ab714759e74a18454110d -Author: Jeffrey Altman -Date: Tue Nov 29 14:59:24 2011 -0500 - - Windows: NPGetConnectionCommon buffer too small - - If the specified buffer size is too small, say so. Do not - attempt to copy data in that won't fit. Do not walk beyond - the end of the allocated memory. - - Change-Id: Id4a75273d8ec9e9cc8471a963bc32f6cad59163e - Reviewed-on: http://gerrit.openafs.org/6140 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9fa28d7df3034600026aacbfb902a4f92446253b -Author: Jeffrey Altman -Date: Tue Nov 29 14:55:55 2011 -0500 - - Windows: no drive subst for NPCancelConnection - - NPCancelConnection() must use the results of a Get Connection - ioctl to the afs redirector and not the result of Drive Letter - Substitution queries via DosQueryDevice(). Rename NPGetConnection() - to NPGetConnectionCommon() and add a new parameter to indicate - whether drive substitution is ok. - - Change-Id: I42cd4488038f128ae90356a41bc538966d9cebed - Reviewed-on: http://gerrit.openafs.org/6139 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit abfa8f00293780fd751ba8de3ee4ce6cbdb00e90 -Author: Jeffrey Altman -Date: Tue Nov 29 14:54:24 2011 -0500 - - Windows: refactor NPCancelConnection - - refactor NPCancelConnection to consolidate some conditional - blocks to improve readability. - - Change-Id: Ic3aaaac10809caeaab10fdb6c759be8d55d1f75c - Reviewed-on: http://gerrit.openafs.org/6138 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d6900a7cd1722648f4107f82d0d74d01f6da1810 -Author: Chris Orsi -Date: Sat Nov 26 17:26:10 2011 -0500 - - Windows: Mount Point and Symlink Overlay Icons - - Change-Id: I34b8166664f54878eb58a0dcc3e1241cb977aa5f - Reviewed-on: http://gerrit.openafs.org/6137 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bd7cecb3277b2980a880c68e70a7ca761285347c -Author: Jeffrey Altman -Date: Mon Nov 28 18:42:21 2011 -0500 - - Windows: Wix disable integrated logon by default - - One of the significant differences between the NSIS and Wix - installer packages is that NSIS does not activate integrated - logon by default whereas the Wix installer does. Enabling - integrated logon without configuring the cell, CellServDB, - installing Kerberos v5 and configuring krb5.conf can result - in a very long wait at logon. Now that NSIS is no longer - being supported and cannot be supported as a native 64-bit - installer mechanism we must disable integrated logon by - default to prevent more bad end user experiences like - @Lotterleben described on Twitter. - - Change-Id: I10be4185177f94e53295a7641dd387feb295eaa5 - Reviewed-on: http://gerrit.openafs.org/6132 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 043c31bf8d81f5aba968f69c613b639e1d0e3ee7 -Author: Simon Wilkinson -Date: Sun Oct 23 21:21:39 2011 +0100 - - rx: Use a red black tree for the event stack - - Instead of the current event stack, which uses a sorted linked - list, use a red/black tree to maintain the timer stack. This - dramatically improves event insertion times, at the expense of - some additional implementation complexity. - - This change also adds reference counting to the rxevent - structure. We've always had a race between an event being - fired, and that event being simultaneously cancelled by - the user thread. Reference counting avoids that race resulting - in the structure appearing twice in the free list. - - Change-Id: Icbef6e04e01f3eef5b888bc3cb77b7a3d1be26ae - Reviewed-on: http://gerrit.openafs.org/5841 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit a9682775fcb047e4bcd3994d582ada430d28e264 -Author: Simon Wilkinson -Date: Fri Nov 11 09:33:31 2011 +0000 - - Unix CM: Build rbtrees in kernel - - Build the new opr rbtree code in the Unix kernel module - - Change-Id: I8271b209c8c17c4c651f2499cd8f60e44818a828 - Reviewed-on: http://gerrit.openafs.org/5842 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 073edd3fbdf442249920acea8f3ee90b6346bf23 -Author: Andrew Deason -Date: Tue Nov 29 12:07:49 2011 -0600 - - udebug: Fix endianness when fudging lastYesHost - - hostAddr is in NBO, lastYesHost is in HBO. - - Change-Id: Id11046426512c79b8e760841e1e13cf91deb0b4c - Reviewed-on: http://gerrit.openafs.org/6136 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 82809787d5addcec4a64ce71bb5b7d389ee4623b -Author: Jeffrey Altman -Date: Mon Nov 28 19:15:33 2011 -0500 - - Windows: FSync not CleanVnode during Cleanup - - cm_FSync() is buf_CleanVnode() plus a sync of metadata which - is required during last handle close. - - FIXES 130351 - - Change-Id: I25635e3c9768dbf7d9501178b99cdd64a5be7789 - Reviewed-on: http://gerrit.openafs.org/6134 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bf4f9f33dc55150d991d9eec4ea95d78208f6949 -Author: Jeffrey Altman -Date: Mon Nov 28 18:45:55 2011 -0500 - - Windows: Wix cell names can be greater than 120 chars - - Increase the permitted length in the UI to 255 characters. - - Change-Id: I33d3f546da8b38f89bb88352abcb908879728771 - Reviewed-on: http://gerrit.openafs.org/6133 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 006815ca2f4df1ed5236fc377da2647895853b0a -Author: Jeffrey Altman -Date: Mon Nov 28 15:13:43 2011 -0500 - - Windows: cache format version change - - With the change to the size of the osi_mutex_t and osi_rwlock_t - structures the CM_CONFIG_DATA_VERSION must change to force a - reconstruction of the cache file. - - Change-Id: I0aadd2f7c699a5daaa87acf749957ff65d51fe6e - Reviewed-on: http://gerrit.openafs.org/6131 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit a07338f4ccc5062e224405ccda0c9ed41e666f5e -Author: Jeffrey Altman -Date: Sat Nov 26 17:26:50 2011 -0500 - - Windows: osi_mutex / osi_rwlock changes - - Reorganize the osi_mutex and osi_rwlock structure so - that all counters are 32-bit and pointers are - aligned. This requires adding padding fields. - - Move lock validation checks within the critical section. - - Include additional assertions checking the ownership - state and protecting against under/overflows. - - Increase the size of the rwlock tid array to support - a larger number of simultaneous readers. - - Change-Id: Ia46684c601a1a589a210a36862ae6ad6448a435e - Reviewed-on: http://gerrit.openafs.org/6130 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 5d7adc6b67dedf0dc888196812e66b131cf91bbc -Author: Jeffrey Altman -Date: Sat Nov 26 10:55:27 2011 -0500 - - Windows: convert daemons threads to pthreads - - The daemon threads make calls to Rx and therefore need to - be created with the pthread package to prevent the threads - from being tracked as 'native' threads by the pthread_thread_shutdown - thread which can only track up to 63 native threads. - - Change-Id: I8d096be9398a0a541bb59eb245cd7b3fe6f3843c - Reviewed-on: http://gerrit.openafs.org/6119 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8e14168c9c77850ce0603d56f8aa280f73cb3114 -Author: Ben Kaduk -Date: Sun Nov 13 13:12:50 2011 -0500 - - FBSD: cleanup dvp locking for ISDOTDOT - - This is a more correct version of - c2ed2577f9c16df3088158fb593d7aab6e8690d0, which was reverted since - it caused build issues on some versions and kernel panics on others. - - We do want to always unlock dvp before calling over the network - in the ISDOTDOT case, but be sure to use the proper spelling - for this operation (as the syntax has changed between FreeBSD versions). - This requires not unlocking dvp right after the afs_lookup() call if - it succeeds, letting us just lock the "child" vp (which is actually - the parent starting from '/') first, and then re-lock dvp. - - The error case of afs_lookup() was already handled correctly in - this logic, which is to say that it was incorrect before this change, - attempting to recursively lock dvp which causes a panic. - - Change-Id: Ide29e47991413dadc3a2b5948f0f6c5bfa2911c4 - Reviewed-on: http://gerrit.openafs.org/6127 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 730832073a1e87654f28bfff054e24d4170c01dc -Author: Derrick Brashear -Date: Sun Nov 27 10:42:59 2011 -0500 - - namei: force-close fd on read or write error - - if we errored, just reallyclose so we'll get a new fd - - Change-Id: I55de45a96dc7fab481a49c10c68f2ebc0d4ea27c - Reviewed-on: http://gerrit.openafs.org/6126 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0f9214164ad56bfe74d0f2cec8775a312f5128dd -Author: Edward Z. Yang -Date: Sat Nov 26 19:32:51 2011 -0500 - - Linux: 3: Update specfile to know about 3.* kernels. - - Update spec file to be consistent with acinclude.m4 with regards to - sysnames. We don't bother updating the code inside the legacy kernel - build section, as it doesn't get triggered for 3.* kernels (it should - probably get cleaned up at some point.) - - Also, fix a bug in error message printing of unrecognized kernel. - - Signed-off-by: Edward Z. Yang - - Change-Id: Ife6046db0bec981be59aa053f63ae71458da7167 - Reviewed-on: http://gerrit.openafs.org/6120 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 2373547a86c12f72261072971b8d47e6b7cdd4e6 -Author: Simon Wilkinson -Date: Wed Nov 23 16:30:55 2011 +0000 - - Unix CM: Fix PutVolume in afs_BlackListOnce - - It isn't safe to keep accessing a structure once we have Put our - reference to it. - - Change-Id: I6f23a054c3ccde21aa17e07d06dd3c6e7761c098 - Reviewed-on: http://gerrit.openafs.org/6117 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 53d55cf35327ec08c2f2ed5dea4138cdc2d46de7 -Author: Jeffrey Altman -Date: Tue Nov 22 09:31:45 2011 -0500 - - Windows: add trace logging to Pioctl File Info Query - - Change-Id: I357518a341dd97aa94c30ae9c0defa56a97eb920 - Reviewed-on: http://gerrit.openafs.org/6110 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 030157166795628bbfa81e8b4b7ede35dfead8d0 -Author: Jeffrey Altman -Date: Tue Nov 22 16:36:18 2011 -0500 - - Windows: _._AFS_IOCTL_._ size is zero - - When replying to a FileStandardInformation query on the pioctl - special file, the size of the file is 0. Failure to return 0 - can result in an anti-virus program attempting to read the file - via a paging request which will fail. - - Change-Id: I83f2f40cca99c04a5fe06546f19bdf96dfbb4951 - Reviewed-on: http://gerrit.openafs.org/6109 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 039ffe2a036217e7d23c7466c77b69df50a603f7 -Author: Jeffrey Altman -Date: Mon Nov 21 21:47:38 2011 -0500 - - Windows: RDR_InvalidateObject do not hold locks - - Do not hold any locks when calling the afs redirector. Holding - a lock can cause a deadlock. - - Change-Id: I5fb493d68e3cf3a8e58024b3b9f54349928f84c3 - Reviewed-on: http://gerrit.openafs.org/6105 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d42db13152fb8fa374db6531020da6effca51ab4 -Author: Jeffrey Altman -Date: Mon Nov 21 13:14:40 2011 -0500 - - Windows: cm_GetSCache do not release unheld lock - - if cm_GetNewSCache() fails, an attempt would be made to - release cm_scacheLock which is not held. However, it should - be noted that cm_GetNewSCache() cannot fail without itself - triggering a panic. - - Change-Id: I316e33712440c2bd816294ad788ad125ab7b4a73 - Reviewed-on: http://gerrit.openafs.org/6103 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 887791bacf8a1b39a610734e5c27c55f88513750 -Author: Jeffrey Altman -Date: Mon Nov 21 08:42:13 2011 -0500 - - Windows: Use Jenkins' Hash - - Replace the non-string hash functions with Jenkins' Hash - derived hash values. - - Bump the cache version value because the hash function has - changed. - - Change-Id: I9de789a48abab38ceb16e928bfc0c10e2a88747e - Reviewed-on: http://gerrit.openafs.org/6102 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 20448059f02d07eccf7f81fdb55b80e566acfecc -Author: Simon Wilkinson -Date: Sun Nov 20 23:40:51 2011 +0000 - - opr: Add Bob Jenkins's hash functions - - This imports a small subset of Bob Jenkins lookup3.c hash functions - into the opr library. At present we only import the subset of this - that deals with aligned arrays of integers, as this addresses our - immediate need. - - It seems likely that if we're interested in a hash function for string - arrays (or other arbitrary data), that more recent functions such like - SpookyHash (from Bob Jenkins, again) or CityHash (from Google) may be - a better solution. - - The immediate use case for this is removing the use of the '%' operator - when indexing speed critical hash tables, as well as ensuring fairer - distribution of entries across these tables. - - A short set of test cases is also provided - - Change-Id: I0ae26382e77da02204a30a95747f7d6de8c4f24a - Reviewed-on: http://gerrit.openafs.org/6095 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f1dd2d696fb9ab71b4192b156042e0c63019c58a -Author: Anders Kaseorg -Date: Sun Nov 20 19:00:00 2011 -0500 - - Linux: 3.2: Use set_nlink to update i_nlink - - As of v3.2-rc1~84^2~1, struct inode.i_nlink is now const to prevent - direct modification. - - Change-Id: If0a38ffb7f9964e23f5e64c900ae92f56fb77def - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/6096 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e14dec55e6600edb60ce5184b4ab1f646c68947b -Author: Andrew Deason -Date: Tue Nov 15 13:18:48 2011 -0600 - - afs: Leave cellnum alone for explicit mtpt cell - - When a mountpoint is given an explicit cell, don't alter cellnum. - Cellnum represents the cell for the parent, and is used for - determining whether or not we're crossing a cell boundary. - - Previously, this code forced the mount point to always be treated as - foreign (for a mountpoint prefixed with a cell name), or to always be - treated as local (for a mountpoint prefixed with a cell number). - - Change-Id: I7b98ccc94bf61dc3d7be0b7d6b54019cd797e884 - Reviewed-on: http://gerrit.openafs.org/6051 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 51f71e533b20cd875eec8adda71edea044a606da -Author: Jeffrey Altman -Date: Fri Nov 11 11:00:47 2011 -0500 - - namei: tweak getlinkbyte error handling - - in the event of a pread error, add the same error exit path - trigger that we have elsewhere - - Change-Id: Id7a371f3fd710f3c6dad21bccb0662cf8562d99f - Reviewed-on: http://gerrit.openafs.org/5843 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0e3bfa033ed230fcb46ad8e3c26c8b7aae6e00af -Author: Michael Meffie -Date: Thu Oct 27 17:53:47 2011 -0400 - - auth: avoid excessive stat of cellservdb - - The modified time resolution is one second, so only - stat the cellservdb file at most only once per second. - - Change-Id: I7d9a58f9af72b8c36b50374e49c07b4db85285e0 - Reviewed-on: http://gerrit.openafs.org/5743 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 639ca379e47fbe550d090fff9e635ad24e8e34f0 -Author: Michael Meffie -Date: Thu Nov 3 17:09:28 2011 -0400 - - vol: rate-limit volume usage updates - - Add threshold and time rate-limit parameters for volume usage - updates to disk. This reduces the amount of i/o needed for - volume usage statistics on very busy fileservers. Set the - default to limit updates to one every 5 seconds per volume. - - Change-Id: I6b4274476ef6b8f9e4288b109d5a3edbdea6e91c - Reviewed-on: http://gerrit.openafs.org/5803 - Reviewed-by: Derrick Brashear - Reviewed-by: Tom Keiser - Tested-by: BuildBot - -commit 8ce811e34379615f942e9ca73d1ba78bfe742042 -Author: Jeffrey Altman -Date: Fri Nov 18 09:54:43 2011 -0500 - - Windows: RDR_RequestFileExtentsAsync unheld lock - - commit 55f5f356af2ef884413bd656f100055741ae871b forgot to remove - a lock_ReleaseWrite(&scp->rw) in RDR_RequestFileExtentsAsync(). - - Change-Id: I787ceddcada3659c7b2fae9bb90aa005a71d2ceb - Reviewed-on: http://gerrit.openafs.org/6075 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ac1251ead12434a12fb8e7d6787845f534565039 -Author: Jeffrey Altman -Date: Fri Nov 18 00:39:24 2011 -0500 - - Windows: must obtain and release an actual lock - - Change-Id: I2bb490ba3c1db05c4dc7660ca7319d7d96d16c0f - Reviewed-on: http://gerrit.openafs.org/6072 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1379fb6de4d2134160fcc95cbbee4bd6048eaeaa -Author: Jeffrey Altman -Date: Thu Nov 17 00:30:24 2011 -0500 - - Windows: non-release only worker threads can release - - There are two classes of worker threads created by the service - and donated to the afsredir as part of the reverse ioctl processing - model. Normal workers can process any kind of ioctl and Release - Only workers that can only process release extent events. - - Use a KeWaitForMultipleEvents in the normal worker case to permit - processing any type of event. The previous implementation excluded - release extent ioctls from the normal workers. - - Change-Id: I05e86f62c08e322cf7aa9bdd2fd325919bcbfe8f - Reviewed-on: http://gerrit.openafs.org/6071 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 833d076e04ac09270a203a9ff449ae2af8bdad7e -Author: Jeffrey Altman -Date: Wed Nov 16 00:29:34 2011 -0500 - - auth: initKeys before first error exit path - - In afsconf_OpenInternal() _afsconf_InitKeys() must be called - before the first opportunity to call afsconf_CloseInternal() - or a crash can occur if the CellServDB file cannot be parsed. - - Change-Id: I5b2487056a24d0c4ad78921d85df755758c7679e - Reviewed-on: http://gerrit.openafs.org/6059 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 1c97c04add6639a11e88d412e369771bf6f0f281 -Author: Jeffrey Altman -Date: Wed Nov 16 10:33:41 2011 -0500 - - Windows: Do not install IBM AFS HLP files - - The IBM AFS HLP files are so out of date at this point - that they are simply confusing. They reference tools and screens - that no longer exist and claim the product is "IBM AFS". Incorrect - documentation is worse than no documentation. - - The HLP files cannot be updated since we do not have the sources. - - HLP file format is no longer supported on Windows Vista or 7. - - The afs-nt.hlp file will continue to be installed conditionally - when afscreds.exe is installed but the shortcut to it in the - Start menu is being removed. afscreds.exe is not installed by - default. - - Change-Id: I3443a5c4ca65472a16cbf7ae1d52da39e917136a - Reviewed-on: http://gerrit.openafs.org/6065 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fd42e08bf1882a02c3200e1c33a101e644aa046a -Author: Jeffrey Altman -Date: Tue Nov 15 18:35:26 2011 -0500 - - Windows: buf_CleanAsyncLocked dirty range only - - buf_CleanAsyncLocked() should not instruct cm_BufWrite() to - write a full chunk if the current buffer is the only one that - is dirty. cm_BufWrite() will determine if it is appropriate - to fill a full chunk when storing. Instructing it to check - a full chunk forces it to do more work than necessary. - - Change-Id: Ie140d405147d700196532b72f04885a301a2550f - Reviewed-on: http://gerrit.openafs.org/6054 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 55f5f356af2ef884413bd656f100055741ae871b -Author: Jeffrey Altman -Date: Tue Nov 15 18:23:46 2011 -0500 - - Windows: create scache->redirMx to reduce contention - - Relying on the cm_scache_t.rw lock to protect the cm_scache_t.redirQueue* - results in a large amount of contention between processing extent - requests and releases from the afs redirector and the threads attempting - to read from or write data to the file server. There is no reason why - the same lock must be used. Allocate a dedicated mutex to protect the - queue. - - By placing the new mutex after the buf_globalLock in the locking - hierarchy it permits the lock acquisition logic for extent processing - to be simplified further reducing cm_scache_t.rw lock transitions. - - Change-Id: Id2ded86c1f3757a2f1071c8cf39f2fbc6bcfcfaa - Reviewed-on: http://gerrit.openafs.org/6053 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 042f6c08e3be0af3ef1cc4a0bfc4688c3e2ef7d0 -Author: Jeffrey Altman -Date: Tue Nov 15 19:03:14 2011 -0500 - - Windows: Increase default number of daemon threads - - With the SMB interface there was little benefit to having - a large background daemon worker pool since it was so rarely - used. Now that the redirector does everything in the background - daemon workers, increase the default from 4 to 16 threads. - - Change-Id: I319182e4c539c14d06fe62dde2b41a159e4edea6 - Reviewed-on: http://gerrit.openafs.org/6058 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 320c7292e6ae014e44e89b0da736bcc04ef42b2b -Author: Jeffrey Altman -Date: Tue Nov 15 19:00:05 2011 -0500 - - Windows: cm_SetupStoreBIOD use firstModOffset chunk - - When cm_SetupStoreBIOD attempts to store a chunk to the file - server it should not use *inOffsetp as the start of the range. - There is no guarantee that the buffer at *inOffsetp is dirty. - Instead use firstModOffset which refers to the first known - dirty buffer in the range specified by the caller. Attempt - to fill a chunk of consecutive dirty buffers from that point. - - Change-Id: I468e896b046192461d6fe0dc3669e5feeb7886ba - Reviewed-on: http://gerrit.openafs.org/6057 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit c904d9a3889b7dd8c8795feaa9e5e4979f681f53 -Author: Jeffrey Altman -Date: Tue Nov 15 18:40:21 2011 -0500 - - Windows: Fairness for background operations - - The background daemon worker pool is responsible for processing - background Store and Fetch operations. With the SMB interface - primary store and fetch operations are performed in the SMB worker - thread which makes sense since those operations must be synchronous - to the incoming request. - - With the AFS redirector interface almost all of the work is performed - by the background daemon worker pool. It is therefore critical that - the workers not get stuck in a state that starves applications. - For example, copy of a file that is larger than the cache to \\AFS - will result in a background store request for each chunk size of - the file. If each worker thread grabs one to process, only one will - make progress and the rest will block. If a cleanup operation - (aka handle close) occurs the entire file will be flushed to the - server synchronously in the redirector worker thread. That thread - will cause of the background daemon threads to block. - - Any subsequent fetch data requests that get queued behind the list - of stores will in turn block until they clear. This behavior is not - fair. - - This patchset adds a new test to the cm_BkgDaemon() request - selection loop, cm_RequestWillBlock(). If a request will block it - is skipped. If there are no requests to process that would not have - blocked, the worker will sleep for 25ms instead of the usual 1s. - - For BkgStore operations, the CM_SCACHEFLAG_DATASTORING flag is - used to indicating a blocking state. - - For BkgFetch and PreFetch operations, the CM_BUF_WRITING and - CM_BUF_READING flags on the first cm_buf_t of the range is used - to indicate a blocking state. - - Change-Id: I95d9d1f14dbe0c7d717e6a7253ccfb10a9fac851 - Reviewed-on: http://gerrit.openafs.org/6056 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit d113c0eb8ac4717cafd7747a78c5aa3b649b8e68 -Author: Andrew Deason -Date: Tue Nov 15 11:53:12 2011 -0600 - - vlserver: Avoid atoi for vol ids - - Change-Id: I27c30f9320ea6d2093846148ad455eda71b0b713 - Reviewed-on: http://gerrit.openafs.org/6050 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a1871449eec8d9fc1152319bc63e29db7f9ae231 -Author: Jeffrey Altman -Date: Tue Nov 15 09:03:59 2011 -0500 - - Windows: Create default Security Descriptor - - A misplaced #endif prevented the allocation of a default - security descriptor. This results in STATUS_INSUFFICIENT_RESOURCES - errors. - - FIXES 130284 - - Change-Id: I9c1d67368a1b5d770a4c9a981bdb4a24f8ad3c8e - Reviewed-on: http://gerrit.openafs.org/6048 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c4d19e5d4271a31fd29c111fb27d145dc83b83b7 -Author: Jeffrey Altman -Date: Mon Nov 14 17:49:45 2011 -0500 - - Windows: interlocked refCount increment in cm_GetSCache - - Failure to use interlocked operations in cm_GetSCache can - result in an under count - - Change-Id: I370bcb9ac8b40f1c1b7ea3b7647fc76e3a554e2c - Reviewed-on: http://gerrit.openafs.org/6046 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e55d1774b1b5b27a3617467b5e2a24ee2be3a38c -Author: Jeffrey Altman -Date: Sun Nov 13 12:06:18 2011 -0500 - - Windows: netidmgr krb5_cc_get_principal can fail - - Do not dereference a NULL pointer if krb5_cc_get_principal fails. - - Change-Id: Ic213f0c41249931441bcedaf551acaa160ff7f0f - Reviewed-on: http://gerrit.openafs.org/6016 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 38fbf93fcc21aaecbf9a7e27d19131b9de4c3839 -Author: Jeffrey Altman -Date: Sat Nov 12 18:33:18 2011 -0500 - - Windows: smb_ReceiveNTCreateX create smb_fid earlier - - smb_ReceiveNTCreateX() calls cm_CheckNTOpen() which now - requires the smb_fid_t allocated fid value for use in share - mode locking. Move the allocation of the smb_fid earlier - in the function and apply necessary cleanup in error paths. - - Change-Id: Iee0e39cdf393bfd245829bdfb42ddfba63908451 - Reviewed-on: http://gerrit.openafs.org/6004 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5c59d1b500ae4ba5223184fbfe18837891ea30c3 -Author: Jeffrey Altman -Date: Sat Nov 12 17:32:06 2011 -0500 - - Windows: cm_GetSCache avoid holding cm_scacheLock - - cm_GetSCache used to hold cm_scacheLock write-locked from - start to finish except that it didn't. There were several - places where cm_scacheLock was dropped and reacquired due - to lock ordering requirements. Unfortunately, this has - two problems. First, the function isn't very fast in the - most common case since cm_scacheLock is write-locked for - the search for an existing FID. Second, there is a race - that results when cm_GetNewSCache() drops the cm_scacheLock. - - To make things faster, use a read-lock for the common case. - - To avoid the race, if the FID cannot be located, call - cm_GetNewSCache() first and then obtain the cell and volume - information. Then perform a second lookup for the FID while - holding cm_scacheLock write-locked. If we lost the race or - there was an error obtaining the cell and volume info, put - the new cm_scache_t back onto the end of the LRU queue. - - Change-Id: Idb94275d23c160ee0a2dc8fdcfd0f09506ecb2d3 - Reviewed-on: http://gerrit.openafs.org/6003 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit eb3c9f783b9488181c57ef949e3feddcb02d381a -Author: Jeffrey Altman -Date: Sat Nov 12 17:24:12 2011 -0500 - - Windows: avoid null ptr in RDR_RequestFileExtentsAsync - - If the cm_scache_t cannot be obtained, do not dereference it - while returning an error to the redirector. - - Change-Id: Ia8aaa33ca4ab410dc1b0100ea5668d5660d90b75 - Reviewed-on: http://gerrit.openafs.org/6002 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 090f6279c5496f648893606d298c698f376c7ae0 -Author: Jeffrey Altman -Date: Sat Nov 12 13:45:08 2011 -0500 - - Windows: Track active RPCs per scache_t - - It has been noticed that multiple RPCs can be active on - a cm_scache_t object at the same time. This is especially - true of directory objects with the redirector. Track the - number of active RPCs and use that number in cm_MergeStatus - when deciding whether or not to discard the cached data for - the object. - - Change-Id: If291bb4c0e48d0ec087c3a7c2640e4598e7fd419 - Reviewed-on: http://gerrit.openafs.org/6001 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2fc9edc6e34ebef60413fad9a2af2aa73ea1681f -Author: Jeffrey Altman -Date: Sat Nov 12 13:41:30 2011 -0500 - - Windows: fix locking hierarchy in service - - The smb username lock and the daemon global lock can be requested - while the scache dirlock is held if there are no free buffers - and the service is forced to claw back extents from the redirector. - Adjust the locking hierarchy accordingly. - - Change-Id: I85387a16ca580d678af45f3931aa5e81fe0a0f2c - Reviewed-on: http://gerrit.openafs.org/6000 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f199ac666195771a02e3ebb040c6e5fe47c58c58 -Author: Andrew Deason -Date: Wed Nov 2 16:55:49 2011 -0500 - - afs: Do not use separate array for srvAddrs - - The array of srvAddr structs we use in afs_LoopServers have indices - unrelated to the indices of conns, rxconns, etc. Several places were - assuming that addr[i] corresponded to conn[i], which is not - necessarily true. So instead, do not use the separate addr array - (except when populating the conn and rxconn arrays), and just get the - srvAddr structure by going through the relevant conn[i]. - - Change-Id: Ib60126811f51943bfc81ab7c48d7f247f00f1cad - Reviewed-on: http://gerrit.openafs.org/5790 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a7d569c857234626191514e2780368e1b85a6dae -Author: Simon Wilkinson -Date: Sat Oct 22 16:37:04 2011 +0100 - - rx: Turn the rxevent_Cancel macro into a function - - Turn rxevent_Cancel into a function rather than a macro which modifies - its argument as a side effect. rxevent_Cancel now checks whether the - event being cancelled is already NULL, as well as NULLifying the event - when it is actually cancelled. - - Update all of the callers to reflect this new API, and so they no - longer do unecessary work. - - Change-Id: I75b68f1c8f1a3023edd6113600663fe2b60d6097 - Reviewed-on: http://gerrit.openafs.org/5840 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit be8db58f5a44ce2ee4208de09a5ca1faf6f0f91f -Author: Simon Wilkinson -Date: Sat Oct 22 16:22:36 2011 +0100 - - rx: New signature for rx event functions - - For a while now, we've had both new and old-style rx event callback - functions. Modify all of our event handlers, and the functions that - install them, to use only new style functions, and get rid of the - old-style function prototypes. - - Change-Id: Ic7c568df9d191edb082fb41fb7705c54ca93cf48 - Reviewed-on: http://gerrit.openafs.org/5839 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5574ff814f02078b709cbc0a6c94201ca6fe2eca -Author: Simon Wilkinson -Date: Sat Oct 22 11:22:51 2011 +0100 - - opr: Add a red/black tree implementation - - Add an implementation of red/black trees to our runtime library. - - This is originally derived from the FreeBSD macro-based rbtree - implementation, but is heavily reworked to not use macros, to improve - legibility, and to favour speed over structure compactness. - - A test suite is provided in tests/opr/ - - Change-Id: I123209d3f89b5f8c1b85d1e5cd7d1d650ccc68ed - Reviewed-on: http://gerrit.openafs.org/5838 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 43766833ab64564770228566d8459900280c1146 -Author: Simon Wilkinson -Date: Sat Oct 22 11:10:53 2011 +0100 - - rx: Add a helper function for delayed acks - - The code to schedule a new delayed ack event is distributed throughout - the RX code. Consolidate this into a single helper function. - - Change-Id: If54e36b5648f8caffe64cc2203dc0041fd06b8b3 - Reviewed-on: http://gerrit.openafs.org/5837 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1a056d24a79242db09963dd0b0c2193c5034b61b -Author: Simon Wilkinson -Date: Sat Oct 22 09:45:10 2011 +0100 - - opr: Add opr_containerof - - Add the opr_containerof macro, which can be used to find the base - address of a structure which contains a member whose location is known. - - This formulation is heavily used throughout OpenAFS to determine the - base address of structures containing queue pointers - this provides - a central definition, rather than coding it from scratch each time. - - Change-Id: I2a32a214252ad304238f740ad92579e5bb7287be - Reviewed-on: http://gerrit.openafs.org/5836 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b15b4b15822bee87720bb0d78c2ce54051180339 -Author: Jeffrey Altman -Date: Sat Nov 5 04:10:42 2011 -0400 - - Windows: Add Vista/Win7 Firewall Configuration - - Make use of the INetFwPolicy2 COM interface to configure - the Vista/Win7 firewall for all network profile types. - - Change-Id: Id96d98f6e166f3529a117997f5a3c35b0051d1a4 - Reviewed-on: http://gerrit.openafs.org/5812 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b78b8f64a69481e59e957ebe09315fc5b8b60c17 -Author: Jeffrey Altman -Date: Wed Oct 5 03:36:48 2011 -0400 - - Windows: Enforce Share Access - - Use file server locks to enforce file share access modes - via the afs redirector interface. The approach taken - integrates share mode enforcement with the file server - lock tracking code in the service. The share mode - enforcement mimics that of the SMB Server interface. - - This patchset includes two functional changes to - the previous locking and share mode processing: - - 1. The cm_scache_t fsLockCount field is used to - determine if the desired lock can be granted - by the file server. If not, the RXAFS_SetLock() - request is skipped and the request is failed - locally. - - 2. cm_CheckNTOpen() now accepts the desired and - and share access modes. The share access mode - is used to determine if a test lock should be - obtained at all. If the share mode is FILE_SHARE_WRITE - then no lock is requested. This change permits - Microsoft Office applications to offer the user - the ability to open the file in read-only mode - and notify the user when the document can be - opened in read-write mode. - - Developed with Peter Scott - - FIXES 130239 - - Change-Id: If9b4beb74586296d4feae52dd06c03f0b8b595cd - Reviewed-on: http://gerrit.openafs.org/5823 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c6a22d67ff9787ace2249d528eb9db99c5b19427 -Author: Andrew Deason -Date: Thu Nov 10 15:18:41 2011 -0600 - - SOLARIS: Do not build x86 kernel module on 5.11 - - Oracle Solaris 11 no longer supports x86 (amd64 is required). If we - try to build the x86 module, /usr/include/sys/kobj.h complains that - the ISA is unsupported, and refuses to go on. So, just remove - MODLOAD32 from the libafs directories to build on sunx86_511. - - Change-Id: Ic18936d1a0f53ed290d885617d313347aa6ce87a - Reviewed-on: http://gerrit.openafs.org/5835 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b41e30a55c8aeb6d7f42d74f9eb090232032057f -Author: Andrew Deason -Date: Thu Nov 10 11:58:12 2011 -0600 - - namei: Remove extraneous rmdir - - We just unlinked the file, so we know we won't be able to rmdir() the - same thing. Give a path one level higher to - namei_RemoveDataDirectories, so we start rmdir()ing at the parent dir. - - Change-Id: Ifa54d1cc07ed2d277416d09eabc45aa1e1c3803a - Reviewed-on: http://gerrit.openafs.org/5833 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4c679e380f697760de777d35fe057229bf2bf762 -Author: Andrew Deason -Date: Thu Nov 10 11:05:28 2011 -0600 - - vol: Remove O_EXCL|O_TRUNC combinations - - A few places were specifying both O_EXCL and O_TRUNC to open(). - O_TRUNC does not make any sense with O_EXCL, and doesn't do anything, - so remove O_TRUNC from these instances to make the code more clear. - - Change-Id: Ie8d9d7b9912a96683ef34f762607e75468b5ac78 - Reviewed-on: http://gerrit.openafs.org/5832 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f27480aa2f8a26da3bd7634ff7072c1faac0f448 -Author: Jeffrey Altman -Date: Wed Nov 9 22:52:37 2011 -0500 - - Windows: FSCTL_SET_REPARSE_POINT not yet implemented - - Since FSCTL_SET_REPARSE_POINT is not yet implemented - return STATUS_INVALID_PARAMETER to all requests that - do not fail validity tests. - - Change-Id: I53d4b4fc9d957daa70b16d37a529778ed8bbfa5e - Reviewed-on: http://gerrit.openafs.org/5829 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 72e5bd1434a6a2238f28f11a149192f44d0b82d1 -Author: Jeffrey Altman -Date: Wed Nov 9 22:47:55 2011 -0500 - - Windows: FSCTL_SET_REPARSE_POINT error - - According to MS_FSCC 2.3.54 if the input buffer length is less than the size - of a REPARSE_DATA_BUFFER structure, or the input buffer length is greater - than 16,384, or a REPARSE_DATA_BUFFER structure has been specified for a - third party reparse tag, or the GUID specified for a third party reparse tag - does not match the GUID known by the operating system for this reparse - point, or the reparse tag is 0 or 1, then the return status shall be - STATUS_IO_REPARSE_DATA_INVALID. - - Change-Id: I0072902afc8bc354af8f9b84b1021b37191dc23a - Reviewed-on: http://gerrit.openafs.org/5828 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 733aa6a63d8f15dcfe31f24ce31b67b746a2934a -Author: Jeffrey Altman -Date: Wed Nov 9 22:45:07 2011 -0500 - - Windows: FSCTL_IS_PATHNAME_VALID return success - - Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, - Windows Server 2008, Windows 7, and Windows Server 2008 R2 support the - FSCTL_IS_PATHNAME_VALID Request (section 2.3.21) and return STATUS_SUCCESS - whenever this request is invoked. We will do the same. - - Change-Id: I432c8a41e1102648faaa3d8c0f3b8c36ea89bfc8 - Reviewed-on: http://gerrit.openafs.org/5827 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3c6e5681245ad4ee267d7e5ca260b38655633a96 -Author: Jeffrey Altman -Date: Wed Nov 9 22:42:54 2011 -0500 - - Windows: these fsctl cmds are not implemented - - Return STATUS_NOT_IMPLEMENTED since the following - FSCTL_ operations are not: - - FSCTL_LOCK_VOLUME - FSCTL_UNLOCK_VOLUME - FSCTL_DISMOUNT_VOLUME - FSCTL_MARK_VOLUME_DIRTY - FSCTL_IS_VOLUME_DIRTY - FSCTL_IS_VOLUME_MOUNTED - - Change-Id: Idfe26a4b71538defd1919be575d62b32dd415a06 - Reviewed-on: http://gerrit.openafs.org/5826 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ff7d3a19f032c5d4917cc04eeff9cf92733f1fae -Author: Jeffrey Altman -Date: Wed Nov 9 22:33:11 2011 -0500 - - Windows: Additional trace logging - - Add additional trace logging to the redirector to assist - with debugging reparse point processing. - - Change-Id: I89d7a26d7d10ba5fff001d91f5e67baa224f4179 - Reviewed-on: http://gerrit.openafs.org/5825 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b947adbacb5db4ce5e380ea28e1d734fdadd5cdf -Author: Jeffrey Altman -Date: Wed Nov 9 20:05:05 2011 -0500 - - Windows: service must set reparse point attribute - - When populating the directory entry information for the - redirector the service must set the reparse point attribute. - - Change-Id: I26db0b822f850f0a19606eeed3c29e0e72562e2f - Reviewed-on: http://gerrit.openafs.org/5824 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d810870ec1a2ad1cb438d776236db3340081fe74 -Author: Peter Scott -Date: Thu Nov 10 13:34:53 2011 -0700 - - Windows: Correctly increment PIOCtl DE - - When performing a directory enumeraiton, correctly increment ref count on - the PIOCtl DE structures - - Change-Id: I44de6ab2d804378723e31887089aca4890d15fa6 - Reviewed-on: http://gerrit.openafs.org/5834 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 2c0f857bc8d17d8e02f515d510f9530bc47866d4 -Author: Peter Scott -Date: Thu Nov 10 09:06:53 2011 -0700 - - Windows: FileNetworkPhysicalNameInfo implementation - - Handle this File information query - - Change-Id: Id16c22396cbb7e22b8958bc0438e58da048f4f70 - Reviewed-on: http://gerrit.openafs.org/5830 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit deedf97416e4eaaea79479711ad3c84020fdd1e0 -Author: Jeffrey Altman -Date: Sun Oct 30 23:52:00 2011 -0400 - - Windows: improve store data parallelism - - The file server will set the rx call status bit (0x1) - when the rpc is in process and all of the locks are held. - At this point it is not possible for another store data rpc - to begin on the vnode prior to the completion of the current - rpc. Once this status bit is detected as set, the exclusive - store data synchronization on the cm_scache_t can be dropped. - - This permits the next store data rpc to perform its biod - construction. - - Change-Id: Ic856769650781b4f5f4ab4ac86df4946496bd655 - Reviewed-on: http://gerrit.openafs.org/5741 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 9ba891676a15512fa58915662cf599ea73eac430 -Author: Andrew Deason -Date: Wed Nov 9 17:04:09 2011 -0600 - - volser: Preserve needsSalvaged during restore - - Some of the routines during a volume restore may set needsSalvaged, if - an inconsistency is detected while writing the given volume data. - However, after the data is read, we set the volume header information - to what was found in the dump stream, ignoring any needsSalvaged that - may have been set. - - To ensure that inconsistent volumes in this situation actually get - demand-salvaged (for DAFS) or offlined (non-DAFS), keep the value of - needsSalvaged in the header, if it was set. - - Change-Id: I575d14d84120be0fbbeb185ed2726f1285e6f2ce - Reviewed-on: http://gerrit.openafs.org/5822 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a1669f3e37299c11bf29a458212e03d1bdb22334 -Author: Derrick Brashear -Date: Wed Nov 9 10:34:10 2011 -0500 - - viced: avoid bogus handle in rename - - because fileptr's handle can be reset during CopyOnWrite - we need to SetDirHandle after that call - - FIXES 130215 - - Change-Id: I8578d30da42bdd9be2c552cdac4d2c526c22ee45 - Reviewed-on: http://gerrit.openafs.org/5818 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 6d519cf1234d54630dcfe48f6ecd393e2dfe71dd -Author: Andrew Deason -Date: Tue Nov 8 12:52:50 2011 -0600 - - regen: Fail on failures - - If something fails, don't ignore the error. - - Change-Id: I3ae90009f0a0f61f269a05b39e9bfe478ccf256f - Reviewed-on: http://gerrit.openafs.org/5817 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 49cb0d00909693b85f52d87a26d5df69a829d9d5 -Author: Andrew Deason -Date: Wed Apr 13 13:15:57 2011 -0500 - - Add "pretty" build option - - Add the capability to do a "pretty" build, where we output something - like " CC /path/to/foo.o" to build foo.o, instead of the entire - compiler invocation, similarly to how the Linux kernel build appears. - Add the "pretty" building for CC and LD rules. - - This also prints out some helpful information when a command fails, - which can sometimes otherwise be annoying to figure out post-mortem. - - To enable the pretty building, make with V=0. To output everything - that is actually run with V=0, make with 'V=0 Q=' . - - Note that this does not work with all makes, since not all makes will - propagate command-line-specified variables to sub-makes without -e. - Non-working makes include /usr/ccs/bin/make on HP-UX and Solaris. - However, GNU make will work, as will /usr/xpg4/bin/make on Solaris. - - Change-Id: Idce0afffe7d5be88b0743ec3f926a52efb1a6a74 - Reviewed-on: http://gerrit.openafs.org/4486 - Reviewed-by: Russ Allbery - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5c64df8628e60f2e4c55aaf3e53fb01c140b42ed -Author: Andrew Deason -Date: Tue Nov 8 12:29:39 2011 -0600 - - Specify pattern rules in addition to suffix rules - - A few makefiles specify an old-style suffix rule, such as: - - .c.o: - $(AFS_CCRULE) $< - - Not all makes seem to interpret these rules correctly (such as Solaris - /usr/xpg4/bin/make). Since it is easy to do so, specify pattern-based - rules along with these, like so: - - %.o: %.c - $(AFS_CCRULE) $< - - Change-Id: I052f1156d1a7e29beedb0fb59390073c2521459e - Reviewed-on: http://gerrit.openafs.org/5819 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 70e8451acd0426024c152073e53bc6606e0189e1 -Author: Andrew Deason -Date: Thu Nov 3 13:40:37 2011 -0500 - - Add setenv/unsetenv to roken - - Add the replacement setenv and unsetenv functions to roken, for use on - (at least) HP-UX and older Solaris. - - Change-Id: Id05137b6e6c88eb6648bd6a6e649f9ef311e32a4 - Reviewed-on: http://gerrit.openafs.org/5801 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 00beae8c4e3b390637f20584e676cf86c817dadd -Author: Derrick Brashear -Date: Sun Nov 6 16:28:27 2011 -0500 - - dafs: avoid null deref getting volume header - - we don't assign hd before dereferencing. stop dereferencing - and just use the queue cursor. - - Change-Id: I023fd959c5d49575dbdf89fd4dab77341c5c52d0 - Reviewed-on: http://gerrit.openafs.org/5814 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 7fee28bae30c5a65898a2e3fd7149f07e8ca0df6 -Author: Andrew Deason -Date: Thu Nov 3 13:17:33 2011 -0500 - - salvager: Implement AskDAFS via SYNC flags - - Instead of probing the DAFS-ness of the fileserver by probing which - FSSYNC opcodes it supports, detect DAFS-ness by looking at the SYNC - response header flags, which explicitly state whether or not the - endpoint is DAFS. This avoids unnecessary "protocol mismatch" log - messages when the endpoint is not DAFS. - - Change-Id: Ie05a587951d6d5f69ae03cf3749f8c53e1eb6b62 - Reviewed-on: http://gerrit.openafs.org/5800 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 47b010d1e1d0e8bdbbcad73d5aedc19719d5d96a -Author: Derrick Brashear -Date: Sat Nov 5 11:24:43 2011 -0400 - - redhat: make rpms build on pre-f15 again - - we don't have systemd everywhere. don't assume it - - Change-Id: I4038bc1e1aff804e685d1987e368f2be1af35b05 - Reviewed-on: http://gerrit.openafs.org/5813 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit b06c700ee40ca70ef08259af819e2a6084137457 -Author: Derrick Brashear -Date: Fri Nov 4 11:43:01 2011 -0400 - - ukernel: handle pioctl errors properly in ktc - - the straight return from call_syscall isn't what we want. munge so - e.g. EDOM handling for ktc_GetToken does the right thing. - - Change-Id: I3fbba799e0156bad29b27c74a1c7709ee8c50c34 - Reviewed-on: http://gerrit.openafs.org/5807 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit c96d3429f2d4ad2ec7ac45a83c1111dc60a0d5c1 -Author: Andrew Deason -Date: Fri Nov 4 16:12:03 2011 -0500 - - libafsauthent: Remove obsolete HP-UX workaround - - This workaround is no longer relevant. It is also error-prone and - there are far better ways to achieve a similar result, so get rid of - it. - - Change-Id: If77f0cd95c8c608913d0c8717729a05c1ad67df9 - Reviewed-on: http://gerrit.openafs.org/5811 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2a1251c5d0c1b0fd4024d7b3282187a838b551fd -Author: Andrew Deason -Date: Fri Nov 4 17:19:28 2011 -0500 - - volser: Remove debugging log messages - - While the -log option to volserver is supposed to print additional log - information, it shouldn't spam the log with useless data. Remove some - of the log lines that are really more "debug" information, so we log - the same amount of information as in the 1.4 series. - - Change-Id: I1fd93344a7ebe11c6d5ad507dad87babe517785a - Reviewed-on: http://gerrit.openafs.org/5810 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 025a7aee0b86c7d8a7299c85c88615eb8cd6b07f -Author: Simon Wilkinson -Date: Thu Nov 3 10:10:23 2011 +0000 - - Unix CM: Fix dir buffer leak in afs_readdir - - Resolve a buffer leak in afs_readdir that was visible on all non-Linux - platforms (Linux has an independent readdir implementation) - - Change-Id: Ia5106f0e5c57430d3483b6add5b1629ff3fbc7b3 - Reviewed-on: http://gerrit.openafs.org/5794 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit c2ee7b00ddfe8b1b8c296a99f0244eb33c726e8e -Author: Andrew Deason -Date: Fri Nov 4 12:42:33 2011 -0500 - - DAFS: Deal with exclusive-state volume headers - - GetVolumeHeader assumes that headers on the LRU are not associated - with a volume in an exclusive state. This is known to not be true for - some cases when salvage requests are received over FSSYNC, and may be - true in other scenarios. It's easy to just skip such headers, so skip - them. - - Change-Id: I343d2e4f7af1c753641767be322420f38873c217 - Reviewed-on: http://gerrit.openafs.org/5808 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit da00d719a77607d8873067902f5db5bff02d0e99 -Author: Jeffrey Altman -Date: Fri Nov 4 09:34:53 2011 -0400 - - Windows: NPCancelConnection set correct length - - The RemoteNameLength passed in the IOCTL_AFS_CANCEL_CONNECTION call - must not include the trailing NUL. NPGetConnection() returns the - size of the buffer used which does include the trailing NUL. - - Change-Id: Ic5eae51aade91db4a799bea83d898af6fbc37504 - Reviewed-on: http://gerrit.openafs.org/5806 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3acd9b854e05748578f8291200fad8c6650e9b14 -Author: Jeffrey Altman -Date: Fri Nov 4 08:40:03 2011 -0400 - - Windows: do not leak resource in AFSQueryDirectory - - Track whether or not the pFcb->NPFcb->Resource is held so - it can be released in all error paths. - - Change-Id: I8c8bfb912329e8c11ac7857086412d85aa64fea6 - Reviewed-on: http://gerrit.openafs.org/5804 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8d0910be59975ef0e19c5d89fef4419700224bde -Author: Jeffrey Altman -Date: Thu Nov 3 16:39:18 2011 -0400 - - Windows: KFW_AFS should use API: ccache - - During the Heimdal transition that default ccache type - was changed to FILE. Restore the use of API: ccaches. - - Change-Id: Idd8dfb46fc9167d8c1eb44466b76906a152eef9d - Reviewed-on: http://gerrit.openafs.org/5802 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 100144f28bf166d59bfd6c58ede3bbf1923e5532 -Author: Jeffrey Altman -Date: Thu Nov 3 14:14:52 2011 -0400 - - Windows: Simplify KFW_AFS_klog - - Reduce the complexity of KFW_AFS_klog. Introduce - KFW_AFS_continue_aklog_processing_after_krb5_error() and - combine the input realm and realm_of_cell cases making - use of the RealmName variable. - - Change-Id: I363544548652bc892f50dce00865e13e7d42de7f - Reviewed-on: http://gerrit.openafs.org/5799 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f7adbd3d3977a328612c0f527d764566846593da -Author: Peter Scott -Date: Fri Nov 4 07:31:57 2011 -0600 - - Windows: Failed to release correct lock - - For cross-directory renames, the correct parent lock was not being tracked - - Change-Id: Ib50aad63f56cde638ff3bf1595d4495338c15f91 - Reviewed-on: http://gerrit.openafs.org/5805 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit c59c07132ef17589ad3466ded418c1370539b7af -Author: Ken Dreyer -Date: Mon Oct 31 08:27:16 2011 -0600 - - doc: limitations of addsite on different partitions - - A user on the openafs-info mailing list noted that the Admin Guide is - unclear about creating read-only replicas on different partitions on - the same fileserver. Clarify the rules here. - - Change-Id: I8229b4fba36c128772bb8198e6b8310a51206c03 - Reviewed-on: http://gerrit.openafs.org/5745 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit c0961b8d4103fab37c360461bcde30c56d24f483 -Author: Heimdal Developers -Date: Thu Nov 3 12:37:36 2011 -0500 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - ee7340860a22f81fb869cc431efc1fd4e5c77d34 (switch-from-svn-to-git-2542-gee73408) - - Upstream changes are: - - Jeffrey Altman (2): - Windows: fallback to PROV_RNG if no PROV_RSA_FULL - roken: posix errnos for windows - - Love Hornquist Astrand (3): - drop __restrict to please old compilers - add krb5_is_enctype_weak - Don't export tests from library, reported in bug from Tom Payeire - - New files are: - roken/setenv.c - roken/unsetenv.c - - Change-Id: I7e3b3db2a58eaaae9de91431565176921d79af3b - Reviewed-on: http://gerrit.openafs.org/5798 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5eba97a8960c49aeea957dc94408368e1324eff0 -Author: Andrew Deason -Date: Wed Nov 2 11:35:42 2011 -0500 - - Solaris: Specify ARCHFLAGS in CFLAGS - - Various autoconf tests which use the C compiler may yield different - results depending on whether or not we are compiling for x86 or amd64 - on Solaris (different libraries are available, structures may be - different, et al). So, set CFLAGS depending on which arch we are - targeting, so the autoconf results are more consistent with the actual - compilation during the build. - - Change-Id: I99ddefaabc3bb2e80abe698366b348238d51408d - Reviewed-on: http://gerrit.openafs.org/5786 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 353aa7ef2c172f574998480d6d051b3f4e95ae7b -Author: Andrew Deason -Date: Wed Nov 2 11:32:56 2011 -0500 - - Do OPENAFS_OSCONF before compiler autoconf tests - - OPENAFS_OSCONF can set the C compiler we use, as well as changing - various compiler flags. These changes can alter autoconf tests, so - allow OPENAFS_OSCONF to change these before various autoconf tests are - performed which require the C compiler. - - Change-Id: I8da7d10b227f230d1467c77845c0dbd4b48fa966 - Reviewed-on: http://gerrit.openafs.org/5785 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1d9888be486198868983048eeffabdfef5afa94b -Author: Andrew Deason -Date: Wed Nov 2 10:43:54 2011 -0500 - - Remove -settime/RXAFS_GetTime client support - - Remove the -settime option from afsd, and any code for making - RXAFS_GetTime calls in libafs. Server probes have been replaced by - calls to RXAFS_GetCapabilities, and the actual functionality of - synchronizing the system clock has been superseded by other systems - like NTP. Issue a warning for all code paths that try to enable - -settime support. - - Historical note: the code that this commit is removing contains bugs. - Do not simply revert this commit to turn on -settime support again. - - Change-Id: Id291f5f88b1ad84594706f2a1a02a933dddd0cb9 - Reviewed-on: http://gerrit.openafs.org/5787 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9c130285d8f17a5e09bbe0b3c3b886ec3145bae9 -Author: Michael Meffie -Date: Thu Aug 18 17:04:14 2011 -0400 - - opr: queue swap - - Add inline function to pivot two queues. - Implementation by Simon Wilkinson. - - Change-Id: I704a1ff3e0d6314e2bfe47c870226cb6ffd44b1b - Reviewed-on: http://gerrit.openafs.org/5742 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fbf68f12592419a315f56585f9b8bb3a822bbc9b -Author: Andrew Deason -Date: Thu Nov 3 12:33:55 2011 -0500 - - external: trigger git commit-msg hooks on import - - When we import commits, the new commit does not have a Change-Id in - the commit message. Usually a git commit-msg hook will be installed to - automatically insert a Change-Id into the commit message if one does - not already exist, so trigger the hook by performing a no-op 'git - commit --amend'. - - Change-Id: Ie5e83c529b83c9f3d269df6742a59e965dbc6407 - Reviewed-on: http://gerrit.openafs.org/5797 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7ef5aeb608a390b6ac88d7e6748c5a1b4a65e0c5 -Author: Andrew Deason -Date: Thu Nov 3 12:27:22 2011 -0500 - - external: commit imports with --no-verify - - Currently, importing external commits with import-external-git.pl may - fail if the current repository checks for whitespace errors, and the - external commits contain whitespace errors. So run the commit with - --no-verify, so we can make the commit before fixing up the whitespace - errors immediately afterwards. - - Change-Id: I8c9c39550e118956aa847e0ec5c5b1181f42e6cb - Reviewed-on: http://gerrit.openafs.org/5796 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 95038fde9a23b4550cbba38460f4668ca25b4f85 -Author: Andrew Deason -Date: Thu Nov 3 12:17:07 2011 -0500 - - Import setenv.c and unsetenv.c from roken - - Import the roken implementation of setenv and unsetenv, which are - required on HP-UX. - - Change-Id: Ia91f407d696f3add27796bf9e2f5998717f4c825 - Reviewed-on: http://gerrit.openafs.org/5795 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ed9bf9b55976c78cf24b43580d1752e81fe697b1 -Author: Peter Scott -Date: Wed Nov 2 19:29:00 2011 -0400 - - Windows: fix deadlock in symlink Attrib retrieval - - Commit df22620f66f5ce92776177d4d800fc7f4ae4ae99 introduced a - deadlock when retrieving file attributes for symlink objects. - To correct the deadlock, do not hold the Fcb locks during the - AFSRetrieveFileAttributes() call. - - Change-Id: I8d3d2c5f54d4e5c97f690fd1fd6db62128317cf2 - Reviewed-on: http://gerrit.openafs.org/5792 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d8f357b9838509c5a5cfa22a85dffcd962804025 -Author: Jeffrey Altman -Date: Wed Nov 2 19:27:42 2011 -0400 - - Windows: always set reparse point attrib for symlink - - Make sure that we always set the reparse point attribute - for symlinks in directory enumerations and attribute queries. - - Change-Id: Ie7520cef64793e3385f229934189fc56a3edb584 - Reviewed-on: http://gerrit.openafs.org/5793 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e39e8bb5b2f08281bc1d91c9209a1a3f1b463af2 -Author: Peter Scott -Date: Wed Nov 2 19:25:36 2011 -0400 - - Windows: remember when a reparse point is opened - - If the mount point or symlink is opened as a reparse point - we must remember that in the Ccb so that later reparse point - processing can be implemented properly. For now remember - with the CCB_FLAG_MASK_OPENED_REPARSE_POINT flag. - - Change-Id: I32997a85701a95a5be1402cdcd3335a938395760 - Reviewed-on: http://gerrit.openafs.org/5791 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c7e2d8450117a947cb858bfdb4aedd668bd56bfd -Author: Jeffrey Altman -Date: Wed Nov 2 10:35:14 2011 -0400 - - Windows: Mount points are always directories - - Set the directory file attribute for all mount points - since a mount point target is always represented as - a directory. - - Change-Id: I57a8e44d1382093311e8263c18d55f22f2f745ea - Reviewed-on: http://gerrit.openafs.org/5784 - Tested-by: BuildBot - Reviewed-by: Peter Scott - Tested-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit df22620f66f5ce92776177d4d800fc7f4ae4ae99 -Author: Peter Scott -Date: Wed Nov 2 10:23:48 2011 -0400 - - Windows: Retrieve file attributes on symlinks - - When a component is a symlink, correctly retrieve file - attributes during a query file information request. - - FIXES 130283 - - Change-Id: I0e9a576ca57acf9c65a5dc0eac8c9d65ddf6ab6f - Reviewed-on: http://gerrit.openafs.org/5782 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cddb3baa13b1c941533bee5cdf0873ca4563c9c1 -Author: Peter Scott -Date: Wed Nov 2 10:18:09 2011 -0400 - - Windows: add AFSRetrieveParentPath() - - Change-Id: Ic3da7f09f12f0e089b9561a542b2cf04ff61c98d - Reviewed-on: http://gerrit.openafs.org/5783 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6fe9a1ea0f22ef31ede5a9a8bb052b4ee71e7be0 -Author: Jonathan A. Kollasch -Date: Tue Oct 11 12:56:08 2011 -0500 - - kdump-build: don't install when it hasn't been built for *bsd* - - Change-Id: Iac9df9eb199433127941590d24633dfe9bbc6815 - Reviewed-on: http://gerrit.openafs.org/5596 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3a9a5783cd1fd73902655f0876e2069b42688c94 -Author: Jeffrey Altman -Date: Fri Oct 14 08:10:19 2011 -0500 - - klog.krb5: enforce DES for rxkad - - 0. Always request a TGT regardless of the state of - writeTicketFile. - - 1. request des-cbc-crc when requesting a ticket for an - rxkad service principal - - 2. check the returned key length to ensure that it matches - the permitted length of an rxkad key. If not, generate - an error instead of overwriting memory and continuing. - - FIXES 130278 - - Change-Id: Ib7d27acc60c1b38dab4e2a56f83643477afb9721 - Reviewed-on: http://gerrit.openafs.org/5619 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 4f4b805ae9107482aa39f2c3c0c4327e8466e2ac -Author: Peter Scott -Date: Tue Nov 1 08:55:37 2011 -0600 - - Windows: DE Reference count added during create - - A reference count is added under lock to a newly created DE to - ensure it is not removed through deletion while in flight. - - Change-Id: If0955c4a6c4cf197a4e071f9c6022875aabb70bb - Reviewed-on: http://gerrit.openafs.org/5775 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 96e313de3e040efffbb9b933b0b2ae15c9fd540c -Author: Peter Scott -Date: Mon Oct 31 18:10:07 2011 -0400 - - Windows: change AFSProcessUserFsRequest default - - Default the return code for AFSProcessUserFsRequest() to - STATUS_INVALID_DEVICE_REQUEST instead of STATUS_INVALID_PARAMETER. - - Change-Id: Ie7fb260a19617635c11c92e2daf5947cef73c9be - Reviewed-on: http://gerrit.openafs.org/5774 - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ee8b6d34fa7d562f94469e2b8098ccc0507d5876 -Author: Peter Scott -Date: Mon Oct 31 18:07:23 2011 -0400 - - Windows: correct ordering of reparse point tests - - Test for whether an object is a reparse point before testing - whether the provided buffer is large enough to hold the result - if it is. - - FSCTL_GET_REPARSE_POINT - FSCTL_SET_REPARSE_POINT - FSCTL_DELETE_REPARSE_POINT - - Change-Id: If6c1b9b6e5853d7759f169943310321d408190e0 - Reviewed-on: http://gerrit.openafs.org/5748 - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 94e9fceaa7ec343717b3fdc8610381832f532ebf -Author: Peter Scott -Date: Mon Oct 31 18:05:31 2011 -0400 - - Windows: log FSCTL_CSC_INTERNAL requests - - FSCTL_CSC_INTERNAL requests are not supported and will - return STATUS_INVALID_DEVICE_REQUEST. However, log them - for easier debugging. - - FSCTL_CSC_INTERNAL is defined in ntifs.h only for - Vista and above. Since afsredir is built for XP - and above its value must be conditionally defined - by us. - - Change-Id: I39cf1f9d068d28ab6c9267c302d49feece6af700 - Reviewed-on: http://gerrit.openafs.org/5773 - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 22f4e2945d3fa5b7802b7321ddaa35ef34b04a45 -Author: Peter Scott -Date: Mon Oct 31 17:59:51 2011 -0400 - - Windows: add braces to case statements - - A number of case statements did not have braces protecting - the block. Add them. - - Change-Id: I313462ca0c7490931e7c994ec45e39be071e782b - Reviewed-on: http://gerrit.openafs.org/5772 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit af3dbb34a1ff226ac693c143f8e9d94ced4114c9 -Author: Peter Scott -Date: Sat Oct 29 13:55:46 2011 -0400 - - Windows: Directory Entry Processing - - Memory corruption was detected due to improper handling - of directory entries and the short name b-tree during - directory revalidation and tear down. The problem - resulted in a BSOD most frequently when roaming profiles - were written back to the file server or when multiple - clients were actively modifying the contents of a directory - simultaneously. - - This patchset makes a number of changes: - - . rename processing no longer handles collisions locally. - the file server replaces a target atomicly when there - is a collision. - - . directory validation is no longer delayed until - a handle is closed - - . data version numbers are checked for implied - invalidation - - Change-Id: Ib4b281bfb5da4b5a5ce735e85d85c50e15fbcde1 - Reviewed-on: http://gerrit.openafs.org/5736 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dac012a84b1fec9f2a5003e8cf45a7bdb8cb004a -Author: Peter Scott -Date: Sat Oct 29 13:29:55 2011 -0400 - - Windows: additional trace logging for afsredirlib - - A large number of addition trace log entries were added - to assist in diagnosing problems in the dir entry processing. - - Change-Id: I85cab4d66680eb5b9c00843c49c33a81acb18bc2 - Reviewed-on: http://gerrit.openafs.org/5739 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 15d9654d7242e56a6bab9f8d61afa87b58c1c55f -Author: Peter Scott -Date: Sat Oct 29 11:34:07 2011 -0400 - - Windows: Reimplement AFSGenerateCRC() - - Replace the home grown CRC generation with a call to - RtlHashUnicodeString() which is present on Windows XP - and above. - - Change-Id: Id98a1223e0aad54b3c43a16653ab888ac883639f - Reviewed-on: http://gerrit.openafs.org/5738 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 4952df3f0359531e4a660c99c94c51eb0b169f59 -Author: Marc Dionne -Date: Sat Oct 29 19:23:07 2011 -0400 - - Linux: 3.1: update RCU path walking detection in permission i_op - - The permission() inode operation changed again with kernel 3.1, - back to the form it had before 2.6.38. This compiles fine, - but is missing the new way of detecting when we get called in - RCU path walking mode, resulting in system hangs. - - Change-Id: I9a9a0c13aa3b35d8fe2bd592e2bca8187eacacc5 - Reviewed-on: http://gerrit.openafs.org/5740 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d603e2a95252200f02ad8465815c5bac0b23b1e1 -Author: Simon Wilkinson -Date: Tue Jun 21 18:32:02 2011 +0100 - - rx: Remove the ADAPT_WINDOW code - - RX still has the remnants of an old mechanism for doing RTT and - congestion window detection. This code is #ifdef'd out using - the ADAPT_WINDOW define, but is pretty much unservicable these days, - as it collides with the TCP style implementation (with ADAPT_WINDOW - enabled, both will attempt to manipulate a connections RTT and - window size) - - As the current TCP-style RTT and window calculation seem to work - much better in deployment, and there isn't much hope for us being - able to maintain two different congestion mechanisms, just remove - ADAPT_WINDOW. It is in git, if we ever want it back (not that I - think we ever would). - - Change-Id: I4a22354e362fde8021f7d8b19e099a0f7b4fba3b - Reviewed-on: http://gerrit.openafs.org/5737 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7a426424b7fb45659f6000a564e8c71a9108a33c -Author: Jeffrey Altman -Date: Fri Oct 28 17:43:24 2011 -0400 - - Windows: cm_Rename break in 9cf7a628c2ff178b2fa236d2c0a41ca9be315036 - - 9cf7a628c2ff178b2fa236d2c0a41ca9be315036 broke renaming of - a file to a name that does not exist. Put back the code that - makes that possible with a comment. - - Change-Id: I6c13c0150d2366c9578502d0c8f6188bdc40a9c8 - Reviewed-on: http://gerrit.openafs.org/5735 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 1dad690fc34fdd8d9df8a3be6d580441b7cae8bb -Author: Jeffrey Altman -Date: Fri Oct 28 11:36:10 2011 -0400 - - Windows: out of date version not in current chunk - - In buf_GetNewLocked(), the comparision to decide whether a - cm_buf_t is a member of the current chunk must take the data - version into account. If the data version is out of date, it - is not part of the current chunk and is an object that can be - safely recycled. - - Change-Id: Id8ca0a897a0a65efc1cabbe39107ca210b48bd4e - Reviewed-on: http://gerrit.openafs.org/5734 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 286ffa0d7c4d594ff107b70f9e930271c027a79e -Author: Edward Z. Yang -Date: Mon Oct 17 23:16:15 2011 -0400 - - linux: Update Packaging to build OpenAFS services for Fedora's systemd - - Fedora 15 now uses systemd (see http://fedoraproject.org/wiki/Systemd) - for the OS init system. While it currently has backwards - compatibility with older SysV-style init scripts, future versions of - Fedora may no longer support it, and OS startup tends to be faster - with the systemd service units. Also, systemd runs all the service's - processes within a linux kernel cgroup. - (see http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt) - - This change includes an openafs-client.service and - openafs-server.service unit files for the client and server packages - respectively. - - Client - - Loading the openafs module was moved into - /etc/sysconfig/modules/openafs-client.modules. This causes the OS to - load the module on boot. This is the preferred way for modules to be - loaded with Fedora. (See - http://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/sec-Persistent_Module_Loading.html - for more details) - - The CellServDB file is generated with sed rather than cat. - This change was made because Systemd doesn't execute as a shell - script, but rather executes processes directly. Rather than invoking - a shell to concatenate the CellServDB.* files, they're written to the - CellServDB file using a sed oneliner. - - Do all of the proper kernel module loading and unloading. - - Server - - Since systemd uses cgroups, when the service is shut down, all - processes in the openafs-server.service cgroup will be terminated. - - The other changes are standard as per: - http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd - - Original version by Jonathan Billings . - - Signed-off-by: Edward Z. Yang - - Change-Id: Ifb41790ffe107b319097b9750273aecfe82c3349 - Reviewed-on: http://gerrit.openafs.org/5637 - Reviewed-by: Derrick Brashear - Reviewed-by: Alex Chernyakhovsky - Tested-by: BuildBot - -commit 9743f5729d1a55513e861bb1334599a8e597de6b -Author: Jeffrey Altman -Date: Thu Oct 27 17:57:25 2011 -0400 - - Windows: only flush buffers on shutdown if running - - If a service shutdown message is received prior to the - service entering the running state, do not attempt to - buf_CleanAndReset() because the required data structures - and locks are not initialized. - - Change-Id: I29f20dbe91230f078334ca58e8791d2422cdecfd - Reviewed-on: http://gerrit.openafs.org/5733 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9cf7a628c2ff178b2fa236d2c0a41ca9be315036 -Author: Jeffrey Altman -Date: Tue Oct 25 15:32:11 2011 -0400 - - Windows: Do not EEXIST exact match during rename - - AFS Rename operations on the file server will delete a - target file if it exists. Do not prevent renames because - an exact match of the target name exists in the target - directory. - - Change-Id: I680f8886575a9276a8df05965d14bbe7f24fba5d - Reviewed-on: http://gerrit.openafs.org/5731 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8fce3848d94f9717323bbd5dc51a9d18956fa2b5 -Author: Jeffrey Altman -Date: Tue Oct 25 15:42:44 2011 -0400 - - opr: build on Windows after queue.h move - - 55efff93fe2762b58dc70cdd20aaf97e39825929 broke Windows. - update the NTMakefile in src/util and src/opr to correspond - to the move of queue.h. - - Change-Id: I3379c131ee39758a36cf8574aff5766f79497236 - Reviewed-on: http://gerrit.openafs.org/5732 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 241d3d54cebfc661cfaec6d21de091d906df3d08 -Author: Rod Widdowson -Date: Sat Oct 22 16:46:26 2011 +0100 - - Windows: Look for 8.3 name when doing a rename - - If we are doing a destructive rename we need to find whether the - target file exists. This is done in the usual way (case sensitive - case insensitive), but the short name is not looked for. - - This means that the rename of a file to a short name will not - supersede correctly; rather the service refuses the rename since - the target existed already. - - This patch looks the target name up in the shortname tree if the - target name is short and all else has failed. - - Change-Id: Ie054516a378edf52938d3465143a16107a99c0f6 - Reviewed-on: http://gerrit.openafs.org/5652 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 159003395a6183266ad9672f12482b1cba6ba0ff -Author: Peter Scott -Date: Thu Oct 20 14:39:31 2011 -0400 - - Windows: New Trace for DirEntry tracking problem - - Incuded in this patch is additional trace for logging how - directory entries are added, modified and deleted throughout - the redirector - - Change-Id: I7ea80331ca24d543579603986f4eb6bcdd0bf072 - Reviewed-on: http://gerrit.openafs.org/5640 - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f0cc4c5dd0c03e4074fc70583215e590623e2414 -Author: Jeffrey Altman -Date: Mon Oct 17 09:29:37 2011 -0400 - - Windows: Free work item memory with tag value - - For consistency throughout the source module, free all work - item memory allocations with ExFreePoolWithTag. - - Change-Id: I4e9b275bb8b92a81884d36ce4c8ed754d281bbf8 - Reviewed-on: http://gerrit.openafs.org/5627 - Reviewed-by: Jeffrey Altman - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - -commit d5a6a895e3b004666b0d6aaa9fe4313b0a831dbd -Author: Jeffrey Altman -Date: Mon Oct 17 09:28:11 2011 -0400 - - Windows: free pointer after last reference - - This is a superficial change but is being done for readability. - If given the choice of freeing memory and then testing the pointer - value or vice-versa, test the pointer value first. - - Change-Id: I189851c265a257d433df111622837db1d706c054 - Reviewed-on: http://gerrit.openafs.org/5626 - Reviewed-by: Jeffrey Altman - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - -commit ada5908ca1ed8cfa7bfc42890ac5edc73769ae4c -Author: Jeffrey Altman -Date: Mon Oct 17 09:26:13 2011 -0400 - - Windows: AFSInitPIOCtlDirectoryCB free in try_exit - - Process all conditional release of allocated memory on - failure within the try_exit on failure. - - Change-Id: I4a29f6e9d2506c00713558849c49c377a74d607a - Reviewed-on: http://gerrit.openafs.org/5625 - Reviewed-by: Jeffrey Altman - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - -commit 782fba58db1210e998ef9c6a50803262ac256812 -Author: Jeffrey Altman -Date: Tue Oct 25 13:30:19 2011 -0400 - - Windows: close leak in AFSPrimaryVolumeWorkerThread - - Prevent a leak of the non-paged pool and a Resource by freeing all - allocations within the Specific.Directory.PIOCtlDirectoryCB object. - - Use AFSExFreePool() instead of ExFreePool() because the objects - are allocated from the AFSRedir.sys driver allocator. - - FIXES 130280 - - Change-Id: I3b1c8fa838cfdf434bf7c08bb8935999cf328357 - Reviewed-on: http://gerrit.openafs.org/5730 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 61b04b19ad4bf2c62ec4309efeba4f442a54d8f2 -Author: Jeffrey Altman -Date: Mon Oct 24 21:14:59 2011 -0400 - - Windows: afsredir only wants shortName if not 8.3 - - When performing a directory enumeration for the afs redirector - only specify a shortname if the name is not valid 8.3. - - Change-Id: I650be75b9ea8e41721272cd8bd426f1989ca01fb - Reviewed-on: http://gerrit.openafs.org/5727 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 219624206ddee454e6bcbac7da7fe2fe632e39a7 -Author: Jeffrey Altman -Date: Thu Oct 20 14:06:47 2011 -0400 - - Windows: Use SetFlag macro when setting flag - - Change-Id: Ibda7ac5e30a623dc26f031831e75380fdf700a88 - Reviewed-on: http://gerrit.openafs.org/5642 - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e21a063217f99ac441bb65c7e1f628de2a0fbb68 -Author: Jeffrey Altman -Date: Thu Oct 20 14:05:59 2011 -0400 - - Windows: minor type in trace output - - Change-Id: I72b348dea83547260575c0bd2aca327ea4f72532 - Reviewed-on: http://gerrit.openafs.org/5641 - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 81bfacca545e7394a13baa569a6b7c894fc36bde -Author: Peter Scott -Date: Tue Oct 18 10:04:48 2011 -0400 - - Windows: AFSRemoveCaseInsensitiveDirEntry corrections - - If there is a fLink but no parentLink for the DirEntry being - removed, return the fLink as the new value for *RootNode. - - This patch set also includes two changes that improve readability - but do not alter the behavior. - - Change-Id: I112265798df9d46c83ffacddc7d97ad0f6fce5bf - Reviewed-on: http://gerrit.openafs.org/5638 - Reviewed-by: Rod Widdowson - Reviewed-by: Peter Scott - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 46a96ee06582178eb88e8ca1c7fbb33fae79b403 -Author: Jeffrey Altman -Date: Mon Oct 17 09:22:53 2011 -0400 - - Windows: AFSEvaluateTargetByName free buffer if no return - - For consistency with other functions in AFSCommSupport - modify AFSEvaluateTargetByName to free the DirEntry on - completion if the caller has not provided an out parameter - to accept it. - - Change-Id: Ic5b6cc655fd47b95493e6aadb7b23481d0187d5c - Reviewed-on: http://gerrit.openafs.org/5624 - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit c780a9bc2849e25e3ac84f9f674348b8cdd942ff -Author: Jeffrey Altman -Date: Mon Oct 17 09:19:33 2011 -0400 - - Windows: remove unused code block - - A small bit of dead code in the redirector. - - Change-Id: Ieeea58e7681e8b0bd043794f1aa51c112c212497 - Reviewed-on: http://gerrit.openafs.org/5623 - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 9c723e7a514ee4f809348ec79e2124cf3a38d895 -Author: Jeffrey Altman -Date: Mon Oct 17 09:10:17 2011 -0400 - - Windows: re-indent afsredir log message params - - convert tabs to spaces for consistent indentation - - make use of braces be consistent - - Change-Id: I76e2c6427c02cb50f1eb4e6ab57e484a4bfa3c65 - Reviewed-on: http://gerrit.openafs.org/5621 - Reviewed-by: Jeffrey Altman - Reviewed-by: Rod Widdowson - Tested-by: Jeffrey Altman - -commit 2a7795aa565dfa4e371f806b799ce6a01a2db6c9 -Author: Rod Widdowson -Date: Sat Oct 22 15:00:03 2011 +0100 - - Windows: Defer deref of a directoryEntry - - During the handling of SL_OPEN_TARGET opens (usually associated - with a rename) a directory entry was deferenced prior to its - contents being used (to set up a seconding inforation field). - - This change just holds on to the reference until after that processing. - - Change-Id: I26dbd4bfb6595863109e549893f2367f71ad6404 - Reviewed-on: http://gerrit.openafs.org/5651 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 9824a53aea25a150f770e6b37536aa5fd7eb87df -Author: Rod Widdowson -Date: Fri Oct 21 16:57:02 2011 +0100 - - Windows: Set new file index correctly during rename - - Directory entries are required to have a file index which is used during - directory enumeration. When inserting into a new directory we have to - update this from the target directory. - - This code fixes a bug whereby it was being set from the source FCB, rather - than the target one. On failure we now also reset the value to its old value. - - Change-Id: I726dd2e7ecc84e4a8b28f1f551c89fc6e815d853 - Reviewed-on: http://gerrit.openafs.org/5646 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 83c41c69411ece7ac1dd0a7b15d4ee9746edcf23 -Author: Jacob Thebault-Spieker -Date: Tue Jul 19 15:01:26 2011 -0700 - - allow cloning of any volume to any volume with same parent ID - - remove checks to disallow cloning of ro volumes to rw volumes, - which allows cloning of any volume within the same parent ID - grouping, including allowing destruction of newer version of the - volumes. - - Change-Id: I13f600c33934b9af8237f049225d6bacfbbb5690 - Reviewed-on: http://gerrit.openafs.org/5049 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4e1a65ba7edec519acc67f0dcf2237a0f26e92aa -Author: Jacob Thebault-Spieker -Date: Tue Jul 19 09:02:49 2011 -0700 - - remove check for disallowing clones of backup or ro volumes - - removes the if-statement ensuring that the volume being cloned is - not a backup volume, nor a read-only volume. This allows clones - from any type of volume to a given volume. Parent volume meta-data - is maintained, only the cloneId value changes. - - Change-Id: If8444fcabc9b9106db7db7df881ae07e8d287915 - Reviewed-on: http://gerrit.openafs.org/5046 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ac88af748e25a40d062c888396aab8670ff8426a -Author: Michael Meffie -Date: Thu Oct 6 08:33:37 2011 -0400 - - bozo: build notifier sample program - - Build the smail-notifier sample program. - - Change-Id: Ida2fd16e486934c984b2431c95c3a24966b3b2b7 - Reviewed-on: http://gerrit.openafs.org/5555 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e7302bcc9c4aa6f1e6a1ae8e5b498bcb0540aac9 -Author: Michael Meffie -Date: Thu Oct 6 07:55:21 2011 -0400 - - bozo: test program update - - Add -file option to test program to simulate program crashes. - - Change-Id: I1ba14152438e2f857fdf5d181023266b3ab64fa3 - Reviewed-on: http://gerrit.openafs.org/5533 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4552dc552687267fce3c7a6a9c7f4a1e9395c8e5 -Author: Andrew Deason -Date: Mon Aug 29 17:41:31 2011 -0500 - - DAFS: Remove VOL_SALVAGE_INVALIDATE_HEADER - - Currently VRequestSalvage_r takes a flag, - VOL_SALVAGE_INVALIDATE_HEADER, which causes the header for the - specified volume to be freed (via FreeVolumeHeader). This is almost - never safe to do, since there may be other users of the specified - volume that can be accessing the volume header at the same time. - - There is also no reason to invalidate the header at the time of the - VRequestSalvage_r call, since the header must be invalidated when we - detach the volume (other utilities may change header information). So, - if there are any problems in the future because we do not invalidate - the header at the time of VRequestSalvage_r, it is the fault of the - detachment/offlining logic. - - So, remove VOL_SALVAGE_INVALIDATE_HEADER and all of its users. Take - this opportunity to correctly document the VRequestSalvage_r headers - in the VRequestSalvage_r comment, as it was previously missing the - VOL_SALVAGE_NO_OFFLINE flag. - - Change-Id: I65c4cc0e81171aafa7b78ae9e1f503edb2f3f2c3 - Reviewed-on: http://gerrit.openafs.org/5319 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d171a5e059566cc99c5dd980039dd56233f91a67 -Author: Michael Meffie -Date: Thu Oct 13 12:23:35 2011 -0400 - - DAFS: fssync online requires a partition name argument - - fssync-debug online silently fails when run without a partition name. - Check for the required partition name on the server side and the client - side. Report errors back to the client when the server side fails to - pre-attach the volume. - - Change-Id: I454b202ac83893b1ee54d586a46d891773090a64 - Reviewed-on: http://gerrit.openafs.org/5615 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 87f969f82d12c8200ede3fd30a151e09ab0bf6ad -Author: Andrew Deason -Date: Tue Oct 11 10:51:14 2011 -0500 - - volser: Remove ExtractVolId - - volser was using its own function to extract a volume ID from a - filename string, and was using atol to do so. The ato* family of - functions can have problems with larger volume IDs, not to mention a - lack of error checking, so don't use it. Since we already have the - function VolumeNumber in the vol package to do the very same thing, - just use that instead. - - Change-Id: I40953d3533454503583685eb3adeb0079137c8a1 - Reviewed-on: http://gerrit.openafs.org/5594 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit b5a153fb75bb6642490e9856dc6212244a590301 -Author: Andrew Deason -Date: Mon Oct 3 13:10:44 2011 -0500 - - viced: Check for HOSTDELETED in stillborn check - - h_FindClient_r checks the connection rock for a client object twice. - First it sees if we already have a client object, and if we don't, we - effectively create one (or find a suitable one). Then we check again, - to see if someone else set the rock while we were creating a client - structure. - - Currently, the first check checks if client->host->hostFlags has - HOSTDELETED set, but the second check does not. So, if the host - associated with the client has been deleted by someone else, currently - we will unnecessarily log a "stillborn client" message, and we will - continue to use the deleted host. If the host continues to be held by - someone, we will run into the same situation repeatedly on future - requests until all of the host references go away. - - To fix this, also ignore HOSTDELETED clients when performing the - stillborn race check. - - Change-Id: Id72e83cb55b99a686d4179905116592e80eb9ac7 - Reviewed-on: http://gerrit.openafs.org/5614 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 13a4642458254e6bdbfa6fd8e165c270f567a1aa -Author: Andrew Deason -Date: Thu Oct 13 11:45:58 2011 -0500 - - vlserver: Log to VLLog by default, not PtLog - - Change-Id: I25c13a4461fc5a6ba2809b6937cbc18ed9c6ed53 - Reviewed-on: http://gerrit.openafs.org/5616 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 8c7202fb9ea9cf5e5c888000ec84fd9b7478068d -Author: Andrew Deason -Date: Fri Oct 14 11:32:34 2011 -0500 - - vos offline: Bring volume back online for -busy - - vos offline is supposed to bring a volume back online from "busy" - status before exiting, as volumes should not be in "busy" status for - extended periods of time. This was being enforced by required that - -sleep be specified; however, -sleep only results in the volume being - brought back online if a non-zero sleep time was specified. So, make - sure the volume is brought back online if -busy was specified. - - Change-Id: I6e605771fcfcabbb09f6dcfd0576c062f64ad93f - Reviewed-on: http://gerrit.openafs.org/5620 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 547d94edd3affb5f377cd1b3db39c46ca0cf5aec -Author: Marc Dionne -Date: Sat Oct 22 09:32:33 2011 -0400 - - cache bypass: don't define iovecp for UKERNEL - - iovecp is defined but not used for UKERNEL. Define it conditionally - to avoid gcc warnings and --enable-checking failure. - - Change-Id: I109ada36d0ab75e8a477498900dfaf85589e20e2 - Reviewed-on: http://gerrit.openafs.org/5650 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f715ebaee4188300ecee57109512609c7c84cf98 -Author: Rod Widdowson -Date: Sat Oct 22 14:27:41 2011 +0100 - - Windows: Remove unused cleanup flag - - In AFSOpenTargetDirectory the flag bRemoveShare was initialized - FALSE and never set TRUE. In teardown after failure some code - did listen to the flag, but the operation (IoRemoveShareAccess) - was not protected by the FCB mainlock which it should have been. - - Rather than get the locking correct, just remove the flag entirely. - - Change-Id: I097f15bb0903f3c0889b62427d2169cf84aa04a0 - Reviewed-on: http://gerrit.openafs.org/5649 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4b817cbb520872e69b01e5675f9037d8948d0ade -Author: Derrick Brashear -Date: Sun Oct 23 19:15:16 2011 -0400 - - bypasscache: allow arbitrary sized iovecs - - instead of binding outselves to PAGE_SIZE, just fill any size - - Change-Id: I01385df372ac2bda6d8ea24381bf38102c12615f - Reviewed-on: http://gerrit.openafs.org/5658 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 28a159b2bfff7ad450dce612601a0286d4f91df5 -Author: Derrick Brashear -Date: Thu Oct 6 04:04:36 2011 -0400 - - bypasscache: do errors correctly - - do set errors when we bomb out early - do not unlock and return early when we happen to do a correct zero - length read - do set errors the kernel can deal with if we're feeding a page routine - - Change-Id: I1dca1f9e3b0f3d24da3e4f55b473775a737370b4 - Reviewed-on: http://gerrit.openafs.org/5554 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6f59c71988d75f76750c46adb11cda7e9189d5f3 -Author: Derrick Brashear -Date: Tue Oct 11 15:37:57 2011 -0400 - - ukernel: get an ip address even when dns and hosts suck - - gethostname plus gethostbyname being useless make things fun - - make things less fun - - Change-Id: I5595698b0b7f2448b8c86448bedd8b16ab088510 - Reviewed-on: http://gerrit.openafs.org/5600 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 7829e7152361c38a22a7ba4c11e4f614e4392d60 -Author: Marc Dionne -Date: Sun Oct 23 22:45:21 2011 -0400 - - dir: add missing return in DRead - - A missing return in the kernel version of DRead causes the code to - think that no entry exists for a dir and proceed to allocate a new - one, if the entry is the third one in the hash chain. - - If the existing entry is dirty, its contents are never written back, - and the pending changes to the directory are not seen by the client. - - Change-Id: I8b0f86b04d6ac8f75720933308a0983810974ff4 - Reviewed-on: http://gerrit.openafs.org/5666 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2aaa540276f5b5a0c368e44d8fd04b32c4632c3f -Author: Simon Wilkinson -Date: Sun Oct 23 17:41:27 2011 +0100 - - tests: volser doesn't need rxgk yet - - An rxgk dependency has crept in to the volser tests. Remove it for - now. - - Change-Id: I0439ab5cf6deb335ebe76fb5a6736c9905312eec - Reviewed-on: http://gerrit.openafs.org/5665 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fd5174d918a5d75f64b122c8433a3c431cb8e454 -Author: Simon Wilkinson -Date: Sun Oct 23 17:40:20 2011 +0100 - - tests: Add opr library for ktime test - - The ktime tests need libopr for the lcstring routines. Add the - dependency. - - Change-Id: I6902537236fbf35a654a3a4d70fa8f2df89e2a92 - Reviewed-on: http://gerrit.openafs.org/5664 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c2ada637b9410f18b3d4f3a96b5347a4f71b4851 -Author: Simon Wilkinson -Date: Sun Oct 23 19:09:32 2011 -0400 - - rpm: Add new libraries - - Add the new libopr.a and libubik_pthread.a libraries - - Change-Id: Ia91c67d72f1ac98060af60b6535db008911d3b1a - Reviewed-on: http://gerrit.openafs.org/5663 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1de23d1fe5d64c8f5e8f24579c0926fabdaace92 -Author: Simon Wilkinson -Date: Sun Oct 23 19:07:33 2011 -0400 - - rpm: Turn on debugging - - Now that we build with a blank CFLAGS line, we need to make sure and - actually turn on debugging in the build system, so that our debuginfo - files are vaguely useful - - Change-Id: Ic2ebd0ebe866d511c4b0aef15845a85d95bacb5b - Reviewed-on: http://gerrit.openafs.org/5662 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d88682e803912451880c3a9c2b07a01abaebe984 -Author: Simon Wilkinson -Date: Sun Oct 23 17:49:08 2011 -0400 - - roken: Add *progname() to shared library exports - - Add rk_getprogname and rk_setprogname to the set of shared - library exports in libroken - - Change-Id: I1fd26c59b26a256b2070bfdc14dfaa5f82fb8002 - Reviewed-on: http://gerrit.openafs.org/5661 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5743c96bdea2e9aafeeeec3a1b4377d8860ef437 -Author: Simon Wilkinson -Date: Sun Oct 23 21:23:34 2011 +0100 - - rx: Define afs_kmutex_t for LWP too - - afs_kmutex_t is used for lock definitions in the kernel, and in - pthreaded builds. LWP doesn't have any equivalent, and all structure - members using this type have to be protected with RX_ENABLE_LOCKS, which - starts to become untidy. - - Just make afs_kmutex_t an int for LWP, so that we can simplify our - headers, at the expense of some additional storage on LWP builds (which - are going away at some point, anyway) - - Change-Id: Iaa5683bdfd932c78a9a5d35b8a4530cecf5bdb37 - Reviewed-on: http://gerrit.openafs.org/5660 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3f938315adc08936024eb86678745dd85d2a092d -Author: Simon Wilkinson -Date: Sun Oct 23 16:38:13 2011 +0100 - - dir: Don't leak a buffer on a failed Enumerate - - If, for some reasons, Enumerate encounters a hash object with a NULL - buffer pointer, that's no reason to leak the hash object. Make sure - that we DRelease it before failing - - Change-Id: I9ba6c69ca524937a6068d33a0ec0a90eef5b88ea - Reviewed-on: http://gerrit.openafs.org/5659 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a9924ba433f81bfbfc2c0e726f2be06d460e4d56 -Author: Simon Wilkinson -Date: Wed Oct 12 09:50:18 2011 -0400 - - rx: ackall handling - - If we ACKALL a stream, then we're sending a hard ACK for all of the - packets in the stream. We shouldn't send that hard ACK, and then a - load of soft ACKs for packets that don't actually exist. - - Change-Id: Ibe0c76b4e92c5baa8801cfd12f961fabce223039 - Reviewed-on: http://gerrit.openafs.org/5604 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 6cb6bcc208a0ebb57325522ed764c7bf4bf6104e -Author: Andrew Deason -Date: Fri Oct 21 15:05:06 2011 -0500 - - LINUX: Fix afs_linux_pag_to_groups signature - - "new" is a struct group_info**, not a struct group_info* - - Change-Id: I606afce74be6820b99b151b6077cf23d06e8e2d6 - Reviewed-on: http://gerrit.openafs.org/5648 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ee2fbffb04bb8b5098354646e262afa90c1b6f59 -Author: Andrew Deason -Date: Fri Aug 12 14:50:26 2011 -0500 - - LINUX: Revert group changes on keyring failure - - On Linux kernels that support keyrings, when we setpag we try to add - the PAG to the session keyring and to the supplemental group list. - Currently, if we fail to add the PAG to the keyring (which may happen - due to key quotas, or possibly other reasons), we return failure but - the group list is still modified with the new PAG in it. - - Therefore, if the keyring-based approach fails, the new PAG may still - be in use, but there are no keyring keys associated with that PAG, so - the PAG may never get destroyed. This can cause a large number of PAGs - to accumulate over time, causing performance problems. - - So, change this so that, in the event that keyring installation fails, - we revert the group list back to what it was before we touched it. - Also mark all unixusers with the new PAG as expired, in case one got - created during processing. Thus, the new PAG never gets used. - - Change-Id: I61993edf705209e1a5d8dee638a9003690017c35 - Reviewed-on: http://gerrit.openafs.org/5238 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit dd831c09602f1ef16cc7dece84aeff638cce7272 -Author: Andrew Deason -Date: Thu Oct 20 16:57:14 2011 -0500 - - viced: Do not swallow errors on StoreData recovery - - When we encounter any error in the StoreData fetch/store loop, we - reset the disk usage to ensure it remains correct, even in the face of - unexpected errors. However, when we do so, we use the errorCode from - VAdjustDiskUsage as our return value; if it is 0, we return success, - ignoring the error that got us in this code path in the first place. - - Instead, keep track of a temporary errorCode for the disk usage - adjustment, and do not override our return value if there was no error - in the disk usage numbers. - - Change-Id: Ifbe2377f2750b508d48e535215be3583d1d78e65 - Reviewed-on: http://gerrit.openafs.org/5645 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 55efff93fe2762b58dc70cdd20aaf97e39825929 -Author: Simon Wilkinson -Date: Sat Oct 22 09:43:41 2011 +0100 - - opr: Move queue header out of util - - Move the header which is installed as opr/queues.h out of util/ and - into the new, top level, opr/ directory. Similarly move the tests out - of the util/ test suite, and into the opr/ tests - - Change-Id: I81af487f09e1f0f4b25654a1f64c5ac75fd5a95b - Reviewed-on: http://gerrit.openafs.org/5656 - Reviewed-by: Derrick Brashear - Tested-by: Simon Wilkinson - -commit ab866c821a705d7911e0ff8ac987249efdc63435 -Author: Simon Wilkinson -Date: Mon Oct 10 19:01:26 2011 -0500 - - dir: Remove double release in FindBlobs - - When DRead() fails, we DRelease the entrybuf, then break. However, - this break takes us to the end of the function, where we promptly - DRelease again, causing a double free - - Change-Id: I5a0293990e01376525d8adae25477c64e2cc93ad - Reviewed-on: http://gerrit.openafs.org/5655 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 69f54d474827548375c0bd39a87ac7ec376b6d9b -Author: Simon Wilkinson -Date: Wed Oct 12 09:44:37 2011 -0400 - - linux: makesrpm should cope with releases with letters - - don't just deal with numbered releases. - - Change-Id: Iab97e4a7bebebf97d367243501aaf2a0b4b0476c - Reviewed-on: http://gerrit.openafs.org/5602 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 488c7c97854a4bd0ec67bcfe17df93b3fd025f88 -Author: Derrick Brashear -Date: Wed Oct 12 14:34:55 2011 -0400 - - afs: don't try GetDownD if nothing to get - - if we "need" negative slots or caches, don't run. also, - don't stay "too full" - - Change-Id: I29ef8d5fd9844a878d0c804d06aed5862a2d0df4 - Reviewed-on: http://gerrit.openafs.org/5612 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 796de9fb43857acccbd51e2af7c8d67eea90fdc5 -Author: Simon Wilkinson -Date: Wed Oct 12 15:26:23 2011 -0400 - - ukernel: don't define rdwr env on linux - - We're not vm rdwr env in ukernel. Don't claim we are, otherwise we - will never push chunks out to the fileserver when our cache is full - - Change-Id: I1c52ef502d42a4a2b63e786471fa487b88712e9d - Reviewed-on: http://gerrit.openafs.org/5613 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7ae1921b76750ef28258777cf1b233c4917663d7 -Author: Derrick Brashear -Date: Wed Oct 12 13:09:42 2011 -0400 - - ukernel: set pthread stacksize to an integer multiple of 8k - - because some pthread stacks require this to be in units of page size, - guess that page sizes will be 4k or 8k, and use the larger as a divisor - - Change-Id: I9f89f7e32e2a70e12f1ed7a7fb86cab171b61e07 - Reviewed-on: http://gerrit.openafs.org/5606 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: Derrick Brashear - -commit eead07418f13cd87a90770f03ea5118c546d8f1a -Author: Simon Wilkinson -Date: Wed Oct 12 13:04:28 2011 -0400 - - ukernel: add morepackets check in listener - - Make the listener loop actually check for more packets needed, - like kernel, pthreads and lwp. Only checking for new packets every - 20 seconds isn't sufficient on today's networks! - - Change-Id: I80319cfd9d540c9a56b0dd8d948a380665426409 - Reviewed-on: http://gerrit.openafs.org/5605 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9f68e0dd31ddb7bf69ea8ac13b3afe371dd6b7cb -Author: Derrick Brashear -Date: Tue Oct 11 15:21:12 2011 -0400 - - afs: on uuid init fail, don't leave garbage behind - - make sure we zero the uuid if we failed - - Change-Id: I9d21e003b68eff0ce9bea4634c601c4663a0c078 - Reviewed-on: http://gerrit.openafs.org/5599 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 87dcfc872c11fdb13ebf0448abe91150aaa86859 -Author: Derrick Brashear -Date: Tue Oct 11 14:32:04 2011 -0400 - - ukernel: set close-on-exec on our socket - - if the process we are in execs a child, it doesn't get our socket - - Change-Id: Iaf1831866e0dcda0449e75d89c576557c61090dd - Reviewed-on: http://gerrit.openafs.org/5598 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f722a75fe21963d64217375f1f7bbb0eb14befb4 -Author: Simon Wilkinson -Date: Wed Oct 12 09:47:14 2011 -0400 - - rx: Don't clear the receive queue when out of packets - - We can end up discarding a receive queue that's been soft acked, - effectively taking back soft acks we sent. Whilst the RX - documentation says that a client can drop soft acked packets at - will, our RX implementation assumes that if the final packet in - a call has been soft acked, we won't clear the queue. If a client - clears the queue in this situation, the call will hang. - - What *should* happen is that we should take necessary locks, - confirm that we have not soft-acked all of the packets in a flow, - and then discard, or, if we're just going to discard, error the - call. - - Change-Id: Ic8e358b8648c1a6f0154009093468531a9e3cf74 - Reviewed-on: http://gerrit.openafs.org/5603 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 735873d51512bc31134856c06345bb7caf9d8144 -Author: Andrew Deason -Date: Thu Apr 14 15:36:50 2011 -0500 - - auth: Get correct viceid in legacy GetToken - - When ktc_GetTokenEx needs to get tokens via the legacy ktc_GetToken - interface, it was not extracting the viceid. Make it set the viceid so - the caller gets the correct id. - - Normally this would require parsing the given client name. To reduce - the amount of times we store and extract the viced from the "AFS ID - %d" string, create a helper GetToken function that can store the - viceid directly, without storing it in a string. - - Change-Id: Ib03a419aee6eaed3b253c4d5d575d4dd8d3b8ddc - Reviewed-on: http://gerrit.openafs.org/4482 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 59b47fba3fa7cf13ef82463c5112851f7bdaf2ec -Author: Andrew Deason -Date: Thu Apr 14 15:05:37 2011 -0500 - - auth: Force correct evenness on rxkad tokens - - Rxkad tokens historically have forced odd lifetimes when the given - viceid is actually an AFS ID, and even lifetimes when it is not. Force - this when the new token-handling functions are used (so the viceid is - correctly interpreted by users of the old token format), by creating - rxkad tokens with token_importRxkadViceId. - - Slightly reworked by Simon Wilkinson to provide a generic token - destructor function. - - Change-Id: I9f6aa518b8ae51a3772b69a0722a28bff6b47128 - Reviewed-on: http://gerrit.openafs.org/4481 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit c37a14697df291f641b4fa5a32826054d92210b0 -Author: Simon Wilkinson -Date: Mon Oct 10 17:19:13 2011 -0500 - - docs: Refer to dafs binaries by their real names - - (Most of) the dafs binaries are called da(something). Update the - example in the dafileserver documentation so that we call the binaries - by the names that they are actually installed with on the system. - - Change-Id: I05906758aa2b00ea7bc7f9be10414c8ad1a5a11a - Reviewed-on: http://gerrit.openafs.org/5654 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 7a4498850814ea524f55de0b84d6b0ae0b4834bb -Author: Simon Wilkinson -Date: Mon Oct 10 22:09:40 2011 +0100 - - ptserver: Don't check for noauth before rebuilding - - The ptserver database building scripts would check to see if the server - was running from a bosserver with the noauth flag set before performing - a database rebuild. - - This means that you can't start ptserver normally, and then configure - the database using pts -localauth, which is the preferred method for - configuring new cells. - - Remove the check for noauth. This is slightly risky, as it means that a - corrupt database could be completely erased upon restart. However, we - already check that the dbheader (65k) is entirely blank - which will - protect us against any single page corruption errors. - - Change-Id: I45dbb53d7f80b0b307f88941cb1e061967fcac81 - Reviewed-on: http://gerrit.openafs.org/5653 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit ca8ba7e7a41e61cc943b34196872b72a190432e3 -Author: Ben Kaduk -Date: Sun Oct 23 11:22:07 2011 -0400 - - FBSD: typo fix - - Gerrit/5572 added conditionals on __FreeBSD_version >= 900044, which - is (approximately) when a bunch of kernel API renames happened. - (There has since been a dedicated version bump to 900045 a month - or two post-facto, but 900044 should be fine for now.) - However, 900044 is not 90004. - - Change-Id: I566186a7b53fd3b605a0f531e241eaf54a96bba3 - Reviewed-on: http://gerrit.openafs.org/5657 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1b32b4800b1dd8985c1554453354e683a66c9ab5 -Author: Rod Widdowson -Date: Wed Oct 12 11:04:33 2011 +0100 - - Windows AFSRDR: Log before decrementing refcount - - The library support package keeps count of the number of times - the library code is active. When this goes to zero this means - that unload of the library can continue. - - Although I cannot see it in the code it seems reasonable to assume - that at that stage the device object might go away so (and if it - doesn't do now it may in the future). This potentially renders it - unsafe to do anything after InflightLibraryEvent has been signalled. - - This patch moves the logging up to above the decrement of the refcount. - - Change-Id: I9493d970cec4a025ca9e4c5542e2d838c87f7817 - Reviewed-on: http://gerrit.openafs.org/5601 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da9044cff966736bc064166a7136c94c0bfc1e5f -Author: Derrick Brashear -Date: Tue Oct 11 14:03:29 2011 -0400 - - ukernel: don't enforce thread lockers in remove vop - - we enforce locking by pid. when we are ukernel, MyPidXX is stupid. - - don't bother. - - Change-Id: Iddefd5d63edd6cc35a3c8112cb2cfbf3d47031aa - Reviewed-on: http://gerrit.openafs.org/5597 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 75179d50eae3258e8baa0a4c9f069fcd11d08260 -Author: Derrick Brashear -Date: Mon Oct 10 17:56:20 2011 -0400 - - ukernel: install our sysincludes to root.perf - - otherwise, we can't actually include sysincludes from something - linking libuafs - - Change-Id: Ia6565dda8390ef6510aa2170e36ff12ddb19fc9b - Reviewed-on: http://gerrit.openafs.org/5593 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3eb60908a1f9b3f2783ec3f7755b242bff3d573d -Author: Derrick Brashear -Date: Mon Oct 10 16:35:45 2011 -0400 - - ukernel: add uafs_access - - we don't have an access vop. add one. - - Change-Id: I813fb941608b5e49a0f23730414854602630fdee - Reviewed-on: http://gerrit.openafs.org/5589 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0676dc9e0c59e8aee3db5e0a7b4acf7229da7b88 -Author: Derrick Brashear -Date: Mon Oct 10 16:57:35 2011 -0400 - - volinfo: fix bad format string - - we need a format string; currently here we have none, which is no good - - Change-Id: Ib097100383dba9d56056b96c5322734abb765f9d - Reviewed-on: http://gerrit.openafs.org/5591 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3df03f0abe3e706eaba57e4d9d8c46f2f4d7414c -Author: Hartmut Reuter -Date: Wed Oct 5 10:06:05 2011 -0400 - - vol_split: avoid using stale open directory vnodes - - we could in case of multiple splits end up using a stale open - vnode for a directory; attempt to close and thus force-reopen - any fdhandles backing ihandles. - - Change-Id: I50ff39873b523b05287c7a183d84e6f16eb7cd90 - Reviewed-on: http://gerrit.openafs.org/5553 - Reviewed-by: Hartmut Reuter - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 4a1d319177ea0e58c9046c3c173bb7d2877d1bc3 -Author: Ben Kaduk -Date: Sat Oct 8 17:16:26 2011 -0400 - - FBSD: deal with kernel API rename - - Upstream decided to rename the kernel functions that implement - syscalls to have a sys_prefix (including afs3_syscall!). - We use a couple of them, so we need to conditionalize accordingly. - Unfortunately, __FreeBSD_version was not bumped with the change, - so we use something close to it and hope it's close enough. - - Change-Id: I228805a813af70b30f94f659e4da602210a6d6df - Reviewed-on: http://gerrit.openafs.org/5572 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 26253df896a7709847cda041db1dc187f1dbf83e -Author: Michael Meffie -Date: Thu Oct 6 06:03:07 2011 -0400 - - bozo: bosserver man page updates - - Add the new -pidfiles option to the man page. Add a few other missing - options as well. - - Change-Id: I2d72ec9948edb4dce4c6b6d974915d4ac7560b0b - Reviewed-on: http://gerrit.openafs.org/5587 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bd1fbd8f4c0696a73e6211ded89e8c1105db1bfe -Author: Jeffrey Altman -Date: Fri Oct 7 11:23:57 2011 -0400 - - Windows: correct use of krb5_init_context in aklog - - A zero return code is success. Apply ! to obtain proper - conditional test. - - Change-Id: Idd60fd2476a36ec36f7b5e250e9f8b8531c80611 - Reviewed-on: http://gerrit.openafs.org/5570 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a453f2152145f242c7412c947aaebdd135cb9022 -Author: Jeffrey Altman -Date: Sat Oct 8 10:01:07 2011 +0200 - - Correct Heimdal conversion of libadmin/adminutil - - Patchset 4251e386aa25bb3fc02fa255e92327fffc8b954d converts to - using Heimdal. The conversion undid the introduction of the - abstraction function fetch_krb5_error_message() which is - implemented in src/util. Restore the use of fetch_krb5_error_message() - and modify src/util/krb5_nt.c to use the Kerberos Compat SDK - interface. - - Change-Id: I67fe7a309727f67a1da3705e1e485e64747c325c - Reviewed-on: http://gerrit.openafs.org/5571 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit df3e4145e758de3530a21bb1e75cd48a4a7f61ec -Author: Derrick Brashear -Date: Fri Oct 7 08:11:34 2011 -0400 - - bypasscache: free in order - - we need to free this, but while the pointer is still good - - Change-Id: I5afa3505b764c5bf72811f60f63e29c80a29c5af - Reviewed-on: http://gerrit.openafs.org/5562 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f2cba414c1390d5ed46b6c57f5682bfbcf53774e -Author: Michael Meffie -Date: Fri Oct 7 05:50:37 2011 -0400 - - doc: fileserver synopsis typo - - Fix a fileserver synopsis typo noticed during Derrick's EACK2011 - debugging session. - - Change-Id: I73ed6bd93f644689acbdeeb4293a22b3b6752ba6 - Reviewed-on: http://gerrit.openafs.org/5558 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d84c91788e0f61a9b2837f9b6ba2492072df33da -Author: Andrew Deason -Date: Fri Oct 7 04:04:03 2011 -0400 - - RedHat: Add xstat_*_test commands to RPMs - - Install the xstat_*_test commands in the 'openafs' RPM. - - Change-Id: Idec42e133dd3f27c72f06c5411dd12acc163ef93 - Reviewed-on: http://gerrit.openafs.org/5557 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d1cf14d54e380014851fb850b65263a66a8a4443 -Author: Derrick Brashear -Date: Wed Sep 21 15:02:40 2011 -0400 - - bypasscache for ukernel - - simple (read) bypasscache for ukernel. - does not bother trying any buffercache stuff. - - Change-Id: Ie75572da7efdb871a4ce807f02fbbb5bd7744c66 - Reviewed-on: http://gerrit.openafs.org/5484 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 65bdade6d5a6c4301444f288cf20430241cbdc5d -Author: Jeffrey Altman -Date: Tue Oct 4 19:01:50 2011 -0400 - - Windows: Explorer shell GetUnixModeBits() - - actually append the unix mode string elements to the - respective strings. - - Change-Id: I32d69f824f01e8cfacbf811a4bb14e01e3b6b9a3 - Reviewed-on: http://gerrit.openafs.org/5552 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4e02cb72be034ddad019d2ee70e8009ee762d9ed -Author: Jeffrey Altman -Date: Tue Oct 4 17:29:26 2011 -0400 - - Windows: char* is not a Unicode string - - Do not treat the output of NetbiosName() as a wide_t when - it is a char*. - - Change-Id: Iba4f1f30f1de4a9c3ded2f1e440ca9e4bc014379 - Reviewed-on: http://gerrit.openafs.org/5549 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 07f771e6657f159998893b860f2ac1098fef5afc -Author: Andrew Deason -Date: Tue Apr 12 17:47:51 2011 -0500 - - tsm41: Add options for uidpag and localuid - - Add runtime options to aklog_dynamic_auth. Commit - 3a541eb11d1bc7bd05b85635315214218d3b5d6f changed the behavior of - aklog_dynamic_auth to be more friendly to the CDE screenlocker, but - forced the use of UID-based PAGs. - - Since some users like to use real PAGs and don't care about the CDE - screenlocker, made this behavior a runtime decision instead. - - Change-Id: I28264e2e80258f962d02ed9a6a40c4d789179c06 - Reviewed-on: http://gerrit.openafs.org/4484 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 40eebd37a295c77615950858e08282447a8c28ca -Author: Andrew Deason -Date: Thu Apr 14 11:29:26 2011 -0500 - - aklog_dynamic_auth: Support new SetToken pioctl - - Make aklog_dynamic_auth use the new SetTokenEx method of storing - tokens. - - Change-Id: I843ecd206ef4673ff9e5df5419daa9ee5b31f060 - Reviewed-on: http://gerrit.openafs.org/4483 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 59169e0ac73fe44ddd7d28f3985cfc5549938cb8 -Author: Jeffrey Altman -Date: Sat Oct 1 14:05:31 2011 -0400 - - Windows: Explorer Shell Extension enhancements - - Redesign the AFS Volume Tab to report: - - . Volume name - . Volume ID - . Cell - . Server - . Availability - . Quota - . Partition Info - . Replica Server List - - Properly handle multiple selections to report the volume info - of the parent object and not the actively selected object. - - When a mount point is selected, display the volume information - for the target volume. - - Remove file server from AFS tab. - - Modify the AFS tab to better handle multiple selections including - mount points. - - Extend many gui2fs functions to implement a poor man's "follow" - option. This really should be done with the pioctl 'literal' - capability but this is an improvement. The pioctl modifications - will require a major redesign of gui2fs.c and all of the dialogs. - - Change-Id: Ib009beb81d841fb3bbbd35b1eb0faec2c40eaf4e - Reviewed-on: http://gerrit.openafs.org/5531 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0ca1d92952cc81483e7b949f2982033cf0b9f3db -Author: Andrew Deason -Date: Thu Sep 29 12:14:15 2011 -0500 - - Remove a few extra trailing backslashes - - In a few different places, moving libutil before libafshcrypto_lwp - caused a variable definition to have a trailing \ on the last line of - the definition. This can confuse make (at least, the HP-UX make) to - think the next following definition is also part of the current - definition. Remove the trailing "\"s. - - Change-Id: I235f95813e303bc3805b5d9fc8d7861e812613e2 - Reviewed-on: http://gerrit.openafs.org/5523 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 82481c6f4464ad978ea56c687205bdfcd3eebffd -Author: Andrew Deason -Date: Wed Sep 28 15:02:48 2011 -0500 - - vol: Only check "logging" on vice partitions - - We don't care about non-vicepX partitions, so move part of the UFS - "logging" check into VCheckPartition. This API should probably redone - so the "am I a vicepX partition" check is done completely separately, - but for now, this will do. - - Change-Id: Ib2df2079a392d7ed1a8c2aded34f2a7265215ecd - Reviewed-on: http://gerrit.openafs.org/5514 - Reviewed-by: Derrick Brashear - Tested-by: Andrew Deason - Tested-by: BuildBot - -commit b4f96eb78d9403799b97a39b9659070cf1114cd1 -Author: Rod Widdowson -Date: Thu Sep 29 15:34:48 2011 +0100 - - FSSYNC-Client: Consistent use of partition name - - Over time the FSSYNC code has collected examples where the partition - path is passed rather than the partition name. In Unix this is the - same (/vicepX), but on windows the path is the DOS device (C:). - - This checkin changes FSSYNC client code to always use the partition - name. - - This checkin does not address FSSYNC server or SALVSYNC. - - Change-Id: I3c5b63103ab0cbd6c2c6c73b9dc737eca22b7d4c - Reviewed-on: http://gerrit.openafs.org/5521 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 0d76ca3c5b17caa2c8106a75ee6ca1332deae603 -Author: Jeffrey Altman -Date: Fri Sep 30 03:43:24 2011 -0400 - - Windows: register Shell Ext handlers - - Add registry keys and values to enable use of the overlay - handlers for symlinks and mount points. - - Add registry keys and values to enable use of the property - sheet handlers. - - Correct registry keys for the Folder background context menu - handler. - - Change-Id: Icac560fc6ffcec6bcc41f64adeae3ee2e5884fdb - Reviewed-on: http://gerrit.openafs.org/5530 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9dd9cfa0e1536e0e75628c84605b3d5b8486d69c -Author: Jeffrey Altman -Date: Tue Sep 27 13:49:52 2011 -0400 - - Do not call krb5_get_error_message with NULL context - - MIT's krb5_get_error_message() ignores the context and can - be called with a NULL context. Heimdal's version does not. - - Change-Id: I31801b0e0044e5e724298404645517e4425b0f09 - Reviewed-on: http://gerrit.openafs.org/5508 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 39d5bb10b0c90f021a096b44a65abc525ef7e2e8 -Author: Jeffrey Altman -Date: Tue Sep 20 23:54:08 2011 -0400 - - kauth: permit kauth/test to build on Windows (again) - - Change-Id: I28f7bc93e189a2fcf3651552e00b4214bb6ec799 - Reviewed-on: http://gerrit.openafs.org/5473 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 85831245154afc19da31bb86d21e64376ec11f94 -Author: Jeffrey Altman -Date: Sat Sep 24 11:12:09 2011 -0400 - - Windows: add krb5_enctype_enable(DES) calls - - Heimdal disables DES by default. Enable DES-CBC-CRC by - calling krb5_enctype_enable() so that the active profile - does not require - - [libdefaults] - allow_weak_enctypes = 1 - - Change-Id: I75d7b6bd7269081c7b1fcaafe05074dcdcc9a7e0 - Reviewed-on: http://gerrit.openafs.org/5501 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4251e386aa25bb3fc02fa255e92327fffc8b954d -Author: Asanka C. Herath -Date: Fri Oct 8 17:46:02 2010 -0400 - - Windows: Build against KerbCompatSDK instead of KFW - - Build OpenAFS for Windows against the Secure Endpoints - Kerberos Compatibility SDK instead of the in tree - Kerberos for Windows SDK. - - The compatibility layer is available from: - - http://github.com/secure-endpoints/heimdal-krbcompat - - The SDK location must be specified with the - KERBEROSCOMPATSDKROOT environment variable. - - The benefits of building against the Kerberos Compatibility - SDK are: - - * Heimdal 1.5.1 or later assemblies will be used - if available - - * MIT KFW 3.2.x will be searched for if Heimdal 1.5.1 - is not installed - - Version 1.0 of the SDK is supported. - - Change-Id: I393e20d8bfb9ee1ca749cc54ecc1341927abaf82 - Reviewed-on: http://gerrit.openafs.org/2867 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 5c6bd04211d587efde4b0915a62273aafb2d306b -Author: Andrew Deason -Date: Thu Sep 29 14:49:53 2011 -0500 - - DAFS: Do not serialize state for invalid hosts - - When we serialize host information for DAFS during shutdown, we have - no guarantee that the host is in a valid state when we look at it. - This can result in a host being saved to disk when we are waiting for - the host to respond to an RPC, and so the information about the host - is invalid. For example, we can save a host that has the - HWHO_INPROGRESS flag set, and when it is restored later, this can - cause odd behavior since the flag is set but no thread is actually - waiting for the host to respond. - - So instead, during state serialization, try to determine if a host may - be in an invalid state, and simply skip the host if it may. - - Change-Id: I755640ea4ce607245ae98cc7455472ef781271e7 - Reviewed-on: http://gerrit.openafs.org/5528 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6e7b31ef0a69b8ea39e8acc474a7aab48f828d3d -Author: Andrew Deason -Date: Thu Sep 29 16:04:54 2011 -0500 - - DAFS: Skip hosts with invalid flags on restore - - Host entries with HWHO_INPROGRESS set or ALTADDR unset do not have - valid state, since those flags indicate that the fileserver was in the - middle of identifying the host when the host struct was serialized. - Skip entries from the on-disk host data that have such invalid flags - set when restoring state, so we do not load invalid data. - - Change-Id: I26b88256679f4596598e6e3e6b68af7e8e5e387d - Reviewed-on: http://gerrit.openafs.org/5527 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d54a9994d362ce3f287fe786839ec72f6d94806c -Author: Andrew Deason -Date: Thu Sep 29 15:22:35 2011 -0500 - - DAFS: Add explicit 'valid' field for index maps - - The CB, FE, and host serialization structures were just using the - relevant indices to determine whether or not an entry mapping and old - index to a new index was populated with actual data. For host - structures, this really isn't sufficient, since our index can be 0, - and the structure is calloc'd, so the index in the structure could - also be 0. - - Add a flag explicitly stating whether or not the structure has been - filled in, to make this unambiguous. - - Change-Id: Ia69e25fa73e10dc10cf3ddf08bb4feb2c9958674 - Reviewed-on: http://gerrit.openafs.org/5526 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d43438bb914f267f1c65d81e23efbab6874ae426 -Author: Andrew Deason -Date: Thu Sep 29 18:36:07 2011 -0500 - - viced: Assert valid statistics indices - - Make sure we are passed valid statistic index numbers, so passing in a - bad index doesn't result in writing over random memory. - - Change-Id: I29ed03b59df937e6f95fba44209a03db23613a8d - Reviewed-on: http://gerrit.openafs.org/5525 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 22d94407ea06a3213b7f0f6d57edd48d1977b2e1 -Author: Andrew Deason -Date: Thu Sep 29 18:31:37 2011 -0500 - - viced: Use xfer indices for xfer data - - Use the xfer indices for the xfer-related data, not the op indices, so - we don't try to fill in data beyond the actual storage for the stats. - - Change-Id: I075d4eb9439d9bd603489f0aa90b3c18c3959de3 - Reviewed-on: http://gerrit.openafs.org/5524 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5587bbfc0bc70de234e5655faf7676cf2b9b9715 -Author: Marc Dionne -Date: Wed Sep 28 21:15:32 2011 -0400 - - rx: add post RPC procedure capability - - Add the ability to specify a procedure that will be called after - the end of each RPC for a service. This is similar to the - existing afterProc, except that it gets called after the RPC - has ended (after EndCall). - - rx_SetPostProc and rx_GetPostProc are provided to set and retrieve - a postProc for a specified service. - - Change-Id: I52e70323c5d35c9c0d70d9b9bbb05ff56a6edcad - Reviewed-on: http://gerrit.openafs.org/5529 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2fd66404d9deeb292e1eadb23f5e0f287f9bf8f9 -Author: Jeffrey Altman -Date: Thu Sep 29 09:35:51 2011 -0400 - - Fix typo in windows release notes - - Reported by Jeff Blaine. - - FIXES 132233 - - Change-Id: I0a311e75d1da4c753cd902fd964587a62ef7abf1 - Reviewed-on: http://gerrit.openafs.org/5519 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b977e52a441c70ec9ea97c7d0ebaaed17e530116 -Author: Jeffrey Altman -Date: Wed Sep 28 21:46:48 2011 -0400 - - Windows: Fixup errors in AFS ACL Property Sheet - - Unlike the afs_set_acl_dlg the PropACL sheet only uses a single - ComboList to maintain both the positive and negative ACEs but - uses two CStringArrays to separately store the positive and - negative ACEs. Two entries in each array are used to store - an ACE. The %2==0 entry is the pts name and the %2==1 entry is - the permission list. This needs to be taken into account when - manipulating the negative entries since the array count for the - normal entries is twice the number of ACEs. - - Negative entries were prefixed with '=' instead of '-'. - - The Remove button was not hooked up and was not enabled or disabled - under all appropriate conditions. - - Change-Id: I3bbfd9e82c8796554482b876d31ec53d8f9ac91f - Reviewed-on: http://gerrit.openafs.org/5518 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5ba6a6223c42abf104c02d59f8c95d1760bd9030 -Author: Jeffrey Altman -Date: Wed Sep 28 19:59:03 2011 -0400 - - Windows: add resource info to afshcrypto.dll - - The afshcrypto.rc file was provided but it was never compiled - nor linked to the dll. - - Change-Id: I41138c53a5b53417d880ae748c7f8e8248daedce - Reviewed-on: http://gerrit.openafs.org/5517 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0c6bc6c78ade956978652dfe62bcc27140695b8a -Author: Jeffrey Altman -Date: Wed Sep 28 19:58:07 2011 -0400 - - Windows: Add resource info to afsroken.dll - - The afsroken.rc file was provided but it was never compiled - or linked to the dll. - - Change-Id: Id64ccd06b85c444f2009ef21f1fc65fb14f1bf01 - Reviewed-on: http://gerrit.openafs.org/5516 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 11a6fc948983c0a9f1fb41c58b9559750763440b -Author: Marc Dionne -Date: Wed Sep 28 18:39:55 2011 -0400 - - viced: remove duplicate declaration - - viced_uclient_key is declared twice, remove one of the - declarations. - - Change-Id: I6f5cfef56512c660be75958e99d35ee86e6718ef - Reviewed-on: http://gerrit.openafs.org/5515 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 60a6454d80c760aa8768ba64f7c5bab24f897c7b -Author: Rod Widdowson -Date: Wed Sep 28 16:46:00 2011 +0100 - - Windows: Remove spurious use of CRTL - - Checkins b71a2daa and 5247fa38a moved us from using a FILE* - to using an FDi_t. However, lurking inside the dump code we - see a use of _filelength() which is a MS-Crtl API. - - This checkin replaces this call with one to the WIN32 API - GetFileSizeEx. - - Change-Id: I6ecc25a52d083f918bd8d92670b05f12e58e4015 - Reviewed-on: http://gerrit.openafs.org/5511 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c7dc0180c7c424c6cb58d1493759caf82ef280f2 -Author: Andrew Deason -Date: Wed Sep 28 15:41:38 2011 -0500 - - Remove references to afs_assert.h - - The header afs_assert.h no longer exists after commit - cac74242728ad97e3ce9cef0a949d58c237250f6. Remove all remaining - references to afs_assert.h in the tree. - - Change-Id: I708a399d4389d2f96d93ce3caf9c8b96e38bdf64 - Reviewed-on: http://gerrit.openafs.org/5513 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 955bab670d0aed714fc940b5be7e2b75896a63d0 -Author: Derrick Brashear -Date: Wed Sep 28 10:23:19 2011 -0400 - - ukernel: output dataversion in stat struct if possible - - we already have this data; if we can output it, do so. - - Change-Id: Ibc445a152e4e1e61be50003dd8683d2a4b32d190 - Reviewed-on: http://gerrit.openafs.org/5510 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 80943970b8cfcdf3fc630b25804aebaea228bd73 -Author: Derrick Brashear -Date: Wed Sep 28 10:11:16 2011 -0400 - - ukernel: make web enhancements the default - - none of the web enhancements break base functionality, - and they are strictly more functionality; just turn them on everywhere - - Change-Id: I462d3571d055f1d8ec19bdd0132b935bacd435c0 - Reviewed-on: http://gerrit.openafs.org/5509 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 5b579b83abc57d6bb9212b599aae96af9ac71832 -Author: Rod Widdowson -Date: Wed Sep 28 17:34:54 2011 +0100 - - Windows: Fix comment about DiskPartition64 - - There is significant confusion between the partition name (/vicepX) - and the containing volume (C:) in the windows code. A review of - the uses in FSYNCH found a downright wrong comment (as checked in - the debugger). - - Change-Id: I9cf6e965c9efee18b608a622b83639f25e410ce5 - Reviewed-on: http://gerrit.openafs.org/5512 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5e8c4b7c8a69e20ba35bd12950b95c8650cf4012 -Author: Ben Kaduk -Date: Mon Sep 26 20:21:49 2011 -0400 - - FBSD: allow exclusion of kernel symbols - - Gerrit/5503 added support for kernel module symbols in the - bsd.kmod.mk world; however, the inclusion of symbols is conditoinal - on the DEBUG_FLAGS make variable being *set*, as opposed to nonempty. - So we must use an intermediate variable to store the AC_SUBST - result and conditionalize assignment to DEBUG_FLAGS on whether - or not it is empty. - - Change-Id: I7f86fd08d6dcf1ac7116680db98db13f5f31be7b - Reviewed-on: http://gerrit.openafs.org/5507 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9133aa6ed3a7fe2ae55b2d3242366ae277c7f726 -Author: Michael Meffie -Date: Thu Sep 22 09:13:18 2011 -0400 - - bozo: report bosserver -rxbind address - - Create a file on bosserver startup called bosserver.rxbind in the - server local directory which contains an address local scripts may - use to contact the bosserver. - - When bosserver is started with the -rxbind option, write the address - selected from the intersection of the interfaces, NetInfo, and - NetRestrict configuration to the bosserver.rxbind file, otherwise - write the loopback address 127.0.0.1. - - Update the RedHat init script to use the new bosserver.rxbind file. - - Change-Id: I00a4249ae7445f872625ec46f960e778483d1f9f - Reviewed-on: http://gerrit.openafs.org/5488 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4a0d8cc24e687f271fcf44bab765691bd782d78d -Author: Jeffrey Altman -Date: Mon Sep 26 12:28:49 2011 -0400 - - Windows: do not install afs_assert.h - - commit cac74242728ad97e3ce9cef0a949d58c237250f6 removed afs_assert.h - from the build tree. It can no longer be installed. - - Change-Id: I9a5c9f679a3cd8755b0a290ac91be6c651242e22 - Reviewed-on: http://gerrit.openafs.org/5505 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 48e326372d89b0d778420f268dbe59236758eba8 -Author: Michael Meffie -Date: Mon Sep 26 11:59:55 2011 -0400 - - bozo: fix overrun from -rxbind on restart - - Fix buffer overrun in bosctlsrv introduced - by commit 544ff1b295a57b50afefa6146094434db7608355 - - Change-Id: Icb39b5107113e2819a643537b042b20504c783f3 - Reviewed-on: http://gerrit.openafs.org/5504 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 11f54962f638c8ae48d5193f6b695c252fbb9937 -Author: Michael Meffie -Date: Mon Jul 25 09:21:34 2011 -0400 - - volinfo: refactor vnode handling - - At program startup, register procedures to be called - when scanning vnodes. - - Change-Id: I8dda202f1ea61b538278eacc8f86c323728cf191 - Reviewed-on: http://gerrit.openafs.org/5100 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4aa72b4308bae8e1d789682e7ead83bcadded862 -Author: Michael Meffie -Date: Sat Jul 23 14:55:57 2011 -0400 - - volinfo: release volume header ihandles when done - - After scanning the volume, release the header ihandles - for the volume. - - Change-Id: I689a33b321fc68d0dc480369e6cbdfd41c1dbfc9 - Reviewed-on: http://gerrit.openafs.org/5099 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b99ab0371a66803fdffafe848cb324595eb9de61 -Author: Jonathan A. Kollasch -Date: Fri Sep 23 19:14:47 2011 +0000 - - correct omission of AFS_NBSD60_ENV from nbsd60 param file - - Change-Id: I6b72ab5d9e3e5000c9138e6470e80491d85328b1 - Reviewed-on: http://gerrit.openafs.org/5499 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cac74242728ad97e3ce9cef0a949d58c237250f6 -Author: Simon Wilkinson -Date: Sun Jul 10 13:46:11 2011 +0100 - - Clean up assertion - - The AFS code has multiple different assertion implementations in - userspace. This patchset is the start of bringing some sanity to them. - - In rx, we have osi_Assert, a user/kernel assertion macro. This is only - available to libraries which have RX dependencies - - In util, we redefine the standard 'assert()' macro to provide a - cross-platform assertion solution. - - Because util has an RX dependency, neither of these provide an - assertion solution for libraries which should be independent of rx. - So, pull the assertion code out of util, and put it into opr, as a new - opr_Assert() macro. Implement the userspace osi_Assert in terms of this - macro, leaving the kernel variant untouched. - - Update callers to the new macro and header file names. - - Change-Id: I780b30ec1ea1207daa17127df4d5fbf9a94481b6 - Reviewed-on: http://gerrit.openafs.org/5394 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0a8f21e6a44d59a3333c0b4fee572fe6d94aae3d -Author: Simon Wilkinson -Date: Sun Sep 11 21:44:23 2011 +0100 - - Move abort() into opr - - We need our own abort function, because the behaviour of the Windows - abort() implementation isn't sufficiently flexible for us. - Because we're replacing an operating system function, reather than - implementing a missing function, this doesn't belong in roken. - - So, provide an alternative opr_abort() implementation in our portable - runtime layer, which is a synonym for abort() on Unix, and implements - the required DebugBreak() functionality on Windows. - - Remove lwp_abort() which was just creating another, unnecessary, layer - of abstraction. - - Change-Id: Ice226d70d2791beaba011f42e39fde60242f6cc3 - Reviewed-on: http://gerrit.openafs.org/4428 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bdf86d245fd55c5c7ac7ea81e3d6b6bafdbe1783 -Author: Michael Meffie -Date: Tue Nov 23 20:21:50 2010 -0500 - - bozo: bosserver -pidfiles option - - Add an option to bosserver to create pidfiles for long running - processes for simple, fs, and dafs bnode types, as well as the - bosserver process. The pidfiles are located in the server local - directory by default, or in the path specifed by the -pidfiles - command-line option. - - Change-Id: I3e85b027dc6f630965f84b18b7f849ac481dabe2 - Reviewed-on: http://gerrit.openafs.org/5497 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3e191dfd99087ac9408eff5f7f73cc10beb90f79 -Author: Ben Kaduk -Date: Sat Sep 24 18:05:09 2011 -0400 - - FBSD: bsd.kmod.mk fallout for debug symbols - - Now that we no longer control the installation of libafs.ko, - debug symbols are always getting stripped. - If the user requested kernel debug symbols, define DEBUG_FLAGS - for the libafs build and install, so that bsd.kmod.mk will - install the .symbols file alongside the kernel module. - - Change-Id: I0e7f3736666c96c6aaed18c0add98dea37349b83 - Reviewed-on: http://gerrit.openafs.org/5503 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b6e04fa78ed5793d52caccafe2f5fc46be6a6af9 -Author: Jeffrey Altman -Date: Sat Sep 24 11:42:50 2011 -0400 - - Windows: update ntbuild.bat - - Add references to: - - . new APPVER and _WIN32_IE values - - . new AFSVER_CL values - - . additional code signing variables - - . variables for symbol store support - - . WiX Installer Toolkit location - - . Cygwin Install Directory - - . ActivePerl Install Directory - - . SignTool path - - Change-Id: Ie9465102977aee628d8f129de9c5c9c14fa5d97c - Reviewed-on: http://gerrit.openafs.org/5500 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fab921de67fe2bfbf6967c2e1cbf27230aad8bb2 -Author: Michael Meffie -Date: Fri Sep 23 11:28:05 2011 -0400 - - bozo: remove duplicate prototype - - Remove duplicate function prototype. - - Change-Id: I84a30c27edabd82272f99711285eb043122f66a0 - Reviewed-on: http://gerrit.openafs.org/5496 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c2f7627a89e50713dc963ece2ef086cd991c15aa -Author: Rod Widdowson -Date: Fri Sep 23 16:37:43 2011 +0100 - - Fix buffer leak in dir/buffers.c - - Checkin 0284e65f97861e888d95576f22a93cd681813c39 accidently - threw in a trailing semicolon after an if statement. - Since the next line was a break this had several unfortunate - side effects, the most obvious being that we leaked a buffer - in certain cases. - - Change-Id: I4f1043426cac22c70b64731c98ac858d82e2f11e - Reviewed-on: http://gerrit.openafs.org/5498 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a020c572d372f2e86807dc4c75ec50ff14ef2fba -Author: Marc Dionne -Date: Thu Sep 22 19:09:52 2011 -0400 - - viced: fix incorrect error message - - The error message was obviously copied from another location in the - code (after the pr_Initialize call) and is misleading. Adapt it for - vl_Initialize failure. - - Change-Id: I4fc65fd82b92df3298227abf3f6bcc24184ebfe8 - Reviewed-on: http://gerrit.openafs.org/5490 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 544ff1b295a57b50afefa6146094434db7608355 -Author: Michael Meffie -Date: Thu Sep 22 11:28:17 2011 -0400 - - bozo: pass -rxbind on restart - - Pass the -rxbind on restarts when bosserver is initially started - with the -rxbind option. - - Change-Id: Ic6e884c87fcd0e8b3808a2f362d8c32177e9e2a0 - Reviewed-on: http://gerrit.openafs.org/5487 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cb4d6e5e7e1a112782be5d892f9706b1a9da439b -Author: Derrick Brashear -Date: Thu Sep 22 13:00:08 2011 -0400 - - darwin: ukernel is 64-bit able - - update ukernel settings for darwin - - Change-Id: Ifd72d0d5affa1bfbea04da2c95e8011fb055e59f - Reviewed-on: http://gerrit.openafs.org/5489 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 649d3a0957eef0c607a63b47f11bd4a0ca8655ca -Author: Marc Dionne -Date: Wed Sep 21 20:31:33 2011 -0400 - - fs: fix setserverprefs where long is larger than afs_int32 - - Make the fscanf and scanf format specifiers match the type of the - target variable. This prevents trying to store a long int into an - afs_int32 variable which may be smaller, and overwriting neighbouring - data on the stack. - - The effect on a 64-bit Linux system was that the high bits of "rank" - would overwrite the first 4 bytes of the scanned host name, causing - setserverprefs to fail with: - : couldn't resolve name. - - Change-Id: I2100e7fe77a137257eb308ad127c151de84756bc - Reviewed-on: http://gerrit.openafs.org/5486 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6fb2e92422abdaca6175f2556b24ba681af72fd6 -Author: Jeffrey Altman -Date: Wed Sep 21 01:46:52 2011 -0400 - - Windows: Disable OACR by default for AFSRDR build - - When building the AFS redirector with WDK7600 the Microsoft Auto - Code Review process is started by default. This is a problem for - buildbot. Disable OACR by default if the _RunOacr environment - variable is not set to TRUE. - - Change-Id: I7e8f9f978e5f6b8a33fe0ff6174b9ddbe2a86ec7 - Reviewed-on: http://gerrit.openafs.org/5479 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c208b13fa024295c9064364520ef790b093e292c -Author: Derrick Brashear -Date: Wed Sep 21 12:55:39 2011 -0400 - - afscp: enable debugging support in the volume portion - - readd the missing code when we are compiled for debug - - Change-Id: Ia4f0bcf2868e2f87bf8f7b6c01f3842e1a2eed50 - Reviewed-on: http://gerrit.openafs.org/5483 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fb1d7491fbe2e90300b23284f213cac2bdcd56ac -Author: Derrick Brashear -Date: Wed Sep 21 02:03:30 2011 -0400 - - afscp: allow listing of bare root.cell dirs in dynroot mode - - don't assume that /afs/cell.name (as opposed to /afs/cell.name/) - is bogus. if there's text, at least try - - Change-Id: I9566efe60c942533cd0415a03528953cb90310c9 - Reviewed-on: http://gerrit.openafs.org/5480 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 97004b7b0970bfc2744df49d540521a41177cac8 -Author: Derrick Brashear -Date: Tue Sep 20 23:26:25 2011 -0400 - - afscp: add confdir override - - allow an alternate config dir - - Change-Id: I454d63199dcfadc46ba957ddae0685efee6acf26 - Reviewed-on: http://gerrit.openafs.org/5476 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 76e0b97eaa64088b8d8381a80b6ada0a080f0cbd -Author: Terry Long -Date: Tue Sep 20 21:21:12 2011 -0400 - - Fix AFSPreference compile error on Mac OS 10.7 - - Lion llvm/clang complains about main returning void instead of int. - Fixed main to return int in DARWIN/AFSPreference/afshlp.m. - Resubmitted patch to origin/master. - - Change-Id: I2f4e88ded2d98688901cc18d60abac8172942bbd - Reviewed-on: http://gerrit.openafs.org/5475 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c8f64e04b8cfb1085a2f3227785492d5e3f487ff -Author: Jeffrey Altman -Date: Sun Sep 18 13:13:18 2011 -0400 - - Windows: install control panel only if afs_config - - Add the AFS control panel to the AFS Configuration Tool - component so that it is installed only if afs_config.exe - is going to be installed. - - Change-Id: I9016ad70f3b201bbe440ec39e9987c6209cae0cc - Reviewed-on: http://gerrit.openafs.org/5462 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 25254adeeea5f41820f140ce812bdacae34d24c9 -Author: Jeffrey Altman -Date: Sun Sep 18 13:14:39 2011 -0400 - - Windows: Disable Control Panel button in NIM - - Since afs_config.exe is no longer installed, remove the - OpenAFS control panel button from the Network Identity Manager - provider. - - Change-Id: I4b3d7a091a6c833d8bf4a24110ee6deb00c6baa0 - Reviewed-on: http://gerrit.openafs.org/5463 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1d6dfa5806b171c6f306508396a06302d3d9c42a -Author: Michael Meffie -Date: Tue Sep 20 16:21:50 2011 -0400 - - salvager: fix filesystem path truncation - - Fix filesystem path truncation for vice partitions beyond /vicepz. - - Commit 3d7388b7 moved the filesystem path to a fixed size buffer, - however the path of the filesystem to be salvaged is truncated for - partitions with two character ids (e.g. /vicepaa), in which case - the salvager will salvager the wrong partition, or abort if the - truncated path is not present. - - Change-Id: Iadf45268514ef5045a4481950f213abecbb20b33 - Reviewed-on: http://gerrit.openafs.org/5469 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0cb10104f5af73614e6b7673d3711ddbc3f3a866 -Author: Michael Meffie -Date: Fri Sep 16 11:23:18 2011 -0400 - - solaris: libafs depends on fs/ufs - - The solaris afs module depends on symbols exported by fs/ufs. - Set this dependency in the afs module so the kernel loader - will automatically load the fs/ufs driver if is not already - loaded, such on zfs only systems. - - Change-Id: I87ae2c326ac0c895cca37cf30e4c11d0decbe6d1 - Reviewed-on: http://gerrit.openafs.org/5456 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b33deb765ea8984d811ce0140716086338c3c10f -Author: Michael Meffie -Date: Wed Sep 14 17:22:25 2011 -0400 - - solaris: build 64-bit binaries for sunx86_51x by default - - Build 64-bit binaries on solaris x86 version 10 or better - build systems running in 64-bit mode. - - Builders may set the the ARCHFLAGS environment variable - to "-m32" before running configure to build 32-bit binaries - on a 64-bit build host. - - Change-Id: I27558a2c7fe9872cf30889ca57e778985a3ff461 - Reviewed-on: http://gerrit.openafs.org/5450 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e69714739f64475d71633fd4cb3523bc1ae143bb -Author: Andrew Deason -Date: Mon Sep 19 11:05:59 2011 -0400 - - ntohs ubik header size - - The 'size' field in the ubik header is only 16-bits wide, so we should - be using ntohs to read it, not ntohl. The database checking utilities - for the prdb and kadb were still using ntohl (vldb was fixed by - 591f9b6de9ab3dc5c17ad41af0241527f7f04b31). - - Change-Id: Ic3894f5ae78ff05279e87b364841c5f6dfdf803c - Reviewed-on: http://gerrit.openafs.org/5466 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 4d4cd3cd0874f4574989f57201bd3a3999764d6c -Author: Jeffrey Altman -Date: Sun Sep 18 14:18:24 2011 -0400 - - dir: remove unnecessary cast from malloc - - Change-Id: I2b91c9ad2983ba08e5e1bc49c3790e018951be31 - Reviewed-on: http://gerrit.openafs.org/5464 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 552d59186b135af55eeaa6136a9cbb8965dd2f04 -Author: Jeffrey Altman -Date: Mon Sep 19 10:35:11 2011 -0400 - - Fix input size computation in SetSPrefs pioctl - - Patchset 718f85a8b69a78ac77beb5c8471af20657be2a53 contained - a small typo that prevents the SetSPrefs pioctl processing from - functioning in all cases. fs setserverprefs continues to work - for non-DB preference lists because fs.c pokeServers() attempts - to try the old SetSPrefs33 pioctl in the non-DB server case. - - Change-Id: I2e06dccb51c53ba312418fb5f51be3d621a2004c - Reviewed-on: http://gerrit.openafs.org/5465 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 624c5d09e2f46403f8754567b387987488c5446c -Author: Michael Meffie -Date: Wed Sep 14 10:48:08 2011 -0400 - - solaris: fix afs_event build error - - Fix build error on solaris introduced with commit - dc077b83c9b1f107efbc3483743f44117748f23c. - - Change-Id: Id41a0d7cf6400769dde5d2626854e2190cd6bd2e - Reviewed-on: http://gerrit.openafs.org/5419 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6196abf3c864f8cc6ab1efc6e5625a5cc68158bd -Author: Derrick Brashear -Date: Thu Sep 15 13:48:31 2011 -0400 - - rx: arrange for Finalize to really stop running calls - - previously rxi_ServerProc would happily error a call once - rx_tranquil was set, but keep calling ExecuteRequest. - Reorder code so kernel shutdown attempts are processed first; - then arrange if we are tranquil to not process the call further. - - Issue discovered by Chaskiel Grundman. - - Change-Id: I545960fb0eb0d5151baa7e06e2758cdeaf0885da - Reviewed-on: http://gerrit.openafs.org/5447 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e6c04df407036b82c980d933d56ebce686c79e0f -Author: Jeffrey Altman -Date: Thu Sep 15 15:16:55 2011 -0400 - - Windows: changelog prior to branching openafs-devel-1_7_x - - Change-Id: I27ece967a136a44513fade8e9b8cc1c8d57951b4 - Reviewed-on: http://gerrit.openafs.org/5449 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5263b04796dfae34b2ac52e420bdc2f0c70e0568 -Author: Jeffrey Altman -Date: Thu Sep 15 14:00:39 2011 -0400 - - windows: Set ReparsePoint Attribute in FileAttributes - - The ReparsePoint Attribute is a primary attribute that is used - internally within the redirector to determine when the object - is a reparse point. It must be set in all code paths that - obtain the FileAttributes from the service. Do not fold it in - during the QueryBasicInformation response processing. - - Change-Id: Iba819dd94ec03133f78a4d18559dbd1b5352788e - Reviewed-on: http://gerrit.openafs.org/5448 - Reviewed-by: Peter Scott - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e24984a52a7ca73e8e270e0e39e5d2bb22b5f77b -Author: Jeffrey Altman -Date: Thu Sep 15 10:32:19 2011 -0400 - - Windows: README-WINDOWS updates for build environment - - Not complete but closer than it was. - - Change-Id: I5945101206535753ace6d3a53a4d91ee4290351c - Reviewed-on: http://gerrit.openafs.org/5446 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ced8cd18c6d6ef545fba623fbb431536386bbc65 -Author: Jeffrey Altman -Date: Thu Sep 15 02:07:53 2011 -0400 - - Windows: NetWksta RPC test application - - A simple application to query the NetWksta RPC interface. - - Change-Id: I9d53dd956ace89ce01e3cf48583e160176fa05ce - Reviewed-on: http://gerrit.openafs.org/5445 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit c044db34a1cef5cb905bfdb5df35fe05bf30fb4f -Author: Jeffrey Altman -Date: Thu Sep 15 02:06:14 2011 -0400 - - Windows: Build the AFS Redirector world - - All of the new build rules necessary to build the - new AFS Redirector world. - - Change-Id: Ic5b8839eb6f10e44c3b6e185c85c3948f77b4d60 - Reviewed-on: http://gerrit.openafs.org/5444 - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit effaebfe007eaa70d8479e8d655deb54cc0d36e9 -Author: Jeffrey Altman -Date: Thu Sep 15 02:04:45 2011 -0400 - - Windows: Release Notes updates for AFS Redirector - - No more support for Windows 2000. - - A first pass at indication which features that are SMB only - are no longer applicable. - - much more. - - Change-Id: I6e6337804d75c8dccdbc66307215e18238f33dac - Reviewed-on: http://gerrit.openafs.org/5443 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 69674f376aeb748fffb0c47d855851349e21c4ee -Author: Jeffrey Altman -Date: Thu Sep 15 02:02:36 2011 -0400 - - Windows: WiX Installers for AFS Redirector - - Add the AFS Redirector and AFSRDFSProvider and new - Shell Extensions to the MSI installer package. - - Change-Id: I82d8256d016a19865bc8a681331f650d52e3b261 - Reviewed-on: http://gerrit.openafs.org/5442 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b9d9264c0efb3529fe1d67d5a837be8d3081fcc9 -Author: Jeffrey Altman -Date: Thu Sep 15 02:00:00 2011 -0400 - - Windows: NSIS installers for AFS Redirector - - These changes provide basic support for installing - the AFS Redirector and the AFSRDFSProvider.dll. - However, since NSIS is not useful for 64-bit installations - the NSIS installers will be removed from the source tree - in the near future. - - 1.7.x series will not be distributed with NSIS installers. - - Change-Id: Ifd9d06af4f047e27c23c87af79ba84085bc3614a - Reviewed-on: http://gerrit.openafs.org/5441 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 073e3c528952abdf21432d32487b3a11c71a3234 -Author: Peter Scott -Date: Thu Sep 15 01:58:48 2011 -0400 - - Windows: AFS Redirector Support Tools - - settrace, gettrace, objstatus, authgroup, and crash. - - These tools are useful for debugging the system. - - Change-Id: I2d62186a98f5561d579f7934ef568a54a3b099f1 - Reviewed-on: http://gerrit.openafs.org/5440 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 82d60412041bd05f13da3bc9937d1e561744c71c -Author: Peter Scott -Date: Thu Sep 15 01:52:08 2011 -0400 - - Windows: AFS Redirector Network Provider - - In Windows a network file system must have a matching network - provider dll that interfaces with the Multiple Provider Router - (MPR) to support the WNet APIs called by the Windows Explorer - Shell and other applications. The WNet APIs are primarily - used to support driver letter mapping but they also have a - number of other functions including universal name mapping, - path formatting, and path parsing. - - Jeffrey Altman contributed to - the development of the AFSRDFSProvider.dll interface. - - Change-Id: I9476003e05f12684676e8c7331a0a8dd13d98686 - Reviewed-on: http://gerrit.openafs.org/5439 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3c69a113aac8f09ea1d7c2221173bd656cc4c8d1 -Author: Peter Scott -Date: Thu Sep 15 01:48:59 2011 -0400 - - Windows: AFSRedirLib.sys file system library driver - - This patchset implements the AFS Redirector Library driver. - This driver contains all of the AFS specific implementation - details for service communication, network provider support, - directory management, extent management, metadata management, - callback invaldation, volume management, file locking, etc. - - Rod Widdowson and Jeffrey Altman - contributed to the development - of this driver. - - Change-Id: Icc18c26b81b96a92096c20e01360007815ca1acb - Reviewed-on: http://gerrit.openafs.org/5438 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9399093a767c0638ee247d89d5f8f70b518b9396 -Author: Peter Scott -Date: Thu Sep 15 01:33:20 2011 -0400 - - Windows: RDR File System Framework driver - - This is the first of two kernel drivers used to implement - the AFS Redirector: AFSRedir.sys. - - This driver is registered at boot time and provides the binding - to the Windows kernel infrastructure. However, it only provides - a framework of a file system driver. All of the AFS specific - interfaces are actually implemented in a secondary library - driver, AFSRedirLib.sys. The rationale for this model is that - file system drivers cannot be unloaded on a running system. - By using this approach the library driver can be unloaded which - permits systems to be live updated. - - To permit this model to work, all memory allocation is performed - by AFSRedir.sys. This confuses the driver verifier tool. When - the library is unloaded all objects are still valid. Operation - is simply paused until a new library is brought up. Under the - current configuration the library is loaded as part of afsd_service - initialization of AFSRedir.sys and is automatically unloaded when - afsd_service.exe shuts down. - - The framework driver also implements all of the process and - thread tracking logic necessary to support Authentication Groups. - - Communication between AFSRedir.sys and afsd_service.exe is - performed via a reverse ioctl model whereby the service contributes - threads to the driver to convey requests for processing. - - The original file system was derived from the Kernel Drivers - File System under license from Kernel Drivers, LLC. - - Rod Widdowson and Jeffrey Altman - contributed to the development - of this driver. - - Change-Id: Ic123cacd868ddde31d66bf17d3ad2a13c22cd1f4 - Reviewed-on: http://gerrit.openafs.org/5437 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6e82b5be128a07124fe8a69d6932ffe011fb1077 -Author: Jeffrey Altman -Date: Thu Sep 15 01:31:08 2011 -0400 - - Windows: Make pioctl interface RDR aware - - Permit the pioctl interface to recognize how to interact with - the RDR for processing pioctl operations. - - Change-Id: I7ddf15f29661e61fab6439d2a3c1aa2935011559 - Reviewed-on: http://gerrit.openafs.org/5436 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b418d381be8c778ebeb93dd75bdc068dc4ed4871 -Author: Jeffrey Altman -Date: Thu Sep 15 01:29:57 2011 -0400 - - Windows: build loopback installer for current DDKs - - Modify the build rule for the loopback installer to permit - it to build with the latest DDKs. - - Change-Id: I94c09e4f8e459ffebdcb2a63dbbe2197d7fbf070 - Reviewed-on: http://gerrit.openafs.org/5435 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 49724640b84c0a1a44957ef7f713491bab2b86db -Author: Jeffrey Altman -Date: Thu Sep 15 01:27:58 2011 -0400 - - Windows: "AFS_SMBNAME" envvar for aklog - - Permit the Windows smb user parameter used when setting - tokens as the LOCAL_SYSTEM account to be set via an environment - variable. This is useful for debugging. - - Change-Id: Id4521c863df1288a7a0937b83bf85cff1af3696f - Reviewed-on: http://gerrit.openafs.org/5434 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3f3fedecd08834439c462725e04eb04c690c07ee -Author: Jeffrey Altman -Date: Thu Sep 15 01:26:00 2011 -0400 - - Windows: no SOCKLEN_T before WDK 6.0 - - Change-Id: Idc63e28385b85e808b4391bc897863c792584c70 - Reviewed-on: http://gerrit.openafs.org/5433 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b91d39edec6a8bdb7451ed6f52ea2ad2065b0022 -Author: Jeffrey Altman -Date: Thu Sep 15 01:11:15 2011 -0400 - - Windows: Redirector interface for afsd_service.exe - - Over the last three years the afsd_service sources have been - gradually separated into distinct layers for the SMB server - and the AFS cache. The eventual goal of this work was to - permit the addition of alternative interfaces to the cache - manager in parallel. - - This patchset implements the first alternative interface, - a reverse ioctl model that communicates with a native IFS - redirector driver. The driver will be submitted in a - subsequent patchset. - - Although it is possible to run afsd_service with both the - SMB and RDR interfaces active at the same time. In practice - it is somewhat impractical because it destroys the uniformity - of the \\AFS name space. The RDR loads at boot time and claims - all of \\AFS. The SMB interface if active at the same time - must use the old \\%HOSTNAME%-AFS. As implemented, if the RDR - interface is functional the SMB interface is not started. Only - if the RDR interface fails will the SMB interface be activated. - - The afsd_service.exe maintains all of its primary responsibilities - for communicating with the AFS servers, processing callbacks, - enforcing permissions, handling afs path ioctls, Windows RPC - service simulation, and object management. The biggest change - is in the cm_buf_t management. Data is exchanged with the - RDR by passing control over cm_buf_t->data buffers in the form - of Windows File Extents. This avoids data copies across a - communication channel which significantly improves performance - at a substantial complexity cost. - - Credential management is switched from a Windows username binding - to a GUID binding where the GUIDs represent authentication groups - that are managed by the RDR. - - This patchset includes additional changes to support integrated - logon in conjunction with the RDR. In particular, adding support - for authentication groups. - - Change-Id: I7135489421c67a429ec3b2acd4c8ae08b8329f6d - Reviewed-on: http://gerrit.openafs.org/5432 - Tested-by: BuildBot - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f03cef68fbe5ed0852397c2818d42d5f53b035b3 -Author: Peter Scott -Date: Thu Sep 15 01:07:03 2011 -0400 - - Windows: AFS Redirector Support Headers - - This patchset includes all of the common headers upon which - all of the subsequent submissions depend. - - Co-authored by Jeffrey Altman - - Change-Id: I3b2ba6fe0a9a5231801db2cd1a340b9c518b9be4 - Reviewed-on: http://gerrit.openafs.org/5431 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a82c20639843f7021fdfcca32fc6db5faa172eba -Author: Stefan Kueng -Date: Thu Sep 15 00:57:23 2011 -0400 - - Windows: Explorer Shell extensions - - This patchset implements a broad range of improvements to - the explorer shell. There is still a significant amount of - work to be done. - - * Remove the 'cut' and 'delete' options from the - context menu if the selected object is a symlink - or mount point. This is performed in a language - neutral manner. - - * Add AFS Property page to the property sheet - - * Add AFS Volume Property page - - * Add AFS ACL Property page - - * force the linker to add the common-controls V6 manifest and - define ISOLATION_AWARE_ENABLED to make property sheets - work for the shell extension dll - - * Fix the InfoTip handler. Display symlink and mount point - target strings - - Stefan Kueng was assisted by Jeffrey Altman. - - Change-Id: I6b7c4506026270a5408d90cdc5358864e3fb44c3 - Reviewed-on: http://gerrit.openafs.org/5430 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 236c18b36a93a1c4906f84c825f03f654f5ae4dc -Author: Marc Dionne -Date: Wed Sep 14 17:16:52 2011 -0400 - - Linux: Remove use of undefined AFS_LINUX_ENV - - AFS_LINUX_ENV is used in a few places, mostly from commit dc077b83, - but it is not defined anywhere. As a result the logic was not as - intended. - - In the definition of osi_ThreadUnique, this means that on all - Linux we use getpid(), which is OK as it gets defined appropriately - under LINUX and LINUX24 as current->pid or current->tgid. - - Change-Id: Ic8daf10480a91ff8406cd6ca3929a2ecfafa78ad - Reviewed-on: http://gerrit.openafs.org/5424 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 17be9b775c0be234879eeda66707581e23a18d08 -Author: Jeffrey Altman -Date: Wed Sep 14 22:41:20 2011 -0400 - - Windows: mountpoints always have a trailing dot - - when expanding a cell alias to a full cell name the trailing - dot was forgotten when putting the mountpoint string back - together. - - Change-Id: I82a84380175d9ef5c41ef29d9043671d264df589 - Reviewed-on: http://gerrit.openafs.org/5427 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d355b4d6fce477e275ac34eb04b3d0f5504dd6fb -Author: Jeffrey Altman -Date: Wed Sep 14 22:39:52 2011 -0400 - - Windows: minor cm_ioctl corrections - - remove unused variable - - fix a comment to reference correct function name - - remove debugging windows event log entry that doesn't - belong in production code - - Change-Id: Id81cfccd2c2c15d7fcbdbb5edc7dcb095abbd665 - Reviewed-on: http://gerrit.openafs.org/5426 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cf57eb294f28084cbb138b1a06bc813e14e6d0ec -Author: Jeffrey Altman -Date: Wed Sep 14 17:46:32 2011 -0400 - - Windows: validate buffer hash tables in cm_MergeStatus - - Change-Id: I1ff76513e9f2ba08bdeb988a19fec992b08310db - Reviewed-on: http://gerrit.openafs.org/5425 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit febbd0f1ae9ae8700c0f9004979442e45a5e9883 -Author: Ben Kaduk -Date: Mon Sep 12 21:54:09 2011 -0400 - - Tidy up event hash table definitions a bit more - - The change in http://gerrit.openafs.org/5314 consolidated the - definitions of struct afs_event and some related objects, but - the definitions were not quite in the right place. In - http://gerrit.openafs.org/5392 this content was moved to more - standard headers, but a comment and #define were missed. - This change moves the comment to be in the same place as the content. - - Change-Id: I86831879e9a2afd9e653182dcba4621624c55471 - Reviewed-on: http://gerrit.openafs.org/5403 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 58d136ed0d35db6859eb3648969512eca216cbb2 -Author: Simon Wilkinson -Date: Tue Sep 13 09:54:12 2011 +0100 - - Use rra-c-util m4 from src/external - - This commit switches us over from using manually maintained copies - of Russ's rra-c-util m4 macros, to using ones that are automatically - imported from his upstream git tree. - - The macro versioning in the OpenAFS tree was slightly confused. This - (approximately) updates us from using version 3.3 of the macros to - version 3.8. The signifcant changes are: - - *) Use PATH_KRB5_CONFIG rather than KRB5_CONFIG to set the location - of the krb5-config file - *) Use --with-gssapi-{include, lib} if given, rather than krb5-config - *) Use --with-krb5-{include, lib} if given, rather than krb5-config - *) Define HAVE_KERBEROS if we find a Kerberos library - - The first, in particular, is likely to cause some confusion. - - Change-Id: Ie7a1c0db31b32fc7ac9ad7bded2c4ffce3ac013f - Reviewed-on: http://gerrit.openafs.org/5418 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 60d0458f57cb95693190b29c4d8d4b75738fe363 -Author: Russ Allbery -Date: Tue Sep 13 09:40:59 2011 +0100 - - Import of code from rra-c-util - - This commit updates the code imported from rra-c-util to - aadb400e7536b29fb2b34299ef3cac07d86c108d (release/3.8) - - New files are: - LICENSE - m4/gssapi.m4 - m4/krb5.m4 - m4/lib-depends.m4 - m4/lib-pathname.m4 - m4/pam-const.m4 - - Change-Id: I34d42a5491e87dc61b81ac2bf034c53dc2020f20 - Reviewed-on: http://gerrit.openafs.org/5417 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 78e2bb1e17b2310f3586c92a96b0def2eba476f4 -Author: Simon Wilkinson -Date: Tue Sep 13 09:37:04 2011 +0100 - - Add rra-c-util to the src/external regime - - We're already using a number of m4 configure tests which are taken - from rra-c-util. Instead of importing these piecemeal, add rra-c-util - to the src/external git import system, so that we can simply keep our - selves in sync - - Change-Id: I58d610a3ee5f0f924b02745a89696ef46a8b0c04 - Reviewed-on: http://gerrit.openafs.org/5416 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b5a4c81fe0a25bb7f4aa0c41ea675f42657cb7a9 -Author: Jeffrey Altman -Date: Tue Aug 2 18:33:06 2011 -0400 - - Windows: osi_Debug macros - - The osi_Debug macros are like osi_Log macros except when used - the logged values are always printed using OutputDebugString(). - This interface is meant only for temporary debugging. No code - that uses osi_Debug should ever be committed to the upstream - repository. - - Change-Id: I139c81aa0c745f4f03c6900a19f65c55c495ad33 - Reviewed-on: http://gerrit.openafs.org/5415 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bf2bf9a1fbb5fd4c208e1e581aa4b6ee5d0cf5d0 -Author: Jeffrey Altman -Date: Thu Aug 18 22:07:26 2011 -0400 - - Windows: daemonCheckLockInterval to 60 seconds - - Since we are no longer using deleted cm_fileLocks to - cache file server locks, there is no need to purge the - list so frequently. - - Change-Id: I47d1e40be8b4008a11b1114389538a110644bed0 - Reviewed-on: http://gerrit.openafs.org/5412 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c9d655b9a6edf02fd92455961445f239f4667821 -Author: Jeffrey Altman -Date: Sun Aug 21 00:38:24 2011 -0400 - - Windows: record history of read lock threads - - Maintance an array of up to 32 reader threads that have - acquired a rwlock. Use it for debugging when things go bad. - - Change-Id: I2e2e781ff355f1452e991898dfb5b91c47db9e34 - Reviewed-on: http://gerrit.openafs.org/5411 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1de4561529bdb92b6647a634d9f2c2714e1758e5 -Author: Marc Dionne -Date: Tue Sep 13 19:32:37 2011 -0400 - - vos: print correct command name in diagnostics for changeloc - - Fix the label in the diagnostics message, it prints "addsite" - instead of "changeloc" when an error occurs during vos changeloc - - Change-Id: I8c541bc1709d2c02fb58d6d15b4a66d95647d1e7 - Reviewed-on: http://gerrit.openafs.org/5414 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 793fdd3360982c48bf60eefbd9c56b4a3c1e09f0 -Author: Jeffrey Altman -Date: Fri Sep 9 12:47:52 2011 -0400 - - Windows: ignore SYNCHRONIZE privilege in cm_CheckNTOpen - - SYNCHRONIZE has not meaning for AFS so just ignore it. Do not - deny an open request because it is set. - - Change-Id: I33fe4a02d0d1ce2cb4d192dd1b2e5f23fda4091c - Reviewed-on: http://gerrit.openafs.org/5410 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6c18c8844f3be6e006c7f59b3cc36f5b1688e04f -Author: Derrick Brashear -Date: Tue Sep 13 15:27:37 2011 -0400 - - volser: dont double-stat vnodes when dumping - - we get the size, then we get it again. no clue why. let's just not. - - Change-Id: I430d5c9941043341908cbf50ae70b982bb0ab8b3 - Reviewed-on: http://gerrit.openafs.org/5398 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 11b6f9f0034a3934ffcf1dea8b1bfd915e7522ed -Author: Derrick Brashear -Date: Tue Sep 13 16:17:18 2011 -0400 - - darwin: minimal afsbackgrounder ticket fix - - avoid the "default" API since it's broken. this will at least prompt for - tickets. - - Change-Id: Iee566d5f5502b7dce900d833f5711038c984cf37 - Reviewed-on: http://gerrit.openafs.org/5408 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8d939c08f60b44c83ed8db8892b93563ddea0e15 -Author: Derrick Brashear -Date: Thu Sep 8 10:44:38 2011 -0400 - - rx: avoid nat ping during shutdown - - shutdown_rx, unlike rx_Finalize, kills the socket before the conns. - since we call osi_NetSend directly, we lose. just do a simple - check for rxinit_status, and exit immediately before sending if rx - is not up. - - Change-Id: Ie34a45a4c1c88fc5732801dcefec89cbc9764f81 - Reviewed-on: http://gerrit.openafs.org/5377 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 759c993c615b214bebdb5b1dc7346a72e379c135 -Author: Simon Wilkinson -Date: Mon Sep 12 09:42:47 2011 +0100 - - Add warning suppression to tcudbprocs.c - - When tcudbprocs.o is built as part of tbutc, it needs to have the - same warning suppression as when it is built as part of butc. - - Change-Id: Ied3a9512676ea929f5acdb80b29875555f69113a - Reviewed-on: http://gerrit.openafs.org/5402 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fa6b8651251228d46b8eba472b2b84e829cfdc00 -Author: Simon Wilkinson -Date: Mon Sep 12 09:42:11 2011 +0100 - - Build tbutc and tvlserver on Darwin - - At some point, the build lines for tbutc and tvlserver ended up - omitting Darwin platforms. This is incorrect, so re-add Darwin to the - platform list. - - Change-Id: I7704eb19a457620b37cbe3d9cbd33d6c9bd3ae5e - Reviewed-on: http://gerrit.openafs.org/5401 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit df13bb3be2d12dcb005cfe42585344826073c48c -Author: Chas Williams (CONTRACTOR) -Date: Mon Sep 12 15:24:39 2011 -0400 - - crypto: Fixes for recent Heimdal changes - - ignore KRB5_DEPRECATED_FUNCTIONS for now since it doesnt give any - advice. Some keytypes (but not all) have been renamed. So for - now we need to keep both apparently. - - Change-Id: I55de284448d255d5107afe03b4df56ccebc90beb - Reviewed-on: http://gerrit.openafs.org/5400 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit f566228af82ffe8091ed14fa6ec175de624504bc -Author: Heimdal Developers -Date: Mon Sep 12 14:08:57 2011 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - b118610a9c56835c4ac5dc49ce8124cae8078346 (switch-from-svn-to-git-2478-gb118610) - - Upstream changes are: - - Harald Barth (1): - Move common code to krb5_unsupported_enctype() and make error message contain string instead of error number - - Jeffrey Altman (1): - roken: declare IN_LOOPBACKNET if necessary - - Love Hornquist Astrand (5): - Warning fixes from Christos Zoulas - Fixes from NetBSD via Thomas Klausner and Roland C. Dowdeswell - Rename subsystem_DEPRECATED to subsystem_DEPRECATED_FUNCTION(X) - remove trailing whitespace - remove warning, remove forward declaration by moving the function up, ident - - Love Hƶrnquist ƅstrand (4): - don't set i = 0, its never read - sprinkle doxygen and kode more like the rest of the code base - partly unify enctype/keytype since there is only enctypes - switch to KRB5_ENCTYPE - - Roland C. Dowdeswell (1): - Fix a couple of bugs in krb5_c_valid_enctype(): - - chas williams - CONTRACTOR (1): - hcrypto: var name current conflicts with linux kernel - - Change-Id: Id9a7a9ee8258b979b54f4ed2b4175815ab35ea21 - Reviewed-on: http://gerrit.openafs.org/5399 - Reviewed-by: Simon Wilkinson - Tested-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 19a5b5e67c65f0a9109b0fb5410b5ba74ad85b41 -Author: Jeffrey Altman -Date: Sun Sep 4 14:58:23 2011 -0400 - - Windows: permit offline volume check to be disabled - - Setting the registry value to 0 can now be used as a - method of disabling the offline volume check. - - Change-Id: I9fdc4e960efb0a6793316102ce2794c775693da1 - Reviewed-on: http://gerrit.openafs.org/5370 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a5effd9f1011aa319fdf432c67aec604053b8656 -Author: Simon Wilkinson -Date: Mon Apr 25 10:46:33 2011 -0400 - - viced: Use libcmd for command line options - - Change-Id: Id402dc44bce03fcf998ad5b3f6de80fae7de9539 - Reviewed-on: http://gerrit.openafs.org/5075 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8e0aaae076f4cccfd2d6ed81ede4e355235b578e -Author: Todd Lewis -Date: Sun Sep 11 12:42:47 2011 +0100 - - RPM: Fix dkms support on Fedora 15 - - Newer dkms no longer uses or supplies a $kernelver_array variable; - instead it uses $kernelver. The attached patch uses both, one of - which will be empty, so the test will do the Right Thing regardless - of your dkms version. - - Further, the "mv" command at the end of the MAKE[0]= line needs - lots of back-slashes on each of its parms. We need three to make it - all the way to the final dkms.conf file -- so that's six -- plus one - more to escape the '$'; that's seven in all. - - In case there's any question (and with all the back-slashes involved, - there should be) about the intent here, the whole point of this - patch is to make the final dkms.conf MAKE[0]= line look like this - (module line breaks: - - MAKE[0]="KMODNAME=openafs.ko; DSTKMOD=\".\"; [ \"\`echo - \"${kernelver_array[0]}${kernelver[0]}\" | sed -e - 's/^\([0-9]*\.[0-9]*\)\..*/\1/'\`\" = \"2.4\" ] && KMODNAME=\"libafs-*\" - && DSTKMOD=openafs.o; ./configure - --with-linux-kernel-headers=${kernel_source_dir} - --with-linux-kernel-packaging; make; mv src/libafs/MODLOAD-*/\\\$KMODNAME - \\\$DSTKMOD" - - This is what was required to get "dkms build ..." to work on Fedora 15, - and as near as I can tell it shouldn't break 2.4 or other builds. - - FIXES 130211 - - Change-Id: I1f7b3ccb438bb957bb0b97456b23c11cb0b4a41b - Reviewed-on: http://gerrit.openafs.org/5393 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 6d274905b0b87c4947df9dccc2509295e7b28d09 -Author: Simon Wilkinson -Date: Sun Sep 11 12:31:55 2011 +0100 - - Unix CM: Fix afs_event fallout on Mac OS X - - Commit dc077b83c9b1f107efbc3483743f44117748f23c moved the afs_event - structure definition into afs_osi.h. However, afs_osi.h is included from - lots of places which don't include a complete set of platform headers. - This means that the use of lck_mtx_t in this file breaks the build on - Darwin. - - Instead, define the structure in afs.h, along with all of the rest of - the cache manager structures. Also take the opportunity to move the - definition of shutdown_osisleep it afs_prototypes.h, with the rest of - the prototypes. - - Change-Id: Idd19fc30adcb5ab37e65ad87fa9224668e8cd321 - Reviewed-on: http://gerrit.openafs.org/5392 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 136704fa648e5050941ed2a279cd9225b5e0ee68 -Author: Simon Wilkinson -Date: Sun Sep 11 12:35:18 2011 +0100 - - Darwin: Actually stop the kernel build - - At the moment, all of the kernel build lines end with "; true", which - means that the build will always continue, regardless of whether - creating an individual object file succeeds or not. The 'true' is there - to gobble up the name of the source file which the common build - infrastructure adds to the end of the command line. - - Instead of using '; true', use '&& true', so that if one of the C - compiler commands, or the lipo, fails, we get told about it, before - we try to link the missing objects. - - Change-Id: I11c14e6aa12188e3de044f900b3df8c8ffe5df13 - Reviewed-on: http://gerrit.openafs.org/5391 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9c9b906c8a5779c48afecfa098b15206f041665d -Author: Simon Wilkinson -Date: Sun Jul 10 10:24:26 2011 +0100 - - Move string manipulation functions out of util - - Some functions in libafsutil depend upon the RX libraries, which means - that pulling in other functions in this library can create a dependency - upon RX. This is less than ideal for low-level libraries such as cmd and - comerr. - - So, create a new low-level library (currently named 'opr') which can - contain low-level functions from util, and elsewhere. This library - should have no dependencies other than on system libraries and libroken. - - Change-Id: I703db3da4d8faf79ee82bf572af09d07152d9b25 - Reviewed-on: http://gerrit.openafs.org/5363 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 440943e96b4be87abd02c47b3bcea8a5a2bdbc5f -Author: chas williams - CONTRACTOR -Date: Wed Sep 7 09:55:47 2011 -0400 - - autoconf: use $XCFLAGS from OPENAFS_OSCONF when making tests - - Certain platforms (like ppc64_linux26) compiler options might - affect some autoconf tests. In particular, the ones related to - the size of certain primitive types. - - Change-Id: I20c3f737ee4623451bc6cab3f97e86d152cb397f - Reviewed-on: http://gerrit.openafs.org/5366 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c2272c207bc9f6cc0ba6892dfa6d879c7594d261 -Author: Simon Wilkinson -Date: Wed Sep 7 18:20:24 2011 +0100 - - IRIX: Pull NFS translator hooks - - We've never had working NFS translator for IRIX, and the system call - codes which are required to install the symbols used by the IBM - translator have long been used for other things by OpenAFS. - - Simplify this mess by just removing the translator stubs from the kernel - module, and all of the code in afsd which used to handle pulling - addresses out of the kernel module so that we can hook ourselves in. - - Change-Id: I2da2b0040afc0191e236706126d75bc7d39c0936 - Reviewed-on: http://gerrit.openafs.org/5375 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b34d7aa051d9bc8bcf8de2403c94741c0961af18 -Author: Simon Wilkinson -Date: Sun Jul 10 13:57:36 2011 +0100 - - volser: Don't initialise all error tables - - Initialising the KA and cmd error tables in vsprocs.c makes the - libvolser library dependent upon rxkad and cmd. As we may want to - use that library in programs which use neither rxkad, nor our command - processor, this is less than ideal. So, just drop the initialisations. - - Change-Id: Ifd47b1b16fc014f969e2b487451e21877b6a5407 - Reviewed-on: http://gerrit.openafs.org/5374 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2ba597391df8127ed610324fc6b7b489b1c1f83c -Author: Simon Wilkinson -Date: Tue Sep 6 14:18:12 2011 +0100 - - afsd: Fix res_init warning - - afsd requires res_init to be declared - get a definition for this by - including roken.h (which has the necessary magic to figure out which - set of headers are required to get resolver functions) - - Change-Id: I217405df223f0bc42be90aea991cb228db4da4f0 - Reviewed-on: http://gerrit.openafs.org/5373 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 85d54a064b62756c0a59be030d0eb1fbc293d168 -Author: Simon Wilkinson -Date: Tue Sep 6 14:14:56 2011 +0100 - - pam: Fix test_pam on Darwin - - Darwin doesn't have a getpassphrase function. Fix the PAM test to - use getpass, in the same way as we do for lots of other platforms. - - Change-Id: Ib252174ac1356a8975a9187b252d4fe0246d5d39 - Reviewed-on: http://gerrit.openafs.org/5372 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1589e29f4e03919064c769372a7601957a8a033c -Author: Simon Wilkinson -Date: Tue Sep 6 14:03:41 2011 +0100 - - pam: Don't duplicate .c.o rule - - Our included configuration has a perfectly fine .c.o rule, so don't - override it in this Makefile, as all that does is produce a warning at - build time - - Change-Id: If8d37f50932124ef0adef64ec23d81e646da337a - Reviewed-on: http://gerrit.openafs.org/5371 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ec51fcc2b67fda494ff15c5be589bb280ce49d92 -Author: Russ Allbery -Date: Wed Sep 7 19:25:23 2011 -0700 - - Import new pam-const.m4 from rra-c-util 3.8 - - Fixes detection of whether the PAM library uses const on FreeBSD and - possibly others. Report and testing from Julien ƉLIE. - - Change-Id: Ice01914f4a00f73e4e473934f4ad907da3a3493f - Reviewed-on: http://gerrit.openafs.org/5376 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 4ec6fd003084b02c299466bcaeac3850be10f79c -Author: Jeffrey Altman -Date: Tue Sep 6 11:57:18 2011 -0400 - - Windows: add clean rule to src/afs/NTMakefile - - Change-Id: I433dee1e3f9e4b5774dc8011690b6c74162772ce - Reviewed-on: http://gerrit.openafs.org/5368 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b6e5493437b942d5550247761dac3311c6d73a86 -Author: Jeffrey Altman -Date: Wed Sep 7 13:33:36 2011 -0400 - - Windows: correct comments in cm_BkgStore - - Change-Id: I1b74db2cc37626dad2e92e86facf7bbaf71d6177 - Reviewed-on: http://gerrit.openafs.org/5369 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 39b788eeafe27d21ae6b4fd3cfeb59ce5dc70077 -Author: chas williams - CONTRACTOR -Date: Mon Sep 5 09:26:32 2011 -0400 - - ppc64_linux26: build binaries as 64-bit by default - - lwp doesnt work since ucontext/setjmp are incomplete when running 32-bit - binaries with the 64-bit kernel. - - Change-Id: I9c52d9d934638075fc1693ed94f20665822e5e6e - Reviewed-on: http://gerrit.openafs.org/5365 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit dc077b83c9b1f107efbc3483743f44117748f23c -Author: Ben Kaduk -Date: Mon Jul 25 23:39:27 2011 -0400 - - Free memory from afs_events - - DARWIN and LINUX were already doing this, but everybody else had - a memory leak. Consolidate most of the common code to do so, - including afs_event_t definitions. - - Change-Id: I5ec83cf23fd15dbbd5716995c671998e35862843 - Reviewed-on: http://gerrit.openafs.org/5314 - Tested-by: BuildBot - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit 327762071be3806c5d08be0218982c7027754756 -Author: Simon Wilkinson -Date: Tue Jul 5 09:20:15 2011 +0100 - - rx/rxkad: Move rxkad initialisation into rxkad - - When the RX pthread conversion was done, the initialisation of rxkad - mutexes was incorporated into the rx library itself. This is a layering - violation (it breaks the relatively clean security object abstraction), - and means that you can't actually use RX without the rxkad library. - - So, remove all of this initialisation from RX. As security libraries - don't have an explicit initialisation function, we setup our various - mutexes using a pthread_once function called from the NewSecurityObject - functions. - - This has the added bonus that it removes the final error in rx.c for - pthread builds, and so another bit of warning suppression can be - removed. - - Change-Id: I3cf9b2404a03fb58534c5f41afd77aa5ba5e2256 - Reviewed-on: http://gerrit.openafs.org/5361 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit ca0f1946a2f0a75be7de6aa0ac083ffebc950624 -Author: Simon Wilkinson -Date: Tue Jul 5 09:27:05 2011 +0100 - - volser: Don't declare cstruct twice - - Both vsprocs.c and vsutils.c declare the global variable 'cstruct' - (which is initialised by vos.c in order to pass a ubik client structure - through to many of the libvolser functions). This double declaration - prevents libvolser from being linked as a shared library on some - platforms. We only need one of these, so just make vsprocs.c declare it, - and vsutils.c refer to it as an extern. - - Of course, using a global variable to pass state around is really quite - nasty, but let's fix that in another change. - - Change-Id: Ief1667bd7a5b70dbfb49cdc02cc435eb2344527e - Reviewed-on: http://gerrit.openafs.org/5362 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8a24a7c933441f449192cf8c1b8d6fd728261734 -Author: Rod Widdowson -Date: Tue Sep 6 15:23:33 2011 +0100 - - Windows: Replace "%T" as format string to strftime - - Checkin I18ed36cc4dce9aa354ad1398710ab7db83c814a2 made strftime - much more widespread. However the %T format is not available on - all platforms and causes (at least) Windows servers to fail on - first attempt to log. %T is just shorthand to %H:%M:%S so this - checkin just replaces the one with the other. - - Change-Id: Ibfff133d9263f5513276d96f3624801fd8ab229e - Reviewed-on: http://gerrit.openafs.org/5364 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 37d72aa15615ca32acb83ff82d35fd4508efa479 -Author: Jeffrey Altman -Date: Sat Sep 3 22:35:43 2011 -0400 - - Windows: Freelance vnode,unique pairs - - The redirector maintains file object state after the afs - service has shutdown in case it is restarted. It is critical that - Freelance FIDs not be reused. Add cm_data.fakeDirVersion into - the mix when generating unique values. - - Change-Id: I1cf480d3e0ec6e0b7eadf731a1ef867079c2dc44 - Reviewed-on: http://gerrit.openafs.org/5357 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 796684c024bfd675072bc067289b55dba2f130db -Author: Jeffrey Altman -Date: Sat Sep 3 21:33:00 2011 -0400 - - windows: fix comments, add logging - - Change-Id: I383ce8679828f91d013d1f98ea3d25c73a0399df - Reviewed-on: http://gerrit.openafs.org/5356 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit b6f23864ffa380923f50d424063ad0804e407f4a -Author: Jeffrey Altman -Date: Mon Dec 14 13:33:02 2009 -0500 - - Windows: remove CM_BUF_CMBKGFETCH flag - - The processing of the CM_BUF_CMBKGFETCH flag adds more - overhead than it prevents. Get rid of it. - - LICENSE MIT - - Change-Id: Ic152707fd3f0a7592409a5f570c02488f5503a9c - Reviewed-on: http://gerrit.openafs.org/5359 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 33af0f92e9b8a50c5a6dd17a9065c0ef58597c28 -Author: Jeffrey Altman -Date: Mon Sep 5 10:11:09 2011 -0400 - - Windows: use lock conversion in cm_EndDirOp - - Instead of dropping the lock for read and reacquiring for write - use lock_ConvertRToW() which will make the change atomicly if - it is possible or place the thread into the wait list if not. - - LICENSE MIT - - Change-Id: I5d134f045a0c935fdaaef6edf5bdf37bb0418a98 - Reviewed-on: http://gerrit.openafs.org/5360 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c3e82ee98bf66058636f11d7a98d3bebe3bac955 -Author: Derrick Brashear -Date: Fri Sep 2 13:35:24 2011 -0400 - - aklog: strlen(NULL) doesn't work - - strlen(filepath) when !filepath isnt going to work very well. i believe - this to be the intent of the author of the original patch. - - Change-Id: Ib78c5a189b6980223946aff9cf027419127c35bd - Reviewed-on: http://gerrit.openafs.org/5328 - Tested-by: BuildBot - Reviewed-by: Chas Williams - CONTRACTOR - Reviewed-by: Derrick Brashear - -commit def00ae8ba774f4d7290c29208484dda756dc0e0 -Author: Marc Dionne -Date: Sat Sep 3 14:10:50 2011 -0400 - - Linux: d_delete now takes a const argument - - The d_delete dentry operation now takes a const argument. Test for - this and define our function accordingly to avoid warnings. - - Change-Id: I621f54d8e8182b29ccfdf82798773800f5870064 - Reviewed-on: http://gerrit.openafs.org/5335 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 3e3400e422129a8a19d180c4e37689294d927ecb -Author: Jeffrey Altman -Date: Sat Sep 3 20:09:20 2011 -0400 - - Windows: tailor smb_MapNTError output for redirector - - Separate mappings apply for the afs redirector. Add a boolean - parameter to the function signature that is set true when the - call requires the redirector mapping. - - Change-Id: Ib2892b6c78047f3f1d289e31c4236ea90d8026ab - Reviewed-on: http://gerrit.openafs.org/5351 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9b0cb614387403ff433cf39f84c13b626b1b9bdc -Author: Jeffrey Altman -Date: Fri Sep 2 13:54:01 2011 -0400 - - Windows: cm_SymLink export created cm_scache_t - - Permit the caller to request the cm_scache_t that represents - the created symlink or mount point object. - - Change-Id: Ida8fdc4214844dad009362877f125aa5d20120a1 - Reviewed-on: http://gerrit.openafs.org/5355 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 537592f6bbda0c659c25ae7068f50504e2a5e116 -Author: Jeffrey Altman -Date: Sat Sep 3 21:07:13 2011 -0400 - - Windows: correct cm_buf use of Head/Tail queues - - The buffer free list least recently used queue has both - head and tail points. Use the proper versions of the queue - mgmt functions and do not handle edge cases as special cases. - - Change-Id: I570682ef1cd6801f1467c4b1af40ae6591a33862 - Reviewed-on: http://gerrit.openafs.org/5354 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1e23761b7fadc260b32bebb0343a9b5b1de37cf4 -Author: Jeffrey Altman -Date: Sat Sep 3 20:22:19 2011 -0400 - - Windows: remove dead code from cm_scache.c - - Change-Id: Ibc5ae641f6bacbe0975f8ffaf0d4cff3e294959a - Reviewed-on: http://gerrit.openafs.org/5353 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 741e478970a17edda84f2d2c4689a99e90510edd -Author: Jeffrey Altman -Date: Sat Sep 3 20:16:09 2011 -0400 - - Windows: add cm_Gen8Dot3VolNameW() - - Change-Id: Ic514719ee247d60862cc9ff07de16e5de4ffb774 - Reviewed-on: http://gerrit.openafs.org/5352 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 69463ac0cb367202485aac9977f8b4c47fb067f2 -Author: Jeffrey Altman -Date: Sat Sep 3 20:06:21 2011 -0400 - - Windows: add logging to smb_IoctlRead - - Change-Id: Ia1c7fc1035eee07de47776e63d6a054ee2809f2f - Reviewed-on: http://gerrit.openafs.org/5350 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2588dd12478afb96a72f0cd788233ecf2145830f -Author: Jeffrey Altman -Date: Sat Sep 3 20:03:28 2011 -0400 - - Windows: remove potential data loss warning with cast - - Change-Id: If9cbe1b777452dba5b0785d8abfccb9ec31540e3 - Reviewed-on: http://gerrit.openafs.org/5349 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 722843e2df533e8fcf245f2a3b10ef686992deb2 -Author: Jeffrey Altman -Date: Sat Sep 3 19:14:11 2011 -0400 - - windows: pass cm_req_t through background ops - - add cm_req_t object to background daemon operations in order to - permit request source to be propagated to the background daemon. - - pass a cm_req_t into buf_SetDirty(). - - Change-Id: I8f805c2860e33df37040ee3785f18358e1a9b762 - Reviewed-on: http://gerrit.openafs.org/5348 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1d6593e952ce82c778b1cd6e40c6e22ec756daf1 -Author: Russ Allbery -Date: Tue Aug 23 12:50:55 2011 -0700 - - Generate stub header files for h/*.h files included in libuafs - - Previously, the libuafs build created a symlink from h to - /usr/include/sys so that files included under h/* by kernel source - files could be found in the normal system header location. However, - this assumption about the system header location is no longer valid. - Debian and Ubuntu systems with multiarch have arch-specific include - paths so that the same host can be used to build 32-bit and 64-bit - binaries with different system headers, and those include paths are - automatically searched by the compiler. This means some standard - headers are no longer found directly in /usr/include/sys but are - instead found in /usr/include//sys. - - Using a stripped-down version of similar code for building the kernel - module on Linux, create an h directory containing stub header files - that just include the relevant system header file instead. - This allows the compiler to implement its normal internal header - search algorithm. - - Also remove all the other symlinks, such as sys, netinet, etc., that - just pointed to the same directories under /usr/include. We can assume - the normal compiler search algorithm will find these headers without - requiring this assistance. - - Change-Id: Ie19d12e3d3f0068c88d0a9c83f6a96d51baee018 - Reviewed-on: http://gerrit.openafs.org/5305 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0f4dfaed6b25ae4282298cc2ba4908ce9f36f043 -Author: Andrew Deason -Date: Mon Aug 29 13:07:01 2011 -0500 - - ihandle: OPEN fdPs are not counted in ihP refcount - - Just add a comment explaining that an OPEN FdHandle_t does not count - against the ref count for its parent IHandle_t. Recently I've seen - some confusion about this when discussing ihandle internals, and this - should make this abundantly clear. - - Change-Id: I73210e0d05869827ba99d09f504052d1a6797669 - Reviewed-on: http://gerrit.openafs.org/5317 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b298138bc49c1d1dae0495e03f4a561f0bd5dd82 -Author: Simon Wilkinson -Date: Mon Aug 29 23:36:41 2011 +0100 - - libafs: Fix directory verification - - With the earlier directory verification changes, every directory - was seen as corrupt, because the nde pointer was never being initialised - - Rework the way that we check for the failure of afs_dir_GetVerifiedBlob - so that we can more robustly detect problems, whilst still allowing - normal directories to be browsed as before - - Change-Id: I3d3f428025296956b5feff6ba290aaef79817dcd - Reviewed-on: http://gerrit.openafs.org/5318 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8e97cf6f215d5575c63d86eaec59031399f4beda -Author: Marc Dionne -Date: Sat Sep 3 12:32:33 2011 -0400 - - Linux: make sure backing_dev_info is zeroed - - The afs backing_dev_info structure is allocated dynamically with - kmalloc, which doesn't zero out the contents. In particular - there's no guarantee that congested_fn is NULL, causing spurious - oopses when bdi_congested tries to call it. - - Change-Id: Ieeed870905627a132a0d1bd2f15cf80443b36303 - Reviewed-on: http://gerrit.openafs.org/5334 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cbaefa266d433af3b9a082a360e23a42f161d80f -Author: Marc Dionne -Date: Fri Sep 2 17:56:58 2011 -0400 - - Linux: 3.1: adapt to fsync changes - - The fsync file operation gets new arguments to specify a range. - Add a configure test to check for the API change. - - The inode lock is also pushed down into the operation, so we need - to take it ourselves to keep the original behaviour. - - Change-Id: Icf4e152ce52f2b32c99920f83a5cc3136c05d2cd - Reviewed-on: http://gerrit.openafs.org/5332 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 20772897654b58da6f7d4cd0bd2caf169abddd50 -Author: Jeffrey Altman -Date: Sat Sep 3 19:03:05 2011 -0400 - - Windows: correct log message in buf_Sync() - - Change-Id: I808e37584a8dda303c037dca82c2230ff884560f - Reviewed-on: http://gerrit.openafs.org/5347 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2f9f19085e83d3050748d03b9db903f06bba17ac -Author: Jeffrey Altman -Date: Sat Sep 3 18:57:09 2011 -0400 - - Windows: restructure cm_ResetACLCache locking - - Change-Id: Ic22ba2f54463dd0efa0efa1fff83890eb6d61cc1 - Reviewed-on: http://gerrit.openafs.org/5346 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0954e0ef9a34ca74886900a938f091e5bf9befd9 -Author: Jeffrey Altman -Date: Mon Feb 28 01:27:33 2011 +0000 - - Windows: add cm_BPlusDirEnumBulkStatOne - - cm_BPlusDirEnumBulkStatOne() is similar to cm_BPlusDirEnumBulkStat() - except that it is used to obtain the status info for one FID in - particular via RXAFS_InlineBulkStat, the parent directory FID, and - up to 48 other FIDs in the same directory which do not currently - have a registered callback. - - The parent directory is included to prevent the directory FID - callback from expiring when a directory such as /afs/andrew.cmu.edu/usr/ - that requires more status objects then exist in the cache are continuously - recycled. - - Up to 48 other FIDs are requested since in most cases on Windows - every entry in a directory is required for an enumeration. - - Change-Id: Ic53134498ac0e776232a6f9c97cdb26367959546 - Reviewed-on: http://gerrit.openafs.org/5345 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1a0dd342cc21a307e568efdc2b7ae40fda310edb -Author: Jeffrey Altman -Date: Thu Jan 27 23:09:00 2011 -0500 - - Windows: remove warnings afskfw.c - - Sometimes warnings are errors and sometimes they are just warnings. - In this case, the krb5 error message functions were being passed - a krb5_context with the wrong level of indirection which resulted - in an actual error. Other warnings were due to improper typing - and unnecessary casts. Fix them all. - - Change-Id: Ib2cefe94acca858dda9af92baaae3168c074bb2e - Reviewed-on: http://gerrit.openafs.org/5344 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 79e3af59f1737e46a5bbc58fc8d73f5e38ed8c30 -Author: Jeffrey Altman -Date: Sat Sep 3 18:41:43 2011 -0400 - - Windows: non-persistent cache from pagefile->heap - - Change the non-persistent cache mode to use a heap allocated - cache in place of a paging file allocated cache. With a heap - cache the memory for the cache can be locked into physical memory - so it won't be swapped out when running in virtual machines. - This patch does not apply such memory locking. - - Change-Id: I85e6da1bba481d3d9bca84673b918b1d7cde71f9 - Reviewed-on: http://gerrit.openafs.org/5343 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6aeab6595e4a36429943c22466b1b38591305240 -Author: Jeffrey Altman -Date: Mon Jul 18 16:16:42 2011 -0400 - - Windows: Only mask Delete permission for SMB reqs - - For SMB requests the Delete permission is masked if the - readonly attribute is set on the file. Do not apply this - heuristic to non-SMB requests. - - Change-Id: I6617e935cb32796e4a95b4eac0bec9519bd3e937 - Reviewed-on: http://gerrit.openafs.org/5342 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7dcc4766377b99c60db60328c21a3990db132268 -Author: Jeffrey Altman -Date: Thu Sep 1 09:51:06 2011 -0400 - - Windows: buf_SetDirty do nothing if length is zero - - Change-Id: Id6a96feadccc437900e944ab23b45d2717766e1c - Reviewed-on: http://gerrit.openafs.org/5358 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit abe0e6b7bca7fe02c4b08cc621f7a97dfcd82b1b -Author: Jeffrey Altman -Date: Sat Sep 3 18:25:10 2011 -0400 - - Windows: conditionalize cm_Analyze timeLeft on SMB or RDR - - Restrict timeLeft in cm_Analyze() to SMB constraints only - when SMB mode is in use. - - Change-Id: Iff37b90c1532fe9aa7d57567f4ff4e5e6877cb65 - Reviewed-on: http://gerrit.openafs.org/5341 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f1ca805de8cc4e79b683663e5aaca69188f81497 -Author: Jeffrey Altman -Date: Sat Sep 3 18:22:53 2011 -0400 - - Windows: additional CM_REQ flags - - Change-Id: Ic620d157817e39053e75ba79ad7d582ba3067424 - Reviewed-on: http://gerrit.openafs.org/5340 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 21496cc223b82081ebdf1de9ef5aeb7dc812489b -Author: Jeffrey Altman -Date: Sat Sep 3 18:19:58 2011 -0400 - - Windows: add connection defaults for RDR mode - - CM_CONN_IFS_HARDDEADTIME 120 - CM_CONN_IFS_CONNDEADTIME 50 - CM_CONN_IFS_IDLEDEADTIME 50 - - Change-Id: I0b110f2a33879bb889d4ad4b54b7c218a1006e65 - Reviewed-on: http://gerrit.openafs.org/5339 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b861e17c0bc34ea2042879bc705f5d26a7e0a77f -Author: Jeffrey Altman -Date: Sat Sep 3 18:17:21 2011 -0400 - - Windows: log SMB or RDR in use at startup - - Change-Id: Ib38d8a755a8ace9db672ce2d10bcdd370e9e3de6 - Reviewed-on: http://gerrit.openafs.org/5338 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 070383939d84aaf6aff9885328439a19b789286c -Author: Jeffrey Altman -Date: Sat Sep 3 18:13:31 2011 -0400 - - Windows: Make use of SMB interface a runtime decision - - Add 'smb_Enabled' and 'RDR_Initialized' flag variables. - Default smb_Enabled to true and RDR_Initialized to false. - - Add registry value "SMBInterfaceEnabled" to permit disabling - the SMB interface. - - If the redirector interface is initialized (a future set of - patchsets will add it) disable the SMB interface at runtime. - - Change-Id: I354e121001d942421aa98490b62b710ac175051f - Reviewed-on: http://gerrit.openafs.org/5337 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f7d0e800eba62f4984795cb7b487f6695f6fedcc -Author: Jeffrey Altman -Date: Fri Aug 6 18:24:47 2010 -0400 - - Windows: pioctl path retrying with \\afs\all - - When the redirector is in use, \\AFS is identified as being an AFS path. - With the SMB redirector, \\AFS was not considered a valid path. In order - to simulate the notion of \\AFS being the root volume, failover logic - was added to the symlink and fs modules being triggered that - would retry a request for \\afs\foo as \\afs\all\foo. - - The VIOC_SYMLINK and VIOC_AFS_CREATE_MT_PT pioctls are broken. The - 'path' parameter that is passed in contains the directory entry that - is to be created. Since the AFS redirector maps \\afs to the root.afs - volume the "foo" in \\afs\foo must exist in order for the - _._AFS_IOCTL_._ special file to be opened. - - This patch implements an alternative to the failover. If the opcode - is one of the two listed above and the input path is a UNC path, - then the path is re-written as \\AFS\all. This is necessary because - the repeated attempts to open a UNC path through the SMB redirector - with different usernames can result in the smb session becoming - disconnected. If this is done when the SYSTEM account is in use, - the tokens associated with the connection can be lost. - - LICENSE MIT - - Change-Id: I2c2f6c08c7ca5c137062d34e1353731b6f78f633 - Reviewed-on: http://gerrit.openafs.org/5336 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2271d481d33b2b2ad56dcd4fc9fbdd726fc1967b -Author: Jeffrey Altman -Date: Fri Sep 2 23:51:59 2011 -0400 - - Windows: remove MULTIHOMED ifdef - - All builds include the MULTIHOMED functionality. - Get rid of the #ifdef MULTIHOMED. - - Change-Id: Ib9ea4597fcda47aa9dce0fbf92675a6606e2ec6e - Reviewed-on: http://gerrit.openafs.org/5333 - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8127e9332be8cadda001f05c6036d4c87e04cb4a -Author: Jeffrey Altman -Date: Fri Sep 2 18:36:13 2011 -0400 - - Windows: missing ! in update volume location - - The check to see if the volume name is numeric or not was - missing a ! in order to perform the correct test. Add it. - - Change-Id: I4626f4bdcf601cd1b421dd3d373edd634cc78527 - Reviewed-on: http://gerrit.openafs.org/5331 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit f37b6dfaf050ec0270979c8310fb471c16b66cd3 -Author: Jeffrey Altman -Date: Fri Sep 2 18:32:40 2011 -0400 - - Windows: improve handling of volume rename - - The windows cache manager tracks volumes by volume group. - Up to this point all volume location updates have been performed - by the volume name. What if the volume name was altered? In this - case the volume location information for the in use volume ids will - fail until a mount point to the new name is queried. Before - marking the volume group as non-existent attempt to perform a - lookup using either the volume id for the readwrite or readonly - volume. - - Change-Id: I51b383150b0186867e1c51a28b01e8483ee470f2 - Reviewed-on: http://gerrit.openafs.org/5330 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 9563dd68fc1fb4b86016106aaacd33732d4cf6ed -Author: Jeffrey Altman -Date: Fri Sep 2 18:28:31 2011 -0400 - - Windows: refactor volume location updates - - Break out the VL_GetEntryByName RPC calls into support - functions so we can reduce the amount of duplicated code. - - Change-Id: If4a26514959d3fd82e4b583a993ccea393267fdd - Reviewed-on: http://gerrit.openafs.org/5329 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 85f917d0762dfb0c22cddf4b0cab3bf76efa0f62 -Author: Derrick Brashear -Date: Thu Aug 11 10:39:11 2011 -0400 - - macos: update 32 bit kernel build flags - - this is what the current xcode uses. do the same. - - Change-Id: I3ea2f3df6e0f39aafb421f6b0854af5d85659742 - Reviewed-on: http://gerrit.openafs.org/5205 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 16dff61e148ce6893a68dda6e05e84f96fa753ac -Author: Derrick Brashear -Date: Tue Aug 23 00:20:37 2011 -0400 - - xserver lock order violation - - individual volume locks are pretty far down, well after afs_xserver. - - afs_SetupVolume (with tv->lock)-> InstallUVolumeEntry-> afs_GetServer. - - Install*Volume is careful to protect against recursing into the volume - lock via ResetVolumeInfo. Unfortunately, GetServer acquires xserver, - and then if it needs to call GetCapabilities, it drops and reacquires - xserver. - - turns out the volume locks weren't protecting much. they also aren't - grabbed before xvolume is dropped. fine, so, restructure to do all the - work, then merge the result. - - Change-Id: I648900849a5a7349adc686658872706bd7024c90 - Reviewed-on: http://gerrit.openafs.org/5303 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 12fa5b859b857aaf0ab6975ebac0d4867d0ae0ff -Author: Derrick Brashear -Date: Mon Aug 22 14:56:03 2011 -0400 - - xvcb lock order violation - - afs_FlushVCBs(1) = xvcb, xserver (in that order) - - afs_GetServer = xserver, xsrvAddr, (call afs_RemoveSrvAddr which calls - afs_FlushServer, which gets xvcb) - - "nope". do a little dance to get xvcb, searching for a struct server to reuse - again if we had to block. - - if you're curious: - Lock afs_xserver status: (reader_waitingwriter_waiting, write_locked(pid:1589 at:36), 3 waiters) - Lock afs_xvcb status: (none_waiting, write_locked(pid:0 at:273)) - Lock afs_xsrvAddr status: (none_waiting, write_locked(pid:1589 at:116)) - - Change-Id: If295d0b9ce347c1cc24df12cd9934a30dce2a3c6 - Reviewed-on: http://gerrit.openafs.org/5294 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 24287ff0154c49a2563c9a08ff44ff72583095e4 -Author: Derrick Brashear -Date: Tue Aug 30 01:18:37 2011 -0400 - - redhat: mockbuild updates for repoquery - - for starters, mock should be careful not to use parent yum cache - when running repoquery, the host runs it, we want the guests's - yum cache. be careful to not attempt to use the parent's yum cache - (in the default config). - - additionally, we need to not try to build 64 bit kernel modules in - 32 bit chroots. expand the list of rpms while ejecting any which are - 64 bit if we're 32. - - additionally, blacklist kernels which are the wrong osver. - - Change-Id: Id2a68cf66ddae57458c9f97314cd492e7b5132a8 - Reviewed-on: http://gerrit.openafs.org/5322 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8d4f65c3021b3416d290a1d5f1e8e61d14a936c7 -Author: Jeffrey Altman -Date: Tue Aug 30 09:49:11 2011 -0400 - - Windows: correct CheckOfflineVolumeState logic - - Do not blindly set the return 'online' state to TRUE if - the state has not in fact changed. - - Do not blindly clear the 'alldown' flag without checking the - actual 'down' state of the file server. - - Change-Id: Iaad401be067513e2bf42609f0b0d407ba5c6302d - Reviewed-on: http://gerrit.openafs.org/5323 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 130144850c6d05bc69e06257a5d7219eb98697d8 -Author: Michael Meffie -Date: Fri Aug 12 14:29:48 2011 -0400 - - xstat: cm xstat time values are 32 bit - - The kernel space cm xstat time structures are implemented as 32 - bit values in memory and on the wire. Define the client side - xstat userspace structures as 32 bit time values as well to avoid - size mismatches on systems with native 64 bit time values. - - Change-Id: I857ea48bf8e12ec006ef24affb2e65a105ce27bb - Reviewed-on: http://gerrit.openafs.org/5237 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 33bb5218ba8d6c5b5c5c4839fd31824ca90c062b -Author: Derrick Brashear -Date: Wed Aug 24 20:40:38 2011 -0400 - - aklog: work around lion kerberos disaster - - fine, so, instead of needing weak crypto enabled, use krb5 config - paths trick and ship a config to deal. - - Change-Id: I6e9635dfe1fe6d4633486acf1e9cc35a96f33cd6 - Reviewed-on: http://gerrit.openafs.org/5310 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 3d4e111dd6c4201476e7447fdfaa27ed630032c5 -Author: Jeffrey Altman -Date: Sun Aug 28 12:03:53 2011 -0400 - - Windows: afslogon network provider debug registry value - - create a new TransarcAFSDaemon\NetworkProvider "Debug" value - to be used for activating the network provider debugging. - The overlapping use of TransarcAFSDaemon\Parameters "TraceOption" - is just too confusing. - - Permit both methods to be used. - - Change-Id: I4ba233b38bda547af35aa4b363edc819bcc3792c - Reviewed-on: http://gerrit.openafs.org/5316 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 971a103cd088ddbaf227d562fc64f8c728bbc235 -Author: Jeffrey Altman -Date: Sun Aug 28 12:02:14 2011 -0400 - - Windows: afslogon NPLogonNotify exit on KTC_NOCM - - If the service has started but is not responding to pioctls, - permit the NPLogonNotify() routine to exit. - - Change-Id: I1ed4ac7a7fed5d86d607ecfd5e027f62ec26a82f - Reviewed-on: http://gerrit.openafs.org/5315 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9052974812e33d186613c31e318673f9268467c6 -Author: Jeffrey Altman -Date: Fri Aug 26 13:57:15 2011 -0400 - - Windows: afslogon.dll is not a file system interface - - Do not return a file system network type that corresponds - to a real file system inter since afslogon is in fact not - associated with a file system interface. We can't return - WNNC_NET_NONE (0) because that prevents NPLogonNotify() - from being executed. However, if we return an in use - file system value that can confuse the system when the - actual file system's network provider is also installed. - - Change-Id: I845bc633f17f21946ce7de796d66c0bb429005cd - Reviewed-on: http://gerrit.openafs.org/5313 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 209d59a61ba9614a8b9d231d828f74a3e9bdaa27 -Author: Jeffrey Altman -Date: Fri Aug 26 09:36:04 2011 -0400 - - Windows: torture error reporting - - When LeaveThread() is called and GetLastError() has already - been called, pass the last error value to LeaveThread(). Otherwise, - the GetLastError() call in LeaveThread() may return an inaccurrate - result. - - Change-Id: Ia8ac1fd827ab8fb47aea0b527acd3c7f7070e873 - Reviewed-on: http://gerrit.openafs.org/5312 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 40c9163aa9f266c4ad3a0a5a68e0aae0c35e3e51 -Author: Garrett Wollman -Date: Mon Aug 8 23:59:17 2011 -0400 - - libafs: crash in a more useful way if nchunks is zero - - In afs_CacheStoreDCaches(), if the parameter nchunks is zero, the - main loop will not execute, leaving the XSTATS pointer unchanged, - which will result in a null dereference in XSTATS_END_TIME. Instead - assert that nchunks is nonzero, which will help the static analyzer - and will also generate a more useful panic message should this - error ever be encountered in operation. - - There is presently only one call site, and it may be the case that this - condition can never be triggered. - - (While in the neighborhood, also avoid dereferencing tdc immediately - before testing whether it is null.) - - Change-Id: Idf68f1306d3e09771425c62df139c1de11806c22 - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5179 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit edbe891abfb00be2c9f4de474db2dd784f2d5a61 -Author: Garrett Wollman -Date: Wed Aug 10 21:52:44 2011 -0400 - - libafs: FillStoreStats doesn't need to be global; avoid pass-by-pointer - - FillStoreStats is only used in afs_fetchstore.c, so make it static. - Parameter xferStartTime is an osi_timeval, which should be small - enough to pass by value, so do so. - - Change-Id: Ic47eae8babb3b7cadbbbca2f10e2e070e2457590 - Reviewed-on: http://gerrit.openafs.org/5199 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 90681a59bac641c4c4d70c0bb500845be3577c33 -Author: chas williams - CONTRACTOR -Date: Sat Aug 13 10:29:31 2011 -0400 - - doc: missing $DBTOEPUB variable in the Makefile - - Change-Id: I623859ae58fea6a602221ca5d111605004b4a27f - Reviewed-on: http://gerrit.openafs.org/5256 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 597de25969ebdeaafb7390984b5ce2c8782fd557 -Author: Andrew Deason -Date: Wed Aug 24 12:48:19 2011 -0500 - - ihandle: Fix IH_REALLYCLOSE for positional I/O - - Currently, ih_fdclose (which is called by IH_REALLYCLOSE), goes - through every FD_HANDLE_OPEN FdHandle_t and closes it. If it finds - handles that are FD_HANDLE_INUSE, it skips those and sets a flag on - the parent IHandle_t. For non-positional I/O, any future opens cannot - use these _INUSE handles, since _INUSE handles cannot be reused, and - the handle will be actually closed when it is FDH_CLOSE'd. - - For positional I/O, the situation is different. Multiple threads can - use the same _INUSE FdHandle_t, and so there is nothing currently - stopping a thread from IH_OPEN'ing an ihandle that has been - IH_REALLYCLOSE'd, and getting back an FdHandle_t that existed before - the IH_REALLYCLOSE was issued. This is important, since IH_REALLYCLOSE - is used on files that are deleted, and future IH_OPENs for the same - inode must not use the cached file descriptor. Getting this wrong can - cause data loss, since it can cause us to read from or write to a file - descriptor referring to a deleted file, when we instead should open a - new copy of that file. - - To fix this, we create a new FdHandle_t state called - FD_HANDLE_CLOSING, which is set in IH_REALLYCLOSE if we encounter an - FD_HANDLE_INUSE FdHandle_t. In IH_OPEN, we always skip - FD_HANDLE_CLOSING handles, so we can never get back a cached file - descriptor from before an IH_REALLYCLOSE call. - - Change-Id: I3188a18f7833950cf5454b3ffe4a4ce0c69e234f - Reviewed-on: http://gerrit.openafs.org/5308 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6d79cfb36165c33dd1fd9c4d7ca8436d9a78f7ff -Author: Andrew Deason -Date: Wed Aug 24 12:30:00 2011 -0500 - - ihandle: Actually assert active fdPs are not AVAIL - - FdHandle_t's that are on the linked list for an associated IHandle_t - should not be in the state FD_HANDLE_AVAIL. For the non-PIO case, we - assert that this is the case in ih_open (since we assert that if the - FdHandle_t is not in INUSE state, then it must be in OPEN state). - However, for the PIO case, we were just skipping over any FdHandle_t's - that were in the AVAIL state. These should never exist while on that - linked list, so assert for the PIO case, as well. - - In the absence of bugs, there is no functional change here, but it - perhaps makes the ih_open loop easier to understand. - - Change-Id: I4e3b3319ae14b7e68a87f5fe172419f5ebf9d2c9 - Reviewed-on: http://gerrit.openafs.org/5307 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit fa97579a08cdf23fcff3c50a5845d72a785feeaf -Author: Matt Benjamin -Date: Wed Aug 24 16:23:37 2011 -0400 - - LINUX vcache lock ordering in afs_linux_readdir - - Normalize shared and exclusive lock operations. Take the lock - exclusive immediately, since the code assumes a write lock if - the vcache state is in flux or the entry is being fetched, releasing - -write- rather than shared, since we do not hold a shared lock. - - Change-Id: Icbffdf21c6fc7929483589e87ffe9131834c79b4 - Reviewed-on: http://gerrit.openafs.org/5309 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 2dbdcc5fde93673efba132cad432029e03aef486 -Author: Derrick Brashear -Date: Wed Aug 24 22:53:38 2011 -0400 - - roken: no strcasecmp - - we don't provide it, don't map it. - - Change-Id: Ifcbb1ec66c374ef8cd6eaddf1954dcd688ae3e9b - Reviewed-on: http://gerrit.openafs.org/5311 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c23b27a69322f4c9963a532d5cbcb136b23bb20c -Author: Jeffrey Altman -Date: Tue Aug 23 16:02:28 2011 -0400 - - Windows: change buf_Find*() signature to accept cm_fid_t - - The buf_Find*() functions require a cm_fid_t to match with the - cm_buf_t objects not a cm_scache_t. Change the signature so - that the cm_scache_t is not required. It should be possible to - search for a buffer even if the cm_scache_t is not present in - the cache. - - Change-Id: I38835ee86405c4f3f798ad6be8626e6da507109f - Reviewed-on: http://gerrit.openafs.org/5304 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b804e027f1a9d8dfaad3d348390a83493b53a6c7 -Author: Jeffrey Altman -Date: Sun Aug 21 00:37:34 2011 -0400 - - Windows: do not drop lock unnecessarily - - do not drop cm_serverLock for a cm_PutServer call since - it will only reacquire it. use cm_PutServerNoLock() instead. - - Change-Id: I0e22f8d547a8fa0067cfc918f578b8fe11cc781a - Reviewed-on: http://gerrit.openafs.org/5302 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bca64c70467afd00ca02290a4236bc295ec4633c -Author: Jeffrey Altman -Date: Sun Aug 21 00:36:44 2011 -0400 - - Windows: cm_serverLock read required not write - - Change-Id: I9e804ddd7de824b2f5ce880e52c08bff6b0615e7 - Reviewed-on: http://gerrit.openafs.org/5301 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b2c1313f2f39ffff22a2a991dcb01428f118a3c7 -Author: Jeffrey Altman -Date: Thu Aug 18 21:58:50 2011 -0400 - - Windows: Be more efficient when processing locks - - Do not drop the cm_scacheLock only to reacquire it a few lines - later. - - Do not manually set the tail of the queue when osi_RemoveHT - does it for us. - - Change-Id: I61b2e54a4864760d257dfcd2841c2c15f1ee41fe - Reviewed-on: http://gerrit.openafs.org/5300 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a576ff1e53a539e88b9f3fa6b8132d4f161b0bd4 -Author: Jeffrey Altman -Date: Thu Aug 18 21:57:12 2011 -0400 - - Windows: be explicit when mapping sharing violation - - Only one lock acquistion failure should be mapping to - CM_ERROR_SHARING_VIOLATION. That is CM_ERROR_LOCK_NOT_GRANTED. - Make it clear that is what we are doing. - - Change-Id: Ic1933a989a4e8c95a1417679e9bc7cbc4e14dd12 - Reviewed-on: http://gerrit.openafs.org/5299 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a6138b412d3b4197b22ca7fb63d8cdc9671ef67c -Author: Jeffrey Altman -Date: Thu Aug 18 21:53:45 2011 -0400 - - Windows: Track file server lock count - - The fsLockCount field is the lock count reported by the - file server as part of the status info. Lock acquisition - and releasing does not obtain new status info but we can - estimate what the lock count is by tracking it ourselves - for each of our successful RXAFS_SetLock and RXAFS_ReleaseLock - RPCs and failed RXAFS_ExtendLock RPCs. - - Change-Id: Ib5dc5853d82a1292e848bf67d4d9932485177d91 - Reviewed-on: http://gerrit.openafs.org/5298 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ae87a1aff2a99841701c1e8a7a0dbb699ea14102 -Author: Jeffrey Altman -Date: Mon Aug 22 21:12:25 2011 -0400 - - Windows: remove signed/unsigned mismatch cm_aclent.c - - Change-Id: I6cf41410d84b96d2fbe9fd8f1602a7aaa2c1797d - Reviewed-on: http://gerrit.openafs.org/5297 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 21acdd92c8510a9f99243588388a2a1078547533 -Author: Jeffrey Altman -Date: Tue Aug 9 14:26:33 2011 -0400 - - Windows: avoid duplicate volume update queries - - If multiple volume update queries have stacked up in - cm_UpdateVolumeLocation() and the active query failed, - do not re-issued the blocked queries. Instead, prevent new - queries for 60 seconds and fail those that blocked during - the active query. - - Change-Id: Ic3f55ae08da36900fc8c7a89b6487ae53f381eb3 - Reviewed-on: http://gerrit.openafs.org/5296 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0fb2e3a6dbfdf91bcf1591e454a00171792b7a38 -Author: Marc Dionne -Date: Sun Aug 21 12:02:29 2011 -0400 - - dir: verified pathnames fallout - - Fix some issues introduced with the verified directory path names - commit in master: - - In GetVerifiedBlob, the output parameter is set to NULL on entry - and dereferenced later on. - - For Linux, the code in afs_linux_readdir was changed to pass a - DirEntry to GetVerifiedBlob. This is incorrect, the function still - expects a DirBuffer pointer. - - In afs_dir_IsEmpty, the assignment of ep was removed, leaving - the function to dereference this pointer which was never set. - - Change-Id: I9045076ebe636cf68c19487c0d58baebf2de7dd1 - Reviewed-on: http://gerrit.openafs.org/5292 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9581821a4599e1ba871360dcf8503e13eb6516b6 -Author: chas williams - CONTRACTOR -Date: Sat Aug 13 11:01:28 2011 -0400 - - pod: use /OPTIONS when referring to the local OPTIONS section - - Change-Id: I889e3a89f5cc68b816a822b6a23db30ac6fe2357 - Reviewed-on: http://gerrit.openafs.org/5257 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 85bb872e3df6b6f54764d90996bc52904ccd4385 -Author: chas williams - CONTRACTOR -Date: Sat Aug 13 10:18:45 2011 -0400 - - doc: generate admin ref from the pod documentation - - a bit convoluted but this generates docbook from the pod documentation and - from that pdf, epub and mobi versions. we are using variablelist.as.block - since that looks prettier on smaller devices/screen. - - Change-Id: I5cd51ef10448373960a0aeed15212bbcf6f44039 - Change-Id: Ib222dbfa30e3af644b1dbc6738df1d39cc33c92f - Reviewed-on: http://gerrit.openafs.org/5255 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0754537c11f034966c79ebd2330e1155c736badf -Author: Russ Allbery -Date: Sun Jul 24 16:20:05 2011 -0700 - - Don't fail to build documentation if kindlegen doesn't exist - - Check for kindlegen in configure and do nothing in the MOBI build - rule if the binary didn't exist. - - This is still a bit of a hack since the rule will run with every - invocation of make. The target needs to be made conditional. But - at least this way make all in the documentation directory doesn't - fail. - - Change-Id: I57f158929b3907678b9848a60edb9765136f7dbb - Reviewed-on: http://gerrit.openafs.org/5090 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit add66023a05bf9a380eef34bd4fcc80d343fffad -Author: Jeffrey Altman -Date: Mon Aug 22 09:00:47 2011 -0400 - - Windows: avoid cm_serverLock refcount leak - - Change-Id: I4e46750de130557b7d4779f83029b69bc28eaf4b - Reviewed-on: http://gerrit.openafs.org/5293 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5836464f454f0bb4612c665d27061956d4c745af -Author: Garrett Wollman -Date: Sat Aug 13 18:34:47 2011 -0400 - - libafs: don't crash if afs_write() is called with zero-length uio - - If AFS_UIO_RESID(auio) is zero in afs_write(), we could end up - calling afsio_free(NULL). Guard the free. (In the alternative, - perhaps we should just osi_Assert(totalLength > 0) instead?) - - Change-Id: Ic218f039e2034b679cb4817a543af2e8307f36f8 - Found-by: clang static analyzer with the help of AFS_NONNULL - Reviewed-on: http://gerrit.openafs.org/5259 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 259eaa99155921c42888fce8c6c398252bd3b937 -Author: Jeffrey Altman -Date: Tue Aug 16 10:49:46 2011 -0400 - - Windows: torture test updates - - roken'ize - - remove dead code - - Change-Id: Id556ded4b3340fac1d58b5407f82d394ab1d18b2 - Reviewed-on: http://gerrit.openafs.org/5290 - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 361cf11db36db2fc94c7e4961061423fb13e4cf8 -Author: Russ Allbery -Date: Mon Aug 15 20:20:31 2011 -0700 - - Add NEWS entries for the 1.6.0 final release - - The date will be slightly off from when it will be officially announced, - but it should be close enough. - - Change-Id: Icb678bd2da148f59546f5e3d5cfda0251e76bdca - Reviewed-on: http://gerrit.openafs.org/5287 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bec9c12859a22efadb657e7b3995af00fcf91b83 -Author: Russ Allbery -Date: Sun Jul 24 16:22:35 2011 -0700 - - Prefer dblatex to docbook2pdf - - docbook2pdf, at least in version 0.6.14-1.1 in Debian, dies while - attempting to build the Admin Guide with an error about TeX capacity - exceeded. dblatex seems to work reliably. If both are installed, - prefer dblatex to docbook2pdf. - - Change-Id: I7cf594c677cde84410bfefacf07cbbf398026ff3 - Reviewed-on: http://gerrit.openafs.org/5091 - Reviewed-by: Derrick Brashear - Tested-by: Russ Allbery - -commit ad6e19331e4f3ec6566dc224f1e1c943a69c62bb -Author: Derrick Brashear -Date: Mon Aug 15 12:17:06 2011 -0400 - - macos: fix race in afs_root - - same race on PutVCache in afs_root as we had on other platforms, - for instance FreeBSD. use a local variable instead to avoid the race. - additionally, make sure we end up with the root flagged VROOT. - - Change-Id: I45ac36f12565320576070fd1c6d1f99ac6db8a63 - Reviewed-on: http://gerrit.openafs.org/5278 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit b88c0482f445e11d82804fba08e42944b7253200 -Author: Simon Wilkinson -Date: Mon Aug 15 10:25:27 2011 +0100 - - rpm: Update CellServDB - - The commit (a5d66d05fa0308d505de8bde59442e29be9d04f8) which updated - our in-tree copies of the CellServDB for the 14th August release - failed to update the copy that's referenced from the rpm spec file. - Update the filename used here so that rpms also get to have an - up to date CellServDB - - Change-Id: I2906b0515a1c91f3ea6eb51ec3dcd161675e8060 - Reviewed-on: http://gerrit.openafs.org/5285 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1a0b99e654831fe28794f8e0cec2ab94f07ec965 -Author: Jeffrey Altman -Date: Mon Aug 15 00:37:31 2011 -0400 - - Windows: add assertions to cm_scache.c - - Change-Id: If9a47c3b1507b5b4aa9c271204ff496c5b0a88a0 - Reviewed-on: http://gerrit.openafs.org/5280 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c58ae34f72d25434cd59228806ca59a6ff39a903 -Author: Jeffrey Altman -Date: Mon Aug 15 00:34:00 2011 -0400 - - Windows: cm_ShutdownSCache corrections - - Obtain cm_scache.dirlock, cm_scache.rw and cm_scacheLock - in the correct order. - - Do not release cm_scache.rw when it is not held. - - Since the cm_scacheLock is being dropped, preserve the value - of scp->allNextp prior to dropping the lock. - - Change-Id: I025a8d76f3f7b94ae00bfd4e000750a90d38b343 - Reviewed-on: http://gerrit.openafs.org/5279 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 020b415be8fa357cded6eb4c50454aaa5b0722bf -Author: Jeffrey Altman -Date: Mon Aug 15 00:23:57 2011 -0400 - - Windows: Save Wix config at start if possible - - Save the current configuration at the start of the install - process so the user can be presented with a dialog prior - to installation asking whether the existing or saved - configuration should be used or whether a new configuration - should be created. - - Change-Id: I4a42ad597a7e1806bbae6d63bf1a2db365e6be8e - Reviewed-on: http://gerrit.openafs.org/5281 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 73b91bf0c0a86e55d6879573aeadd99a137ebf3b -Author: Jeffrey Altman -Date: Sun Aug 14 21:41:47 2011 -0400 - - Windows: More interlocked ops for cm_cell flags - - Change-Id: I9e5cae6152439af75a9baf85900117ca9b456f40 - Reviewed-on: http://gerrit.openafs.org/5274 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f75214282795b23c433b2512b00d24b3e6166b76 -Author: Jeffrey Altman -Date: Sun Aug 14 21:41:19 2011 -0400 - - Windows: Interlocked ops for cm_user flags - - Change-Id: I64932b0d15b439614b6bbba0ba875eacb1260832 - Reviewed-on: http://gerrit.openafs.org/5273 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a5d66d05fa0308d505de8bde59442e29be9d04f8 -Author: GCO Public CellServDB -Date: Sun Aug 14 18:43:08 2011 -0400 - - CellServDB update 14 Aug 2011 - - Change-Id: I2b18a59001c4a5fe041e977ee0321cfafb22fa91 - Reviewed-on: http://gerrit.openafs.org/5270 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b97383c1e68a0b94baa8d05b2ab2531f96e7b63c -Author: Jeffrey Altman -Date: Sun Aug 14 18:15:24 2011 -0400 - - Windows: cm_FindServerByUuid correct lock acquisition - - Obtain cm_serverLock when 'locked' is FALSE instead - of when TRUE. - - Change-Id: I427fa849ff34734a2dd11d06f42bc709bb70a74e - Reviewed-on: http://gerrit.openafs.org/5268 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c20010850e2b43a0b9a6d74357ea6111dbf3409e -Author: Jeffrey Altman -Date: Sun Aug 14 00:14:10 2011 -0400 - - Windows: prevent cm_server races - - Use interlocked operations to modified the flags field. - - Close a race in cm_NewServer() which can result in multiple - cm_server objecs being created for the same addr/port/type - tuple. - - Change-Id: Ia26e21e1f007875ce316d2ae45a1fbf6fed835f9 - Reviewed-on: http://gerrit.openafs.org/5266 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 10d27341808be41b29fbcc09b8bd7523c3b7a541 -Author: Garrett Wollman -Date: Sat Aug 13 18:51:02 2011 -0400 - - libafs: don't call afs_PutDCache(NULL) in afs_GetDownD() - - It's possible for an eviction candidate to be omitted by the small - for loop (around line 670), leaving its reference in victimDCs - set to NULL. In the big for loop that follows, don't call - afs_PutDCache() when we hit one. - - Change-Id: Ib0891636a3479bf97cdeab823189e659cb261aa6 - Found-by: clang static analyzer with help from AFS_NONNULL - Reviewed-on: http://gerrit.openafs.org/5260 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5c0e92a159f11366a88adab4700e3f909124a06a -Author: Garrett Wollman -Date: Sat Aug 13 19:01:26 2011 -0400 - - libafs: don't free a null pointer in an unlikely error condition - - It is extremely unlikely that we will ever fail to allocate two - bytes in SRXAFSCB_GetCellServDB() to hold the empty-string return - value for the case where the specified cell can't be found. But - that would result in freeing a null pointer, so check for it. - - Change-Id: I47a296148e231b0ef20ecd18b8458b912f22a58c - Found-by: clang static analyzer with the help of AFS_NONNULL - Reviewed-on: http://gerrit.openafs.org/5261 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ee56107d4d168ef07968afeaa7f1c5b39f5c5b23 -Author: Garrett Wollman -Date: Sat Aug 13 19:12:50 2011 -0400 - - libafs: don't free the NULL we get from a failed allocation - - In extractPioctlToken(), if we fail to allocate space for - token_opaque_val, don't immediately pass the null pointer - to osi_Free on the error exit path. - - Change-Id: Ic95e178cfbc1b1bbcb18701c0bbd5221426342ee - Found-by: clang static analyzer with help from AFS_NONNULL - Reviewed-on: http://gerrit.openafs.org/5262 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5b40c5f5294964fc09df2c8332ab63cd2d729264 -Author: Jeffrey Altman -Date: Sat Aug 13 14:35:53 2011 -0400 - - Windows: Insert Server Reference List changes - - When inserting a new cm_serverRef_t object into a server list - perform the following operations: - - 1. take advantage of the fact that the cm_serverLock is held - exclusively to purge the list of any deleted entries that - could not be removed previously. - - 2. check to ensure that the item that is being added does not - already exist in the list. If it does, discard it. - - Change-Id: Ibabfc3b2e1b716f2a0cc664a4667bc9219fde09c - Reviewed-on: http://gerrit.openafs.org/5258 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 8f446c7463c9183d59a30343682e31ad9f85b307 -Author: Jeffrey Altman -Date: Fri Aug 12 19:02:48 2011 -0400 - - Windows: Fix cm_serverRef ref counts - - Use Interlocked operations consistently - - Simplify cm_ServerInsertList(). It no longer increments the - refCount on the serverRef object. Instead it leaves the refCount - as is. Its the caller's responsibility to add a reference if - required. - - Add reference counts and hold locks in places where the - volume server list was used unprotected. - - Change-Id: Ie65cdca4461e84c675e8a29e22cef3e15679fda7 - Reviewed-on: http://gerrit.openafs.org/5248 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 578db3bbecf218e3ab80f4896b7cde4d3975daaa -Author: Jeffrey Altman -Date: Fri Aug 12 19:01:56 2011 -0400 - - Windows: remove unused variables in fs.c - - Change-Id: Ie0f21b84266d77d0c92244d5c8a6958d9bfe7e71 - Reviewed-on: http://gerrit.openafs.org/5247 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 145a8490c761a0ebf7b3a1cc3017bbe8635f8014 -Author: Derrick Brashear -Date: Fri Aug 12 16:54:03 2011 -0400 - - aklog: attempt to warn about needed weak crypto switch for Lion - - Lion's Kerberos is rather unfortunate. deal with the multitude of - missing functionalities by hardcoding this case here. - - Change-Id: I95f9136cecb476f70fe694847a518eabd2d1ef44 - Reviewed-on: http://gerrit.openafs.org/5240 - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ef3ef1992115e6b61a7859fa2295726af0fb9318 -Author: Derrick Brashear -Date: Fri Aug 12 18:25:24 2011 -0400 - - redhat: update dkms config - - make the dkms config properly name the version. remove no-longer-needed - disconnected option for configure - - FIXES 130170 - - Change-Id: Id71d46381c8fbade3ea72c581911447fe6ade395 - Reviewed-on: http://gerrit.openafs.org/5246 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bb25bdfcb059fc54a57fd4733ce3184e231ca88d -Author: Simon Wilkinson -Date: Sat Jul 16 22:59:12 2011 +0100 - - dir: Protect against circular hash chains - - The dir package didn't protect against circular hash chains when - performing directory lookups. A corrupt directory could therefore - cause a client or a fileserver to go into an endless loop if that - directory contained a loop in its hash chain pointers. - - Fix this by exiting the lookup if the hash chain has more elements - than the total number of entries in a directory. This maximum number - of entries is taken as being (number of entries per page) * (max - number of pages), which is considerably more than the real maximum - value. - - Change-Id: I9e281571f3b01bd8de346ee5418df38b2f5edaa1 - Reviewed-on: http://gerrit.openafs.org/5242 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d1946ffe9be0031a2daf907f5e96cf0ee7f5e15e -Author: Simon Wilkinson -Date: Sat Jul 16 22:57:55 2011 +0100 - - libafs/dir: Verify directory pathnames - - Provide a new routine, afs_dir_GetVerifiedBlob() which will ensure - that the pathname contained within a directory blob is correctly - terminated before returning it to the caller. For the purposes of this - function, correct termination is defined as having a terminating - \0 character within the same directory page as the blob itself. - - Change-Id: I4b3bbb95cb49645a8ac52e6061f9e24f89924831 - Reviewed-on: http://gerrit.openafs.org/5241 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6f725c441529ccd1616adeda19c7c0b43dcfd9cb -Author: Jeffrey Altman -Date: Fri Aug 12 16:30:26 2011 -0400 - - Windows: ChangeLog for 1.6.0 (final) - - Change-Id: Idd457c7ea4617f9d698d07359f750df25bab4c7c - Reviewed-on: http://gerrit.openafs.org/5239 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e3148c6bfad25fdcb86b7248bd6b05432502d4ce -Author: Garrett Wollman -Date: Fri Aug 12 00:39:54 2011 -0400 - - FBSD: coalesce three assignments to the same variable - - Change-Id: Iadc9652c03a2d3453addab759c9f8f0048929e2b - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5233 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cbdca2996af06c57cb3ba953c1efb9e316d18f27 -Author: Michael Meffie -Date: Fri Aug 12 08:25:30 2011 -0400 - - volser: log host address of caller in extra logging - - When the volserver is running with extra logging (-log), - log the address of the host running vos in addition - to the user name. - - Change-Id: I040be71a84dede255e43c30dd7d8ae56f767f721 - Reviewed-on: http://gerrit.openafs.org/5234 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit a3b4cd3c7325c7878ec7b47008f0eec8bfcb1175 -Author: Derrick Brashear -Date: Thu Aug 11 11:11:01 2011 -0400 - - viced: avoid aborting on host table exhaustion - - if we exhaust the host table, instead of aborting, return VBUSY at - the client, to defer until hopefully hosts are freed. - - Change-Id: Ie8b026992bdde1b46117e6f592f9cf0ea4c85a7e - Reviewed-on: http://gerrit.openafs.org/5181 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8a25d1a1de4a27c87c193ea9588424d56ceed413 -Author: Garrett Wollman -Date: Wed Aug 10 23:20:57 2011 -0400 - - rx: make queue macros easier to follow - - Nothing depends on the queue-manipulation macros having the expression - nature, so make them proper statements and unpack the comma-expressions - to make it easier to read and understand how they work. This should - not change the object code. - - Change-Id: Icf14537f902768429aa27f67f8acfe39ac996214 - Reviewed-on: http://gerrit.openafs.org/5200 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit d18ff03b59cf26423795f735decdcaf13097c446 -Author: Derrick Brashear -Date: Thu Aug 11 10:43:16 2011 -0400 - - macos: axe static vfs_fsentry - - for whatever reason, lion 32 bit doesn't like it when this is static. - fine, so it's not static now. - - Change-Id: Ia9fe6d96615c7fa816f4a88b794faa6ee7e1d010 - Reviewed-on: http://gerrit.openafs.org/5206 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 7ab34058120ebcc218e4061ea3ac3c8eeca6d83e -Author: Jeffrey Altman -Date: Wed Aug 10 16:40:35 2011 -0400 - - Windows: Interlocked operations for cm_buf - - cm_buf flags and qFlags - - Separate flags and qFlags in the cm_buf structure to improve - performance. - - Change-Id: I3d9504827cb74f8770e344cea1c06a6e786785b3 - Reviewed-on: http://gerrit.openafs.org/5197 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4876a416d2e59e87f9da8834db1ea4770f2c618c -Author: Jeffrey Altman -Date: Wed Aug 10 11:42:59 2011 -0400 - - Windows: Interlocked for cm_buf cmFlags - - Change-Id: I7ed2847afdcbc94c9023c6686d3c81f7863d7f61 - Reviewed-on: http://gerrit.openafs.org/5196 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8661c9b6710322195b00de6ae03b3172712104aa -Author: Jeffrey Altman -Date: Wed Aug 10 12:02:20 2011 -0400 - - Windows: fix tptserver director creation - - Change-Id: Ifc2433068e1811633f4ac80d3b4a2a9d16226f16 - Reviewed-on: http://gerrit.openafs.org/5195 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cbd075a36000d0b54b64eb7d9736587b27a08e9e -Author: Jeffrey Altman -Date: Wed Aug 10 11:41:21 2011 -0400 - - Windows: Interlocked ops for cm_volume - - Use Interlocked operations for protection of cm_volume flags and - qFlags as well as cm_vol_state flags. - - Change-Id: I1a062a5c49d793162b83b9f4f3c32185ae596369 - Reviewed-on: http://gerrit.openafs.org/5194 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 75297d4439bb30ddd9968805aecf2cc2812bfdf0 -Author: Jeffrey Altman -Date: Wed Aug 10 11:40:35 2011 -0400 - - Windows: Interlocked ops for cm_scache - - Use Interlocked operations for cm_scache flags and mask field - changes. - - Change-Id: Ice87dc5de395b54e7e30e362d2e72caa9062120e - Reviewed-on: http://gerrit.openafs.org/5193 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit deb8c893c2bd78b2871ccf1ff733539534a2890e -Author: Jeffrey Altman -Date: Wed Aug 10 11:37:51 2011 -0400 - - Windows: Interlocked ops for cm_cell - - Use Interlocked operations for cm_cell flag updates. - - Change-Id: I45c0a39ea935db2c231a30ecb02963f35b6d734c - Reviewed-on: http://gerrit.openafs.org/5192 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ec1295d11b5e75fa942fe8c3a0f16309c5486ed4 -Author: Jeffrey Altman -Date: Tue Aug 9 17:25:50 2011 -0400 - - Windows: implement InterlockedAnd/Or for X86 Debug - - Change-Id: I56b3f9534daf0cd152eeea293b1a357d062b9166 - Reviewed-on: http://gerrit.openafs.org/5191 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3993b215afe8b5b44baee4f60d1e75d419a90448 -Author: Jeffrey Altman -Date: Tue Aug 9 17:25:22 2011 -0400 - - Windows: correct prototype for ChangeList fs_acl.h - - Change-Id: I63e3b37bd4348da0789dfa78599e513753f34a62 - Reviewed-on: http://gerrit.openafs.org/5190 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6691ff6daceb7960dc925983a2b9129877e67c9a -Author: Jeffrey Altman -Date: Sun Aug 7 14:11:17 2011 -0400 - - Windows: make osi_Log macro safe for if..else - - wrap the osi_Log macro's internal if statement with - a do {...} while(0) block in order to ensure that - it is safe for use in if..else controls without bracing. - - Change-Id: Ica7bb95dfb1c0285a925771a9b659f85ec0e075f - Reviewed-on: http://gerrit.openafs.org/5189 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 833010acac069c97f59c527e23eaa4b71ff18981 -Author: Garrett Wollman -Date: Wed Aug 10 21:21:40 2011 -0400 - - stds.h: __nonnull__ has four underscores - - Compile-testing AFS_NONNULL doesn't prove anything until something - actually uses it. Fix 342be3535499c5ecd7d34b4edd43a4655559cb28 - to use the spelling that the compilers actually support. - - Change-Id: I4a6b965d459a90a1832f2e813e886c15d3477962 - Reviewed-on: http://gerrit.openafs.org/5198 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e8607d8d250fb41fcf4e60a09917f971c4d6104a -Author: Derrick Brashear -Date: Wed Aug 10 09:39:23 2011 -0400 - - macos: reset next vcache pointer after reacquiring xvcache - - dropping the xvcache lock means that things can change out from under - us. in case they do, reset the next vcache pointer before looping - - Change-Id: I71be39a2f2986804257c50b1d5b7d557b58a3573 - Reviewed-on: http://gerrit.openafs.org/5184 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7d0cd1393ff5c69cba2f14fc76aa8f7ca588ccc3 -Author: Garrett Wollman -Date: Wed Aug 10 00:18:28 2011 -0400 - - FBSD: catch up with the disappearance of VOP_GETVOBJECT - - The vnode operation VOP_GETVOBJECT disappeared in FreeBSD 6.0, an - embarrassingly long time ago. Six years ago, a kluge was added - to emulate its behavior, but it did not correctly emulate the - return value of the old VOP implementation. As a result, - osi_VM_StoreAllSegments() could never actually do anything. Since we - don't support FreeBSD before 8.0, remove all references to VOP_GETVOBJECT - and examine vp->v_object directly instead. - - This has the result that osi_VM_StoreAllSegments() will actually do - something now, which may not be desirable. (Previously, if somehow - the vnode had no associated VM object, it would crash, and otherwise - it would do nothing at all.) - - Change-Id: Ifdad92ae8e393e85c3f97907af7119ce342b25dd - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5183 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 342be3535499c5ecd7d34b4edd43a4655559cb28 -Author: Garrett Wollman -Date: Tue Aug 9 23:50:09 2011 -0400 - - stds.h: introduce AFS_NONNULL - - AFS_NONNULL wraps the GCC/Clang function attribute __nonnull__, which - tells the compiler and the static analyzer that the pointer arguments - to a function (or specific ones, if provided) cannot be null. Note - that GCC has only limited support for warning about violations of these - constraints. - - Usage examples: - int myfunc(struct foo *a, bar_t, struct baz *c) AFS_NONNULL((1)); - - tells the compiler that the first argument cannot be null (but the - third one can). - - int myfunc2(struct foo *a, bar_t, struct baz *c) AFS_NONNULL(); - - tells the compiler that both pointer arguments cannot be null. - - Change-Id: Id81f0c382a6a3bdd9bf9c716eb4091b433129d69 - Suggested-by: Simon Wilkinson, comment on change Ic8751737 (#5180) - Reviewed-on: http://gerrit.openafs.org/5182 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2cd9d0536b173bf8c983aecd8599de0a82610151 -Author: Andrew Deason -Date: Wed Aug 10 10:23:40 2011 -0500 - - volinfo: Include nfs.h - - nfs.h is required for various types used in vol-info.c. Include it. On - namei this header gets pulled in indirectly via other means, but on - inode it does not (and we shouldn't be relying on such anyway). - - Change-Id: If917f8c3b0382572d2146450116399498257ffc7 - Reviewed-on: http://gerrit.openafs.org/5185 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit a868209c4a9009893044ad33870a9e120085f5ce -Author: Simon Wilkinson -Date: Sun Jul 31 15:14:00 2011 +0100 - - aklog: Add -config option - - Add the -config option to aklog so that a different configuration - directory location can be specified on the command line for testing - purposes. - - Change-Id: Ic5f8d778304a43c823e53bf1855a3e6bf426f80c - Reviewed-on: http://gerrit.openafs.org/5170 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8b60082c1f31f2aa02107e509f161e4e79ea5daa -Author: Simon Wilkinson -Date: Wed Jul 27 11:30:51 2011 +0100 - - pts: Add the -config option - - Add the -config option to all pts commands, so that the user can set - the location of the configuration directory to use. This is primarily - provided for testing purposes, to make it simpler to build fake AFS - cells with configuration in non-standard locations. - - Change-Id: I90c9c95cbf99b3853bfbe93dab1ab71c3ae7e228 - Reviewed-on: http://gerrit.openafs.org/5103 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 784a410d0f1d6b5649c5b4943eb1b945ef7d70e8 -Author: Marc Dionne -Date: Mon Aug 8 16:08:25 2011 -0400 - - venus depends on libafsauthent - - Add an explicit dependency on libafsauthent for src/venus, since it - is needed to build afsio. This can cause parallel builds to fail. - - Change-Id: Ifda59983cda0711e9e1568d5a6be25e6ea934eee - Reviewed-on: http://gerrit.openafs.org/5171 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d28188382b40055acf7096ef89d5507194a3b8b6 -Author: Marc Dionne -Date: Mon Aug 8 17:08:34 2011 -0400 - - pam: fix unused but set warnings - - Fix a few cases of set but unused variables. - - Change-Id: I0a3e0906dbc708e2449121f3de1726d7055efc27 - Reviewed-on: http://gerrit.openafs.org/5173 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 4b4a52b31406d122ce3e542d3a9d9941dd803576 -Author: Marc Dionne -Date: Mon Aug 8 16:51:53 2011 -0400 - - volser: flag unused variable - - nearInode can be unused, flag it as such to prevent warnings and - keep enable_checking happy. - - Change-Id: Ic79d101380b79c3c3d90c4c4f949abe7c3f476ff - Reviewed-on: http://gerrit.openafs.org/5172 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit bf4b2fd3e26dcf2a0db704815e05d77a558d38c6 -Author: Garrett Wollman -Date: Mon Aug 8 23:26:38 2011 -0400 - - bos: don't dereference a null pointer when printing an error message - - The parameter we are interested in is at MRAFS_OFFSET + 17, not - MRAFS_OFFSET + 13. - - Change-Id: Ib856ff40c5949cde95a2b277cd44253b87c3c2a4 - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5178 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 7fe4125fe3435092b75ed29b884d8d3c2d1a2cad -Author: Garrett Wollman -Date: Mon Aug 8 23:19:22 2011 -0400 - - dir/vol: Die() really does - - Die() is an abort routine shared by the dir and vol modules. Move its - prototype into dir.h to ensure that its declaration matches its three - different definitions, and add an AFS_NORETURN annotation so that the - static analyzer knows that it aborts. - - Change-Id: If01f35fe796708f6187b9767497a32458888ec1c - Reviewed-on: http://gerrit.openafs.org/5177 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 9b0f53b2bf61e7532d95391ae553b407a601e814 -Author: Garrett Wollman -Date: Mon Aug 8 22:49:24 2011 -0400 - - vos: eliminate unnecessary global variables - - tserver is used by three different functions but not shared by them; - make it private to each one to improve static analysis. tconn is - not used by anything, so just delete it. - - Change-Id: Ic9fc4add66dbbb02170846154e44d261dcc6b061 - Reviewed-on: http://gerrit.openafs.org/5176 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 292b375e392c6d3443d486e654a88bc4b4502cb2 -Author: Garrett Wollman -Date: Mon Aug 8 21:41:57 2011 -0400 - - volser: let it be known that Abort() really aborts - - The compiler and static checkers can do a better job if they know that - certain functions never return. Tell it that common.c:Abort() is such - a function. While we're at it, let volser_internal.h provide the - declarations for this function (Log() was already there). This makes - volser parallel to the way the same functions are declared in vol. - - Change-Id: I8b684bf96866edfc9edaae126d789d245a8d2356 - Reviewed-on: http://gerrit.openafs.org/5175 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit ae6a3929489035ddcd17785abab8900cebd22eb3 -Author: Garrett Wollman -Date: Mon Aug 8 21:18:15 2011 -0400 - - kdb: don't dereference a null pointer on corrupt database - - When iterating through the database, kdb would dereference a - null pointer if it encountered an error retrieving the value - or if the value was not the right length, in code that was clearly - cut-and-pasted from the other branch of an "if" statement where a - specific entry was requested on the command line. Print the name - of the entry with the problem as was apparently intended. - - Change-Id: Idc2d3c9b6049e5d3b0eb302353a68bcfdad6a90d - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5174 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 90ea68979c6740583747d0af500ed4a034eba651 -Author: Garrett Wollman -Date: Sun Aug 7 00:35:36 2011 -0400 - - afsd: look in the right place for -splitcache argument - - The argument to -splitcache is in as->parms[34], not [30]. - - Change-Id: I4d7be16a1ad99a03025c80f9782c4f678da868ae - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5169 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 8776f194173bf688da9982845303c98da458fa3f -Author: Garrett Wollman -Date: Sun Aug 7 00:09:33 2011 -0400 - - afs_pioctl: don't use cell uninitialized in PGetTokens2 - - An unlikely error condition could lead to the variable cell in - PGetTokens2 being passed uninitialized to afs_PutCell. Initialize - it to NULL beforehand to avoid this. - - Change-Id: Ia8ded86df9d8af2f08c02d39749252d98a6c9ffe - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5168 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 43834bff1a2b1af348ff69d538a884bf1070b90c -Author: Garrett Wollman -Date: Sat Aug 6 23:55:50 2011 -0400 - - butc: avoid freeing uninitialized pointer in writeDbDump() - - In error conditions, charList could be freed before it is initialized. - Move the initialization up to before the error checks. - - Change-Id: I678f40552590e238f494507f7410233cdbb949ac - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5167 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 1fc4c9dbe2b1ba11929a5e5106afda5969e6fa7c -Author: Derrick Brashear -Date: Wed Aug 3 13:05:27 2011 -0400 - - pam: stop building it wrong - - in the new lwp/pthread/shared universe, well, we have the - opportunity to be correct. and we chose to do it entirely wrong. - we're building a shared object. use the right rules. we need - to add some CFLAGS for PAM. do that using MODULE_CFLAGS instead - of just building a whole new CCRULE - - Change-Id: Ie3e3c5ba902e5364cfa99d4dbd1b5b7fd4451127 - Reviewed-on: http://gerrit.openafs.org/5153 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3d84c065fbf893d753bcd8da1211be536b07e29d -Author: Derrick Brashear -Date: Wed Aug 3 13:56:08 2011 -0400 - - pam: clean up unused variables and prototyping - - don't define variables on platforms we won't use them on - do prototype functions we call. basically, we compile with warnings - enabled now, so, fix everything so we *can*. - - Change-Id: I749f27c227ac70c58ccc68f1548f8274f10e3587 - Reviewed-on: http://gerrit.openafs.org/5154 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 496fb87372555f6acddd4fd88b03c94c85f48511 -Author: Derrick Brashear -Date: Mon Aug 1 16:38:46 2011 -0400 - - rx: avoid nat ping until connection is attached - - drop nat pings on connections we haven't talked on yet - - Change-Id: Ie333d50a090f1f086c958440cc37849413442dea - Reviewed-on: http://gerrit.openafs.org/5130 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit c92f04af6094ce04b1541a1b23b254d3c1421290 -Author: Garrett Wollman -Date: Sat Aug 6 23:49:10 2011 -0400 - - butc: avoid testing stack garbage; remove dead initializer - - "code" is unconditionally set early in saveDbToTape() so there's - no need to initialize it. On the other hand, dumpEntry.id is used - before dumpEntry is initialized, so set it to what appears to be - the expected value before any non-local exits could cause it to be - inspected. - - Change-Id: I133f8e84e46d0faedf3c9683330d92158bcd8935 - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5166 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 34cc26a1b11bc8cf8f91996a019ac4b7d21dccd8 -Author: Garrett Wollman -Date: Sat Aug 6 23:36:14 2011 -0400 - - butc: initialize startTime before it is used - - In some unusual error situations, startTime may be used uninitialized. - Move the initialization up above the first such error condition. - (None of the intervening code can take measurably long to execute - so this should not make any difference in the non-error case.) - - Change-Id: I25bf7a5e149540593febec79f9f5111434807514 - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5165 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 619b420903c99e48618db0d2f12085111573f279 -Author: Garrett Wollman -Date: Sat Aug 6 23:15:14 2011 -0400 - - vos: don't free stack garbage on error - - If wantExtendedInfo is true, then pntr is used uninitialized. - In the other case, UV_ListVolumes will have set it to NULL - before doing anything (even if it returns an error), so this - free() is dead anyway. - - Change-Id: I6979a69d33ecbbdb906eb9a075bbf13180e36646 - Found-by: clang static analyzer - Reviewed-on: http://gerrit.openafs.org/5164 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 55beacdc385424770c78cf055e8fd426075506f1 -Author: Simon Wilkinson -Date: Wed Aug 3 19:08:20 2011 +0100 - - libafsauthent: Add volser and vldb - - Add the volser and vldb families of functions to libafsauthent. This - allows applications such as per-AFS which are building pthreaded clients - to use a single library, rather than trying to mix LWP and pthreaded - code within the same process. - - Change-Id: I3682876e91ca03311a798ac71e3a7a28f3205d42 - Reviewed-on: http://gerrit.openafs.org/5157 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 400c72561e7622716a46a38affd2f5a7842519eb -Author: Simon Wilkinson -Date: Wed Aug 3 18:45:01 2011 +0100 - - volser doesn't depend on tviced, but on vlserver - - Nothing within the volser/ directory depends on tviced, so remove the - unecessary dependency. Add an explicit dependency on vlserver, so that - libvldb is available to us. - - This is required to get rid of some potential circular loops when we - start including volser objects in libafsauthent - - Change-Id: Ibb6b8fb87dfe6e9eb4fa6d1dde195fd5261a8959 - Reviewed-on: http://gerrit.openafs.org/5156 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0246f6e9683fb9e51d0fb0633049ff0125468b2b -Author: Jeffrey Altman -Date: Thu Aug 4 22:50:03 2011 -0400 - - Windows: symlink make should translate \\afs target - - If the target is a UNC path beginning with the AFS netbios name, - convert the path to use Unix /afs mountpoint notation. - - Change-Id: I01e01b70938f8eb383fd3e7458a140d9e89dd237 - Reviewed-on: http://gerrit.openafs.org/5162 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c5126838590eaf15e0df569c31b2a1bc12b3e0af -Author: Jeffrey Altman -Date: Thu Aug 4 17:25:01 2011 -0400 - - Windows: adjust scache LRU postion upon deletion - - If the object represented by a scache object is deleted, - update the LRU position of the scache object to make it - the first object in the LRU queue to be recycled. This - preserves the cached objects for those that might prove - useful in the future. - - Change-Id: I0e862b1270e10c31f20ecde06d208f4b8c405c3a - Reviewed-on: http://gerrit.openafs.org/5161 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4e42d6fd18097d0c8d2e4b455d3c540743d7dbda -Author: Jeffrey Altman -Date: Thu Aug 4 17:21:59 2011 -0400 - - Windows: fix condition calls to osi_Log - - The osi_Log macro is if(foo) osi_AddLog() - - If osi_Log macros will be conditionally called, the conditonal - needs to have bracing. - - Change-Id: I59de78a5b7b35cc822a648a51cd63a14037c1ca5 - Reviewed-on: http://gerrit.openafs.org/5160 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 17e50a4b98de057a699681261ba126a5ac12a0cc -Author: Jeffrey Altman -Date: Thu Aug 4 17:15:16 2011 -0400 - - Windows: LockOrderValidation memory usage optimization - - Instead of using malloc() and free() to allocation lock reference - structures, cache allocated objects in a free list. This reduces - memory fragmentation. - - Change-Id: Idffe82282c77202d0fc3a9be9123c3b7384ecd63 - Reviewed-on: http://gerrit.openafs.org/5159 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2bce3b50ef4fd9b9bdd03daf6e8332710f541922 -Author: Jeffrey Altman -Date: Thu Aug 4 17:08:45 2011 -0400 - - Windows: after dir enum adjust dir scache LRU - - During a directory enumeration the directory scache object - is reference counted so it can't be recycled. However, if - there are more directory entries than the maximum number - of cached scache objects the directory scache object will - end up being the next object to be recycled after the refcount - is dropped. Since the directory is clearly a hot object, before - dropping the reference, adjust the scache LRU position so that - it is the last object to be recycled. - - Fix the variable name for the directory scache to be 'dscp' - for consistency. - - Change-Id: Ia2089fb9b47dab77abc0911ab009e5aed75ed848 - Reviewed-on: http://gerrit.openafs.org/5158 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4111ee2374d030e1f3bb1fa3530f2877f2576d07 -Author: Jeffrey Altman -Date: Tue Aug 2 18:24:56 2011 -0400 - - Windows: use %p to print cm_scache_t pointers - - Change-Id: Iee13204820b3adc4359e42d46d9f9050ab07bcb2 - Reviewed-on: http://gerrit.openafs.org/5152 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 88725587e97d717086801b2522e4625e5fdeb3a8 -Author: Simon Wilkinson -Date: Wed Aug 3 19:07:14 2011 +0100 - - tbudb depends on tubik ... - - ... so say so in the Makefile - - Change-Id: I84f0ac3c06953eff98e0194ad375c32b3656af58 - Reviewed-on: http://gerrit.openafs.org/5155 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fec4e6bc595014f34c38707c0015c1f76edd770e -Author: Jeffrey Altman -Date: Mon Aug 1 21:40:25 2011 -0400 - - Windows: add missing dafs man pages to wix installer - - dafileserver.html - dasalvager.html - davolserver.html - - Change-Id: I87a70b2a30701f184f7a70fbcf6ee50a4bb1d973 - Reviewed-on: http://gerrit.openafs.org/5149 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit f631a11f5e9ab50e62b3aaebbff9ef200ac799fe -Author: Jeffrey Altman -Date: Mon Aug 1 11:05:51 2011 -0400 - - Windows: conditionalize mappings of error values - - Visual Studio 10 adds a large number of additional POSIX C99 - error values to errno.h. Wrap each mapping with #ifndef to ensure - that we do not redefine the C runtime errno.h definition. - - Change-Id: Ia6929d9ff84358059efcc4a53dcc91ee2612fc5a - Reviewed-on: http://gerrit.openafs.org/5129 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 71e64b6f21817872676e74a8c67c0f0bcfb23391 -Author: Jeffrey Altman -Date: Mon Aug 1 11:00:55 2011 -0400 - - Windows: unified afs errors must use nt mapping - - On Windows, error.h does not provide a complete list of POSIX - C99 error values. OpenAFS fills in the gaps with a private - error mapping table afs/errmap_nt.h (src/util/errmap_nt.h). - If errmap_nt.h is not included prior to processing unified_afs.h, - values such as ELOOP will be mapped to EIO instead of the unique - value defined by errmap_nt.h. - - Change-Id: I3d25fafb15f1b0060ad1047178cbadd5ce22edb2 - Reviewed-on: http://gerrit.openafs.org/5128 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d54c9b05d003bf861fd51e904b631e5425a079d6 -Author: Derrick Brashear -Date: Mon Aug 1 10:58:28 2011 -0400 - - vos: spell "vldb" correctly - - i'm not even going to ask. - - Change-Id: I5f59177ef58d9728a516176a14e0504130f7c584 - Reviewed-on: http://gerrit.openafs.org/5125 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5ebef72c0299560716f3bc8d59122aedd61cc399 -Author: Derrick Brashear -Date: Mon Aug 1 09:58:27 2011 -0400 - - macos: fix vnode finalization - - erroneously pushed a bad version of this. fix it now. - - Change-Id: Ic5db50473a97bd7ffb3ba34ac052da2ae8f2875b - Reviewed-on: http://gerrit.openafs.org/5124 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b621a2986099488426a026818532a9600db9aeba -Author: Andrew Deason -Date: Fri Jul 29 16:44:11 2011 -0500 - - SOLARIS: Do not release NULL root vp on unmount - - When we unmount, and afs_globalVp is NULL (e.g. because root.afs was - unavailable when the client was started), we will panic the machine if - we try to release it. So, if afs_globalVp is NULL when we hit our - unmount handler, don't touch it. - - Reported by Andy Cobaugh. - - Change-Id: I4e5869237e24da320afc2b7edaf8edca0ab3e4e9 - Reviewed-on: http://gerrit.openafs.org/5117 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 6b83ba621b520174dc4679c220888619dc0b44a0 -Author: Will Maier -Date: Sun Jul 31 14:24:12 2011 +0100 - - RedHat: Return status values from client init - - The init script provided with OpenAFS always returns 0 when the status - subcommand is called, even if the service is not running. - - For example: - - $ sudo service afs status; echo $? - afsd is stopped - 0 - - This change makes sure the init script exits with the value returned - by the status function from /etc/init.d/functions. With this patch, - the afs init script behaves as expected when used, for example, in a - Chef service resource: - - $ sudo service afs status; echo $? - afsd is stopped - 3 - - Change-Id: If3d317fc406746f357e29e0d8d82c7ccf3c192d7 - Reviewed-on: http://gerrit.openafs.org/5123 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit afc3ded56795d30e4e0f38d11f8302568943c49b -Author: Jeffrey Altman -Date: Fri Jul 29 18:09:53 2011 -0400 - - Windows: Do not execute tasks on deleted files - - If a cm_BkgDaemon thread finds a queued request whose cm_scache_t - has the CM_SCACHEFLAG_DELETED flag set, do not execute the request - and fail it immediately with CM_ERROR_BADFD. Any attempt to execute - the request will fail with VNOVNODE from the file server. - - Change-Id: Ib74300568ac083e39506b0d106a5984e8fe5e464 - Reviewed-on: http://gerrit.openafs.org/5120 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7e3615208d9e1b03d8eba4fb802744b2b81f8868 -Author: Jeffrey Altman -Date: Thu Jul 7 17:51:58 2011 -0400 - - Windows: cm_BkgDaemon should not do cm_SyncOp's job - - cm_SyncOp is designed to synchronize operations among multiple - threads. The background daemon threads should not filter requests - based upon cm_SyncOp states. Doing so is racy and does not produce - better performance. - - Change-Id: Ifeafd55da6e02807ed4cc3c3f2b6f1de4df2a87f - Reviewed-on: http://gerrit.openafs.org/5119 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fa11f71f040b2e6856047c53fdd902109e5c6e52 -Author: Jeffrey Altman -Date: Fri Jul 29 18:07:42 2011 -0400 - - Windows: Do not release locks on deleted files - - If the cm_scache_t flags include CM_SCACHEFLAG_DELETED, do not - bother releasing an outstanding file lock to the file server. - The lock went away when the file was deleted. Any attempt to - release will fail with VNOVNODE which is translated locally into - CM_ERROR_BADFD. - - If a RXAFS_ReleaseLock RPC fails with VNOVNODE, treat it as - success. - - Change-Id: I15860920a224bd032256e08c9983fa31f7f1c9ee - Reviewed-on: http://gerrit.openafs.org/5118 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 357e9f928fa0abb73ab3bb2e3b8e8fa17d0f9065 -Author: Jeffrey Altman -Date: Thu Jul 28 15:07:32 2011 -0400 - - man: more changes for man.3 pod files - - generate-html requires a HEADER description for pod3 - - The Windows makefile needs to process pod.in files. - - Change-Id: I5ac964cc8c1af73510d17b3a31bf1a9a5df3a58f - Reviewed-on: http://gerrit.openafs.org/5116 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 4138a778fe821493c726826ffc4715f5f46222d9 -Author: Jeffrey Altman -Date: Thu Jul 28 15:05:28 2011 -0400 - - Windows: permit perl command to be explicitly set - - Add PERL variable to the build system. If not specified - externally the variable will be set to 'perl'. However, - ActiveState Perl should be used and not Cygwin Perl. The build - environment should indicate that by specifying a PERL setting. - - SET PERL=c:\perl64\bin\perl.exe - - or similar. - - Change-Id: Iaf14a82134cc2dcf3c23b1e5a0ed65606e2487bb - Reviewed-on: http://gerrit.openafs.org/5115 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 4a24a59d52266fcbbf92041ce3a74a455e84a25c -Author: Jeffrey Altman -Date: Thu Jul 28 15:02:14 2011 -0400 - - man: add missing pod files to Windows makefile - - Several of the demand attach pod files were not being processed - on Windows. - - Change-Id: If211f80564115bdc184181226aa0750ba1989a55 - Reviewed-on: http://gerrit.openafs.org/5114 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 0b6247c27fcc0b8a2f307ccc545eea777a07f999 -Author: Jeffrey Altman -Date: Thu Jul 28 14:59:05 2011 -0400 - - merge-pod changes for cygwin and MSWin32 perl - - On Windows, the git repository is checked out as CR-LF. - Tell perl to open the pod file with cr-lf as the end of line. - - On Windows, the input file names are of the form podX\foo.pod.in. - Cygwin perl cannot parse the directory for the file name unless - the path separator is converted from \ to /. - - Change-Id: I7139bd2138573e938ea3e8386685f3b69e131c4d - Reviewed-on: http://gerrit.openafs.org/5113 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b61bd99bce68055dc0dd53b82d1d5318c25d9051 -Author: Jeffrey Altman -Date: Tue Jul 26 17:37:37 2011 -0400 - - Windows: add debugging to afskfw - - More debugging output added when a debugger is present. - - Change-Id: I22698ebaf3c950a5b9c9b7d6746af45603b5acf9 - Reviewed-on: http://gerrit.openafs.org/5112 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 7c59ec8f816120c738b1da83f7db9349d912f573 -Author: Jeffrey Altman -Date: Tue Jul 26 17:36:25 2011 -0400 - - Windows: afskfw remove TRUE conditional - - Simply the code by removing an if(1) conditional. - - Change-Id: I2cb3f861b99686a7d14aa7f567adc5a083a08a5b - Reviewed-on: http://gerrit.openafs.org/5111 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 214e9a6052b1dab2a0c4383632640936c3e518c6 -Author: Jeffrey Altman -Date: Tue Jul 26 17:34:52 2011 -0400 - - Windows: KFW_AFS_get_cred userrealm - - The userrealm string in KFW_AFS_get_cred() should not include - the '@' symbol from the user principal. Including the '@' produces - an invalid realm name. - - Change-Id: I5887ffabce93666bdbe231eaac0821573162a6ba - Reviewed-on: http://gerrit.openafs.org/5110 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit a063ecdc78cf888df2459b32b0082d4767948563 -Author: Jeffrey Altman -Date: Tue Jul 26 17:32:28 2011 -0400 - - Windows: afslogon start service if not started - - If the service is configured for auto start but has yet - to start, kick it off just in case. - - Change-Id: I668961b17472a78ebac6744bf131dcb850d4e4a2 - Reviewed-on: http://gerrit.openafs.org/5109 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 549737f1e7d52256f053c86116b56c3211b084b6 -Author: Jeffrey Altman -Date: Tue Jul 26 17:03:56 2011 -0400 - - Windows: improve afskfw error message output - - Add KTC and PT error messages to those that can be - translated within afskfw.lib. This improves the error - logging for afslogon.dll, afscreds.exe, and afssrvadm.exe - - Change-Id: I62aa5f1249d4d1f2d64ed068be47a5832d97f85c - Reviewed-on: http://gerrit.openafs.org/5108 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit be152a00a7e4043592094be30f4a811c67a4ac32 -Author: Michael Meffie -Date: Fri Jul 22 23:38:36 2011 -0400 - - volinfo: clean up headers - - Remove unneeded includes. - - Change-Id: I68514d47b1ddd4ea1d79c919635f87f6670e767f - Reviewed-on: http://gerrit.openafs.org/5098 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 530b5ecac51cc7ce61ccddd50868c632c4a47298 -Author: Andrew Deason -Date: Wed Jul 20 16:50:52 2011 -0500 - - libafs: Rate-limit hard-mount waiting messages - - Limit how often we log "hard-mount waiting for XXX" messages. Without - this, it is possible for a client with hard-mounts enabled to spam the - kernel log rather excessively (in extreme cases this can even panic - the machine on at least some Linux). - - To keep things simple, just log approximately one message per volume - per hard-mount interval. - - Change-Id: Ie82f68c5eae76519fcf1491164133c1955ed9c08 - Reviewed-on: http://gerrit.openafs.org/5060 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 0251eb6b377a7ce6a858398f95bd724c3477ee43 -Author: Simon Wilkinson -Date: Sun Jul 10 13:56:21 2011 +0100 - - util: Don't use FT_GetTimeOfDay for MRAFS logs - - FT_GetTimeOfDay creates an LWP dependency. For the purpose that we're - using it in serverLog.c, gettimeofday performs identically. So, just - use gettimeofday and reduce our dependencies. - - Change-Id: I36887d725c7e93386c80c61b3b33a7cda2bfe738 - Reviewed-on: http://gerrit.openafs.org/5085 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 192ba0deae276e5bbea2580da2019a4d743daab3 -Author: Garrett Wollman -Date: Sun Jul 17 21:57:20 2011 -0400 - - pthreaded servers: set thread names - - In the startup function for each thread, set a thread name. This - can safely be done unconditionally as LWP builds turn the call into - a no-op. In general, the thread name parallels the name passed to - LWP_CreateProcess, but for Rx server threads, it additionally includes - the thread ID so that these threads can easily be distinguished. (I'm - not sure yet whether doing so will prove to be useful or counterproductive.) - - Change-Id: I30e012eebef4c7856084fa8b8eb1d88d9fcdf2c4 - Reviewed-on: http://gerrit.openafs.org/5041 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit e453f49bd4d501210e4d1696cb07158c4b887334 -Author: Andrew Deason -Date: Mon Jul 25 11:12:37 2011 -0500 - - libafs: Add afs_conn refCount imbalance safeguard - - If someone is putting back too many refs, we can detect so very - easily. If we see that such a thing is happening, give a warning and - bail out, instead of risking a panic or memory corruption. - - Change-Id: I36c968f9cd7cab3f569d3f6860f41678f026fba8 - Reviewed-on: http://gerrit.openafs.org/5094 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 04e4126264c083a3a5f3d86c4de2f44ac1fe8cb2 -Author: Garrett Wollman -Date: Thu Jul 28 00:39:52 2011 -0400 - - FBSD: complete the build fix for 8.1 libafs - - Strangely enough, nosys() also needs a cast to sy_call_t *. - - Change-Id: I7fee2278c228da3ddb2c3ccc9758681cd0abc01d - Reviewed-on: http://gerrit.openafs.org/5105 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3d6f6e00439ba04f7d93c701cf85e921eab2565e -Author: Garrett Wollman -Date: Thu Jul 28 01:44:25 2011 -0400 - - configure: provide some necessary prerequisites in header checks - - is a prerequisite for and . - is a prerequisite for . - - Change-Id: I2c974ad863c6ff7eedb3702159399118af8de074 - Reviewed-on: http://gerrit.openafs.org/5107 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 74e8bec7bec8b754498d9006ee6e7db3d105c0d7 -Author: Garrett Wollman -Date: Thu Jul 28 01:04:59 2011 -0400 - - configure: spell the "=" operator to test(1) correctly - - Equality in the test(1) utility is represented by "=", not "==". - Some, but not all, versions of test accept the latter as an extension. - - Change-Id: I25380f77e1c621965e0610318c9793874154cf15 - Reviewed-on: http://gerrit.openafs.org/5106 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9e29a20df7cca05472825f57ed553780ac901520 -Author: Garrett Wollman -Date: Mon Jul 25 00:50:54 2011 -0400 - - libuafs: don't use a GNU-only feature in a common makefile - - $(shell ...) is a GNU Make proprietary feature and shouldn't be used - OS-independent makefiles. There is no need to use it here; command - substitution in the shell is good enough. - - Change-Id: I511108dab0770e772005b3f4a851713d1ee5a83e - Reviewed-on: http://gerrit.openafs.org/5093 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Tested-by: BuildBot - -commit f8ff2591f73401e6d9b6def7630f428569e2f3a6 -Author: Derrick Brashear -Date: Tue Jul 26 00:52:18 2011 -0400 - - macos: don't attempt finalize fixup on root vnode - - because of how the root fid is created we can end up being dumb. - turns out we never want to bypass doing the full pass for root anyway - so just force fixup to not happen. - - Change-Id: I2b6d8d5cc4824f0f2a9473a2e810410579e3ad48 - Reviewed-on: http://gerrit.openafs.org/5095 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ef28bc08c18e750f6100535665d5258a317a0a2b -Author: Andrew Deason -Date: Fri Jul 22 16:09:52 2011 -0500 - - libafs: Avoid duplicate afs_Analyze in bulk stat - - In afs_DoBulkStat, we can call afs_Analyze multiple times for the same - set of connection objects. Since afs_Analyze puts its reference to the - given afs_conn and rx_connection structures, calling it more than once - can cause the reference counts on those objects to be lower than they - should be. - - Instead of making another afs_Analyze call, just alter the error code - inside the normal do/while afs_Analyze loop, so the 'loop' afs_Analyze - call gets the appropriate error code from the first bulk stat'd entry. - - Change-Id: Id6396f8e9d4757d54825d4915458bf8b5153984f - Reviewed-on: http://gerrit.openafs.org/5086 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 461603e474becbe56f6b42f3eb4b0aa44213dd43 -Author: Simon Wilkinson -Date: Tue Apr 26 21:37:42 2011 -0400 - - vlserver: Use libcmd for command line parsing - - Modify the vlserver so that it uses the libcmd library to parse its - command line, rather than rolling its own command line parsing. - - Change-Id: I7705219894de2d2268729ddc66a8af9ad9758ce7 - Reviewed-on: http://gerrit.openafs.org/5074 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b9986c8758c13a1de66b8bdae51b11abaea6cf3 -Author: Simon Wilkinson -Date: Tue Apr 26 21:36:15 2011 -0400 - - ptserver: Use libcmd for command line parsing - - Modify the ptserver so that it uses the libcmd library to parse its - command line, rather than rolling its own command line parsing. - - Change-Id: I84bac2cd70bbaf85004fce2f23d9237215544edd - Reviewed-on: http://gerrit.openafs.org/5073 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit dcb9776f9c34d070e8bdfe3e482135cbcdb6609c -Author: Russ Allbery -Date: Sun Jul 24 16:35:42 2011 -0700 - - Update README for newly added configure switches - - Add --with-gssapi*, --with-libintl*, and --with-roken for the new - library location flags. Add --with-docbook2pdf and - --with-docbook-stylesheets for the automatic discovery of tools for - building the documentation. Expand and correct the descriptions of - --with-html-xml and --with-xslt-processor. - - Change-Id: Ibe0a94ce3e9c6393bde009bf08f8b9dfac6b84a6 - Reviewed-on: http://gerrit.openafs.org/5092 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 525f640c4eda5c7cb96fe65c23a94ff368039590 -Author: Russ Allbery -Date: Sun Jul 24 16:00:35 2011 -0700 - - Clean and ignore additional build files for DocBook documentation - - Depending on what generation method is used for the DocBook - documentation, additional build files may be created. One of those - (*.aux) will cause the build to break if one switches from - docbook2pdf to dblatex without deleting it. Update make clean - and .gitignore to remove and ignore these additional files. - - Change-Id: I13cc8a3526bd7bc7c4c65cd7d2cd78b094398faa - Reviewed-on: http://gerrit.openafs.org/5089 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 46b897bbaff9e7ea8ff88766ce2b3e047feeee6b -Author: Ben Kaduk -Date: Sat Jul 23 14:58:54 2011 -0400 - - FBSD: cast lkmnosys appropriately - - lkmnosys is a function, and as such has its own prototype which - includes a named struct specific to it (struct nosys_args). When - comparing its address to an entry in the syscall table, we must - cast it to a sy_call_t to correctly do the comparison, lest gcc - warn us about comparing distinct pointer types without a cast. - This warning recently became an error due to bsd.kmod.mk, so it - causes the build to fail on 8.1 and earlier, which do not use - syscall_register() due to a conflicting entry for our syscall - in syscalls.master. - - Change-Id: I606aaf73e433a50ea41adaab842d61ee69653bd5 - Reported-by: Garrett Wollman - Reviewed-on: http://gerrit.openafs.org/5087 - Tested-by: BuildBot - Reviewed-by: Garrett Wollman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e49bf687fe548f8addb7f1282a7c23261a55c34a -Author: Simon Wilkinson -Date: Sun Jul 10 13:54:20 2011 +0100 - - util: Cleanup generation of dirpath.h - - dirpath.h is only copied into place if it has changed. However, this - means that the timestamp of dirpath.h is never updated, causing make to - always trigger the buildrule, even if the rule eventually does nothing. - - Instead, always copy in the new dirpath.h, which simplifies the make - rules, and stops make from always building. - - Change-Id: I43ba9152473591c5afd9064ad6e58adda6823f11 - Reviewed-on: http://gerrit.openafs.org/5084 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 18af550ef15605d13e7d5ac59fa88713262db82d -Author: Simon Wilkinson -Date: Tue Jul 5 09:17:53 2011 +0100 - - rx: Provide Get/SetThreadNum functions - - Provide functions to let an application manipulate the rx thread - specific key, rather than letting them root around in the internals - of RX themselves. - - Change-Id: Ic42430de7e0c0a60217a509d9b7ef9d3523463ce - Reviewed-on: http://gerrit.openafs.org/5083 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2676143c035d19d02492d370382a74650b1e1496 -Author: Simon Wilkinson -Date: Mon Jul 4 10:03:50 2011 +0100 - - klog.krb5: Don't use ubik_PR_NameToID internal func - - ubik_PR_NameToID is a low level function which requires a large amount - of setup from the caller. Instead, use pr_Initialize() and pr_SNameToId() - which do all of the work in a library. - - Change-Id: I6b8d50c3d16eb258a4a81335790be2654c4fb191 - Reviewed-on: http://gerrit.openafs.org/5082 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a40cbd7f074bc0009f4f66f72e13d6737fc285ad -Author: Simon Wilkinson -Date: Sun Jul 10 13:53:15 2011 +0100 - - ubik: ServerInitCommon is an internal function... - - ... so make it static - - Change-Id: Ia323d9ea4e35e4d3a5593df05a905191e9d951a0 - Reviewed-on: http://gerrit.openafs.org/5081 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 10264a523fd78e9cd22e41feda6c5eb6f75de784 -Author: Simon Wilkinson -Date: Tue Jun 15 18:18:30 2010 +0100 - - bozo: Don't initialise variables unecessarily - - Don't initialise variables to NULL 3 lines before we assign malloc - results to them. - - Caught by clang-analyzer - - Change-Id: Ic0f2fc56fe6ce39411c4cd48ea0a0b955b3e0f19 - Reviewed-on: http://gerrit.openafs.org/5080 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ba18ea65174dd06a305e3524756aaca6ebb04e9a -Author: Simon Wilkinson -Date: Tue Jun 15 18:15:34 2010 +0100 - - viced.c: Don't store results of reads unecessarily - - When we don't need to store the amount of data read from a file, - don't complicate the if() statement by adding a pointless assignment. - - Caught by clang-analyzer - - Change-Id: I326d894c9b5f7a89f31534c7864e05ea059a03aa - Reviewed-on: http://gerrit.openafs.org/5079 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 364d1bec7458b874922f5d1e9be49f7a1f813136 -Author: Simon Wilkinson -Date: Tue Jun 15 18:09:53 2010 +0100 - - libcmd: Don't increment array then discard result - - We don't need to increment argv here, as we're about to return - to the caller. - - Change-Id: I442fe741e4bda91e12375a6fe72657dc215c4e78 - Reviewed-on: http://gerrit.openafs.org/5078 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e3d9821a8b34f919de9a01fa0023a691487e763f -Author: Simon Wilkinson -Date: Tue Jun 15 18:08:50 2010 +0100 - - libcmd: Don't store values that we don't need - - Don't store the results from cmd_CreateSyntax unless we actually - need to use them for something. - - Caught by clang-analyzer - - Change-Id: I581dcc00a886245a8d117f78c74590111c75e3b0 - Reviewed-on: http://gerrit.openafs.org/5077 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2d61f1fcbb7c42de6164795fc07e18776afc77cf -Author: Simon Wilkinson -Date: Tue Jun 15 16:51:42 2010 +0100 - - ptserver: Don't print undefined value - - The readgroup utility printed the wrong variable when listing the - source group - instead of printing the group name, it tried to - print an arbitrary element from the list of group members. Fix it - to print the right thing. - - Caught by clang-analyzer. - - Change-Id: Ie7ada8a1e881871ae5db14714ee10325ac052d40 - Reviewed-on: http://gerrit.openafs.org/5076 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6cae7c554e917a26b197167e177bd3eb22bce71a -Author: Andrew Deason -Date: Wed Jul 20 15:33:41 2011 -0500 - - libafs: Remove unused volume "states" flags - - VResort and VMoreReps are not referenced anywhere in the tree, so - remove their definitions. Keep VPartVisible for VICEP-ACCESS, but - lower it to the next unused bit. - - Change-Id: I04c9d1c75774a55d01105acb2b5df9d2bcafa5d8 - Reviewed-on: http://gerrit.openafs.org/5059 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 09d1d8575ce96ef945a4fd8a99a0347f4e258c1e -Author: Derrick Brashear -Date: Fri Jul 22 15:39:49 2011 -0400 - - aklog: check ccache errors in get_user_realm - - if there's an error finding the specified ccache, don't - bother continuing. - - Change-Id: I344a06c66c426c5d14dbe08ce9da0431f095349d - Reviewed-on: http://gerrit.openafs.org/5069 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 62cccc4547bd816dfffb2c1a4431c3c674d302f8 -Author: Derrick Brashear -Date: Fri Jul 22 14:24:08 2011 -0400 - - macos: avoid KLRenewInitialTickets crash in Lion - - the shimmed heimdal in Lion crashes on this call now. - the shim also exports diddly squat. fine, we pick over what - IS exported and use only calls available to us. - - should be exactly as functional as before. - - Change-Id: I6a55209b94694e8eb462bc0a4607a891b9f8b570 - Reviewed-on: http://gerrit.openafs.org/5065 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 30cd8dafa73d90a943f00af05e4841699bc18534 -Author: Andy Cobaugh -Date: Fri Jul 15 12:06:12 2011 -0400 - - rpm: remove postinstall message from openafs-client - - Printing out information on how to configure cacheinfo and ThisCell - is a bit noisy, and pam_afs.so is probably not what most people - want to use nowadays. - - Change-Id: I103ccb39bc7bb075cffab1d980b542ea8156f0c6 - Reviewed-on: http://gerrit.openafs.org/5026 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - -commit c61f5208f553ed1674d1ae51d6e0f16fcdbba47b -Author: Jeffrey Altman -Date: Wed Jul 20 18:31:17 2011 -0400 - - Windows: do not leak space allocation - - smb_ReceiveNTTranCreate leaks a cm_GetSpace allocation on - error. Don't do that. - - Change-Id: I40349826f2ab229961e3c3552f66808775f0a239 - Reviewed-on: http://gerrit.openafs.org/5062 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9c2d3180aa760d2a406bb68dd84e73f7d1ec7019 -Author: Jeffrey Altman -Date: Wed Jul 20 18:32:35 2011 -0400 - - Windows: smb_ReceiveNTTranCreate path not found - - if the directory object cannot be found in the tree, return - CM_ERROR_PATHNOTFOUND instead of crashing. - - Change-Id: I51458e24b5b9f16fc0378073e002d8ee160b8f15 - Reviewed-on: http://gerrit.openafs.org/5061 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d3a4b6ce700509383849653fa061a87298e5258f -Author: Jeffrey Altman -Date: Wed Jul 20 14:21:09 2011 -0400 - - Windows: improve shutdown time - - During Windows OS shutdown the service may be given as little - as six seconds to shut itself down before it will be terminated. - Forced termination will leave the cache file in a dirty state. - This patchset makes several minor changes to reduce the overall - time required for shutdown: - - 1. do not wait for the IP address change notification thread. - by the time it terminates the ip address has been lost. - - 2. send give up all callbacks earlier. - - 3. reorder the daemon thread waits. - - 4. change the daemon thread loop sleep time to 500ms in order - to prevent the service from waiting up to 10 seconds for - the thread to notice a shutdown is in progress. - - Change-Id: Ib1ff3eaf2e5116d9b3d7561670b8266e1bc5d1cf - Reviewed-on: http://gerrit.openafs.org/5055 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0783b8f3821f59004146b4c34a53189ada178d70 -Author: Jeffrey Altman -Date: Wed Jul 20 14:18:25 2011 -0400 - - Windows: cm_daemonCheckOfflineVol fix - - When computing whether or not to perform an offline volume - check it is critical that the 'lastBusyVolCheck' variable - be assigned the current time instead of 'lastVolCheck'. - By setting the wrong variable a new offline volume check is - performed every 10 seconds which is undesireable. - - Change-Id: I509cde64a8b51ce1846f37047a574409ff248978 - Reviewed-on: http://gerrit.openafs.org/5054 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e91f16ebb704a431f9731bb39bf9b5621b7f6ad0 -Author: Jeffrey Altman -Date: Wed Jul 20 14:12:42 2011 -0400 - - Windows: Add shutdown event log message - - Add an explicit message that the shutdown sequence is complete. - This is necessary because during a Windows OS shutdown, the service - is frequently killed prior to the memory mapped file is fully released. - - Change-Id: I1ad2471e1e1442d836d6abac09fc5cdd08edae0b - Reviewed-on: http://gerrit.openafs.org/5053 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a1af69182b12bedd8a413d38cef9a4691286da46 -Author: Jeffrey Altman -Date: Wed Jul 20 14:04:57 2011 -0400 - - Window: breakout CM error codes into separate header - - Change-Id: I67be608c6cb153904fa2ca8c5ad6cbc7943064e5 - Reviewed-on: http://gerrit.openafs.org/5052 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ba546ecf0c6a404f2efced2e600826621876ffcf -Author: Andrew Deason -Date: Thu Jul 21 13:20:54 2011 -0500 - - afsd: Add the -rxmaxfrags option - - Add an option to afsd to limit the number of fragments Rx will - send/receive, called -rxmaxfrags. - - Change-Id: I9f0b3edd95db17f82ef8f7d1e300df4eff355172 - Reviewed-on: http://gerrit.openafs.org/4899 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit beac254406d28b89d9f99967b6c1305c607959ad -Author: Ben Kaduk -Date: Wed Jul 20 18:11:47 2011 -0400 - - FBSD: in libafs, define LIBAFSNONFS - - Running 'make dest' will fail without this variable defined. - - Change-Id: I7f82cb3aeae8585c68ee60b005f4ba32d44e2104 - Reviewed-on: http://gerrit.openafs.org/5058 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Tested-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - -commit ee950e7ecf578bd225eec29b182f108450c5bfaf -Author: Derrick Brashear -Date: Thu Jul 21 20:30:00 2011 -0400 - - macos: krb5_524 is uselessly stubbed - - from MITKerberosShim-44: - dummy(krb5_524_conv_principal, 0); - dummy(krb5_524_convert_creds, 0); - - this basically logs and returns success. not helpful. - so let's just not call them. - - Change-Id: I91e7113e6934c67129e61dfc84b7f0c4d110cea0 - Reviewed-on: http://gerrit.openafs.org/5066 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 45f0cbf83aed2bd534e9b43822c033ef6b4a9b1b -Author: Derrick Brashear -Date: Wed Jul 20 14:55:32 2011 -0400 - - redhat: support epel yum configs in mockbuild - - epel's mock is useful in terms of config, but we need to allow - use of it. do so here. add centos6 at the same time. - - Change-Id: I781fc475389c5be56aa89041b8d22b166517a3f5 - Reviewed-on: http://gerrit.openafs.org/5056 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1fc5b6e67477c6e52c311b4117ff067a60487cdc -Author: Andrew Deason -Date: Tue Jul 19 16:44:21 2011 -0500 - - Revert "afs: Use 64-bit inode numbers" - - This reverts commit e1e008338639d6cc0d836ff8079e6fb42021ab9e. Using - 64-bit inode numbers can make AFS largely inaccessible to 32-bit - programs that are not compiled with large file support, since the - inode number we provide is not representable in a 32-bit struct stat. - Using 64-bit inode numbers thus can break quite a few programs, and - has little benefit, so don't do it. - - Change-Id: Ia482ac2864601b5c56a4259432529d14981f4a1a - Reviewed-on: http://gerrit.openafs.org/5048 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e06931172eec5a683490040f5564b294d263dac4 -Author: Russ Allbery -Date: Mon Jul 18 17:13:15 2011 -0700 - - Add additional NEWS entries for 1.6.0pre5 through 1.6.0pre7 - - Taken from the release notes. Do a bit of minor combining of related - issues since NEWS presents these all as changes in 1.6.0. - - Change-Id: I45af362948dde40772c347c9f432e59cfd86b64d - Reviewed-on: http://gerrit.openafs.org/5044 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 79aedab16c36c46d7b828078079e7aa80f99490d -Author: Ben Kaduk -Date: Mon Jun 20 22:46:01 2011 -0400 - - FBSD: update to using bsd.kmod.mk - - We have for a long time had a cobbled-together kernel module build - system that essentially copied build arguments from a kernel build - in an ad hoc fashion, with lots of conditionals on architecture - and OS version. (We got it wrong, several times, too.) - Instead, use the supported mechanism for building kernel modules, - which allows us to remove a lot of code from the Makefile and gives - us some measure of future-proofing. - - FIXES 127578 - - Change-Id: Ibccea4507f57660becb4fb39a57b50c15ea4cb07 - Reviewed-on: http://gerrit.openafs.org/5042 - Reviewed-by: Garrett Wollman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 1ec64ba50ea8d691cfb126dd40a11370ed37b433 -Author: Ben Kaduk -Date: Sun Jul 17 16:24:12 2011 -0400 - - libafs: switch to hardcoded source names with CRULE - - Most of the userspace tree uses AFS_CCRULE for how to compile - things. We cannot use this directly for libafs, since in the - general case kernel and userland code may need to be treated - with an entirely different compiler and compiler options. - Switching libafs fully to a (e.g.) LIBAFS_CCRULE would be a substantial - amount of work, and require a lot of testing. However, we can - stop passing -c $? (the out-of-date sources) in CRULE_{NO,}OPT - and add the source file after each invocation of the CRULEs, - an incremental step towards LIBAFS_CCRULE. - This has the extra advantage of not causing issues when integrating - with kernel module build systems that automatically add dependencies - to all object file targets. (In such cases, $? expands to multiple files - and 'gcc -o foo.o -c' bails out.) - - Most of this change was automatically generated from the following - awk script: - ========== - /[a-zA-Z_0-9].o:/ {path=$2;} - /^ \$\(CRULE_/ {print $0,path;} - !/^ \$\(CRULE_/ {print;} - ========== - - Change-Id: I22b8eeaee730feb37b2527d44d6548e7b13b9a0a - Reviewed-on: http://gerrit.openafs.org/5040 - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4356fcbb5b5dd1b5ff2098388d0e70214a5fe898 -Author: Simon Wilkinson -Date: Mon May 23 07:40:14 2011 +0100 - - vlserver: Handle logging of non-rxkad classes - - Expand the 'rxinfo' function so that it is not rxkad specific, and - add the framework to allow other security classes to be added to it. - - Change-Id: Idb514be6aafbc69154a7aba4b0ece3330b8b3aed - Reviewed-on: http://gerrit.openafs.org/5031 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 9376f75beca80af69c5437de4023c32646e702b8 -Author: Simon Wilkinson -Date: Fri Jul 15 11:50:09 2011 +0100 - - tests: Fix error in man check specification - - The kas manual test is kauth/kas-man, not kauth/kas - - Change-Id: I714cbbf78af7f8e99ec52d9c0f173df3f6ae18c5 - Reviewed-on: http://gerrit.openafs.org/5030 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f02c3d40cb25d5d7b0c184a6822a21e1ddebf4d5 -Author: Simon Wilkinson -Date: Tue May 31 09:30:41 2011 +0100 - - tests: Add tests for the vlserver - - Add some very simple vlserver tests - - Change-Id: I862d3a86857dc70f0421f4887d1fc4d047c57909 - Reviewed-on: http://gerrit.openafs.org/5029 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e798bcaf97c3ad1b464e29482cb29074cbbf33d6 -Author: Ben Kaduk -Date: Mon Jun 20 22:35:08 2011 -0400 - - FBSD: use better casts in vop_advlock - - In the bsd.kmod.mk world, the compiler bails when we cast a pointer - directly to int. Cast through intptr_t as the supported mechanism. - On amd64, this loses bits, but since this instance is just attempting - to use the value as a unique handle, it is probably okay for now. - However, it should be addressed more properly eventually, when - this locking implementation sees wider use. - - Change-Id: I4fe8084c14a97dc4efc8d74e9971b1540c028e40 - Reviewed-on: http://gerrit.openafs.org/5034 - Reviewed-by: Matt Benjamin - Reviewed-by: Garrett Wollman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 135b41ec7e446aee6276854effa0900cc7a58a2a -Author: Ben Kaduk -Date: Sat Jun 25 00:33:41 2011 -0400 - - FBSD: Use correct path for ufsmount.h include - - The two lines above it already used correctly. - In the bsd.kmod.mk world, this will let us get rid of some - more symlink hackery in libafs, since the system's '@' symlink - will point to the system headers directly. - - Change-Id: I97dd779c2c7a119f51972b02e185a17264911151 - Reviewed-on: http://gerrit.openafs.org/5036 - Reviewed-by: Garrett Wollman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d10f62a7e7221b86e6b336cae936ecbc9485fb94 -Author: Ben Kaduk -Date: Mon Jun 20 22:36:39 2011 -0400 - - FBSD: cast pointers appropriately - - Since the bsd.kmod.mk build uses -Werror. - - Change-Id: I4bc34477a36ae8946272c1830080ddd9add5cd00 - Reviewed-on: http://gerrit.openafs.org/5035 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 037f3251cd8fa318ad8320a061368efedc480c37 -Author: Ben Kaduk -Date: Mon Jun 20 22:34:41 2011 -0400 - - FBSD: Remove include directive for nonexistent file - - In the bsd.kmod.mk world, this becomes a fatal error. - - Change-Id: I14315982fac48bf392d9f3a06422f5c4707bc3b9 - Reviewed-on: http://gerrit.openafs.org/5033 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9d3d4b30af5fe40fa84b8bedec71dab04bee15ab -Author: Simon Wilkinson -Date: Sat Jul 16 09:07:57 2011 +0100 - - Fix broken make dest rules - - Commit ffb6864f0f60113d125527feacbd6d20a8121e2d is missing some - semi-colons in assorted dest rules, which breaks the make dest target. - - Change-Id: Ie6f88878604f1043256f1683e1d228e16d568f50 - Reviewed-on: http://gerrit.openafs.org/5037 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 45025e949bba0244d51e406b9105fb14bcba902d -Author: Michael Meffie -Date: Thu Jul 14 12:02:21 2011 -0400 - - audit: remove uneeded strncpy - - In this caller to krb_realms, when no realms names are returned the - number of local realms is correctly set to zero, however the first - local realm buffer is filled with a placeholder string which is - not used. Remove the uneeded strncpy, which also makes this - section of code consistent with afs_is_foreign_ticket(). - - This section of code is duplicated by afs_is_foreign_ticket() and - should be consolidated in a subsequent patch. - - Change-Id: I48f84934e7321769eebaf80c83b2c100fd026a6a - Reviewed-on: http://gerrit.openafs.org/5020 - Reviewed-by: Simon Wilkinson - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 607c0aaaa438414a64e8201c34cccc2c28cabf72 -Author: Andrew Deason -Date: Tue Jul 12 00:11:17 2011 -0500 - - UKERNEL: Avoid using parameters named "new" - - Alter the prototypes in afs_usrops.h to avoid using the name "new", in - order to make the header usable by C++ code. - - Change-Id: I21165b5c1e33e9229172d9f8e797d65fc954bb77 - Reviewed-on: http://gerrit.openafs.org/5038 - Reviewed-by: Garrett Wollman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit df4843c4b1f3aebf32dcb28560b259826e9dbb9a -Author: Garrett Wollman -Date: Wed Jul 13 14:20:17 2011 -0400 - - util: clean up two #ifs - - Use defined(...) in two instances to avoid warnings. - - Change-Id: I0a574283e2384c7cfb2f58884570e78e3fed3bc6 - Requested-by: Simon Wilkinson - Reviewed-on: http://gerrit.openafs.org/5005 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1f181307d5c90bd46bed0eb4a6e97fd96531c5c6 -Author: Garrett Wollman -Date: Fri Jul 15 01:00:28 2011 -0400 - - util: try again to satisfy the gatekeepers - - Apply a two-clause BSD license to src/util/pthread_threadname.c. Note - that the claim of copyright in this file refers to the derivative work - consisting of the original code combined with the text of the license. - - Change-Id: Id75badee03cb85a23778088aa9cb49d8c92eb5d0 - Reviewed-on: http://gerrit.openafs.org/5025 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit ffb6864f0f60113d125527feacbd6d20a8121e2d -Author: Simon Wilkinson -Date: Fri Jul 15 17:14:27 2011 +0100 - - Make --enable-pthreaded-ubik do what it claims - - The configure help text for --enable-pthreded-ubik says - "enable installation of pthreaded ubik applications" - - This patch set makes the behaviour in the code match that. Instead - of controlling whether the pthreaded ubik code is compiled at all, - the configure option now just controls whether it is installed. This - means that we'll always build the pthread code, and so should reduce - the number of times it is inadvertently broken. - - Change-Id: I8b2ffb46e01157f2043cf7daf68e69580ea285c5 - Reviewed-on: http://gerrit.openafs.org/5028 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f56f2731552ca4dc5f5e476c1e8db14f035ec060 -Author: Simon Wilkinson -Date: Fri Jul 15 14:06:14 2011 +0100 - - Fix pthreaded ubik dest and install rules - - Fix the dest and install rules for pthreaded ubik, and its servers, so - that they match the current Makefile style. - - Change-Id: Ifd3bd181772e278518f2a90167b6524d6045645c - Reviewed-on: http://gerrit.openafs.org/5027 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 20a2422c1479476acd407bae9345ea6482aeca3b -Author: Andrew Deason -Date: Thu Jul 14 14:53:00 2011 -0500 - - util: Include pthread.h in afsutil_prototypes.h - - afsutil_prototypes.h can reference pthread_t when we are in - AFS_PTHREAD_ENV. So, include pthread.h to guarantee we get the - definition for pthread_t. - - Change-Id: Ib46c2cf3b3fdd2dcd61a7b8ac4d5512fecd084ff - Reviewed-on: http://gerrit.openafs.org/5023 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit b6d05986f0c79bdf54169fc7b209b137c0e63a39 -Author: Ben Kaduk -Date: Thu Jul 14 15:49:40 2011 -0400 - - Install afszcm.cat for i386_fbsd make dest - - Because we missed it in gerrit/4815. - - Change-Id: I653c4259a0bbe926abac80c09e32ff3bc35f2de2 - Reviewed-on: http://gerrit.openafs.org/5022 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e2980f3d70bc61cc9a89b65499798193c011ec75 -Author: Derrick Brashear -Date: Wed Jul 13 22:43:40 2011 -0400 - - volser: remove pragma requiring ultranew gcc - - this won't fly with the gcc in the field most places. move along. - - Change-Id: I54de25c4986e574ca5b34b850807b10374d9d8ad - Reviewed-on: http://gerrit.openafs.org/5013 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a76e65034cf3feadfe2af5a20ddae705fda00aa0 -Author: Marc Dionne -Date: Wed Jul 13 20:56:53 2011 -0400 - - Linux: remove unused variable - - endindex is not used, remove it - - Change-Id: I50a89e3f25828c05fd24f4fc6a1068007a68dbc2 - Reviewed-on: http://gerrit.openafs.org/5012 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 4b9ad1b56ecc9c81aafe54331121435d3ca18fdb -Author: Michael Meffie -Date: Tue Jul 12 15:51:33 2011 -0400 - - tests: fix cmd test case - - Fix a build error in the cmd tap tests. - - Change-Id: I757c5b508784fd938b70ca3829130275707dd39a - Reviewed-on: http://gerrit.openafs.org/4975 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 0e4c227d62c30247cb09e40567b096ce0f3cbb57 -Author: Simon Wilkinson -Date: Wed Jul 13 14:44:39 2011 +0100 - - rxkad: Suppress warnings for ticket5.c - - rxkad's ticket5.c includes v5gen.c, a generated file from Heimdal. - This file contains a load of set-but-unused variable warnings. As we - currently have no way of portably suppressing just these warnings, - turn off warnings-as-errors for ticket5.c - - Change-Id: I739cee4f345523fce130c73c713c7309273f5bee - Reviewed-on: http://gerrit.openafs.org/5003 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 6840d8dfb80d9ae3888171520304a021caef9fe5 -Author: Simon Wilkinson -Date: Wed Jul 13 14:42:11 2011 +0100 - - volser: fix set-but-unused variable warning - - restorevol reads the magic number from the dump, then does nothing - with it. Rather than not reading it at all, just mark the variable that - it is read into as unused to supress the compiler warning. - - Change-Id: I371e2556e3661836f6256fac255ae79005d9ffaa - Reviewed-on: http://gerrit.openafs.org/5002 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 130155ff3c48f2da2433b359588346b4438d24a2 -Author: Jeffrey Altman -Date: Wed Jul 13 08:15:04 2011 -0400 - - Windows: not safe to dereference before locking - - Throughout cm_server.c, input parameters to functions that - are protected by cm_serverLock are dereferenced by assignment - during variable initialization prior to the cm_serverLock being - obtained. As a result there is a race which can result in - either list corruption or dereferencing freed memory. - - Change-Id: I4fa42b9ae0af5eb7c44ea868b4ea6ca9e4e0bb92 - Reviewed-on: http://gerrit.openafs.org/4985 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 30d68e6934810e3cfc67518d36cb8be26d6542b8 -Author: Jeffrey Altman -Date: Fri Jul 8 09:49:51 2011 -0400 - - Windows: ChangeLog for 1.5.9907 - - Change-Id: Ie6eb2ed4c9e4c3a9e8250c3946d0a060834610b6 - Reviewed-on: http://gerrit.openafs.org/4954 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit beda3b239a13903d4bcd9a5d91d5ff562962cb5a -Author: Simon Wilkinson -Date: Wed Jul 13 14:35:48 2011 +0100 - - vol: Initialise list before error exit when cloning - - The inode list wasn't being initialised before the first call into the - error handler. This makes it possible that we end up trying to discard - items from an uninitialised list, with all the chaos that would cause. - Fix things so that this list is correctly set up. - - Change-Id: I5dbc33e2e1a9a4ca1bdf4b2f7e56f33af87ccc1a - Reviewed-on: http://gerrit.openafs.org/5001 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 53cc2ebaea5e5488d5285f0d13ffa47069ee986f -Author: Simon Wilkinson -Date: Wed Jul 13 14:33:57 2011 +0100 - - volser: Actually return errors from ListOneVolume - - The return code from GetVolInfo was being thrown away, and success - returned to the caller, regardless of the success of this function. - As GetVolInfo's exit codes aren't suitable for sending over the wire, - just return ENODEV if this function returns failure. - - Change-Id: Ie4adbbd98f5006a9aa50ed9bf73ea9e4344fabf3 - Reviewed-on: http://gerrit.openafs.org/5000 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 9bb81711a545122bba36c525095aebfe52e73168 -Author: Simon Wilkinson -Date: Wed Jul 13 14:31:15 2011 +0100 - - Mark nearInode as unused - - When we're building an inode fileserver, we use the nearInode hint. - The IH_CREATE macro just throws this hint away if we're building namei, - which leads to compiler warnings about set-but-unused variables. Just - flag nearInode as being potentially unused in order to suppress these - warnings. - - Change-Id: I25022dc859974e9311e4530a9eeee8ab1d77c373 - Reviewed-on: http://gerrit.openafs.org/4999 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 85b8372b44036f4e10cb30e9dbdd572700d10aaa -Author: Simon Wilkinson -Date: Wed Jul 13 14:23:22 2011 +0100 - - Don't split int64s when we don't need to - - Now that we're always using an int64, and never a hyper_t, to represent - 64bit integers, we can just print them out and assign them using the - native tools, rather than having to call SplitInt64. Simplify our code - to do so, which also avoids some gcc-4.6.0 warnings. - - Change-Id: I12cfb5401d0431be2a4fefdfc5e1f52df7d5764d - Reviewed-on: http://gerrit.openafs.org/4998 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8df379696ca6303cd2e4cd3eed34e4552725853b -Author: Simon Wilkinson -Date: Wed Jul 13 14:03:59 2011 +0100 - - afsio: Remove unused 'code' value - - main always return 0, so don't bother getting an exit value back from - cmd_Dispatch that we have no intention of doing anything with. - - Change-Id: I0085adbfdb886d89acc7f4203ddb6f7a10281dfc - Reviewed-on: http://gerrit.openafs.org/4997 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 093b5108a37576762e424a33d2254edab0ac0b60 -Author: Simon Wilkinson -Date: Wed Jul 13 14:02:54 2011 +0100 - - uss: Remove unused variables - - Remove assorted unused variables, both those used to capture error - returns, and so unused (but initialised) string pointers, to make - gcc 4.6.0 happier. - - Change-Id: I8cdcfb7175b48c79ce2b1a312d6a5fe6ab5c1989 - Reviewed-on: http://gerrit.openafs.org/4996 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 96b4f4be970b16238aba84be7dcef9f5c09c3496 -Author: Simon Wilkinson -Date: Wed Jul 13 14:02:03 2011 +0100 - - scout: Remove unused error codes - - Remove unused error returns, and make gcc 4.6.0 a little bit happier - - Change-Id: Ic1fe541ed860a739ac3e2aa2978cbb8b92ec1a8d - Reviewed-on: http://gerrit.openafs.org/4995 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d6b1573995120cc8167bb87032274e04bd918880 -Author: Simon Wilkinson -Date: Wed Jul 13 14:00:30 2011 +0100 - - libadmin: Remove unused error codes - - A number of functions in the libadmin vos implementation set up - error values, and assign them to 0, but never actually use them - for anything (either further assignment, or returning to the user) - So, just remove these unecessary variables, and make gcc 4.6.0 a - little happier. - - Change-Id: Ia4a4a7d8cda855d904f2a84092928f227ea83f3b - Reviewed-on: http://gerrit.openafs.org/4994 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fa71561e493003585e977bdf0e513b0979319a72 -Author: Simon Wilkinson -Date: Wed Jul 13 13:59:05 2011 +0100 - - bozo: Remove unused error codes assignments - - This removes a couple of unreported error code assignments. Firstly, - the return from 'setsid' was being assigned to 'ec' and promptly - ignored, and secondly, the response from SendNotifierData was - being ignored. As there is nothing sensible to do with these error - codes, just ignore them properly. - - Change-Id: Ifff8c7b5b7950e467570d26ce5f92fe5f11a51e9 - Reviewed-on: http://gerrit.openafs.org/4993 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 00061610b9db83ca9510e485e49379eeb6f9e082 -Author: Simon Wilkinson -Date: Wed Jul 13 13:57:12 2011 +0100 - - afsmonitor: Fix set-but-unused variable warnings - - Tidy up the afsmonitor code to remove gcc 4.6.0's set-but-unused - variable warnings. These are all assignments to error code - values which are never checked, or reported. - - Change-Id: I8d48a6defe848d7cf477ac747aa330fc8ed1b276 - Reviewed-on: http://gerrit.openafs.org/4992 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cd8ebb14e59e58bf3c76815d22f3b796faee3827 -Author: Simon Wilkinson -Date: Wed Jul 13 13:55:39 2011 +0100 - - libafs: Remove support for length optimisation - - At one point afs_StoreAllSegments had an optimisation to speed up - stores. However, that optimistation used the chunkLength without - taking appropriate locks, and was disabled. The variable assignments - which still exist from this code cause errors with gcc 4.6.0, so just - remove them. - - Change-Id: I86547d94280d7f07214fbf6ef5b3db61c9781e59 - Reviewed-on: http://gerrit.openafs.org/4991 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 6a03341df67e8330f6f801deb3a70e529cedb2a6 -Author: Simon Wilkinson -Date: Wed Jul 13 13:54:52 2011 +0100 - - libafs: Fix warnings in PPrefetchFromTape - - The PrefetchFromTape pioctl had a number of set-but-unused variable - warnings. Tidy up the code to remove these warnings. - - Change-Id: I358f7e31ab8e9f03447675be40dc8571650dbe72 - Reviewed-on: http://gerrit.openafs.org/4990 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4e9a49c58aa1a6c910b01fe995739d0852c75dd4 -Author: Simon Wilkinson -Date: Wed Jul 13 13:53:08 2011 +0100 - - libafs: Fix statistics for PrefetchFromTape pioctl - - The PrefetchFromTape pioctl was overloading SetAcl's statistics. Give - it a slot of its own. - - Change-Id: I5698f8861af1b5e9771d138ca93a28f676df349b - Reviewed-on: http://gerrit.openafs.org/4989 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit beaf9a4e3e39af87cda4f312917f09974b51a5ef -Author: Simon Wilkinson -Date: Wed Jul 13 13:48:07 2011 +0100 - - libafs: Remove unused DNLC LRU code - - The LRU code in osi_dnlc_lookup has never been enabled in OpenAFS, - and causes compilation errors with gcc 4.6.0 - just remove the unused - code and its associated variables. - - Change-Id: Ifc09bbb857406b9bfcbf436c35e36289567f65cf - Reviewed-on: http://gerrit.openafs.org/4988 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 37f41897fb9d28e32c8def34790d653ef585400f -Author: Simon Wilkinson -Date: Wed Jul 13 13:45:33 2011 +0100 - - libafs: Remove unused NAT markeddown code - - Remove unused code which used to retry once when a server was - marked down due to a bad NAT. This code has never been enabled - in OpenAFS, and causes compile errors with gcc 4.6.0 - - Change-Id: Idc978a68e81ccb761117c97200607e30c98627dc - Reviewed-on: http://gerrit.openafs.org/4987 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8adf4cd0b0ae319b9610cd5caad050f973200ca7 -Author: Garrett Wollman -Date: Mon Jul 11 06:31:41 2011 -0400 - - util: introduce a common interface for setting thread names - - A previous change added support for setting thread names/titles to - viced; this change moves the #ifdef spaghetti to src/util in - preparation for calling it from other places where it would be - useful. Two functions are defined, one for setting an arbitrary - thread's name (as might be done by the spawning thread) and one - for setting the current thread's name; the latter is also defined as - a macro for non-pthreads compilations so that it can be called - unconditionally (the interface does not reference any - pthread-specific data types). Note that some platforms, Mac OS X - in particular, do not allow setting the name of a different thread. - - The two functions are defined as no-ops for Windows as our pthreads - emulation layer for Windows does not provide the needed mechanism. - - Make viced use the new interface. - - Change-Id: I58c65a28772d8d188c03d6ff3a6f052889362fb7 - Reviewed-on: http://gerrit.openafs.org/4966 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 470bab9d564a7be8cdaf808c3d8dda3457821b2f -Author: Simon Wilkinson -Date: Wed Jul 13 14:46:00 2011 +0100 - - Add PERLUAFS to libuafs's git ignore - - Change-Id: I0067ba4c9b4f2b57ded862bc5cfe33a2c419d108 - Reviewed-on: http://gerrit.openafs.org/5004 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f775c0fb6f9191dcf5d226bfddbf82f52cd1116c -Author: Simon Wilkinson -Date: Wed Jul 13 11:53:57 2011 +0100 - - Add make dist and make srpm targets - - Add targets to generate distribution tarballs, and srpms, from a tree. - These will generate packages for whatever the current HEAD of the tree - is - if the HEAD is a release tag, then the packages will be named for - that release, if the HEAD is between releases, then git describe will - be used to create an appropriate version identifier. - - The tarballs are generated from the current git repository contents, - anything not checked in will not be included. - - Change-Id: Ic5cde2382f973a004406e0ef0f09708d0ba0ad5f - Reviewed-on: http://gerrit.openafs.org/4984 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6a27e228bac196abada96f34ca9cd57f32e31f5c -Author: Simon Wilkinson -Date: Tue Jul 12 17:58:16 2011 +0100 - - rpms: Use git version information - - Use the git version information when building RPMS, rather than hard - coding it into configure.ac. - - Change-Id: I477629b4102f48a9669ff67aae429c08862a5afc - Reviewed-on: http://gerrit.openafs.org/4983 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4470d849ec731c97dd2fb02dc6cbfe777949b510 -Author: Derrick Brashear -Date: Tue Jul 12 13:46:53 2011 -0400 - - macos: note additional vfs features - - currently we have inode numbers which do not change. note it. - additionally, we support large files. note it. - - Change-Id: I77090d3ccc3ba9952e14f2be13946ef2e91a6af7 - Reviewed-on: http://gerrit.openafs.org/4973 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8bface302c14698a14b7b988e1a7714e84415c04 -Author: Ken Dreyer -Date: Thu Jul 7 08:55:51 2011 -0400 - - Red Hat: update build script for newer Fedora versions - - Remove old Fedora versions and add the currently-supported ones. - - Change-Id: Ib514328cf944ea601028fb99273046cb2f5ea828 - Reviewed-on: http://gerrit.openafs.org/4925 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2d794a5e5d8154b096596f45bed93cc41b36005a -Author: Antoine Verheijen -Date: Fri Jul 8 11:47:39 2011 -0600 - - Remove pre-existing assert macro in hcrypto header. - - The config.h header for hcrypto defines an assert macro for - use by RX. OpenBSD already has an assert macro definition so - this new one causes screaming by the compiler about - re-definition. This patch adds the directives to remove any - pre-existing definition of assert, if one exists, prior to - defining the new one. - - Change-Id: I01d5a1f26617fecfd0ffcc3930a7c7881beb8183 - Reviewed-on: http://gerrit.openafs.org/4958 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 02aa30893f79b0a3d3ed75da987e20d48071c5df -Author: Michael Meffie -Date: Mon Jul 11 15:45:11 2011 -0400 - - salvager: do not redefine SalvageVolumeGroup - - Do not use the c preprocessor to redefine the SalvageVolumeGroup() - function name. - - Change-Id: I3d48ee28dc03be702d0427d74725ff1e99ec6411 - Reviewed-on: http://gerrit.openafs.org/4965 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5ec998a016ffcbb1e88bd4eb3b12b3735a0c0cca -Author: Derrick Brashear -Date: Tue Jul 12 13:37:56 2011 -0400 - - macos: fix shlib link list - - link shared libs from the right place, lib not etc - - Change-Id: I3d58d1f65b479b7c23c1bb0978eacea99b114541 - Reviewed-on: http://gerrit.openafs.org/4971 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 84a3c4714fce3c1722802963e1fcc4d7dad8cc55 -Author: Simon Wilkinson -Date: Tue Jul 12 01:45:10 2011 +0100 - - rpms: Fix handling of x86 architectures - - Once upon a time, our specfile would assume that if you were - building for i386 you were building userspace, and that i586 or i686 - implied doing a kernel only build. This is no longer the case, and - now everything on modern Fedora is built for i686, so we should adapt - the spec file for this. - - Change-Id: Ia56b9b15d0b28672a8411417d38937ed45ee93a1 - Reviewed-on: http://gerrit.openafs.org/4970 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 15c073887b905adaef301863ed87c49f9d77b394 -Author: Simon Wilkinson -Date: Mon Jul 11 20:21:17 2011 +0100 - - rpms: Fix our %version handling - - When we're doing version requirements in -devel package Requires: - lines, we should be using %{version}-%{release}, not just %{version} - - FIXES 130137 - - Change-Id: I2d10c6fa362d3cbfa786c270996fa8ae75b9db20 - Reviewed-on: http://gerrit.openafs.org/4969 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 82e772bed034ea278e7a7a1b4422d75cc14576dd -Author: Michael Meffie -Date: Tue Jul 12 08:15:31 2011 -0400 - - salvager: check namei linktable header magic - - Recreate the namei linktable file if the header magic - is bad. - - Change-Id: I1e8c2d101cf1dd1d375a965684d95f6708e8c601 - Reviewed-on: http://gerrit.openafs.org/4968 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 27af8b4b537236d8c678465d034721dd220641c8 -Author: Jeffrey Altman -Date: Mon Jul 11 23:49:58 2011 +0100 - - Windows: always open dscp in smb_ReceiveNTTranCreate - - There were two code paths in smb_ReceiveNTTranCreate that included - asserts in case the directory cm_scache_t object had not been - evaluated. RT129299 contains a report that at least one of - them had been tripped in production. There is no reason to avoid - evaluating the directory scp. It must exist in the cache and - obtaining a reference in all cases simplifies the logic of this - overly complex function. - - FIXES 129299 - - Change-Id: I7b32c81f11c3fef53f8a21a44f3594d5cd9e1552 - Reviewed-on: http://gerrit.openafs.org/4967 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ee05a1b086cf0613b340da9d977658e309981ea3 -Author: Garrett Wollman -Date: Fri Jul 8 00:09:43 2011 -0400 - - viced: If platform supports setting a thread title, do so - - Some pthread libraries support setting a name or title for individual - threads (analogous to setproctitle() for processes). This can be useful - for debugging and is sometimes published for use by utilities like ps - (again like setproctitle() for processes). The two most common variants - of this have the same signature with slightly different function names. - If either one is present, use it in viced (which already assigns a thread - name when compiled for LWP but ignores it in pthreads compilations). - - Change-Id: I5486aa6a21dbc3c8885b94ad52c2b1a66baae81f - Reviewed-on: http://gerrit.openafs.org/4950 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 52fee7140325d905f01798d7c5724744b606ac06 -Author: Jeffrey Altman -Date: Mon Jul 11 00:19:17 2011 +0100 - - Windows: Move file server lock releases to daemon - - Create a new lock daemon thread which performs regular - cm_LockCheck() calls. If a lock is deleted check the cm_scache_t - to see if the matching file server lock should be dropped. If yes, - drop it. - - This effectively caches file server locks for two seconds after - they are released to provide a chance for subsequent local lock - requests on the same file to avoid a file server RPC. It also - ensures that windows processes do not thrash the file server and - force callback breaks. - - Change-Id: I1c452e231ff282d9b45026aed1b02ab0c5932a77 - Reviewed-on: http://gerrit.openafs.org/4964 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1accef4e77c8cad518d728d15fbd194bebd49f33 -Author: Ken Dreyer -Date: Thu Jul 7 10:39:10 2011 -0400 - - Red Hat: use repoquery to find kernels in build script - - Remove the custom yum Python code in favor of repoquery. - - Change-Id: Ifb185297666e5365974c342814ed3c2d2a54092e - Reviewed-on: http://gerrit.openafs.org/4926 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3559e5c8edd90ffb17e8f3b722ff014654bae336 -Author: Antoine Verheijen -Date: Fri Jul 8 11:13:59 2011 -0600 - - OpenBSD: Add header for - - On OpenBSD, the header requires the TAILQ_* macros - which are defined in . The latter is not automatically - included by . This patch makes sure that it is - available by putting it into the OpenBSD-specific param.h files - (so as not to impact any other OS). - - Change-Id: I8281b085eed2a6dec1f096ad9a6e96078c1e4af0 - Reviewed-on: http://gerrit.openafs.org/4956 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 53434c828d0fed96a90e8f984460c323282c4d7b -Author: Garrett Wollman -Date: Fri Jul 8 22:40:27 2011 -0400 - - viced: indent nested preprocessor directives - - Make viced.c look more like other source files by indenting nested - preprocessor directives. In a few case it made more sense to - eliminate the nesting. This should otherwise be a whitespace-only - chnage. - - Change-Id: I895ea2f754f90a15daa73cea24d3da9576fff9c9 - Reviewed-on: http://gerrit.openafs.org/4959 - Reviewed-by: Simon Wilkinson - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 99b43273c0203881ea3d2d50f0abf000cdc0b03e -Author: Jeffrey Altman -Date: Sun Jul 10 03:43:45 2011 +0100 - - rx: prevent connection channel assignment race - - When rx was converted to use pthreads, the code that allocates - a call to a connection channel in rxi_ReceivePacket() was not - made thread safe. The code prior to this patchset permitted a race - in the server connection case. The rx_connection channel assignment - in rxi_ReceivePacket() and the call destruction in rxi_FreeCall() - and rxi_DestroyConnectionNoLock() did not consistently protect the - rx_connection channel array using the conn_call_lock. - - This race could result in rxi_ReceivePacket() operating on a - rx_call which was disconnected from the previously assigned - rx_connection. - - In addition, the code in rxi_ReceivePacket() that was intended - to protect the allocation of a call using rxi_NewCall() to the - connection channel array was racy with itself. - - This patchset consistently applies the conn_call_lock to protect - the allocation / deallocation of calls to the connection channel - array and in the process simplifies the logic in rxi_ReceivePacket() - as it is no longer necessary to protect against a null call pointer - since the race can no longer be lost. - - Change-Id: Id61b55b4d1d57a2b9b35ea942545ef4bdc8d33f3 - Reviewed-on: http://gerrit.openafs.org/4963 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 88b4e2e52799cfa5999cbc22873407ec8b77766a -Author: Jeffrey Altman -Date: Sat Jul 9 15:29:05 2011 +0100 - - windows: include cmp_Cmd_Ref_3_en_US component - - when building installers actually include the html 3 man pages - - Change-Id: I03e47d24fa79c888dc49a9dba7e0388dafe6ce59 - Reviewed-on: http://gerrit.openafs.org/4961 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da6c97678f530ca76334613e229337a75f94e297 -Author: Jeffrey Altman -Date: Fri Jul 8 15:27:22 2011 -0400 - - Windows: out of order lock smb v3 locking - - Do not obtain the smb_rctLock after holding the cm_scache_t->rw - lock. - - At most one hold is required in case of lock failure. Obtain - it as the start of processing and drop it at the end if not required. - - Change-Id: I370321b087df480336c833d68e348d7f62d227b3 - Reviewed-on: http://gerrit.openafs.org/4955 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 3505c444f681c8bfed3638b7393f3f40449492b5 -Author: Andrew Deason -Date: Fri Aug 14 16:32:54 2009 -0500 - - Add AFS::ukernel libuafs perl bindings - - Add the SWIG-generated AFS::ukernel perl module, which provides perl - bindings to libuafs calls. - - Change-Id: I5ce480944a8c97cbca72c80e79fc40c0edb0962f - Reviewed-on: http://gerrit.openafs.org/2048 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bbd505a8e191f69179f8dc245e0d7f96310db275 -Author: Andrew Deason -Date: Fri Jan 21 17:38:24 2011 -0600 - - Add afsload - - Add afsload, a set of scripts used to synchronize the activity of - numerous libuafs cache managers for testing/simulation purposes. - - Change-Id: I6f797d5968ea4ba3c29c1b13251f743c7d02d60d - Reviewed-on: http://gerrit.openafs.org/4906 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 21edc432dcbb8b14c0a40feb2ea5de1bc0ae81f6 -Author: Andrew Deason -Date: Fri Feb 4 16:23:30 2011 -0600 - - doc: Add support for section 3 man pages - - Generate and install man pages (and their HTML versions) for library - reference documentation in section 3. - - Change-Id: I500818097c6880e0412794661393351ab14461dc - Reviewed-on: http://gerrit.openafs.org/3898 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6548cedbee4ea3e0f1769075717a3c05a5a0127f -Author: Andrew Deason -Date: Tue Sep 22 15:45:09 2009 -0500 - - Add documentation for AFS::ukernel - - Add some documentation explaining some of the minor quirks in - AFS::ukernel; specifically how some functions look a bit different - than in plain libuafs. - - Change-Id: Ib8b18720c3fa6087de98d58ba8381f1ae4fb2f10 - Reviewed-on: http://gerrit.openafs.org/3902 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 21854e03eb6fe70a70ea5fecde5c4ef8074e28c9 -Author: Jeffrey Altman -Date: Wed Jul 6 18:37:02 2011 -0400 - - Windows: Improve logging for StoreMini and cm_BufWrite - - Add trace logging to cm_StoreMini which never had it before. - - Improve the logging of cm_BufWrite by adding the trucPos value - which is the new length of the file that is being reported to - the file server. - - Remove cm_buf_t data references when cm_BufWrite is performing - operations using rx_Writev and iovec structures. - - Change-Id: I28798eb2232e739f665eb51499305a7a1898f824 - Reviewed-on: http://gerrit.openafs.org/4924 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1ac219f537f75ac5835f750d4c9e5f4dc684c2de -Author: Jeffrey Altman -Date: Wed Jul 6 18:34:05 2011 -0400 - - Windows: Refactor cm_Unlock*() to avoid code duplication - - cm_Unlock() and cm_UnlockByKey() duplicate a significant amount - of code. Refactor it into a new static function, cm_IntUnlock() - which handles the process of downgrading or releasing a file - server lock depending upon the lock state of the cm_scache_t - object. - - Change-Id: Ic5db7b3928fc0477f155183326321717ea04ace0 - Reviewed-on: http://gerrit.openafs.org/4923 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1a56229910a67cc782959beb45f56d244d6b3c4f -Author: Jeffrey Altman -Date: Wed Jul 6 18:19:31 2011 -0400 - - Windows: Do not probe new servers from cm_UpdateVolumeLocation - - cm_NewServer() can result in a call to cm_UpdateVolumeLocation() - if a server probe is performed. In order to avoid recursive - calls to cm_UpdateVolumeLocation() do not probe new servers from - within cm_UpdateVolumeLocation(). - - Change-Id: Icdb8efe030ae3e1f714ca72ad741bd38c692697f - Reviewed-on: http://gerrit.openafs.org/4922 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e1e008338639d6cc0d836ff8079e6fb42021ab9e -Author: Andrew Deason -Date: Wed Jul 6 15:22:38 2011 -0500 - - afs: Use 64-bit inode numbers - - When we have a 64-bit ino_t, use the full 64 bits, instead of always - limiting ourselves to 32 bits. - - Change-Id: I8f9f552b230e1723c8b77bfe92213ca43816240c - Reviewed-on: http://gerrit.openafs.org/4921 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2dc7ee2757f6d2ac7c2ff21ec4a9936719e884b5 -Author: Andrew Deason -Date: Wed Jul 6 14:21:53 2011 -0500 - - afs: Consolidate afs_calc_inum - - Instead of having two separate afs_calc_inum functions, just have one - afs_calc_inum, and split off the md5 inode code into its own function - under a LINUX20 ifdef. - - Change-Id: I400d2e70403905da40055238ffc2bb785659e9e0 - Reviewed-on: http://gerrit.openafs.org/4920 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3a33ce4a336223ac8aebe2fc24fd69459ab9e9db -Author: Andrew Deason -Date: Wed Jul 6 16:23:23 2011 -0500 - - afs: Use afs_calc_inum everywhere - - The algorithm for calculating inode numbers was copied in several - places in libafs. Make them all use afs_calc_inum instead. - - Change-Id: Ie835a0b92bf940b78090fd7ca4e36aace1df9767 - Reviewed-on: http://gerrit.openafs.org/4919 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 42943aead4db2bdf9b8ec01c3917eb1c9ac9eb76 -Author: Andrew Deason -Date: Wed Jun 22 14:39:39 2011 -0500 - - afs: Use cell for md5 inode numbers - - When calculating the inode number for a file with md5 inodes, include - the cell number in the calculation, in order to reduce collisions - between cells. - - Change-Id: I4b939042dd993419f785a78e87e68cf346b56e26 - Reviewed-on: http://gerrit.openafs.org/4902 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 0a51946f7c5ca499e305f10c4c1c6cd556dbd1a7 -Author: Andrew Deason -Date: Tue Jul 5 17:13:57 2011 -0500 - - uss: Suppress more warnings from lex.yy.c - - Specify -Wold-style-definition when compiling lex.yy.c. This allows us - to compile when --enable-checking is specified and our lex generates - code with old-style function definitions. - - Change-Id: I09c87fd6274b5850952a8aaf63f0e3358100d567 - Reviewed-on: http://gerrit.openafs.org/4905 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 39083fe1edab784fcd75eacbdaaf7f6affa14c9f -Author: Andrew Deason -Date: Wed Jun 22 13:44:38 2011 -0500 - - afs: Ensure afs_calc_inum yields nonzero ino - - afs_calc_inum can currently yield an inode of 0 if MD5-based inode - numbers are turned on. Some userspace applications (and for some - platforms, maybe even the kernel) make certain assumptions about the - inode number for a file; in particular for example, 'ls' will not - display a file with inode 0 in a normal directory listing. - - So, read the md5 digest until we get a non-zero result. Fall back to - the non-md5 calculation if we still somehow end up with a 0. - - While this case may at first glance seem to be extremely rare, in - practice it can occur, as the current calculation for volume - 538313506, vnode 26178 does actually yield a 0. - - Change-Id: Iee1ef4cc2ad66269f2c677e29d586ef0964d7c70 - Reviewed-on: http://gerrit.openafs.org/4901 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 34bdd979fc487843c26f15655b94eac7c8f98fee -Author: Anders Kaseorg -Date: Tue Jun 14 15:24:42 2011 -0400 - - Treat Linux 3 as Linux 2.6 - - Linux 3.0 is just a rebranded Linux 2.6.40, so we can use the same - sysname and the same code. - - Change-Id: I154334dc5b73980a0d9b8abd9fd6645994f63829 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/4843 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - -commit cdd9f78f058f6d6c67d52d8b28a66f24065702d9 -Author: Andrew Deason -Date: Wed Jul 6 12:33:53 2011 -0500 - - Add a few missing .gitignore entries - - Change-Id: Ibe1498c504defc0e1779b8764c091a98576a588a - Reviewed-on: http://gerrit.openafs.org/4904 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 78e39417af6d2b87f0cbda0b5d3bb3e4859dc0ba -Author: Andrew Deason -Date: Fri Jul 1 16:58:06 2011 -0500 - - vol: Don't always FDH_REALLYCLOSE on linktable ops - - If we dec a linktable entry or get a free tag from the link table, - there is no reason to FDH_REALLYCLOSE the linktable fd handle. - FDH_REALLYCLOSE is the same as FDH_CLOSE, except that it tells the - ihandle package that the file handle will not be used again soon. If - we dec a linktable entry or get a free tag, there is no reason to - think that, so just FDH_CLOSE the handle instead. - - Change-Id: I5f48a78528a75b984201f9ee0563b142ef59baf9 - Reviewed-on: http://gerrit.openafs.org/4903 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1ecac71e50e75ce5a45e297d57c480e850975af7 -Author: Andrew Deason -Date: Fri Jul 1 14:25:05 2011 -0500 - - DAFS: Do not clear salv state on fssync salvage - - When a volume is put into an error state via the FSYNC_VOL_FORCE_ERROR - command, we clear the salvage state informaton on it, since we're - forcing it offline and thus inaccessible. However, if we are forcing - it to an error state because the volume needs salvaging, we just - salvage it. In this case, do not clear the salvage state, since we - need to know if we've already requested or scheduled a salvage so we - can correctly keep track of the number of salvages performed. - - Change-Id: Ic4efd7a78bfb1b99a5308f0c67e81f4779dfe545 - Reviewed-on: http://gerrit.openafs.org/4900 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9929d1c6fcd63a2a1d250cc36f4858b0fbba02af -Author: chas williams - CONTRACTOR -Date: Wed Jun 8 10:44:21 2011 -0400 - - doc: epub and mobi support - - .epub is generated using dbtoepub which is still considered alpha - software apparently and installed in a non-standard place. for now, - use the docbook stylesheet location to find it. .mobi is generated - using kindlegen from the .epub in order to have a real toc. - - there is some preprocessing with a custom stylesheet to make - things "look right". see mobi-fixup.xsl.in - - Change-Id: Ice92e701e2f921e70c0f98683b5e9ab44a347e3b - Reviewed-on: http://gerrit.openafs.org/4887 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 31a001f60e5fe729b315f679d1d43b367bd74ea5 -Author: Andrew Deason -Date: Wed Jun 29 13:51:22 2011 -0500 - - SOLARIS: Granular multiPage detection - - Currently, a struct vcache has a multiPage counter, indicating how - many afs_getpage requests are in-flight for that vcache that involve - retrieving multiple pages. Any dcache associated with such vcaches are - then avoided when choosing dcache entries to evict from the cache, - since we may deadlock when trying to evict a dcache entry from one of - the earlier afs_GetOnePage calls in a particular afs_getpage request. - - This behavior can cause the client to become unusable if the cache - becomes full, and the only items in the cache are dcache entries in a - file that has an in-flight multi-page afs_getpage request. Since, in - that case, we cannot kick out any entries from the cache, and so we - wait forever to wait for the cache utilization to go down. - - To prevent this from occurring, record exactly which ranges in the - file have in-flight multi-page afs_getpage requests, and just avoid - dcache entries in those ranges. This way afs_GetDownD can evict dcache - entries in the same file, but still avoid entries that would cause a - deadlock. - - Also add some comments explaining this situation a bit more. - - Change-Id: Idb305c8b7511065301739542772d16d4fe8cd574 - Reviewed-on: http://gerrit.openafs.org/4896 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 8017773587bf28a58e480f634fdccc287c443d3b -Author: Andrew Deason -Date: Fri Jun 24 16:23:13 2011 -0500 - - Remove nonsensical bozon-lock defines - - Currently there are two preprocessor defines related to bozon locks: - AFS_BOZONLOCK_ENV, and AFS_NOBOZO_LOCK. The former creates the pvnLock - member of a struct vcache, and controls calls to e.g. afs_BozonLock in - cross-platform code. The latter, if defined, turns calls to e.g. - afs_BozonLock into no-ops. - - It doesn't make any sense to have both of these, since if - AFS_BOZONLOCK_ENV and AFS_NOBOZO_LOCK are defined, the pvnLock member - exists but is never used, since afs_BozonLock &co are no-ops. On - Solaris, the only platform where AFS_NOBOZO_LOCK is currently defined - (DUX used to define it before DUX was dropped), this is the case. - - So to make things a bit more clear, get rid of the AFS_NOBOZO_LOCK - define, and just use AFS_BOZONLOCK_ENV to dictate whether we do - anything with bozon locks (ppc_darwin_80 appears to be the only - platform at this time). - - Remove AFS_BOZONLOCK_ENV from Solaris param files, since it doesn't - use bozon locks. Remove all references to pvnLock in Solaris-specific - code. - - Change-Id: Id72c14ec5485d35b853d38e2ea1a944a385f2b5b - Reviewed-on: http://gerrit.openafs.org/4889 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e4c2810f41ccc0ffd13506ff82811e4484090e5a -Author: Andrew Deason -Date: Fri Jun 24 15:25:46 2011 -0500 - - Remove support for Solaris pre-8 - - Remove support for all Solaris and SunOS platforms prior to Solaris 8, - since Solaris 7 reached end-of-life in August of 2008. Remove all - non-documentation references to sunx86_57 and earlier, sun4x_57 and - earlier, and AFS_SUN57_ENV and earlier. - - References to AFS_SUN58_ENV have been changed to AFS_SUN5_ENV where - appropriate, and AFS_SUN5_ENV now implies Solaris 8. - AFS_SUN57_64BIT_ENV has been renamed to AFS_SUN5_64BIT_ENV. - - Change-Id: Ia64ce7da7bfc685fa28a5119c51ec740625456e3 - Reviewed-on: http://gerrit.openafs.org/4888 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a4e3c3be697bb99ee4846c99550cd2b52929cdca -Author: Jeff Blaine -Date: Tue Jun 28 22:58:29 2011 -0400 - - Change wiki ref to wiki.openafs.org from stanford.edu - - Change wiki ref to wiki.openafs.org from stanford.edu - - Change-Id: I2bb70d79da529aee7a810264542aa3b381dcb972 - Reviewed-on: http://gerrit.openafs.org/4897 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f0774acd73b4698be72a5a6c46534fec7dab621c -Author: Jeff Blaine -Date: Thu Jun 16 19:58:49 2011 -0400 - - Introduce TAP tests of man pages for command_subcommand - - Introduces the first batch of man page testing as part of - the TAP tests. We would like to fail, for example, when - someone has added a new command to vos but not AHEM documented - it. - - For now, the tests consist of checking to ensure that for - every subcommand listed in the output of "command help" - (e.g. vos help), fail the test if there is not a man page - for those (e.g. vos_delentry.1 etc). - - Copy any of the -man-t tests and edit to make a new one - - All tests make use of a simple new Perl library stored - in tests-lib/perl5 (a new area, not just named 'lib' - because I didn't want it to be confused with a s test - for a 'lib' in the src). - - Change-Id: I1e07adafe718c4549f1855c5e5b0d10dd9ab5f00 - Reviewed-on: http://gerrit.openafs.org/4846 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 73aadede037ade30dd0bf5307b8ec0c974b570ac -Author: Jeff Blaine -Date: Fri Jun 17 17:24:54 2011 -0400 - - Styling tweak for generated HTML man pages - - Prefer "Georgia" as a typeface over the less readable - Times New Roman, but with Times New Roman then "serif" - as fallbacks. Georgia is available everywhere. - - Provide 10px top/bottom and 30px left/right margin on - the main body for readability. Margins are good. - - For review: - - Old: - http://docs.openafs.org/Reference/8/kas_apropos.html - New: - http://kickflop.net/openafs-man-20110617/kas_apropos.html - - Change-Id: I687b2007ef56019c5b683a43ac3811426ec825b0 - Reviewed-on: http://gerrit.openafs.org/4850 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 70c5cb7b5dc4068928a84fd9a185e26a3655ee67 -Author: Jeffrey Altman -Date: Tue Jun 28 09:35:02 2011 -0400 - - rx: race in rx_multi processing - - multi_Init() registers an arrival procedure which is called when - the first response packet for the call arrives. If the call times - out the multi_Body loop will call rx_EndCall() and then set - multi_h->calls[multi_i] to NULL. If the first data packet of the - call arrives before rx_EndCall() is executed, then the arrival - procedure, multi_Ready(), will be executed adding the call to the - firstNotReady list. When the multi_Body loop attempts to process - the call from the firstNotReady list it attempts to dereference - the NULL multi_call. This race was introduced by - be4abb4ec83a47477b254f2b3375742c4efbb063. - - multi_h->calls[multi_i] is set to NULL as an indicator to - multi_Finalize() that rx_EndCall() has already been processed - for the call. When rx_EndCall() is executed the arrival - procedure is cleared. - - If rx_EndCall() has already been processed, the fact that - the arrival procedure has been executed must be ignored. Add - an additional check in multi_Body for a non-NULL call pointer - to skip the startProc and rx_FlushWrite processing on the - no longer existent call. - - Note that it is not safe to hold onto the call reference after - rx_EndCall() has been processed since the call slot may be - reused for a new RPC before the multi processing on all calls - is complete. - - Change-Id: Ib4694a7e1d133f621d15e79534a42f780b141e34 - Reviewed-on: http://gerrit.openafs.org/4890 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 131cbaa0cf74a7b3ca24ec971a9495c8dbd73e6a -Author: Jeff Blaine -Date: Wed Jun 8 20:56:46 2011 -0400 - - Change -n to -dryrun for backup subcommands - - Change -n to -dryrun for "don't do it, show it though" operation - to be in line with agreement on -dryrun in place of -noexecute - or -n. Updated man page POD sources to reflect the changes - and updated README to remove these specific todo line items. - - Change-Id: I5c1361dcc866ea3d1efbb0c0ddcd4a7fe513c816 - Reviewed-on: http://gerrit.openafs.org/4827 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c643f455cbe8e99ebb062427abcfec8e75a5e1a4 -Author: Jeffrey Altman -Date: Mon May 30 00:15:43 2011 -0400 - - vos: refactor ListAddrs - - refactor ListAddrs to be more readable. Clarify that -uuid and - -host cannot be issued at the same time. Rename 'nentries' to - 'max_index' so it is clear that ubik_VL_GetAddrs() is issued - to set an upper-bound for the number of subsequent ubik_VL_GetAddrsU() - calls that are issued when neither -host nor -uuid are specified. - - Change-Id: Icbd511722728396fda837abba39a3e6809f4d26c - Reviewed-on: http://gerrit.openafs.org/4754 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 51fa590e704c77c0e9ba873ecb854448885030a5 -Author: Jeffrey Altman -Date: Mon Jun 27 09:31:54 2011 -0400 - - Windows: MergeStatus before SyncOpDone - - cm_SyncOp/cm_SyncOpDone is used to synchronize the RPC processing - to ensure that calls which are in conflict cannot occur at the - same time but also to ensure that the ordering of operations - is consistent. cm_MergeStatus() was in many cases executed after - cm_SyncOpDone() removed the synchronization barrier which in turn - permitted status information to be applied out of order. Side - effects could have included data loss due to client side file - truncation. More commonly two StoreData RPCs would have their - status information applied out of order forcing the cache manager - to invalidate all of the cached data for the file. - - Change-Id: I8073da701cf11cd0df2b901e81180de7c193ae23 - Reviewed-on: http://gerrit.openafs.org/4891 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9f77a2d6b3d571a928261563763913c8c6ee2938 -Author: Jeffrey Altman -Date: Thu Jun 23 17:51:22 2011 -0400 - - Windows: TRANS2_FIND_FIRST2 for _._AFS_IOCTL_._ - - smb_T2SearchDirSingle() must not fail directory search requests - for the _._AFS_IOCTL_._ file. Although this file does not actually - exist, it is successfully processed by CreateFile operations. - Therefore, an explicit search for it should return a valid answer. - - Change-Id: I9df3443f0bdf0dd05caac74f4de3a0cc64d26800 - Reviewed-on: http://gerrit.openafs.org/4884 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7532b05221caf2c382d9e8c9ca5af4a284566920 -Author: Jeffrey Altman -Date: Thu Jun 23 23:49:32 2011 -0400 - - Windows: Fix SMB_COM_NEGOTIATE for MS11-043 - - MS11-043 adds response validation for SMB_COM_NEGOTIATE messages - received by the SMB Redirector. OpenAFS failed to properly specify - a Challenge and DomainName in the response when the security mode - is SMB_AUTH_NONE (or share with password). This patchset corrects - smb_ReceiveNegotiate() so that it adheres to the protocol specification. - - FIXES 130033 - - Change-Id: I3dc6e571326c7259a39d30bd80b5986ff35c743c - Reviewed-on: http://gerrit.openafs.org/4886 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 358099b21c5c888c02bf3754702ae623378c507d -Author: Jeffrey Altman -Date: Thu Sep 30 10:48:58 2010 -0400 - - Revert "Rx: When call receive is done, send ack all packet" - - This reverts commit 3cd3715e608b801b4848399e42cb47464e6e3cc3, - which replaces an ack with an ackall; ackall processing does - not actually mark all packets acked when it is received, so - it is insufficient. - - Change-Id: I7ee90e1190688570cf3b268229972064480283cc - Reviewed-on: http://gerrit.openafs.org/4837 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 55050f566b1fbf6a2ce3c60ddbb44d0f52d4865b -Author: chas williams - CONTRACTOR -Date: Wed Jun 8 09:42:47 2011 -0400 - - doc: fix dependencies - - index.html might not be built if you are building anything other than - the html/chunk.xsl but in general this is better than before. - - Change-Id: I2e1b98c8a3fce65cb702274d5e276989031e338b - Reviewed-on: http://gerrit.openafs.org/4822 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 137dd2349400a2e372f1f03e0bce327fffcb5e9e -Author: chas williams - CONTRACTOR -Date: Wed Jun 8 09:40:17 2011 -0400 - - doc: prefer fop to generate pdf from docbook - - It would seem xsltproc -> fop -> pdf is the "modern" way to generate - pdf from docbook now. The hard part is finding the stylesheets. - This should work for fedora, sles and debian. Additionally, it brings - some consistency--xsltproc for all the conversions. You can still - override via configure options if you prefer something else. - - Change-Id: Id779e9473a6759daddc9a61be714109b27da980e - Reviewed-on: http://gerrit.openafs.org/4821 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 6770c6c411f2766471b4dc07bd7c66794f95ba63 -Author: Chas Williams (CONTRACTOR) -Date: Thu Jun 9 21:14:05 2011 -0400 - - doc: fix some broken link specifications - - "local" links to section heads inside the same pod page should be written - L instead of L. the other broken links are assorted - typos and capitalization changes. - - Change-Id: I18b57a81d984501309e96dcd4c04582e744a6db2 - Reviewed-on: http://gerrit.openafs.org/4831 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Ken Dreyer - Reviewed-by: Jeffrey Altman - -commit 1ac8468ad94f0bcc51bda41be98575ae62c1cd12 -Author: Jeffrey Altman -Date: Sat Jun 11 23:27:10 2011 -0700 - - roken: add search.h to .gitignore - - Change-Id: Iab524de2757af982b00ff09048b6cb4ee34d797e - Reviewed-on: http://gerrit.openafs.org/4879 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f5349051abebd15fc2f2d77ff5b6dc81e09bdf47 -Author: Andrew Deason -Date: Tue Jun 21 16:25:14 2011 -0500 - - DAFS: Do not attach a specialStatus'd vol - - If we encounter a preattached volume during GetVolume, we currently - ignore vp->specialStatus before trying to attach. However, we will - generally always fail to attach due to a conflicting vol op, but even - if we don't, GetVolume always returns an error later on if - vp->specialStatus is set. So, same some processing and attempted - attachments by bailing out sooner if vp->specialStatus is set. - - Change-Id: Id5df08fe31073485e4d733c42310b42090ee8e7b - Reviewed-on: http://gerrit.openafs.org/4874 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 926ce3d35018050bdbe8e00011884954d6b0fd80 -Author: Andrew Deason -Date: Tue Jun 21 18:08:21 2011 -0500 - - salvager: Clear summary in RecordHeader - - Not every field in the summary header in RecordHeader is set, leaving - some used uninitialized when we copy to the given volumeSummaryp (like - 'deleted'). Zero out the header before we do anything. - - Change-Id: I94f6e5c8b8c60675de25eb6f8290de9545ff4dd0 - Reviewed-on: http://gerrit.openafs.org/4876 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f2d067b4e48500004236b181dd5a25454f352daf -Author: Andrew Deason -Date: Tue Jun 21 17:51:32 2011 -0500 - - Build a separate copy of vlib for dasalvager - - Currently dasalvager links to vlib.a. But vlib.a is built without any - DAFS defines, and so the size of a struct DiskPartition64 is different - (since dasalvager is built with AFS_DEMAND_ATTACH_UTIL). Build our own - copies of the volume package files instead, with - AFS_DEMAND_ATTACH_UTIL defined. - - Change-Id: I7b9f965fc18b6e6b71275912684ad041aaef19f4 - Reviewed-on: http://gerrit.openafs.org/4875 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 3f47779f51dad3af7b1db43bb3fd71f1dd1b76d8 -Author: Andrew Deason -Date: Tue Jun 21 18:34:46 2011 -0500 - - dir: Remove extraneous printf from Create - - Change-Id: Id226d5457119a9f898aa35bc7b4d4db830a2f7fc - Reviewed-on: http://gerrit.openafs.org/4878 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9f8757650c8985785f0934bead2314a2acff21e1 -Author: Andrew Deason -Date: Tue Jun 21 18:33:16 2011 -0500 - - dir: Fix DRead - - DRead was missing a return statement in one of the cases where we - found the buffer we were looking for, so we locked the buffer but kept - looking. Return it instead. - - Change-Id: If72a0ba3ce60a847f2796b51a82f0f473bbc608a - Reviewed-on: http://gerrit.openafs.org/4877 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 25688bc2e7e8da83b4bf22d7cdc3e0214eadc455 -Author: Andrew Deason -Date: Tue Jun 21 14:58:42 2011 -0500 - - vol: Do not overwrite specialStatus in attach2 - - attach2 wants to set specialStatus to VBUSY in certain conditions - (such as, it discovers a conflicting vol op where VVolOpSetVBusy_r is - true). However, specialStatus may already be set to something else, - like VMOVED if the volume is being moved off of the server. This can - happen if the volserver has checked out and FSYNC_VOL_MOVE'd a - preattached volume but hasn't deleted or checked the volume back in - yet. - - So, if specialStatus is already set, don't touch it, so we don't start - reporting VBUSY errors to clients when we should be reporting VMOVED, - or some other error code previously set. - - Change-Id: Icb2895036620f186230e1558b8bc04d18cc45c86 - Reviewed-on: http://gerrit.openafs.org/4873 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 6b833f575743d4a826750bb6913cd53232a8867f -Author: Simon Wilkinson -Date: Sat Jun 18 15:50:08 2011 +0100 - - rx: Exit fast restart on non-duplicate ACK - - The current code only exits fast restart when we receive an ACK - packet that contains no missing chunks at all. On a network that is - dropping a reasonable chunk of its packets, this means that we spend - most of the call in fast recovery. (I originally found this by running - with the intentionally drop packets feature set to 10%) - - TCP's fast retransmit behaviour is that we stay in fast recovery until - we receive our first non-duplicate acknowledgement. In TCP that means an - acknowledgement that moves the window. In RX, it is an acknowledgment - that ACKs a new packet. - - Change-Id: If8e461dd91315be845397dd1bf42771c9223d156 - Reviewed-on: http://gerrit.openafs.org/4869 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit 91b351e88bdb56bfdfc2f5f16f64bb7522796581 -Author: Simon Wilkinson -Date: Sat Jun 18 13:17:07 2011 +0100 - - rx: Don't limit the # of packets sent in recovery - - The RX transmit engine limits the number of packets sent whilst in - loss recovery to one per invocation of the transmit engine. As the - engine cannot be called by the application thread whilst in recovery, - this means that we end up being limited to one packet per ACK received, - which means that despite a growing congestion window we'll only send - one packet per RTT (in effect, a congenstion window of 1). - - This will remain the case until we exit recovery, and all of a sudden - can send a large number of packets. If this is larger than the current - capacity of the network, we'll probably end straight back in recovery - again. - - Let the congestion window do its job, by removing this arbitrary limit. - - Change-Id: I9f21138662b0918d6d2b885f0fb5ada7fa4c79ec - Reviewed-on: http://gerrit.openafs.org/4868 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit 0b9c9e9973e8d32cdfe1fc884fb2c310cedc0404 -Author: Simon Wilkinson -Date: Sat Jun 18 13:01:35 2011 +0100 - - rx: Don't wait for TQ busy when entering recovery - - Two different threads can cause a call to enter recovery. The event - thread will move a call into recovery as a result of a timeout, or - the listener thread will move it there following a fast retransmit. - - In both of these cases, recovery looks different. In the case of - a timeout, we enter slow start, starting as if we were begininning - transmission for the first time. Following fast retransmit, we enter - fast recovery, with different starting parameters than those coming - from slow start. - - As a reslt, the current behaviour, where either call sitting in - FAST_RECOVERY_WAIT causes the other to simply return is inappropriate. - - Further investigation indiciates that FAST_RECOVER_WAIT is actually - uncessary. There is no harm caused to a thread which is currently - blocked on the network in the middle of a transmit, in adjusting the - window size underneath it. As both of these states collapse the window, - that thread will simply cease sending earlier. - - So, simplify the code, and remove the potential race between event and - listener by removing the FAST_RECOVER_WAIT state. - - Change-Id: Ic2e7606136ca04c869685345b63101c346ce702b - Reviewed-on: http://gerrit.openafs.org/4867 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit e8c4fc4f37912a5d30694caef45d27374e9201e7 -Author: Simon Wilkinson -Date: Sat Jun 18 12:43:44 2011 +0100 - - rx: Enter loss recovery when we retransmit - - Since I mistakenly wrote commit 36e2d13b, RX hasn't entered congestion - avoidance when a loss event occurs. This is bad, because on todays - networks the majority of packet losses are due to some form of - congestion. - - Now that the timeout code has been restructured, the chances of entering - the retransmit routine in error are much much smaller, so this code - needs to be restored. - - This change reverts 36e2d13b55085c996d38b30d003296c602ef8ee3. However, - the original RX code has the problem that it assumes that all forms of - fast recovery are the same - in particular, that the call settings that - result from entering fast recovery due to a fast retransmit are - identical to those resulting from a timeout. This is not the case, and - this will be fixed in a later change. - - Change-Id: Iedb34437db9fcfbc90307b01e566a8d089eef4bb - Reviewed-on: http://gerrit.openafs.org/4866 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit 0118fb5387e656e515d78d48497a48f1e04a1152 -Author: Simon Wilkinson -Date: Sat Jun 18 11:58:57 2011 +0100 - - rx: Add Karn-style backoffs to RX retransmits - - When we retransmit a packet, we may be doing so because the RTT of the - connection has grown dramatically larger than earlier within the call. - However, RX doesn't permit all ACKs to retransmitted packets to be - counted within the RTT calculation. - - So, adopt the same approach as Karn developed for TCP, and as described - in detail in RFC2988. When a retransmit event occurs, backoff the - connection RTT by doubling its value, and hold at this doubled value - until either another retransmit occurs (in which case we back off again, - up to a predetermined ceiling), or we receive an ACK packet which we - can use within the RTT calculation, in which case we drop back down to - the newly measured value. - - This change replaces the per-packet backoff strategy originally - implemented in RX (which, whilst allowing resent packets more chance of - arriving, doesn't help with computing a correct RTT). - - Change-Id: I715dc673a0b379733e3be26fa594ea13f492a58f - Reviewed-on: http://gerrit.openafs.org/4865 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit 784babbea1247660f39463403233589a74c6e73b -Author: Simon Wilkinson -Date: Sat Jun 18 11:48:45 2011 +0100 - - rx: Make clock_Add correctly add to itself - - With the existing clock_Add code, the following: - struct clock a = {2, 800000}; - clock_Add(&a, &a); - gives a clock value of {6, 600000}, rather than the expected {5, 60000}. - - This is because the ordering of instructions leads it to double count - the carry on the seconds field. Reorder the instructions so that the - carry is correctly applied. - - Change-Id: Ia71b387ce521a11e4caf9ec200907efe1d2be8ff - Reviewed-on: http://gerrit.openafs.org/4864 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 280c80152522f32cf34deae96696b1db8aaaa9bb -Author: Simon Wilkinson -Date: Sat Jun 18 11:35:30 2011 +0100 - - rx: Remove resending logic into its own function - - Create a new function, rxi_Resend, which is the entry point to running - the transmit queue as a result of a resend event. This concentrates all - of the resend logic into one place, removes the need for - rxi_StartUnlocked, and means that rxi_Start's arguments don't need to - match those of an event handler. - - Change-Id: I550ebbbae63b7d659bb980eea709a14882038914 - Reviewed-on: http://gerrit.openafs.org/4863 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a80a88e8ba7ac5e2afc5188add482f4e5323128e -Author: Simon Wilkinson -Date: Sat Jun 18 10:46:53 2011 +0100 - - rx: Change the way that the RTT timer is applied - - RX maintains a retryTime for every packet that it has transmitted, - which is held as the time that that packet was sent, plus the smoothed - RTT of the connection. If a packet is in the queue with a retryTime - older than the current time, then it is resent at the first opportunity. - In some circumstances, this first opportunity will be as a result of - the resend event timer expiring, in others it will happen as part of - a normal queue run. - - There are a number of problems with this approach on congested networks. - - Firstly, on a network with a large window size, which is in "normal" - flow, it means that we will never actually perform fast retransmit as - the timeout for this packet will have expired before we have received - any further ACKs. This is because, on a network with a relatively stable - RTT the ACK for packet n+1, n+2, or n+3 cannot arrive before the - expected time of arrival of the ACK for packet n. As we retry - immediately this expected time of arrival has passed, we never have the - opportunity of using these later ACKs to learn that packet n is lost. - - Secondly, the fact that we may resend packets from a "normal" queue run, - rather than as a result of a resend event, means that there is no clear - entry point for resends. As resends should be assumed to be a result of - network congestion, and result in both the call throttling back, and the - RTT being increased, this lack of a clean entry point makes things - tricky. - - As a solution, this patch changes the way in which retransmit times are - applied to use the algorithm described in RFC2988. - - *) Whenever we send a new packet, we start a timer for the current call - rto value if one isn't already running. - *) Whenever we receive an ACK that acknowledges new data, and we have - packets that are sent but not yet acknowledged, we restart the - retransmit timer using the current rto value. - - This alogrithm solves the first problem, as it means that if the - connection is still flowing, we will continue to receive ACKs, and we - can enter fast retransmit. - - In implementation terms, we longer track a retryTime per packet, and - instead simply record if a packet has been sent or not. Packets which - have been sent may only be resent as a result of a resend timer - expiring, or of entering fast retransmit, so solving the second issue. - - Change-Id: Ic1e2b32876197f8a1fb620b7d70c0c3ec3f6bb88 - Reviewed-on: http://gerrit.openafs.org/4862 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: BuildBot - -commit 39484c6e57cf993a713b4a989d1c0c227e6f496c -Author: Simon Wilkinson -Date: Fri Jun 17 22:06:54 2011 +0100 - - rx: Compute smoothed RTT per call, not per peer. - - RX uses the TCP RTT smoothing algorithm as described in RFC2988. - However, the TCP algorithm is designed to accept samples from a - single connection, accepting a new sample once per RTT. - RFC2988 suggests that "when multiple samples are taken - per RTT the [ alogrithm ] may keep an inadequate RTT history." - - In RX's implementation, we use a single instance of this alogrithm - per peer, and input all of the samples from all of the active calls - and connections into this same instance. This leads to us taking - a significantly (potentially many magnitudes) larger number of samples - per RTT, and rapidly losing the RTT history. With RX's implementation, - short lived network events may easily bias the RTT, and cause large - numbers of packets to time out. - - This change fixes this by moving the RTT calculation onto a per call - basis. We still update the peer with our caclulated value, so that new - calls may be created with an RTT corresponding to the current value for - the connection, rather than having to start high and converge downwards. - - Change-Id: I2ed6bce63adf160c03518686ec25cbecc5084f5f - Reviewed-on: http://gerrit.openafs.org/4861 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 53fec2db10ee6a52f3374b62b2d0d7fd791d9996 -Author: Simon Wilkinson -Date: Tue Jun 21 09:34:50 2011 +0100 - - rx: Make testclient build on Unix - - The "testclient" utility is built as part of the build on Windows. - Fix it so that it actually builds on Unix, so we can test changes to - testclient there. - - Change-Id: I751e905f6d9676598e3b7be9ccaf321250804f11 - Reviewed-on: http://gerrit.openafs.org/4872 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5614305853f0f87a2418a6fb7ca472a8ef966084 -Author: Simon Wilkinson -Date: Sat May 14 08:55:50 2011 +0100 - - rx: Reverse the consumption order of idle queue - - Currently, the rx server thread idle queue is used in an LRU manner. - This means that we round robin requests between all of the threads - configured on a given system, which means that we end up thrashing - CPU caches on machines whose workload doesn't require that all of - the configured threads be used. - - Change this so that we always use the most recently idle thread. This - isn't as "fair" to all of our waiting threads, but should mean that we - scale better on SMP machines, as a thread that is recently idle is - likely to have been recently scheduled. - - Performance numbers to follow ... - - Change-Id: I6072183b5ca72754755c3ac854e30a064c4187e5 - Reviewed-on: http://gerrit.openafs.org/4871 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d7d727b87b44d77ca7b108e6d21d9209b5d84c90 -Author: Derrick Brashear -Date: Mon Jun 20 12:31:51 2011 -0400 - - macos: package shared libraries - - include our shared libraries in the package when we have them - - Change-Id: I18a38c69410a7fded361b05479c93698e3d618e2 - Reviewed-on: http://gerrit.openafs.org/4870 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b65944973a24e9365dc1ff118ded4c3a1e25f782 -Author: Simon Wilkinson -Date: Fri Jun 17 20:35:59 2011 +0100 - - rx: Remove incorrect backoff code - - The ACK packet handling routine contains code which causes the - RTT to backoff if the selective ACK response indicates that there is - a missing packet. The comment justifies this code as being in line - with Phil Karn's work on TCP. - - However, the TCP behaviour is that we backoff when we enter resend. Both - TCP and RX have difficulty computing RTTs for resent packets due to the - ambiguous ACK problem. Whilst RX is slightly better than TCP in this - regard, we can't always tell whether an ACK refers to the original, or - resent packet, so resent packets are unable to contribute to the RTT. - This means that if the RTT ends up too low for the connection, and we - start resending every packet, the RTT will never grow to account for - this, as we never feed it any packet samples. - - Karn's solution to this was to backoff (double) the RTT value when we - resend a packet, and then to not drop it back down until we receive an - ACK that we can count. This means that we will always get a new sample - for the connection, and the RTT will grow again. - - The original author confirms that the current behaviour in RX is - incorrect, so simply remove it with this patchset. - - Change-Id: I0f4af56601c43b72394d7903cacc3fc19bc9d046 - Reviewed-on: http://gerrit.openafs.org/4860 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 699330682f3cb001bf1bfbeaffd806600ccf69e8 -Author: Simon Wilkinson -Date: Fri Jun 17 19:38:29 2011 +0100 - - rx: Account for delayed ACKS when computing RTO - - RX currently only soft ACKs every second packet, therefore a soft ACK - may be delayed by a period of time (currently 100ms, although RX did - expose this as a public variable in earlier versions). - - RTT values are computed using only non-delayed ACKs, so the timeout - is a smoothed average of the exact time taken to send and directly - ACK a packet. Therefore, if the peer ends up using a delayed ACK for - the packet, using just the RTT will cause that packet to be timed out. - - A while ago, this was dealt with by padding the calculated RTT with an - additional 350ms. This was then removed, and changed to a 350ms minimum - value. When this caused large numbers of spurious resends, the padding - was restored, but with a 20ms default value. As noted above, 20ms is - too low, as we may wait for up to 100ms before sending an ACK. - - This patch changes minPeerTimeout so that it does what it says on - the tin - sets a minimum value below which the peer timout may not - fall. It then adds to either this value, or the calculated one, 200ms - of padding. This makes our padding identical to TCPs, and allows some - future leway as to the softAckDelay value. - - Change-Id: I48ab28e03bb7c0a49fe21c21f83adbb02b7665f2 - Reviewed-on: http://gerrit.openafs.org/4859 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit c0cfbc40c8ef3de65f144560918cbd2a5bf187ec -Author: Simon Wilkinson -Date: Fri Jun 17 19:12:09 2011 +0100 - - rx: Make rx_softAckDelay & rx_lastAckDelay private - - The values of these two parameters directly affect the modifiers - that are needed in the peer's RTT calculations, and so can not - arbitrarily be changed by applications. - - lastAckDelay has been 400ms since the first OpenAFS release, and - that value is used as a modifier when computing the timeout of the - last packet. It is likely that any change which made this value - longer than 400ms would have detrimental effects on deployed clients - - softAckDelay has been 100ms for a similar time period. We have - chopped and changed the value of minPeerTimeout, so it is unclear - what the maximal value for this parameter is. For much of OpenAFS's - life, minPeerTimeout was a 350ms padding value, which suggests that - copying TCP, and setting the maximal value at 200ms would be a safe - option. For now, however, leave it at 100ms to avoid unexpected - side effects. - - hardAckDelay is not addressed by this patch set, as all ACK packets - sent from the application thread are marked as delayed, and so - currently have no part in computing RTT times. It is likely, however, - that any changes to the hard ACK timeout should be very carefully - considered. - - Change-Id: Ibdeae4577b09d120f22bb922697f92d63aaf0dff - Reviewed-on: http://gerrit.openafs.org/4858 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 800a5642a0b9ff514519b4af30b4d0dadd471480 -Author: Jeff Blaine -Date: Fri Jun 17 20:35:17 2011 -0400 - - Documented vos restore -creation and -lastupdate - - Culled info from commit 21592fe6 by Kris Hees. These allow - one to specify how to set the creation date and last update - date at volume restore. - - Change-Id: I6cfebb41c18e1acca5bbb70e3ee179c8ee976be3 - Reviewed-on: http://gerrit.openafs.org/4852 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 0a318b5bb9d0f5940eeffa092f6adae025d560de -Author: Ken Dreyer -Date: Wed Jun 15 14:21:27 2011 -0400 - - Enable -afsdb in the Red Hat packages. - - Change-Id: Ib701b248155a9a59da132ecb22116cc594089250 - Reviewed-on: http://gerrit.openafs.org/4844 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 03a54723eaf23b2aad0d026ba5f1a8e7343b3763 -Author: Ben Kaduk -Date: Fri Jun 17 02:22:34 2011 -0400 - - FBSD: do not FlushAllVCaches - - In normal operation, any AFS vcache with associated data will have - an associated vnode, which will be on the list of vnodes associated - with the /afs mountpoint. We already call FreeBSD's vflush() in - our afs_unmount, which walks the list of vnodes associated with the - mountpoint and calls vgonel() on them, which calls VOP_CLOSE and - VOP_RECLAIM on the vnode. Our implementation of VOP_RECLAIM already - calls FlushVCache, so in normal operation, FlushAllVCaches() will - be a no-op. - However, in the presence of bugs, it is actively harmful, causing - panics. For example, if a vnode has been reclaimed but FlushVCache - failed (which we cannot report back since the VFS will panic in this - case), and we attempt to flush it again, the associated vnode has - already been cleaned up and we will panic. Likewise if our list of - vcaches becomes corrupt and has a vcache with bad or missing vnode - for some other reason, we will panic. - - Since there is no gain in normal operation and abnormal operation - is more likely to panic than save data, skip the extra flush. - - Change-Id: Id227ca74f4036c1c1f40a41a922e73198f16f958 - Reviewed-on: http://gerrit.openafs.org/4847 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 327f516477b3dbf6ed6302c706bbb2bf41ae7907 -Author: Ben Kaduk -Date: Fri Jun 17 02:44:46 2011 -0400 - - FBSD: do not install kdump - - Since it's just an empty file, installing it is rather silly. - - Change-Id: I93279c5d7b0e5262bfdb68cdbd92c49e1984fa97 - Reviewed-on: http://gerrit.openafs.org/4849 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d354050ab1d9e4fda9265cd119e9787f39bb6fba -Author: Marc Dionne -Date: Fri Jun 10 21:49:58 2011 -0400 - - Linux: remove typedef from configure test comment - - Remove the "typedef" from the structure element configure test - comment. The typedef version of the macro is used by the more - general element test, so the comment should be more general. - This affects comments in src/config/afsconfig.h - - Change-Id: If5b748e1a63de83e15906fc16e7c94b357c4363c - Reviewed-on: http://gerrit.openafs.org/4836 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 36f6eed2b458995ab973102acf74375bf0a66931 -Author: Michael Meffie -Date: Tue Jun 7 12:37:40 2011 -0400 - - volinfo: fix false good magic line - - Fix false report of good magic/version numbers in volume - header file. - - Change-Id: I26869b6e6ada331373d626e501f6520755d5c070 - Reviewed-on: http://gerrit.openafs.org/4817 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 6cf9254ec29ef10dfd4515f192f53f6c935b2375 -Author: Derrick Brashear -Date: Fri Jun 10 18:40:33 2011 -0400 - - generated: take into account the things needed in master - - we need roken and hcrypto to build the bits we need to build the - compiler tools on master. do so. - - Change-Id: I3e974a5d94bdfdf3e89f3d18aed55ed586b0034d - Reviewed-on: http://gerrit.openafs.org/4835 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a00b11221b559aee9a3412b78757173abeabaf77 -Author: Derrick Brashear -Date: Fri Jun 10 18:33:30 2011 -0400 - - rxkad ticket5 function rewriting - - avoid conflicting with heimdal in environments where we might - need bits of their asn1 library also - - Change-Id: Ib76c158297a331fcaf650c435c5696e5b5aaab8c - Reviewed-on: http://gerrit.openafs.org/4834 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a6ef51ff50245d30624545cca05348aaa88865d0 -Author: Derrick Brashear -Date: Fri Jun 10 03:02:38 2011 -0400 - - more death to des - - des is in the generated targets. kill it. - - Change-Id: Ifb4ad48b0f57e95842411046cb79b589669265b7 - Reviewed-on: http://gerrit.openafs.org/4833 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a3f27333c5521fdc52314bf510943c602b3cd1a0 -Author: Derrick Brashear -Date: Fri Jun 10 02:11:26 2011 -0400 - - darwin armv6 and armv7 support - - simply compile lwp process assembler for both arm arches. - - Change-Id: Ie09ec1e3684656a492373f86e4c8be71e6abfabd - Reviewed-on: http://gerrit.openafs.org/4832 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3f7d8ec219e1aa04b6c0417ecf5e730d40b4f149 -Author: Jonathan Billings -Date: Mon Jun 6 16:29:28 2011 -0400 - - Linux: rpm: Update openafs.spec.in to include changes to installed files - - * Remove several files from the packaging manifest that are no longer - generated or included in the distribution, such as the DES header - files. - * Exclude the aklog_dynamic_auth man page, since it is AIX-only - * Add new files that have appeared in the distribution, such as the - 'afsio' binary. - * Add librokenafs.so.1 and libafshcrypto.so.1 to the base package, - because many of the binaries in the base package are linked against - librokenafs and the 'butc' binary is linked against libafshcrypto. - * Move the librokenafs.{so,a} and libafshcrypto.{so,a} to the -devel - package instead of the authlibs-devel package, now that the .so.1 - library is part of the base package. - * Set the executable bits on the libraries installed in libdir. This - change is important because it causes 'rpmbuild' to generate Provide - tag metadata for the libraries in the package, which is necessary now - that some binaries in other packages have generated Requires tags for - libraries packaged in the base package. 'rpmbuild' will not generate - the Provides tag if the libraries lack executable permission. - - Change-Id: I8f66cf882008b5576528ccc0f4a9694015db85bb - Reviewed-on: http://gerrit.openafs.org/4814 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b1f0bb472e237f5a6f88449db44f030c08a5a324 -Author: Andrew Deason -Date: Wed Jun 8 13:19:59 2011 -0500 - - afsd: Fail gracefully on mtab open failure - - On Linux and IRIX, fail gracefully when we fail to open /etc/mtab, - instead of segfaulting. Move strdup'ing cacheMountDir until after - opening /etc/mtab, to simplify the error handling. - - Change-Id: I58d64548303f25a51753d093a733608fea1282e1 - Reviewed-on: http://gerrit.openafs.org/4825 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fc087f187759398a2646480eca25c1195ed23d22 -Author: Andrew Deason -Date: Wed Jun 8 23:06:58 2011 -0500 - - volinfo: PrintFileNames is namei-only - - PrintFileNames only exists on namei, so make sure it's inside a namei - ifdef. - - Change-Id: I65867b54e3747b6f3a26cdfd70ab84ed7fe4e44d - Reviewed-on: http://gerrit.openafs.org/4830 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit f091ace32e3045da396d577055dafd67888ff7ea -Author: Andrew Deason -Date: Wed Jun 8 22:50:27 2011 -0500 - - libafs: memset dirHeader->hashTable - - Clear dirHeader->hashTable via memset instead of via a loop. This is - more efficient, and avoids the loop getting optimized into an unusable - _memset call on recent versions of Solaris Studio when building for - the kernel. - - Thanks to Jeff Blaine for reporting the issue with Solaris Studio. - - Change-Id: Ibaa5140d510c2df7e1129352a6677594785b42b4 - Reviewed-on: http://gerrit.openafs.org/4829 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1c917cee2b948595c98b8b0645289ccc79d8ffd9 -Author: Jonathan A. Kollasch -Date: Wed Jun 8 20:31:49 2011 -0500 - - Remove NetBSD-specific debugging statement - - Change-Id: I458a6b50fee4ed41dd512e23de6b4e516e0ddc93 - Reviewed-on: http://gerrit.openafs.org/4828 - Reviewed-by: Jonathan A. Kollasch - Tested-by: Jonathan A. Kollasch - Reviewed-by: Derrick Brashear - -commit f88c2db3ac273171f8cfe4df60456764d98bfd29 -Author: Jeff Blaine -Date: Wed Jun 8 14:56:58 2011 -0400 - - Removed detail of prev. completed work found listed todo list - - A todo item was in the "Known Problems" list, but the work was - already completed. Cleared this item from the list (klog man - page info about krb5, klog.krb5, fakeka) - - Change-Id: I9dbff50afd7bbaa6f5d20f7d4acfc796731b9c2d - Reviewed-on: http://gerrit.openafs.org/4826 - Reviewed-by: Russ Allbery - Tested-by: Russ Allbery - -commit 418a70feedb5574d28c3fbe513333b0fb102a3ca -Author: Jeffrey Altman -Date: Wed Jun 8 02:22:41 2011 -0400 - - Windows: shell extension is multithreaded - - Since the shell extension is multithreaded and it is possible - for more than one thread to be executing in the gui2fs.cpp module - at a time, it is not safe to use a single static 'space' buffer - by more than one thread at a time. Move the buffer into the - stack of each function that uses it so that we have thread safety. - - Change-Id: Idbec3e0027fc7e3c43b503c55c1b479bcb5984bc - Reviewed-on: http://gerrit.openafs.org/4819 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9cde8b8854f255a2cc264e0391dbb855fcfab23b -Author: Chas Williams (CONTRACTOR) -Date: Tue Jun 7 14:26:11 2011 -0400 - - doc: fixes for the xsltproc -> fop -> pdf toolchain - - "Empty" entities seem to trigger a bug in fop. These are - easily converted to reference on the containing block. Additionally, - 's seem to need to be inside a non-structural entity (like - a ) in order to determine their page number/location correctly. - - Change-Id: I2ab577f6ba8989685257fb9429e00a71dd51075c - Reviewed-on: http://gerrit.openafs.org/4812 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 445a8b5461c66160552136214a1d8d97de15967e -Author: Ben Kaduk -Date: Tue Jun 7 11:30:18 2011 -0400 - - Also install afszcm.cat for i386_fbsd - - The change gerrit/4760 enabled the use of gencat to actually build - this file, but failed to also change installation logic, so it was - sitting unused in the build tree. Fix this, and install the file. - This allows us to remove a shell case statement which had formerly - been needed to enforce this restriction. - - Change-Id: I7f9e94b09c504193084e1e04ae137df08b27b447 - Reviewed-on: http://gerrit.openafs.org/4815 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6a22a2f4b7aa0d960cea17b419003986f6184d58 -Author: Simon Wilkinson -Date: Fri Nov 5 00:23:23 2010 +0000 - - rx: Don't maintain maxSerial - - There were no users within the code of the rx connection maxSerial - element, and maintaining it required locking on a critical path. So, - get rid of it. - - Change-Id: Ied5653b6f01b78525091d8bf09bdc454002eedc0 - Reviewed-on: http://gerrit.openafs.org/4797 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fe7d38f3205bd879e961f5849ed64df5b495388a -Author: Simon Wilkinson -Date: Sun Jun 5 11:04:12 2011 +0100 - - rx: Reorganise transmit queue walk - - The transmit queue is stored in the order that we transmitted the - packets (by sequence number). This means that we can do all of the - ACK processing by just doing a single walk of this queue, rather - than having to walk the queue multiple times, once for each type of - ACK. - - This clarifies the queue processing, and should reduce the amount of - time that we spending iterating large transmit queues. - - Change-Id: I59578956e81197bbea7ce496e2f520a2995a3e95 - Reviewed-on: http://gerrit.openafs.org/4796 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit cd326b2f54c3397468807c32ce0834f73c9d5d1b -Author: Jeffrey Altman -Date: Sun Jun 5 18:41:24 2011 -0400 - - rx: Add RX_CALL_ACKALL_SENT flag and rxi_SendAck processing - - 3cd3715e608b801b4848399e42cb47464e6e3cc3 modified rxi_ReceiveDataPacket - to send an ACKALL whenever RX_CALL_RECEIVE_DONE is set on the call. - This produced the potential for a race with ACKs that set the - firstPacket value to 'rnext' when the receive queue for the call - has yet to be emptied. From the perspective of receiver the ACK - was already processed and does not require a response since the - previously received ACKALL acknowledged the delivery of all data - packets to the application. When sending ACKs after ACKALL it is - therefore required that firstPacket be set to the sequence number - after the last unprocessed packet in the receive queue. - - Thanks to Simon Wilkinson for his extensive assistance in identifying - the problem and the development of this patchset. - - Change-Id: I3bdf0c8f297b1d91b1a2bf3284adfeb9301874eb - Reviewed-on: http://gerrit.openafs.org/4798 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e448824f9dac207f0198d2284988fcf97243d30e -Author: Jeff Blaine -Date: Thu May 26 14:22:52 2011 -0400 - - Added fstrace subcommand help to binary - - Added subcommand help to fstrace binary. - - Change-Id: I00ef50a27ec9bf799c84b1c8d949a75e6be36eb3 - Reviewed-on: http://gerrit.openafs.org/4727 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ff30293624a7e31d585b9e8f2e1a439cf87b6524 -Author: Jeffrey Altman -Date: Sun Jun 5 16:02:46 2011 -0400 - - rx: do not rxi_AckAll for one data packet call - - rxi_ReceiveDataPacket() calls rxi_AckAll() when the call reaches - the RX_CALL_RECEIVE_DONE state to permit the caller to empty the - transmit queue. That reduces the memory consumption of the caller - and avoids unnecessary retransmits which the call is in process. - - If the call data consists of a single packet it is possible that - Ping ACK packets sent as part of connection establishment could - race with the ACKALL and be delivered out of order. If the Ping - ACK is delivered second, it will be ignored by the peer forcing - a two second delay in connection establishment. To avoid the race - do not send an ACKALL for a single packet call. - - Change-Id: I69d967b3b2e9ee77636ca12bc7ade4896bb8a071 - Reviewed-on: http://gerrit.openafs.org/4799 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 7dc0a32c3d6d09abeecdf25285ef2c205357511d -Author: Simon Wilkinson -Date: Mon May 30 20:07:01 2011 +0100 - - ubik: Use supplied config directory in ugen - - ugen_ClientInit permits the configuration directory to use to be - passed on the command line. However, it was then promptly overwritting - the supplied directory with the standard client (or server) directories, - depending on whether localauth was in use or not. - - As a start to fixing this anti-social behaviour, modify ugen so that if - we're not doing localauth, and if the caller has passed us a config - directory, use that instead of the system default one. This allows us to - start creating test harnesses for our command line tools. - - Change-Id: I6916389ce56df4cee62845a03282c5c10d3095eb - Reviewed-on: http://gerrit.openafs.org/4809 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 91de2dd08727f4cd1da124c4966d7a41a7ab99cf -Author: Simon Wilkinson -Date: Tue May 31 09:27:57 2011 +0100 - - tests: Use a real IP address for the test cell - - When creating the test CellServDB, use the IP address of the machine - that we are running on, rather than 127.0.0.1. This makes it possible - to actually start up ubik servers using this CellServDB. - - Change-Id: Iec0be80921dd1f01825177562f8a3dcc59400b9a - Reviewed-on: http://gerrit.openafs.org/4808 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 954aa2338ce3fbaee81defe45a4d99da69d0baf7 -Author: Simon Wilkinson -Date: Mon May 30 18:18:33 2011 +0100 - - tests: Move code to add new DES keys to common - - Make the code which adds a new (static) DES key to a cell's - configuration generally available, as this will also be useful in - constructing other tests - - Change-Id: I5d284016628e9d25a198607ffd6f8f1a63ddf652 - Reviewed-on: http://gerrit.openafs.org/4807 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 799b3373ecfeebf790d71c6e5bf60b0845519b2d -Author: Simon Wilkinson -Date: Mon May 30 17:47:35 2011 +0100 - - tests: Move common code to its own directory - - Move code for faking up an OpenAFS configuration directory into its - own "common" directory, as it's going to be of use to more tests than - just those in auth. - - Change-Id: I9c80dd66763e222deca98bc7744ff317111c6ed8 - Reviewed-on: http://gerrit.openafs.org/4806 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a9c8d2b895dc25a9e3e4515add5255840431a533 -Author: Simon Wilkinson -Date: Mon May 30 20:14:45 2011 +0100 - - vos: Add the -config option - - Add the -config option to all vos commands, so that the user can set - the location of the configuration directory to use. This is primarily - provided for testing purposes, and will shortly be used to hook vos - up into the TAP-style test suite. - - Change-Id: I610a3161c7d5d52ce43e77a400bc752d43f76134 - Reviewed-on: http://gerrit.openafs.org/4811 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 78c0e3b0efffe19c33bd0467872d65af43e5a47e -Author: Simon Wilkinson -Date: Mon May 30 20:02:31 2011 +0100 - - cmd: Add support for disabling specific abbrevs - - Sometimes, when adding a new command parameter, it's necessary to - prevent it from colliding with an existing abbreviation. This patch - adds a new command flag CMD_NOABBRV which can be set on a parameter - to indicate that it should not be considered when checking for - ambiguous abbreviations. - - For example, if a command has the existing '-cell' option which is - popularly abbreviated to '-c', adding a '-config' option would - cause the existing abbreviation to stop working. However, if '-config' - is added with the NOABBRV flag set, '-c' will continue to work. - - Change-Id: I3b6d718f9dd81c44fb1d10c904db6a4a0fd763b8 - Reviewed-on: http://gerrit.openafs.org/4810 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit c47f81d7076d5ecb52cb68a0535a78561c224c51 -Author: Jeffrey Altman -Date: Sat Jun 4 13:28:26 2011 -0400 - - Windows: refactor fs acl funcs into fs_acl.c - - The ACL structure definitions and manipulation functions - were defined both in WINNT/afsd/fs.c and WINNT/client_exp/gui2fs.cpp. - Extract them to WINNT/afsd/fs_acl.c and refactor them so that a - single copy can be maintained for both modules. - - The most significant change is to CleanAcl() which now accepts - a cellname instead of a file path. By accepting a cellname the - ACL functionality is completely isolated from the path processing - and pioctl operations. - - At the present time, fs.exe calls CleanAcl() with a cell name - and afs_shl_ext.dll does not. All callers in fs.c have been updated - to use the new behavior. - - gui2fs.cpp also comments functions that exist in the file but - have no caller. These can be removed at a later date if they - are not required. - - Change-Id: Ibc5f411c6410769bdfeaf9e37b6d39a64958baff - Reviewed-on: http://gerrit.openafs.org/4783 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 150e951dccdcc8a96866167f24233a8de8d45265 -Author: Jeffrey Altman -Date: Fri Jun 3 23:39:59 2011 -0400 - - Windows: Add GetFileInformationByHandleEx to fs_InAFS - - If available on the operating system, use - GetFileInformationByHandleEx to translate the path into - the file system normalized form. This permits paths that - cross NTFS reparse points to be successfully evaluated as - being in afs. For example: - - c:\afs -> \\afs\all - - GetFileInformationByHandleEx is integrated into Vista and - Server 2008 and above. - - Change-Id: I57443b01c753f12665aaac5718f639e389e2e822 - Reviewed-on: http://gerrit.openafs.org/4778 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 03810223b1b3267fb61df4806fb310a7592dff0a -Author: Jeffrey Altman -Date: Fri Jun 3 14:19:27 2011 -0400 - - Windows: refactor fs, symlink and fs_utils - - over the years a large number of duplicated functionality - has been added to symlink.c and fs.c. Refactor both so all - common functionality is implemented within fs_utils.c. - - Ensure that all functionality migrated to fs_utils.c and - symlink.c uses the SafeString library functions. - - Update the build rules for afs_shl_ext.dll, afscreds.exe - and afsconfig.exe to support the changes to fs_utils.c. - - Remove non-windows components from symlink.c. - - Change-Id: Ia7709235600f48c09282246e23b1f13d26f54e28 - Reviewed-on: http://gerrit.openafs.org/4777 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8f186c0f7a48059ca561422d58073e22934ea2dc -Author: Jeff Blaine -Date: Sun Jun 5 16:38:53 2011 -0400 - - Remove completed tasks from todo list, add info about git/gerrit preference - - Removed completed tasks (fstrace subcommand help in-binary and issue with - -noexecute vs. -dryrun in vos delentry) from todo list. Added info about - git/gerrit preference for documentation help, but patches still allowed - to the openafs-doc list. - - Change-Id: Ie49ee9a3072372163edf51f7abb246abef894f92 - Reviewed-on: http://gerrit.openafs.org/4803 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1426bccc058c32c5367dfdf23bbe7a434800e58f -Author: Simon Wilkinson -Date: Mon May 30 17:39:56 2011 +0100 - - src/tests: Fix a couple of build issues - - Fix a couple of build problems with the old src/tests directory. - Firstly, now that we're using asnprintf in libauth, we need to include - libroken as a dependency here too. - Secondly, the build rule for dumptool is wrong. Fix it. - - Change-Id: I2d9e2db169c617a323c71ac837045d2f36331321 - Reviewed-on: http://gerrit.openafs.org/4805 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 51f079e178b22595a990ed64cbe9a5b00e212421 -Author: Simon Wilkinson -Date: Mon Sep 27 11:51:20 2010 +0100 - - rx: Make private things private - - Make rxi_* functions that are only used within the file that they're - defined in actually be private, rather than sharing them with the world. - - Change-Id: I67b9a36e8ce3fa0d3258842a8d7a5fed31c787ce - Reviewed-on: http://gerrit.openafs.org/4804 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 80b3648e6d8fd96bdb57d47e56b28b30e42eb303 -Author: Simon Wilkinson -Date: Sat May 14 08:37:31 2011 +0100 - - rxperf: -S takes an argument - - The -S option to rxperf (which permits the maximum number of server - threads to be set) takes a parameter. Update the getopt string so - that we can give it one. - - Change-Id: I7effc276743d7007f8a376534b4de1650f731b64 - Reviewed-on: http://gerrit.openafs.org/4801 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cc119d63636236490789332200bf31af4c091e0a -Author: Simon Wilkinson -Date: Sat May 14 08:36:49 2011 +0100 - - rxperf: Build again - - Bring the rxperf up to date with the current library requirements of - the rest of the tree. - - Change-Id: If35ba0668163d5176cf9a3df1635b4cffbc10ff2 - Reviewed-on: http://gerrit.openafs.org/4800 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit af64a0e47194982b0ea203a072bfc1861f37d43b -Author: Simon Wilkinson -Date: Sun Jun 5 21:29:08 2011 +0100 - - volinfo: Use new form of cmd_AddParamWithOffset - - cmd_AddParmWithOffset was recently modified to change the order of - its arguments to something clearer. Modify vol-info to use this new - argument order - - Change-Id: Id94badfffb4c41cc13abd727e5674c18c58311fb - Reviewed-on: http://gerrit.openafs.org/4802 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5fbea6da218092ef1942b5ffc8257d7b80311543 -Author: Simon Wilkinson -Date: Sun Apr 17 19:14:01 2011 +0100 - - viced: Rationalise FS_STATS_DETAILED logging - - Every RPC handler in the fileserver contained a copy of an identical - code block to handle starting, stopping, and recording detailed logging - statistics. Replace all of this with a structure and 4 helper functions, - which will make maintenance much easier. - - Change-Id: Ie2b0fa13fcc3e261ba435f1560e7ab5adf477afb - Reviewed-on: http://gerrit.openafs.org/4765 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 69a3ffa32337471dbc9d89477de4c27a643394a1 -Author: Simon Wilkinson -Date: Thu Sep 30 20:24:49 2010 +0100 - - usd: Move to using real 64bit quantities - - Move the usd library over to using afs_int64, rather than afs_hyper_t - now that everything in userspace is assumed to be 64bit capable. - - Change-Id: I9ffc0996e1696d016dae96c0a2245cf5121c49a1 - Reviewed-on: http://gerrit.openafs.org/4768 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit faaf36c32b8e24bf27c41c3ab8b774b3d5843ebc -Author: Simon Wilkinson -Date: Sun Apr 24 15:52:08 2011 -0400 - - viced: Remove old /vice/file/parms config file - - This commit removes support for overriding command line options with - the contents of /vice/file/parms. This option has never been documented, - and only supports setting at most 15 command options. Replace the old - function with one which checks for the existence of this file, and - outputs a warning if it is found. - - Change-Id: I933475c0eb31e78dbc8a9d31b2486aa14f57bfb0 - Reviewed-on: http://gerrit.openafs.org/4716 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f64e1905798a70bdd44b4ce21d800a2bc542cee9 -Author: Simon Wilkinson -Date: Thu Sep 30 20:03:24 2010 +0100 - - usd: Make test program build again - - Make the USD test program build again. Note that this isn't much use - unless you have a tape device connected to your machine. - - Change-Id: I01bae4035ef3db966d9f79fb5796e3608efa2cfd - Reviewed-on: http://gerrit.openafs.org/4767 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 07f461e8e35147af605ebc86c139b31d2db0bb28 -Author: Jeff Blaine -Date: Fri May 27 15:49:52 2011 -0400 - - kvno invocation correction, language cleanup, afs/cell principal preferred - - Properly show kvno command syntax, add information about preferring - 'afs/cell' for the principal over 'afs', and changed "noted this down" - to "made note of" - - Change-Id: I56fca2e34ce18634a155c8eb3b21760f2ee990c6 - Reviewed-on: http://gerrit.openafs.org/4740 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 23e433f10414d771937cbea5510b6006b6a7b063 -Author: Simon Wilkinson -Date: Tue May 31 08:31:55 2011 +0100 - - vos: print_addrs never receives multi-homed addrs - - The magic address that tells the vlserver that a host is multi-homed, - and to look up the multi-homed address structure is an internal - implementation feature, which shouldn't be exposed to clients. - - print_addrs is only ever called with the results of VL_GetAddrsU, which - has already converted any multi-homed pointers, so it doesn't need the - logic to handle them itself. - - Change-Id: If8b6fd6fc433f413c3f3037160979e10c9a45a39 - Reviewed-on: http://gerrit.openafs.org/4757 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cc2bc3e17ff5f7a10c515e309f8fec47a6fa14b6 -Author: Chas Williams (CONTRACTOR) -Date: Thu Jun 2 19:00:47 2011 -0400 - - doc: let configure find the XML tools if possible - - configure should attempt to find the XML tools we need to process - the documentation. if it can't, it should provide a safe default. - still allow the user to override via command line. - - Change-Id: Ifaf3a5b090e93858c3d3c88363760c508030db90 - Change-Id: Ib9558c37b04a4533e91b172a2a62039e4ed06d6f - Reviewed-on: http://gerrit.openafs.org/4766 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit c0a55111d726b26d07661957a65e4d59f155d5e6 -Author: Michael Meffie -Date: Thu Sep 23 21:18:36 2010 -0400 - - xstat: cope with different size timeval structures - - In xstat_fs_test and afsmonitor, try to display the xstat data - from the fileserver even if the fileserver has differently sized - timeval structures, or different word ordering, as the xstat - client program. - - Change-Id: I16f32b25f0017cdcf5e41e583eeb129469c3aeb0 - Reviewed-on: http://gerrit.openafs.org/2986 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 8c2e83bab199f5d8820e27c77c7a97cee9cdd965 -Author: Simon Wilkinson -Date: Tue Apr 19 08:18:56 2011 +0100 - - Linux CM: Update wait code - - Update the wait code to use the more modern wait_event_freezable() - macros. If those macros are not available, fall back to the older - wait_event_interruptible macro, and build our own - wait_event_freezable on top of this. - - These changes should simplify our interactions with the wait queue - and refrigerator bits of the kernel, as we're now using more standard - interfaces to them. - - Change-Id: I5218c8a1b5b33f10355ef298008c53e416b267f9 - Reviewed-on: http://gerrit.openafs.org/4753 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7a70c2907b0435653098a611a140fea1ac0b2fac -Author: Simon Wilkinson -Date: Sun Apr 17 23:43:51 2011 +0100 - - Linux CM: Use kernel allocator directly - - In another few locations within the Linux portion of the cache - manager, directly use the kernel allocator. We can do so here - because we can guarantee that the amount of memory being allocated - is less than the page size, and there is a kfree() in all of the - exit paths, so we don't need the magic freeing behaviour, either. - - Change-Id: I9c9f3a0b8243b66cb081cd2b35f0d27aaa378934 - Reviewed-on: http://gerrit.openafs.org/4752 - Reviewed-by: Derrick Brashear - Reviewed-by: Marc Dionne - Tested-by: Derrick Brashear - -commit 45071f4bc0a8631eb6bd09c73a24de33714fa151 -Author: Simon Wilkinson -Date: Sun Apr 17 23:40:55 2011 +0100 - - Linux CM: Use kernel allocator directly for events - - When allocating memory for our events system, use the kernel - allocator directly, rather than going via our shim. This is much - more efficient, but has the drawback that we are now responsible - for freeing our own memory, rather than it all being magically - given back upon shutdown. - - Change-Id: I9cb31e4c6b5b4ff2497b627e7ab87716e6da6fa9 - Reviewed-on: http://gerrit.openafs.org/4751 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 11407737f7b8335c52a000ea15cd3b3b4821f9bd -Author: Simon Wilkinson -Date: Sun Apr 17 21:41:15 2011 +0100 - - Linux CM: Files don't need a page - - We were using osi_AllocLargeSpace to allocate our files. This gives - a page to every struct osi_file we create, which seems a little bit - excessive. Just use kmalloc directly instead, and let the kernel's - allocator deal with the slabbing. - - Change-Id: I40d32ad0d7090e2b3b60be983d4f441968dc69dc - Reviewed-on: http://gerrit.openafs.org/4750 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a41dee091610d3acff04e73e21eb1ecbae0980b5 -Author: Simon Wilkinson -Date: Sun Apr 17 20:52:50 2011 +0100 - - libafs: Tidy up iovec allocation and trimming - - Tidy up the way that we perform iovec allocation and trimming by - making the rest of the world look a little bit more like Darwin. - - This relies upon a struct uio, followed by 16 iovecs, being able - to fit into a SmallSpace sized block. On the majority of 32 bit - systems, such a block is 256 bytes long (on AIX and HPUX it is - 152 bytes). With a 32bit size_t, an iovec is 8 bytes, so 16 of - them is 128 bytes, and a struct uio is 24 bytes, giving a grand - total of 152. - - Change-Id: I5243f034bcb4e1f5fa319c4f522229bd96eaae3d - Reviewed-on: http://gerrit.openafs.org/4749 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ca465e432d67b067fc3854781b8702aaff577cc7 -Author: Simon Wilkinson -Date: Sun Apr 17 21:30:39 2011 +0100 - - Tidy up uio_t meaning - - On IRIX, uio_t is typedef'd to "struct uio". - On Darwin, uio_t is typedef'd to "struct uio *". - - Reduce the confusion by just not using "uio_t" in places where it - isn't being defined for us, and avoiding it completely in cross-platform - code. - - Change-Id: I0cee370e25d10b1ca4627832097a9a9f1e83b4c2 - Reviewed-on: http://gerrit.openafs.org/4748 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b3232b2cb44a3df02a37efd852ecfef2f3a9e5cc -Author: Jonathan Billings -Date: Wed Jun 1 11:05:11 2011 -0400 - - linux: rpm: Fix SELinux attributes on /afs when installing openafs-client package - - Since the directory /afs isn't included in the package manifest, but - rather created in a script in the openafs-client package, it never - gets the appropriate SELinux attributes that are required to mount a - volume (mnt_t). - - This change fixes the problem by running '/sbin/restorecon' (if it is - an executable that exists) on the /afs directory after the - openafs-client package is installed, right after the directory is - created. - - Change-Id: I3905cf8da8f7414e410acfa8df51b35abe057cd7 - Reviewed-on: http://gerrit.openafs.org/4763 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 1a4262253e78aa7a4e8c58006abd3301f71bab89 -Author: Michael Meffie -Date: Fri May 27 18:17:44 2011 -0400 - - volinfo: accept -sizeonly for -sizeOnly - - For consistency, allow -sizeonly (all lowercase letters) to - request the size summary. The old option name, -sizeOnly is - available as an alias. - - Define the command line option parameter positions and use - those to set and look up the options. - - Change-Id: Ie6a780e02bfa35cd5399364bab614b260c391abc - Reviewed-on: http://gerrit.openafs.org/4741 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8fc3d6dfe196771a38f2bfe7275e90a73f742931 -Author: Michael Meffie -Date: Fri May 27 12:22:34 2011 -0400 - - volinfo: accept vice partition id for -part option - - Accept a partition id for the -part option. For example, -part a - is the same as -part /vicepa. - - Change-Id: I59d9cb71a49bbfc631c7975a859ebc3e5eccdf1a - Reviewed-on: http://gerrit.openafs.org/4739 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6b0ad5786d09446d6ecf723c892c11d6cce4493c -Author: Michael Meffie -Date: Fri May 27 11:29:33 2011 -0400 - - volinfo: comments - - Add doxygen style comment headers. - - Change-Id: Id8e18a102e8aa5fbb0a0e0f3c58983d93bf2bb50 - Reviewed-on: http://gerrit.openafs.org/4738 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8eddff4b785a196b2aae8be2d3a0e75fa3b6c0cf -Author: Michael Meffie -Date: Fri May 27 10:27:03 2011 -0400 - - volinfo: fix file size data type - - Use afs_sfsize_t for file size instead of int. - - Change-Id: If68fca11183cd7b3ecd3750609f1b989af7445f5 - Reviewed-on: http://gerrit.openafs.org/4737 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 59a1c40efbd3326a210776a0253f4f6c656a65ee -Author: Michael Meffie -Date: Thu May 26 21:58:11 2011 -0400 - - volinfo: avoid exit on errors - - Instead of exiting on errors, try to carry on. - - Change-Id: Ia8da9403c57c19ac25a3ef4dac36c3e71bd1be25 - Reviewed-on: http://gerrit.openafs.org/4736 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 277a8ad658572b60e7e460c945adee78cc04038d -Author: Michael Meffie -Date: Tue May 24 10:28:37 2011 -0400 - - volinfo: refactor mode variables - - Untangle the various global mode variables, which became muddled when dsizeOnly - and saveinodes were introduced. DumpInfo now indicates the default mode and - DumpVnodes means print the vnode entries, not scan but sometimes print. Remove - unused globals. - - Change-Id: I9d331a19afede864ad1d23477f5e3948e59558ec - Reviewed-on: http://gerrit.openafs.org/4735 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 56714e9a4d01d1718bbca9f3930c2993e4b7d094 -Author: Michael Meffie -Date: Sun May 22 22:53:46 2011 -0400 - - volinfo: refactor volume and vnode handling code - - Refactor volume and vnode handling code for better - maintainability. Move the code invoked by -saveinodes to a new - function. Remove an unneeded else clause in HandleVolumes. - - Change-Id: I02d9392ce065f78e5e84b902668b5d84242d7f5a - Reviewed-on: http://gerrit.openafs.org/4734 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4e97b2e5f820e07ffbaf8407cca18c536d9d0f67 -Author: Michael Meffie -Date: Wed May 25 21:54:06 2011 -0400 - - volinfo: refactor size counters - - Put the volume, partition, and server size counters into structures. - - Change-Id: I3bb7a25b39e191b7717dc725604fe5fe1be8045c - Reviewed-on: http://gerrit.openafs.org/4733 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 70145b4f4affc6aabf83fc1cc34cb4de0702c83f -Author: Michael Meffie -Date: Wed May 25 18:19:22 2011 -0400 - - volinfo: refactor -sizeOnly printing - - Refactor the -sizeOnly output processing to reduce code - duplication and coupling with -saveinodes. - - Change-Id: I4d1c53678732afebba83813be676a292e2d8e62c - Reviewed-on: http://gerrit.openafs.org/4732 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 55a41d00057106913ce2aba50772a56bc994a9a4 -Author: Ben Kaduk -Date: Tue May 31 15:25:35 2011 -0400 - - Enable gencat for i386_fbsd_* - - The machines certainly have a /usr/bin/gencat, and I see nothing - in history to indicate a reason for this prevention. - Allow the 32-bit machines to build afszcm.cat and make packaging - more uniform between architectures. - - Change-Id: If1017d28cc804d58cfb29019158ad5b3d70da9ac - Reviewed-on: http://gerrit.openafs.org/4760 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bcdcf5cf38951c09b39a6ef7561981f09792d03f -Author: Simon Wilkinson -Date: Mon May 23 06:24:09 2011 +0100 - - vlserver: Add flags to extent address entries - - Add a "flags" field to the extent address entry so that we can store - per server bit flag information. Rename the header flags feel (and - corresponding macro) so that it's explicitly a header flag. Take - this opportunity to also fix this comment to clarify that the header - flags are not a copy of anything from the vlentry, but that they - must be at the same structure offset as the vlentry flags field (so - that something accessing an extent block as if it was a vlentry can - see what it is from the flags) - - Change-Id: If8a4816418d9400fb971679c08b4777e7d83c983 - Reviewed-on: http://gerrit.openafs.org/4776 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a082c4eeaeacb537f3c94d2e37a98a2a0438f2a7 -Author: Simon Wilkinson -Date: Mon May 23 06:20:35 2011 +0100 - - vlserver: Make space in extent block explicit - - The address entry side of the union within the extent addr block - actually has a significant amount of free space. It looks as though - the original author assumed that a UUID required 16 32-bit words, - rather than 16 octets, and sized the structure to match. - - Make the free space within the structure explicit, so that it can - be used for future expansion - - Verified with - gdb vlserver - (gdb) print sizeof(struct extentaddr) - $1 = 128 - - Change-Id: If67f669fb298763f054ce82447a4513c59ef7526 - Reviewed-on: http://gerrit.openafs.org/4775 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a9bd64f9941b07db240b9a6c0a04df06c082fa43 -Author: Simon Wilkinson -Date: Thu May 19 19:15:44 2011 +0100 - - vlserver: Rationalise multi homed host processing - - The same code for getting extent structures for multi homed hosts - was scattered throughout vlprocs.c, sometimes with error handling, - and sometimes without. Rationalise all of this into a pair of - static inline functions, which do all of the hard work. - - Change-Id: Ib0f55e5b5f455b07753409ebff2a5cd0ca188cda - Reviewed-on: http://gerrit.openafs.org/4774 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 90507fcb104313154679f89ac22c1947c713a65d -Author: Simon Wilkinson -Date: Thu May 19 18:56:27 2011 +0100 - - vlserver: Use correct memsets in vlentry convertor - - The various vlentry_to_ conversion functions have obviously - been copy and pasted from each other. However, the size of the - structure which is being zeroed has not been updated when we are - zeroing different structures. Fix this, so that we always clear all - of the structure that we are filling. - - Change-Id: Ic822e1d2b17494574074c332c7680e94d4701c66 - Reviewed-on: http://gerrit.openafs.org/4773 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 41dc2509ba87c1778f02b4e0a1d24953e7956226 -Author: Simon Wilkinson -Date: Thu May 19 18:53:27 2011 +0100 - - vlserver: Clean up abort logic - - Clean up the failure logic in the server RPC handlers so that there - is always a single exit point upon aborts. This should make it much - easier to fix the various problems with cleaning up memory when - RPCs fail. - - Change-Id: Ia5f8e97c37bf4aca1c8f2597a21eb54d1ba094fb - Reviewed-on: http://gerrit.openafs.org/4772 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a180b0c5d8991a14f1fbd78d81dcb4754a24f4d3 -Author: Simon Wilkinson -Date: Thu May 19 18:19:29 2011 +0100 - - vlserver: Use correct base value when replacing - - When we're removing existing address entries the code calculates - a base and index value for each entry that we're removing an address - from. However, it then _uses_ a previously calculated base value, - with the new index. This works fine if the old base and the new base - match, but if they don't, chaos will ensue. - - Fix to always use matched base and index pairs. - - Change-Id: Ia592abdc1c58b5cf5776bb24e67aee708275a9b0 - Reviewed-on: http://gerrit.openafs.org/4771 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e7f457469f7934be4986703081e107d26525204a -Author: Simon Wilkinson -Date: Thu May 19 17:57:30 2011 +0100 - - vlserver: Rename errorcode to code - - The convention in the OpenAFS code is to use 'code' or 'ret' for - return values from functions. Rename 'errorcode' in vlprocs.c to - be in keeping with this convention. - - Change-Id: Idffd6eccdd820cb602e5c7cd66ebaa4fbd37c6b5 - Reviewed-on: http://gerrit.openafs.org/4770 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a14e791541bf19c6c377e68bc2f978fba34f94b1 -Author: Simon Wilkinson -Date: Thu May 19 15:06:15 2011 +0100 - - vlserver: Tidy up request counting - - Tidy up the counting of requests and aborts in the vlserver. Don't - hide a variable allocation within a macro, convert macros to inline - functions, and make it possible to not count particular operations - by passing in an opcode of 0. - - Change-Id: Ifd26027ebb97a6039b6f7f7289ffbe166627390b - Reviewed-on: http://gerrit.openafs.org/4769 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4c9134a995f543911c1a62e6c89645bafee025a5 -Author: Simon Wilkinson -Date: Sun Nov 14 21:43:11 2010 +0000 - - Build system: Move install definitions to include - - Move the definitions of the INSTALL_* variables out to - Makefile.config rather than replicating them in each file. - - Change-Id: I5f74dcbf544a93716994418bee3be2c51a2a82d0 - Reviewed-on: http://gerrit.openafs.org/4781 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1841860f62a4a505f991b01713bd4eaa824aa4bb -Author: Simon Wilkinson -Date: Sat Jun 4 18:04:48 2011 +0100 - - aklog: Remove Windows specific code from header - - When commit 3f54c934b9c933d5f34644a096c821375db17d97 removed all of - the Windows code from aklog, it missed the stuff in aklog.h. Get - rid of this too, for clarity. - - Change-Id: I6d408ffc313d18fd512fa03494a15ec628f1e292 - Reviewed-on: http://gerrit.openafs.org/4782 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cc72cb1e811f8cffca93c8b15009534cada776ba -Author: Simon Wilkinson -Date: Sat Jun 4 16:41:41 2011 +0100 - - ubik: Initialise global version lock before use - - Commit e4ac552ab79be21d90397079eaf6be7050497752 introduced a global - version lock to ubik, but doesn't initialise this lock before make use - of it. On platforms which require that pthread mutexes are initialsed, - this causes an assertion failure. - - Initialise this lock at the same time as we MUTEX_INIT all of our other - locks. - - Change-Id: Ib5ef75d443101a823738fba55c0760cb1848dbcf - Reviewed-on: http://gerrit.openafs.org/4780 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Jeffrey Altman - -commit 64b255327dc6c2456ba4d4e28651b07819710a60 -Author: Michael Meffie -Date: Mon May 30 14:23:49 2011 -0400 - - cmd: Reorder cmd_AddParmAtOffset arguments - - Reorder the arguments of this recently introduced function to - make client code more readable. - - Change-Id: I37f662f849bd96176230f75783e2a1c62d94b8c9 - Reviewed-on: http://gerrit.openafs.org/4755 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 13aeb1dcaee5ad4e95477464860963788c5d1469 -Author: Michael Meffie -Date: Mon Dec 13 14:53:50 2010 -0500 - - xstat: print collection values in debug mode - - Print the values of the integers returned in the collection data - when the -debug option is given to xstat_fs_test and xstat_cm_test - test programs. This allows us to at least see what the unformatted - values are when there is a mismatch in timeval sizes between the - host and client (aka the 32/64 bit xstat bug). This change could - break scripts which call the xstat test programs with the debug - option. New debug output are prepended with 'debug:' to be - easily ignored. - - Change-Id: I12d8d27306c50fb9f35ade2a080b3bc20542b63f - Reviewed-on: http://gerrit.openafs.org/2878 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 7d76a5b4f9eb4c0ed9e09bbc3c54a4f1f8da1bdc -Author: Rainer Strunz -Date: Mon Apr 18 00:09:33 2011 +0100 - - fs: add support for relative ACL changes - - This change permits "fs setacl" to change ACLs in a relative - manner, rather than just setting rights absolutely as it is - done now. - - If a single plus (+) or minus (-) character is appended to - the rights' letters argument, the new rights are computed - relatively to the existing ones. - - A few examples should make clear that behaviour: - - old rights: rights set: new rights: - ----------------------------------------------- - rl a+ rla - rlid idwa- rl - rla write- a - rl write- [none] (ie. entry deleted) - [any] read= rl - - As shown in the last example, a '=' character got implemented - also (and for free) as an alternative writing of the current - and default behaviour of just setting an ACL. - - FIXES 123962 - - Change-Id: If15a4ab3c69ec44a42c8746a0b93f5e8b785d61e - Reviewed-on: http://gerrit.openafs.org/4496 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 5ad1e6cb904b953fbb04603f3ce1466dcc38cd48 -Author: Simon Wilkinson -Date: Fri May 6 10:40:38 2011 +0100 - - dir: Prototype and function name cleanup - - Tidy up typing in the dir package, so that we have a specific type - for a directory file handle. - - Also rename all of the functions to afs_dir_* globablly, rather than - just renaming for kernel code. - - Change-Id: I6750a8eb9f0606d5debf9d677a92b9c8a63dbcf3 - Reviewed-on: http://gerrit.openafs.org/4745 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0284e65f97861e888d95576f22a93cd681813c39 -Author: Simon Wilkinson -Date: Wed Apr 27 14:24:56 2011 -0400 - - dir: Explicitly state buffer locations for data - - DNew and DRead always returned directory page aligned pointers, - however the directory code further manipulates those pointers, - requiring the DRelease be able to fill a page when passed a pointer - to any address within that page. This is relatively straightforward - in the userspace implementation, but much more complex in the kernel, - where all of the directory pages are not necessarily contiguous. - - Resolve this issue by making DNew, DRead and DRelease all return a - new structure, struct DirBuffer. This structure contains both a - pointer to the data, and an implementation specific private - pointer to data describing the page containing the address. The - directory code is free to play with the data pointer as it wishes, - as long as the private pointer to the page is passed through intact. - - DRelease (and DVOffset) can then simply use the private pointer for - their operations, without having to walk page lists. - - This new behaviour also requires changes to the directory functions - GetBlob, FindItem and FindFid which all return pointers to directory - data. - - Change-Id: I8b8b003b789976b593a7c752969f47d55f4ee707 - Reviewed-on: http://gerrit.openafs.org/4744 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit b3ea4fa4ff6408cd98d610022270a5099e08c128 -Author: Simon Wilkinson -Date: Mon May 30 20:11:49 2011 +0100 - - doc: bos != vos - - As it says on the tin - - Change-Id: I2c03f51303d01ccc772c1fc0b2ed1dd0b176892d - Reviewed-on: http://gerrit.openafs.org/4764 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b6add117ad210665a811213fe17a30fabbda3a3c -Author: Simon Wilkinson -Date: Tue May 31 08:28:51 2011 +0100 - - vos: Don't leak/overflow bulkaddrs - - The vos listaddrs command repeatedly reuses a bulkaddrs array. It - zeros it once (without freeing the allocated memory), and then - repeatedly uses it without zeroing in a loop. This means that the XDR - library assumes that a sufficiently large block is already allocated, - doesn't reallocate for the incoming data, or check limits. - - This means that if the first call to VL_GetAddrsU returns a set of - addresses smaller than subsequent calls, we'll write past the end - of the array, causing memory corruption. - - Fix this by freeing the arrays correctly with each pass of the call. - - Change-Id: I540d369c1529ec3574548f42cbd48b6c2b38cebd - Reviewed-on: http://gerrit.openafs.org/4756 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6af6a6a7cb497d4e255bed7ccf07a5db06d16b91 -Author: Christof Hanke -Date: Wed Jun 1 11:48:46 2011 +0200 - - libafscp: fix install/dest in sep. Objectdir - - When compiling libafscp in separate objdir, - make dest and make install fail, because of wrong - pathes. Fix it. - - Change-Id: Id2b672bce308609d99b343322babe890ec8d6a38 - Reviewed-on: http://gerrit.openafs.org/4761 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 750b8659281988a138db6f26f53d747175895186 -Author: Jonathan A. Kollasch -Date: Mon May 16 14:30:24 2011 +0000 - - Port cache manager to NetBSD-5 and NetBSD-current - - Change-Id: I3d1aa0b22bb8533718f48bd4424743299d5de019 - Reviewed-on: http://gerrit.openafs.org/4661 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ec26dae2bf32e4187e6eb5ffa0e68da143ed3713 -Author: Derrick Brashear -Date: Thu May 26 02:04:08 2011 -0400 - - macos: bulkstat sysctl - - make bulkstat enable/disableable via sysctl - - Change-Id: Ib1657964d62e402e96762394b7b61ed5e58a5fc9 - Reviewed-on: http://gerrit.openafs.org/4723 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6260c4ae51e7a2807596ddf1bd49620f98eed94c -Author: Adam Megacz -Date: Fri Mar 23 12:14:41 2007 -0700 - - make bozo honor -rxbind correctly - - Bozo needs to call rxInitHost() rather than rxInit() when -rxbind is - present. This patch causes it to read NetInfo/NetRestrict earlier in - the startup process so it can make that decision. - - FIXES 57286 - - Change-Id: I17058f4e8e5c23fdfcfe56178d5edc5dcceafb7a - Reviewed-on: http://gerrit.openafs.org/4729 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 7270cf5607e24f8614d75cd40bc46574d330ffab -Author: Derrick Brashear -Date: Thu May 26 01:39:18 2011 -0400 - - macos: bulkstat caller reference handling - - if bulkstat is called and fakes up vnodes for non-dir cases, it can - guess wrong, and we end up needing to fix up the type by swapping - in a new vnode under the vcache. however, references are tracked on - the vnode, and more importantly, callers can know about the vnode; - unlinking a vcache from a vnode leaves null pointers to blow up on. - - thing is, we shouldn't end up with a un-fixed-up vcache in use: - any caller of ProcessFS will notice if the vnode is the wrong type, - and fix it. so in order to reach CStatd, we have to fix it. - the only places where we can get a vcache in use not CStatd are: - FindVCache, LookupVCache, GetVCache where InReadDir. The last happens - only on Linux. LookupVCache doesn't happen anywhere that matters - (CForeign, or we immediately dispose...). FindVCache is only called - somewhere which won't lead to us fixing up during create, but that - vnode isn't returned to callers; we finalize in the result of create - and return the vnode that's linked to the vcache, which will be correct. - - so, the only other place we can have a reference which won't immediately - get fixed up is in lookup, across the bulkstat call. if that's true, - and we return from bulkstat a non-CStatd vcache, lookup will fill in the - entry manually. so, if there are references remaining after we do a fixup, - unmark CStatd so the caller (presumably lookup, given the above) will give - back the vcache and retry, getting a corrected vnode as a result, with - the reference on the vnode we want it on. - - Change-Id: I3b225c8d48067624f3cbac7b1f897e52193a8d55 - Reviewed-on: http://gerrit.openafs.org/4722 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7133266bafbf238ef921690c40846f3ea2d2fc8b -Author: Christof Hanke -Date: Thu May 26 07:46:32 2011 +0200 - - linux: add read_descriptor_t configure test and ifdef - - With linux 2.6.8 the struct read_descriptor_t changed. - Add a configure-test and respective ifdef to deal with that. - - Change-Id: Iff1a6252707cd2119bdc0382c641934119ea0422 - Reviewed-on: http://gerrit.openafs.org/4719 - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit baf7656f666e0d47047c545561345e7803b8a141 -Author: Christof Hanke -Date: Wed May 25 22:16:59 2011 +0200 - - autoconf: add test for typedef'd structs - - AC_CHECK_LINUX_STRUCT does not work for structs which are typedef'd. - The gcc will complain with "error: storage size of ā€˜_testā€™ isnā€™t known" - and fail the test. - Thus the new test-macro AC_CHECK_LINUX_TYPED_STRUCT. - - Change-Id: Ib3e933c4e09a3e950ca8d8e7a66909d86f10cfdf - Reviewed-on: http://gerrit.openafs.org/4718 - Reviewed-by: Christof Hanke - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 9703b023cc0f5088eab5135acf7417e90ebbb2cd -Author: Ben Kaduk -Date: Thu May 26 01:11:14 2011 -0400 - - FBSD: VIMAGE support - - Starting in FreeBSD 8.0, there is support for multiple virtual - network stacks (generally to be exposed to separate jail(8) environments). - It is enabled as a kernel configuration option, so our builds against - GENERIC have not failed, but we fail to build when options VIMAGE - is present. Fix our variable references accordingly. - - Change-Id: I679361b8ea62b0eae90c0aa61287dfc2dd189481 - Submitted-by: Hiroki Sato of freebsd.org - Reviewed-on: http://gerrit.openafs.org/4721 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit cc0ba3c430ce57fb7155a22a8ed9fa6c9fa57eec -Author: Andrew Deason -Date: Mon May 23 17:04:20 2011 -0500 - - tests: Make -flag the first parm in command-t - - Move the -flag parameter to be the first parameter, to test more of - the positional argument handling. - - Change-Id: I637c58e8c76bfc23919f29a1c598084275426773 - Reviewed-on: http://gerrit.openafs.org/4710 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 9cbd9d71b33e42600d1714ebfcaaa86ba700556e -Author: Andrew Deason -Date: Mon May 23 16:51:59 2011 -0500 - - tests: Use symbolic constants in command-t - - Change-Id: I1d7e47edc97dcdb855ad5ca732a2f015741c9d18 - Reviewed-on: http://gerrit.openafs.org/4709 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 83322372fb3d62225f0ac733f63d5dd21e8685c0 -Author: Andrew Deason -Date: Mon May 23 15:42:10 2011 -0500 - - tests: Correctly pass string args in superuser-t - - We need to give a NULL pointer for string OUT arguments, so XDR knows - to allocate a new string. Also free the string each time so it gets - set back to NULL. - - Change-Id: I1eb0c63dc4019b855a2cbecd9e35393f2fbb0fd7 - Reviewed-on: http://gerrit.openafs.org/4708 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6e2ecfbeebc255c490b9f7da129405ac3f78dacc -Author: Simon Wilkinson -Date: Mon Apr 25 09:35:56 2011 -0400 - - cmd: Add cmd_OptionAsUint - - Add an accessor function which can return a unsigned int for an - option value. - - Change-Id: I33bc9a2618191ca60b95086624100b54efb05ab2 - Reviewed-on: http://gerrit.openafs.org/4652 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 70624fd2ab0e580b7a34e0e9f3a83fc0d59b53c4 -Author: Andrew Deason -Date: Mon May 23 17:11:28 2011 -0500 - - cmd: Fix parsing positional args - - If the first parameter of a libcmd syntax is a flag, cmd_Parse was - skipping over positional arguments, since j will be 0 at this point - (the j variable is only used if we're processing an explicit switch). - Effectively revert this area to what it was before - a2f1ca5fd52ac2fb7e68b101bbe3da9878c10474 so such positional parameters - work again. - - Also move the j variable to inside the only block in which it is used, - to try and avoid such mistakes in the future. - - Change-Id: Ifa52cecf50a3f561c70de351a9ebd026e90eeeab - Reviewed-on: http://gerrit.openafs.org/4711 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba76149a57f0cfd92672580b7047a557f159ee52 -Author: Jeffrey Altman -Date: Mon May 23 13:26:20 2011 -0400 - - Windows: ChangeLog for 1.5.9906 (1.6.0pre6) - - Change-Id: Ie799849d3e538b98afc49e6003b6b0f595308da5 - Reviewed-on: http://gerrit.openafs.org/4706 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b3004fbd5007d400a4cd3fb2a5b1c52d98618aab -Author: Antoine Verheijen -Date: Tue May 17 09:40:15 2011 -0600 - - Replace uintptr_t type cast with uintptrsz in afs_vcache.c - - A recent change (commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0) - to afs_vcache.c contains a call to afs_warn() whose second parameter - contains a "(uintptr_t)" type cast as part of a double type cast. - This presents an issue on some systems, such as OpenBSD, where this - object type is defined in a header that is not presently included. - This change modifies that type cast to instead use the AFS-internal - "(uintptrsz)" type which should provide the same effect. - - Note that an earlier version of this patch ateempted to remove the - "offending" type cast as redundant but it was pointed out that some - systems require this kind of cascading type cast when casting pointers - to integers to deal with possible size issues. - - Change-Id: Iea81b2be1050a1c929978a99c518d86c6d1f2118 - Reviewed-on: http://gerrit.openafs.org/4671 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 98a4a5498f39e242b4cd933694a4626e208f43c6 -Author: Simon Wilkinson -Date: Sun Apr 24 15:28:02 2011 -0400 - - cmd: Include aliases in help output - - Include any command aliases in the output from the -help option - - Change-Id: Ifb2ac96d9ba6fc64bffff69bac9480a6b7e8568e - Reviewed-on: http://gerrit.openafs.org/4651 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4999ed13d2355743e07587c8d7c4d23cbc073c5f -Author: Michael Meffie -Date: Sat May 21 20:56:23 2011 -0400 - - volinfo: print namei filenames of index files - - On namei fileservers, also print the namei filenames of the volume special - files when the -header flag is given. - - Change-Id: I90112f13d0f39348ee3862fdbdb55074e8877108 - Reviewed-on: http://gerrit.openafs.org/4696 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ae27283550dab33704f30e18975722e0ed2c5424 -Author: Michael Meffie -Date: Sat May 21 12:06:43 2011 -0400 - - volinfo: remove code duplication in HandleVolumes - - Reduce duplicate code for processing volume header files when printing header - details (-header) and calculating the volume size (-sizeOnly). - - Change-Id: I1f1d3b3d065901379c289065dfa1999e249662a4 - Reviewed-on: http://gerrit.openafs.org/4695 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c833ff6c5b7f9c27cf26eae4833b033bd7382c56 -Author: Michael Meffie -Date: Sat May 21 12:38:03 2011 -0400 - - volinfo: fix volume aux totals output - - Do not print the volumes aux totals prematurely when running - volinfo with the -headers flag on an namei fileserver. Instead - print the aux totals only once after the link table size is found. - - Change-Id: I4538e2fc8978530fd2e8593e0b343a2497c7a764 - Reviewed-on: http://gerrit.openafs.org/4694 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b7fe087745923bdea4571870799e484da67221d2 -Author: Michael Meffie -Date: Sat May 21 07:28:41 2011 -0400 - - volinfo: print errors to stderr - - Print volinfo errors messages to stderr instead of a mix of stdout - and stderr. Print a consistent program name. - - Change-Id: Ifadae52d56a75ff7d73d639ff1dd893b1a926a28 - Reviewed-on: http://gerrit.openafs.org/4693 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ababc1ba4412ae94b29f8ba0832eac087a024af2 -Author: Michael Meffie -Date: Fri May 20 14:44:39 2011 -0400 - - volinfo: fix size totals when saving inodes - - Fix the volume size calculation when volinfo is invoked with - both -sizeOnly and -saveinodes at the same time. - - Change-Id: Ifafe6a128918500ac6fd5f9a1e39de2d4aff785d - Reviewed-on: http://gerrit.openafs.org/4691 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e3fb2740ba20e78fdc93308b6a2843454a6d269c -Author: Michael Meffie -Date: Fri May 20 13:53:48 2011 -0400 - - doc: document volinfo -filenames option - - Add the namei -filenames option to the volinfo man page. - - Note this option as implemented implies the -vnode flag, but for - consistency with the other fields that modify the default mode - output, it is documented to be accompany the -vnode flag. - - Change-Id: I7cc5cdf5e74e65ca25ecc086e550a468b803b971 - Reviewed-on: http://gerrit.openafs.org/4690 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 97070b425d4c6e4fa4944160c0e7a6965ebb8e75 -Author: Jeff Blaine -Date: Wed May 18 23:49:52 2011 -0400 - - Added -dryrun - - Added missing information about -dryrun option - - Change-Id: I17f9e8c54c1d12c84476c9d19da48b0a5219e623 - Reviewed-on: http://gerrit.openafs.org/4680 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 33cb8a53fdc8907dafed2e77cc1da539d17397c5 -Author: Michael Meffie -Date: Wed May 18 13:42:27 2011 -0400 - - volinfo: fix -filenames option check - - Fix the logic for checking the presense of the volinfo -filenames - option. The original patch inadvertently added the -filenames - check as an if-else cause to the -orphaned flag check, which - prevents filenames from being printed when listing orphaned - vnodes. - - Change-Id: I070d796e7ea9c0f5df9cf92a17eaa4004444d423 - Reviewed-on: http://gerrit.openafs.org/4689 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 04087af8494b90f664ac5f274d5db4c12063f238 -Author: Derrick Brashear -Date: Fri May 20 14:13:01 2011 -0400 - - macos: bulkstat redux - - simplify the logic which can require sleeps in various vcache - resolution paths. instead of the two-pass system we had before, - just guess using the even/odd hack what type a vnode will be. - if a vnode turns out to be a link and thus we are wrong, we - do a fixup later. other callers who "race" with bulkstat - (which is a supported feature, otherwise you'd have to block - callbacks) will also call through a fixup to get the correct - backing vnode type. this is necessary as the KPI doesn't - let us change the type of a vnode after it's been created. - - side effect: eliminate many of the ugly cases where we had been - sleeping waiting for a vnode to be finalized even before bulkstat. - - Change-Id: Ib888fa5577d48354725ea72305765e4341bc2366 - Reviewed-on: http://gerrit.openafs.org/4677 - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0cf06f620213fa62abc16bf717779a1333ce12a0 -Author: Derrick Brashear -Date: Fri May 20 14:10:49 2011 -0400 - - dynroot: mark vnode types on dynroot vnodes - - when we create a vnode using a dynroot fid, we weren't bothering - to update the type from the default (typically VREG); most - dynroot vnodes are actually VDIR... - - Change-Id: I1c54e8c2a3c7ffd234f3247d38730062484fec87 - Reviewed-on: http://gerrit.openafs.org/4686 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ca425b7d49a2bf4c079aa38c0abf68596eca0b30 -Author: Andrew Deason -Date: Thu May 19 17:02:35 2011 -0500 - - SOLARIS: Reset syscalls on mod_install failure - - If our call to mod_install fails for any reason (for example, if the - afs entry is missing from /etc/name_to_sysnum), we may still have set - the sysent structures for setgroups and ioctl to point at libafs code. - So calls to those syscalls will cause a panic, since the code they - point to is no longer loaded. - - To avoid this, just reset the sysent entries back to what they were if - we fail to load, just like we do when unloading the module. - - Change-Id: Ia0d6691780c749a0f550e640783c093ae45604ac - Reviewed-on: http://gerrit.openafs.org/4685 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 89b22dfe8659cd2e576cc2cd2b455598db59aacc -Author: Andrew Deason -Date: Thu May 5 15:10:54 2011 -0500 - - libafs: Implement unixuser RW locks - - Currently code dealing with changing unixuser structs does not obtain - any locks protecting the contents of the unixuser struct, though some - functions like afs_GetUser have a parameter indicating what type of - lock should be obtained. This can result in the token data for a user - being changed at the same time another thread tries to use the token - data. - - To ensure mutual exclusion of such operations, add a lock field to the - unixuser struct, and actually lock it according to the intentions of - the relevant code. - - Change-Id: Idd66d72f716b7e7dc08faa31ae43e9a23639bae3 - Reviewed-on: http://gerrit.openafs.org/4636 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4a82c0cc4167b729108813965bd39bf86ea15e6b -Author: Andrew Deason -Date: Mon May 16 13:45:49 2011 -0500 - - libafs: Always use anonymous VL connections - - afs_NewVolumeByName was using the areq given by the caller for - afs_SetupVolume, which may represent authenticated credentials. Give - afs_SetupVolume &treq instead, which will be anonymous, so we don't - have to deal with rxkad for VL lookups. - - Change-Id: Ie990028133173c312d2e5d9de4baa82b99cfdf7d - Reviewed-on: http://gerrit.openafs.org/4666 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f1928b9d26cfc415911a2e4346fbfefb909745ac -Author: Jeff Blaine -Date: Wed May 18 21:46:52 2011 -0400 - - Hide -noexecute in favor of -dryrun - - Makes all previous -noexecute arguments hidden (still callable) - and replaces them with -dryrun whose help text has been made - common where appropriate instead of the 3 previous ways the - argument was explained. - - Change-Id: I0ef3daa88dc771d972131358dc6e8a23ecd5a33b - Reviewed-on: http://gerrit.openafs.org/4678 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3ce2742c96027259de7811016be4d7548172fa76 -Author: Jeffrey Altman -Date: Wed May 18 13:51:53 2011 -0400 - - auth: failback to afs3-vlserver for afs3-prserver - - If the DNS SRV lookup is for afs3-prserver or afs3-kaserver, - fallback to a lookup for afs3-vlserver since those services - are traditionally hosted on the same machine as the vlserver. - - FIXES 129887 - - Change-Id: Iec553415cd4f491ea5c32923c4023619bf6320e8 - Reviewed-on: http://gerrit.openafs.org/4676 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 96cd4a1862261257ed662c70f5b476bbe5591899 -Author: Jeffrey Altman -Date: Sun May 15 21:56:17 2011 -0400 - - Windows: lock protected fields must be 32-bit - - It is not safe to protect two 16-bit fields in a structure - with different locks. Switch to using 32-bit fields. - - Increment the cm-memmap version number since the data structure - sizes changed and the cache file must be invalidated. - - Change-Id: I867b4b85b4fd9fe0083ad9d0559311f1c287513f - Reviewed-on: http://gerrit.openafs.org/4660 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 586139140f5b28a99ae80faea099166f7dfe45b7 -Author: Jeffrey Altman -Date: Sun May 15 21:53:56 2011 -0400 - - Windows: add lock assertions to cm_buf.c - - add lock assertions to cm_buf.c in hopes of detecting why - periodic buf_scacheHashTable corruption is being detected. - - Change-Id: I247ad7090a9484ae76b2e56f6f53ef8ee5af1abc - Reviewed-on: http://gerrit.openafs.org/4659 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 76554bfc21af5df44af6c821fbed166eb66f9e53 -Author: Jeffrey Altman -Date: Sun May 15 21:51:14 2011 -0400 - - Windows: test return from krb5_cc_start_seq_get - - If krb5_cc_start_get fails when using Heimdal, the cursor - is invalid and it is not safe to pass it into subsequent - functions. - - Change-Id: I65193fb63c33ddcbf741c21b40128785404ea920 - Reviewed-on: http://gerrit.openafs.org/4658 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 884d0b058cea4ad6c9338fc7842ea0c619cb263d -Author: Ken Dreyer -Date: Mon May 16 19:53:43 2011 -0400 - - doc: -afsdb uses SRV records - - afsd's -afsdb option now uses DNS SRV records (RFC 5864). Update the manpages - to reflect this. - - Change-Id: I944df36717b53d8545765bde68c309e0229cfc79 - Reviewed-on: http://gerrit.openafs.org/4670 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit ef0ac2fbb026385f2306189230c2cff8706dff06 -Author: Andrew Deason -Date: Mon May 16 15:16:30 2011 -0500 - - viced: Don't VTakeOffline_r without glock - - We don't have the volume glock, so don't call _r functions. - - Change-Id: I7779412fdf1333941d320234e64000dfbfed0f4f - Reviewed-on: http://gerrit.openafs.org/4669 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 6df5547a7b93af74bc49ec8d4678aafd646dda1b -Author: Andrew Deason -Date: Mon May 16 15:02:14 2011 -0500 - - viced: Check vnode length on Rename and Link - - Commit 2578555d7e08131bf2fe4cdd0aa4b32567a76eb2 added vnode length - checks when we create or remove vnodes, but not during Rename and Link - operations (when vnodes are neither created nor destroyed). Add the - check in Rename and Link. - - Change-Id: I8008380a2b9e286d2dcdabaed5ceba97909dbb37 - Reviewed-on: http://gerrit.openafs.org/4668 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 24ddd06a0dc19ad7c0b2a2847d41a5ea69665b15 -Author: Andrew Deason -Date: Fri Apr 15 14:18:57 2011 -0500 - - doc: Add aklog_dynamic_auth manpage - - Add a manpage for the aklog_dynamic_auth LAM module. - - Change-Id: Ibb8583401d565ca0caea7688ac797aa85a0d6869 - Reviewed-on: http://gerrit.openafs.org/4485 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit aafdc08cfc49da4c23ecd91f9e690fd70e95df55 -Author: Andrew Deason -Date: Thu May 12 10:57:09 2011 -0500 - - viced: Enable NAT ping on hosts - - Turn on NAT ping on the Rx connection for the callback channel for - hosts. This should help improve behavior for clients behind NATs and - stateful firewalls, even for clients that predate NAT ping - functionality. - - Change-Id: I0f8e801c2225560192de9c09bfa06d0387e29af3 - Reviewed-on: http://gerrit.openafs.org/4646 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 0376255747ac17ed41afbc219f5a5978e58d8e9c -Author: Andrew Deason -Date: Thu May 12 10:21:09 2011 -0500 - - viced: h_SetupCallbackConn_r in removeAddress_r - - removeAddress_r has some code that is identical to the - h_SetupCallbackConn_r function. Call the function instead. - - Change-Id: I3416dd1b5c94f0e836c2461771389045994e7152 - Reviewed-on: http://gerrit.openafs.org/4645 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 38efda16a2c5c9e74b5a23b5bdd2818a3353eec2 -Author: Andrew Deason -Date: Fri May 6 13:12:17 2011 -0500 - - dasalvager: unlink fsstate.dat when standalone - - If the DAFS salvager is running in a standalone mode, unlink the - fileserver's fsstate.dat file if any volumes change. Otherwise, volume - data could have changed and the fileserver will retain callback - promises for the data in those volumes until it tries to attach the - volume. This way, callbacks are broken via callback state - reinitialization. - - A better solution is to record which volumes have changed, and the - fileserver can break callbacks for them on startup. But this at least - eliminates a regression from non-DAFS behavior. - - Change-Id: Ie443e7d43705c3015d21bd3cad1b1e05c88562be - Reviewed-on: http://gerrit.openafs.org/4638 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cf9ef0bed92f63406123ff6bc706cf1ce4758b20 -Author: Simon Wilkinson -Date: Sun Apr 24 15:29:37 2011 -0400 - - cmd tests: Initialise string retval - - The cmd_OptionAsString function attempts to free the previous value - of the string passed to it. Make sure that we initialise the return - value to NULL before passing it in in the test suite. - - Change-Id: I8500d5e6812f4d1655fc50618db472c745604e41 - Reviewed-on: http://gerrit.openafs.org/4653 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0 -Author: Andrew Deason -Date: Tue May 10 14:16:06 2011 -0500 - - libafs: Flush vcaches in afs_shutdown - - Currently, a few platforms (linux, linux24, solaris, irix) flush all - vcaches during shutdown. However, they do this before calling - afs_shutdown(), resulting in afs_FlushVCache queueing VCBs and - possibly trying to give the callbacks back to the server. - - Instead of this, perform the flushes in afs_shutdown itself, so we do - this after we try to give up all callbacks to all servers, and we do - this while afs_shuttingdown is set, so we don't try to queue VCBs. - This also consolidates some of the duplicated code to flush all - vcaches, and now does this for all platforms. - - Change-Id: I69c9e0862972f18ecc29ff709943d9a77f2db0a9 - Reviewed-on: http://gerrit.openafs.org/4641 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 330cc7c83bf8470e1e63f6e6d514f1e82008f167 -Author: Andrew Deason -Date: Tue May 10 13:45:26 2011 -0500 - - libafs: GiveUpAllCallBacks at shutdown again - - Commit cee2c677d7de66a510d05978e3b41dcd5d8aca78 caused the cache - manager to give up all callbacks at shutdown. But - 76158df491f47de56d1febe1d1d2d17d316c9a74 removed the call to - afs_FlushVCBs in afs_shutdown. Put it back. - - Change-Id: I74b815af485482ab83b9115772e4f4221a731f3e - Reviewed-on: http://gerrit.openafs.org/4640 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ae638fa383b8270fe2461a2ad91b9101c74f3593 -Author: Andrew Deason -Date: Tue May 10 12:54:53 2011 -0500 - - libafs: Do not write-lock afs_xserver on ICBS - - Our RXAFSCB_InitCallBackState* handler currently write-locks - afs_xserver when it clears the SCAPS_KNOWN flag for the relevant - server. However, the afs_xserver lock is for protecting the global - list and hash table of server structures, and is not necessary to - acquire in order to modify the flags of an individual server struct. - For instance, CkSrv_GetCaps does not acquire any locks to modify the - server flags. - - Taking this lock conflicts with a read lock on afs_xserver acquired by - afs_FlushVCBs when it traverses the list of server structures. - afs_FlushVCBs may contact a server that then calls InitCallBackState - on us, causing a deadlock if ICBS waits for the afs_xserver lock. - - So, avoid locking afs_xserver in this case, to avoid that deadlock. - - Change-Id: Id4dea74ce85726a3da07f738e301600f46059297 - Reviewed-on: http://gerrit.openafs.org/4639 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 881aaf80cd2590925fad3eb4746ccd914e7ffd0d -Author: Russ Allbery -Date: Sun May 15 00:32:40 2011 -0700 - - Fix misspelling of writable as writeable - - Caught by Lintian in the strings in the butc binary, so I did a global - search for any other occurrences. - - Change-Id: I5d5b433e716a62dc43d1c5376841e41d49e29ba5 - Reviewed-on: http://gerrit.openafs.org/4657 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8ee33373c1ef24572476d8189a3f6f7505bfc83a -Author: Marc Dionne -Date: Sat May 14 20:57:12 2011 -0400 - - Linux: fix reading files larger than the chunk size - - Commit 2571b6285d5da8ef62ab38c3a938258ddd7bac4e fixed an issue with - the use of tmpfs as a disk cache and ftruncate() on files in AFS. - But it introduced a problem reading larger files as reported in - RT ticket 129880. - - What should be compared against the current cache file size is the - offset into the current chunk, not the overall offset for the whole - file. - - FIXES: 129880 - - Change-Id: I93008c8d0b1d70785b0b8a2e4289a04ac06cbbef - Reviewed-on: http://gerrit.openafs.org/4656 - Reviewed-by: Russ Allbery - Tested-by: Russ Allbery - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b983054f88d69ca4c0cda07e94103f216bd881d -Author: Andy Cobaugh -Date: Wed May 11 17:02:40 2011 -0400 - - rpm: Really undefine %dist - - rpmbuild --eval '%undefine dist' wasn't sticking on redhat 5.x. I think - the correct way to undefine this is to --define 'dist %undefined' - - Some redhat 5.x installs have %dist defined depending on what else has been - installed. - - Change-Id: I9ad6854a337c2085bb2db5e5f98e7d2f9889c4e4 - Reviewed-on: http://gerrit.openafs.org/4643 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 050945e949135c1b98ed353fc05fcf9b8c1587bd -Author: Marc Dionne -Date: Sat May 14 13:19:52 2011 -0400 - - Linux: fix permission op test for certain compilers - - Some compilers complain that _inode is used uninitialised here. - Since this test requires -Werror, it causes the test to fail - and our permission op to be used in RCU mode, leading to lockups. - - Initialise it to make the compilers happy. - - Fixes a lockup seen on kernels 2.6.38+ on Gentoo and Debian. - - Change-Id: Id6325e3a5a918906d547d241a39de777fb394fdc - Reviewed-on: http://gerrit.openafs.org/4654 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e4dc78845cec721013be4170231936ef371afe2f -Author: Derrick Brashear -Date: Thu May 12 10:59:53 2011 -0400 - - afscp: tellmeaboutyourself stub wants host byte order - - we get network byte order addresses from rx_getAllAddr; swap back - to host order. - - Change-Id: Id0c5e70399422593c574958f905984c9edf8e6d4 - Reviewed-on: http://gerrit.openafs.org/4644 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4b1e329e30421b47426137d8007afdf7e2e43918 -Author: Jeffrey Altman -Date: Mon May 9 10:46:46 2011 -0400 - - Windows: always try afs/cell@USER-REALM first - - In the KFW_AFS library, always try afs/cell@USER-REALM - first, even when KFW_AFS_klog() is called with an explicit - realm mapping for the cell. An afs service principal from - the user's realm is always preferred. No cross realm and - if the realm is AD, the ability to avoid the inclusion of - a PAC. - - Change-Id: Ia29085e03d7c8a7c05e0c8d7991bc48b780b84fa - Reviewed-on: http://gerrit.openafs.org/4633 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f0fe7537e7ea1dadfed7b96c90361497e624cd8c -Author: Jeffrey Altman -Date: Mon May 9 10:45:33 2011 -0400 - - Windows: support dotted names in aklog - - Do not reject dotted principal names if the registry - configuration states that they should be accepted. - - Change-Id: I675bec085f61ae2f5dc1cfd93a811655f87e0577 - Reviewed-on: http://gerrit.openafs.org/4632 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 010fc998a51a0aae2499b128ee8c671885a84e13 -Author: Andrew Deason -Date: Thu May 5 17:13:21 2011 -0500 - - libafs: Put back GetCapabilities user reference - - afs_GetCapabilities gets a user reference for the conn for the - GetCapabilities call. Put the ref back so we don't leak refs. - - Change-Id: I46304ea13c3d78216641f468718b23b665d046ff - Reviewed-on: http://gerrit.openafs.org/4626 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 03f0c656c1734b9be4debdf19b8f10771ff4420a -Author: Andrew Deason -Date: Thu May 5 11:18:08 2011 -0500 - - libafs: Get rx conn ref with afs conn ref - - When we get a reference to an afs_conn with afs_Conn and its variants, - we assume we can use the tc->id rx connection without holding any - locks. However, if tc->forceConnectFS gets set, the tc->id connection - can be destroyed and recreated out from under us. So, to avoid using a - possibly freed rx connection, grab a reference to the rx connection at - the same time as we grab a reference to the afs conn. And also put - back the same reference with afs_PutConn. - - Change-Id: I442886ee89c6f3fa609e47261317e647e124eecc - Reviewed-on: http://gerrit.openafs.org/4625 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cf1d9771f4782781fd35ed68dd9736242c27fc8e -Author: Jeffrey Altman -Date: Fri May 6 09:49:52 2011 -0400 - - Windows: replace CYGWIN envvar with CYGWINDIR - - The environment variable CYGWIN (starting with cygwin 1.7.1) is - now used by CYGWIN to set configuration parameters for the cygwin - runtime library. OpenAFS used it to indicate the location of the - Cygwin install directory. Since there is a conflict, rename CYGWIN - to CYGWINDIR. - - Change-Id: I98f6a7095ede4c6a91dd71d48312b0d1a55b8091 - Reviewed-on: http://gerrit.openafs.org/4629 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6c825ddd806b5ace6323b36988ab085eb8944ce0 -Author: Jeffrey Altman -Date: Thu May 5 20:36:38 2011 -0400 - - Windows: change log for 1.5.9905 - - Change-Id: If230ae5f0dcb811954130e118fc0ae81dc396111 - Reviewed-on: http://gerrit.openafs.org/4627 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1f48bc7a30d5df88a1e5f539ee22df3952533a88 -Author: Andrew Deason -Date: Thu May 5 11:37:12 2011 -0500 - - libafs: Correct afs_LoopServers flags - - AFS_LS_DOWN was actually checking up servers, and AFS_LS_UP was - checking down servers. Fix the handling of the 'adown' flag so we do - the right thing. Also make afs_FlushVCBs use the symbolic name for - adown. - - Change-Id: I601faf1bb712a2f76f0bb2447530af38111a71fd - Reviewed-on: http://gerrit.openafs.org/4624 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a8e7cf15d1d0e772041adda1973bb141b95572f7 -Author: Jeffrey Altman -Date: Wed May 4 19:53:22 2011 -0400 - - vol: switch to rk_closesocket - - Use roken's rk_closesocket instead of #ifdef AFS_NT40_ENV - conditional tests. - - Change-Id: I3602705cea61f07b0e05c633ab57125e43cde506 - Reviewed-on: http://gerrit.openafs.org/4623 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit cb6cd6484edc0e026fe15e11fe86b9dcf106568d -Author: Jeffrey Altman -Date: Wed May 4 14:41:03 2011 -0400 - - afscp: use closesocket when closing sockets - - close() is not portable to platforms where a socket is - not a file descriptor. - - Change-Id: I7077643f45b969f8aa274f4fbb0dfbf375d6542f - Reviewed-on: http://gerrit.openafs.org/4620 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a9c4772b7175a0bc85844c9b8bb8bdcd26bbce8c -Author: Russ Allbery -Date: Mon May 2 14:54:35 2011 -0700 - - Further fix gssapi.m4 for Heimdal without libroken - - The gssapi.m4 fix for Heimdal without libroken was incomplete. It now - doesn't attempt to link with libroken when probing for GSS-API - symbols. Thanks, Antoine Verheijen. - - Change-Id: Ie994c321f68d7ffba96d2cf31dcf287be8546121 - Reviewed-on: http://gerrit.openafs.org/4607 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 48633351c597278d4c8efd5a80163f0637c85aaf -Author: Jonathan A. Kollasch -Date: Mon May 2 21:06:34 2011 +0000 - - NetBSD: DEBUG can not typically be defined - - Like IRIX 6.5, some NetBSD kernel structures change size in the presence - of the DEBUG preprocessor symbol. - - Change-Id: I3c5acba7afd22be9b179f628dfa0c1c402c08e2a - Reviewed-on: http://gerrit.openafs.org/4605 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 350786b3e092150a91bb4542263f648d683e3b7c -Author: Jonathan A. Kollasch -Date: Mon May 2 20:03:50 2011 +0000 - - NetBSD: translate timeval structure format in clock_GetTime() - - Change-Id: I4fb81a5b809437786064402b3ced0b1659d4476b - Reviewed-on: http://gerrit.openafs.org/4604 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 047cc473037efa62fa7698878e055ca4665e85ef -Author: Andrew Deason -Date: Wed Apr 27 16:24:46 2011 -0500 - - viced: Improve deleted client log messages - - Change the information logged related to deleted clients to be a - little more useful. In particular this includes adding the client and - host refcounts, to help see if the cause is a reference count leak. - - Change-Id: Iba156fb32a4838cdbd567ca4e55072337c63ba67 - Reviewed-on: http://gerrit.openafs.org/4583 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b2c6a850738437256626e0dfe743a09224879ad4 -Author: Andrew Deason -Date: Wed Apr 27 15:36:44 2011 -0500 - - viced: Do not try to reuse deleted client - - When h_FindClient_r encounters a deleted client structure, it does not - try to find a different client structure to use. Force it to use a new - client structure by setting client to NULL when it detects a deleted - client. - - This arguably reverts part of - 4e55e30f5b2c149b350b6d6875793adf722fdc21, but the code paths in - h_FindClient_r are very different now, so that commit is probably not - too relevant. - - Change-Id: I8e5004c8a9a3d99919da8df4436e5aa97e338825 - Reviewed-on: http://gerrit.openafs.org/4582 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 230869eba8d651a54a6b58a6a69e05ef058bfe33 -Author: Jonathan A. Kollasch -Date: Mon May 2 18:32:29 2011 +0000 - - Remove unused variable - - Change-Id: Ib91cf666f3b66b9d8aae7bfcab290e6fede61280 - Reviewed-on: http://gerrit.openafs.org/4599 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 66db3f38da5527d67631d85fd3ff5a9c77cc1f11 -Author: Jeffrey Altman -Date: Sun May 1 00:11:13 2011 -0400 - - Windows: Fix caching of non-existing vols - - In cm_UpdateVolumeLocation() the conditional that would - trigger the immediate return of CM_ERROR_NOSUCHVOLUME - was backwards which prevented the caching from working. - - cm_CheckOfflineVolumes() is called by the daemon thread - to reset the status of offline volumes. Non-existing - volumes are by definition offline and cannot be brought - online. Therefore, the cm_CheckOfflineVolumes() function - should skip volumes with the CM_VOLUMEFLAG_NOEXIST flag - set. - - Change-Id: If4093132322e7dd02d71c0f18d6492abbea53e01 - Reviewed-on: http://gerrit.openafs.org/4597 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1096c2db638052c5ddcc6f6a01a1513d947a7268 -Author: Andrew Deason -Date: Thu Apr 28 16:13:20 2011 -0500 - - Add missing LIB_roken references - - With the usage of asprintf in libcmd, some more binaries require - libroken to link. Add LIB_roken to their link lines. In src/venus for - the fstrace rule, this causes the HP-UX case to be identical to the - default case, so just remove the HP-UX special case. - - Change-Id: Ib4677b17a194cf79742bd5767d3f5cf2442973d3 - Reviewed-on: http://gerrit.openafs.org/4590 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit fd545c51fe34b1452f09d4fbf6458f5b1557e895 -Author: Derrick Brashear -Date: Fri Apr 29 03:59:19 2011 -0400 - - avoid downward vcache pressure when entries are free - - we try to keep VCACHE_FREE entries free. if there's already that many free, - do nothing. - - Change-Id: I7e92430329a17250f94d0435de7641fa331dd461 - Reviewed-on: http://gerrit.openafs.org/4595 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 76158df491f47de56d1febe1d1d2d17d316c9a74 -Author: Andrew Deason -Date: Tue Feb 15 12:04:32 2011 -0600 - - libafs: Drop xvcache for AllocCBR - - Normally when we AllocCBR, we are holding xvcache write-locked, since - it is called from FlushVCache. Before - a309e274632993c5aeec04c6e090f5ac95837a40, when AllocCBR needs to flush - CBRs due to a lack of space, we hit the net, giving up callbacks on - fileservers. - - This can cause a problem if one of those fileservers needs to contact - us in order to complete that request, since the callback service - thread may be waiting for xvcache, causing a deadlock (that is - eventually broken by network timeouts). - - To avoid this, drop xvcache if AllocCBR looks like it does not have - sufficient space. Fix all callers of afs_FlushVCache to handle the - case where we sleep, since with this change, afs_FlushVCache can sleep - on all platforms. - - This partially reverts a309e274632993c5aeec04c6e090f5ac95837a40, as it - contains an alternative method of avoiding the xvcache lock in this - situation. This commit restores much of the code path to be much more - similar to how it used to be, except that it allows for dropping - xvcache for AllocCBR. This should make any change to our prior - behavior smaller/simpler, and thus safer and more consistent with - existing clients. This reintroduces the hard limit to how much space - we allocate for CBRs, although the part of - a309e274632993c5aeec04c6e090f5ac95837a40 that raised this limit is - retained. - - Change-Id: Id4aaa941b3908f59390873e83e23429041c0828f - Reviewed-on: http://gerrit.openafs.org/3958 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 2a2206bfe16815a6625fee4d37520e9676d88ab4 -Author: Andrew Deason -Date: Thu Apr 28 11:48:18 2011 -0500 - - libafs: Use vcount, not maxvcount to trim vcaches - - Every five minutes we afs_ShakeLooseVCaches to try and return the - number of vcaches in use down to the originally configured -stat level - (when we are using dynamic vcaches). We should calculate how many - vcaches to flush based on the number of currently active vcaches - (afs_vcount), not the peak number (afs_maxvcount). Otherwise, once we - exceed the configured -stat level, we will always keep trying to flush - numerous vcaches, even if we barely have any vcaches in use. - - Change-Id: I875fc1d33c817dde2230946b852bb74f8ffd84c2 - Reviewed-on: http://gerrit.openafs.org/4584 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 92825d6d65dad47c86bee7b3e57618e983e6cf47 -Author: Russ Allbery -Date: Thu Apr 28 13:00:43 2011 -0700 - - Resync test harness with C TAP Harness 1.7 - - Includes the following upstream changes: - - Add a more complete usage message to runtests and add support for a -h - command-line flag to display the usage message. - - is_double() now takes a third argument, an epsilon. Two numbers are - considered equal if their absolute difference is less than epsilon. - is_double() also now treats wanted and seen values of NaN (not a - number) as equal. Thanks to PICCA FrĆ©dĆ©ric-Emmanuel for the proposed - changes. - - The ok_program function in the shell libtap.sh library no longer - strips text after a colon and a space from the program output if the - expected status is non-zero. Instead, if program output may contain - system-specific error messages after a colon and a space, put the new - function strip_colon_error before the program to do this stripping. - Thanks to Carsten Hey for the idea. - - strip_colon_error is now smarter about preserving an initial word - ending in a colon (which is generally the program name) while still - stripping error messages later in the line. - - The test_file_path function in the shell libtap.sh library now always - returns the empty string, rather than possible absolute paths starting - at /, if $BUILD and $SOURCE are not set. - - Flush standard error in the C TAP library before printing results for - more deterministic output. Thanks to Carsten Hey for the idea. - - All of C TAP Harness now compiles with gcc -ansi -pedantic and should - be fully C89-compatible. Note that either C99 or SUSv3 is required to - build C TAP Harness. (This should not be a problem on any modern - platform.) Based on work by Carsten Hey. - - Simplify and improve output formatting in the summary of failing tests - in some edge cases. - - Add explicit license statements to the files meant to be copied into - other packages rather than referring to LICENSE. - - Add a test_file_path() function to the basic C and shell TAP - libraries, which searches the build and source directories for a - particular file and returns the full path. This is a utility function - that can be used to find test data files. - - Change-Id: I3ef84218f0e3a8b75f550c8b629b058330659b31 - Reviewed-on: http://gerrit.openafs.org/4589 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e88e369c92e8a0c4bedd136edadb21d99988d587 -Author: Russ Allbery -Date: Thu Apr 28 16:10:23 2011 -0700 - - Fix various build problems with the test suite - - The cmd/command-t test requires libroken and was misspelled in the - TESTS file. Multiple tests require LD_LIBRARY_PATH to be set to find - libafsroken if it hasn't been installed, so set it when running - runtests via make check. (Note that this means runtests -o will not - work properly unless the user also sets LD_LIBRARY_PATH.) - - Change-Id: Ib64f0505b3b75db33adb6c7b6452dcaac0b05dbc - Reviewed-on: http://gerrit.openafs.org/4594 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit dc3da0677264781bc99d079abfe35cd628113928 -Author: Russ Allbery -Date: Thu Apr 28 12:56:11 2011 -0700 - - Resync Autoconf macros from rra-c-util 3.3 - - This includes the following fixes: - - * Include krb5.h before probing for the IBM-specific header file for - obtaining error strings to avoid Autoconf warnings on AIX. - - * Use [] to mark empty arguments to Autoconf macros. - - * Add an explicit license statement to these Autoconf macros, matching - the normal Autoconf macro license. - - * Ensure rra_use_kerberos is always set so that other parts of configure - can rely on it. - - Change-Id: I521d38ad6834808cf09c798aeba0efc0dd741fd6 - Reviewed-on: http://gerrit.openafs.org/4588 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4d6d5dfb60feb3fdbf4ac7b035730859eb7fb89e -Author: Russ Allbery -Date: Thu Apr 28 12:50:35 2011 -0700 - - Resync src/cf/gssapi.m4 with rra-c-util 3.3 (fixes OpenBSD) - - Resynchronize src/cf/gssapi.m4 with rra-c-util 3.3. This includes - the following fixes: - - * Handle the Heimdal GSS-API library on OpenBSD, which does not have - a separate libroken. Thanks to Antoine Verheijen for the analysis. - - * Search /usr/kerberos/bin for krb5-config even if that isn't on the - user's PATH to find krb5-config on some Red Hat versions. - - * Use [] to mark empty arguments to Autoconf macros. - - * Add an explicit license (matching the normal Autoconf macro license). - - Change-Id: I6934ebcb3bfb0d763713aef159484b08849d4985 - Reviewed-on: http://gerrit.openafs.org/4587 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit c7212aaaf155f60e28bf592a13e5a50c960e5017 -Author: Andrew Deason -Date: Thu Apr 28 13:55:09 2011 -0500 - - doc: Fix 'vos endtrans' copyright - - SNA owns this, not me. - - Change-Id: I0ca601504467b825fffeca5a0529a2a529e37383 - Reviewed-on: http://gerrit.openafs.org/4586 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit af175ce2c7a4785ef1992d096adfdb27daa86ee4 -Author: Andrew Deason -Date: Wed Apr 27 14:23:43 2011 -0500 - - viced: Avoid ref leak on origin callback break - - When breaking a callback, sometimes we send a callback to the host - that performed the callback-inducing operation. When we do this, - currently BreakCallBack gives the origin host structure to - MultiBreakCallBack_r, which avoids releasing that host after the - callback is broken. - - However, BreakCallBack obtains a reference to every host to which it - delivers a callback, even if it is the origin host, so a reference is - leaked. Fix this by not ever passing a host to MultiBreakCallBack_r, - and just have MultiBreakCallBack_r release a reference for every host - to which it delivers a callback break. - - FIXES 129376 - - Change-Id: I88503f29f80d4233c062ff448fc4d912e401e8e4 - Reviewed-on: http://gerrit.openafs.org/4581 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9a4e3ade396583d412a85c4e03238d18d5c533ee -Author: Andrew Deason -Date: Wed Apr 27 13:51:23 2011 -0500 - - viced: Transfer host ref in h_FindClient_r - - In h_FindClient_r, we can change which client structure we're dealing - with if we find a different client struct in the Rx conn-specific - data. We adjust the refcounts for the client structures themselves, - but not the associated hosts. While the host structures should be the - same most of the time, we are not guaranteed that, so adjust their - refcounts as well. - - Change-Id: I01f447da3dd2dd4306525b99049c4cd7e27f5181 - Reviewed-on: http://gerrit.openafs.org/4580 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7d72a8c5c4b9df417c9337c01e8a7f26d8f6280b -Author: Derrick Brashear -Date: Mon Apr 25 22:23:40 2011 -0400 - - IRIX: set vfs pointer when creating new vcaches - - add missing call to set our vfsp on irix. - - Change-Id: Id3b1c3d088e59ed535c20ef7516ce93004e78bff - Reviewed-on: http://gerrit.openafs.org/4561 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a2f1ca5fd52ac2fb7e68b101bbe3da9878c10474 -Author: Simon Wilkinson -Date: Wed Apr 20 22:26:14 2011 +0100 - - cmd: Support splitting switches and values with '=' - - Some of our code uses arguments of the form -name=value. Add support - to libcmd for dealing with this type of argument, where name is - declared as CMD_SINGLE (or CMD_SINGLE_OR_FLAG) - - Change-Id: Ifb7486abc4f6bf26594936ef11749c4fe29a2e9b - Reviewed-on: http://gerrit.openafs.org/4547 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 931a5696cbbf58504e8daf92f7c072b81ee93e7c -Author: Simon Wilkinson -Date: Tue Apr 19 19:59:13 2011 +0100 - - cmd: Tidy up -help output - - Tidy up the output that comes from cmd's -help option by wrapping - at 78 characters, and picking the breaks sensibly. This changes: - - Usage: ./vos move -id -fromserver - - frompartition -toserver - -topartition [-live] [-cell ] [-noau - th] [-localauth] [-verbose] [-encrypt] [-noresolve] [-help] - - to... - - Usage: ./vos move -id - -fromserver - -frompartition - -toserver - -topartition [-live] - [-cell ] [-noauth] [-localauth] [-verbose] - [-encrypt] [-noresolve] [-help] - - Change-Id: I494c287a9370d052763b464df33e69a936edef71 - Reviewed-on: http://gerrit.openafs.org/4546 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d0d8b391b0c634f44cb019fd73fddf6ee523cfaa -Author: Simon Wilkinson -Date: Tue Apr 19 19:37:37 2011 +0100 - - cmd: Add support for params with optional values - - Add the CMD_SINGLE_OR_FLAG option which permits a parameter to - either have a single value, or no value at all. If it has no value, - then it behaves in the same way as the current 'flag' implementation. - - Change-Id: I49cf313f1d3b9c369f87b1ff66bfcc038b8aa08a - Reviewed-on: http://gerrit.openafs.org/4545 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f8570d2b64e72d20c31c29878de0e737cf59dec3 -Author: Simon Wilkinson -Date: Tue Apr 19 12:20:14 2011 +0100 - - cmd: Add parameter aliasing - - Add support for adding aliases for parameters, in the same way as we - can for syntaxes. This allows multiple different names for a single - option, as well as providing a way around problems with abbreviations. - - Aliases may not be abbreviated. - - Change-Id: I5c440cf006cd5fd0065ecf1e54213745428063f7 - Reviewed-on: http://gerrit.openafs.org/4544 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit da68fb9d1ce7adb3a800c402462b0872c769a609 -Author: Simon Wilkinson -Date: Tue Apr 19 11:41:54 2011 +0100 - - cmd: Add accessor functions for options - - Add a load of accessor functions to help with pulling values out - from the the cmd_syndesc structure. The idea here is to make it - simpler to manipulate command line values, as well as starting to - hide the structure of the cmd_syndesc structure from callers, with - a view to eventually making it private to the cmd library. - - Change-Id: I38757d776364ceacd43e98fda16e995da35da65c - Reviewed-on: http://gerrit.openafs.org/4543 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit fae24dabd0f4ae2d072e6a569f7f1f83a8df1d4e -Author: Simon Wilkinson -Date: Tue Apr 19 09:01:25 2011 +0100 - - cmd: Add option to add a param at a specific pos - - Rather than having to use cmd_Seek, followed by cmd_AddParam, - followed by another cmd_Seek, add a function which permits parameters - to be added at specific reference points. This allows programs to - declare a list (either as an enum or specific #defines) of parameter - code points, rather than using raw numbers. - - Change-Id: I25c0d501e678aa2818d296c776d8c5d03b8cdabe - Reviewed-on: http://gerrit.openafs.org/4542 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4aff5a87c2ff2dcff20eaed9bc58c9c8b5edad70 -Author: Thomas L. Kula -Date: Sat Feb 5 20:11:56 2011 -0500 - - Add -usetokens option to libadmin test 'afscp' - - This adds a -usetokens option to poorly named libadmin test 'afscp' program. - If called with this flag, 'afscp' will assume you have already acquired - tokens, and will fetch and use them. If ran with the -authcell option, - it will look for tokens for that cell, otherwise it will look for tokens - in the local cell. Since the function used to fetch local tokens is - incompatable with the kas functions, all of the kas commands have been - modified to complain and exit if any of them all called with -usetokens. - - Fixed whitespace, again. - - Change-Id: I4f9bcbae42f6eb179168bb5d152ed36df3db8dd5 - Reviewed-on: http://gerrit.openafs.org/3899 - Reviewed-by: Derrick Brashear - Reviewed-by: Dan Hyde - Reviewed-by: Steve Simmons - Tested-by: Derrick Brashear - -commit 79d5b5cce65b10134004c4cb2b7b34ac509cba6a -Author: Simon Wilkinson -Date: Mon Apr 25 14:18:39 2011 -0400 - - Linux: Don't read pages beyond the cache eof - - If we attempt to read past the end of the current cache file (for - example, when we're extending the file with ftruncate), don't force - the backend filesystem to populate that page with non-existent data. - - This will hopefully fix a bus error when using tmpfs as a backing - cache. - - FIXES 128452 - - Change-Id: I087aa1587885e97493130e5d05db6a1ed961181a - Reviewed-on: http://gerrit.openafs.org/4562 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 64c92b24447aa1a86a4557d6bab3a72b38640fce -Author: Andrew Deason -Date: Tue Apr 26 14:44:46 2011 -0500 - - Build libafscp when we lack kerberos - - Currently, venus fails to build without kerberos, since the - dependencies for afsio always include afscp.h, which does not exist - when we do not build libafscp. To fix this the easy way, and since - libafscp is still very useful without kerberos, allow libafscp to - build without kerberos support (which limits it to anonymous - connections only). - - Change-Id: Ief620ca99223f195795dcbe746b47fcbfa2e7450 - Reviewed-on: http://gerrit.openafs.org/4577 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f314dae7fdd06d80bd8d0f333fd8ace36708d28a -Author: Simon Wilkinson -Date: Tue Apr 26 15:48:32 2011 -0400 - - Irix: Add a simple osi_ReadRandom implementation - - Add an implementation of osi_ReadRandom for Irix, which just panics - (Irix has no source of cryptographically safe entropy in the kernel). - Whilst hcrypto requires an implementation of osi_ReadRandom, nothing - in the current kernel module will cause it to be called, so this - panic should never be reached. - - Change-Id: I7aa52f445182f8e660586241304a7379770afcaa - Reviewed-on: http://gerrit.openafs.org/4575 - Tested-by: BuildBot - Reviewed-by: Chaz Chandler - Reviewed-by: Derrick Brashear - -commit 9d547f2485791b10dbf3676e997353ca9abefde1 -Author: Marc Dionne -Date: Sat Apr 16 16:38:45 2011 -0400 - - src/afs: Set but unused variables warning fixes - - Fix a few simple cases of set but unused variables under src/afs. - - Change-Id: I78964b7128590d5db1f2c01dd7157c23966c26a0 - Reviewed-on: http://gerrit.openafs.org/4491 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 9b405a7b082a8498fb6e918df73482ad05e251ea -Author: Andrew Deason -Date: Tue Apr 26 14:32:25 2011 -0500 - - Fix --without-krb5 - - Currently, specifying --without-krb5 causes the AM_CONDITIONAL - KRB5_USES_COM_ERR to not be defined, which makes configure refuse to - run successfully. Fix this by forcing KRB5_USES_COM_ERR to always be - false if we are running explicitly without krb5. - - Change-Id: I96274847a3dbbb8436ef04f24476606cb15c6618 - Reviewed-on: http://gerrit.openafs.org/4576 - Reviewed-by: Russ Allbery - Tested-by: BuildBot - -commit 5562fbd3046ec6736d3d5b4ebbaaf4fd175aa4d4 -Author: Simon Wilkinson -Date: Tue Mar 1 14:59:55 2011 +0000 - - Rewrite asetkey to support extended key types - - Rewrite the asetkey binary so that it can support managing extended - key files. - - Change-Id: Iad53e8cd4c193d8410d5f85d46d72629399b3189 - Reviewed-on: http://gerrit.openafs.org/4574 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 675bd1007de6594321c03d6f92261f909120643f -Author: Chaz Chandler -Date: Tue Apr 26 16:49:39 2011 -0400 - - afsio: remove unnecessary reference to malloc.h - - Fixes breakage on freebsd for missing malloc.h, reported by GAWollman, - and, since roken.h already includes stdlib.h to pull in malloc, is no - longer necessary - - Change-Id: Ie7785198124fe0dee394d7c15f032f0dadb6db8c - Change-Id: I1d5947155ba33de61d8fd23197e11c51e4791935 - Reviewed-on: http://gerrit.openafs.org/4578 - Reviewed-by: Chaz Chandler - Tested-by: Chaz Chandler - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit e9ac2cdf0125b802f4de4fffa1863a5b557dc807 -Author: Marc Dionne -Date: Fri Apr 22 22:23:21 2011 -0400 - - ubik: add uvote_HaveSyncAndVersion - - Add a new function uvote_HaveSyncAndVersion() that combines the - logic from uvote_GetSyncSite and uvote_eq_dbVersion, without - releasing the vote lock in between. Make use of it in - urecovery_AllBetter. - - Change-Id: Ia44337da0f4335bd312cd686904f633ac19f1b63 - Reviewed-on: http://gerrit.openafs.org/4526 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9020e6e2f0357b1082705dcaa6626573433969ec -Author: Marc Dionne -Date: Fri Apr 22 21:24:34 2011 -0400 - - ubik: Defer updateUbikNetworkAddress until after RX startup - - The beacon package initialization has been moved to precede starting - RX services, but the broadcast of addresses to other servers should - be deferred until after RX is started. - - Make updateUbikNetworkAddress an exported function and call it - from the general initilization sequence. - - Change-Id: I903398ed275f460cc8373340eed9dac6a560e1da - Reviewed-on: http://gerrit.openafs.org/4525 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 89cdb34920e2e01adf045611ffd4d94abdbef87a -Author: Marc Dionne -Date: Sat Jan 29 14:37:23 2011 -0500 - - ubik: locking in recovery.c - - Locking changes in recovery.c: - - In urecovery_Initialize, hold the DB lock over ReplayLog - and InitializeDB - - Hold the DB lock over larger portions of urecovery_interact. - Some values which should be protected were examined and modified - without holding any locks. - - In the early part of urecovery_interact, only take the DB lock - when it's really needed, now that some values are protected by other - locks. - - DoProbe is now called without the DB lock, so it doesn't need to - drop and re-aquire it. - - Change-Id: I1899b672687f0ab0eb59c74ff802750cdc377ae6 - Reviewed-on: http://gerrit.openafs.org/4524 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 44801d157e6fd0933f37f0fc6451e37bdca285f3 -Author: Marc Dionne -Date: Sat Apr 16 14:19:57 2011 -0400 - - ubik: always hold DB lock for urecovery_ResetState() - - ubik_ResetState requires callers to hold the DB lock, since it modifies - urecovery_state. All callers of ubeacon_AmSyncSite outside of the beacon - package hold the DB lock, but calls from the beacon thread do not, and - can't block on getting the DB lock if we're sync site. - - Add a beacon internal version of ubeacon_AmSyncSite that skips the - call to ResetState, and have the callers take the DB lock and call - ResetState themselves if needed. They can take the lock in this case - because we know we're not the sync site. Refactor the exported - ubeacon_AmSyncSite in terms of this new function. - - Change-Id: I88b231010dd52adf6e43a17802e83d12568afc6b - Reviewed-on: http://gerrit.openafs.org/4490 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b2e6b426e6351da8b13e1d8b55be220fc98df5e5 -Author: Marc Dionne -Date: Sat Apr 16 12:56:05 2011 -0400 - - ubik: set UBIK_RECLABELDB before propagating version - - Quoting Jeffrey Hutzelman: - - In udisk_commit(), when committing the first write transaction - after becoming sync site, the database is relabelled. In this - case, the UBIK_RECLABELDB recovery state bit should be set before - propagating the label change to other servers, rather than after. - - This is because ContactQuorum_DISK_Setversion() will - release the database lock, at which point the recovery state may - be cleared by urecovery_ResetState() running in another thread. - It is important that a relabelling which occurs before recovery - state is cleared not result in the UBIK_RECLABELDB recovery state - bit being set after; otherwise, the server may fail to correctly - relabel the database the next time it becomes sync site. - - Change-Id: I9753a24c84cf45cdbb11a1d8b7ab262fbe487204 - Reviewed-on: http://gerrit.openafs.org/4489 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a6091cacd89d430d01145efbcef528d550395f1c -Author: Marc Dionne -Date: Sat Apr 16 11:52:57 2011 -0400 - - ubik: remote: fix DB lock usage - - Many of the RPC functions in the remote package have a similar - prologue that makes use of ubik_currentTrans before taking the - DB lock. Take the lock earlier, and rely on the ubik_dbase global - instead of the dbase pointer in ubik_currentTrans. - - In GetVersion, take the lock earlier to cover the call to - ubeacon_AmSyncSite. - - Change-Id: Ib8480163f2cab2a6ff6a6462cb67fce02f3e8094 - Reviewed-on: http://gerrit.openafs.org/4488 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a33f77b6e11214326f5e752de171602c0e9efe86 -Author: Derrick Brashear -Date: Tue Apr 26 10:46:41 2011 -0400 - - macos: further next version support - - try to optimize out things which will be missing - - Change-Id: Ibee45ae75fa0a5cbdad9eb7a83b12cfaba85b201 - Reviewed-on: http://gerrit.openafs.org/4569 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 352c3e366c2e0a8de4550547192276e62afd2cc1 -Author: Ben Kaduk -Date: Sat Dec 18 23:52:43 2010 -0500 - - Rename libcom_err to libafscom_err - - We no longer provide a compatible libcom_err, and in fact - we renamed the symbols in our libcom_err several years ago - to reflect this fact. - When we build on a system where KRB5_LIBS includes - -lkrb5 -lcom_err , the new Unix build system will pick up - our libcom_err (as $(AFS_LDFLAGS) is the first argument in - AFS_LDRULE and pulls in a linker search path for our libcom_err) - which does not provide all the needed symbols for libkrb5. - - Fully rename our libcom_err away to avoid these conflicts. - - FIXES 128640 - - Change-Id: Ifdd677609f432d42252b1716fc5e8755f3a44640 - Reviewed-on: http://gerrit.openafs.org/3547 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a8c46e5010c0b4e41ad66458b8723e32f99b427d -Author: Marc Dionne -Date: Fri Apr 22 15:23:27 2011 -0400 - - Linux: cleanup aio support - - Code that called directly into the aio operations (ex: readv/writev) - would bypass the AFS specific operations found in afs_linux_read - and afs_linux_write. - - Rework the handlers: - - For newer kernels with aio, let the kernel use its default read - and write operations, and define the aio_read and aio_write operations, - with the AFS specific bits, calling into generic_file_aio_read/write. - The kernels default read/write operations are just wrappers around the - aio versions. - - For older kernels, leave things as is, pointing read and write to - afs_linux_read/write - - Change-Id: I2a12c6716dc1974683c2582eb9ada5f841067dd9 - Reviewed-on: http://gerrit.openafs.org/4563 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e1414be76bed00d12030e2704dc6e7bcca04b6d1 -Author: Simon Wilkinson -Date: Tue Apr 19 11:47:08 2011 +0100 - - cmd: Split up dispatch function - - Split up the command line parsing behaviour out of the cmd_Dispatch - function, and into a function of its own - cmd_Parse. This lets servers - which only have a single "syntax" installed just parse, without needing - to go through a dispatch function, and all of the control flow - complexity that requires. - - Change-Id: Ic4325bf933ee5b28cb80db36ef9b2b5fb6763f41 - Reviewed-on: http://gerrit.openafs.org/4541 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 898d84cefe4b0bf54cc77ccca998e596710a1ee6 -Author: Simon Wilkinson -Date: Mon Apr 18 08:31:42 2011 +0100 - - cmd: Add an option to disable abbreviations - - Add an option to completely disable the matching of abbreviations - when parsing command line options. - - Change-Id: Ic3babf584c21f389503c9c69670d400d54a6f4a6 - Reviewed-on: http://gerrit.openafs.org/4540 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 616a835ad21c54a469663b1cc8d2543849d0c646 -Author: Simon Wilkinson -Date: Mon Apr 18 08:25:55 2011 +0100 - - cmd: Add function to disable positional commands - - Add a new cmd_DisablePositionalCommands function which can be used - to completely disable positional commands, for functions which have - no desire to make use of them. - - Change-Id: I5646e9976e544f06902ea6f85043a6330b1ac2fe - Reviewed-on: http://gerrit.openafs.org/4539 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 376e24b2ee910af99f65aba472e9553dc509aa5d -Author: Simon Wilkinson -Date: Sat Apr 23 11:42:54 2011 -0400 - - cmd: Add some tests to the test suite - - Add some tests for the command library to the integrated test - suite in tests. These are far from complete, and are mainly there - to ensure that we don't break any of this functionality when modifying - the library. - - Change-Id: Ib6fbdca114c005c32c5ba8c41f9e350ca67e1fb8 - Reviewed-on: http://gerrit.openafs.org/4538 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0631fb7567da72e2a9df393beff22fbb98b67011 -Author: Simon Wilkinson -Date: Sat Apr 23 10:44:53 2011 -0400 - - cmd: Make the original test suite build - - Make the original, command line driven, test suite build again - - Change-Id: I57f0ebb5b1d13acf0809c7fa005e3556e3edb798 - Reviewed-on: http://gerrit.openafs.org/4537 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5cd4282758317b24d2f63408ab4c62551bbebc03 -Author: Andrew Deason -Date: Mon Apr 25 13:58:34 2011 -0500 - - pam: Fix password torching const-ness - - In some code branches, the PAM code "torches" a password by zeroing - it. However, it does this through a const pointer which we otherwise - know is not actually const. Make sure we get better type checking by - doing this through a non-const pointer. - - Change-Id: Ibdb4c7b98baf964a8efdf0e8a9882f8ab29e22af - Reviewed-on: http://gerrit.openafs.org/4554 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 94a9b2afd82b6729ddceb7ef736ddeb039e0ae1b -Author: Andrew Deason -Date: Mon Apr 25 13:53:52 2011 -0500 - - pam: Password is const in setcred - - afs_setcred.c gets the "password" pointer from pam_get_data, which - always gives a const pointer (unlike pam_get_item used in afs_auth.c - &c, which sometimes gives a const or not-const pointer, depending on - the PAM implementation). - - So, declare password const, to get better type checking. - - Change-Id: Ic34ffa54bf0bcc19c8ed3cddc9ee1384ee2dd8f0 - Reviewed-on: http://gerrit.openafs.org/4553 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8836c7ca6ab7ac4915a0282ad840bb45b8785906 -Author: Jeffrey Altman -Date: Mon Apr 25 21:41:17 2011 -0400 - - Windows: afskfw return error if krb5 not loaded - - If the Kerberos v5 library cannot be loaded (pkrb5_init_context - equal to NULL) return a reasonable error code instead of - returning success and doing nothing. - - Change-Id: I8f77b51089d8c2a147fc9edc575dc92cd254a876 - Reviewed-on: http://gerrit.openafs.org/4560 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 55768cb94c3c33517a43885ffe17d6f551b93c1c -Author: Jeffrey Altman -Date: Mon Apr 25 21:40:28 2011 -0400 - - Windows: build afskfw.c without leashw32.dll - - remove our dependency on mit kfw leashw32.dll - - Change-Id: Ifd66d77d527de27258b041e128165f234fd79ee6 - Reviewed-on: http://gerrit.openafs.org/4559 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit c22155f68cbcc206085c9b76a5b769a8399841f4 -Author: Jeffrey Altman -Date: Mon Apr 25 21:29:46 2011 -0400 - - Windows: avoid preprocessor symbols redefinitions - - In afskfw.h avoid preprocessor symbol redefinitions when - RD_AP_TIME or INTK_BADPW are already defined. - - Change-Id: Iccc02abf1cfd7a7941494085c1c935e89f415801 - Reviewed-on: http://gerrit.openafs.org/4558 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit de1d75da0de52b15228c215b2fbb832bb081e7da -Author: Jeffrey Altman -Date: Mon Apr 25 21:24:32 2011 -0400 - - Windows: NPLogonNotify provide password in all cases - - When calling KFW_AFS_get_cred() from NPLogonNotify() - always provide the user password. Do not count on a - credential cache existing from a previous call. - - Change-Id: Ie94229a5b708ced2c3965f7bb333a67ee4d629d5 - Reviewed-on: http://gerrit.openafs.org/4557 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit df85c8095b6333214eed42205c8be4261a28dae4 -Author: Jeffrey Altman -Date: Mon Apr 25 21:23:34 2011 -0400 - - windows: improved logging from NPLogonNotify - - Improve the detail and formatting of the windows event log - entries. - - Change-Id: I088f6d35afb91e146e8e6030f29dec39301b020b - Reviewed-on: http://gerrit.openafs.org/4556 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 63fd8a3e5bcb66d7bbd7f795a8042f4a3eac87a0 -Author: Simon Wilkinson -Date: Mon Apr 18 08:19:09 2011 +0100 - - cmd: Cleanup - - Some assorted cleanup on cmd.c - don't cast NULL or malloc, and - wrap some comment lines better. - - Change-Id: I43a757ec5a9c9b29a99b5a6490cf5e2f44489c90 - Reviewed-on: http://gerrit.openafs.org/4536 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3ea39166d64d2e66cddef015734c2f91548423af -Author: Marc Dionne -Date: Sat Apr 16 11:22:54 2011 -0400 - - pam: Clear up PAM_CONST related warnings on Linux - - Commit 78d1f8d8 expanded the use of PAM_CONST and introduced many - new warnings on Linux where pam expects "const" arguments. - - This clears up the warnings by doing the following: - - Cast "user" to char * when kalling ka* functions - - Change the signature of pam_afs_prompt and pam_afs_printf to use - PAM_CONST - - Use a separate non-const password pointer for pam_afs_prompt - - Change-Id: I460e1d1ca763f0aea5edcdaa208b9d4b8299ded0 - Reviewed-on: http://gerrit.openafs.org/4487 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 3cb97cdaa867b0d9fef84c683251a0a8f59a1519 -Author: Simon Wilkinson -Date: Thu Apr 21 16:07:05 2011 +0100 - - Linux: Restrict # of cbrs we allocate at once - - With commit a309e274632993c5aeec04c6e090f5ac95837a40, we changed the - number of CBRs that we allocate in a chunk from 300 to 1024. However, - this change takes the amount of memory requried to allocate a chunk - of CBRs above PAGE_SIZE on Linux. This changes the allocator that we - use from kmalloc to vmalloc. Whilst we can, and do, prevent kmalloc - from flushing filesystem pages when we invoke it, we don't have a - similar level of control over vmalloc. - - In one reported case, clients deadlock whilst attempting to allocate - this memory, in a call stack that looks something like: - - afs_Daemon -> afs_ShakeLooseVCaches -> osi_TryEvictVCache - -> afs_FlushVCache -> afs_QueueVCB -> afs_AllocCBR - -> osi_linux_alloc -> ... -> __vmalloc_node -> ... - -> try_to_free_pages - - This is probably because we end up deadlocking in the writeback - invoked by try_to_free_pages, likely due to locks which are held - by ShakeLooseVCaches. - - As a quick fix for the problem, make sure that the memory we - allocate always fits within a page, so we always use kmalloc for - it. - - FIXES 129751 - - Change-Id: I8b5be06ed62764b67f99792df66e9cb0f8941fd6 - Reviewed-on: http://gerrit.openafs.org/4510 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 211e906c86be9ad9cba324e776d56093579b6653 -Author: Andrew Deason -Date: Sat Apr 23 16:52:30 2011 -0500 - - viced: Release all hosts in h_Enumerate* - - h_Enumerate and h_Enumerate_r were not releasing all of the holds they - obtained when the callback function caused the enumeration to bail - early. Correct them so all host holds are released. - - Change-Id: I6f405fad3d2767c9e0b3567c40cbbd1de8ac26aa - Reviewed-on: http://gerrit.openafs.org/4530 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8b07814e037d19dc9868dd202e82d69b96fbdcae -Author: Andrew Deason -Date: Sat Apr 23 16:44:41 2011 -0500 - - viced: Print a warning when using a deleted client - - We should never get a deleted client back from GetClient. Log a - message if we do, to explain why access may suddenly appear to fail, - and assist in determining why. - - Note that we still try to service the request, since the accessing - user may still have enough access to do whatever was requested. - - Change-Id: Ie1d0c2d8a33a68a760704bfff9f268c6c507118f - Reviewed-on: http://gerrit.openafs.org/4529 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 484b5b4cf4f88a9ddd04cdbe870d9c2959ef266c -Author: Andrew Deason -Date: Sat Apr 23 16:32:10 2011 -0500 - - viced: Force valid host enumeration flags - - Make sure that the callback functions for h_Enumerate and - h_Enumerate_r give us back valid flags values by aborting if they - return an invalid value. - - Change-Id: Id34b461d5452ac318a1714b6c3ffdaf41015995c - Reviewed-on: http://gerrit.openafs.org/4528 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5b9d427141f0a6fd0e83de9564e70ef2cfebf656 -Author: Andrew Deason -Date: Sat Apr 23 16:25:00 2011 -0500 - - viced: Fix host enumeration flags - - Do not give uninitialized flags values to h_Enumerate callback - functions. In fact, do not give a flags value to h_Enumerate or - h_Enumerate_r callback functions at all, since they are not actually - used. - - Fix host enumeration callback functions to just return 0 or the - relevant flags, instead of basing the return value off of the given - flags value. Update MultiBreakVolumeCallBack_r to use the correct - return values, since it currently tries to use the old meanings of the - host enumeration return values. - - FIXES 129376 - - Change-Id: Ibb01ce62411602a9f83f437125fb87a7a84160b4 - Reviewed-on: http://gerrit.openafs.org/4527 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ebf5329e8ca1b3c0b581f436b28f6affe2c7c454 -Author: Jeffrey Altman -Date: Mon Apr 25 07:58:49 2011 -0400 - - Windows: remove trailing whitespace - - remove trailing whitespace from - - NTMakefile - *.h - *.c - *.cpp - *.idl - *.def - *.txt - *.htm - - Change-Id: I948a7511a20d0ad522b647b788536f9b6f5dda16 - Reviewed-on: http://gerrit.openafs.org/4548 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d7b1e6a1adff564db219e69b3a8eeb485c7dbb56 -Author: Simon Wilkinson -Date: Sat Apr 23 11:28:49 2011 -0400 - - autoconf: Add required headers to net/if.h test - - On Darwin, net/if.h is only usable if sys/socket.h is included first. - Do so, to stop autoconf from warning about this test. - - Change-Id: I9e7a2642cce86c5ad6ebb3ae3cb60401dd9c26cf - Reviewed-on: http://gerrit.openafs.org/4535 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ce256d586468911d5501f667c53247a837378c06 -Author: Simon Wilkinson -Date: Mon Apr 25 13:56:38 2011 +0100 - - Windows: Remove duplicate file - - The 'Streamfiles.txt' file had been committed with both that name, - and an all lower case name. This makes git very sad on systems with - case insensitive filenames. - - Change-Id: I0284415649d7568f9834ccd4d2c6a1627d309fed - Reviewed-on: http://gerrit.openafs.org/4550 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da3ee813960d90ea83851c47fbd59eb3012c7904 -Author: Jonathan A. Kollasch -Date: Thu Apr 21 10:20:55 2011 -0500 - - Fix build of user-space on nbsd50 and greater - - Change-Id: I7b2fef051da7c5ff820e9ecb1fe77b8d8d9e011a - Reviewed-on: http://gerrit.openafs.org/4509 - Tested-by: BuildBot - Tested-by: Jonathan A. Kollasch - Reviewed-by: Derrick Brashear - -commit 9fd238ea056b6883dd1caf6e8e724ad3ddabeb3a -Author: Jonathan A. Kollasch -Date: Thu Apr 21 08:24:15 2011 +0000 - - Add nbsd60 param files and autoconf logic - - Change-Id: I7fa40455315325f75d0fb754fc23620f12fd634a - Reviewed-on: http://gerrit.openafs.org/4512 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bdb08420baa47626ac280810aa00cdd8d472d401 -Author: Andrew Deason -Date: Thu Apr 21 16:19:58 2011 -0500 - - Revert "aklog: Return token when performing 524 conversion" - - This reverts commit 65186d8390a06fb0b7331b2472db07b6fb306446, which - was mistakenly merged to the wrong branch. - - Change-Id: I3b2bf874cca15b4248978575213eae21ece2207f - Reviewed-on: http://gerrit.openafs.org/4519 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1b37cc8942e9b7c5072b2d4b2a1d4c9ff172e368 -Author: Andrew Deason -Date: Thu Apr 21 17:10:13 2011 -0500 - - libafs: Initialize _settok_tokenCell primary flag - - Always set the *primary flag to something in _settok_tokenCell. - Otherwise, the lag may be unset, as it is not required to be - initialized by all callers. - - Change-Id: I78c775f8cd70f74f6a344094a6a677cbc74f3281 - Reviewed-on: http://gerrit.openafs.org/4521 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ce77b0e572de783f4455786ad2689f0f6ba90364 -Author: Jeffrey Altman -Date: Tue Apr 19 13:17:56 2011 -0400 - - Windows: change thyper to offset and fix error - - In cm_ReadMountPoint and cm_HandleLink the variable 'thyper' - represets the 'offset' at which cm_GetData should fetch data. - Rename 'thyper' to 'offset' and fix a coding error caused by - misinterpreting the variable purpose. - - Change-Id: If60669d850f4bfba2aae6e4aaf642f7ec6f920b2 - Reviewed-on: http://gerrit.openafs.org/4501 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b178496063be6d95f301ae13c3e655c8fe94febc -Author: Simon Wilkinson -Date: Thu Apr 21 18:18:54 2011 +0100 - - Darwin CM: afs_IsDynrootFid takes a fid ... - - ... not a vcache. - - Change-Id: Iff1f33f32ec0d208ff80a4c7bcc1ce1b3dccd9a3 - Reviewed-on: http://gerrit.openafs.org/4511 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 65186d8390a06fb0b7331b2472db07b6fb306446 -Author: Andrew Deason -Date: Thu Apr 21 14:24:45 2011 -0500 - - aklog: Return token when performing 524 conversion - - We weren't actually returning a token and username from - rxkad_get_converted_token. Do so. - - This is a 1.6-specific change. This issue was fixed on master when - aklog was changed to use the new SetTokenEx family of pioctls in - commit 53837416cbed3ba4d11f63015e1f13800519f2ed. - - Change-Id: I4c85c03be00c45fdae5657554dcd85b3a6301b23 - Reviewed-on: http://gerrit.openafs.org/4513 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7ff99d1eee2974bfece09f137e3aa842bed7add0 -Author: Derrick Brashear -Date: Thu Apr 21 10:26:42 2011 -0400 - - afsio: fix objdir build - - use the relative path for afsio.c - use objdir path for generated files - - Change-Id: I3b16108eacd949bcb1ddc2224961e87bce9999bb - Reviewed-on: http://gerrit.openafs.org/4508 - Reviewed-by: Jonathan A. Kollasch - Tested-by: Jonathan A. Kollasch - Reviewed-by: Derrick Brashear - -commit fe8897015c11d8d6b9b3e7e3a3646688ccb45683 -Author: Marc Dionne -Date: Tue Apr 19 22:42:12 2011 -0400 - - Unused variable warning fixes - - Fix several simple cases of unused variables. - - Change-Id: I6e61ea625c6bcef7b0bc70c61909f22d1f8dd9a7 - Reviewed-on: http://gerrit.openafs.org/4504 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8588f4a9ccca164b566a4f855345f3d529f4125f -Author: Jonathan A. Kollasch -Date: Wed Apr 20 10:00:34 2011 +0000 - - Allocate system type ID numbers for i386_nbsd60 and amd64_nbsd60 - - Change-Id: I1860fbacb0d41a3d13b73b4248b920e17b731184 - Reviewed-on: http://gerrit.openafs.org/4506 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 507c481a0a3bcb3ab1341f0c2b1ef00797160708 -Author: Jonathan A. Kollasch -Date: Wed Apr 20 09:53:52 2011 +0000 - - Make whitespace consistent in NetBSD system type ID number section - - Change-Id: If3835225bb85fd7469cd817dc48bc52f841081b7 - Reviewed-on: http://gerrit.openafs.org/4505 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c721bff5035b6e2d87e10be0f4711133b33dc5dc -Author: Marc Dionne -Date: Sun Apr 17 14:06:57 2011 -0400 - - adminutil: parallel build fixes - - Rearrange the Makefile to make it more parallel build proof. - Add some dependencies on the header files, and avoid rules - with 2 targets. - - Change-Id: I267f25504137d58dd1a335eccb7c9b138a7c66ab - Reviewed-on: http://gerrit.openafs.org/4497 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a1eed135d29f1030cdd409e9d9c824e6cd2a5f83 -Author: Simon Wilkinson -Date: Sat Apr 16 14:50:11 2011 +0100 - - FreeBSD: Don't ignore Makefile - - The file src/packaging/FreeBSD/Makefile is part of the repository, - and so shouldn't be excluded by .gitignore (the exclusion is inherited - from the top level). So, restore it with .gitignore in this directory. - - Change-Id: I841e67aba707fd7193ba0d15a11f969ffd55829c - Reviewed-on: http://gerrit.openafs.org/4495 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f4ae9ef6531cb629e0bac2233d97cf8a0f3a698b -Author: Derrick Brashear -Date: Fri Apr 15 13:45:57 2011 -0400 - - libafscp: add lock support - - add support for locking as well as for tracking callbacks so a - lock break can be detected - - Change-Id: Iff36c6528fc55cf250bc27d49af80123d7ecece3 - Reviewed-on: http://gerrit.openafs.org/4476 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 04950bec1b1d6c1eeb782fff82d7568af44e7443 -Author: Jeffrey Altman -Date: Tue Apr 19 00:12:49 2011 -0400 - - Windows: avoid race when writing mountPointString - - cm_GetData() drops the cm_scache_t rw lock which permits other - threads to access the data while it is in an inconsistent state. - Avoid the race by using a stack allocated temporary buffer to - receive the data from cm_GetData(). Only copy the data into - the mountPointStringp buffer under the rwlock. - - Change-Id: Ica853976b1094be1087e49c22d878f8ae7fca03a - Reviewed-on: http://gerrit.openafs.org/4498 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1105d63ddf5a32b9381ff47e8101c3f141366fa6 -Author: Stephan Wiesand -Date: Sun Apr 17 23:37:36 2011 +0100 - - make afsdump_scan get ACLs right - - This makes afsdump_scan get the ACLs right on little endian systems. - It also corrects and slightly beautifies some output (indentation, - cut&paste error for negative ACL label). - - Change-Id: I5a120630158e56fe8b55500ff9db70dded5fe0d9 - Reviewed-on: http://gerrit.openafs.org/4494 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9f2fc1c70727d673a50703c272b304a663d171b6 -Author: Derrick Brashear -Date: Sat Apr 16 17:44:28 2011 -0400 - - roken header dependencies mean we need roken - - and probably more than just these but let's start here. - - Change-Id: Id0f174a84ecb8ffd1fbdcade6f139fc78c4b99e2 - Reviewed-on: http://gerrit.openafs.org/4492 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fa6339d7ffc884b5251b3afe947bc39be350c118 -Author: Andrew Deason -Date: Thu Apr 14 14:36:36 2011 -0500 - - auth: Set correct flags in token_extractRxkad - - The flags that token_extractRxkad returns are flags that are passed to - ktc_SetToken, not the flags that are passed directly to the PSetTokens - pioctl. So, we should be setting AFS_SETTOK_SETPAG, which is - interpreted by ktc_SetToken. - - Change-Id: Id63ba4d5874e43c8d1f02817bf33975516a974be - Reviewed-on: http://gerrit.openafs.org/4480 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 03edae9cc562524c04e06734d12d87b9a7a4622c -Author: Derrick Brashear -Date: Fri Apr 15 13:36:04 2011 -0400 - - libafscp: fix kerberos bits - - get the correct afs principal. this entire blob will go away - and be replaced by rxgk token getting, but deal for now. - - Change-Id: I8e63a5de74efa6c2eeec4c67b4d14d1f69396e41 - Reviewed-on: http://gerrit.openafs.org/4475 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9bf314d90a1b639e46212ba077d95b2a45d79bca -Author: Simon Wilkinson -Date: Wed Apr 13 15:21:46 2011 +0100 - - libafs: Remove afs_write duplication - - The afs_write() code for memory and disk cache suffered from exactly - the same duplication problems as the afs_read() code. - - Apply a similar fix - unify afs_UFSWrite and afs_MemWrite into a single - afs_write function, place the UFS specific code into afs_UFSWriteUIO, - and make use of the existing afs_MemWriteUIO for the memcache case. - - Change-Id: I074e1f56597e5cf04d13a45bcda5ad5fedb6377f - Reviewed-on: http://gerrit.openafs.org/4465 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 25a46780fc0e9f64010cc06826e5753567c16647 -Author: Derrick Brashear -Date: Fri Apr 15 13:34:14 2011 -0400 - - libafscp fixes - - fix callback package in libafscp to track addresses correctly (use - correct byte order) - - Change-Id: I58207492389869591e38e582f332c910cd53f169 - Reviewed-on: http://gerrit.openafs.org/4474 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 94d44d59e3d18f1d450e495a55fdd927e7584948 -Author: Chaz Chandler -Date: Tue Jul 20 10:25:20 2010 -0400 - - afsio: rewrite using libafscp - - afsio is a utility for file transfer to and from AFS file space - without the help of the AFS client/cache manager. Using libafscp, - this (partially rewritten) version of afsio is able to accomplish - (1) authenticated access to an AFS path or FID (an existing - KerberosV ticket is required), (2) fall back on unauthenticated - ("anonymous") access if authentication (token acquisition) fails, - and (3) work independtly of the AFS cache manager (afsd need not - be running, though CellServDB and ThisCell are currently required). - - issues: - 1) libvldbint and libafsint are not compiled pthreaded. we link in - what we need. this should be changed when we are all-pthreaded. - 2) venus is not a pthreaded-directory otherwise. same deal: - in an all-pthreaded universe, undo the bodge that we do here. - 3) venus is not an all-krb5 directory either. slight ick. - - Change-Id: I946e6eef58ac77c6fb97be256c4c564188201262 - Reviewed-on: http://gerrit.openafs.org/4381 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 44f13d8feb527fb982064469e513c5a0c9355d03 -Author: Andrew Deason -Date: Thu Apr 14 14:11:22 2011 -0500 - - RX: Remove allocation counters - - Remove the osi_alloccnt and osi_allocsize counters, and the associated - osi_alloc_mutex. These counters are pretty useless since nothing looks - at them, and their use of a mutex requires Rx to be initialized before - XDR can be used. Removing them lifts this restriction. - - Change-Id: I22fa1335b6d34675d37cca41a2c393b9c20d3d24 - Reviewed-on: http://gerrit.openafs.org/4478 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 21578144e08d46eeec9a2944e92e8d0d7a6dba57 -Author: Andrew Deason -Date: Wed Apr 13 12:39:19 2011 -0500 - - Suppress cmp component version error messages - - When we use cmp to determine whether to replace - AFS_component_version_number.c, suppress stderr in addition to stdout, - to slightly reduce output during the build. - - Change-Id: I4f687ce5ffff316d8f9806181bccf1c28d218932 - Reviewed-on: http://gerrit.openafs.org/4471 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 27d08416afa2bbd9967d0f0648fa1e98ddbeda11 -Author: Andrew Deason -Date: Fri Apr 15 11:18:37 2011 -0500 - - AIX51: Fix PAGs - - On AIX 5.1 and later, we set a process' PAG by using the AIX PAG - mechanism (and not by group ids), but we were determining what PAG a - process was in by the group list. Instead use the PAG identifier. - - This effectively reverts 277c37f48c8126ba9cb986ffc7361fcb98e2bbf2, but - it puts the kcred_getpag call in a different place that makes more - sense in the current PAG code organization. - - Change-Id: If9fe621060a06664718a00acff91dea66760d5c2 - Reviewed-on: http://gerrit.openafs.org/4479 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6c0d77b90525116ea5f6c4f71d663290eb63490b -Author: Andrew Deason -Date: Fri Apr 15 12:38:37 2011 -0500 - - tsm41: Reformat function definitions - - Make function definitions consistent with the formatting in the rest - of the tree. - - Change-Id: Ifbccc02739f6fbc111e061397538a903b6f2289a - Reviewed-on: http://gerrit.openafs.org/4477 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 78d1f8d88334f711eaaf6555d3a962a504d3e80e -Author: Andrew Deason -Date: Wed Apr 13 10:52:50 2011 -0500 - - pam: Use PAM_CONST more often - - Some callers of pam_get_item et al were just casting their argument to - a const void **. Some PAM implementations (Linux) want a const void**, - but others (Solaris) do not. Use the PAM_CONST symbol already defined - by autoconf to declare or cast the relevant variable const or not as - appropriate. - - Change-Id: I81c7863797396eb146b78ffbb2586e4f3a1e854e - Reviewed-on: http://gerrit.openafs.org/4470 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fbb4c6115b9af9c52ee06fa9c979a3f4195ad342 -Author: Andrew Deason -Date: Wed Apr 13 11:10:52 2011 -0500 - - pam: Check for null upwd from getpwnam_r - - The POSIX getpwnam_r can yield a NULL struct passwd pointer even when - the returned error code is 0 (in particular, when the requested entry - is not found). Just add a check for a null upwd to make sure we don't - dereference a NULL pointer. - - Change-Id: I00e8d6c53e8228f468c984010695b798f5dcf999 - Reviewed-on: http://gerrit.openafs.org/4469 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a7d4fbd36a120b16caaddcd9d1c7f550cb14aae5 -Author: Andrew Deason -Date: Wed Apr 13 11:08:09 2011 -0500 - - pam: Use POSIX getpwnam_r on Solaris - - _POSIX_PTHREAD_SEMANTICS is now always defined for Solaris, which - means we get a POSIX-conforming getpwnam_r, which takes 5 arguments. - So, add Solaris to the list of platforms that use a POSIX getpwnam_r. - - Change-Id: I1ad12420f56cf39816d94a8e9c9740436100134b - Reviewed-on: http://gerrit.openafs.org/4468 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f26f7ed22629556d4f0035fbe4d25d9804305da1 -Author: Andrew Deason -Date: Wed Apr 13 12:15:12 2011 -0500 - - vfsck: Fix roken fallout - - Including roken.h in vfsck sources pulls in some more modern headers - that vfsck code isn't used to. Accommodate: - - - Prevent roken.h from pulling in dirent.h so we don't conflict with - the old-style directory defines for HP-UX. Also move the inclusion - of the old-style directory defines to before roken.h, so we have - the directory types defined in roken.h. - - - Remove some prototypes so the don't conflict with the prototypes in - system headers. - - - Remove a couple of bizarre vprintf invocations, as they conflict - with the actual vprintf definitions. - - Change-Id: Ifd7cd2544e75ed49b93ab491c4acadcb18528315 - Reviewed-on: http://gerrit.openafs.org/4472 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit f4776f0a4d51472ee6f2406174b074c03213f7da -Author: Derrick Brashear -Date: Fri Apr 15 08:02:22 2011 -0400 - - kernel upcall rx env should shut down event daemon - - also shut down event daemon in upcall environment - - Change-Id: Ifd40754fc34bc8ea6f844867d1775a8b8b7a5044 - Reviewed-on: http://gerrit.openafs.org/4473 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 80df5096e7179ab9c7562614180e2e90c083ff7c -Author: Andrew Deason -Date: Wed Apr 13 10:34:37 2011 -0500 - - Fix some configure header prereqs - - On at least Solaris, the configure tests for netinet/if_ether.h and - security/pam_modules.h issued warnings because they existed but were - not compilable. Perform the tests with the prerequisite headers of - net/if.h and security/pam_appl.h, respectively, so autoconf will stop - yelling at us. - - Change-Id: I05d637784954c10af468b6065acd78139fc45245 - Reviewed-on: http://gerrit.openafs.org/4467 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8180f9abbfc79731e1557dbd78b26ecba81611d7 -Author: Andrew Deason -Date: Wed Apr 13 10:11:59 2011 -0500 - - RX: Include sys/file.h for rx_lwp.c - - rx_lwp.c uses FNDELAY, which requires sys/file.h on at least Solaris. - So, include it. - - Change-Id: Ida652a3c9bfccb120a67f0c5d4f71537a11fa00f - Reviewed-on: http://gerrit.openafs.org/4466 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 340a2c639a04fdd25af180309910dfb5a9b43b04 -Author: Jeffrey Altman -Date: Tue Apr 12 11:48:27 2011 -0400 - - asetkey: permit des-cbc-md5 and des-cbc-md4 keys - - A DES key is a DES key. Permit importing CRC, MD5 and MD4 - when using non-MIT keytab support. - - Add a special error message that specifies what principal - name, kvno, and enctype were being searched for when the - error is KRB5_KT_NOTFOUND. - - Change-Id: I7d3b5fbc41db5e5e91278854ce52842720e6b5d3 - Reviewed-on: http://gerrit.openafs.org/4458 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e56b1f79b925be3faf016505e14e7f37eb4c5b98 -Author: Simon Wilkinson -Date: Tue Apr 12 19:49:38 2011 +0100 - - libafs: Remove unecessary parameters to afs_read - - We were providing additional buffer and length parameters to - afs_read which are now unused, as the necessary information is - contained within the iovec. Just remove these parameters to tidy the - code up a bit. - - Change-Id: I2ca80b20e253e0d54be759e6d504961958b40e6e - Reviewed-on: http://gerrit.openafs.org/4464 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fd620283a926386d4a90e602a1a47ee622b6a483 -Author: Simon Wilkinson -Date: Tue Apr 12 19:41:30 2011 +0100 - - libafs: Remove afs_read duplication - - The disk cache and memcache afs_read functions are effectively - duplicates of each other. Abstract out the common code into a generic - afs_read() function, and put the cache type specific code into - UFSReadUIO (there is already a MemReadUIO which contains the code - necessary for the memcache). - - Change-Id: Ic66242fa4695a146ac874a82bd48a7c1f1f412a6 - Reviewed-on: http://gerrit.openafs.org/4463 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 763ec5250deef6f0f8ae1c85b52bac3ffc1a6176 -Author: Simon Wilkinson -Date: Tue Apr 12 19:28:15 2011 +0100 - - fs: Abstract out code to get the last component - - fs.c contained two identical copies of code to parse a path, resolve - any symbolic links in that path, and return the directory and basename. - - Abstract this code out into a single function, rather than maintaining - two separate copies of it. - - Change-Id: Id9fc835506f90bae2fc1f0db18c640bf28f0d39d - Reviewed-on: http://gerrit.openafs.org/4462 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b5bd42efb6d869f6abf3d041b861e77751898f67 -Author: Simon Wilkinson -Date: Tue Apr 12 19:48:02 2011 +0100 - - libuafs: Add afsd symlink to the clean rules - - The libuafs Makefile creates a link to afsd in the libuafs build - directory. So, have the clean rule tidy it up after us. - - Change-Id: I24a3be34bc04dfa7c9db9be2ace4ab32f3f5d5f7 - Reviewed-on: http://gerrit.openafs.org/4461 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b59da7674e2f931b85d111e6a92e12731888883e -Author: Simon Wilkinson -Date: Fri Apr 8 16:18:13 2011 +0100 - - viced: Remove logging duplication - - In lots of places in the fileserver we were doing - ViceLog(0, (x)) - osi_Panic(x) - - Remove this duplication by creating a new macro, ViceLogThenPanic, - which does both of these in one fell swoop. - - Change-Id: Icea349d60298eba1cca4a45db790f21ba3e7b3c7 - Reviewed-on: http://gerrit.openafs.org/4455 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d5ded9afa1764016977a17ef9346dc979bf70ca0 -Author: Ken Dreyer -Date: Mon Apr 11 17:24:41 2011 -0400 - - fix manpage for udebug -servers - - The proper option to udebug is "-server", not "-servers". Fix the manpage to line up with the binary. - - Change-Id: I3ec83c028dcefb827bd05666401e4a667e29fb6a - Reviewed-on: http://gerrit.openafs.org/4457 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 81e77fa923cabb18c0b29b84a958eb6635524119 -Author: Jeffrey Altman -Date: Mon Apr 11 10:29:28 2011 -0400 - - roken: export tsearch, tdelete, tfind on windows - - Change-Id: Ic862b65a8c1b37bc3ca3da8db77ba76fe8879296 - Reviewed-on: http://gerrit.openafs.org/4456 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d5349810730ff16c68280745398c136ddbdb2b8d -Author: Derrick Brashear -Date: Mon Apr 4 13:43:44 2011 -0400 - - afscp: build for windows - - attempt windows support for afscp - - Change-Id: I61cb1349466f24558b320bc40e3fae42ce654810 - Reviewed-on: http://gerrit.openafs.org/4424 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit de0c72bf7c7d284f4d15d99c79b39e0c97f1a122 -Author: Andrew Deason -Date: Fri Apr 8 13:00:15 2011 -0500 - - DAFS: Request salvage on detach for volser - - When the volserver notices that a volume needs salvaging, mark - V_needsSalvaged. So when we VDetachVolume the volume, we can then just - request the salvage in the volume package. - - Fix the VolClone salvaging code to do this as well, instead of using - the vol-private VRequestSalvage_r interface. - - Change-Id: I9d48e4ea18fe4e3e2e1dc38593db4beb5ad79a84 - Reviewed-on: http://gerrit.openafs.org/4452 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 399655e3df3bf30d7878dec70402fc0021cae752 -Author: Andrew Deason -Date: Thu Apr 7 12:36:19 2011 -0500 - - volser: Avoid assert on ViceCreateRoot failure - - If IH_CREATE fails in ViceCreateRoot, it may just be due to an on-disk - inconsistency. So, don't assert, but just return an error and detach - the volume. - - Change-Id: I8acacff8c858b0d27234265fee5d7b49ebab5101 - Reviewed-on: http://gerrit.openafs.org/4444 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 316b0421a27a4a76298f60ecd62b1236c971e512 -Author: Andrew Deason -Date: Thu Apr 7 13:51:14 2011 -0500 - - DAFS: Do not give back vol to viced after salvage - - If we VRequestSalvage_r a volume successfully, and we are not the - fileserver, we will tell the fileserver to salvage a volume. So, we do - not need to give back the volume afterwards, since telling the - fileserver that a volume needs a salvage effectively gives it back (so - the salvager can take it). - - So, clear needsPutBack so we don't try to also give back the volume, - and avoid the fileserver yelling at us for trying to give back a - volume that is checked out by someone else (or is not checked out at - all). - - Change-Id: I168bcf7fe6dbc186064cdf38de1ddb287a26eff3 - Reviewed-on: http://gerrit.openafs.org/4445 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 81c2416d8e09987ccee9fa5194ab1801c44380df -Author: Derrick Brashear -Date: Fri Apr 8 11:12:34 2011 -0400 - - add tsearch to Windows - - roken now has tsearch for windows. add it. - - Change-Id: I73f609d6285f52bb2b52f580b95ca4510204efa1 - Reviewed-on: http://gerrit.openafs.org/4451 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 83bce754727c9f2b4206d4a7744854616433006b -Author: Heimdal Developers -Date: Sun Apr 10 22:13:08 2011 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 988355d9d0d1953e8c17c4b5c935938573efe4ba (switch-from-svn-to-git-2070-g988355d) - - Upstream changes are: - - Derrick Brashear (1): - roken: Make tsearch build on windows - - Change-Id: Ic0292c8cc7283c07ae56040c8e80b9b2cc99801f - Reviewed-on: http://gerrit.openafs.org/4454 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b3b0c67808b76c0d7d1225956c5de21414490183 -Author: Andrew Deason -Date: Mon Aug 2 13:23:34 2010 -0500 - - XDR: decouple from system XDR implementation - - Since commit 7293ddf325b149cae60d3abe7199d08f196bd2b9 we have stopped - trying to use the system-provided XDR implementation, but the xdr_ops - structure was still structured to accomodate for the old limitations - of the system XDR. Change xdr_ops so it is just always one consistent - structure. - - This removes: - - - The AFS_XDR_64BITOPS define and all related code, since we never - call the 64-bit versions of getint and putint ourselves - - - The rearrangement of getint32/putint32 depending if we are in - Solaris kernel-land or not - - - The .x_control field - - Change-Id: I59b7579da1ea728eaba6b426011adbe4f7a331b6 - Reviewed-on: http://gerrit.openafs.org/2503 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit da3921e7c78ec2f9a7861cfb5d06df96bb1e477f -Author: Simon Wilkinson -Date: Wed Mar 23 16:31:42 2011 +0000 - - ptserver: Add cmdline options for config and log - - Make it possible to set the location of the ptserver's configuration - directory, and the file that it logs to, from the command line. This - makes it possible to bring up a ptserver without requiring an - installation on the system for testing purposes. - - Change-Id: I914eb842256eb74506490fcf5532b4138e6f3875 - Reviewed-on: http://gerrit.openafs.org/4447 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 20f2f23be6cd5834997cb22ae2bbf4bec308c60c -Author: Heimdal Developers -Date: Sat Apr 9 09:46:26 2011 -0400 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 2a32bf67f0a7c77b6adf6e7c23ec8abe7937a9ea (switch-from-svn-to-git-2067-g2a32bf6) - - Upstream changes are: - - Derrick Brashear (1): - Add tsearch and friends, and a test program - - New files are: - roken/search.hin - roken/tsearch.c - - Change-Id: Ie7ddb2da595797ca354e36776ce813a03b3d462c - Reviewed-on: http://gerrit.openafs.org/4453 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7a9aeaee11e76656c2d5aa7d5f0254cea55491c0 -Author: Derrick Brashear -Date: Fri Apr 8 10:59:35 2011 -0400 - - Import tsearch.c from roken - - Add tsearch.c (and search.hin) to the files we import from heimdal - - Change-Id: I6a7062b35177c6ecd4f78ae15d56d73600866d50 - Reviewed-on: http://gerrit.openafs.org/4449 - Tested-by: Simon Wilkinson - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 470e3f06d444413807208ba86bc5c83dbc744db9 -Author: Simon Wilkinson -Date: Thu Apr 7 18:07:32 2011 +0100 - - tests: Remove spurious rxgk reference - - A reference to the rxgk library crept into auth Makefile ahead of - time. Remove it so that tests can continue to work in trees without - rxgk. - - Change-Id: Ic1392aebf657d458a55f2dcf685d0616f0573622 - Reviewed-on: http://gerrit.openafs.org/4446 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 325443e6178f9dcdba7326bdb675447ac72bd540 -Author: Andrew Deason -Date: Wed Apr 6 16:56:22 2011 -0500 - - afsd: Trim trailing slashes on Linux mntent - - When we write a mount entry on Linux when mounting /afs, trim trailing - slashes on the mount path. Otherwise, the umount utility can get - slightly confused, and leave the /afs mount entry in /etc/mtab after - it's been unmounted. - - For full correctness we should probably completely canonicalize the - path like the mount utility does, but it's unlikely that anyone will - provide significantly weird paths for cacheMountDir, so don't bother. - - Change-Id: Ie8330f08918d52eee319dff5f6ad275c30164c67 - Reviewed-on: http://gerrit.openafs.org/4442 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f1e04bedb26f84f061518a68a2dd75761b85c195 -Author: Simon Wilkinson -Date: Sun Apr 3 16:31:56 2011 +0100 - - Windows: Use roken gettimeofday implementation - - Use the gettimeofday implementation from roken, rather than brewing - our own on Windows. - - Change-Id: I02fc1a7f0f6aded2e16e2ed53e04054546fc0535 - Reviewed-on: http://gerrit.openafs.org/4433 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 21ed5186ae04a5a3026bfe115404bfa24ec27bdb -Author: Heimdal Developers -Date: Thu Apr 7 19:39:30 2011 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - a597ccdde692709ab387cde21518f09eb501c5a1 (switch-from-svn-to-git-2063-ga597ccd) - - Upstream changes are: - - Simon Wilkinson (1): - roken: Rename gettimeofday replacement - - Change-Id: I1e1ec03d9ab1953c50a5ef47a6f3feb0db150f49 - Reviewed-on: http://gerrit.openafs.org/4443 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 222f8a5ea2cbf73db03ceacf68fa06c57769a0d2 -Author: Simon Wilkinson -Date: Thu Mar 24 12:28:10 2011 +0000 - - vlserver: Add options for config, log and db - - Make it possible to set the location of the vlserver's configuration - directory, database file, and the file that it logs to, from the - command line. This makes it possible to bring up a vlserver without - requiring an installation on the system for testing purposes. - - Change-Id: I0a3fcc4fd10274588c1530f8b4f3e9782084c58c - Reviewed-on: http://gerrit.openafs.org/4440 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit f2ec10782384469f276195457b13c139e4fd2cee -Author: Andrew Deason -Date: Thu Mar 31 12:51:44 2011 -0500 - - salvager: Do not AskDelete on GetInodeSummary fail - - GetInodeSummary can fail due to a number of different reasons, not - just because the VG doesn't exist. If, for example, we just fail to - write the temporary inode file, we will return with an error, but we - should not AskDelete the volume in that instance. - - GetInodeSummary already has code to delete the volumes in question - when no inodes are found, so remove the extra AskDelete after - GetInodeSummary returns. - - Change-Id: I5df7a3ffed962b62409adbedfa1c1a0445dad2f8 - Reviewed-on: http://gerrit.openafs.org/4438 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8084fc28a3069949bdc788f048fa8a96c012b96d -Author: Andrew Deason -Date: Thu Mar 31 17:22:12 2011 -0500 - - salvager: Error volumes on GetInodeSummary errors - - When GetInodeSummary fails due to an internal failure (not from just - failing to find applicable inodes), currently it just returns an - error, and does not return the checked-out singleVolumeNumber back to - the fileserver. - - When we fail to gather inodes, we should force the volume to an error - state, since we haven't salvaged the volume. But if we fail to find - any applicable inodes, we just want to VOL_DONE the volume, since the - header has possibly been destroyed, and the volume doesn't exist. - - So, issue an FSYNC_VOL_FORCE_ERROR command when we encounter errors in - GetInodeSummary, except when we fail to find applicable inodes. - - Change-Id: I4aed126ec09c4b93cfd8572abeba3d22bff0e6a5 - Reviewed-on: http://gerrit.openafs.org/4439 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b510fe30afb34202342364e96bd9030052e1567 -Author: Marc Dionne -Date: Tue Apr 5 21:30:20 2011 -0400 - - ubik: don't rely on timeout value after select() - - The value of timeout after a select() call should be considered - undefined; relying on its value is not portable. - Since IOMGR_Select doesn't modify the timeout it is given, the - intention of the code seems to be to wait for gradually increasing - timeout values, starting at 50ms. At least under Linux, the - timeout gets set to 0 by select() if it waited for the full specified - time, resulting in a much shorter maximum possible wait period. - - Initialize the timeout value for each loop according to the existing - logic, to get consistent behaviour between the lwp and pthreaded code. - - Change-Id: I8d3e90fe4e94a378401dd0a6fb7d77266ec09e5a - Reviewed-on: http://gerrit.openafs.org/4441 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 843d705ca6f0250c3760ec2aa1f3403d19de3df1 -Author: Rainer Toebbicke -Date: Mon Dec 6 15:39:25 2010 +0100 - - Atomically collect callbacks to be broken - - Collect callbacks to be broken in one go, otherwise a file server may - lock out a client while new callbacks tickle in. - - With revised multi_Rx, responses get handled early, taking away an argument for - issuing callbacks in small chunks -> crank up chunk size. - - Change-Id: I6822256715d1388aa1a44049315813ea08009105 - Reviewed-on: http://gerrit.openafs.org/3909 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2386f5741d284a449f0260b91cde65209dc3c2bd -Author: Andrew Deason -Date: Tue Apr 5 14:51:26 2011 -0500 - - Correct strftime callers - - Some strftime callers were not using the resultant string - appropriately. Correct them to have the same behavior as when we were - using afs_ctime (which included a trailing newline). - - Change-Id: I1d23a6a06460cae3d2a253c9f084c22324fc7542 - Reviewed-on: http://gerrit.openafs.org/4437 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - -commit 23984368f50ad443be3c3082b58d6b892ae55a90 -Author: Marc Dionne -Date: Sat Mar 19 09:21:56 2011 -0400 - - ubik: take DB lock in ubik_GetVersion - - The lock is needed to copy the database version. - Note that this function is currently unused in OpenAFS. - - Change-Id: I7938db18a6739d2a15ab27331dbf5945839127fc - Reviewed-on: http://gerrit.openafs.org/4264 - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 5ac037294ec04f7c74aca37f9f37a445428a14a8 -Author: Marc Dionne -Date: Sat Jan 29 13:28:05 2011 -0500 - - ubik: DB lock usage in ubik_Flush and ubik_Write - - ubik_Flush and ubik_Write need to hold the DB lock to use iovec_info - or iovec_data - - Change-Id: Iadc1ff0badc744aa5fdee433bb4b591217e4b453 - Reviewed-on: http://gerrit.openafs.org/4263 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 5548f6540557795ded65a52c7066839c5eef468f -Author: Marc Dionne -Date: Sat Jan 29 12:09:30 2011 -0500 - - ubik: SVOTE_Beacon should hold the DB lock for CheckTid - - Change-Id: Iab51bf4aea704870813a4f4c082110ed7cd1eb04 - Reviewed-on: http://gerrit.openafs.org/4262 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1e2a0e46ea2db58c0ab4d817412303ab90be1be2 -Author: Marc Dionne -Date: Mon Mar 7 13:55:19 2011 -0500 - - ubik: Document lock ordering - - Document the required lock ordering for the new locks. - The text is adapated from Jeffrey Hutzelman's notes. - - Change-Id: I72d0578f456eab133f36e00a3e99051b9a733020 - Reviewed-on: http://gerrit.openafs.org/4174 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit e4ac552ab79be21d90397079eaf6be7050497752 -Author: Marc Dionne -Date: Thu Feb 3 20:51:06 2011 -0500 - - ubik: Introduce version lock - - The "version" lock is a new lock that protects the database version - information. The goal is to allow the beacon thread to use the - protected values without blocking for an extended period of time, - which could occur if it was using the database lock. - - Reading requires holding either lock, while writing requires holding - both locks. - - The following values are protected: - ubik_epochTime - db->version - db->flags - db->tidCounter - db->writeTidCounter - - Based on analysis and design work from Jeffrey Hutzelman. - - Change-Id: Ib6e67360807eed8c36e35ec27d1eb938ac899e22 - Reviewed-on: http://gerrit.openafs.org/4158 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 5ceea5bbc6a3a69012d625d53149909490311e6c -Author: Marc Dionne -Date: Sun Jan 23 13:09:48 2011 -0500 - - ubik: Introduce new address lock - - Introduce a new lock to protect: - ubik_server->addr[] - ubik_server->disk_rxcid - ubik_server->vote_rxcid - ubikSecClass - ubikSecIndex - - Globals are put into a new addr_data structure along with the lock. - - Based on analysis and design work from Jeffrey Hutzelman. - - Change-Id: I33ef58a36e87a3925b310052f83bb3c6dd60d785 - Reviewed-on: http://gerrit.openafs.org/4157 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 2385d26293b9f5b3bd62b7afd5a4e9da17efe7cc -Author: Marc Dionne -Date: Sat Jan 22 22:17:14 2011 -0500 - - ubik: Introduce new vote lock - - Introduce a new lock to protect ubik data related to voting. - Specifically, it protects the following globals: - ubik_lastYesTime - lastYesHost - lastYesClaim - lastYesState - lowestHost - lowestTime - syncHost - syncTime - ubik_dbVersion - ubik_dbTid - - Variables are grouped along with the lock in a new structure. - - Also introduce a few helper functions to safely deal with ubik_dbVersion: - uvote_eq_dbVersion: Return true if the passed version is equal to the - current ubik_dbVersion - uvote_set_dbVersion: Set ubik_dbVersion to a specified value - - Change-Id: I9bb248d0dfedc363181661ea723cac0af4928644 - Reviewed-on: http://gerrit.openafs.org/4156 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 7c4fc5278e037104450d22a199a46f938aa929aa -Author: Marc Dionne -Date: Sat Jan 22 13:51:07 2011 -0500 - - ubik: Introduce new beacon lock - - A new lock is introduced to protect beacon related data when - compiled with pthreads. A global structure is added containing - the lock itself and the global variables that it protects. - - The lock also protects some values in the ubik_server structures: - lastVoteTime - lastBeaconSent - lastVote - up - beaconSinceDown - - Based on some analysis and design work by Jeffrey Hutzelman - - Change-Id: I13f72d32dce71d0686406efcd07b7ea7528722f1 - Reviewed-on: http://gerrit.openafs.org/4155 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 73a79dba2cb51e27224a00a936782f1dd44f7bd3 -Author: Heimdal Developers -Date: Sun Apr 3 16:26:39 2011 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 987658325eb7bd6b10882cc4cdd224499e7f7a03 (switch-from-svn-to-git-2052-g9876583) - - New files are: - roken/gettimeofday.c - - Change-Id: Iac2227dcd58338e5a988ce614c136fb57da639dd - Reviewed-on: http://gerrit.openafs.org/4432 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 184ab5d31dc33a3d41c5348e4e23d1e2c794df56 -Author: Simon Wilkinson -Date: Sun Apr 3 16:25:48 2011 +0100 - - Roken: Import gettimeofday - - Import the roken gettimeofday implementation, so we can use it on - Windows. - - Change-Id: I198233c4e96708b56b6e7be3bbfc98bb14d37f84 - Reviewed-on: http://gerrit.openafs.org/4431 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d20c76586a7621bff504abb3046d48acf774efff -Author: Simon Wilkinson -Date: Sun Apr 3 16:09:44 2011 +0100 - - Tidy up gettimeofday usage - - The roken gettimeofday implementation doesn't return timezone - information. Audit the whole code to make sure that we don't rely on - this, and tidy up those places where we were passing an unused - timezone structure to the gettimeofday call. - - Change-Id: Ia83f86483a9c7262fc0904236c0d039a912e3731 - Reviewed-on: http://gerrit.openafs.org/4430 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6f32cacd0157df3ca78b607505d93286dcc3a9b4 -Author: Simon Wilkinson -Date: Sat Apr 2 13:43:15 2011 +0100 - - Remove NINTERFACE define - - Whatever behaviour was controlled by the -DNINTERFACE define is long - gone from our code base (git log -SNINTERFACE can't find any references, - which suggests that its removal predates OpenAFS). - - Simplify our Makefiles by removing the definition - - Change-Id: Ic84261eb40aa7de9b7c0ec7b8372517b09e242d2 - Reviewed-on: http://gerrit.openafs.org/4427 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4e723e6d9a422f5130c9d185918a088612027e62 -Author: Simon Wilkinson -Date: Sat Apr 2 13:33:36 2011 +0100 - - Replace afs_ctime with strftime and friends - - Replace our local afs_ctime() hack with strftime and localtime_r, - which roken can provide for us if necessary. This avoids the - compatibility problems inherent with ctime_r, and removes another bit - of platform compatibility goo from libutil. - - Change-Id: I18ed36cc4dce9aa354ad1398710ab7db83c814a2 - Reviewed-on: http://gerrit.openafs.org/4426 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e0bdc5d6523c2a26a9eb689bdbb1d7a2b591a821 -Author: Simon Wilkinson -Date: Sun Apr 3 16:23:13 2011 +0100 - - configure: Check for localtime_r properly - - Fix our check for localtime_r so that it actually picks up if it's - missing on Unix platforms, and gets libroken to build it. - - Change-Id: Ibf6e3a0272b08aa55e0ee9493f68b3c53a5b6938 - Reviewed-on: http://gerrit.openafs.org/4425 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 25ea3544d145ca375c86912458824f6f00384713 -Author: Simon Wilkinson -Date: Sun Apr 3 16:36:30 2011 +0100 - - util: Remove the unused magic.h header - - util/magic.h is unused, so get rid of it - - Change-Id: Ic01a7ad73203d25b25f7b7c4af0668ab6131f6c3 - Reviewed-on: http://gerrit.openafs.org/4423 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit cdc612596dc57f0bf05532322f56d9ed85f89870 -Author: Simon Wilkinson -Date: Sat Apr 2 15:06:10 2011 +0100 - - xstat: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I750ac319feb38e416abb0b8e3575613309c6ab8e - Reviewed-on: http://gerrit.openafs.org/4422 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0f5ecc85e58f2991ad52a7ba357949c9306f72a9 -Author: Simon Wilkinson -Date: Sat Apr 2 15:04:24 2011 +0100 - - vol: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: Ie83e6ed3e6e5eaca063b9c6af836bcdc7decdf84 - Reviewed-on: http://gerrit.openafs.org/4421 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3fef4d00c8b0c3d48acc5aec2c2960768cf144cb -Author: Simon Wilkinson -Date: Sat Apr 2 15:00:27 2011 +0100 - - vol: Don't use MAX_INT when UINT_MAX will do - - limits.h provides us with UINT_MAX, so use this for the maxmimum - size of an unsigned integer, rather than trying to grow our own. - - Change-Id: Ia23c45a9e295589929374a8324ea2b3d268ae6c0 - Reviewed-on: http://gerrit.openafs.org/4420 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bda87d7943d97a02fcc70e48caad65c09e2421b0 -Author: Simon Wilkinson -Date: Sat Apr 2 14:17:41 2011 +0100 - - viced: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Also add a selection of headers to the list that autoconf checks for - - Change-Id: Ic76bb02ff5353ceba380b78abc294251ecc66267 - Reviewed-on: http://gerrit.openafs.org/4418 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 353857e7685c9acfcf7474fabe57c928c70c778f -Author: Simon Wilkinson -Date: Mon Apr 4 11:02:17 2011 +0100 - - Irix: Supress some more warnings in kernel builds - - Suppress the following warnings in kernel builds: - *) The function "blah" was declared but never referenced (1174) - *) The indicated trailing comma is non-standard (1201) - *) The parameter "blah" was never referenced (3201) - *) implicit conversion of a 64-bit integral type to a smaller - integral type (3968) - - Change-Id: If6cf21f287b5aefa06daaa2807e05a84e391fa95 - Reviewed-on: http://gerrit.openafs.org/4419 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 80ed51a053dd878a05606cc17f91fb15e44d809f -Author: Simon Wilkinson -Date: Sat Apr 2 14:04:27 2011 +0100 - - vfsck: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I7896d654d3b1e50352e92f1fbfb3211f79791116 - Reviewed-on: http://gerrit.openafs.org/4417 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3c63b6e7845b261985b3fb37457ec65065254a1b -Author: Simon Wilkinson -Date: Sat Apr 2 13:54:06 2011 +0100 - - tsalvaged: Tidy up build rules - - COMMON_CFLAGS already includes XCFLAGS and ARCHFLAGS, so don't include - them again in the salvager cflags rule - - Change-Id: Ib65e9235fa5d23473417f0d197a3610c9b17d1f0 - Reviewed-on: http://gerrit.openafs.org/4416 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f5dc5551aaca99916b06bcca81c141eb36fb6e73 -Author: Simon Wilkinson -Date: Mon Mar 28 00:24:17 2011 +0100 - - venus: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I431cff2dbfa5ca57a9884d7d8eb1695d3f79affd - Reviewed-on: http://gerrit.openafs.org/4415 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 6465e4243c6398f60dff3037e27119bb067c5038 -Author: Simon Wilkinson -Date: Sun Mar 27 23:03:00 2011 +0100 - - uss: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I1d729adfd0a4cbe73b68e553ec122073a737c8a5 - Reviewed-on: http://gerrit.openafs.org/4414 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4e21a4713a9fc2571032386e46560ec6cbee263e -Author: Simon Wilkinson -Date: Sun Mar 27 22:59:26 2011 +0100 - - usd: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I593ca273e11e4dd7bb0887e708189cc7a1181879 - Reviewed-on: http://gerrit.openafs.org/4413 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 800481a382ca77e1b75acee78edc744f5dfe2eed -Author: Simon Wilkinson -Date: Sun Mar 27 22:57:46 2011 +0100 - - update: Tidy up header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: If090da744a6b096bbfc79292402439a6994062ff - Reviewed-on: http://gerrit.openafs.org/4412 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2fcdc9298d11a2f038f6425e6c5c24bd23da6b8c -Author: Simon Wilkinson -Date: Sun Mar 27 22:55:05 2011 +0100 - - ubik: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: Iddd472b25de2d833b3235eceab593afdd1527e03 - Reviewed-on: http://gerrit.openafs.org/4411 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8abfa09ee3c4d4e6da26cedf116650bbb774842b -Author: Simon Wilkinson -Date: Sun Mar 27 22:50:23 2011 +0100 - - pthreaded servers: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I6e431eb16d35fd9bd4aa07e7a9b3e47ca7281fab - Reviewed-on: http://gerrit.openafs.org/4410 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a1b12b3eab5cb92c797ee5d7d7227c013c01420c -Author: Simon Wilkinson -Date: Sun Mar 27 22:46:46 2011 +0100 - - sys: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I66d38e30b43ae636a78a2225271b66756586f5a2 - Reviewed-on: http://gerrit.openafs.org/4409 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 601fcf1d7f7c88cfc0ffd877c5458340b3e59098 -Author: Andrew Deason -Date: Fri Apr 1 13:43:13 2011 -0500 - - afs: Retry unlock after afs_StoreAllSegments - - HandleFlock calls afs_StoreAllSegments when unlocking an exclusive - flock lock. This can drop the write lock on avc, so we must - effectively retry the entire lock operation again, since the world may - have changed while we were waiting to reacquire the lock on avc. So, - retry once all of the lock checks up to that point, to ensure that a - lock on the file actually still exists. - - FIXES 125446 - - Change-Id: If249b0e761b595062068d7a506be85a3307870e8 - Reviewed-on: http://gerrit.openafs.org/4393 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ca6bdd1cf0fe3b265bcffd846afef19a0d7853f2 -Author: Simon Wilkinson -Date: Sun Mar 27 22:37:47 2011 +0100 - - scout: Tidy header includes - - Remove headers which are provided by libroken - - Change-Id: I4d9391016e4477242385687eec4f1825426fd00d - Reviewed-on: http://gerrit.openafs.org/4408 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 4659c5c9924171525454cd2a2280ed9370476998 -Author: Simon Wilkinson -Date: Sun Mar 27 22:34:01 2011 +0100 - - rxkad: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I7e07f98802ad059052d528a57278c971e857e074 - Reviewed-on: http://gerrit.openafs.org/4407 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 24f229af511a45b88f98e272b00ca08a467a6f69 -Author: Simon Wilkinson -Date: Sun Mar 27 22:23:20 2011 +0100 - - rxgen: Tidy up header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: Idd399da7de85541fb84da55246168788a2ef88da - Reviewed-on: http://gerrit.openafs.org/4405 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4281e46464af4bc0033a93b9618726385f12fa0f -Author: Simon Wilkinson -Date: Sun Mar 27 22:20:08 2011 +0100 - - rxdebug: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I47f804e455d0251dc30c5d5be2433f3ee7611fae - Reviewed-on: http://gerrit.openafs.org/4404 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit a329e9a9d859fb99d6ed2d0143b5b55ef6b66106 -Author: Simon Wilkinson -Date: Sun Mar 27 22:18:23 2011 +0100 - - rx: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I7bb08d7ec7a75b485f7f619fd4d8179d4c7349f0 - Reviewed-on: http://gerrit.openafs.org/4403 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 24173064d99d0c6ff37cab7b045d80c80d901144 -Author: Simon Wilkinson -Date: Fri Mar 25 19:46:42 2011 +0000 - - procmgmt: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I82fb06f8d531476cc89e53ec189be15cb7ebf5d7 - Reviewed-on: http://gerrit.openafs.org/4402 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b3f8fd344cca4e9150b5571f57a64deeeace1c64 -Author: Simon Wilkinson -Date: Fri Mar 25 19:42:50 2011 +0000 - - pam: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I9a8c2d588eb00d1315c660faa485037cef2f8e6d - Reviewed-on: http://gerrit.openafs.org/4401 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cb87e0834cd6244ff886bd9f4ffb26e8a1a0f097 -Author: Simon Wilkinson -Date: Sun Apr 3 10:23:56 2011 +0100 - - roken: Add env functions to configure checks - - Add the putenv, setenv and unsetenv functions to the list of - functions that configure checks for. This avoids the roken header - redefining them to rk_*, which we're then not providing an - implementation of. - - Change-Id: I63bd88326e933f0afed399233c38489cd2aea46b - Reviewed-on: http://gerrit.openafs.org/4406 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 64a305971f984184e17d45592da72b607f0ab724 -Author: Marc Dionne -Date: Sat Apr 2 11:04:25 2011 -0400 - - Update README.WARNINGS, adjust warning inhibition flags - - Remove warning inhibition for fsprobe and uss_kauth, and - adjust README.WARNINGS to the current status. - - Change-Id: Icc1f16a6ec70799c05abfcde557c66fae7c4311d - Reviewed-on: http://gerrit.openafs.org/4400 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b3094a39b74c0c593f6dcac945ad5e4bbf155c2d -Author: Marc Dionne -Date: Sat Apr 2 09:43:26 2011 -0400 - - Convert ubik_Call(x) calls to ubik_x() - - Convert remaining ubik_Call(function, ..) users to ubik_function(..). - - Change-Id: I841d2f32d8fd6a5256e0a922827aad22d242d832 - Reviewed-on: http://gerrit.openafs.org/4399 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit a0389f5592c25afb19befb5bf62833a0b0bc59cc -Author: Marc Dionne -Date: Sat Apr 2 09:03:55 2011 -0400 - - fsprobe: Fix usage message - - Fix the usage message to display the correct command name. - - Change-Id: I886ebd45554d7e7eb6254fa59fa010fd78e5952a - Reviewed-on: http://gerrit.openafs.org/4398 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ef105dcc4932da804750dea0c922d5814fc5bf15 -Author: Marc Dionne -Date: Sat Apr 2 08:40:15 2011 -0400 - - fsprobe: call RXAFS_GetTime directly - - Call RXAFS_GetTime directly instead of using ubik_Call which is - not prototyped and has logic that we don't need/want here since - we're targeting a specific server. - - Change-Id: Ia71d1cb164d3fe71f01c88fc720837c69566baf5 - Reviewed-on: http://gerrit.openafs.org/4397 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 12ea4a6f7a38b152cd4b52d9569a7edc8eec887c -Author: Simon Wilkinson -Date: Fri Mar 25 19:36:35 2011 +0000 - - libwp: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I4952f8d115d38a3bd1dfe86478cd4a30f533e86f - Reviewed-on: http://gerrit.openafs.org/4386 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f5f0ce525a63264098cd0625769d642fe6f106ba -Author: Simon Wilkinson -Date: Fri Apr 1 16:37:32 2011 +0100 - - Linux: Fix USE_UCONTEXT detection - - On Linux, afs/param.h determines whether to use the ucontext() - function based on the glibc version. However, the glibc version - macros aren't available until a C library header has been included. - - There have been a couple of attempts to fix this. The first included - afs_sysnames.h before the C library check, but this wasn't sufficient - to pull in a header for all builds. The second included stdio.h before - including afs/param.h in process.c. - - Whilst the second approach works, it has the drawback that it breaks - our convention that afsconfig.h and afs/param.h must always be the first - includes in a file. More seriously, it means that the behaviour of - afs/param.h is different depending on where it appears in the include - order - which is especially dangerous for 3rd party user. - - So, this patch tries to resolve all of this by explicitly including - features.h before doing the glibc version checks. The only danger I - can see here is that Linux platforms without glibc may lack a - features.h, but I suspect we have trouble building on such platforms - in any case. - - Change-Id: Ief96d32b10372225335e2d2fbb7205da4bf5fc0a - Reviewed-on: http://gerrit.openafs.org/4389 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba9ae1ed7c269d7c080b5ce99b3b4bb2fe0a2a6f -Author: Andrew Deason -Date: Fri Apr 1 16:43:24 2011 -0500 - - afs: Avoid memory leak on recursive write flock - - When a process requests an exclusive lock on a file on which it - already holds an exclusive lock, we basically form a no-op. However, - HandleFlock was allocating a new SimpleLocks and attaching it to - avc->slocks, without freeing the old SimpleLocks structure. - - Since we don't need to do anything if we already hold an exclusive - lock, just break out of the loop right away when we detect that - scenario. Thus we avoid adding a new structure to avc->slocks, and we - avoid a memory leak. - - Change-Id: I27c3df1d7807a0b74cba11d6e4a563df8232932a - Reviewed-on: http://gerrit.openafs.org/4395 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e0e648919157bb30507401c020ea67b040da6224 -Author: Marc Dionne -Date: Fri Apr 1 18:53:31 2011 -0400 - - crypto: return a value from krb5_abortx - - The krb5_abortx stub is declared as returning a krb5_error_code, - so make it return something to avoid a warning. - - Change-Id: Ib5b915c1c4e034b5c8393206c80596e5d6d5fc8b - Reviewed-on: http://gerrit.openafs.org/4396 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 841c8022e3978fffe1357f339d948e93c9db9d52 -Author: Derrick Brashear -Date: Fri Apr 1 12:17:13 2011 -0400 - - macos: no more startupitems - - if we're upgrading, a "cruft" startupitems script should just - be nuked. - - FIXES 129601 - - Change-Id: Ic9295b19c893f154fd98a6ad1e5822c8b2ef44df - Reviewed-on: http://gerrit.openafs.org/4387 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 53377153eca062ae6252dc8c71e7f6cb16214076 -Author: Chaz Chandler -Date: Sat Jul 3 15:02:30 2010 -0400 - - libafscp: code cleanup - - This patch is intended to bring libafscp into accordance with the - current OpenAFS coding standards while also fixing a few small - issues. Apologies in advance for the numerous whitespace changes. - - Change-Id: I606ed5024395319e12e8759f31494ebd27ff6112 - Reviewed-on: http://gerrit.openafs.org/4380 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f2e91cc3fe61956e7661eae9da82ddf746e63824 -Author: Marc Dionne -Date: Wed Mar 30 18:32:04 2011 -0400 - - Linux: Fix fallout from path_lookup commit - - Fix a few issues with the recent commit to deal withg the removal - of path_lookup, spotted on RHEL 5: - - the configure tests needs fs.h to be included before namei.h, to - get the definition of struct inode - - we need to avoid the use of struct path unless its needed; on - older kernels the structure doesn't exist - - Change-Id: I6251a96a371a50548dcafc70d94e91b52fc2922a - Reviewed-on: http://gerrit.openafs.org/4382 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4af8c88ff2a312e429ae5cb1ac4010ac517bfdd5 -Author: Simon Wilkinson -Date: Fri Mar 25 19:25:31 2011 +0000 - - log: Tidy header includes - - Remove headers which are provided by libroken, and reorder header - includes so that they're a bit a more legible. - - Change-Id: I41258d5b906350bcdf4854b244799fc8907b2bfc - Reviewed-on: http://gerrit.openafs.org/4385 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 75c14f9d695a484118971ce66455d9eacb3f6fe1 -Author: Simon Wilkinson -Date: Fri Mar 25 10:12:08 2011 +0000 - - libadmin: Tidy header includes - - Remove headers which are provided by libroken, and reorded header - includes so that they're a bit a more legible. - - Add math.h to the list of headers that configure will check for - - Change-Id: I530afa77866a0aa3a33f8684ce9cf630aa347812 - Reviewed-on: http://gerrit.openafs.org/4384 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 560b0b8c0b1e1777c3345af425d4a32354697c29 -Author: Simon Wilkinson -Date: Thu Mar 24 22:32:39 2011 +0000 - - libacl: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I67bb92abc985d1510d8b8a108f9b9e3a62525fd5 - Reviewed-on: http://gerrit.openafs.org/4332 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a4e2c1cc7e6d98a4b826e2826bc26b771138ab1a -Author: Simon Wilkinson -Date: Thu Mar 24 22:17:55 2011 +0000 - - kopenafs: Tidy up headers - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: Ie4f0f87074b9f9c5a028098ea39e548d9932e54a - Reviewed-on: http://gerrit.openafs.org/4331 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6bdba897f49b8358d3592588a78d9b59757a9c13 -Author: Derrick Brashear -Date: Wed Mar 30 09:46:43 2011 -0400 - - xdr symbol fallout - - changes to xdr make xdr_vector and xdr_reference missing from libuafs. - fix it. - - Change-Id: I2c48716dc16c86ce91cfdd9deb61cc778f94275a - Reviewed-on: http://gerrit.openafs.org/4379 - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0b69fd6d5631482a786c2223a7dec0b2c9a07f92 -Author: Ben Kaduk -Date: Tue Mar 29 22:26:50 2011 -0400 - - Unbreak make dest for FBSD - - It turns out that we do need an afs.rc.fbsd that is set up for - transarc paths in this directory. To get it to work properly - will require the user to symlink to it from a dir that gets - checked by rcorder, but them's the breaks. - - Change-Id: I1786e4862768127f29a6d309097536829da3e029 - Reviewed-on: http://gerrit.openafs.org/4378 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a4b8823950d0d7f3806fe9e7aed22502b72a79e4 -Author: Antoine Verheijen -Date: Mon Mar 28 10:05:40 2011 -0600 - - OpenBSD: Complete implementation of afs_osi_TimedSleep - - The OpenBSD version of afs_osi_TimedSleep() is missing the required - afs_event structure and afs_getevent routine. This update adds them - (by borrowing a copy of the code from the FreeBSD implementation). - - Change-Id: Ie470e83a56caecb9494bb86dc3ff0a18420bb56e - Reviewed-on: http://gerrit.openafs.org/4373 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 920a00e075b679f59e31b9fcbe7f5db15e345a95 -Author: Andrew Deason -Date: Tue Mar 29 12:28:46 2011 -0500 - - vol: Add timeouts to SYNC server select() calls - - Normally *SYNC server processes wait indefinitely for activity to - occur on one of the SYNC sockets. On some Linux kernels, there exists - a race condition where data can come in on a socket, but the select() - call continues to wait. To ensure that we do not hang forever in such - a scenario, add a timeout to the select() call, which will ensure we - notice the new data within 10 seconds. Raise the timeout on non-Linux - to reduce impact elsewhere. - - The Linux kernel bug is tracked in - , though that bug - report may not represent all affected kernels. - - Change-Id: I3250eb53d59610ccbcffe9e8e283984d5ae0e2b4 - Reviewed-on: http://gerrit.openafs.org/4377 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e2cd861cdf30735897cf32617b7641cbd2be1229 -Author: Andrew Deason -Date: Tue Mar 29 13:04:48 2011 -0500 - - Always set LIB_roken when we find libroken - - If we found an external libroken when configuring, we were not setting - LIB_roken if --with-roken=DIR was not specified. Set LIB_roken when we - find a libroken without --with-roken=DIR. - - Change-Id: I927647a14f4c5cd8925f0e719b0a9b4164584571 - Reviewed-on: http://gerrit.openafs.org/4376 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e4095aab4ce53cd41e726f34e8810ea421dd7f41 -Author: Russ Allbery -Date: Mon Mar 28 12:56:10 2011 -0700 - - NEWS updates for 1.6.0pre4 - - Add additional 1.6.0 NEWS entries based on the release notes for - 1.6.0pre4. - - Change-Id: Ibd681058f9534c9c270e6e0f127d3beb463c6a95 - Reviewed-on: http://gerrit.openafs.org/4374 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8336d31ac5092a16cfb206707e69c19f07f99241 -Author: Chas Williams (CONTRACTOR) -Date: Wed Mar 16 10:32:48 2011 -0400 - - rx: always use/protect the xdr routines in the kernel - - This clears up some warnings about duplicate symbols with Solaris 11 - since the Solaris kernel already has these routines. Since we never - use stock kernel version of the xdr routines perhaps we should always - use/protect our version of the symbols. - - Change-Id: I4b5b4a691fb838093aff728469d17c28dccbaaea - Reviewed-on: http://gerrit.openafs.org/4252 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c40be933628653f10ecd1ddbb51bf1b786c3b1f3 -Author: Simon Wilkinson -Date: Thu Mar 24 21:58:29 2011 +0000 - - kauth: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - This adds arpa/inet.h to the list of headers that configure checks for - - Change-Id: I1792ede4be761238bb05567c1d763ed63f50051e - Reviewed-on: http://gerrit.openafs.org/4330 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8608ca6771c9d254488f2929a4713b0f3f2f6c18 -Author: Simon Wilkinson -Date: Thu Mar 24 21:08:35 2011 +0000 - - gtx: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I444a8a325cca8da76f410185949103ccd873c743 - Reviewed-on: http://gerrit.openafs.org/4329 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ffd91d91f431a248c550a6f307af1a9dce285009 -Author: Simon Wilkinson -Date: Thu Mar 24 21:03:00 2011 +0000 - - fsprobe: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I0eee5dd0656e32617855ccf4a30d4c4be47b7da2 - Reviewed-on: http://gerrit.openafs.org/4328 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 4e6aff0bcb69b13ae5ca1d983f9b54c3245b0cc2 -Author: Simon Wilkinson -Date: Thu Mar 24 20:58:46 2011 +0000 - - finale: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Also, tidy up translate_et_nt.c by removing the AIX specific code which - will never be built, as this file is only compiled on Windows! - - Change-Id: Iec7a811f02eaf1a2ad573bbadc30d782426231d0 - Reviewed-on: http://gerrit.openafs.org/4327 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5a9410189792235c1a8b7002c8988e4b20063c87 -Author: Simon Wilkinson -Date: Thu Mar 24 20:56:11 2011 +0000 - - dir: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I355cf33fdf72fed640c17ff5c2dfca1dd6f93d6f - Reviewed-on: http://gerrit.openafs.org/4326 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit d1c83df1cce4084fad72a4fedfa5ad77d28ec05a -Author: Simon Wilkinson -Date: Thu Mar 24 20:50:21 2011 +0000 - - com_err: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I167b0fa7f48d7dd71efb43a4f137655b38137314 - Reviewed-on: http://gerrit.openafs.org/4325 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 3f3d0d999f1c6ab25271418c302a79e3e5661f10 -Author: Jeffrey Altman -Date: Mon Mar 28 08:29:25 2011 -0400 - - vol: remove flock emulation now provided by roken - - flock emulation is provided by rk_flock from roken. No need - to provide a local emulation function in namei_ops.c. - - This change removes a macro redefinition warning. - - Change-Id: Id8b7cf030d8653ceb979db60c20ed28c03bd9737 - Reviewed-on: http://gerrit.openafs.org/4365 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 69b37fb3a7d231bb7ba1f8660f9c294fb1050049 -Author: Simon Wilkinson -Date: Mon Mar 28 14:52:33 2011 +0100 - - AIX: Add flock to roken - - Add the rk_flock() emulation function to roken, primarily for use - on the AIX build, but it will also be used for WIN32 - - Change-Id: Ia8f11e19bbe9fdf721a7b72660d860624139d9b1 - Reviewed-on: http://gerrit.openafs.org/4368 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 58017bf4720abd2acf84a64dcee21e70e8d6ed17 -Author: Simon Wilkinson -Date: Thu Mar 24 20:46:54 2011 +0000 - - cmd: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I424a0df98ff9334d9e46a9af2ba9d7f1861f501e - Reviewed-on: http://gerrit.openafs.org/4324 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ccfb125e8b944e516e5414935f800f9e65cef585 -Author: Simon Wilkinson -Date: Thu Mar 24 20:42:37 2011 +0000 - - bu*: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: If20a2ef67d4cbc70156c1707264a5b7360cfa11a - Reviewed-on: http://gerrit.openafs.org/4323 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit cce1bd6059fd9dc5e909a56e879331d6f46bdf99 -Author: Simon Wilkinson -Date: Thu Mar 24 20:07:37 2011 +0000 - - bozo: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: Ie4f1b955c111f30b98aa8793b3e3d15dd0bb9275 - Reviewed-on: http://gerrit.openafs.org/4322 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6830269772271d7d25d5de98671e01a9da4863cd -Author: Heimdal Developers -Date: Mon Mar 28 14:44:20 2011 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 987658325eb7bd6b10882cc4cdd224499e7f7a03 (switch-from-svn-to-git-2052-g9876583) - - New files are: - roken/flock.c - - Change-Id: I7b9470cfdf99e41ea460772025767c47f6ad26f0 - Reviewed-on: http://gerrit.openafs.org/4367 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b440e1a5513efca246368ffe4656e61b58b35a40 -Author: Simon Wilkinson -Date: Mon Mar 28 14:43:28 2011 +0100 - - Import flock.c from roken - - Add flock.c to our list of roken imports, so that we can use it on - AIX - - Change-Id: I1f7b953c8853f4b021a486bb93ddc392c2c08e07 - Reviewed-on: http://gerrit.openafs.org/4366 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7d162266c4958b22cc45d65e3f204a96c218e5f6 -Author: Marc Dionne -Date: Sun Mar 27 10:59:55 2011 -0400 - - Linux: 2.6.39: replace path_lookup with kern_path - - path_lookup is no longer available, use kern_path instead. - - Change-Id: I42ae43114fe257fc65452f1b0a35d43595b0044b - Reviewed-on: http://gerrit.openafs.org/4360 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 20da07abdf414ec86b2d6ead4cc2d9f59a1ee526 -Author: Derrick Brashear -Date: Tue Mar 22 12:47:16 2011 -0400 - - ihandle release locking simplification - - several callers drop locks so ih_release can be called unlocked, - then relock. simply allow a locked call (via _ih_release_r). - - side effect: we had races before on refcnt check versus cleanup style. - this addresses it, but only removes lock contention. - - Change-Id: Id2d132baa170894ba3ab0e1e8d0bcf9cf6c0c712 - Reviewed-on: http://gerrit.openafs.org/4271 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit ae038f92501ef7c279849fd2749cf835f68930a8 -Author: Simon Wilkinson -Date: Thu Mar 24 19:56:35 2011 +0000 - - auth: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I2afd32d86b40b84c14f8a6021a583b6a4888780c - Reviewed-on: http://gerrit.openafs.org/4321 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit e922ac70925248af004972191cbd1db105b35d48 -Author: Simon Wilkinson -Date: Mon Mar 28 10:24:14 2011 +0100 - - autoconf: Add tests for resolver headers - - Add tests for arpa/nameserv.h and resolv.h, so that roken will look - after including these files for us. - - Change-Id: Ifa6b7d877d67c967811017a25c98fab6bd571d4c - Reviewed-on: http://gerrit.openafs.org/4364 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 235aaced95300695ebe195c5af1d12cd2c54ab6d -Author: Simon Wilkinson -Date: Mon Mar 28 10:23:22 2011 +0100 - - fssync: Rename state - - The structure 'state' in fssync-debug conflicts with a structure - of the same name in AIX's resolv.h header. Renaming the structure here - to fssync_state to avoid the conflict. - - Change-Id: I15df31a48369f76ef927a5153d3415e821bc0c51 - Reviewed-on: http://gerrit.openafs.org/4363 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 1aab133e495a27fa4783379478c563d0ec066a9c -Author: Simon Wilkinson -Date: Thu Mar 24 19:27:21 2011 +0000 - - audit: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I5543c5c9c22828ee19460c2ab24065f508a6353f - Reviewed-on: http://gerrit.openafs.org/4320 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit c153ec0c9e1794b8ee545e99d8c00ab1eab04efa -Author: Simon Wilkinson -Date: Thu Mar 24 19:23:34 2011 +0000 - - vol: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: Ifd88310dc26ebfd995b4a25b2984ddb01606264f - Reviewed-on: http://gerrit.openafs.org/4319 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8b88debf018a83ea0ec561a56db5c12be96eceda -Author: Simon Wilkinson -Date: Thu Mar 24 19:11:15 2011 +0000 - - volser: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Also, add sys/uio.h to the list of libraries that we check for. - - Change-Id: I03d9c143db42a1ec415ab5624e2cbede0d34e310 - Reviewed-on: http://gerrit.openafs.org/4318 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f6d148f6e7b399221de28808d9a4167dfb77e37c -Author: Simon Wilkinson -Date: Fri Mar 25 00:37:52 2011 +0000 - - volser: More renaming of putshort and putint32 - - Commit 2d6bc153689f14f8690878b15d9fb711a56b0546 renamed the putshort - and putint32 macros in dumpstuff.c to avoid conflicts with macros - that are defined in resolv.h. However, an almost identical copy of - that code also exists in vol-dump.c - - Rename putshort and putint32 there too. - - Change-Id: I9b98f99fb5c2b24b57e2bc480c891aa86b6df344 - Reviewed-on: http://gerrit.openafs.org/4317 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 8c1f7259314b1d81ce7be2fe7abe3f28672b2ce0 -Author: Simon Wilkinson -Date: Thu Mar 24 15:36:49 2011 +0000 - - afs_snprintf is dead, long live rk_snprintf - - We were shipping our own implementation of snprintf and friends, as - afs_snprintf. Now that we're using roken everywhere, we can make use - of roken's rk_snprintf, and no longer need to ship our own. - - As Window's snprintf isn't C99 compliant, roken always uses its own - on this platform. The effect of this is that we can no longer use - AFS_UINT64_FMT and AFS_INT64_FMT for snprintf calls (and the Log - functions that call them). Instead, we need to always use the - Unix format specifiers when calling these functions. - - Make thse changes across the whole tree. - - Change-Id: I3fffef97566f239ad639f15c4decd136d5bbd765 - Reviewed-on: http://gerrit.openafs.org/4316 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a58639ee7b4c80de9f7c177549639cbf18b71e14 -Author: Simon Wilkinson -Date: Sun Mar 27 21:06:27 2011 +0100 - - Windows: Don't use %I for IP addresses - - %I isn't supported by the roken printf functions. In preparation - for switching over to them, replace our use of asprintf to convert - IP addresses to strings with the afs_inet_ntoa_r function. - - Change-Id: Id38dc56405071d62fb2b12e4f69905aa7a2026b0 - Reviewed-on: http://gerrit.openafs.org/4362 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9376293634393597ac7db88593100937621f6c3f -Author: Marc Dionne -Date: Sun Mar 27 11:20:17 2011 -0400 - - Linux: 2.6.39: deal with BKL removal - - For 2.6 kernels the OpenAFS code is already BKL free, but the - corresponding header file smp_lock.h is still included in various - places. This header no longer exists, so remove all occurrences - outside of LINUX24. - - Change-Id: Ib659fa787eab4b39efce5b0a62f5723950e79703 - Reviewed-on: http://gerrit.openafs.org/4361 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d3d3d2c51ab12a1be5f19745dc0ebb7d306fcc3b -Author: Simon Wilkinson -Date: Thu Mar 24 10:57:47 2011 +0000 - - vlserver: Rationalise usage message - - Rather than having 2 copies of the usage message, just have one - with #ifdef switches to disable options that are not available in - that build. - - Change-Id: I5b2135fba3d42fdbb879d5e8cb61933f4929d598 - Reviewed-on: http://gerrit.openafs.org/4305 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b1b8d7a4baa558565d4e441e57d4a9941da9ed3a -Author: Simon Wilkinson -Date: Thu Mar 24 10:28:59 2011 +0000 - - ptserver: Rationalise usage message - - Rather than having 4 copies of the usage message, just have one - with #ifdef switches to disable options that are not available in - that build. - - Change-Id: If888a64307b78189fcf617bbe0dc4ca9e55e8d2b - Reviewed-on: http://gerrit.openafs.org/4304 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 96916c8fcfa6832bd485a9e0b9d61fa6b23a30d9 -Author: Simon Wilkinson -Date: Fri Mar 25 17:14:26 2011 +0000 - - HP/UX: Make more use of roken - - Make more use of roken on HP/UX by letting it provide definitions - for random and srandom, and using its implementation of - getdtablesize - - Change-Id: I1212c77ea9cc6ef436cfc5c16e893aefbc33d31b - Reviewed-on: http://gerrit.openafs.org/4341 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c019e03e70e95258da1af40d96d9798db1b8b2d2 -Author: Simon Wilkinson -Date: Fri Mar 25 17:34:51 2011 +0000 - - crypto: Fixes for recent Heimdal changes - - The last Heimdal import changed the name of a number of structures - so that they are private to the krb5 code. Mirror this by changing our - prototypes to match the new names. - - This solves the key_type problem that we previously fixed by #defining - key_type to hc_key_type, so remove that define. - - Change-Id: I9b3f1712b0bf6641a780cc4002e73f8a511ff080 - Reviewed-on: http://gerrit.openafs.org/4340 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2343c67c7c2a312f9d8c0d2c5dd89077ac8e4b21 -Author: Heimdal Developers -Date: Fri Mar 25 17:18:37 2011 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 987658325eb7bd6b10882cc4cdd224499e7f7a03 (switch-from-svn-to-git-2052-g9876583) - - New files are: - roken/getdtablesize.c - - Upstream changes are: - - Love Hornquist Astrand (2): - prefix symbols that are _krb5_ structures - prefix internal structures with _krb5_ - - Change-Id: I36aae13d877b6b40b8d2db47217884dc24f3f9c8 - Reviewed-on: http://gerrit.openafs.org/4339 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit db3288b0e745884b96697df4e17c96fde4bfa304 -Author: Simon Wilkinson -Date: Fri Mar 25 17:17:47 2011 +0000 - - Add getdtablesize to the roken import - - Change-Id: I089e3976e90429e39102eeb82a74ece97e87bd25 - Reviewed-on: http://gerrit.openafs.org/4338 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2d754dfd37a93f8ef21857b0eac52640259a5bff -Author: Simon Wilkinson -Date: Thu Mar 24 15:58:19 2011 +0000 - - aklog: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Also add pwd.h to the list of headers that we check for in configure, - and that roken will include if they are available - - Change-Id: I61ab95eeca11127a33bb668dddfc24ec6ce7f8f1 - Reviewed-on: http://gerrit.openafs.org/4303 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 54b9813fe95f51f23c8c710ec28081fcdb4bdcc2 -Author: Simon Wilkinson -Date: Thu Mar 24 15:50:47 2011 +0000 - - NO_DES_H_INCLUDE is no longer necessary - - Now that we're using hcrypto for DES, rather than rolling our own, - we don't need to specific NO_DES_H_INCLUDE, so get rid of it. - - Change-Id: Id370ddacb0a57264cc8f5cdda3c59fbb627708af - Reviewed-on: http://gerrit.openafs.org/4302 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4dd09ac28eb9dc40c904c00142ed8a960990b248 -Author: Simon Wilkinson -Date: Thu Mar 24 10:01:00 2011 +0000 - - ptserver: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Also reorder our headers so that they go - - #include - #include - #include (if required) - - #include - - [ ... out of directory headers ... ] - - [ ... local headers ... ] - - Change-Id: I9214f6bf65085947cfc588b47484e1b022ffc5b1 - Reviewed-on: http://gerrit.openafs.org/4299 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7b4da89c8ed266959ec8d3ae4f6627b096206dee -Author: Ben Kaduk -Date: Fri Dec 17 01:16:30 2010 -0500 - - new files for FreeBSD packaging at 1.6.0pre3 - - Packaging for use with FreeBSD's Ports Collection. - The directory layout is flattened, and a couple of files that do not - make sense here are not included. - The afsd rc script lives in packaging/ as it is not runnable in - its committed form, it requires variable substitution that occurs - at install-time from the Ports Collection. - - Change-Id: I72d6c2ee7106611b0ec9bfe3e47a471ed66b7255 - Reviewed-on: http://gerrit.openafs.org/4351 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit dce071acef1119aceca7eb80a66c035fb03e9259 -Author: Ben Kaduk -Date: Sun Nov 21 23:32:37 2010 -0500 - - Remove outdated rc file for afsd on FBSD - - The semantics of rc scripts have changed drastically since this - was written. It will need to be rewritten from scratch; the - new version will live in src/packaging/FreeBSD as afsd.in, as it - is included with the port packaging in that form. - - Change-Id: I397f8d5a9dc0430f1a9e8f2f0f378585cee4bd3b - Reviewed-on: http://gerrit.openafs.org/4350 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f901c0f5258c14f5d04d9b64ca5b472c468f60bd -Author: Ben Kaduk -Date: Sat Nov 6 00:30:12 2010 -0400 - - Remove stale FreeBSD packaging - - We no longer use the Transaarc paths, and the rc environment - and packaging methods are quite different now. - - Change-Id: I6915f41455dcf0518472b0a81fe7e5c559d4a994 - Reviewed-on: http://gerrit.openafs.org/4349 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9df32e55d4e5000b7f6c3c4d18f3498dd3d989c0 -Author: Jeffrey Altman -Date: Sat Mar 26 16:50:52 2011 -0400 - - Windows: export roken symbols - - rk_vsnprintf - rk_vasnprintf - - Change-Id: I39344d10a599e7bdc761ae03853b679ab6edcb4f - Reviewed-on: http://gerrit.openafs.org/4348 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 620ec4382fbf79908c62e4ce1e451b8743e457ac -Author: Jeffrey Altman -Date: Sat Mar 26 13:05:26 2011 -0400 - - Windows: change log for 1.5.9904 (1.6.0pre4) - - Change-Id: I0c302ef20bf245f927f3167d3c662334e71d81df - Reviewed-on: http://gerrit.openafs.org/4347 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 55781a831954cb1e7253a12e0f9b581b586c3603 -Author: Andrew Deason -Date: Fri Mar 25 15:54:01 2011 -0500 - - viced: REALLYCLOSE origfdP after CoW - - In StoreData_RXStyle, we save a pointer to the original FdHandle_t if - we need to CopyOnWrite the target vnode, for the purposes of possibly - copying additional data later on. - - After the CopyOnWrite call, this points to an inode that is not in the - current volume, and is thus less likely to be accessed. In CopyOnWrite - itself, the original file handle is FDH_REALLYCLOSE'd because of this, - so the handle does not remain in the cache. Do the same in - StoreData_RXStyle, so origfdP is always FDH_REALLYCLOSE'd after we - have called CopyOnWrite. - - Change-Id: Ibe33d26120eb354318147f3a31fe32d38c6a70c6 - Reviewed-on: http://gerrit.openafs.org/4344 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fa86aee76a3bf73d20771c24a3448b04cb6db932 -Author: Andrew Deason -Date: Fri Mar 25 15:44:57 2011 -0500 - - Revert "ihandle: Ensure FDH_REALLYCLOSE really closes" - - This reverts commit a50f4c8d802c7b1c258a9cbe388dfab50425596b. - - The only difference between FDH_CLOSE and FDH_REALLYCLOSE has to do - with ihandle cache behavior. FDH_REALLYCLOSE just indicates that the - reference we are closing is not likely to be used by other code, and - should be kicked out of the cache immediately (thus closing the file - descriptor). So, if there is another reference to that FdHandle_t, and - it issues an FDH_CLOSE, it thinks that the reference is likely to be - used again soon, and so the handle should not be kicked out of the - cache. Thus, the behavior before a50f4c8d was already correct. - - Change-Id: I5a5c0c18b459f50e16c1d901ecc5f4eb18e8ef62 - Reviewed-on: http://gerrit.openafs.org/4343 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b1d51d2a6030fb8aabdae1fedb6846dc7ef9fbca -Author: Jeffrey Altman -Date: Tue Mar 8 11:04:07 2011 -0500 - - vol: avoid MAXINT redefinition warning in vnode.c - - Change-Id: Ifeed132ac477a83f21af5b52cba7b658fb083221 - Reviewed-on: http://gerrit.openafs.org/4179 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e261238470ed28ee7c1068d914de171b34033e09 -Author: Andrew Deason -Date: Tue Mar 8 16:59:32 2011 -0600 - - SOLARIS: Perform daemon syscalls as kernel threads - - Add AFS_SUN5_ENV to the list of platforms where AFS_DAEMONOP_ENV is - defined. Implement the necessary functionality so we spawn kernel - threads when a daemon syscall is called. Remove the rxk_Listener - wrapper, since it will be called in a separate thread via the - afs_DaemonOp interface. - - Change-Id: I3c2570696a83f1837d08522fdd9dfc30dfefda4b - Reviewed-on: http://gerrit.openafs.org/4189 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6143bb27d20380e689346b4e66c077e5d4cd6061 -Author: Andrew Deason -Date: Tue Mar 8 15:37:17 2011 -0600 - - libafs: Consolidate afs_DaemonOp code - - Create the AFS_DAEMONOP_ENV define to simplify the logic of when we - perform afs_DaemonOp-y code paths. Also create the daemonOp_common - function, to perform common pre-fork operations that are common - between platforms. - - Change-Id: Id93e1ffd7b8f4c0029cf4632239a519a619e9f9f - Reviewed-on: http://gerrit.openafs.org/4188 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 99ed22fb02a3b44c03327a1fdd5ef56e211724b6 -Author: Andrew Deason -Date: Fri Mar 25 16:37:30 2011 -0500 - - SOLARIS: Correct ioctl syscall error handling - - Do not use the return code from ioctl for errno. Ioctl itself will set - the errno and return value correctly, so don't mess with them. - - Change-Id: I26c3afb5c77a3fce57e0d53d8671541805b32e08 - Reviewed-on: http://gerrit.openafs.org/4345 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 05241a59a1ce88d2f25d75127124971c55e1f677 -Author: Andrew Deason -Date: Tue Mar 8 14:59:44 2011 -0600 - - libafs: Indent afs_call.c ifdef maze - - Change-Id: I46198de875c16e221d4b75bb45afc9e2fd09dde1 - Reviewed-on: http://gerrit.openafs.org/4187 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d971d235e986c4e9ca959cf458e1e2322d79ac63 -Author: Andrew Deason -Date: Fri Mar 25 14:11:16 2011 -0500 - - ihandle: One more indentation fix - - Change-Id: Icfed36ba0087d82706aea88e083576480244a9ad - Reviewed-on: http://gerrit.openafs.org/4342 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c5be1f72875bcb083a9ddef4621efecf62aa880e -Author: Andrew Deason -Date: Thu Mar 24 17:57:32 2011 -0500 - - salvager: Stop asking for DAFSness on SYNC_FAILED - - Break out of the loop so we stop asking the same thing repeatedly. - - Change-Id: Ifcb2cd62589867927ab9f8be03bab7b981e5f761 - Reviewed-on: http://gerrit.openafs.org/4315 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ad0afb57b9172bb7cfa0853b5f34259c0958d248 -Author: Andrew Deason -Date: Wed Mar 23 17:38:35 2011 -0500 - - DAFS: Allow the volumeSalvager to checkout volumes - - Change-Id: Ia255c866bbd4f6cb883383650373223f09875374 - Reviewed-on: http://gerrit.openafs.org/4298 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1043c7ce7d68409c1debfada0a92c96a94a8980b -Author: Jeffrey Altman -Date: Fri Mar 25 08:58:20 2011 -0400 - - Windows: trailing dot not part of volume name - - When dynamically adding new cell mount points to the Freelance - directory do not include a trailing dot when specifying the root.cell - volume name. - - Change-Id: Idfae9e3f44380cbce49d77fff22bee15dc4856ce - Reviewed-on: http://gerrit.openafs.org/4333 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 04bcfa2821c9deba151f562bb78452276d8d7443 -Author: Derrick Brashear -Date: Thu Mar 24 16:11:17 2011 -0400 - - add AFS_DEMAND_ATTACH_UTIL - - use this for non-pthreads "support code" e.g. salvager. - - Change-Id: I17825fa90de33a7a4d17f364713fd4602dae497b - Reviewed-on: http://gerrit.openafs.org/4312 - Reviewed-by: Andrew Deason - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 9b245d856b165f195b0da93df77e4a28a1698b46 -Author: Simon Wilkinson -Date: Thu Mar 24 15:26:38 2011 +0000 - - util: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times. - - Change-Id: I5e5e67b695f07bf121b0543c7f936278009eff15 - Reviewed-on: http://gerrit.openafs.org/4301 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6960a3038a7b5d8dfc5e43fef43c62e0d6ce634c -Author: Simon Wilkinson -Date: Thu Mar 24 10:54:44 2011 +0000 - - vlserver: Tidy header includes - - Since we adopted libroken, we get a lot of header includes automatically - from roken.h. Use these, instead of including lots of things multiple - times - - Change-Id: I8b304bcd0e376601fbe622f7453d0295b188b697 - Reviewed-on: http://gerrit.openafs.org/4300 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8234cc254406173a7ada9fb1b4a63ca8aa626bca -Author: Andrew Deason -Date: Thu Mar 24 10:22:52 2011 -0500 - - DAFS: Correct FSYNC_VOL_QUERY_VOP checks - - Check that the given partition matches the vp partition, and ensure - the vp is not in an exclusive state when we check the state. - Otherwise, we may return pending vol ops for a volume on a different - partition, or we may incorrectly return that there is no pending vol - op when in fact the volume does not exist at all. - - Change-Id: I3e28c0b7b372360d181a3310eb1fb7fce223ae59 - Reviewed-on: http://gerrit.openafs.org/4308 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7b00c17b49fe6a54f99f3c23bfc307a4b10d88e2 -Author: Russ Allbery -Date: Thu Mar 24 12:56:56 2011 -0700 - - Correctly document the AFS client setuid defaults - - AFS no longer honors setuid status by default. Update the admin - guide documentation appropriately and add a warning recommending - against enabling setuid status given the limitations of the current - AFS protocol. - - Reformat this section of the admin guide to make it easier to - maintain. - - Change-Id: I6ea5859037d7d194df801f1a76583257cfc8bbe8 - Reviewed-on: http://gerrit.openafs.org/4311 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 11ad1e467f9708f12fe09228cbb827b8f4e1225b -Author: Jeffrey Altman -Date: Wed Mar 16 02:17:38 2011 -0400 - - Windows: avoid recursive cm_CheckOfflineVolume - - Add a new cm_req_t flag CM_REQ_OFFLINE_VOL_CHK which is used - to prevent cm_Analyze() from performing recursive - cm_CheckOfflineVolume operations that will exhaust the stack. - - Change-Id: Ia4ee14307bf812cc2208482a19c1a914aca3e447 - Reviewed-on: http://gerrit.openafs.org/4240 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 637f5b642aaee3a6f4642fd0ba15e2a9eec6c496 -Author: Andrew Deason -Date: Wed Mar 23 17:25:03 2011 -0500 - - salvager: Give back volumes when exiting early - - Sometimes the salvager exits a bit earlier than normal. For instance, - when no applicable inodes are found for a volume group, or if the - -inodes command line option was given. In these cases, we have already - checked out singleVolumeNumber from the fileserver (if we're salvaging - a single VG), so we need to give it back. So, give it back in those - instances. - - Change-Id: I3ab732d3b640b76d3bdec7ac9d01e57dc5a54ade - Reviewed-on: http://gerrit.openafs.org/4297 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit dba991728ba5a90af316928348053189dac80398 -Author: Andrew Deason -Date: Wed Mar 23 16:46:47 2011 -0500 - - DAFS: Do not record vol ops for DELETED vols - - When a volume is VOL_STATE_DELETED, it effectively does not exist, so - there is little point in recording a vp->pending_vol_op structure for - it. Just let callers checkout the volume as they would a nonexistent - volume: without recording anything about the operation. - - This just reduces some edge cases and confusing debugging info, so we - don't have to worry about cleaning up pending_vol_op structures for - nonexistent volumes. - - Change-Id: I56b92c3f2548ea48f9c61100be07edf9f7277fee - Reviewed-on: http://gerrit.openafs.org/4296 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f2c1f2ee48663d00701e7cee52b99151e36b9534 -Author: Andrew Deason -Date: Wed Mar 23 16:12:20 2011 -0500 - - salvager: Do not AskOnline nonexistent volumes - - If singleVolumeNumber is not in our volume summary list, then the - singleVolumeNumber volume does not exist. So, don't try to bring it - back online. Still do try to make sure we don't have the volume - checked out, though, so issue an AskDelete, so ensure that it's not - checked out and that the fileserver does not think it exists. - - Change AskDelete so we don't care if we tried to delete a volume that - the fileserver thinks already doesn't exist. Change the FSYNC_VOL_DONE - handler so it does not complain about already-deleted volumes. - - Change-Id: I33dd876c0db91a3c8a5210fca329d63bf4b3d212 - Reviewed-on: http://gerrit.openafs.org/4295 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 22149d82d465f5defbe329b3f9b3c5040a6293e9 -Author: Andrew Deason -Date: Wed Mar 23 15:19:03 2011 -0500 - - namei: Log ListViceInodes write failures - - If we fail to write to the inodeFile given by ListViceInodes, we - should log the failure. Otherwise, no indication is given as to what - failed, when a salvage gathers the inode list. - - Change-Id: Ia54105e1043969781711b9168c6787d07d1d319f - Reviewed-on: http://gerrit.openafs.org/4294 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit d6557a9cf7b76af62cba986428cf0362d42eae9a -Author: Andrew Deason -Date: Wed Mar 23 14:30:18 2011 -0500 - - salvager: Fix conversion from stdio calls - - Commit 5247fa38a4faebfdffba178ca01e5b419f034d5d converted some I/O - calls in the salvager from stdio to OS_OPEN/OS_WRITE/etc. Fix some of - the conversions, including: - - - We need to pass O_CREAT to OS_OPEN calls, since we are creating - these files - - - OS_WRITE returns the number of bytes written on success, not the - number of "elements" like in stdio - - Change-Id: I789b7549c1eabeb821591bf9f42d810252fb11e1 - Reviewed-on: http://gerrit.openafs.org/4293 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit a50f4c8d802c7b1c258a9cbe388dfab50425596b -Author: Andrew Deason -Date: Tue Mar 22 16:36:47 2011 -0500 - - ihandle: Ensure FDH_REALLYCLOSE really closes - - If FDH_REALLYCLOSE is given an FdHandle_t that has more than one user, - currently it does effectively nothing. Ensure that the file descriptor - actually gets closed on a subsequent FDH_CLOSE, but setting the new - fd_needs_rclose field. - - Change-Id: I04794662ca64e6be718da82e10994a4a7bc0b39a - Reviewed-on: http://gerrit.openafs.org/4274 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f41ee7d17267381c4e67eec2f35f298cc272397e -Author: Derrick Brashear -Date: Wed Mar 23 14:16:10 2011 -0400 - - macos next support - - first brush at supporting next macos. totally not lion about it. - - Change-Id: I4d2e05f68266ea82de710717c5340f16425f897e - Reviewed-on: http://gerrit.openafs.org/4290 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cfab7a166a78905276dc4f0b310eb894893107ee -Author: Derrick Brashear -Date: Wed Mar 23 14:11:24 2011 -0400 - - osconf: reduplicate systype stuff - - in some cases there is more to do, and in some cases we probably - already didn't build anymore, but, let's simplify. - - Change-Id: I779c3ba8f3f02e6202700d96ee92cd473de66af2 - Reviewed-on: http://gerrit.openafs.org/4288 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d4ebebd0c3f89b65e93f0da6d53665271e6d2a61 -Author: Andrew Deason -Date: Wed Mar 23 11:07:03 2011 -0500 - - DAFS: Do not VDeregisterVolOp_r while exclusive - - We should wait for a volume to transition out of an exclusive state - before calling VDeregisterVolOp_r on a volume, since some code may be - examining the vol op outside of VOL_LOCK in an exclusive state. We - should be doing this anyway before performing volume state checks, - since we may be trying to e.g. attach the volume at the same time. - - Change-Id: I3a5b78b7c0033887a973ce941ced592df8c4bf3d - Reviewed-on: http://gerrit.openafs.org/4287 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b0921071dd1b4d460d406985bba9619561444055 -Author: Simon Wilkinson -Date: Wed Mar 23 15:35:35 2011 +0000 - - rpm: Build srpms without %dist in their name - - On RHEL6, %dist is set for all RPMS and SRPMS built on the system. This - leads to makesrpm.pl building SRPMS with .el6 in their release. As we - endeavour to use the same SRPM on all of our Fedora platforms, this is - less than ideal, so change makesrpm.pl to squash the setting of %dist - before building the RPM. - - Change-Id: I5b5b9db7654ce21a269233e8950d4f4d1df81ad7 - Reviewed-on: http://gerrit.openafs.org/4285 - Reviewed-by: Alexander Ivan Redinger - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9ac85bb2fd91baa4c3077d091f395f57e933018a -Author: Andrew Deason -Date: Tue Mar 22 16:18:17 2011 -0500 - - Fix ihandle.c indents - - ihandle.c had some blocks that were not indented. Indent them. - - Change-Id: I05442c6fabc19fab314f515fa950159de05b8c48 - Reviewed-on: http://gerrit.openafs.org/4273 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ef9fc4fadaded1c0ea067b2fd1d423df826606ae -Author: Jeffrey Altman -Date: Tue Feb 17 04:37:27 2009 +0000 - - vclosevnodefiles-ihandle-leak-20090216 - - LICENSE IPL10 - FIXES 124359 - - don't leak ihandles on close. this isn't a complete fix for the issue - (cherry picked from commit b9816e12f7ed8213c9c4eaea09e992e69ce4ee05) - - This reverts the part of 12e85227c5dbfdb1258718ee3360bffacc4f96ac that - reverted b9816e12f7ed8213c9c4eaea09e992e69ce4ee05. - - Change-Id: If4ac661a3a0f8abf7f6a79fa9d72d715861bcf51 - Reviewed-on: http://gerrit.openafs.org/4272 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 81e7a5adf93a6b5eec104ca4bde429cf6cb0548a -Author: Derrick Brashear -Date: Tue Dec 7 21:26:59 2010 -0500 - - DAFS: fix forceDAFS support in salvager - - we need to get the shared partition lock for the per-volume - forceDAFS case - - Change-Id: I7be91420bb0df5963e789c932e5c469fe02ec108 - Reviewed-on: http://gerrit.openafs.org/3487 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b9ecf28c6c7c232823ac9b44cd00db9afab81c91 -Author: Derrick Brashear -Date: Tue Dec 7 21:23:53 2010 -0500 - - DAFS: allow salvager to detect whether FSYNC server is DAFS - - in order to enable the right commands and print the right errors, - query for DAFS-only FSYNC op. - doesn't use bozo InstanceInfo as it's possible you can run fileserver - outside of bos. - - Change-Id: Ib94f7b3a2960cd493f110af4d5dee7e97a6493c9 - Reviewed-on: http://gerrit.openafs.org/3486 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d4e8b729d8f216e9f033e95194740ff4cb566688 -Author: Russ Allbery -Date: Tue Mar 22 02:04:46 2011 -0700 - - Update NEWS for 1.6.0pre3 release - - Add additional NEWS entries from the 1.6.0pre3 release notes. - - Change-Id: I46b306a7fc85f95be87c2b9eeaefae6b9816be8f - Reviewed-on: http://gerrit.openafs.org/4270 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2578555d7e08131bf2fe4cdd0aa4b32567a76eb2 -Author: Andrew Deason -Date: Tue Mar 15 14:24:01 2011 -0500 - - viced: Check vnode length on dir ops - - The commit aadf69eabb1962496fa93745ab560a5b48cacd61 added checks on - vnode length whenever we read or write from a vnode. Add the same - check on directory vnodes when we modify the directory (whenever - entries are added or deleted). - - Change-Id: I8aa438941f840019bc541d5a978610c4f78330c8 - Reviewed-on: http://gerrit.openafs.org/4233 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0f1c921fa1738c383fd576e287f356dd13f92a58 -Author: Andrew Deason -Date: Thu Mar 10 18:37:44 2011 -0600 - - vol: Correct VolumeNumber for large volume IDs - - VolumeNumber was using atoi to convert a volume header name to a - volume ID. This can return just -1 for volume IDs larger than 2^31-1, - though, so use strtoul instead. - - Change-Id: Ibae2d29f196646154fcc4f6ff174246e37b3d735 - Reviewed-on: http://gerrit.openafs.org/4199 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 85edec7105dd653ed1d8046b69b8262281e97bba -Author: Andrew Deason -Date: Thu Mar 10 17:59:39 2011 -0600 - - vol: Handle large volume IDs in VLockFile - - VLockVolumeByIdNB currently cannot handle volume IDs larger than - 2^31-1. Fix this by using struct flock64, F_SETLKW64, and F_SETLK64 in - the VLockFile functions where possible. - - Thanks to Simon Wilkinson for pointing out F_SETLK64. - - Change-Id: I422c685aec035716e2f42d13bd97541425ead6a2 - Reviewed-on: http://gerrit.openafs.org/4198 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b146d627181f7b631da7655f338748a8f1d25272 -Author: Andrew Deason -Date: Thu Mar 10 16:41:02 2011 -0600 - - vol: Make VLockFile arguments consistent - - The Windows implementation of the VLockFile functions had the handle - incorrectly declared in a few places (they accepted a struct VLockFile - instead of an FD_t). Correct them, and make all VLockFile - implementation functions declare 'FD_t's instead of 'HANDLE's or - 'int's. - - Change-Id: I2bc414712599cb8f2a2f0a5034b583a15b2c3ad8 - Reviewed-on: http://gerrit.openafs.org/4197 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a6f18413edceed1b0d532005eb62cb1886e7a6f3 -Author: Andrew Deason -Date: Thu Mar 17 16:32:00 2011 -0500 - - libafs: Do not osi_FlushPages for dirs - - Directory contents are never mapped or stored in pages, so dealing - with page invalidation on directories is just overhead. So make - osi_FlushPages a no-op when we're given a directory, which can avoid a - lot of locks and other processing (particularly when we are called in - afs_getattr in BOZONLOCK_ENV). - - Change-Id: I56fbd08c74d01a5fcb45a57e08bb31afcec9331d - Reviewed-on: http://gerrit.openafs.org/4259 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a18175f479437f3a4fe68460538927630070cd13 -Author: Andrew Deason -Date: Wed Mar 16 11:48:08 2011 -0500 - - DAFS: DFlushVolume outside of vol glock - - DFlushVolume may traverse a long list of directory objects, and can - even hit the disk, so we should drop the glock for it. This should be - safe in DAFS, since we already transition the volume to an exclusive - state before doing this, and DFlushVolume only deals with structures - internal to the directory package and maintains its own locking. - - Change-Id: I6493042c8f36614b55d4dc40d97639e56b34fabd - Reviewed-on: http://gerrit.openafs.org/4242 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8c418408016ff8d6be9f85c4666a49954f61dbd0 -Author: Simon Wilkinson -Date: Sun Mar 20 21:13:09 2011 +0000 - - util: Fix exec_alt - - exec_alt was failing its tests on Mac OS X (but passing them on Linux). - - It turns out that this is because it was failing to NULL terminate the - string that it creates in construct_alt(), which copies in the - characters from argv0, prefix and suffix, but never copies in a trailing - NULL. - - Amend the code so that the trailing NULL from suffix is used to - terminate the string. - - Change-Id: I286604fb09193367c4e7b2d80051832080362f79 - Reviewed-on: http://gerrit.openafs.org/4267 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 1c1051ae19810acc6256abe25952375699e4237a -Author: Simon Wilkinson -Date: Sun Mar 20 19:23:29 2011 -0400 - - lwp: override dbg and optmz settings - - we were wiping out fun things like archflags. shouldn't be needed. - let's just do this instead. - - Change-Id: I80b3453bb237b4995d642b947d03c17d82cda5e7 - Reviewed-on: http://gerrit.openafs.org/4266 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 693a749595ec949e0e9620c66fa65bcf8f567927 -Author: Simon Wilkinson -Date: Sun Mar 20 19:15:30 2011 -0400 - - osx: restore atomic stats to knet - - pulled wrong version of change into master. put back atomic - versions of stats. - - Change-Id: I3b8413e2606a8bc4bf55aa674860685b2ca2ced6 - Reviewed-on: http://gerrit.openafs.org/4265 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ce5e263b488f8cb85662031ee08eea448dab2d27 -Author: Andrew Deason -Date: Wed Mar 16 14:44:56 2011 -0500 - - salvager: Fix volume parsing on 64-bit - - When an unsigned long is wider than an afs_uint32, comparing the - afs_uint32 vid to ULONG_MAX is always going to be false (which the - compiler can warn us about). Fix this by storing to an unsigned long, - and converting to a volume id after ensuring that the result is not - too large. - - Change-Id: Ifbd724dabd988bc4b1ba6ee8f3dc7fa1a0afb226 - Reviewed-on: http://gerrit.openafs.org/4244 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit d73d9a1011cc3e1e5acfbc970434373f732c066e -Author: Derrick Brashear -Date: Wed Jan 19 23:11:11 2011 -0500 - - MacOS: allow cdead vcaches to be found in FindVCache if requested - - if we are trying to find a dead vcache, let it be found, don't immediately - attempt to recycle - - FIXES 128511 - - Change-Id: I7f86f7d4a88e1b89887b64617246e750654b0334 - Reviewed-on: http://gerrit.openafs.org/3691 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1da95520fa85c6589fdb32ce1ee9035d92b34f4f -Author: Simon Wilkinson -Date: Wed Mar 16 21:23:17 2011 +0000 - - util: Remove unnecessary uuid_mem* macros - - Once upon a time, in a galaxy far far away, uuid used bcmp and bcpy - operations in kernel space. However, we changed that back in 2001, and - since then the uuid_memcpy and uuid_memcmp macros have been redundant. - Tidy up the code a little by removing them. - - Change-Id: I3abcff79b36a330f1619c3d7e0a791eac1cf69a1 - Reviewed-on: http://gerrit.openafs.org/4253 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0a98548832472152304410e41306adcc5b91f6a2 -Author: Simon Wilkinson -Date: Wed Mar 16 18:11:21 2011 +0000 - - dir: Make test utility build again - - Make the 'dtest' test utility, which can be used to test the functioning - of the dir package, as well as to manipulate the directories that it - creates, build again. - - Change-Id: I3b87c691cc9cb7ffce9297243d4a709d2e94fd40 - Reviewed-on: http://gerrit.openafs.org/4251 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b88cf2f1aa6934a0bdc5b4090fef941f51e8a366 -Author: Simon Wilkinson -Date: Wed Mar 16 17:42:59 2011 +0000 - - util: Remove remote.h - - remote.h is no longer used anywhere within the tree, and defines an - interface that has never been provided by OpenAFS. Remove it. - - Change-Id: Id1007364f073c3bc2751491df371f51a37059381 - Reviewed-on: http://gerrit.openafs.org/4249 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit af854b4e2f19e5f1a83b686e99ca3dd6122af942 -Author: Simon Wilkinson -Date: Thu Mar 17 19:28:23 2011 +0000 - - rpms: Make makesrpm.pl cater for new rpm names - - Starting from 1.6.0, our specfile no longer adds a stray '1.' to the - start of the release field. makesrpm.pl was failing to deal with - these new-style names and therefore not actually making an rpm. - - Fix this by conditionalising on the OpenAFS version when selecting - which rpm to copy. - - Change-Id: I36b32ccc20baa167f46e5095eacb38a8e7d65e27 - Cc: Alexander Redinger - Reviewed-on: http://gerrit.openafs.org/4258 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit c10f5296d26eac9ac00018199ef579e8f6095c07 -Author: Derrick Brashear -Date: Wed Mar 16 01:06:43 2011 -0400 - - macos: kernel socket upcall - - support kernel socket upcall instead of listener env - - Change-Id: I1b66ce0877053700cd894f47017596fbe07e7384 - Reviewed-on: http://gerrit.openafs.org/4239 - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6ca42fe191862ffae740e157a190a1bd894b848d -Author: Simon Wilkinson -Date: Wed Mar 16 17:16:31 2011 +0000 - - util: Remove packages.h - - packages.h is unused within our tree, and contains nothing of any - use to out of tree callers (it attempts to define bases for error - codes, which has been superceded by our use of comerr) - - So, remove it. - - Change-Id: I22f2d3fba6ff960f00757c69f6beb5e7f25f9bba - Reviewed-on: http://gerrit.openafs.org/4248 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 71380ee4f3522ba64ed60724a928f8efc16ca132 -Author: Simon Wilkinson -Date: Thu Mar 17 19:14:39 2011 +0000 - - rpms: Use new CellServDB - - Update the CellservDB referenced by the spec file to the latest one - from grand.central.org - - Change-Id: I315419b45c124908a262420cd9bd3876fe0ba308 - Reviewed-on: http://gerrit.openafs.org/4257 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 79ec0068740b3dc83bd92ac5fc25749d292f1f70 -Author: Simon Wilkinson -Date: Wed Mar 16 15:37:47 2011 +0000 - - util: Remove itc.h - - The itc.h header is never installed, or used in the OpenAFS tree. - Remove it. - - Change-Id: Ia01f0f5353bc019c3fd0c311b2c7cfc157dca2dd - Reviewed-on: http://gerrit.openafs.org/4247 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5df51a82947f0ff60d57f551c5faa136ad7f6e0f -Author: Andrew Deason -Date: Thu Mar 17 10:43:23 2011 -0500 - - viced: Actually print client CPS - - Client CPS was not getting output on SIGXCPU like the rest of the - client information, since the conditional in the CPS loop was never - true. Fix this so we traverse the CPS entries correctly. - - Change-Id: Ic3434000fbf90e96665779f21811bffcc3a19b45 - Reviewed-on: http://gerrit.openafs.org/4256 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b9bf4e02bbe8b6e552bc485701e56702856ffad9 -Author: Simon Wilkinson -Date: Wed Mar 16 15:34:54 2011 +0000 - - util: Remove isathing - - isathing.c only provided one function - util_isint, whose behaviour - can be far better provided by careful application of strtol. - Simplify our world a little by removing the file. - - Change-Id: I6a8460daaec092d4916d4a46e04df01d0dfc7ccc - Reviewed-on: http://gerrit.openafs.org/4246 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d9f11cd85bd533df21be792b11fc21385c210b6b -Author: Simon Wilkinson -Date: Wed Mar 16 15:31:40 2011 +0000 - - kauth: Use strtol for integer argument handling - - Use strtol, rather than a combination of util_isint and atoi to - handle integer arguments. This is much cleaner, far more portable, - and removes a dependency on an internal library function that this - file is the only user of. - - Change-Id: I3140a396ae3ec32e4498f62769f27c76f03001d9 - Reviewed-on: http://gerrit.openafs.org/4245 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c4744cc699be19fffb49f39f469e91ef6aac6585 -Author: Derrick Brashear -Date: Thu Mar 17 01:25:35 2011 -0400 - - osx: decode-panic should work in add-kext only land - - in 64 bit 10.6, you need add-kext (not add-symbol-file) - to decode a panic. deal accordingly - - Change-Id: I40f3c40150b98be2d80881ee56f8f8e33c92bc0f - Reviewed-on: http://gerrit.openafs.org/4255 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0016e013aa012e179e7ac4c59b19a0ee1cbd0840 -Author: Derrick Brashear -Date: Thu Mar 17 00:11:43 2011 -0400 - - osx: prefs pane should properly detect version - - we use "new" afs conf after 1.4.6 or 1.5.36. detect correctly - - Change-Id: I7ae0005f7f1ca3a3164d12fab38e6d4da5c85168 - Reviewed-on: http://gerrit.openafs.org/4254 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ffdc040d560a461abd59602ad62ba2fbf150227f -Author: Simon Wilkinson -Date: Tue Mar 15 21:48:43 2011 +0000 - - Throw the compiler a bone ... - - ... failing that, a semi colon. - - Change-Id: I39cf03f16f5faaf32e8335ea6453e76b0d1c67ef - Reviewed-on: http://gerrit.openafs.org/4234 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4a72ebfe324874dd405d18561baf5eaacb007950 -Author: Derrick Brashear -Date: Mon Mar 14 23:36:45 2011 -0400 - - macos: dont want bind 8 compat on leopard - - we removed it for i386, kill it for ppc also. - - Change-Id: I1c91a138ecbec9c25a9734f5a5bcdc1d08469404 - Reviewed-on: http://gerrit.openafs.org/4229 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 4e2074b7bff9371809d13c56fd6725fc4df99180 -Author: Jeffrey Altman -Date: Mon Mar 14 22:55:26 2011 -0400 - - Windows: 1.6pre3 changes - - Change-Id: I87b1e29f26e1785fe7ab09c3641d7ad4281f9be8 - Reviewed-on: http://gerrit.openafs.org/4227 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3d92852ba99bc7591515992dfea3436d93c23b85 -Author: Simon Wilkinson -Date: Tue Mar 15 00:45:45 2011 +0000 - - Linux: Fix return codes from setpag - - Linux is a real stickler when it comes to error codes. Functions - which return positive error codes into the kernel tend to have - unfortunate effects. Because all AFS errors tend to be positive, - most of our kernel entry points negate errors before passing them - back to their caller. - - This causes problems when internal functions themselves return - negative error codes. This was the case with the keyring functions, - which ended up returning a negative code to setpag(), this handed - that code ultimately up to the ioctl handler, which negated it (so - turning it positive) before throwing it up to the kernel. - - The kernel sees this positive value as being a successful return, - and so passes it direct to userland, rather than assigning it to - errno. This led to the setpag() userspace function never being - aware of keyring errors that had occurred in the kernel. - - Fix all this by making sure that all errors from the keyring code - are made positive before being passed upwards in the kernel module. - - Change-Id: I31eeaf9a4819dc47052ea0ff3070bdaaf22f1f66 - Reviewed-on: http://gerrit.openafs.org/4223 - Tested-by: Marc Dionne - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ff2933a122ddf9421ebcacdc7e4ec5f44333f894 -Author: Simon Wilkinson -Date: Tue Mar 15 00:06:19 2011 +0000 - - Revert "Linux: normalize error return for emulated syscalls" - - This reverts commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb. - - Sadly, this change fixed setpag(), but broke all of the pioctls. The - problem is actually a little more nuanced than we at first thought. - What's happening is yet another case of Linux's special handling of - negative return values. When an ioctl handler returns a negative - return code to the kernel, it does errno = -code, and sets the - return code to -1. If you pass it a postive return code, however, - it just returns that straight to the application. - - The pioctl code gets this right. However, the setpag code doesn't, - and so tries to return postive values, which is why ioctl appears - to be returning the error code in the return value, not in the - errno. - - Change-Id: I192ff45ad15b72a493a3c9c98546b026761dd95f - Reviewed-on: http://gerrit.openafs.org/4222 - Tested-by: BuildBot - Tested-by: Marc Dionne - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit c78694fdb76e9606a06cf834b80cbba827b8ff2b -Author: Simon Wilkinson -Date: Sun Mar 13 17:13:49 2011 +0000 - - auth: Use the UserListFileName function more - - The function UserListFileName exists to abstract the process of - producing a full pathname for the userlist. Modify the rest of - userok.c so that it uses it. - - Change-Id: Iac90e159dd8dc8344943e424615bf2aba1b31db3 - Reviewed-on: http://gerrit.openafs.org/4215 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a1a3ac4024b53ae513b782db0dc968a34707874b -Author: Simon Wilkinson -Date: Sun Mar 13 16:54:34 2011 +0000 - - auth: Refactor CellServDB path creation - - Move all of the duplicated code that does CellServDB path creation - into a common function. Use asprintf(), rather than strcompose in - this function so we're using fewer fixed length buffers. - - Change-Id: I47ce92b97674bb09b5804ff5631fa47a21800902 - Reviewed-on: http://gerrit.openafs.org/4214 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 13e622c939928fcd35433aa4843c09ab44a7ae79 -Author: Simon Wilkinson -Date: Sun Mar 13 21:47:43 2011 +0000 - - roken: Export rk_asprintf on Windows - - Add rk_asprintf to the Windows roken export lists - - Change-Id: Ie12c245aa2bf45fcbcfa5474e1dfaf3c32036bb4 - Reviewed-on: http://gerrit.openafs.org/4216 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba67ef96bb5216ecb03d656af22b3b7f7542efef -Author: Michael Meffie -Date: Mon Mar 14 10:15:35 2011 -0400 - - readme typos - - Fix two typos in README. - - Change-Id: Icd03d015d5d08a26640e12eceb8185fa36087753 - Reviewed-on: http://gerrit.openafs.org/4218 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1eb570996485023ce902393a251c5f4e92229d10 -Author: Simon Wilkinson -Date: Sat Mar 5 23:09:18 2011 +0000 - - auth: Rework afsconf_UpToDate to use CellServDB - - Rework the afsconf_UpToDate check so that it uses the modifcation of - the CellServDB, and not the KeyFile to determine whether the - configuration information has been changed under us or not. afsconf - defines the CellServDB as being the single sentinel for a config - directory being changed, and our tools are careful to always touch - the CellServDB when updating anything else there. - - Also, rework the _afsconf_Check() code so that it uses afsconf_UpToDate, - rather than including this logic twice. - - Change-Id: I8ef5f67afbb5982bb25e12407ea5dc5dc1512840 - Reviewed-on: http://gerrit.openafs.org/4203 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 926755bf222cfaf39a4e4437c468a7a9030fe7a1 -Author: Simon Wilkinson -Date: Sun Mar 13 15:47:36 2011 +0000 - - tests: Fix KeyFile test so it works from harness - - The auth/keys test tries to find a file that's distributed as part - of the test suite. However, it currently only looks in the CWD to - find it. Modify the test so that if it's run from the test harness, - it will use the harnesses SOURCE environment variable to locate the - KeyFile - - Change-Id: I93e16a01eae79b38ab01c81a57d2a47c28479b27 - Reviewed-on: http://gerrit.openafs.org/4213 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bc16fe0a43deb9309521af42c5db89ebbd87192e -Author: Simon Wilkinson -Date: Sun Mar 13 15:45:37 2011 +0000 - - tests: Fix the authcon test to avoid pthread errors - - Fix the authcon test so that it avoids pthread errors by - initialising rx before calling into any of the rxkad routines. - - Change-Id: I175203fd91660e27a8b468e6f1c6189f32b22259 - Reviewed-on: http://gerrit.openafs.org/4212 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4953ce8070497bc494e624d72271bcbc5dc1dbe7 -Author: Simon Wilkinson -Date: Sun Mar 13 14:45:04 2011 +0000 - - pt_util: Initialise empty database correctly - - Commit dc8f18d6f5003712bc9ef989363137a84953df07 broke pt_util's - initialisation of empty databases. This is because Initdb was changed - to call Initdb_check through the ubik_CheckCache wrapper. However, that - wrapper was defined as a no-op in pt_util's ubik-shim. - - Modify pt_util's ubik_CheckCache so that it always calls into the - wrapper routine - this mimics the old behaviour. - - Add a trival test for pt_util - check that we can build the database, - using the example from the manpage, and then that the built database - matches what we expect. - - Change-Id: I41aa9f6a531662230ed625cc3b1307016ef4107f - Reviewed-on: http://gerrit.openafs.org/4211 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 83f0baef29fd4962f5cb8ac93fb332af87433a4a -Author: Simon Wilkinson -Date: Sun Mar 13 12:56:57 2011 +0000 - - DOC: pt_util now outputs ntohl'd epoch and version - - Commit 87e959e87df52e026ffcb2de8ecfcbf4889f7bd8 fixed pt_util so - that the epoch and version is correctly byte-swapped on little - endian systems. - - Remove the warning about this from the manpage as it is no longer - relevant. - - Change-Id: Ic54223b0a8812825a1b7a8d2b8ee1b0c51ecea05 - Reviewed-on: http://gerrit.openafs.org/4210 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f6f8158ada81a50961699de68f6f2348fcc4a955 -Author: Simon Wilkinson -Date: Mon Mar 7 17:23:51 2011 +0000 - - crypto: Add krb5_crypto_fx_cf2 to our prototypes - - Admit to having the krb5_crypto_fx_cf2 function in the kernel RFC3961 - implementation - we're going to use it for for key combining - - Change-Id: Ibb11a4d7467bc18eb222d5f8902dc4181b30e92c - Reviewed-on: http://gerrit.openafs.org/4204 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 47b23080a203abd0d9400c29407a9a3ce9845c54 -Author: Simon Wilkinson -Date: Fri Mar 4 22:57:15 2011 +0000 - - ubik: Allow servers to have more than 3 seclayers - - ubik has traditionally used the afsconf_ServerAuth function to - fill in a single field in a pre-allocated list of security classes. - This meant that we could never have a class with an index higher - than 2 (rxkad). Setting the function to call, and the rock to that - function was also accomplished by playing with global variables. - - Rework this so that a new function is used to set the security - classes, which can allocate an arbitrary sized array of classes. - Move the setting of this function, and of the authentication check - function into ubik_SetServerSecurityProcs() - - Change-Id: I7cde73b05db4d51403469e2bead1d99d5ae88043 - Reviewed-on: http://gerrit.openafs.org/4202 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7a0bbff4a61b1709cccc643ec8aa4440d2b4a936 -Author: Simon Wilkinson -Date: Fri Mar 4 22:37:10 2011 +0000 - - afsconf: Rework security flags - - BuildServerSecurityObjects takes a set of flags, which makes it - hard to use it as a callback function. Rework this so that the - security flags are part of the afsconf directory structure, and - so BuildServerSecurityObjects only takes a rock, and its return - parameters. - - Update all of the callers for this new function, and add tests - for it to the test suite. - - Change-Id: I48219ed199d128c6aec3765ca425bda9e464b937 - Reviewed-on: http://gerrit.openafs.org/4201 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 419fbfb4536242bbb6321d6e1c468ca939bf7009 -Author: Simon Wilkinson -Date: Fri Mar 4 12:12:24 2011 +0000 - - ubik: Remove dependency on auth - - When commit 8a09c220f4c5f881ea45be585b07b793038924d5 added support - for token error recovery to ubik, it introduced a dependency on - afsconf. This breaks the abstraction layer that had been in place, by - requiring that the SecurityRock be an afsconf_dir (if you use a - different rock, ubik will segfault) - - This change reinstates the abstraction layer, by requiring Ubik - users who want token error checking to specify a procedure that can - be used to check whether tokens are up to date. Instead of yet - another global variable, we replace the existing CRXSecurity* - variables with a single function that can be used to set security proc, - token checking proc, and rock. - - Change-Id: I9036cf712f02610ed2e906602d3416436f69e98b - Reviewed-on: http://gerrit.openafs.org/4200 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7e68671f6acf66b568672d94b37ef456b1de8813 -Author: Chas Williams (CONTRACTOR) -Date: Fri Mar 11 13:33:50 2011 -0500 - - solaris: fix typo in the solaris 11 startup script - - /etc/devlink.tab not /dev/devlink.tab - - Change-Id: Ib562156861c2eab86504d6a37e18bc9af92a007c - Reviewed-on: http://gerrit.openafs.org/4206 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0884e9d0fddf2be81abf6468209048331efa8a1e -Author: Andrew Deason -Date: Thu Mar 10 14:55:50 2011 -0600 - - salvager: Do not abort on large volume IDs - - The salvager was parsing volume IDs just using atoi() and checking if - the result was negative. Since the result is a signed int, this fails - on any volume ID larger than 2^31-1. Change the parser to use strtoul - instead of atoi, and change the check. - - While we're here, make a similar change to the DAFS salvageserver, - too. - - Change-Id: Icc3377ee507150ff0c53b5bbff6172cb72bca703 - Reviewed-on: http://gerrit.openafs.org/4196 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 433efb44edd2b9b6057ec2702671fb0848019016 -Author: Simon Wilkinson -Date: Sun Mar 6 17:22:14 2011 +0000 - - Don't use KERN_OPTMZ or KERN_DBG on Linux 2.6 - - With 2.6 Linux kernels, we just use the standard Kernel build system. - As this system pays no attention to our settings of KERN_OPTMZ or - KERN_DBG, don't bother setting values for these for 2.6 kernels. - - Change-Id: Ibb2302d63ecf3e32a24321028df6a9aad45769fc - Reviewed-on: http://gerrit.openafs.org/4173 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a23b83391e90db41bf71dd81b9062e80fd22bec1 -Author: Simon Wilkinson -Date: Sun Mar 6 17:15:05 2011 +0000 - - Remove -D_LARGEFILE64_SOURCE on Linux - - Since 129b6954a6f491c6f3c3e417055bdc68d4726408, we've defined - GNU_SOURCE on all Linux builds. This definition automatically sets - _LARGEFILE64_SOURCE for us, so we don't need to explicitly set it - in the platform specific configuration. - - Change-Id: I3d60a1eacbb045cdac283d9fe38261154740ef1b - Reviewed-on: http://gerrit.openafs.org/4172 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 10da36ff0d903afbceef633ae5ce46b6c12ca006 -Author: Simon Wilkinson -Date: Thu Mar 10 00:20:26 2011 +0000 - - Remove redundant entries from MT_CFLAGS - - Don't include XCFLAGS in MT_CFLAGS, as this is now done elsewhere in - the build process. Don't multiply specify -DAFS_PTHREAD_ENV, as all - pthreaded build rules must defined this, and just doing so in one - place is much cleaner. - - Change-Id: I2cc1f88119e9ad32151cb7575222c2d2c008005f - Reviewed-on: http://gerrit.openafs.org/4190 - Tested-by: BuildBot - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 57bc6aee44da919a080f8f6ca1e5561f24df9f92 -Author: Simon Wilkinson -Date: Thu Mar 10 10:41:57 2011 +0000 - - hcrypto: don't redefine key_type - - Linux's keyring code uses "struct key_type", which is also used - internally by the hcrypto code. As, on some Linux variants, - afs/sysincludes.h ends up including the keyring definitions, we - need to rename our internal key_type definition to something - that doesn't clash. - - Change-Id: Ibfb968db0db3e80d877881fc6da4b34428ee382f - Reviewed-on: http://gerrit.openafs.org/4192 - Tested-by: BuildBot - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 037acc5ac01884a8ad7439f228284e07d1972d63 -Author: Simon Wilkinson -Date: Thu Mar 10 09:43:35 2011 +0000 - - Revert "hcrypto: avoid key_type redefinition" - - This reverts commit 81487fcf3ae93d2efea6f0935a0493680b5d3d11. - - This change didn't receive sufficient review before it was pushed. - It breaks builds on IRIX, and produces kernel modules that don't - load on a number of other Linux-based systems. - - A correct fix for the underlying problem (that both Linux and - hcrypto want to use the "struct key_type" identifier) will follow - this patch. - - Change-Id: Ib215f9d8adde75180a86f985052c77600a294895 - Reviewed-on: http://gerrit.openafs.org/4191 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3105c7ff0b4ae9c372dc4c1424f63b7f259dcda1 -Author: Derrick Brashear -Date: Thu Feb 17 00:04:06 2011 -0500 - - linux: defer vcache evictions when sleep would be needed - - because we're only willing to loop 100 times worth of "sleeps", - on a machine with heavy vcache demands we can end up just growing - the list huge. in the first pass, just clean up as many entries which - do not require sleeping as needed. if we need more entries, make - a second pass. - - Change-Id: Ie5af42e7c0287d7a093f9a5884c10813dbb8cb11 - Reviewed-on: http://gerrit.openafs.org/3971 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 75c2f96364d598ec0c134cb6b366ce067b8b7f49 -Author: Jeffrey Altman -Date: Wed Mar 9 07:51:02 2011 -0500 - - Windows: handle rx busy call channel - - Register an error code for rx busy call channel detection. - Force a retry whenever CM_RX_BUSY_CALL_CHANNEL is received - by cm_Analyze(). Log the event to both the internal trace - log and the Windows Event Log along with the server address. - - Change-Id: I196fb99d38bb89f57f296fd1b60d2a7f17fec80c - Reviewed-on: http://gerrit.openafs.org/4183 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit eddcee3ad518dff9fbfda790640c5bfd2e97ef5a -Author: Andrew Deason -Date: Mon Mar 7 11:08:26 2011 -0600 - - RX: Avoid timing out non-kernel busy channels - - When we encounter a "busy" call channel (indicated by receiving - RX_PACKET_TYPE_BUSY packets), we can error out a call with - RX_CALL_TIMEOUT to try and get the application code to retry the call. - However, many RX applications are not aware of this, and will just - fail with an error upon receiving a single busy packet. - - So instead, make this behavior optional, and only do it if the - application tells us what specific error it expects to receive when a - busy call channel is detected. Enable this behavior for the Unix cache - manager, as it can cope with receiving an RX_CALL_TIMEOUT error in - this scenario. - - Change-Id: I2fe03c0ff81576da3b2ce2b4d27a16d5631c073e - Reviewed-on: http://gerrit.openafs.org/4159 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b13a5a527d87c7b9a73fd92eb7633e1796e3337f -Author: Andrew Deason -Date: Tue Feb 15 21:23:06 2011 -0600 - - aklog: Do not include XCFLAGS twice - - In aklog, we set MODULE_CFLAGS to XCFLAGS and some other things. - However, when using AFS_LDRULE or AFS_CCRULE, CFLAGS will contain - MT_CFLAGS, which contains XCFLAGS. The end result is that the contents - of XCFLAGS appear twice in the compilation invocation, breaking some - platforms like HP-UX where the order of XCFLAGS relative to other - things is a bit fragile. - - Fix this by removing XCFLAGS from the MODULE_CFLAGS definition. - - Change-Id: I5eef9764d758885a995269edc5bef91ff06db8b5 - Reviewed-on: http://gerrit.openafs.org/3960 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5247fa38a4faebfdffba178ca01e5b419f034d5d -Author: Jeffrey Altman -Date: Sat Mar 5 14:34:05 2011 -0500 - - vol: FILE* to FD_t except logging and special ops - - Replace all use of FILE* with FD_t. Switch from afs_open to OS_OPEN. - In the process: - - afs_flush and afs_fsync -> OS_SYNC - afs_stat which is used to obtain the file size -> OS_SIZE - afs_close or close -> OS_CLOSE - - Etc. While cleaning up, use afs_stat_st macro when declaring - a struct stat because the structure and function are not guaranteed - to be the same name on all platforms. - - These changes permit Windows to build the vol package without - the use of the C runtime library. - - Change-Id: I9e0a7fdbeffa76c3c87aefce87ca1af495657a2f - Reviewed-on: http://gerrit.openafs.org/4149 - Reviewed-by: Rod Widdowson - Tested-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8b082c05ba769ef8eee840985ebac290022cc0ba -Author: Jeffrey Altman -Date: Sat Mar 5 14:25:34 2011 -0500 - - vol: consolide afs_xxxx macros in ihandle.h - - Various definitions of afs_open, afs_stat, etc. were - scattered across the .c sources within the vol package. - Consolidate them all in ihandle.h which is included in - all of the files and contains the OS_xxxx macros which - will substitute for many afs_xxxx calls in future patchsets. - - Change-Id: I72363332fd5f1d330e225df51c68d4c113b59f3b - Reviewed-on: http://gerrit.openafs.org/4147 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 67f01c2553067a4b7592a34917ce5a5148b67142 -Author: Simon Wilkinson -Date: Fri Feb 11 11:53:26 2011 +0000 - - Clarify the role of XCFLAGS and simplify MT_CFLAGS - - Tidy up the build system by making it clear that XCFLAGS is included - for every build type. Also clean up MT_CFLAGS so that it doesn't - statically include XCFLAGS, and remove the common AFS_PTHREAD_ENV - define that's needed by every architecture. - - This fixes the problem that we had where directories built with the - pthread or shared build rules weren't being compiled with checking - enabled, as well as hopefully making the tangle of defines easier to - understand. - - Change-Id: Ied6dd316147ee88dc7814f8937a204ef32c6c5e0 - Reviewed-on: http://gerrit.openafs.org/4171 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ffad1001532f7681e5d77c5d6030625f15f281a7 -Author: Marc Dionne -Date: Mon Mar 7 15:31:53 2011 -0500 - - libadmin: minor warning fix - - have_quota is set but never used. Remove it. - - Change-Id: I2428ec274a3e3ad792608ae3a6d0b1af7985c6e8 - Reviewed-on: http://gerrit.openafs.org/4177 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 81487fcf3ae93d2efea6f0935a0493680b5d3d11 -Author: Derrick Brashear -Date: Mon Mar 7 21:32:53 2011 -0500 - - hcrypto: avoid key_type redefinition - - struct key_type is redefined in crypto.h; originally defined in - ./linux/security.h from ../afs/sysincludes.h from hcrypto/kernel/config.h - - Change-Id: Ib2a4244516c6c0947cb0959bdf9b06fb5a023a28 - Reviewed-on: http://gerrit.openafs.org/4178 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit d69da816c6e961ef5e22df289ad5667cd8568b4c -Author: Jeffrey Altman -Date: Sat Mar 5 14:29:38 2011 -0500 - - vol: remove warning on use of DFlushVolume - - Include the afs/dir.h header on Windows to avoid - warnings caused by the missing prototype. - - Change-Id: I841a330bb13c84076b1453befb1d8469ee64b82a - Reviewed-on: http://gerrit.openafs.org/4148 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 2a17517ee79dbea176464bf6e0ee0617df1aae6b -Author: Simon Wilkinson -Date: Sun Mar 6 18:18:07 2011 +0000 - - crypto: Avoid variadic macros - - The IRIX compiler doesn't seem to like variadic macros, so avoid - using them within the RFC3961 kernel crypto implementation - - Change-Id: I4bfddb01eb86a96e981c148e26281cc73130f924 - Reviewed-on: http://gerrit.openafs.org/4154 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit ad63745f357e377c613881fa3470b85d4d36fe36 -Author: Marc Dionne -Date: Sat Jan 29 12:48:02 2011 -0500 - - ubik: cleanup DB lock usage in SDISK_SendFile - - Some failure paths can return from SDISK_SendFile with the - database lock still held. Other failure paths will cause - setlabel to be called without holding the lock. - - Rework the failure paths so we always release the DB lock before - returning, and always hold it when calling setlabel. - - Change-Id: I4cf98ecc9874110273e2cb4f94c37bdb9b43f0a2 - Reviewed-on: http://gerrit.openafs.org/4151 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1ff74829f13c127abd5cd8e70f18bcfd33f240ff -Author: Marc Dionne -Date: Sat Mar 5 11:40:41 2011 -0500 - - ubik: refactor pthread creation code - - Refactor thread creation into a new ubik_thread_create function. - Eliminates some code duplication. - - No functional changes. - - Change-Id: I7e8c84e138db5503eab109336734c348da98fc04 - Reviewed-on: http://gerrit.openafs.org/4146 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit cb0264c80f58b7f788ff30c1aeb41c33e8104f6b -Author: Marc Dionne -Date: Sat Mar 5 11:19:10 2011 -0500 - - ubik: remove unused code - - Remove some unused code and associated comment. rx_Init does - belong earlier in the sequence. - - Change-Id: I9db399b8ae3343e0c2c14f64150d55a2411899c3 - Reviewed-on: http://gerrit.openafs.org/4145 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 7caf4143e2e2b05c074399dff5ea28ffb16fb29d -Author: Marc Dionne -Date: Wed Jan 19 21:57:58 2011 -0500 - - ubik: Rearrange some initialization code - - Some basic initialization should precede creating the RX - services. - - Change-Id: Ic88d639be12ee8edd2ec7b61c2a5df435b59f663 - Reviewed-on: http://gerrit.openafs.org/4144 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit fc26ba30c3011f462f623b594489049c1846d279 -Author: Marc Dionne -Date: Sat Jan 29 11:14:50 2011 -0500 - - ubik: make uphys_close static - - This function is not used outside of phys.c, so make it private. - - Change-Id: Ie84864cd8a2c0f423af604e45cd406acecf05957 - Reviewed-on: http://gerrit.openafs.org/4143 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit 338dcf5a55f7af8b8eaa3339ba36347fd2cd241f -Author: Marc Dionne -Date: Sat Mar 5 10:27:36 2011 -0500 - - ubik: remove successive Quorum_EndIO, Quorum_StartIO calls - - Refactoring brought these 2 calls together. - They can be optimized away. - - Change-Id: I22b71bd8e63cdd956a0e5420ae5247eec7f3a6a2 - Reviewed-on: http://gerrit.openafs.org/4142 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - -commit bbf406da30428a22b4a6d28a7d36dbb786013cfa -Author: Ryan C. Underwood -Date: Sun Mar 6 10:40:53 2011 +0000 - - Fix positional I/O support for largefiles - - Commit 335ccb40 introduced positional I/O support for the fileserver, - but didn't handle the largefile versions of preadv and pwritev. As a - result, the fileserver cannot handle files of more than 2Gb in size. - - Fix this by using preadv64 and pwritev64 where O_LARGEFILE is defined, - in the same way as for all other I/O primitives. - - Change-Id: Ia9f6411d0c8115176e1ec42dd9f72c96ba939bab - Reviewed-by: Simon Wilkinson - Reviewed-on: http://gerrit.openafs.org/4152 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 98a0c2f47b8641e3e31ed7d2f7d84c2eb484ef51 -Author: Simon Wilkinson -Date: Sun Mar 6 16:06:36 2011 +0000 - - Disable vectored positional IO if no 64bit support - - In order to support vectored positional I/O, and large files, we - need there to be an implementation of preadv64 and pwritev64. If - this isn't present, then just disable HAVE_PIOV. - - Change-Id: I78b1e09f8a836534f49594300b4f58d661eebd46 - Reviewed-on: http://gerrit.openafs.org/4153 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 225e5b77ff65e96b4be1a6be97afd65a2abefc12 -Author: Jeffrey Altman -Date: Sat Mar 5 09:58:17 2011 -0500 - - volser: warning removal - - remove assigning size_t to int warnings when size_t is larger - by declaring appropriate variables as size_t. - - remove signed vs unsigned warnings - - Change-Id: I998d7b0aa75bc03a6fa872a3628c43ebe08b4f99 - Reviewed-on: http://gerrit.openafs.org/4137 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d6a627d1e5e90c54c14bb0e915a32483645fa9d4 -Author: Marc Dionne -Date: Wed Jan 19 21:52:04 2011 -0500 - - ubik: add lock initialization function - - Add a new lock initialization function and call it from the - initialization sequence. Users of the locks can assume that - they are already initialized. - - Change-Id: I8e86f460cb705c8de12bac9367358c93f1423591 - Reviewed-on: http://gerrit.openafs.org/4141 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba80a8a88b0f934b67171faefb75d0757b1a7421 -Author: Marc Dionne -Date: Wed Jan 19 21:39:44 2011 -0500 - - ubik: rename DInit, call from initialization sequence - - Rename DInit to udisk_Init, and call it from the general - initialization sequence. udisk_begin can now assume that this - has been done. - - Change-Id: I88f38b7a846b635e0c42f42cdf8c9005bb4bf62d - Reviewed-on: http://gerrit.openafs.org/4140 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit a0d56ceb94a0362d79f2db6d6258bd6d27c582cb -Author: Jeffrey Altman -Date: Sat Mar 5 18:34:57 2011 -0500 - - ubik: build all files for pthread version - - Build all files for pthreads from the ubik directory. - No longer require src/tubik/NTMakefile. - Add missing library to tbutc linkage requirements. - - Change-Id: If517ce528e5dde9b600824897e1304949b2c2719 - Reviewed-on: http://gerrit.openafs.org/4150 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 03651201ef2b2e3745ff3cf36af41f3ea27154b1 -Author: Jeffrey Altman -Date: Sat Mar 5 10:06:50 2011 -0500 - - volser: restore diskPartition[64] lock_fd comment - - The diskPartition[64] wire structures contain an int to represent - the file descriptor. This field is too small to represent the - Windows file descriptor which is a 64-bit HANDLE. A comment had - been added by Rod Widdowson. Restore it. - - Change-Id: Icf513060802e7f057f6ca735afb26d22edbf6446 - Reviewed-on: http://gerrit.openafs.org/4138 - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 06c3c3712c2525f26d1480ef09800b9270a3d01f -Author: Jeffrey Altman -Date: Sat Mar 5 09:38:08 2011 -0500 - - volser: cleanup volser_internal.h - - remove yesprompt() prototype for function that no longer exists - - make dump_sig_handler(), sortVolumes(), VolumeExists(), - CheckVldbRWBK(), CheckVldbRO(), and CheckVldb() static within - vsprocs.c - - Change-Id: I2130ac0d2f0dbfe6bf3315450ba342b6e9d51b6b - Reviewed-on: http://gerrit.openafs.org/4136 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 5b614c6cb0ccae122cc82edabdde9b3eb1bddf19 -Author: Marc Dionne -Date: Wed Jan 19 21:25:21 2011 -0500 - - ubik: remove unused UBIK_PAUSE code - - This code has never been enabled, and is apparently not needed, - so remove it to simplify maintenance and future changes. - - Change-Id: I7ff589e6bf1934aa0ae378ce550c8b69c508d171 - Reviewed-on: http://gerrit.openafs.org/4139 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4bd0f17e6d598d4d98ed80d5d1f95bc4b2a7e622 -Author: Jeffrey Altman -Date: Sat Mar 5 09:21:15 2011 -0500 - - volser: make private lockproc routines private - - FindIndex and SetAValue are only used within lockprocs.c. - Make them static and remove them from lockprocs_prototypes.h - - Change-Id: I09774fdc2368941191e17d9ce1fc13a4ff5bec42 - Reviewed-on: http://gerrit.openafs.org/4135 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4b4534819209468a007a991e8f73e1c0a4ac0089 -Author: Simon Wilkinson -Date: Fri Mar 4 10:29:45 2011 +0000 - - Unix CM: Remove redefinition of "inline" - - discon.h contained a redefintion of "inline" for non-gcc compilers - that's a left over from when it used "static inline", rather than - "static_inline". - - Remove the redefinition, as it's now both uneccessary, and confusing. - - Change-Id: I2d173385f4c3fe4b707cf86c76984b283714ced7 - Reviewed-on: http://gerrit.openafs.org/4129 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9e539fbea456cdb416a487364d67ab54da1249a7 -Author: Jeffrey Altman -Date: Sat Mar 5 00:40:13 2011 -0500 - - Revert "Convert from using nvldbentry to uvldbentry" - - This reverts commit 4f1efdc8b73ed734197925766530d033c6f9794a. - - The conversion to uvldbentry produced too many negative side - effects. Revisit support for multi-homed servers when vos - is executed from a machine that can only see a random subset - of the addresses assigned to the server in the future. - - Change-Id: Idec5f1a3126266609edb3f657c34c160086ecbe7 - Reviewed-on: http://gerrit.openafs.org/4131 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ca0ae15d621dbd90339408a26715a107d1f69f23 -Author: Jeffrey Altman -Date: Fri Mar 4 23:40:31 2011 -0500 - - Revert "modify FindIndex to compare uuids" - - This reverts commit 9aad0979e9ff0601c249eb66a6ecfb3e76264702. - - This is being pulled as the entire nvldbentry to uvldbentry - conversion is being reverted. - - Change-Id: Ib226c593b4c1db345758cd8b345a319e6107d3ee - Reviewed-on: http://gerrit.openafs.org/4130 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 64d52938ee26e160a6e2cd64253df096eb5d0c1e -Author: Andrew Deason -Date: Fri Mar 4 11:35:06 2011 -0600 - - viced: Set HWHO_INPROGRESS in CheckHost_r - - When we are probing a host in CheckHost_r, set the HWHO_INPROGRESS - flag on the host, so other threads know that the host is locked while - we are waiting for a probe response, and the h_threadquota mechanism - can work correctly. - - Change-Id: I37e3b37ea98d8d42578bf85a3b5aaaff4c4a7331 - Reviewed-on: http://gerrit.openafs.org/4126 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0d1335ad7104a6fa67525b84d70a33e7bb1b6c6a -Author: Jeffrey Altman -Date: Fri Mar 4 11:04:40 2011 -0500 - - Windows: mp target trailing dot not part vol name - - Instead of passing "root.cell." into cm_FreelanceAddMount - pass in "root.cell" and add the trailing dot within the function. - - Change-Id: I5d27c6c34a3197a451491a0bbdf6c854394ce572 - Reviewed-on: http://gerrit.openafs.org/4124 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit dec0ba1cfaf7dd6a4ed23a2f656bd6272600d51c -Author: Jeffrey Altman -Date: Wed Mar 2 14:06:48 2011 -0500 - - Windows: avoid use of cm_buf for MPs and Symlinks - - In the Windows cache manager, the symlink and mount point - target strings are stored in the cm_scache_t mountPointString - and are not accessed out of the cm_buf_t for offset zero - except when populating the mountPointString. As a result, - every mountpoint and symlink object that is read into the cache - wastes a cm_buf_t which could otherwise be used to store - additional file or directory data. - - Add cm_GetData() function which is similar to cm_GetBuffer() - except that it reads data from the file server into an arbitray - memory location instead of a cm_buf_t object. Use cm_GetData() - to read directly into the cm_scache_t object. - - In addition, further optimize the communication with the - file server by using cm_GetData() to perform a RXAFS_FetchData - RPC to obtain both the target string and the status information - instead of RXAFS_FetchStatus which only returns the status - information in cases where there are no outstanding callback - registrations on the object. RXAFS_FetchStatus is still used - when a callback is active in order to obtain access permissions - for new users. - - Change-Id: I4d797479624f2e29121b16d3aa381296a57aeaa6 - Reviewed-on: http://gerrit.openafs.org/4111 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 974e95302a312c03cd735c0fdaa67fb02d254e26 -Author: Andrew Deason -Date: Fri Feb 25 16:58:30 2011 -0600 - - vol: Check for blank vnode in VAllocVnode_r - - When we alloc a vnode in VAllocVnode_r, we look up that vnode in the - vnode cache, to see if a vnode struct already exists for it. If it - doesn't, we check the vnode index to ensure that the vnode actually is - not in use (among other things). However, we do not perform the same - check for a vnode already in the cache. Add this check, to make sure - that we don't allocate an already-used vnode number, even if the - bitmap is screwed up. - - Change-Id: I63b3aa752d359a2ff8282b193e658d74d6b9719c - Reviewed-on: http://gerrit.openafs.org/4060 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit b41575d176c2d485d55aed8780bfab9db4b7587d -Author: Andrew Deason -Date: Fri Feb 25 16:01:32 2011 -0600 - - DAFS: VnLock after VnWaitQuiescent in VAllocVnode - - In VAllocVnode, we write-lock the newly-allocated vnode. In DAFS, - however, we need to VnWaitQuiescent_r before VnLock'ing, since VnLock - in DAFS just sets the writer tid/pid. So, in VAllocVnode, move the - VnLock call to after we wait for quiescence, so we don't stomp over - the vnode when someone else has it write-locked. - - Change-Id: Ib234634dba9d09eea877bc91660ea3a8a4e2b746 - Reviewed-on: http://gerrit.openafs.org/4059 - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Reviewed-by: Derrick Brashear - -commit 08ffe3e81d875b58ae5fe4c5733845d5132913a0 -Author: Andrew Deason -Date: Fri Feb 25 14:43:09 2011 -0600 - - DAFS: Wait for exclusive ops in VFreeBitMapEntry_r - - VAllocBitmapEntry_r puts the volume in an exclusive state and drops - VOL_LOCK when traversing the volume bitmap and updating the bitmap. - So, VFreeBitMapEntry_r must ensure the volume is not in an exclusive - state, to make sure that VAllocBitmapEntry_r is not updating the - bitmap at the same time. Do so, by waiting for the volume to come out - of exclusive state at the beginning of VFreeBitMapEntry_r. - - Change-Id: I5fdd344e4d9d12451fd65a767fa5672c8be70a39 - Reviewed-on: http://gerrit.openafs.org/4058 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a862d2df93fd4e8c8c7a0b8eebe9e59b75f54072 -Author: Andrew Deason -Date: Wed Mar 2 14:11:43 2011 -0600 - - vol-salvage: VOL_DONE deleted volumes - - When the salvager deletes a volume (because it is an invalid RO clone, - or because there is no data associated with the volume), we should - inform the fileserver that the volume is gone. Otherwise, the volume - in the fileserver can get put into an error state (in DAFS) when it - tries to attach the volume, preventing anything from creating or using - that volume. - - Change-Id: Iae7763b752a2bab7a529dd327d034fdb9e18664a - Reviewed-on: http://gerrit.openafs.org/4118 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 40049c56791f3488640ae65c5dc5c4d6503375bd -Author: Andrew Deason -Date: Wed Mar 2 15:39:51 2011 -0600 - - DAFS: Clear salvage stats on VOL_DONE - - When we VOL_DONE a volume, the volume has been deleted, so the salvage - stats/information are no longer relevant. Clear them out, so we don't - think the volume is still salvaging. - - Change-Id: I5dbde1609ba7659203fb1904571871d6ffc66539 - Reviewed-on: http://gerrit.openafs.org/4120 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ddf5ae4f746f2b5e522e10cfcacb6225499e7956 -Author: Andrew Deason -Date: Wed Mar 2 15:02:40 2011 -0600 - - DAFS: Allow LEAVE_OFF for DELETED volumes - - When a volume is VOL_STATE_DELETED, it effectively does not exist to - other programs over FSSYNC. So, do not prevent someone from issuing a - FSYNC_VOL_LEAVE_OFF for a VOL_STATE_DELETED volume. - - Change-Id: Ifb8f5437c7f6888bc06968297d841072d1f3316a - Reviewed-on: http://gerrit.openafs.org/4119 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit bb25fc6418bac937b31476754a09199636c24211 -Author: Andrew Deason -Date: Wed Mar 2 14:10:33 2011 -0600 - - vol-salvage: calloc volume summary structs - - Calloc volume summary structs instead of malloc'ing them, in - vol-salvage.c. This way, new fields added to struct VolumeSummary will - be known to be zeroed by default, without needing to update all of the - allocating callers. - - Change-Id: I8c647cd9dec7aaf14183452126049323859ac7a3 - Reviewed-on: http://gerrit.openafs.org/4117 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit aadf69eabb1962496fa93745ab560a5b48cacd61 -Author: Andrew Deason -Date: Thu Mar 3 16:02:47 2011 -0600 - - viced: Check vnode length on read and write - - When reading or writing a file vnode, check that the length of the - vnode in the vnode index matches the size of the on-disk file - containing the data for the file. If it does not match, take the - volume offline (and for DAFS, demand-salvage it). - - Change-Id: I20e02cd84c8425cf0835c104a8e695a0cb6665d9 - Reviewed-on: http://gerrit.openafs.org/4121 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b2c979a9de26b1bb28ecde208edeb1e673a03b6b -Author: Michael Meffie -Date: Thu Mar 3 20:22:54 2011 -0500 - - rpm: fix ChangeLog filename in doc rpm - - Fix an rpmbuild error introduced in commit 8d157961. - - Change-Id: I3b74d2602b74d62f64c0cbd01cde5f63e73259f6 - Reviewed-on: http://gerrit.openafs.org/4122 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 22365ab37ac823b6734f4fc0ad79f10b6ee14390 -Author: Andrew Deason -Date: Wed Mar 2 14:13:25 2011 -0600 - - vol-salvage: Fix AskOnline error message - - Change-Id: I7d43588b548c81fdeb7b8b8630ddd9a81f8c49dd - Reviewed-on: http://gerrit.openafs.org/4116 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7f31a11d110085ae528d4555d34744c0832008b0 -Author: Andrew Deason -Date: Wed Mar 2 13:12:25 2011 -0600 - - Give a default reason in *sync-debug - - If no -reason is given for fssync-debug calls, we currently just - transmit garbage to the fileserver or salvageserver. Instead, give a - default (the *_WHATEVER constant), so we do something consistent. - - Change-Id: I8fb134c8b16a1fca1b1ed804241d0b232e7e2a7c - Reviewed-on: http://gerrit.openafs.org/4115 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit cfcb911e9b6170d4a3a784b06eda3955ae5d5320 -Author: Simon Wilkinson -Date: Tue Mar 1 18:03:03 2011 +0000 - - Tidy up assorted clean targets - - Improve assorted clean targets so that they properly clean up all of - the default build products. - - Add rxosd to the list of directories to clean - - Change-Id: Id4987ec00654d7b3bd3b42eddefbcc50b5bdb03e - Reviewed-on: http://gerrit.openafs.org/4114 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 169bc2d5be039b75347a455c9fa5922d1a3380fb -Author: Simon Wilkinson -Date: Tue Mar 1 16:37:32 2011 +0000 - - tests: Remove errant rxgk build rule - - A reference to tests/rxgk slipped in to an earlier commit. Remove it - as OpenAFS doesn't have rxgk in its tree yet - - Change-Id: I4cc9c2fefa904a70efbce03e2ce4411b4554d90a - Reviewed-on: http://gerrit.openafs.org/4104 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d0d69ccb643104d06a3036da4b70bd878062f743 -Author: Simon Wilkinson -Date: Tue Mar 1 14:23:47 2011 +0000 - - auth: Add GetAllKeys function - - Add support for a GetAllKeys function that can be used to list all - of the keys in a configuration directory. - - Change-Id: I0711fde6afc2941a5f03f2e26ea89ae73750c1a9 - Reviewed-on: http://gerrit.openafs.org/4103 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d2688a0cf10ddd6767d68179707cb2e21168b118 -Author: Simon Wilkinson -Date: Tue Mar 1 14:35:35 2011 +0000 - - kernel crypto: Tidy up includes - - Don't include the whole of afsincludes.h when building our kernel - crypto interface, as it can lead to symbol collisions on Fedora 10 and - later. - - Instead, just include rx/rx.h, which is sadly required to get an - osi_Assert prototype, and explicitly prototype our osi_readRandom() - function - - Change-Id: I55d03d76ac0cc8f490aa30f6986115cefae8f427 - Reviewed-on: http://gerrit.openafs.org/4101 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 89ae0b12f20eea8a8b0a3fe493dc52d2def436ce -Author: Derrick Brashear -Date: Tue Mar 1 16:43:10 2011 -0500 - - tweak uvldb-making function - - in order to properly simulate a uvldb, swap in the right fields, - and mark it correctly. - - Change-Id: I143784c0ca137e36ce6f7eddb54db3d9ac85bd37 - Reviewed-on: http://gerrit.openafs.org/4107 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Andrew Deason - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 7d516192bed12aa3137bcb86cbe0d8ecd492415c -Author: Derrick Brashear -Date: Wed Mar 2 08:12:38 2011 -0500 - - rx: cancel growmtu event on resetcall - - attempt at fixing issue reported by Ryan Underwood. - - Change-Id: I0d90fc4c517a3892564abd98d94a948741e1a394 - Reviewed-on: http://gerrit.openafs.org/4108 - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 14d30b74ee2aee3a203e5aee3f42bc6db096ef33 -Author: Simon Wilkinson -Date: Tue Mar 1 14:01:46 2011 +0000 - - ptuser/hpr: Don't check for a KeyFile - - ptuser and viced's hpr were checking for a KeyFile before calling - ClientAuthSecure. If a KeyFile doesn't exist, then they would display - a warning message, and use an rxnull connection. - - However, ClientAuthSecure will return a rxnull connection if it can't - find a KeyFile. So, simplify all of this to just use ClientAuthSecure, - which knows better than we do what keys are usable and which aren't. - - Change-Id: I14b6170ec49e0ca85bc371d3bdfa04aecf39f150 - Reviewed-on: http://gerrit.openafs.org/4100 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c87f13ff687ffa606f4e729af6a03d6f247d42d7 -Author: Simon Wilkinson -Date: Tue Mar 1 13:59:19 2011 +0000 - - ptserver: Always set up Ubik security - - ptserver was checking for the existence of a suitable KeyFile before - setting up Ubik's security classes. This is uneccessary, because the - behaviour of the afsconf_* functions when a KeyFile doesn't exist - is the same as Ubik's default mechanisms. - - So, simplify (and future proof) the code by removing the KeyFile check. - - Change-Id: I03df04e99ca4c043c15fc5f5701f8438912a7633 - Reviewed-on: http://gerrit.openafs.org/4099 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d6b4a69444a28617a09c76ff4b2a82168b08fa5e -Author: Simon Wilkinson -Date: Tue Mar 1 00:13:00 2011 +0000 - - auth: Add Ktoken.xdr.c to the clean rule - - Ktoken.xdr.c was being built, but not cleaned. Fix this by adding it - to the clean rule. - - Change-Id: I8a8a1de86fa28cc4280a08cb24770949b236ffdf - Reviewed-on: http://gerrit.openafs.org/4098 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 08b7ca67a781ec93ae71677dd165133d9679a9bc -Author: Chaskiel Grundman -Date: Fri Jul 2 14:08:23 2010 -0400 - - libafscp: a library for "clientless" operations - - libafscp provides the ability to accomplish many of the functions of an AFS - client without a running afsd cache manager. It is being introduced into - the OpenAFS source tree in order to improve the capabilities of several - utilities but may have additional benefits for testing clients and servers - and for use on platforms which do not have afsd support. - - Change-Id: I24ee9416662c15b2d267317cea6fe0b7439ee022 - Change-Id: I61037736e6edd01106b5b5ed982b211c16e1e7d9 - Reviewed-on: http://gerrit.openafs.org/2371 - Reviewed-by: Chaz Chandler - Tested-by: Chaz Chandler - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2d6bc153689f14f8690878b15d9fb711a56b0546 -Author: Simon Wilkinson -Date: Tue Mar 1 00:11:01 2011 +0000 - - volser: Rename putshort and putint32 - - dumpstuff.c defines macros for putshort and putint32. However, the - name 'putshort' conflicts with a macro defined on Linux in resolv.h - (which is included by roken.h) - - Just rename putshort to afs_putshort and putint32 to afs_putint32 to - solve this problem - - Change-Id: Ib58cb7d8e606199c3f6a88be68e81f36c17d2df4 - Reviewed-on: http://gerrit.openafs.org/4097 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 7cd992d7037154b0edb09c9e1a1318b42d085485 -Author: Simon Wilkinson -Date: Tue Mar 1 00:08:12 2011 +0000 - - roken: Fix out-of-tree libroken builds - - The libroken configuration script is supposed to support using a - libroken which is installed out of the OpenAFS tree, but which isn't - in the standard search paths, by using --with-roken=/path/to/base - - This didn't previously work. Fix this so that it works correctly, - and also fix a few problems with libafshcrypto, which assumed that - LDFLAGS_roken would always be -L$(TOP_LIBDIR) - - Change-Id: I1219692f601a621e6c08ae26516136ed0cc03845 - Reviewed-on: http://gerrit.openafs.org/4096 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c525b92d3d85fbfdaca82b9e807487df66a819eb -Author: Simon Wilkinson -Date: Sun Feb 27 11:43:11 2011 +0000 - - Fix grammar in configure check description - - "checking for kernel module build works" - -> "checking if kernel module build works" - - Change-Id: Ie87a31d7ccf984744d0cd65b63160852c7a8d1bd - Reviewed-on: http://gerrit.openafs.org/4094 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2681c49ada5679922f949e9c7d0010f2ee705dab -Author: Andrew Deason -Date: Mon Feb 28 14:03:46 2011 -0600 - - Revert "LWP: remove ucontext header from preempt module" - - This reverts commit fbac809a46376fcf60d3dcedc0be962c43d9c74e. - - The ucontext header is only included in lwp.h for platforms that use - ucontext as a means for context-switching in LWP. The preempt module - needs the ucontext header for signal handling on some platforms (at - least Solaris). So, ucontext.h may not be included by lwp.h on these - platforms, if that platform does not use ucontext for LWP - context-switching. So we need to explicitly include ucontext.h in - preempt.c. - - Change-Id: Ie08f20c7375d6ff1b185f64da70c983dbe19ac47 - Reviewed-on: http://gerrit.openafs.org/4095 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fbcc8ac2646cf0b4b3de15967e064abfccbd7710 -Author: Simon Wilkinson -Date: Mon Feb 28 14:17:28 2011 +0000 - - Revert "Make osi_fetchstore.c protocol independent" - - This reverts commit 951612f4508b0c2ace4676f263df8dd4b566dd44. - - In testing, this change causes RXAFS_EndStoreData to intermittently - fail with an RX_CC_UNMARSHALL error code. The error is returned - when the first 32bit word is read from the RX stream from the server. - Before this happens, the call is not in an error state. - - As this problem makes the cache manager unusable for other - development, back the changeset out for now. - - Change-Id: If8268faa7bee2651273d7fbb0e235ddb02d6284b - Reviewed-on: http://gerrit.openafs.org/4093 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4397159a1c84c890a4f2a84fa2282f0ab9b74154 -Author: Derrick Brashear -Date: Sat Feb 26 21:55:19 2011 -0500 - - arm darwin update - - some stuff that got lost from the last batch - - Change-Id: Id892a8fce7c90a07c359d77282c557a0a9b41cd2 - Reviewed-on: http://gerrit.openafs.org/4064 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fbac809a46376fcf60d3dcedc0be962c43d9c74e -Author: Derrick Brashear -Date: Sat Feb 26 21:51:50 2011 -0500 - - LWP: remove ucontext header from preempt module - - it's already included by header. don't include it again. - - Change-Id: I97c85dd10db94e0a50133b922adb6d0b0b193cf7 - Reviewed-on: http://gerrit.openafs.org/4076 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 86f7ac2f57591cf72ae22f8d1267efcc8e0b6641 -Author: Derrick Brashear -Date: Sat Feb 26 21:44:37 2011 -0500 - - avoid unneeded rebuilds due to component version - - if the component version file does not change, don't touch it - and force a rebuild - - Change-Id: I8f864b0bdc56d04451e961fdeeb90c3bc6731d2b - Reviewed-on: http://gerrit.openafs.org/4075 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e16d015a3eec3cf2fb79b27b39bd567bb4f07581 -Author: Derrick Brashear -Date: Sat Feb 26 21:42:40 2011 -0500 - - generated mode: fix result - - don't leave build results which will interfere with the next phase around - - Change-Id: If7e5f4773b7c79f7deceb88d7393cbb65a220bd5 - Reviewed-on: http://gerrit.openafs.org/4074 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 94d8451a8ca43cc5119522cdcc804db4b0f963d9 -Author: Jason Edgecombe -Date: Sat Feb 26 17:18:25 2011 -0500 - - DOC: Add a missing quote in the QuickStart Guide - - Change-Id: I89fede614b6b1fcc28f282e2d610aa47c916f757 - Reviewed-on: http://gerrit.openafs.org/4072 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 358f2a23079f940e9adb741d2526895d620d1ced -Author: Andrew Deason -Date: Thu Feb 17 11:57:53 2011 -0600 - - LINUX: Include key-related headers in osi_compat.h - - Include keyring-related headers in osi_compat.h, so we get the proper - types defined for keyring-related functions. Also only define - keyring-related functions if we have keyring support. - - Change-Id: Ie7d748f1426ce883c61ae8f30dbce1f0a1bf6bab - Reviewed-on: http://gerrit.openafs.org/3895 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c576ca12b6618d2a121b29562aa70532b4cf65a9 -Author: Anders Kaseorg -Date: Tue Feb 22 18:18:17 2011 -0500 - - Linux: Reduce key_alloc flags confusion - - KEY_ALLOC_IN_QUOTA should be 0, not 1. Fortunately this was - overridden by the earlier correct definition in osi_compat.h. - - Change-Id: I91a3b16dca0af182ddc3441437be781e689645a7 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/4033 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 9eafe7e6a8e18f63cc59b3395ae8f0d55a6c95f8 -Author: Simon Wilkinson -Date: Fri Feb 25 01:30:02 2011 +0000 - - auth: Rework PickClientSecObj - - When called in localauth mode, this function was using - afsconf_GetLatestKey to check that the machine has a key file. However, - the ClientAuth and ClientAuthSecure functions then go on to do exactly - the same thing. - - Instead, pick up on ClientAuth returning a rxnull security layer, and - trigger the NOTFOUND error based on that, rather than on the absence of - an old-style key file. - - Change-Id: Ifb2d3a98bca5d1d67e303dcfeab1bb6f1efdc570 - Reviewed-on: http://gerrit.openafs.org/4053 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 77c9405023f549bc8fb0c243e0b39153ac41753e -Author: Simon Wilkinson -Date: Fri Feb 25 01:28:30 2011 +0000 - - auth: Fix use of expires in PickClientSecObj - - The expires pointer was being zeroed in PickClientSecObject, rather - than zeroing the value pointed to. This meant that we would never - return any expiry time for the selected token. - - Change-Id: I9d8e29cdd0c14a1e839a6719390e7f690493f56c - Reviewed-on: http://gerrit.openafs.org/4052 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fcbb656cf7b29b2f03592f3b56556e18b173092a -Author: Simon Wilkinson -Date: Fri Feb 25 01:23:38 2011 +0000 - - auth: Correctly write empty keyfiles - - The new key handling code was creating empty keyfiles that were 0 - bytes in length. The correct format for an empty keyfile is a file - containing a single 0 word (the number of keys in the file). Update - the code to write this form of empty KeyFile. - - Change-Id: I93bf23f6044a70a74f52b94c4656cbd4bc4fc35b - Reviewed-on: http://gerrit.openafs.org/4051 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 80f6e4fa8bbc468fe75692a4730cf822a4e0d686 -Author: Simon Wilkinson -Date: Fri Feb 25 01:21:38 2011 +0000 - - auth: GetLatestKey should allow NULL return values - - Existing callers in the code use - afsconf_GetLatestKey(dir, NULL, NULL) to check for the existence of - a key file. We need to permit NULL values for the return pointers - to this function. - - Also update the tests to check for this behaviour. - - Change-Id: I94e74138ddeed8d167c1e6f12e297411c638e1b9 - Reviewed-on: http://gerrit.openafs.org/4050 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1bc528d008fe11c43da6f6eef4210561bab33cbc -Author: Simon Wilkinson -Date: Thu Feb 24 13:52:40 2011 +0000 - - tests/auth: Refactor common code - - Pull the common code for creating a configuration directory out of - the keys and superuser tests into a single file. This both cleans up - the existing tests, and makes it easier to add new ones. - - Change-Id: I08058117e08da3a3baf750b3b14ef6780f942206 - Reviewed-on: http://gerrit.openafs.org/4049 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 30adc223b11cb76b5085715d944c3bb2d766f6d8 -Author: Jeffrey Altman -Date: Fri Feb 25 15:32:37 2011 +0000 - - man-pages: add generated vos*.pod to clean rule - - 9ec343cf4292e178fa1e4a9757232dc983ea9ba3 failed to add the - newly generated vos_addsite.pod, vos_copy.pod, and vos_zap.pod - to the clean rule. - - Change-Id: Ia18559076e979dfd16ecac6d4cc89d92d83d930f - Reviewed-on: http://gerrit.openafs.org/4061 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 559152ac107f91c8c2f11a909ef638551227b04a -Author: Anders Kaseorg -Date: Tue Feb 22 19:18:30 2011 -0500 - - Linux: install_session_keyring: key_alloc flags are unsigned long - - Change-Id: I3bdecd77e06928fd22cf0cf6bd92af2dccf62896 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/4034 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c3499218ad604b1985239334d77dd0a94c7128bb -Author: Derrick Brashear -Date: Mon Feb 14 00:20:40 2011 -0500 - - MacOS: aklog auth plugin - - the AuthorizationPlugin subsystem replaced the old loginplugin - method. As it is now usable for us, provide a plugin which can take - advantage of it. - - LICENSE BSD - - Change-Id: I66de192c6028c195c3bb6809c451281d9937fb26 - Reviewed-on: http://gerrit.openafs.org/3939 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 44046857f6509e511a64acfdd04e362bc5205d17 -Author: Chas Williams (CONTRACTOR) -Date: Sat Feb 19 10:19:24 2011 -0500 - - lwp: test for working swapcontext() and friends - - The USE_UCONTEXT was a temporary fix until someone wrote a reasonable - test of the user context swapping functions. While these are present - on many operating systems, they simply aren't complete. This test - correctly fails on IRIX, MacOS and some versions of Linux (in particular, - ppc 32-bit binaries on a 64-bit processor). - - Change-Id: Ie2f340d661002c8f3c78dddbaf755257cb4ca286 - Reviewed-on: http://gerrit.openafs.org/4018 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6201e3baa0d42688434bd8c1d46c62a6ab39d19c -Author: Rod Widdowson -Date: Sat Jan 22 16:25:42 2011 +0000 - - vutil.c: use OS_XXX rather than afs_XXX - - This checkin replaced the use of afs_open/close with OS_OPEN/OS_CLOSE - - Change-Id: Ie0f4edc90cf584112a54a5f8a1676014cc15eeac - Reviewed-on: http://gerrit.openafs.org/3741 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit b71a2daaf0bc8f6c392be0d1f669d58c81c519c7 -Author: Rod Widdowson -Date: Thu Feb 3 11:44:12 2011 +0000 - - namei_ops.c use OS_XXX rather than afs_XXX - - This checkin removes all uees of afs_open and replaces them with - OS_OPEN. It converts direct call to read/write/close to OS_XXX - - The exception is afs_stat which is left in place as this is unix - only and rerquires separate handling. - - Change-Id: Iaab6cb57b6f4b5a131fb77d64d794893f795b59c - Reviewed-on: http://gerrit.openafs.org/3888 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 63fb786c541926dbf03a9452288c6a938c7cd6c4 -Author: Andrew Deason -Date: Mon Feb 21 12:39:48 2011 -0600 - - rx: Reset fd_set in LWP rxi_Sendmsg - - When we select() on the socket fd in rxi_Sendmsg, we do not reset the - fd_set, and just use the same memory for any necessary subsequent - select()s. However, if the select returned on EINTR, the fd_set may be - cleared, and so we may try to select() on an empty fd_set forever. To - be sure that we don't do that, reset the fd_set to the socket fd every - time. - - Change-Id: I5273351c70e593ad1b7849f4f56de1fcb12d1bbf - Reviewed-on: http://gerrit.openafs.org/4028 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit df7cca0fa8c5cbeca8cdb9f065e47f4c927dbbe3 -Author: Derrick Brashear -Date: Wed Feb 16 12:18:58 2011 -0500 - - MacOS: don't install growlagent into prefpanes dir - - we have more than one tool now. don't misinstall into the - prefpanes directory - - Change-Id: I9fecc4d448edee54292a5c809caf7721960188ce - Reviewed-on: http://gerrit.openafs.org/3963 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5074de30f71b9dc2fd406b6e71ed4b226294a442 -Author: Andrew Deason -Date: Mon Feb 21 14:13:22 2011 -0600 - - cmd: Fix objdir builds - - Commit 8eca6a1153eb7768c2f29ea2d48f01f6988cbfe3 broke objdir builds by - not specifying ${srcdir} for cmd.c. Fix that. - - Change-Id: Ifd9fe13834b785058c8b69a60509838b74c4a027 - Reviewed-on: http://gerrit.openafs.org/4031 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 153cb5a3ca34c07a899841ae917b7b882e7ae433 -Author: Andrew Deason -Date: Mon Feb 21 14:56:48 2011 -0600 - - budb: Fix objdir builds - - Change-Id: I83851af2ca29ee42ce8f50eba733faf763c39c55 - Reviewed-on: http://gerrit.openafs.org/4030 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 61453d8f33f6508f8464ffba0657aefb6c7eae3b -Author: Andrew Deason -Date: Mon Feb 21 13:49:59 2011 -0600 - - Fix budb build rules for tbudb and WINNT - - Commit 0d0b5048a5b68d4079b13609775f9234183d1947 only fixed the budb - Makefile.in. Make the analagous changes to tbudb/Makefile.in and - NTMakefile. - - Change-Id: I4fa00e630aafcfa9d4d41a1948f3eae750900526 - Reviewed-on: http://gerrit.openafs.org/4029 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit cfb5424768c749520c534f8c6d22161cee1daa53 -Author: Andrew Deason -Date: Sat Feb 19 21:14:11 2011 -0600 - - HPUX: Fix osi_debug.c includes - - osi_debug.c was trying to include fcrypt.h and private_data.h. But the - former is in the rx subdirectory, and the latter is in src/rxkad. So, - specify a more complete path for fcrypt.h, and put src/rxkad in the - include list for osi_debug.c so we can build again. - - Change-Id: I5754f56354f40bd3697ac286cb0820041fda0b00 - Reviewed-on: http://gerrit.openafs.org/4024 - Tested-by: BuildBot - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 0d0b5048a5b68d4079b13609775f9234183d1947 -Author: Simon Wilkinson -Date: Mon Feb 21 00:29:33 2011 +0000 - - budb: Only have one build rule for budb_errs.c - - budb had two build rules that could produce budb_errs.c, but only - one of them also produced budb_client.h. This led to problems with - parallel makes, as depending on which rule fired first, budb_client.h - might, or might not, exist. - - Rework all of this so that it's cleaner. Instead of producing two - copies of the error table, just make budb_client.h a static file, - and include the dynamically generated budb_errs.h from it. This - reduces code duplication, and means that we have to run compile_et - one less time. - - Change-Id: Ib9b982454cc3f1ef3bdeb629c64dbb9901397fdb - Reviewed-on: http://gerrit.openafs.org/4027 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 019a473e576944003acbe3630d0b8bc0bdcce984 -Author: Marc Dionne -Date: Sun Feb 20 09:40:15 2011 -0500 - - libuafs: add UAFS.pic to .gitignore - - Add UAFS.pic to .gitignore, it's a generated directory. - - Change-Id: Ibbd5fa482e96b4d4e39402b5cb2a3cc7356c0662 - Reviewed-on: http://gerrit.openafs.org/4022 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 36f89a2ce4fdb488480a5979e4f096cf3bdacf3d -Author: Marc Dionne -Date: Sat Feb 19 15:11:30 2011 -0500 - - crypto: return a value from the krb5_init_context stub - - The krb5_init_context stub is declared as returning an int, so - make it return 0 to avoid a warning. - - Change-Id: I1e04d6953cf4daed67c7b1de9414113812148931 - Reviewed-on: http://gerrit.openafs.org/4019 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 839b62ab414fde02e1a2093bc036c63c708d861d -Author: Andrew Deason -Date: Fri Feb 18 15:49:03 2011 -0600 - - LINUX: Replace dcache.h for fs.h in config tests - - When detecting if we have certain Linux kernel features, we only - include dcache.h. On some kernel versions (at least 2.4.27), - compilation fails if we include dcache.h directly (due to e.g. - list_head not being defined), which causes false negatives in tests - such as the test for dcache_lock. If we instead include fs.h, which - includes dcache.h, the tests succeed when they should succeed. So, use - fs.h instead of dcache.h. - - Change-Id: I43fbbc7e5a952d9effbbac16adb9891c36f729bd - Reviewed-on: http://gerrit.openafs.org/3989 - Tested-by: BuildBot - Tested-by: Marc Dionne - Reviewed-by: Marc Dionne - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 2afbe1378812ca8ac120aa14fcb173c093748682 -Author: Chas Williams (CONTRACTOR) -Date: Sat Feb 19 08:26:20 2011 -0500 - - lwp: fix the rw test program - - We should not need to prototype calloc() anymore and osi_Assert() has - been replaced with assert() apparently. - - Change-Id: I3ef6178c589cabcd0637cd88c35d2276833b4590 - Change-Id: I0626475f120ff9a373e0251f3c4485c052922747 - Reviewed-on: http://gerrit.openafs.org/3991 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0491b2846f81defe92e3fcf8bc4481637ec109b3 -Author: Ben Kaduk -Date: Sat Feb 19 22:41:19 2011 -0500 - - FBSD: remove prtactive - - It is unused and has been removed by upstream. - Since we don't particularly need it for older versions, remove - it unconditionally. - - Change-Id: If209f7d11d5f4aa4ba77f934d865c905761b05ca - Reviewed-on: http://gerrit.openafs.org/4020 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2c807d053822b7b2591561599285d103efa12bfd -Author: Simon Wilkinson -Date: Sat Feb 19 18:04:43 2011 +0000 - - osconf: pic_regex.o is now regex_pic.o - - pic_regex.o was renamed as regex_pic.o in - commit 43b8bcf2a7c7dfd855a9f2bf274a93289a4941c6, but osconf.m4's - definied of REGEX_OBJ_PIC wasn't updated at the same time. Fix that. - - Change-Id: I4523f99d94f158329e8e0eccde575733d28fbf51 - Reviewed-on: http://gerrit.openafs.org/4021 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b719ad74865c63a04188dc124fd96def6cba1c04 -Author: Simon Wilkinson -Date: Wed Feb 16 21:57:59 2011 +0000 - - hcrypto: Use new LWP_CCRULE - - Use the new centralised LWP_CCRULE, rather than brewing our own. - - Change-Id: I3eda193371c28972a048f3c0c125d10161420fd7 - Reviewed-on: http://gerrit.openafs.org/4016 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9c7c6a2ca5c45367d1a8ed1710a4c99f8e3c5f6b -Author: Andrew Deason -Date: Thu Feb 17 14:33:07 2011 -0600 - - Document dropbox permissions - - Document the behavior and potential problems with granting 'il' rights - to create dropboxes. Do this in the manpage for 'fs setacl' and - chapter 4 of the User Guide. - - Change-Id: Ic4e8ee016290080d78037a5c2c3802ce4e2e342c - Reviewed-on: http://gerrit.openafs.org/3977 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2b094cae6c39bc9e2d8f23f4654e137876b25d57 -Author: Simon Wilkinson -Date: Fri Feb 18 00:36:33 2011 +0000 - - RedHat packaging: Use %{dist} not %{osver} - - There's a standard mechanism for defining a RPMs target - distribution in the Fedora and RedHat worlds. This is to use the - %{dist} macro, and to insert it at the end (not the beginning) of - the release field. - - Move over to using this standard mechanism, and modify the build - system to match. Note that this means that RPM names have now - changed slightly. - - Change-Id: I5a4f1ad827223f48658f595ac424ab64fe98ed39 - Reviewed-on: http://gerrit.openafs.org/3981 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fd010651194f4c9f1324ea7aa8d84426ce9827e4 -Author: Andrew Deason -Date: Thu Feb 17 15:47:00 2011 -0600 - - afsd: Make mountdir check kernel-specific - - Checking if the /afs directory exists only makes sense for the kernel - afsd. The libuafs afsd does not care if the mount directory actually - exists on the machine or not, since it may not interact with the mount - directory path on the local machine at all. - - So, make the mountdir check code be a new afsd function - (afsd_check_mount), and have it stat() the mount directory only in the - kernels-specific afsd. - - Change-Id: Ic0b524e23f518c4f3c9954e6b9614bca984306a3 - Reviewed-on: http://gerrit.openafs.org/3980 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 383d99d04b2ca3254264d9a948aea19a0235fe80 -Author: Jeffrey Altman -Date: Fri Jan 14 10:45:06 2011 -0500 - - Windows: Change GiveUpAllCallBacks default to On - - Change-Id: I2a87f0b22dc1d4d21eae4877f7e367a18bab4283 - Reviewed-on: http://gerrit.openafs.org/3660 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit cee2c677d7de66a510d05978e3b41dcd5d8aca78 -Author: Derrick Brashear -Date: Wed Dec 1 15:23:11 2010 -0500 - - unix: giveupallcallbacks at shutdown - - just try to give up callbacks at shutdown. at this point if - you're running 1.4.5 or older, you're sad anyway. - Change-Id: I7d9e9f1de45980f064bccaab338499789aa40646 - Reviewed-on: http://gerrit.openafs.org/3404 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 249d65e72592b707fcc794be5f8af10a67c55e26 -Author: Marc Dionne -Date: Sat Jan 22 16:04:47 2011 -0500 - - ubik: Abstract common code in ContactQuorum* functions - - These functions are mostly identical except for the arguments and the - called operation. Move as much common code as possible to an iterator - function and a return code check function. The DISK_WriteV case is - treated a bit differently since it can fall back to using DISK_Write. - - This reduces code duplication and shoud simplify maintenance and - future changes. There should be no functional changes. - - Change-Id: If2f88c670da47eaad4baa81975ecc307013f5ce8 - Reviewed-on: http://gerrit.openafs.org/3970 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 470a6d46175125bfe15bb267ee8f77d60132592a -Author: Derrick Brashear -Date: Mon Feb 7 10:54:51 2011 -0500 - - fileserver: dropbox mode shouldn't allow readback from anonymous - - if you're writing files as anonymous, don't let them be read back. - things which potentially need to page back in will just have to be - authenticated, or lose. - - Change-Id: I71a6096239eb59b40a9df09460e8db160e9342da - Reviewed-on: http://gerrit.openafs.org/3901 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit dacbfdf82cf20c5ebaab1f19d619ca2b58528d2e -Author: Andrew Deason -Date: Thu Feb 17 12:37:49 2011 -0600 - - shlib-build: Add -p option - - Add a -p option to shlib-build option to generate "plain" shared - objects. That is, shared objects that are intended to be e.g. - dlopen()'d, and are not intended to be libraries dynamically linked to - from other code. Such shared objects do not need a library name, - version numbers, export lists, etc. - - Change-Id: I649c1b697a79936c1d580199291124398b05e56b - Reviewed-on: http://gerrit.openafs.org/3975 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4d87db62f4b9605539f9e9bd89fcbdb23202a846 -Author: Andrew Deason -Date: Thu Feb 17 12:28:44 2011 -0600 - - shlib-build: Fix usage message - - Change-Id: Ieb7181784f736a2295fffbea80da55d6a5c099cd - Reviewed-on: http://gerrit.openafs.org/3974 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 18b24156f1dc0f727260724023eed583b460218b -Author: Andrew Deason -Date: Thu Feb 17 15:15:06 2011 -0600 - - afsd.fuse: Force internal mount dir to /afs - - Commit 1f1545dfb708b6f70065da58b44676b8eafef772 made it so the - argument given to -mountdir sets the internal mount directory. - However, afsd.fuse assumes that the mount dir is always /afs - internally. So, use the uafs_setMountDir function to reset the - internal mount dir to "/afs", so afsd.fuse can work with non-/afs - mountpoints. - - Change-Id: I985f1a25d04af4027c7adef69231e2f56e026d24 - Reviewed-on: http://gerrit.openafs.org/3979 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 445548636f4d57aaa8e29912803e242f772959c7 -Author: Andrew Deason -Date: Thu Feb 17 15:14:41 2011 -0600 - - UKERNEL: Add uafs_setMountDir - - Replace the function uafs_mountWithDir with uafs_setMountDir, and - adjust the one caller. This allows libuafs users to manually set the - mount dir after e.g. the mount dir is set from afsd options. - - Change-Id: I85a967ce27a72f54c1ab29b007dbb8634017c897 - Reviewed-on: http://gerrit.openafs.org/3978 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7bbec1f86bbdbf351d36863dc5d971f61051b170 -Author: Andrew Deason -Date: Thu Feb 17 11:53:08 2011 -0600 - - LINUX: Fix osi_compat.h include guard - - Change-Id: I96565ba0adef3d3be646c1ed02c7d022e216f911 - Reviewed-on: http://gerrit.openafs.org/3973 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 43b8bcf2a7c7dfd855a9f2bf274a93289a4941c6 -Author: Andrew Deason -Date: Wed Feb 16 16:24:47 2011 -0600 - - util: Use foo_pic.o instead of pic_foo.o - - Be more consistent with the rest of the tree, and name PIC object - files with the convention foo_pic.o. - - Change-Id: Ib3b9642534c51ffb10fe3c86f779b4e9df6af4c1 - Reviewed-on: http://gerrit.openafs.org/3968 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4f3b6a5b3c63ee34d65f202730ff2ce68627b2e5 -Author: Andrew Deason -Date: Wed Feb 16 15:58:41 2011 -0600 - - Fix PIC CFLAGS - - Commit 8eca6a1153eb7768c2f29ea2d48f01f6988cbfe3 just used -fPIC to - generate position-independant code. However, the flag to turn on PIC - varies depending on the compiler, and is not always -fPIC. Just use - SHD_CCRULE instead, which will get us the correct PIC flags. - - Change-Id: I61d698587cc3959b35ec27abe3c3b19adab5d8f1 - Reviewed-on: http://gerrit.openafs.org/3962 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 31e730330849eae7d31c282b24d16ebeea7147ca -Author: Simon Wilkinson -Date: Wed Feb 16 20:41:02 2011 +0000 - - Add CCRULE variants for each build type - - Add explicit LWP, PTH and SHD variants of the CCRULE variable for - LWP, pthreaded and shared-library builds respectively. This allows - Makefiles which support building more than one target type to use - these rules directly, rather than brewing their own. - - Modify all of the AFS_CCRULE definitions in the build type specific - Makefiles to reference these rules, so we aren't specifying things - twice. - - Change-Id: I79bb394cca8971ce71b10ef55b75d5169bf6b80c - Reviewed-on: http://gerrit.openafs.org/3966 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit dae5b59337674304495b3f9f678088c317f002c5 -Author: Marc Dionne -Date: Sat Jan 29 12:31:24 2011 -0500 - - ubik: remove unused OLD_URECOVERY code - - OLD_URECOVERY is never defined and only serves to preserve unused - code. - - Change-Id: Iefc0fcfd177fa134a74cee05b0b45e6bf075ad1c - Reviewed-on: http://gerrit.openafs.org/3969 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1f1545dfb708b6f70065da58b44676b8eafef772 -Author: Andrew Deason -Date: Fri Jan 28 11:11:20 2011 -0600 - - libuafs: Allow -mountdir to override uafs_Setup - - For some reason, uafs_Setup accepts a parameter specifying the AFS mount - point, and we effectively ignore any -mountdir option specified in the - string arguments. Allow -mountdir to override the mount point specified - in uafs_Setup, by changing afs_mountDir &co during afsd_mount_afs(). - - Change-Id: I4ea88923c0a8392d280c1a8f0ca4d3adf741f7f6 - Reviewed-on: http://gerrit.openafs.org/3897 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 9315c66f15fb0d178e1c322cf14c0d64eea46c65 -Author: Andrew Deason -Date: Mon Feb 7 13:13:31 2011 -0600 - - viced: Enforce lwps limit for -L - - Previously, we only enforced the calculated lwp/thread maximum when - the -p argument was specified. When -L was specified, we set lwps to - 128, which can be over the max of (effectively) - MAX_FILESERVER_THREAD-FILESERVER_HELPER_THREADS, depending on the - value of MAX_FILESERVER_THREAD. - - Instead, enforce the lwps min/max after all code to set the lwps has - run. - - Change-Id: Ia9fc29855e74631509ea558cfe1b17fcf46e900e - Reviewed-on: http://gerrit.openafs.org/3903 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 687fe37614a6f5f9083818931b72ac326eaee43a -Author: Simon Wilkinson -Date: Mon Sep 13 13:54:32 2010 +0100 - - rfc3961: Add a kernel rfc3961 implementation - - Add the necessary mechanisms to build Heimdal's libkrb5/crypto_*.c in - the kernel. This provides the kernel module with a RFC3961 - implementation. - - In theory this could also be used to provide a RFC3961 implementation - on top of an EVP-based crypto library in userspace, but at the moment - we're just using Heimdal directly for this. - - Change-Id: Ie57391da0dabd2dca8b305e23f0c0faa056a4675 - Reviewed-on: http://gerrit.openafs.org/3948 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 57b9febc61ee7289f328f29a3ede40d765fa0894 -Author: Heimdal Developers -Date: Thu Jan 27 12:22:24 2011 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 8ce821c38744b30e226ff024f675668b991b984d (switch-from-svn-to-git-1998-g8ce821c) - - New files are: - krb5/crypto-aes.c - krb5/crypto-evp.c - krb5/crypto.c - krb5/crypto.h - krb5/data.c - krb5/keyblock.c - krb5/store-int.c - - Change-Id: I511d54e1353a3662babd2d12611fd31b8e3061a5 - Reviewed-on: http://gerrit.openafs.org/3947 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2557da6fc04f657b07bc2ac019e9e21955b7325a -Author: Simon Wilkinson -Date: Wed Nov 17 21:57:42 2010 +0000 - - Add rfc3961 crypto files from Heimdal - - Add the Heimdal files which are necessary to produce a kernel rfc3961 - implementation to the import list. - - Change-Id: If080207cd882b277548f503e5eb139fe9a54f495 - Reviewed-on: http://gerrit.openafs.org/3946 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 465321e3f43645efedb44168968f871fe5be4daa -Author: Simon Wilkinson -Date: Sun Sep 12 18:40:08 2010 +0100 - - hcrypto: Add hcrypto EVP support to the Unix CM - - This commit adds the files which are necessary to support hcrypto's - EVP interface to the Unix cache manager build. Only a small number - of EVP ciphers and hashes are currently supported - - * aes_128_cbc - * aes_256_cbc - * sha1 - - Note that the EVP interface is the only supported mechanism to use - the AES cipher - directly calling the underlying crypto functions - is not recommended and may break at any time. - - Change-Id: I662073e578b29db1707c6b6433209e75e4db455d - Reviewed-on: http://gerrit.openafs.org/3945 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b4350fab31ab91373caac4601d26cd0451da0aa4 -Author: Simon Wilkinson -Date: Sat Sep 11 13:02:49 2010 +0100 - - Unix CM: Add osi_crypto crypto interface - - Add a new osi file to the cache manager. This file includes functions - which interface hcrypto with the kernel's own cryptography library. - - At the moment, the only such function is osi_readRandom which returns - a block of random data from the kernel's PRNG. - - Change-Id: Ib728f5bb638ef634efe4822da24bb7cca723983f - Reviewed-on: http://gerrit.openafs.org/3944 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 22b47b65c74d42eaa00e8ac8ad442fee3d2ceacf -Author: Andrew Deason -Date: Wed Feb 16 09:49:03 2011 -0600 - - Makefile whitespace fixes - - Some "make"s get tripped up by recipe lines starting with anything but - a tab character. Most of the time we start ours with tabs, but fix a - few instances where they begin with spaces. - - Change-Id: I2c17c68deb1b7641ca73e84ec0043b62ce3c54ba - Reviewed-on: http://gerrit.openafs.org/3961 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0bb6170b222ee2e9a0a3d224dac890adaed945a9 -Author: Andrew Deason -Date: Tue Feb 15 17:21:49 2011 -0600 - - vol: Restore inode OS_READ/WRITE - - Commit 335ccb4082657b7d0e4e9af1076356cf115642d2 removed the OS_READ - and OS_WRITE definitions for non-namei code. We need those definitions - to build the pread/pwrite emulation functions, so put them back in. - This allows us to build the inode fileserver backend when we do not - have native positional I/O. - - Change-Id: I3c066dacbee20301b38f074142cb6b6bb6b05de7 - Reviewed-on: http://gerrit.openafs.org/3959 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d06a4a557675b68421f2272d0153ca04128f6994 -Author: Simon Wilkinson -Date: Thu Sep 2 08:44:27 2010 +0100 - - Autoconf: Add GSSAPI autoconf rules - - Add rules to autodetect the location of a system's GSSAPI libraries, - using the gssapi.m4 script from rra-c-util 2.6 - - Change-Id: Idabb8fdb138a2dac6983aa4d5fd8a2f558ee08be - Reviewed-on: http://gerrit.openafs.org/3943 - Tested-by: Christof Hanke - Reviewed-by: Derrick Brashear - -commit 11b2c6d6fe4dbbf5a54ae1e08e979c35ab6b7fa0 -Author: Andrew Deason -Date: Mon Feb 14 13:53:11 2011 -0600 - - HPUX: Disable positional I/O - - Some versions of HP-UX have the pread() and pwrite() functions, but - they behave in odd ways; most notably, ignoring the offset argument - when _FILE_OFFSET_BITS is defined to 64. - - This is noted in recent gnulib documentation - , - and slightly less clear references to pread() being broken can be - found on the development mailing list for git itself. - - It is not completely clear what specific HP-UX versions are affected - by this. An autoconf run-time test may also be insufficient, because - the same binaries should be usable on machines with broken and - non-broken pread() implementations. So, to be safe, disable positional - I/O on HP-UX unconditionally. - - Change-Id: I09b8d9c441622c961d1df90fe27eeccaa948f5c4 - Reviewed-on: http://gerrit.openafs.org/3949 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f378dcf785967374309523a02ea06d6d1a3ff148 -Author: Russ Allbery -Date: Mon Feb 14 12:36:18 2011 -0800 - - Update 1.6 NEWS entry based on 1.6.0pre2 release notes - - Change-Id: Id795a74910bc881f8e93c8e80b9cb55ff48c3b15 - Reviewed-on: http://gerrit.openafs.org/3950 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fe231190d8df1567ae4d4e0b474131b9e2621cda -Author: Simon Wilkinson -Date: Sun Jan 30 19:27:17 2011 +0000 - - Linux: Fix RX atomics for kernel mode - - Fix a mistake with the definition of rx_atomic_set, and add - the missing declaration of rx_dec_and_read for Linux kernel builds - - Change-Id: Ieed7a369670c051abc02d8cc831e8736969fb67a - Reviewed-on: http://gerrit.openafs.org/3942 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 91f9a7f64b848b6c2b0b16b817640e54ac59f308 -Author: Derrick Brashear -Date: Mon Feb 14 11:03:17 2011 -0500 - - 1.6.0pre2 release notes - - add release notes for 1.6.0pre2 - - Change-Id: I05eb7d02b3daa9935eec6cbc7f6b8f1de78c23f0 - Reviewed-on: http://gerrit.openafs.org/3940 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit da912adbf1512702a17b8e381af3d0225875e67c -Author: Jonathan Billings -Date: Fri Jan 7 10:44:27 2011 -0500 - - RedHat: Change the defined initdir path to /etc/rc.d/init.d - - On Red Hat systems, /etc/init.d is a symlink to /etc/rc.d/init.d. We - should use the actual path for packaging the init scripts, to avoid - any issues with package verification. - - Change-Id: I476193b3fd534c8aa70c67970bf2765a30f4c4d5 - Reviewed-on: http://gerrit.openafs.org/3625 - Reviewed-by: Stephan Wiesand - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 8eca6a1153eb7768c2f29ea2d48f01f6988cbfe3 -Author: Andrew Deason -Date: Mon Dec 13 13:11:02 2010 -0600 - - Add PIC variant for libuafs - - Build a libuafs that is built with PIC, so it can be used in shared - libraries on all platforms. Also build PIC variants for libafsutil and - libcmd, since we need them for a PIC libuafs anyway. - - Change-Id: I017fa22c3b4dd661123ea92da7b3e5b69ee5c170 - Reviewed-on: http://gerrit.openafs.org/3896 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit adca541d70ef2e9d87b000ad570440a13e431014 -Author: Simon Wilkinson -Date: Sat Jan 1 23:41:29 2011 +0000 - - auth: Rewrite KeyFile handling code - - Extend the KeyFile API so that we can support arbitrary numbers of - different key types, each with their own key version numbers and - sub types. Completely rewrite the KeyFile implementation with this - in mind, but implement all of the "old" API in terms of the new one. - - Given that the existing KeyFile is modified by third party programs, - we retain that as the storage location for all afsconf_rxkad keys. - Only keys with a type of 1, or above are stored in the new extended - keyfile. - - Change-Id: I903a1de938544541a1bfecedb2a039ba24bdfdbc - Reviewed-on: http://gerrit.openafs.org/3772 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 278798be3f4d16a27b73fa2d27df01fe704eb881 -Author: Jeffrey Altman -Date: Sat Feb 12 21:10:44 2011 -0500 - - Windows: Release Notes updates for 1.6pre2 - - A fairly thorough review of all sections to ensure that the information - is up to date. - - Significant reformatting caused by XML editor. - - Change-Id: Iad988b91091a02a7b5de2a1d1fae052fc5ee897f - Reviewed-on: http://gerrit.openafs.org/3936 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 281f5bf5fbb0a546edcce62ef4e097ae9bbdbf73 -Author: Marc Dionne -Date: Wed Feb 2 21:55:27 2011 -0500 - - Linux: 2.6.38: dentry->d_count is not an atomic - - d_count is now an int protected by the dentry's d_lock. - Take the lock when we use it, instead of using an atomic_* - function. - - Change-Id: Ib70e4a5315cc343518fa983e47bc7ff925acfc7f - Reviewed-on: http://gerrit.openafs.org/3883 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c4ceaa632d5bcf62272637665368768d772e962c -Author: Jeffrey Altman -Date: Sat Feb 12 14:24:02 2011 -0500 - - Windows: ChangeLog updates for 1.6.pre1 - - Change-Id: I17de717ffd597c45720a4fbd39a14c5df67f870c - Reviewed-on: http://gerrit.openafs.org/3926 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e4119971b0131411dc686adcbfc6b5bb3c9b52f1 -Author: Jeffrey Altman -Date: Sat Feb 12 11:52:12 2011 -0500 - - Windows: Fix GetIoctlHandle path construction - - GetIoctlHandle() is used to construct the magic pioctl file - path used to initiate pioctl operations with the cache manager. - The first error introduced double directory separators. The - second error was testing an uninitialized value which could - have resulted in a missing directory separator. - - Change-Id: I4e863b854ea12b69858be712455dc6b6a0d36c39 - Reviewed-on: http://gerrit.openafs.org/3925 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e6411317ce21bb92e644e7126228318e8e672756 -Author: Jeffrey Altman -Date: Sat Feb 12 11:45:15 2011 -0500 - - Windows: Fix symlink and mount point make \\afs\xxx handling - - When processing a request to make a symlink or a mount point - in the afs root volume (\\AFS) the smb redirector will fail - the request because a server name by itself is not a valid path. - Therefore, we insert the "all" share component to refer to the - root volume as a valid path. \\AFS\foobar becomes \\AFS\all\foobar. - - A recent change stripped the trailing slash from the string - returned by Parent(). This broke the test that determines - whether or not the provided path that failed the IsAFS() test - is in fact referring to the \\AFS server and requires the insertion - of the "all" share name. - - This patchset permits the test to work with \\AFS or \\AFS\ - and removes extraneous directory separators from the generated - path containing the "all" share. - - Change-Id: Ia3b28d83302d9737bd149b4a22bc3ee3a6c8da46 - Reviewed-on: http://gerrit.openafs.org/3924 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1a474ac28719c1b2187435de117a87c8dcca8bd9 -Author: Simon Wilkinson -Date: Wed Feb 9 19:37:18 2011 +0000 - - util: Actually install thread_pool_types.h - - The action portion of the rule for thread_pool_types.h was missing, - so the file was never installed. As that file is a dependency for the - whole of the util directory, it would result in util being completely - rebuild with every make invocation. - - Add the missing installation rule, so we don't rebuild quite so often! - - Change-Id: Idb201c239b6b37a25567cf231059ef05536fc258 - Reviewed-on: http://gerrit.openafs.org/3921 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f132054e4f3a7633eb60f3abdbdc27233ec344f5 -Author: Marc Dionne -Date: Wed Feb 9 17:06:00 2011 -0500 - - scout: restore parallel make - - Restore the + in the scout Makefile section, lost with commit - 4a6a00d6. - Lets scout benefit from a parallel make and avoids a warning. - - Change-Id: Ie4c35c93afae4bfefaae0a0db9d676200cb3ee7b - Reviewed-on: http://gerrit.openafs.org/3910 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 296cf7d1630c57874b870e161bac5db9fe4dab48 -Author: Marc Dionne -Date: Thu Jan 27 19:07:32 2011 -0500 - - ubik: always prefer a dirty cache page for write transactions - - If a write transaction is running concurrently with a read transaction, - a DRead in the write transaction may return a clean cache page brought - in by the read transaction, instead of a previously written dirty page - from the same transaction. This can result in loss of the written data. - - Fix by making sure there is not a dirty version of the requested page - before returning a clean one. - - Bug spotted by Jeffrey Hutzelman. - - Change-Id: I20543693c98218d8ec1f791508d9404043819376 - Reviewed-on: http://gerrit.openafs.org/3764 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit be4abb4ec83a47477b254f2b3375742c4efbb063 -Author: Rainer Toebbicke -Date: Thu Jan 27 15:03:57 2011 +0100 - - Early dispose of replies in rx_Multi - - Handles replies as soon as they arrive in rx_Multi, limiting - strain on RX packet queues on massive rx_Multi loops. - - Change-Id: I345f7dba1707beeb75bcc65bb519afb9dc741973 - Reviewed-on: http://gerrit.openafs.org/3765 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit bf72dbf3d5550857a8d41c910baaa722690c1eee -Author: Derrick Brashear -Date: Mon Jan 31 11:04:08 2011 -0500 - - evalmountdata null pointer before use - - volnamep can be used uninitialized. fix that. - - Change-Id: I4aafb3bc56241b4cfc7ccd0a9cfa9e57bd97157a - Reviewed-on: http://gerrit.openafs.org/3777 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2eca7aef7b2940e4ef5f9901ce28481af6edb6dd -Author: Marc Dionne -Date: Fri Jan 28 20:59:17 2011 -0500 - - Linux: 2.6.38: deal with dcache_lock removal - - dcache_lock is gone in 2.6.38, and some of the vfs locking rules - have changed. - - Of interest for openafs: - - inode->i_lock protects the d_alias list - - dentry->d_lock protects d_unhashed() - - Add a new configure test for dcache_lock, and replace its use by - the appropriate new lock(s). - - Change-Id: Ic8d860d4f9f6438e966c15f5178c0d82343e3e1c - Reviewed-on: http://gerrit.openafs.org/3771 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5bcc0ea735ea519298c98b46c66bf1326cdee5e4 -Author: Marc Dionne -Date: Fri Jan 28 19:41:32 2011 -0500 - - Linux: 2.6.38: Adjust for permission inode operation changes - - The permission i_op has a new signature with a flags argument, and - must now deal with RCU path walking. - - Fix existing configure test for this i_op, it succeeds when it - shouldn't - - Add a new configure test for the new signature - - Make our permission i_op "RCU-walk aware" - return ECHILD if - called in that mode - - Change-Id: I42a171694717f4621f29f9f59e4f6049926862a3 - Reviewed-on: http://gerrit.openafs.org/3770 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ca38c9546e323b59189670b80740510fb9ec5269 -Author: Marc Dionne -Date: Fri Jan 28 19:03:39 2011 -0500 - - Linux: allow compile flags to be passed to AC_CHECK_LINUX_BUILD - - Some linux autoconf tests require particular compile flags such as - -Werror. Add a parameter to the AC_CHECK_LINUX_BUILD macro that - lets the caller pass in any needed special flags. - - Adapt a few existing tests that were still using AC_TRY_KBUILD - directly. - - Change-Id: I4a5e3db74f6fb9c35bfa7b2964a294f646e78626 - Reviewed-on: http://gerrit.openafs.org/3769 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f47487db051ba6b51ae12daf7edc09ecfd3c38cd -Author: Andrew Deason -Date: Thu Feb 3 15:40:48 2011 -0600 - - ConvertROtoRW: Use old copyDate for creationDate - - When we convert an RO volume to an RW, currently we just copy the - copyDate and creationDate from the RO metadata into the RW. But the - copyDate and creationDate fields have different meanings for RW and RO - volumes: for ROs, the creationDate is merely the last time the data - was updated from the RW during a release operation. - - So, if the copyDate is older than the creationDate, use the copyDate - as the new RW creationDate instead. This will probably not match the - creationDate of the original RW, but it will be closer to it, and it - will more accurately represent the conceptual "created time" of the - new RW. - - Doing this can avoid forcing an unnecessary full dump on a subsequent - release of the resultant RW volume, since the creationDate is more - accurate. - - Change-Id: Ibfffbdc4a79a568261e9e116f6991a3af9db5e0c - Reviewed-on: http://gerrit.openafs.org/3891 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ae11ef7898ecffe8eb2a38151602572c24e32a76 -Author: Jeffrey Altman -Date: Mon Feb 7 16:44:09 2011 -0500 - - Windows: correct pthread_xxx_init semantics - - pthread lock and conditional initialization semantics - do not require that the lock structure be zeroed before - pthread_xxxx_init() functions are called. Since the Windows - CriticalSection initialization does require that the memory - be zeroed, the pthread_xxxx_init() functions must zero the - memory just in case before performing the CriticalSection - initialization. - - Change-Id: I61e78ca7cbc10f7d4144b8efcbb38f67bb8fd695 - Reviewed-on: http://gerrit.openafs.org/3904 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 380cc22a45dff7e40cd50d57a56742b59ccc4952 -Author: Andrew Deason -Date: Thu Jan 27 13:13:21 2011 -0600 - - afscp: Fix -s option for writes - - When writing to AFS with afscp, the -s option was sleeping before any - StoreData RPCs actually got issued to the fileserver. Move the sleep - to after we have done one rx_Read/rx_Write, so we sleep after starting - to contact the fileserver, to make sleeping while writing more - consistent with sleeping while reading. - - Change-Id: Ib4e93b65f50cbad30d057ad7905617d00070c1a4 - Reviewed-on: http://gerrit.openafs.org/3762 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 15c497e90edc69312dba6843521ff08f0ac19248 -Author: Jeffrey Altman -Date: Wed Feb 2 19:24:00 2011 -0500 - - Windows: remove duplicate advapi32.lib references - - advapi32.lib is included in the conlibsdll macro. - No need to include it in the link list twice. - - Change-Id: I2f9725f8b48b26afc959477d2fe2f2925f357ee7 - Reviewed-on: http://gerrit.openafs.org/3882 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dca093a17097f7e24d43afe4544e4be896b86680 -Author: Ken Dreyer -Date: Thu Feb 3 15:22:02 2011 -0500 - - spelling/grammar fixes for manpages - - Several small fixes for spelling and grammar. - - Change-Id: I5c1cbc933cd683f997b8bb649408d57d84a110f2 - Reviewed-on: http://gerrit.openafs.org/3890 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ad05600d86d6737f55d7b785bc7c503c4a45be00 -Author: Ken Dreyer -Date: Wed Feb 2 11:49:31 2011 -0500 - - spelling/grammar fixes for vos_clone manpage - - Small spelling/grammar fixes for the vos_clone manpage. - - Change-Id: If312799b9e95476a1de2d386e6d51cd800c7e069 - Reviewed-on: http://gerrit.openafs.org/3879 - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ba51b43e3558058b949ccc5de1d4559e4caf9d9b -Author: Andrew Deason -Date: Mon Jan 31 15:00:09 2011 -0600 - - Rx: Do not stop keepalives on ACKALL receipt - - We need to still keep sending periodic keepalives after receiving an - ACKALL, since the call is not done yet. ACKALLs can be received when - the peer has received all data from us, well before the call has - finished. This is particularly noticeable for long-lived calls that - have little data transfer, such as AFSVolForward and - AFSVolForwardMultiple. - - This reverts commit b1549f29a9515de09d4a64bfb28bf5afdfee2615, which - was intended to be part of a fix for RT 20727. - - FIXES 128848 - - Change-Id: I319e6e95d699ea87ecc72888452b5e1e6fcd88b0 - Reviewed-on: http://gerrit.openafs.org/3876 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c15468e2605446fa89e351131ba429a360d823f8 -Author: Andrew Deason -Date: Mon Jan 31 11:18:39 2011 -0600 - - afsd: Do not check for /afs if -nomount - - If -nomount was passed, we don't try to mount /afs. So, there is no - reason to require its existence. - - Change-Id: Id426f345b94de8f2d673af62fe14f803d1c77752 - Reviewed-on: http://gerrit.openafs.org/3822 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit efe4a20c46c73c39bd979437956beddcd3057bc3 -Author: Jeffrey Altman -Date: Mon Jan 31 11:43:39 2011 -0500 - - Windows: No NCBRESET when probing Loopback after start - - The Netbios NCBRESET command resets all of the Netbios state - associated with the LAN adapter including the name bindings. - In response to a detected LAN adapter IP address change, the - smb_LanAdapterChange() function is called to determine if any - Netbios LAN adapter bindings that were in use or should be in - use by afsd_service were altered. As part of the check, - lana_GetUncServerNameEx() is called which in turn calls - lana_FindLoopback() which in turn issued a lana_IsLoopback() - for each LAN adapter with the 'reset adapter' flag set to TRUE. - - Calling lana_IsLoopback() with 'reset' equal TRUE was fine - when lana_GetUncServerNameEx() was only called from smb_Init(), - but it is not fine when called after the service is processing - calls. By resetting the adapter the binding of the netbios name - "AFS" (or "-AFS") is removed and all outstanding calls - are canceled. If the SMB redirector attempts a reconnect during - the window before NCBADDNAM is called to re-bind the name, a - negative cache entry will be placed in the netbios name lookup - table that will prevent the SMB redirector from connecting to - the client for several minutes. - - If the environment is one in which frequent IP address change - events are triggered, it is possible that the SMB redirector - will never be able to reconnect to the service. - - This patchset adds a flag, LANA_NETBIOS_NO_RESET, to the - lana_GetUncServerEx interface which permits smb_LanAdapterChange() - to avoid the undesirable reset. This negative flag was selected - in order to avoid changing the current default behavior as the - lanahelper library is used by out of tree installers and it - is preferred that OpenAFS avoid breaking them unnecessarily. - - Change-Id: I094af7b342d27c65025235888705af8af1a7d56e - Reviewed-on: http://gerrit.openafs.org/3821 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d12d2c08eef5b2bffccefac61465b7d4e40bba9f -Author: Derrick Brashear -Date: Mon Jan 31 15:07:45 2011 -0500 - - evalmountdata: put back colon in .:mount syntax only if we removed it - - we looked for a set character (not NULL) at cpos before, instead - of looking for a non-NULL pointer. fix it. - - Change-Id: Iaa370980b6482f1c50e11f161e3208c039043a6f - Reviewed-on: http://gerrit.openafs.org/3874 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 66bd7cf95ead1c27d81a25f4ca75b49ec173c136 -Author: Simon Wilkinson -Date: Sun Jan 30 20:54:30 2011 +0000 - - tests: Fix auth/superuser-t.c to work on Linux - - Fix the superuser tests so that they can be run on Linux. This - requires explicitly including sys/wait.h so we can use waitpid, - and changing some initialisation ordering so that we initialise - the RX library before we try and fake an rxkad token. - - Change-Id: I8439ff6211a50c749ea22819e2d836409a64d2ad - Reviewed-on: http://gerrit.openafs.org/3776 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 60eff137a99ed7d9d5e70966c6f86425ae93b82b -Author: Simon Wilkinson -Date: Sun Jan 30 18:35:28 2011 +0000 - - bozo: Fix linker problem on Linux - - Some unconnected changes break the Linux linker when faced with this - library list. librx is included too early, and liblwp isn't included - after the second inclusion of librx. Reorder the library list to fix - this problem, and so it matches the library order in the rest of our - modules. - - Change-Id: Iba19111f613c70c8a6e66539b437a99d58faf7f4 - Reviewed-on: http://gerrit.openafs.org/3775 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c8b0c9ca9478851ea35034f0fcaf01e1583c7b28 -Author: Simon Wilkinson -Date: Sun Jan 30 19:11:57 2011 +0000 - - Windows: Install rx_atomic.h - - Install the rx_atomic.h header into the build-wide header directory, - so that modules other than RX can make us of it. - - Change-Id: Id3c3d0c486412942fb0772d7a8cf5d2fc1bf8876 - Reviewed-on: http://gerrit.openafs.org/3774 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c0254b5652bff52ba6c13546beda323d8ed1bb88 -Author: Simon Wilkinson -Date: Fri Jan 28 15:20:25 2011 +0000 - - Unix CM: Move kernel crypto include files - - Move the crypto include files which are used for kernel builds into - the hcrypto directory where they logically belong. - - Change-Id: Ic904e63e48d09e6a2049f4e1c4433980ecf0fa1e - Reviewed-on: http://gerrit.openafs.org/3767 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 67195401c915b23e092f98c89ab5f5580a9cf3f6 -Author: Jeffrey Altman -Date: Sat Jan 29 23:24:16 2011 -0500 - - Windows: out of order locks cm_CheckCBExpiration - - The recent refactoring of cm_CheckCBExpiration introduced - a lock ordering error between the cm_scache_t rw lock and the - cm_scacheLock. This patchset fixes the error by dropping the - cm_scacheLock as each cm_scache_t is being processed. - - Change-Id: Ib9e45abc5a43ca550d4a2a7923e3b30017e9fbf9 - Reviewed-on: http://gerrit.openafs.org/3773 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit d8a2291c06b6c7ec86b5556ff742c4afb7d28736 -Author: Simon Wilkinson -Date: Fri Jan 28 15:01:21 2011 +0000 - - aklog: Use correct CFLAGS - - The aklog Makefile was setting XCFLAGS, but then not actually using them - which meant that we never used the correct include path for the Kerberos - libraries, or defined ALLOW_REGISTER - - Change-Id: Iae573bc216b42bdf9aa49e9f5f42a883e08b6265 - Reviewed-on: http://gerrit.openafs.org/3766 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 299e942ae98dfea3a4804c724e5d440715974e0c -Author: Rod Widdowson -Date: Fri Jan 28 16:49:03 2011 +0000 - - Do not compare an FD_t < 0 - - FD_t is an abstract type. Invalid file decriptors are == INVALID_FD. - In most places this module does the right thing. Fix the last - stragglers where it is testing as less than zero. - - Change-Id: I9ae3db8775ce69da070a4ebef5a532e1db035977 - Reviewed-on: http://gerrit.openafs.org/3768 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 52556d50298e4a636f07e9a3cf0b6557c882c82d -Author: Marc Dionne -Date: Tue Jan 25 18:18:56 2011 -0500 - - linux: 2.6.38: Make d_revalidate RCU-walk aware - - Signal to the vfs that we don't support path RCU walk in - d_revalidate. It will call back in non-RCU mode. - - Change-Id: I15d0d30131b205a38577666122b067807282a7cd - Reviewed-on: http://gerrit.openafs.org/3759 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 08bb83d95027bb3ac68834d12b72bdc647fa24a9 -Author: Marc Dionne -Date: Tue Jan 25 17:17:21 2011 -0500 - - linux: 2.6.38: New d_op handling - - In 2.6.38, the super block structure has a new field to hold the - default dentry ops. The vfs will automatically set it for new - dentries in most cases. - - Set s_d_op to our set of operations, and omit setting the dentry - ops where the vfs will already do it (and where new locking rules - prohibit it). - - Change-Id: I9d738bdd528577d0a7ccd307246b5e935379c84d - Reviewed-on: http://gerrit.openafs.org/3758 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 54fb96d2b6517ae491fd7a7c03246850d29156d5 -Author: Andrew Deason -Date: Thu Dec 2 17:13:17 2010 -0600 - - RX: Avoid retrying calls on busy channels - - When we receive an RX_PACKET_TYPE_BUSY packet, we currently ignore it. - This is a problem when the server has a long-running call on that same - call channel that we don't know about, since we will then keep - retrying the call on the same channel and keep getting - RX_PACKET_TYPE_BUSY responses. - - Try to avoid this by returning the RX_CALL_TIMEOUT error when we get a - BUSY packet and there are other free call channels available on the - conn. When the application gets the error and retries the call, we - avoid using the same call channel again where possible. When all of - the call channels appear busy, we revert to effectively the old - behavior of retrying the call on the same channel until we get an - RX_CALL_DEAD (or similar) error. - - FIXES 128671 - - Change-Id: I29b84aa36dcc856528c30d26811e5d6c4b78a1ca - Reviewed-on: http://gerrit.openafs.org/3431 - Tested-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 29ef47dfab86f7b226e0518b1365c27a8eb5126f -Author: Heimdal Developers -Date: Thu Jan 27 12:18:44 2011 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 8ce821c38744b30e226ff024f675668b991b984d (switch-from-svn-to-git-1998-g8ce821c) - - Upstream changes are: - - Asanka C. Herath (2): - Revert use of backslash as an escape for double quote in config strings - Condition roken's ssize_t definition for compatibility - - Love Hornquist Astrand (1): - don't undefined SLIST - - Change-Id: I8855e060e88008f95eb2b24b029843081702fc04 - Reviewed-on: http://gerrit.openafs.org/3761 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 962a95c21cc82a8bbb1dc1233c91acd7236fc8e4 -Author: Jeffrey Altman -Date: Wed Jan 26 20:10:57 2011 -0500 - - Windows: Correct cm_volume locking - - cm_volume_t flags was used for two categories of flags. The first - protected by the cm_volume_t->rw lock. The second protected by - the global cm_volumeLock. Separate the flags field into two - afs_uint16 fields and break the flag space into FLAG and QFLAG. - - Add assertions to the volume LRU functions to ensure that they - are always called with cm_volumeLock write-locked. - - Correct two locations where cm_AdjustVolumeLRU() was called - read-locked instead of write-locked. - - Change-Id: I7991b995a3c981cd5d08d9cbba09badc81518a5a - Reviewed-on: http://gerrit.openafs.org/3760 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5817a13b84496c087b350be50c17a8b0f9aac9d5 -Author: Andrew Deason -Date: Tue Jan 25 10:46:38 2011 -0600 - - vol-salvage: Only delete bad vnodes during !check - - In SalvageIndex, if check is true, we're only supposed to check for - consistency and not actually change anything (this is enforced by an - assert later on). The check for vnode magic consistency breaks this - assumption, and just always fixes the vnode. - - Change this so we just error out if check is set, and the vnode magic - is wrong. - - Change-Id: I9e2d3bd5e9e340a9b2ac66d70d52aa110b512561 - Reviewed-on: http://gerrit.openafs.org/3756 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 14f5466eeea8cc088d64c6f270c05be457a01cfe -Author: Derrick Brashear -Date: Tue Jan 25 13:32:38 2011 -0500 - - MacOS: fix SetFile call in growlagent makefile - - somehow this got corrupted earlier. fix it to use the right arg. - - Change-Id: Ic597412819a9186d7b4b0b0c7e93e7c75b9a979a - Reviewed-on: http://gerrit.openafs.org/3755 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5fe04739e0407079a0439f28c6aaaa86d5399e71 -Author: Jeffrey Altman -Date: Thu Dec 2 00:36:58 2010 -0500 - - Windows: cm_GiveUpAllCallBacksAllServersMulti() - - Implement a multi_RXAFS_GiveUpAllCallBacks version of - cm_GiveUpAllCallBacksAllServers() and use it in place of - the non-multi version. - - Change-Id: I6d630ab7a5cf3a3434d088a9e8cde046b541cd3f - Reviewed-on: http://gerrit.openafs.org/3648 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4f838b03bbf9ea0e1ede8a188ea6dde3efb4e231 -Author: Rod Widdowson -Date: Sun Jan 23 14:29:51 2011 +0000 - - Windows: fix parameters and return value from nt_seek - - SetFilePointerEx takes specific values - (FILE_BEGIN/FILE_CURRENT/FILE_END) whilse fseek requires SEEK_SET, - SEK_END, SEEK_CUR. It turns out that these overlap, but we should - not let that pass unchallenged. - - SetFilePointerEx returns nonzero for success zero for failure. fseek - returns the other way around. - - Neither of these changes currently matter, but we should fix them. - - Change-Id: Ib31cf6265fa1e714232ff0d2e099c657e41f17e9 - Reviewed-on: http://gerrit.openafs.org/3746 - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6d2636b886789f2ddc6374c6b7e58ccd28d518aa -Author: Rod Widdowson -Date: Sun Jan 23 10:59:28 2011 +0000 - - Windows: read and write take void* buffers, open takes a const char* - - nt_read and nt_write were defined to take a char* buffer which was - then cast to a void *. Meantime every call of OS_READ and - OS_WRITE were casting to a char*. - - Equally every call of OS_OPEN was passing down a const char*, - causing warnings. - - This checkin fixes this: - nt_read : char* to void* - nt_write: char* to const void* - nt_open char* to const char* - - Change-Id: Id4e138b9d347e1a9f35241e162a105d5f462b168 - Reviewed-on: http://gerrit.openafs.org/3744 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 42c5806599c1df65ee8ec1272f691df30ea44d4c -Author: Antoine Verheijen -Date: Mon Jan 24 00:38:03 2011 -0700 - - OpenBSD: Eliminate complaint about built-in malloc. - - With OpenBSD 4.8, OpenBSD now uses gcc 4. With its new - defaults, the OpenAFS compile of the kernel module now - complains incessantly about the conflict between the - built-in malloc versus the kernel version (which has - extra parameters). Therefore, set -fno-builtin-malloc - when compiling the kernel module to remove the noise - since the differences can't be reconciled otherwise. - - Change-Id: I7e28e6275ca90f73a8d1f65d82f1ccf2cc3a0ead - Reviewed-on: http://gerrit.openafs.org/3751 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e1b0a95352e2e6aa312a526ffcc8a2f77a8fb7df -Author: Antoine Verheijen -Date: Mon Jan 24 00:34:56 2011 -0700 - - OpenBSD: Remove user.h from dir.c for OpenBSD 4.8 - - OpenBSD 4.8 no longer needs to include h/user.h in dir.c - and it's presence now gets in the way of the compile so - remove it. - - Change-Id: Ie270f94db69f344c5c1a3942db395dbe3a47d5e9 - Reviewed-on: http://gerrit.openafs.org/3750 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e4660dd8cfb314971224dac5d1d13426d56494dd -Author: Antoine Verheijen -Date: Mon Jan 24 00:17:46 2011 -0700 - - OpenBSD: curproc has moved in OpenBSD 4.8 - - With OpenBSD 4.8, curproc has moved from h/proc.h to - h/systm.h. Fix rx_event.c to reflect this change. - - Change-Id: I38d4676d445bfafa47f2ae973d789d0b9f6a687a - Reviewed-on: http://gerrit.openafs.org/3749 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit be0e9fb703d9ca0ae17f1117cd53796f82d7fb30 -Author: Antoine Verheijen -Date: Mon Jan 24 00:16:02 2011 -0700 - - OpenBSD: Add support for OpenBSD 4.8 - - Add param headers and other config info for OpenBSD 4.8 - support. - - Change-Id: I3af37dd79260d29bb7f3793c9a965bb84faab31f - Reviewed-on: http://gerrit.openafs.org/3748 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 40497fa667d15aaaa8f6befdc45cff40cc544616 -Author: Rod Widdowson -Date: Sun Jan 23 14:32:04 2011 +0000 - - Windows: remove unused label in ntops.c - - The label 'retry' in nt_open is not used and was causing a warning. Remove it. - - Change-Id: I964d954e4f9cdb672c689a6e757a5f62bea8f65c - Reviewed-on: http://gerrit.openafs.org/3747 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ffb0cdcc91d86f6e7b62561aebe6dcb722c3d768 -Author: Rod Widdowson -Date: Sun Jan 23 12:04:59 2011 +0000 - - Windows: remove faulty assumptions about device names in vol-salvage - - The implementation has an assumption that all disk volumes have an - object name of \Device\HarddiskXXX (where XXX is a number). This is - wrong since the name is purely a convention and since about WXP they - have been called \Device\HarddiskVolumeXXX. - - Either way it is spurious to assume the format and then try to compare - the XXX. This change just compares the strings. This is done in a - case insenstive manner which is the safer option. It is quite - feasible, but very unlikely that someone will uses 'case sensitively - different' object names. - - Change-Id: Ifa91c88f2b17f747f30541b8833b722cf5993e48 - Reviewed-on: http://gerrit.openafs.org/3745 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit f60bca943f7bc6352a5f7beedbb7ca47559f3513 -Author: Jeffrey Altman -Date: Fri Jan 21 20:13:45 2011 -0500 - - Windows: more exports afsauthent.dll - - pr_SIdToName - afsconf_GetExtendedCellInfo - afsconf_UpToDate - - required for new Explorer Shell functionality - - Change-Id: I085d32b9786d9bf26d527cc3dd49c2d51ab1cb56 - Reviewed-on: http://gerrit.openafs.org/3739 - Tested-by: BuildBot - Reviewed-by: Stefan Kueng - Tested-by: Stefan Kueng - Reviewed-by: Derrick Brashear - -commit de7af90fb8a1a132fb44fcc3d732fb593a45f6db -Author: Jeffrey Altman -Date: Sat Jan 22 12:15:03 2011 -0500 - - Windows: log and invalidate invalid dir pages - - If when parsing a directory page in cm_ApplyDir the consistency - checks fail, log a message and invalidate the page in case - it was a transient failure. - - Change-Id: Iab690cd876a717fbdef30fb78e4ed559fa7e0a5a - Reviewed-on: http://gerrit.openafs.org/3742 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cd6bd75d1c97ce87ab1597d80fcd3cee2ea18825 -Author: Antoine Verheijen -Date: Fri Jan 21 09:25:22 2011 -0700 - - OpenBSD: Make OpenBSD 4.7 param headers consistent - - OpenBSD follows the policy of using a separate common - param file (post 1.4.x). However, when introducing support - for i386 OpenBSD 4.7, this was not done and a single param - config header file was created instead. This patch changes - the param files for OpenBSD 4.7 so that they are - consistent with the other OpenBSD versions by using a - separate common param header file. - - Change-Id: I9d828d2447a2d018eeea0fbe9f4c047ac819d209 - Reviewed-on: http://gerrit.openafs.org/3725 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5fdc2679dc973fa45bf4b3bc7f21a527492868db -Author: Jeffrey Altman -Date: Thu Jan 20 02:15:18 2011 -0500 - - vol: fix CreateFile params nt_unlink and nt_open - - nt_unlink: when opening a file handle to assign delete on close - status the caller must request DELETE permission. - - nt_open: make sure that DELETE permission along with FILE_SHARE_DELETE - is requested if we wish to permit another CreateFile call in the future - to assign delete on close. - - Change-Id: Ib971ecc098dbc5eb64dcbfed93c334397c9d8ac9 - Reviewed-on: http://gerrit.openafs.org/3711 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Derrick Brashear - -commit d6528628b4dcadce47bb1a9244768ca3d43b0bf3 -Author: Jeffrey Altman -Date: Thu Jan 20 02:19:03 2011 -0500 - - vol: namei_ops improve readability; fix namei_create on Windows - - use NAMEI_SPECDIRC, NAMEI_INODESPECIAL, INVALID_FD and other - preprocessor symbols in place of numeric constants. - - namei_create() on Windows must call namei_CreateDataDirectories() - and retry if the afs_open() call fails with either ENOTDIR or - ENOENT. - - modify namei_HandleToName() on Windows to make its decision - process clearer. - - Change-Id: Ib1dfbaa3afe81f57685c95cdcae749c67cc95598 - Reviewed-on: http://gerrit.openafs.org/3712 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit eb6f3a89a3f4da6d3de2d4ae34743014e4eb0fb2 -Author: Jeffrey Altman -Date: Thu Jan 20 02:06:12 2011 -0500 - - vol: add comment nt_unlink cannot with fopen handles - - On Windows, files opened via the CRT fopen or open - POSIX compatibility functions cannot be marked for delete - on close. Add a comment until such time as the use of - fopen and open on Windows can be replaced. - - Change-Id: I9cec46bef332c981b2f64ba85e310783e3c71bc9 - Reviewed-on: http://gerrit.openafs.org/3707 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - -commit 55ca096adbaf0256c2a21d28060cbc667cf6b69e -Author: Jeffrey Altman -Date: Thu Jan 20 02:03:56 2011 -0500 - - vol: remove potential data loss warnings in vol-salvage.c - - afs_sfsize_t is not always the same size as 'int'. - Avoid warnings by using afs_sfsize_t in the appropriate locations. - - Change-Id: I88f7458421c3a9c2081597e5481d352bd5a2927a - Reviewed-on: http://gerrit.openafs.org/3706 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - -commit 01fc5d0577409c889ca5ad6f3bc1d624138922bc -Author: Jeffrey Altman -Date: Thu Jan 20 02:01:38 2011 -0500 - - vol: use correct file name base for temporary file - - Inconsistent use of temporary file name bases resulted in - the temporary files never being deleted. - - Change-Id: I0be59282488bb2db0f1b7b5200df5bd6ac285711 - Reviewed-on: http://gerrit.openafs.org/3705 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 089a3f5e8b0b00942cd0ccff5be7b4f671fcbf82 -Author: Jeffrey Altman -Date: Thu Jan 20 01:59:46 2011 -0500 - - vol: use OS_UNLINK instead of unlink - - Use OS_UNLINK in order to ensure that platform specific - unlink functions are called. OS_UNLINK is unlink on Unix. - - Change-Id: Idcfc18345abe5532e9ebe97fc757d6f435c2af52 - Reviewed-on: http://gerrit.openafs.org/3704 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 141aca818ef9e5a6af309edc9512cc5cfee38e90 -Author: Jeffrey Altman -Date: Thu Jan 20 01:56:33 2011 -0500 - - vol: fix namei_ListAFSSubDirs on Windows - - The directory level represented by 'dirp2' does not exist on - Windows. Do not attempt to close the DIR object that was - never opened. - - Remove unnecessary function prototypes. - - Change-Id: Ib6b27e52f0120115173cb04893092ba6f2da32fe - Reviewed-on: http://gerrit.openafs.org/3703 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 259a0e886a29874420010544e33a789cac1692c1 -Author: Jeffrey Altman -Date: Thu Jan 20 01:51:26 2011 -0500 - - vol: use OS_DIRSEP in many more places - - For consistency use OS_DIRSEP and OS_DIRSEPC throughout the - package. - - Change-Id: I7bb93b4fe7324492e71a6d303e2b74723aaefc5a - Reviewed-on: http://gerrit.openafs.org/3702 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 8bb5e291777a0439c7a15262bdbc70d8bd9cc4a6 -Author: Jeffrey Altman -Date: Thu Jan 20 01:45:29 2011 -0500 - - vol: fix _namei_examine_reg DELETE_ZLC usage - - replace 'i' with 'dirl' and assign the new variable a value - before using it. - - Change-Id: Ia93b6c75154b6f2a9238f0e9c2881d6c79c36540 - Reviewed-on: http://gerrit.openafs.org/3701 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 270e5c01784f6459dd3d1dec81b714a6d7f2baea -Author: Jeffrey Altman -Date: Thu Jan 20 01:39:11 2011 -0500 - - vol: make it clearer that SetOGM is not impl on Windows - - Separate the SetOGM function into two implementations to - match the other OGM functions. Implement the Windows version - as returning -1 always. - - In the future, the OGM functions could be renamed to express - their purpose: saving and restoring the volume id and tag - associated with a file. Windows currently encodes this - information using the CreationDate and the file name but - in the future this information might be stored in an alternate - data stream. - - Change-Id: I7e60cceb4548b7ad3a1e045f390e7052fece4926 - Reviewed-on: http://gerrit.openafs.org/3700 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 959a892afcc1f33871489912a8ea183fc7fca6c2 -Author: Jeffrey Altman -Date: Thu Jan 20 01:35:08 2011 -0500 - - vol: avoid double dir separators from addtoname - - The manner in which addtoname() is used can often result - in double dir separators in path names. Check for it and - avoid doubling the separator in addtoname() - - Change-Id: Ie33459bec3bcc93f81f13020cd35ed8c473b6ca5 - Reviewed-on: http://gerrit.openafs.org/3699 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Reviewed-by: Rod Widdowson - Tested-by: BuildBot - -commit 9e689e96099dba5227e62ea2c6069062daaac85a -Author: Jeffrey Altman -Date: Thu Jan 20 01:23:37 2011 -0500 - - vol: clear ih_synced before dropping lock - - in ih_reallyclose() clear ihP->ih_synced before dropped - the IH_LOCK. ih_reallyclose() is already committed to - performing the OS_SYNC() call. Failing to clear the ih_synced - flag before dropping the lock permits another thread, the ih_sync_all() - thread for example, to also conclude that it must sync the - file. - - Change-Id: Icb928f7d2ec2342a57ed21b440ae0580c980e9d2 - Reviewed-on: http://gerrit.openafs.org/3696 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6f39035c92713b08065bee28ffdf06c5fe32a971 -Author: Derrick Brashear -Date: Wed Jan 19 22:56:12 2011 -0500 - - MacOS: don't allow krb5 at login when AD plugin authenticates - - if AD is being used to verify authentication (e.g. via builtin) - don't allow get krb5 at login to succeed. since a helper does this we can't - grey the option, but we can decline to act on it. - - Change-Id: I1f2bb891377c3ed9765f9e58141c77ec54d3ae22 - Reviewed-on: http://gerrit.openafs.org/3690 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - Tested-by: BuildBot - -commit 53dcb4a56ee690df8cc787e0cf1557d1484be13e -Author: Jeffrey Altman -Date: Thu Jan 20 02:14:14 2011 -0500 - - vol: nt_DriveToDev must return a value - - Change-Id: I27cf468e9d61542f9893367a18c2f7dd6854cdf6 - Reviewed-on: http://gerrit.openafs.org/3710 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1ad22ed7e14d1ed643add0dbf80c82b96ae69fc8 -Author: Jeffrey Altman -Date: Thu Jan 20 02:11:57 2011 -0500 - - vol: nt_open should not create missing directories - - Revert the prior change that added directory creation - to nt_open(). nt_open() should fail and the caller should - create the directories. Failure to do so results in an - incomplete tree which confuses the salvager. - - Change-Id: Ieb2a05baada2531dad1869e95823fe2006bdc2c6 - Reviewed-on: http://gerrit.openafs.org/3709 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3c25ae062a30c83f6dfb388f31878555d6cb63d7 -Author: Jeffrey Altman -Date: Thu Jan 20 02:09:44 2011 -0500 - - vol: Make ntops functions 64-bit capable - - Add 64-bit offset and length support to ntops functions. - - Change-Id: I1804d49df344839598c39084b7763cec4100c8c7 - Reviewed-on: http://gerrit.openafs.org/3708 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 48508a202129be6e56beaec56314cc13d68d69f5 -Author: Jeffrey Altman -Date: Thu Jan 20 01:33:27 2011 -0500 - - vol: avoid defining unused struct on windows - - namei_ogm_t is not used on Windows. There is no equivalent - to owner/group mode. - - Change-Id: Ib0675f106bf5e77b006ebe5eae5d67ee232313e0 - Reviewed-on: http://gerrit.openafs.org/3698 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5184261cde260f1aaf67a7cb2fea1b9ba3a4b2b0 -Author: Jeffrey Altman -Date: Thu Jan 20 01:31:41 2011 -0500 - - vol: indent cpp definitions; add NAMEI_SPECDIRC - - Change-Id: Id6d962a7c9e78f6a4b4bb7a6250e77efd40cc3c4 - Reviewed-on: http://gerrit.openafs.org/3697 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fe9285f77a680b6e6d0995166f3c384aac676a8c -Author: Jeffrey Altman -Date: Thu Jan 20 01:20:05 2011 -0500 - - vol: remove [UN]LOCKFILE data loss warnings on Windows - - Cast to DWORD since the results of the mask and shift - are guaranteed to be 32-bit. This avoids sixteen warnings. - - Change-Id: Ifdb9356e207b4b8791b5923985a70efeb457edb1 - Reviewed-on: http://gerrit.openafs.org/3695 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6bf5f463c7957e71e15f6b98cdb3afb24f2fbe6a -Author: Jeffrey Altman -Date: Thu Jan 20 00:57:03 2011 -0500 - - Windows: build mtafsdir.lib and use it - - The executables built in src/vol are pthreaded. Therefore, they - require a pthread safe version of the src/dir objects. Instead - of building the dir object files in yet another directory, create - a mtafsdir.lib in src/dir and use it in src/vol, src/tviced and - src/tsalvaged. - - Change-Id: I50017bd56ec741af1ff3fc1dd39208e610369088 - Reviewed-on: http://gerrit.openafs.org/3693 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Derrick Brashear - -commit bc674908ca5100a0734069a019d9a31788dd52fb -Author: Toby Burress -Date: Wed Jan 19 23:32:01 2011 -0500 - - FreeBSD: properly identify the rxk_Listener so that msleep() returns - - afs_osi_Wakeup() was not being called with the proper argument, - causing afs_osi_Sleep() to fail forever while waiting for rxk_Listener - to wake up. - - Change-Id: I1b650c57ae507987359d0cb230400d3d23984cfa - Reviewed-on: http://gerrit.openafs.org/3692 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 02a1eb4aae5e8df97fbb6dbcb9845e37195a7dbd -Author: Antoine Verheijen -Date: Wed Jan 19 16:06:03 2011 -0700 - - OpenBSD: Change code optimization setting - - Change the optimization level set when optimization is - enabled during build from the sytem default of '-O' to - '-O2' for OpenBSD systems. - - Change-Id: I20962c124da5426409638453e1efdd37b4e5f393 - Reviewed-on: http://gerrit.openafs.org/3689 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8b932375ecca3fefc1190a8d23d5c24ae538cfae -Author: Antoine Verheijen -Date: Wed Jan 19 15:57:25 2011 -0700 - - Move check for unspecified CFLAGS in configure.ac - - configure.ac provides a check to see if the user has - specified CFLAGS and if not, it sets CFLAGS to a blank - (not NULL) string so that the resultant configure script - does not set '-g' and/or '-O2' by default. This check - occurs after AC_USE_SYSTEM_EXTENSIONS in the configure.ac - file. However, on at least some systems, such as OpenBSD, - AC_USE_SYSTEM_EXTENSIONS expands to include the code that - configure uses to set '-g -O2' so the check has no effect - and '-g' or '-O2' can not be turned off. This patch moves - the "CFLAGS specified" check so that it precedes the - AC_USE_SYSTEM_EXTENSIONS directive, in which case - everything works. - - Change-Id: I68ed5a3c5129a55f7dcd7413c93f35cc7cb14b9c - Reviewed-on: http://gerrit.openafs.org/3688 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a5441776b639cd32c2271917dd55fa491f9e512f -Author: Antoine Verheijen -Date: Wed Jan 19 14:14:47 2011 -0700 - - OpenBSD: No ruid/rgid in cred structure. - - OpenBSD does not retain ruid or rgid values in the - afs_creds_t structure (ucred). This patch, therefore, - removes any references to them in the afs.h file. Since - no attempt is made to actually use the removed code (or - macros) on OpenBSD, at least at this time, this does - not result in any real functional change. - - Change-Id: Iaceb792f0c39ba6f7caa205bc66af16a23193549 - Reviewed-on: http://gerrit.openafs.org/3687 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 646a6a41698da45550a3cb899f104d9e3e548ea4 -Author: Antoine Verheijen -Date: Wed Jan 19 13:43:21 2011 -0700 - - OpenBSD: Don't call non-existent routines in osi_vfsops.c - - The OpenBSD version of osi_vfsops.c makes calls to routines - that do not exist in the system and aren't needed. In the - past, these calls were wrappered by an #ifdef for - AFS_DISCON_ENV which was never defined. That #ifdef is now - gone so this patch removes the calls to these routines, - which are remnants of the NBSD origins for this particular - code. - - Change-Id: I8cc97fde8cd5cf6c241dd3074c0f97b5d3e2ccfd - Reviewed-on: http://gerrit.openafs.org/3686 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 5ff6c88fcc0c35843e91dc45e4bd297efd0d4445 -Author: Antoine Verheijen -Date: Wed Jan 19 13:30:24 2011 -0700 - - OpenBSD: Fix parameters in call to afs_close() - - OpenBSD passes an extra parameter in a call to afs_close() - in its OS-specific code. It went undetected in the past - but now causes compile headaches because of more accurate - prototypes in the header file. This patch removes the - offending extra parameter (which never actually caused any - problems because it was the last one in the parameter list). - - Change-Id: I6bde0c6c98867c47a574fa5e3e01ec560deb17b0 - Reviewed-on: http://gerrit.openafs.org/3685 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6d8e3392b77d72f6d05b94fa9c48813ceed5980d -Author: Antoine Verheijen -Date: Wed Jan 19 13:13:09 2011 -0700 - - OpenBSD: Install no-NFS version of libafs - - The build process for OpenBSD builds the no-NFS version of - the kernel module but, at install time, the NFS version is - subseuquently built and installed while the no-NFS version - is ignored. The NFS version does not load and is not needed - in OpenBSD so this patch makes sure that the no-NFS version - is installed and used. - - Change-Id: I1d07334121911c22aea1f6d157f34e1b40e5b780 - Reviewed-on: http://gerrit.openafs.org/3684 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9743a644adb37230eae3b11ad3e4a1e8e7a1ebce -Author: Derrick Brashear -Date: Wed Jan 19 14:58:59 2011 -0500 - - MacOS: panic decoder should check for unloaded kexts - - if the openafs kext was unloaded from under us, try to handle that. - - Change-Id: I6a5e56da3c4b6290b71dd10e919a0f374998338e - Reviewed-on: http://gerrit.openafs.org/3683 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d5367b5f1494ca2cf09f62d7f2ffa6304e38a648 -Author: Antoine Verheijen -Date: Wed Jan 19 11:52:10 2011 -0700 - - OpenBSD: Fix use of macros for AFS_KALLOC/AFS_KFREE - - The macro definitions for AFS_KALLOC and AFS_KFREE used by - afs_osi_alloc.c to perform OS-specific memory allocation - are only defined by the OpenBSD osi_machdep.h header file - if they already exist, which means: never. This patch fixes - this situtation and makes sure that afs_osi_alloc.c - actually uses them, eliminating a direct OS-specific call - in afs_osi_alloc.c. - - Change-Id: Ida1608774de3bc5861b223574f3cbf0d9647266c - Reviewed-on: http://gerrit.openafs.org/3682 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1c7420422313375f7132479c588f09eabac73c70 -Author: Antoine Verheijen -Date: Wed Jan 19 11:20:21 2011 -0700 - - OpenBSD: Remove macros definitions for afs_osi_Alloc et al. - - The afs_osi_Alloc, afs_osi_Free, etc. routines are now - defined in afs_osi_alloc.c so the macro definitions defined - by osi_machdep.h for OpenBSD are no longer needed and, in - fact, interfere with the compile. Remove them. - - Change-Id: I98a261b5cd5e44136e4dde677f86d90212b0cfba - Reviewed-on: http://gerrit.openafs.org/3681 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 26f0ddd0cd3c7c34880e8717d59ee1d653036455 -Author: Jeffrey Altman -Date: Sun Jan 16 16:42:15 2011 -0500 - - volser: select() cannot be used to sleep on windows - - On Windows must use Sleep() instead of select() with no - fd_set parameters. - - Change-Id: I693718c74dd9be0b4eb58ec26afac0882845e71c - Reviewed-on: http://gerrit.openafs.org/3675 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Tested-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - -commit 8895fe0fab04d49f8c2b279d915c5f292b55c2be -Author: Jeffrey Altman -Date: Sun Jan 16 15:49:02 2011 -0500 - - Windows: refactor cm_CheckCBExpiration multihomed - - cm_CheckCBExpiration() is refactored to make it easier - to read the decision process. cm_CheckCBExpiration() - determines when a callback is no longer usable and as a - result the object status info should be discarded. - - The windows cache manager preserves status info past - callback expiration if all of the sources of a volume - became inaccessible prior to the callback expiration - time. The cache manager was improperly preserving the - status info for objects when the callback was issued by - a multi-homed file server when only the interface that - issued the callback is down. - - A separate cm_server_t object is used to represent - each file server interface. When one interface goes - down and others are left up, the cache manager will - now replace the down cm_server_t reference for one that - is up. This substitution is performed as a side effect - of computing the effective downTime in cm_CBServersDownTime(). - - Change-Id: Ia6336a3bdd0219497fd47460accddd0cd2629f00 - Reviewed-on: http://gerrit.openafs.org/3674 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit f25cbdf09ff890846a68f619ccb1d00ab2b3c7a8 -Author: Jeffrey Altman -Date: Fri Jan 14 00:22:39 2011 -0500 - - Windows: use cm_ServerEqual() in cm_Analyze() - - In cm_Analyze() when processing VNOVOL, VMOVED or VOFFLINE errors - do not use pointer equivalence as the test to determine if a - server is affected by the error. Use cm_ServerEqual() instead. - - Fix cm_ServerEqual() to work even when both cm_server_t objects - are not UUID aware. - - Change-Id: Icb83ba77984075216a44cdeba689bc05e98ed92a - Reviewed-on: http://gerrit.openafs.org/3659 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7c0d4b331e8d1f962aae5328490944182311a569 -Author: Rainer Toebbicke -Date: Tue Jan 18 14:56:17 2011 +0100 - - Re-enable rx connection hard timeout - - A missing "conn->" in rxi_CheckCall prevents checking hard connection timeouts. - - Change-Id: I893a1ba71957e2a830029dfc4e3ac51fa461d6ca - Reviewed-on: http://gerrit.openafs.org/3677 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 802899aac022ab537159f3cd4435d072b5edc4be -Author: Andrew Deason -Date: Mon Jan 17 12:35:46 2011 -0600 - - vol: Windows requires binary fmode for salvaged - - Same as 98f633c60d20834cee0bbc0770a3146b06642a59, but for the - salvageserver. - - Change-Id: I961e31fd6a2a6e08e3bd4381793195bb1e388e7c - Reviewed-on: http://gerrit.openafs.org/3676 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 038264b4d62803bd71ac0d7706b56b7f18f31dca -Author: Jeffrey Altman -Date: Sat Jan 15 11:49:54 2011 -0500 - - vol: use OS_UNLINK() instead of unlink() - - OS_UNLINK provides the platform specific mechanism - for unlinking objects. - - Change-Id: Id0a1f50e57fe3c21c46e137e86507bf28bafa046 - Reviewed-on: http://gerrit.openafs.org/3670 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a65ea91e2a6ab3870fe2e9e1a17c82e2a62c2910 -Author: Jeffrey Altman -Date: Sat Jan 15 11:54:40 2011 -0500 - - vol: construct proper VolDir path on Windows - - namei_HandleToInodeDir initializes the path name with - the nt_drive value. Therefore calling addtoname(name, name->n_drive) - produces the invalid path "D:\D:\\Vol_.....". Remove the unnecessary - addtoname() call. - - Change-Id: I4933d3f4fda76050eecde3caeaa6bc30011cd974 - Reviewed-on: http://gerrit.openafs.org/3672 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit bae39a9aa3738878708f4c67d17750beca4d6dca -Author: Jeffrey Altman -Date: Sat Jan 15 11:52:45 2011 -0500 - - vol: fdHandleAllocateChunk should init all fields - - fdHandleAllocateChunk() failed to initialize the fd_ihnext - and fd_ihprev fields. - - Change-Id: I605b6fc3c4cefe6e5c4169762fbd6047fb895b70 - Reviewed-on: http://gerrit.openafs.org/3671 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 47e2149335066883450cb2a751bd057dcd1af79d -Author: Jeffrey Altman -Date: Sat Jan 15 11:47:47 2011 -0500 - - vol: use OS_DIRSEP when constructing paths - - Do not assume that / is the directory separator when constructing - paths for internal consumption or log messages. Use OS_DIRSEP - or OS_DIRSEPC as appropriate. - - Change-Id: Ifed618dfa30f2aee27de1ef57de5e504d6701d4d - Reviewed-on: http://gerrit.openafs.org/3669 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ecf55b063e7c9bbbac426831dfe504c1db92bb52 -Author: Jeffrey Altman -Date: Sat Jan 15 11:44:08 2011 -0500 - - volser: use OS_CLOSE() instead of close() - - Use OS_CLOSE() instead of close() when closing vol package - allocated file descriptors. On Windows, close() != nt_close(). - - Change-Id: I5737c0e4e83534bd5f4183dde195c4b8091474c1 - Reviewed-on: http://gerrit.openafs.org/3668 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 05d5f012e0be9be1c2c82871a75ac76d437b9688 -Author: Jeffrey Altman -Date: Sat Jan 15 11:39:39 2011 -0500 - - vol: initialize FdHandle_t stack objects - - In namei_create() a temporary FdHandle_t is allocated on - the stack but was never initialized. Depending on what - prior data was on the stack the FdHandle_t could result - in subsequent operations failing in unpredictable ways. - - Change-Id: I6246930adc87cf84ad9c0913cda2d00e6f851bc1 - Reviewed-on: http://gerrit.openafs.org/3667 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 714b3ffb2258b316621415c2e81372dc48b4119d -Author: Jeffrey Altman -Date: Sat Jan 15 11:07:19 2011 -0500 - - vol: Fix ntops to provide expected semantics - - nt_open() can be asked to open a file with a path containing - directory components that do not yet exist. Modify nt_open() - to automatically create directories if necessary. - - nt_read() and nt_pread() should not treat partial reads due - to reaching EOF as an error. Instead, return the bytes read. - - Change-Id: If088393a842d6f6d7ad901345e94e92d23f2321c - Reviewed-on: http://gerrit.openafs.org/3666 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 98f633c60d20834cee0bbc0770a3146b06642a59 -Author: Jeffrey Altman -Date: Sat Jan 15 11:04:48 2011 -0500 - - vol: Windows requires binary fmode for salvager - - In order for salvager to work properly it must read and - write data in binary mode. On Windows, this is accomplished - by calling _set_fmode(_O_BINARY) to set the default mode for - fopen(), etc. - - Change-Id: Ieb00222ceccb6f044453b60d288e2badf713e517 - Reviewed-on: http://gerrit.openafs.org/3665 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e8e69d5b2c611df249fd613ed068fc030a0e30d1 -Author: Jeffrey Altman -Date: Sat Jan 15 11:01:55 2011 -0500 - - vol: fix OS_LOCKFILE/OS_UNLOCKFILE for Windows - - On UNIX the OS_LOCKFILE and OS_UNLOCKFILE macros return zero - on success. Since Windows LockFile() and UnlockFile() return - non-zero (TRUE) on success, negate the return value as part - of the macro definition. - - Change-Id: Icb4c8555de9a16fdfddcaeb9ede28bbd401e76b7 - Reviewed-on: http://gerrit.openafs.org/3664 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ac79869f62d667737ea0020218eb4dc90a731171 -Author: Andrew Deason -Date: Fri Jan 14 15:13:46 2011 -0600 - - RX: Pre-10 Solaris lacks atomic inc/dec - - The atomic primitives in Solaris before Solaris 10 lack atomic_inc_32 - &co. Make things easier and just implement them in terms of - atomic_add_32 &co when we are older than Solaris 10. - - Change-Id: I70c829ef969824efd7843df80bd48e98477a5574 - Reviewed-on: http://gerrit.openafs.org/3663 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 9cc9b0d618ba1c787a8a684077c1d2f205b8889c -Author: Andrew Deason -Date: Fri Jan 14 14:52:10 2011 -0600 - - RX: Include netinet/ip6.h before inet/ip.h - - Some older Solaris (at least some Solaris 8) requires netinet/ip6.h to - be included before inet/ip.h, or the compiler chokes on some - ipv6-related declarations in inet/ip.h. So, include it. - - Change-Id: Icabc32c093fab5e3442701b2ea6ae593d7fceb7e - Reviewed-on: http://gerrit.openafs.org/3662 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2045653647fc2de451c9615f18316416de7e1657 -Author: Andrew Deason -Date: Fri Jan 14 14:00:14 2011 -0600 - - merge-pod: Be more compatible with older perl - - merge-pod works fine with perl 5.00503, if we eliminate the 3-argument - invocation of open(). So, replace the open() calls with their - 2-argument equivalent, and relax the version requirement a bit. - - Change-Id: Ibeda39f2620ab1056e2d42838833d140ec3c053f - Reviewed-on: http://gerrit.openafs.org/3661 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3c91f1d88165dca085a26b87f2c0148e84e179d2 -Author: Ben Kaduk -Date: Thu Jan 13 20:16:44 2011 -0500 - - FBSD: remove vestiges of Giant - - We do not support versions of FreeBSD that used Giant to - serialize access to vnode fields, and we always use the same locking - (which really ought to be MPSAFE). Always set the MPSAFE flags - as needed, and do not bother to call VFS_[UN]LOCK_GIANT which - will never do anything for us. - - Change-Id: I973a24d43563f289d4a2baa6e067fbba72d17ed9 - Reviewed-on: http://gerrit.openafs.org/3656 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a61a719d35cd6008f35c4f5cb8aaa83453d1d8c1 -Author: Jeffrey Altman -Date: Fri Jan 14 00:15:10 2011 -0500 - - Windows: fixup gettmpdir() - - Use InterlockedCompareExchangePointer for hostparse() - instead of fudging it and leaking memory. - - If the max path length is MAX_PATH must allocate MAX_PATH+1. - - Change-Id: I9162188c78922202b40859249736a23beae60b3e - Reviewed-on: http://gerrit.openafs.org/3658 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e50cab06c4a5dad37b27f411dfd511130567726d -Author: Jeffrey Altman -Date: Fri Jan 14 00:13:49 2011 -0500 - - Windows: osilog param size is size_t - - The parameter size is size_t which permits pointers to be stored - on 32-bit and 64-bit systems. Make sure we store it as size_t - instead of truncating to long. - - Change-Id: I96aaf231eedef742095edf247dc1013e3d90257e - Reviewed-on: http://gerrit.openafs.org/3657 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fa3584a48f646f5384f0950d9a560226ac3a3460 -Author: Andrew Deason -Date: Mon Jan 10 17:13:15 2011 -0600 - - RX: No userspace atomic_ops in Solaris pre-10 - - The atomic_ops(3C) family of functions do not exist in userspace - before Solaris 10. So, only use them for rx_atomic operations if - we're on AFS_SUN510_ENV, or if we're in the kernel. - - Also, include for kernel code and for - userspace. Although they are currently equivalent, they are documented - as separate, and pre-10 lacks . - - Change-Id: Id71857efcd6460f8223302850b548754c19d076f - Reviewed-on: http://gerrit.openafs.org/3652 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6edcb1830480ef55d9dcb8a3b4735c30d802cbe4 -Author: Derrick Brashear -Date: Wed Jan 12 16:45:57 2011 -0500 - - afsd: CellItems doesn't apply to memcache mode - - avoid a potential panic from passing a bogus path into the kernel for - evaluation, in memcache mode. - - Change-Id: Iaa11eded2e8946207f7df9e77c3de1e5ff4f963e - Reviewed-on: http://gerrit.openafs.org/3651 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 6d03eef7217be8f0b72f34ab023e69c976dea84d -Author: Andrew Deason -Date: Wed Jan 12 10:29:46 2011 -0600 - - SOLARIS: Include sys/varargs.h for kernel stdarg - - When compiling for the kernel, pre-10 Solaris seems to want - instead of , as documented in the Solaris - man pages. So include instead of where we - need variable arguments (afs_warn.c). - - Change-Id: Id16453b1f7bb9f42d0cc9ca504ac64d04fb0b684 - Reviewed-on: http://gerrit.openafs.org/3653 - Tested-by: Andrew Deason - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 8c541079573274d726180d3d9679c6a26cda84ea -Author: Marc Dionne -Date: Mon Jan 10 21:31:18 2011 -0500 - - Cache bypass: fix use of incorrect "states" - - Test and set the correct field for cache bypass flags. There was - some confusion between cachingStates and the states associated with - vcache entries in a few places. - - Change-Id: Iae957b6f838a44d75776e49662b4aba685800d19 - Reviewed-on: http://gerrit.openafs.org/3637 - Reviewed-by: Matt Benjamin - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 336256c7a0e7d54495a070895c9d8c2057168839 -Author: Andrew Deason -Date: Mon Jan 10 12:11:22 2011 -0600 - - LINUX: afs_linux_put_link is void - - The put_link callback doesn't return a value, so declare it as such. - - Change-Id: Icdc19de48747fdfbd3349b2ef0c2b51d5a369550 - Reviewed-on: http://gerrit.openafs.org/3636 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8d157961e96ec6b504ea40dcef51fb4a8d61d371 -Author: Stephan Wiesand -Date: Sat Jan 8 17:13:27 2011 +0100 - - rpm: don't package files twice - - The LICENSE and two manpages were included in the main - package as well as one of the others. Remove duplicate entries. - - Change-Id: I7626d758a65fe305f18e7cc9099d1fe1b4f86c6f - Reviewed-on: http://gerrit.openafs.org/3628 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 60322b46755d0bfedc239e3e9287f6ae625cd836 -Author: Andrew Deason -Date: Fri Jan 7 20:48:18 2011 -0500 - - git-version: Do not specify --ignore-submodules - - Only new git versions reognize the --ignore-submodules option to - diff-index and diff-files. Do not pass this, to make git-version more - likely to work across different versions, as we don't have any - submodules in the tree anyway. - - Change-Id: Ic9dbd9ec5f332f36cec291fc3d324db14615f831 - Reviewed-on: http://gerrit.openafs.org/3627 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9f584e811486da7129a61da554fae09029b0de67 -Author: Jeffrey Altman -Date: Sat Jan 8 12:21:23 2011 -0500 - - Windows: refactor buf_Get() to improve readability - - Refactor buf_Get() by using a switch() instead of a jumble - of if() conditionals. - - Improve comments to make it clear that given the current - use and implementation of cm_BufRead() from cm_dcache.c - that created buffer pages will never be populated with - actual data. - - Change-Id: Ib3f5778ae32f210127537e16ecc32e1598dbefc7 - Reviewed-on: http://gerrit.openafs.org/3630 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f58b17a6150f8d303b408f9eed27bf0e850ec580 -Author: Jeffrey Altman -Date: Sat Jan 8 12:19:07 2011 -0500 - - Windows: remove all refs to unused buf_GetNew() - - Change-Id: I09b87a2042efff1b5930ebe6e50a64379d592bc2 - Reviewed-on: http://gerrit.openafs.org/3629 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3f0c08ad93bf98fbe64d5714649d675712410cc9 -Author: Tom Keiser -Date: Wed Oct 13 01:16:25 2010 -0400 - - provide more verbose logging when VGetVolumeByVp_r fails - - FSYNC_com_VolOff() commits sepuku when VGetVolumeByVp_r() fails to return - a heavyweight ref to the volume. This small patch provides more detailed - debugging information so we have a better idea why VGetVolumeByVp_r failed. - - Change-Id: I9b8b6e734653701c4f35b458f4c4701a2b0d2d5e - Reviewed-on: http://gerrit.openafs.org/2969 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9bb6b06c76802f8080c4c19b99efa7c6423f9021 -Author: Jeffrey Altman -Date: Tue Jan 4 11:18:25 2011 -0500 - - Windows: remove unused vars from cm_server.c - - Change-Id: Ia2e1d5ecbc5dbc349ac8e7bfcb63b42545f876f5 - Reviewed-on: http://gerrit.openafs.org/3617 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3ab948769cae172d1bf16cb870f0ff2e7627bae6 -Author: Jeffrey Altman -Date: Wed May 12 11:27:17 2010 -0400 - - Windows: netidmgr_plugin move roken.h to afscred.h - - Due to historical issues with the MIT KFW headers - the netidmgr plugin must define _USE_32BIT_TIME_T - which alters the size of time_t in all C RTL data - structures that include it. roken.h must be included - after this definition in order for it to do the right - thing in conjunction with the MIT KFW headers. This - means that an exception to the rule that roken.h must - be one of the first three files included in every - source file in the tree must exist for this directory. - In the netidmgr_plugin directory, afscred.h includes - roken.h and afscred.h is the first header included - in all other files. - - Change-Id: I11214e5eaac0144aaf04c3a21bb92d521d75c6e1 - Reviewed-on: http://gerrit.openafs.org/3616 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 605b7c3baaeb7553cb2e150f1156eba6be04c1f8 -Author: Jeffrey Altman -Date: Mon Jan 3 21:07:10 2011 -0500 - - Windows: permit clean when switching platforms - - When switching between i386 and amd64 in the same build tree - the "clean" make directive would fail due to NTLang.bat not - having been built in the new platform's destination directory. - Force NTLang.bat to be built as a dependency of cleanup and - delete it at the end along with the version files. - - Change-Id: I49a44204c636ab9ad89be44d4fad20ed6050fdda - Reviewed-on: http://gerrit.openafs.org/3615 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bf163cbebfec97b83c070d22fed1eabf7a2da629 -Author: Simon Wilkinson -Date: Mon Jan 3 10:47:30 2011 +0000 - - roken: Check for bswap16 and bswap32 defines - - Our imported roken.h provides definitions for bswap16 and bswap32, - but configure doesn't check to see if those functions already exist. - On operating systems where they do, and where the header containing - them is included in our build, this results in compilation errors. - - Add a configure test for bswap16 and bswap32, which is complicated - by the fact that they may be macros, or static inline functions, so - a simple CHECK_FUNCS won't work. - - Change-Id: Iae3411bf4bb22af8cfd770e01026a28e1863e078 - Reviewed-on: http://gerrit.openafs.org/3613 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 735f5b051521d047b18bef867042f59dc006098e -Author: Simon Wilkinson -Date: Sat Sep 11 12:53:07 2010 +0100 - - Unix CM: Don't blow up if we have non-rxkad tokens - - The legacy GetToken compatibility code assumed that we would always - have at least one rxkad token for a cell, and segfaulted if we didn't. - - Just return as if we have no tokens if a cell doesn't have an rxkad - token. - - Change-Id: Ica64882c1a64cf140ad6c277c70fbfb747ea6235 - Reviewed-on: http://gerrit.openafs.org/3614 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c8fc94fb86255a2c5cbd1613b33e32ec3a4d3b21 -Author: Simon Wilkinson -Date: Mon Jan 3 10:40:56 2011 +0000 - - autoconf: Tidy up header includes - - Tidy up our list of header includes so it's easier to see what - we're testing for. The list is now one-per-line, in alphabetically - sorted order. - - Note that this won't affect our use of the default include set, as - autoconf will already have tested for all of those before it starts - this CHECK_HEADERS run. - - Change-Id: Iffc8c3bc7cbd56d87508ebdde38e61f8747d0501 - Reviewed-on: http://gerrit.openafs.org/3612 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a0adc8cd6ef62deaef8c2861f8a94f23a007fc81 -Author: Simon Wilkinson -Date: Thu Dec 30 16:30:37 2010 +0000 - - auth: Move key related code to its own file - - Move all of the libauth code which does KeyFile management out - into its own file, in preparation for a major rewrite. - - Change-Id: Id880136307cba726c04a003700ba70f3d74b297f - Reviewed-on: http://gerrit.openafs.org/3611 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit cfee25cdc885a5ad669b206ab4e96fa09d1c19a6 -Author: Simon Wilkinson -Date: Thu Dec 30 17:52:00 2010 +0000 - - libadmin: Don't use internal struct for key data - - The afsconf_dir structure should be regarded as private to the libauth - library, which provides accessors for the commonly used parameters - within it. Rework libadmin so that it uses those accessors when looking - up key data. - - Change-Id: I9a623ccadba95622894931ee25319d3bcb019136 - Reviewed-on: http://gerrit.openafs.org/3608 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e0efb936ffd012308e30e96c461cf720c2bd3bf0 -Author: Simon Wilkinson -Date: Thu Dec 30 17:56:36 2010 +0000 - - tests: Add more tests for auth KeyFile handling - - Add tests to make sure that we serialise updated KeyFiles to and - from disk correctly, and that the restriction on 8 keys in a KeyFile - is enforced by AddKey - - Change-Id: Iac5bf7157534879824da92ea58f1515672d59298 - Reviewed-on: http://gerrit.openafs.org/3610 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4d7a0615d838ac687f352f60690f60c4f97ae846 -Author: Simon Wilkinson -Date: Thu Dec 30 17:53:59 2010 +0000 - - roken: Export more snprintf symbols - - Export more of the snprintf symbols from librokenafs, so that we - can actually make use of them. - - Change-Id: Ida347c516bec6444d26d0e148ffd781999f0b364 - Reviewed-on: http://gerrit.openafs.org/3609 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 13ae3de3f6ce5de2395823ee5f862a863caf2e51 -Author: Simon Wilkinson -Date: Sun Feb 14 10:01:14 2010 +0000 - - Add "brief" option to rxgen - - Add a new -b option to rxgen that turns on "brief" output. This makes a - number of changes to the data definitions produced by rxgen so they can - be more easily used by the calling code. - - The changes are: - *) Use the new struct rx_opaque structure for all opaque data - definitions, rather than defining each as a unique structure. - This permits moving opaque data between rxgen structures to be - performed by simple assignment. - *) Use anonymous structures for internal definitions. Currently - rxgen also uses the field name as the structure name, which - prevents the use of a field name more than once within a - source file. - *) Don't embed the structure name within the names of the elements - within the structure. This significantly reduces the length of - assignment code, and makes for more readable callers. - - Change-Id: I8cad7e6051f12238a77cf006b0854fb38b54f61a - Reviewed-on: http://gerrit.openafs.org/2585 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b114faf52f3af0debadc1f045be6212084a70305 -Author: Simon Wilkinson -Date: Thu Dec 16 11:36:43 2010 +0000 - - rx: Implement rx_atomic_dec_and_read - - Add a function which decrements an atomic counter, and returns the - result. This is essential for implementing reference counting. - - Change-Id: Ib173f078bcf117369a82f981d58124018648a71c - Reviewed-on: http://gerrit.openafs.org/3581 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 50b1c161e8bed6ad3625b4156dc6481c77ecd866 -Author: Simon Wilkinson -Date: Thu Dec 16 11:35:54 2010 +0000 - - rx: Protect rx_atomic.h against multiple inclusion - - Add #ifdef guards so that rx_atomic.h can't be included in the same - C file multiple times. - - Change-Id: Ic62287ce4a21b9efbfd9530e2517029a69217a56 - Reviewed-on: http://gerrit.openafs.org/3580 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 1879e1bce21918cecaee505656664be0fb6b8bce -Author: Simon Wilkinson -Date: Sat Jan 1 23:58:20 2011 +0000 - - auth: Don't crash if UserList contains bogus line - - If the first line of the UserList was bogus (caused ParseLine to - return an error), then we would attempt to free the contents of - an uninitialised identity structure, and crash. Initialise the - structure so this no longer happens. - - Change-Id: I55074a5eb616ac48d8a278db2d8389d3b0e112a6 - Reviewed-on: http://gerrit.openafs.org/3607 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a7fb4262597c07ca5da9709df75a2007b92b222b -Author: Simon Wilkinson -Date: Sat Jan 1 23:51:18 2011 +0000 - - rx: Don't crash when emptying an empty identity - - In common with our other freeContents functions, freeing the contents - of a structure which is already empty shouldn't crash. - - Change-Id: I93b54c0e450d2184c10575b50dadfd1471d43289 - Reviewed-on: http://gerrit.openafs.org/3606 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 616763cd077fab807da21590bd9ad3b0b02ea844 -Author: Vincent Archer -Date: Thu Dec 30 11:34:28 2010 -0500 - - Windows: MIT license applies to parsemode() - - Vincent Archer grants permission to OpenAFS to re-license - his MINIX contributions under the MIT license. A copy of the - e-mail granting permission is located in OpenAFS RT issue 128805. - - FIXES 128805 - - Change-Id: I59774d14a0099f5a48dbc9dbf13157136b8c681f - Reviewed-on: http://gerrit.openafs.org/3605 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b6576d8cb554af50dfe7b6d9b668bd35ff202a83 -Author: Jeffrey Altman -Date: Wed Dec 29 11:35:17 2010 -0500 - - Windows: buf_CleanAsync scp->fid == bp->fid - - If buf_CleanAsync or buf_CleanAsyncLocked are called - with a non-NULL cm_scache_t parameter, that status object's - fid must be the same as the associated cm_buf_t object. - If not, the wrong locks will be held. - - If the cm_scache_t parameter is NULL and cm_FindSCache() - returns NULL, it means that the cm_scache_t object associated - with the bp->fid has been flushed from the cache. cm_GetSCache() - must therefore be called to allocate a new status object for the - FID. If the status object cannot be allocated, then any dirty - data stored in the buffer will be discarded. - - Change-Id: Ie5d4eb8a1090d4b3c0753b7ddee2de0799485a2e - Reviewed-on: http://gerrit.openafs.org/3604 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 4e3207335771b78ff27a1f1c0755cdfcf78d7f30 -Author: Jeffrey Altman -Date: Tue Dec 28 14:39:47 2010 -0500 - - Windows: fs checkserver skip multi-homed up server - - Multi-homed file servers can be detected by comparing the - uuid for the cm_server_t entries. If a server has at least - one up interface, do not list it as being down in the "fs checkserver" - response list. - - Change-Id: I718eeee3316d05a33a4af97ca6c7fd947db41f44 - Reviewed-on: http://gerrit.openafs.org/3603 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit e4b59c633962d7784485f8e2d4185edaf91bf23d -Author: Jeffrey Altman -Date: Wed Dec 22 23:23:48 2010 -0500 - - Windows: fs checkservers should list vldb as well - - The Windows fs checkservers has only listed offline - file servers. Include vldb as well to match the Unix - cache manager. - - Change-Id: I81b8e4a1a813fcd8f19e3dc58c75ef161795518c - Reviewed-on: http://gerrit.openafs.org/3602 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 463b045b9fe4a412877c2a65f5deafb1442c1bf1 -Author: Jeffrey Altman -Date: Mon Dec 27 19:34:14 2010 -0500 - - vos: do not mix memory allocation methods - - ListVLDB mixed memory allocated with xdr_alloc() and memory - allocated with malloc(). This is not safe to do since it is - possible on some platforms for xdr_alloc() to allocated memory - using a method other than the malloc() linked to the vos - executable. - - Instead of stealing the xdr_alloc()'d buffer, allocate a new - buffer and copy the contents. - - Change-Id: Icdda3d4d0b7c15464fe7f48123f3e0ebed4c2cc5 - Reviewed-on: http://gerrit.openafs.org/3600 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8e9fff9ed8d773e4a22730d485c0617c456bb0e0 -Author: Jeffrey Altman -Date: Mon Dec 27 17:57:59 2010 -0500 - - Windows: cleanup preprocessor definition namespace - - Do not use reserved preprocessor symbol names. Instead - use OPENAFS__
_H formatted names where - is the subdirectory path from src/ in which the header - file originates in the repository. - - Change-Id: I998d7feeddeb9660f3fc514e2ba752c54e402a24 - Reviewed-on: http://gerrit.openafs.org/3599 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 683747b9c4b3d9d77fb8c68df09a59807d027a42 -Author: Jeffrey Altman -Date: Fri Dec 24 13:36:51 2010 -0500 - - Windows: separate parsemode from fs into own file - - Separate parsemode() from fs.c into parsemode.c. - - Restructure the function prototypes and the fs.h header - to permit building fs.exe from multiple source files. - - Change-Id: I80840899706fd585addd165edc13a9e79928427a - Reviewed-on: http://gerrit.openafs.org/3591 - Reviewed-by: Russ Allbery - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit a7836dda8c1aab18c937c7e8909d4d9a678a53fa -Author: Jeffrey Altman -Date: Fri Dec 24 10:06:05 2010 -0500 - - vos: free ubulkentries with xdr_free - - Instead of using free() to free the ubulkentries data structure - use xdr_free(). - - Change-Id: I367e984d1777fcc8a3ec81b501174fae2fd0c8ff - Reviewed-on: http://gerrit.openafs.org/3590 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - -commit 9f17cef3d3614d79b3ab2dc6807f9d0f928ab6db -Author: Simon Wilkinson -Date: Mon Dec 27 20:29:48 2010 +0000 - - tests: Add tests for afsconf_'s key functions - - Add tests for all of the public functions that afsconf exports - to manipulate KeyFiles. Include a sample Keyfile to start with, to - ensure that we can continue to read KeyFiles produced by current - versions of the code. - - These tests are here to catch regressions with a forthcoming rewrite - of KeyFile handling. - - Change-Id: I02aaff82aa7e1b7a73981c7cf26a81164e0dd932 - Reviewed-on: http://gerrit.openafs.org/3598 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8992210f27671673a89a541776aa105238ad14cf -Author: Simon Wilkinson -Date: Sun Dec 26 14:54:43 2010 +0000 - - Don't trust # of entries from ListAttributes - - ListAttributes returns the number of entries in its array as an RPC - argument. But, we can't trust this, as it could be manipulated and - end up pointing past the end of the returned array (which is counted, - so the entries argument is actually pointless). - - Add bounds checking to the functions which use this value to prevent - this problem. - - Change-Id: I62398d8f6b5c54318c1a42f1bad67a21c90ef944 - Reviewed-on: http://gerrit.openafs.org/3597 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 95ef4cfd394345ed4c1f7902fa9dc198dcbec938 -Author: Andrew Deason -Date: Tue Dec 21 21:40:19 2010 -0500 - - Remove extra trailing \s in Makefiles - - Remove a few extra trailing \s in Makefiles in viced and bozo. Some - 'make's (such as the make on HP-UX) interpret this to e.g. include the - following "headers=" stuff to be included in LIBS, which obviously - causes problems. - - Change-Id: I7a49ce5b8d40636bb3b4fe7978aa25b5411c7eed - Reviewed-on: http://gerrit.openafs.org/3575 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 02a2f6005042b9370350bdc03d4aab83355b205d -Author: Simon Wilkinson -Date: Sun Dec 26 14:14:38 2010 +0000 - - volser: Fix broken bulk conversion - - The converstions between the original, N and U bulk list return - values were all broken in various ways: - - 1/ Shifting from malloc to xdr_alloc() (in 4f1efdc8b73ed) - subtly changed the behaviour when handling an empty list. The - correct XDR representation of an empty list is {0, NULL}, not - {0, &memZero}. Fix the code so that if the source list is empty, - an empty destination list is returned. - 2/ The destination list length was never being filled in. This means - that xdr_free() could not be safely used on this list, as the wrong - length would be passed to the allocator. Fill in the destination - list length as part of the conversion. - 3/ xdr_free(...) is a no-op when called with an empty list - there's - no need to check before calling it. Remove these checks to improve - the code's readability. - 4/ xdr_free(...) should only be called when the RPC returned - sucessfully. The stub is responsible for freeing data should the call - fail mid way through unmarshalling. - 5/ Where an RPC returns the number of entries independently of the - length of a counted array, it is unsafe to use that length to - iterate the array without checking that it is within the array - bounds. Instead, just use the array length when performing - conversions. - - Change-Id: Ied9a77849062e5a1e506f13d4d90d116cefe41e4 - Reviewed-on: http://gerrit.openafs.org/3596 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 3503f32848ab3fcb0df5a0b40518106bf19cee6e -Author: Simon Wilkinson -Date: Sun Dec 26 14:00:42 2010 +0000 - - vos: Abstract out bulk list conversion - - Pull the various segments of code that do bulk list conversion into - their own functions. This is purely code reorganisation at this point, - fixes for these functions will follow in subsequent patches. - - Change-Id: I941e94aaf776ece85f041d02f5bdbaad5cf5b129 - Reviewed-on: http://gerrit.openafs.org/3595 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit b3c3fe137ed89f698fdd0a12e68582141d216548 -Author: Andrew Deason -Date: Wed Dec 22 10:46:11 2010 -0500 - - Link hcrypto before roken - - We must e.g. -lafshcrypto before we -lrokenafs, since stuff in hcrypto - can use functions provided by roken (such as ct_memcmp or - rk_cloexec_file). Fix any users of LIB_hcrypto that do not do this to - put LIB_roken after LIB_hcrypto. - - Change-Id: I55f5589a521ed7da7a6692d817e94f18076ff4bc - Reviewed-on: http://gerrit.openafs.org/3584 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 676a4efc232bc77fe20e46c2dbe45e89f89cd670 -Author: Russ Allbery -Date: Fri Dec 24 10:53:22 2010 -0800 - - Update NEWS for 1.5.78 and 1.6.0pre1 - - Based on the release notes. Add an entry for 1.6.0 with in progress - instead of a date to hold the release notes for 1.6.0pre1 rather than - creating separate entries for each release candidate. Users who track - the release candidates can refer to the public announcements, and this - will be cleaner when reading history later on. - - Change-Id: I8d14dd0ec030e3d047f1d2e85c888c1d86e7f3c0 - Reviewed-on: http://gerrit.openafs.org/3592 - Tested-by: Russ Allbery - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 83ac1558b6cc8245166d997a44297eb197348616 -Author: Simon Wilkinson -Date: Fri Dec 24 18:32:30 2010 +0000 - - auth: Add more tests and resulting fixes to userok - - Add tests for the functions afsconf_SuperUser() and - afsconf_SuperIdentity(). These had been missing tests because testing - them requires starting a client and a server, so amend the superuser-t - tests so that they can start up a simple server. - - Fix a number of problems that the tests expose, with setting (and - freeing) identities in corner cases. - - Change-Id: I29f5f9eda7f532c98183d588e488d704f8efad88 - Reviewed-on: http://gerrit.openafs.org/3593 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit affc978be7ba3c36c9b7a6a94fb5e907beebed99 -Author: Derrick Brashear -Date: Thu Dec 23 13:20:42 2010 -0500 - - DAFS: listvol + unsalvagable volumes = intolerable delay - - a non- inService volume (or more) plus vos listvol equals pain. - return Salvaging instead of waiting for it in the listvol case. - - Change-Id: I02bdbb6448bcf56e97db9324aa723cc753a37632 - Reviewed-on: http://gerrit.openafs.org/3588 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 651f66b0ffed08da82b352e3e252a03b8b13c780 -Author: Andrew Deason -Date: Wed Dec 22 09:46:48 2010 -0500 - - Prefer libHcurses over libcurses - - Use the HP-UX-specific libHcurses instead of libcurses, like we used - to. Otherwise we fail to link some gtx programs. - - Change-Id: I7b8a012d5d263c611a144e05466c5435b5ff310a - Reviewed-on: http://gerrit.openafs.org/3583 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 1bc23299720fc57dfefbb588f1f3de0ec792e069 -Author: Andrew Deason -Date: Wed Dec 22 00:02:45 2010 -0500 - - HPUX: Put __HP_CURSES back in - - We need __HP_CURSES to be defined in order to get the _maxx WINDOW* - field among other things. Define it on HPUX again (it was taken out as - part of 4a6a00d6f45bd0ac94e2eb05adee41552073643a). - - Change-Id: I3a17f270a034d97eea04580b8eae98a1784b5640 - Reviewed-on: http://gerrit.openafs.org/3582 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e9e52ebc465d06bbb40bbee2d86b6a93efb44c24 -Author: Simon Wilkinson -Date: Thu Dec 16 10:46:43 2010 +0000 - - rx: Make rx_atomic.h a shared header - - Copy rx_atomic.h into the shared header directory so that it can be - used by other modules within the AFS build. Note that we can't actually - install this header onto the system (and it cannot be included by - headers which are installed) because it uses autoconf defines to control - its behaviour. - - Change-Id: If543f998faa0608b4f7efab90db31f072f9e9981 - Reviewed-on: http://gerrit.openafs.org/3579 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c845670469b3f988e96cb7854e46974407447457 -Author: Derrick Brashear -Date: Tue Dec 21 09:08:03 2010 -0500 - - LWP: kill dead code - - the pthreads-wrapper LWP doesn't currently compile. it will need - to be revisited if we ever care. remove it (as well as a bit of other - unused code) - - Change-Id: I61e7bc493127ec49347ca02b24db8fa79e4cbb28 - Reviewed-on: http://gerrit.openafs.org/3564 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5d218831f3186d0d1dc7d3b00dd4a3b6a4a8757c -Author: Derrick Brashear -Date: Mon Dec 20 16:36:42 2010 -0500 - - LWP: don't copy pid to a null pointer - - In LWP_CreateProcess we take a pid. if it's null, don't crash. - - Change-Id: I2a491788f5ce23a094e65192164838d5bbfc4b31 - Reviewed-on: http://gerrit.openafs.org/3556 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fa4b1f3aeb33c28b2d8e2724542d1696fcc87773 -Author: Andrew Deason -Date: Tue Dec 21 10:31:39 2010 -0500 - - LINUX: Avoid unnecessary afs_ShakeLooseVCaches - - Before some of the NewVCache refactoring, we only called - afs_ShakeLooseVCaches when afs_vcount was over (or equal to) - afs_maxvcount. Do this again, so we only try to shake loose vcaches - when we need more vcaches. Otherwise, we will call - afs_ShakeLooseVCaches every single time we want a new vcache when - dynamic vcaches are disabled (such as 2.4 Linux), and we log a warning - when we can't free any (which is likely when there are only 1 or 2 - vcaches in use). - - FIXES 128756 - - Change-Id: Ia06f76a6f719e69881b91fb2d975cfc33c85c370 - Reviewed-on: http://gerrit.openafs.org/3569 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2ce159fbf474b96ecd2a4224751d4655230bba51 -Author: Andrew Deason -Date: Fri Dec 3 17:20:54 2010 -0600 - - LINUX: Reduce stack depth on recursive symlink res - - Instead of calling vfs_follow_link inside afs_linux_follow_link - ourselves, we can just resolve the next step of the symlink resolution - and set the result in nd_set_link(), freeing the string in - .put_link(). - - For kernels without a usable symlink text cache, this reduces call - depth when resolving a path containing many symlinks by two frames per - layer of indirection, allowing for more deeply-nested symlink paths to - be usable. - - Change-Id: I6886c3b67089c8028fd6ad93ab10eb9173bd6fbe - Reviewed-on: http://gerrit.openafs.org/3433 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 64e564b29e95898a6eb85dc527d046aab241fb8f -Author: Andrew Deason -Date: Mon Dec 20 17:29:37 2010 -0500 - - Cache bypass: remove ifdefs under src/afs/LINUX24 - - Same as commit 9657695d34badaac654227be8c731a1512f2106b, but for - LINUX24. Remove the AFS_CACHE_BYPASS references in LINUX24, since it - is always enabled. Also remove messages about a "cache bypass patched - module". - - Change-Id: I79526ed78752a4c3da7123e5af1c5eb6afc19fe3 - Reviewed-on: http://gerrit.openafs.org/3568 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 468ff8e4d298baba9c2d4f96d1a3ec12cf64d0c7 -Author: Derrick Brashear -Date: Tue Dec 21 09:17:38 2010 -0500 - - DARWIN: replace resource merge script ref with binary - - Ro is a helper tool; use Rez directly - - Change-Id: I7b3f8105344960a149d7fa0ee1fbb3a332486a04 - Reviewed-on: http://gerrit.openafs.org/3565 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0ef3ce2006b81f590c62a51b7ec903ebff24b9c8 -Author: Derrick Brashear -Date: Tue Dec 21 08:58:31 2010 -0500 - - DARWIN: make growlagent build not run afoul of ._ fun - - in some cases a git checkout would promptly merge the ._ file away, - meaning a subsequent build would fail. just use the developer tools - to set an icon instead of clever tricks. - - Change-Id: I34290f0f32cb7ae72a298a7af1ed4bd6a8ef9224 - Reviewed-on: http://gerrit.openafs.org/3563 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 9de81541aadd179aac6daa1c64b6a9cfda158b81 -Author: Derrick Brashear -Date: Tue Dec 21 08:57:05 2010 -0500 - - DARWIN: make ARCHFLAGS propagate to shlibs - - in order that configure not expand ARCHFLAGS (so we can override from - shell) escape the variable. - - Change-Id: I9d5c3f4cc58c66be7ffefbd134ba476673be6ea8 - Reviewed-on: http://gerrit.openafs.org/3562 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b1cb3607ff66b7fc6201fab2af57761156b1927f -Author: Ben Kaduk -Date: Sun Dec 19 19:33:28 2010 -0500 - - FBSD7: Don't sleep with the glock - - On FreeBSD 7.X, vinvalbuf() can (will) sleep; this results in a panic - when the kernel is configured with WITNESS and we hold the glock around - it. - Drop the glock in this case. - - Change-Id: I0036aad3059805d77afe9aa9bf7f5d421d6810f8 - Reviewed-on: http://gerrit.openafs.org/3551 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6040a4daa0b04085f18a8e232a1a99dc7cc36cf5 -Author: Ben Kaduk -Date: Sat Dec 18 23:52:44 2010 -0500 - - Bring FBSD 7.X client back to life - - Having been untested for quite some time, we had several - places that needed more conditionals to compile on FreeBSD 7. - - Now we compile and start on 7.3-RELEASE, but have locking issues - under actual use. - - It seems that we are also incompatible with the Heimdal 0.6.3 in - the base system -- aklog is unable to actually obtain the needed - credential when compiled against that kerberos implementation; - using MIT krb5 1.6.3 from ports works without incident. - - FIXES 128612 - - Change-Id: I831cea711067d04dc276deb171faf3369c55b775 - Reviewed-on: http://gerrit.openafs.org/3548 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 28032bc1c1aaa4c25e94025a8fa9e2b4e8131ce3 -Author: Ben Kaduk -Date: Sun Dec 19 00:06:13 2010 -0500 - - FBSD: StopListener glocking fixup - - afs_osi_Sleep requires the glock (so that it can sleep on it); we - dropped the glock earlier in osi_StopListener because soshutdown and - soclose can sleep, but we must (unconditionally!) acquire it for our - loop waiting on rxk_ListenerPid. - - Change-Id: I38c3ab6689a6af7f1693bd3c8348068ee280e530 - Reviewed-on: http://gerrit.openafs.org/3549 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ad0b390ec5303576cee37fa49bfd2a732b365a83 -Author: Andrew Deason -Date: Mon Dec 20 11:05:46 2010 -0500 - - LINUX24: Define afs_linux_can_bypass - - We call afs_linux_can_bypass, so make sure it exists. - - Change-Id: Ie4393cc57af1a52748b76d3403370fbd788d9f8a - Reviewed-on: http://gerrit.openafs.org/3554 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 6f65ace58d2c50313e307204c0e4a6408483a211 -Author: Andrew Deason -Date: Mon Dec 20 10:07:11 2010 -0500 - - LINUX24: Include linux/pagemap.h - - For 2.4 Linux we need to include linux/pagemap.h, otherwise we get - undeclared references to KM_USER0 and PAGE_CACHE_SIZE. - - Change-Id: I1bd6c6484a9b46f923fa31d1d45fbfedc243abbd - Reviewed-on: http://gerrit.openafs.org/3553 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4f89d4ad348f1b20b9f27e8985fa09eafb6212e0 -Author: Derrick Brashear -Date: Mon Dec 20 16:24:26 2010 -0500 - - backup: pass in valid dummy pid for LWP - - LWP_CreateProcess needs memory passed in; instead of a null pointer, - pass in a pointer to a PROCESS. - - Change-Id: I451d803461252e3afb5d89b840a1ee047228d204 - Reviewed-on: http://gerrit.openafs.org/3555 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 37c20528df26a43ec81b8e0f7658f1516d3c1b39 -Author: Ben Kaduk -Date: Sun Dec 19 19:29:17 2010 -0500 - - Zero rx_multi_lock before initializing it - - FreeBSD's kernel debugging facilities will panic if it detects - an attempt to re-initialize an already-initialized lock, as detected - through some particular bits being nonzero. Zero everything out - before starting, to prevent this panic. - - Change-Id: I7f3abae978d1cbe7eb4908d90c52a0dc46b81e08 - Reviewed-on: http://gerrit.openafs.org/3550 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit afef1712f28a1c83cfb732d1c4fde7faec4811fc -Author: Jeffrey Altman -Date: Sat Dec 18 18:39:07 2010 -0500 - - Windows: fs chmod and display mode in fs examine - - Make use of the new pioctl VIOC_GETUNIXMODE and VIOC_SETUNIXMODE - operations to display the current mode in fs examine and permit - setting the mode with "fs chmod". The mode string parsing makes - use of Vincent Archer's code from Minix. The required copyright - statement and license is attached to parsemode(). - - afsconfig-windows.h gains definitions for various mode symbols - that are not defined by Visual Studio runtime headers. - - Change-Id: I624f73154b7f177f93289e2641da5d9478ea931c - Reviewed-on: http://gerrit.openafs.org/3546 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bb4c0234b2fa5ae91097b6c40cbfda6ed7484eb0 -Author: Jeffrey Altman -Date: Mon Dec 20 09:59:43 2010 -0500 - - Windows: clear mountPointStringp on status change - - If the data version of the cm_scache_t changes, we must clear - the mountPointString. Otherwise, if the object is a mountpoint - or symlink, cm_HandleLink() will not attempt to build the new - target string. The Windows CM never updates the contents of - a mountpoint or symlink. It always destroys the old and creates - a new one. However, the Unix CM simply updates the link data. - Apparently, the Windows clients have never noticed. - - Change-Id: If2297ed0a323411df13b7828d11dbb653669d351 - Reviewed-on: http://gerrit.openafs.org/3552 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 27469e59b134efef6c908a1bfa8162d4bf9b8275 -Author: Jeffrey Altman -Date: Sat Dec 18 18:36:18 2010 -0500 - - Windows: Add VIOC_GETUNIXMODE and VIOC_SETUNIXMODE - - Add pioctls to get and set the UNIX mode bits for an - object in AFS. - - Change-Id: I220047d8be50b5db511e41004b8248859f479c0c - Reviewed-on: http://gerrit.openafs.org/3545 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 16dac6d4a6c9b19588daf6f11fa33940a381e23c -Author: Jeffrey Altman -Date: Sat Dec 18 18:27:49 2010 -0500 - - Fix fallback processing for ktc_GetTokenEx() - - The fallback processing after ktc_GetToken() generates - a token set or fails. Immediately return 'code' to the - caller after freeing ktcToken. - - Change-Id: If82c5c94b75152eaa4d077b428238e8f77478d05 - Reviewed-on: http://gerrit.openafs.org/3544 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f32a0df37be23fd87fa24187bbdd6a1ec73a2b27 -Author: Derrick Brashear -Date: Fri Dec 17 21:16:52 2010 -0500 - - darwin: fix fixed setpag error handling - - looks like testing 9da7f3cc73bf990427a9dd80ba2bbbb618383ea3 - failed to have the right dependencies. fixing the fix! - - Change-Id: Ib295e819667c895bfe52c4d5b217ebbeaf1e4c52 - Reviewed-on: http://gerrit.openafs.org/3542 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 98c6aadfa1c438fc9ae2cc47ddec739d0c7a8b8b -Author: Derrick Brashear -Date: Wed Dec 15 05:22:26 2010 -0500 - - macos nfs translator vnode ref fix - - code won't trigger today but we might as well get it right. - we already ref the vnode. don't leak refs. - - Change-Id: Ib2aa87ffbb8c6bbd38d8858328d26f1a37cf04b9 - Reviewed-on: http://gerrit.openafs.org/3532 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1519144f83925d82117f31ce0872f77660f197ee -Author: Anders Kaseorg -Date: Sat Nov 6 03:03:19 2010 -0400 - - Linux: Fix AFS_NORETURN violation with osi_AssertFailK - - Commit d86f0c44d3c5910a6b54895484dc0286eac9bc73 changed the - AFS_LINUX26_ENV implementation of osi_AssertFailK so that it returns, - contradicting its AFS_NORETURN prototype, in an effort to make the - following BUG() display the right line number. To fix this, move the - returning implementation into its only caller, the osi_Assert macro. - - This fixes possible compiler misoptimizations due to - - rx_kcommon.c:255:1: warning: ā€˜noreturnā€™ function does return - - Change-Id: Ibbcc630037002ce4659e2e6a36b39d271f9bdc58 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/3276 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit acfc61eca83ecc895e51ae512c1919e7997a560e -Author: Simon Wilkinson -Date: Mon Oct 25 11:26:51 2010 +0100 - - opr: Add new queue implementation - - Add a new queue implementation for OpenAFS. This has a similar calling - form as the current RX queue implementation, but is implementated using - type safe functions, and supports structures with multiple queue - headers. This permits threading a structure onto multiple queues at the - same time. - - The eventual intention is that this queue implementation will replace - both rx_queue and the Unix cache manager afs_q. - - Change-Id: I8f815872b017a85eb52a6e6451cdcee3eb869519 - Reviewed-on: http://gerrit.openafs.org/3139 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e8d8a2240a57f9f4a11ee45b60c229d3f8447b86 -Author: Derrick Brashear -Date: Wed Dec 1 15:22:30 2010 -0500 - - refactor afs_CheckServers - - basically, we need the ability to reuse this function, so, let's make it work - differently so we can. - - Change-Id: I41a7e1dc62feeb137f1a7f5c939f54cb59cc6c13 - Reviewed-on: http://gerrit.openafs.org/3403 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4e00fc6f0e412f438f2f72f8b427c21810d00109 -Author: Andrew Deason -Date: Wed Dec 8 18:16:14 2010 -0600 - - Add ioctl-based AFS calls for Solaris 11 - - Switch from using syscall-based AFS calls to ioctl-based AFS calls, - since syscall 65 was repurposed in some kernels in Solaris 11 and - OpenSolaris. Update the provided afs init script to accomodate the - additional steps needing for starting the AFS client. - - Partially based off of some work by Derrick Brashear. - - Change-Id: If694af8ac576856fed113851f1be4154b4d970d3 - Reviewed-on: http://gerrit.openafs.org/3498 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8815f5099129a4aa303bdda3adaea831914e98e5 -Author: GCO Public CellServDB -Date: Mon Dec 13 10:53:05 2010 -0500 - - CellServDB update 13 Dec 2010 - - Change-Id: Ic3c96d99656f50da82243385cb7f9bcdf78f12e4 - Reviewed-on: http://gerrit.openafs.org/3503 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f8400699a881eb4f675cba1fbcd7f7ac6eecd355 -Author: Jeffrey Altman -Date: Sat Dec 11 23:28:02 2010 -0500 - - Windows: log error code for smb lan thread fail - - When creation of the smb_LanAdapterChangeThread fails - log the error code as part of the panic message. - - Change-Id: Iac034bdf2f04aed08cf77702c701882c31a10b36 - Reviewed-on: http://gerrit.openafs.org/3502 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6229ffb7ae365174ccacabe00d1e986d2f9b2019 -Author: Jeffrey Altman -Date: Sat Dec 11 06:19:54 2010 -0600 - - Windows: PerformanceTuningInterval Merge error - - Due to a merge error, if RankServerInterval was set via the - registry, its value would also be used for the - PerformanceTuningInterval. Fix it. - - Change-Id: I6605146db0c25ecbf0d20f9d7198934f5bf411ad - Reviewed-on: http://gerrit.openafs.org/3500 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2cd0a1e4ff82349f8671783e40ea478096d69b56 -Author: Andrew Deason -Date: Fri Dec 10 14:43:24 2010 -0600 - - Add afs init script for Solaris 11 - - Change-Id: I978454a5d34aee412ec3e3d57a38859b1405e5fb - Reviewed-on: http://gerrit.openafs.org/3499 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit f88c91f7778b9a8bf920dce08ccab76ac0b1b433 -Author: Andrew Deason -Date: Wed Dec 8 14:57:13 2010 -0600 - - DAFS: Avoid logging harmless LEAVE_OFF failures - - The DAFS volserver can create temporary destroyMe volumes, which it - then tells the fileserver to keep offline with an FSYNC_VOL_LEAVE_OFF - message. When the fileserver doesn't know that the volume exists, - currently it responds with SYNC_DENIED, which causes the volserver to - log the error with a "negative response on circuit FSSYNC" message. - - These are harmless, though, since leaving a volume offline that the - fileserver does not know about is a no-op. So return the SYNC_FAILED - code instead, which does not get logged, and is more consistent with - some other FSYNC handlers like FSYNC_VOL_DONE. - - Change-Id: I315d091fb419767ae33c1846d90e5ef83372477d - Reviewed-on: http://gerrit.openafs.org/3494 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 95fc9ece507d3c5bd7914afadaaae9456eea9b7a -Author: Andrew Deason -Date: Wed Dec 8 12:41:44 2010 -0600 - - DAFS: Fix VOL_QUERY_VOP error codes - - Volumes in the VOL_STATE_DELETED state effectively do not exist. So, - when receiving an FSYNC_VOL_QUERY_VOP request for a volume, report - FSYNC_UNKNOWN_VOLID for a volume in the VOL_STATE_DELETED state. - Similarly, if the volume exists but on a different partition, we - should return the FSYNC_WRONG_PART reason code. - - This allows volumes to be usable by the volume server in some corner - cases. For example, when a volume X exists on partitions A and B, and - the volserver deletes X on B. The fileserver then puts volume X in the - DELETED state, allowing checkouts over fsync, but FSYNC_VOL_QUERY_VOP - reports that no vop exists. - - With this change, FSYNC_VOL_QUERY_VOP will instead report that the - volume does not exist, and so FSYNC_VerifyCheckout can succeed for - such volumes. - - Change-Id: I6c4f7deead745ddba44963a9f66a9f2ef25686a5 - Reviewed-on: http://gerrit.openafs.org/3493 - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9da7f3cc73bf990427a9dd80ba2bbbb618383ea3 -Author: Andrew Deason -Date: Thu Dec 9 13:02:16 2010 -0600 - - DARWIN: Fix setpag syscall error detection - - Darwin uses the same variable as the return value for - ioctl_afs_syscall, and as the last 'out' parmater, so the return value - for ioctl_afs_syscall will always overwrite whatever is written to the - last 'out' parameter. Instead, record two different variables, and - allow the returned error to overridte the error set as the last - parameter. - - Change-Id: I7db1b226612c55c892810ce446b486b7e503529c - Reviewed-on: http://gerrit.openafs.org/3497 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f46bba8611ceca7a6957b6aa9dee35990cae91f2 -Author: Christof Hanke -Date: Sat Dec 4 09:09:59 2010 +0100 - - Fix mech of building export on AIX - - Presently, the distinction between 32Bit and 64Bit AIX is done by - inserting a "#" (comment-sign) into the Makefile. - This fails on some AIX-installations. Thus, just use normal - conditionals for distinguishing betwenn 32 and 64 bit. - - Change-Id: Ie83bbdcd3c7c4b7b0858c9691bf6e1bf6c4ba32a - Reviewed-on: http://gerrit.openafs.org/3434 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b20329e01968d3562f78382b27f7de9948a96899 -Author: Andrew Deason -Date: Wed Dec 8 11:40:24 2010 -0600 - - Fix AUD_HOST callers - - Servers using the AUD_HOST audit message should give the host IP in - network-byte order, as that is how the auditing code interprets it. - Fix the users of AUD_HOST that do not do so. - - Change-Id: Iaf6abec850e691febfa3e07bff368eab6fb71409 - Reviewed-on: http://gerrit.openafs.org/3492 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ddc4057ce786ebbe75b8b2c971b1013187062f1f -Author: Andrew Deason -Date: Tue Dec 7 13:49:47 2010 -0600 - - tvolser: Link libafsrpc after libusd - - libusd can contain a reference to AssertionFailed, which is in - libafsrpc. So link libafsrpc after libusd, so it gets resolved when - building e.g. vos. - - Change-Id: I30140b5ede5afa2495f4c2b7b7edbbd878bf6dca - Reviewed-on: http://gerrit.openafs.org/3477 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4dd9bc32a3846cd97a3b0f9cae5af049ae87dd0a -Author: Andrew Deason -Date: Tue Dec 7 13:31:36 2010 -0600 - - auth: Return SuperUser identity for localauth - - The caller expects identity to be populated when we return 1. So for - localauth, give it an identity. Don't set uname, and in fact, move the - uname declaration so that it is clear that it's not used for most of - this function. - - Change-Id: I4dcd466b25f578362290ed2fc65b5bd6e23a91e4 - Reviewed-on: http://gerrit.openafs.org/3475 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c1b71c4e7b4575d6a5b00214bc42a682fc7286eb -Author: Andrew Deason -Date: Tue Dec 7 16:04:11 2010 -0600 - - auth: Move to a named constant - - Add a #define for "" and related values. Use them. - - Change-Id: I0e1d374403a0ad20be6a2839e37a5894b15446cd - Reviewed-on: http://gerrit.openafs.org/3482 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3fd789dfbdc05c7c00798bc305d743deea05e155 -Author: Anders Kaseorg -Date: Wed Dec 8 01:21:16 2010 -0500 - - rxi_NatKeepAliveEvent: Shrink excessive stack buffer - - Fixes - rx.c:6138:1: warning: the frame size of 1600 bytes is larger than 1024 bytes - - Change-Id: I2f5b4961a7d929454a99ea99c637d1a0b2468a14 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/3491 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7b7cd95ec0adc2c58b0387a5ff788251127f504e -Author: Derrick Brashear -Date: Tue Dec 7 21:08:51 2010 -0500 - - DAFS: make FSYNC_VOL_QUERY_VOP DAFS-only - - all the support code handles this only for DAFS. the - case statement should treat as unknown if it is. - - Change-Id: I14816875b7a0b172d6f6fc9893cb0add90503111 - Reviewed-on: http://gerrit.openafs.org/3485 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fea0ee62ab854148a354c1aa9ebc5f042448210e -Author: Derrick Brashear -Date: Tue Dec 7 20:43:55 2010 -0500 - - DAFS: fix ifdef - - there's no DEMAND_ATTACH_ENV ifdef. don't use it. - - Change-Id: I2f6f9c57b187fcb514f318d977a15de1889f9055 - Reviewed-on: http://gerrit.openafs.org/3484 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 592a33a4787db88993a7bf9d8f5ad8c11a576b56 -Author: Andrew Deason -Date: Tue Dec 7 10:50:31 2010 -0600 - - SOLARIS: Free vcache mappings on shutdown - - Right before shutdown, go through all of our vcaches and flush them, - freeing any pages associated with the vcaches. If we don't do this, - pages associated with our vcaches may still be around after we - shutdown and the module is unloaded, causing a panic when the kernel - tries to deference the page's vnode. - - Abstract out afs_freevfs() following the gafs_foo/afs_foo convention - from the vnode ops, since we're calling this in two different places. - - Change-Id: I64b88799acce3a55648ec94b53ed63319cd04698 - Reviewed-on: http://gerrit.openafs.org/3472 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9aad0979e9ff0601c249eb66a6ecfb3e76264702 -Author: Jeffrey Altman -Date: Mon Dec 6 23:24:18 2010 -0500 - - modify FindIndex to compare uuids - - If FindIndex is provided a server address and entry has a valid - uuid, obtain the uuid for 'server' and use that search for a - matching entry. - - This modification is necessary in order to permit operations - against multi-homed servers in split horizon DNS configurations. - - Change-Id: I8929c500eb4f71c8cf0aa8328bc3b3a0345368aa - Reviewed-on: http://gerrit.openafs.org/3468 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 90199686e6c6cd74d81fa569faa7f68e76d808cd -Author: Derrick Brashear -Date: Tue Dec 7 01:13:09 2010 -0500 - - afsconf_SuperUser verify identity before use - - if we didn't get an identity back, don't try to use it. - - Change-Id: Iff6069b9231c3adc3f74cbf7fff4dffcfc289cd3 - Reviewed-on: http://gerrit.openafs.org/3471 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit cb02cfcdfb78ccb680b0c5fb753115e2375a1d9f -Author: Jeffrey Altman -Date: Mon Dec 6 23:23:01 2010 -0500 - - Windows: partial impl of TokenEx functions - - No pioctl yet but implement enough so that GetTokenEx and - ListTokensEx can provide results. - - Change-Id: I261f21db6e10502602aa0cb453b24632fdefd25c - Reviewed-on: http://gerrit.openafs.org/3469 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit f71219918e604a2909774e360cbfea9f9e3d9dcc -Author: Jeffrey Altman -Date: Tue Dec 7 00:02:33 2010 -0500 - - Windows: test for path in afs before symlink test - - Check that the path is in afs before testing to see - if it is a symlink - - Change-Id: If22331595b675bf9347d832eca70edfc6d1d0365 - Reviewed-on: http://gerrit.openafs.org/3467 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ac1c4b30ba25ce49fdd18f37399a1194d934ab8e -Author: Andrew Deason -Date: Mon Dec 6 14:27:22 2010 -0600 - - RX: Always define kernel XDR symbols to be AFS XDR - - Always define xdr_foo to afs_xdr_foo when we're in the kernel. - Otherwise, we can get warnings that our xdr_foo symbols are colliding - with the xdr_foo symbols from the kernel. - - Change-Id: I74b2cdd24f01734c2c36506bb5bab0b386d46094 - Reviewed-on: http://gerrit.openafs.org/3465 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1c45cc746e7484e72191fc8d010640692e90bc82 -Author: Andrew Deason -Date: Sun Nov 21 21:29:11 2010 -0500 - - Remove unreached lines - - Fix some macros to eliminate unreached trailing empty statements (such - as: "{code = foo; goto error;};"), and other oddities causing - "statement not reached" warnings. Also eliminate a couple of code - blocks that were never reached. - - Change-Id: Iac626976268e13f5ef05f379ad1c9b5437c57f86 - Reviewed-on: http://gerrit.openafs.org/3368 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 94591a635bdd23ba74298c64273d4688405aa370 -Author: Andrew Deason -Date: Mon Dec 6 16:11:24 2010 -0600 - - vol_split: Recover from stream open failure - - Make sure we go through the error recovery code when we can't create a - stream, instead of just returning without cleaning up. - - Change-Id: Ie3a5be9a81b36624a7d49958233c42e82a0e4bfa - Reviewed-on: http://gerrit.openafs.org/3466 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8f7ae51c6145f4c284298a1dcc6efd5562246243 -Author: Andrew Deason -Date: Mon Dec 6 15:41:33 2010 -0600 - - tubik: Link with libafsauthent - - libubik_pthread.a requires libafsauthent.a, since we make use of - afsconf_* functions. Add libafsauthent to LIBS and make tubik depend - on it. - - Remove linking to liblwp while we're here, as we should not be using - any LWP code. - - Change-Id: Ie028fedfbc3e7a8a78dc69a2c38be99eb72602da - Reviewed-on: http://gerrit.openafs.org/3464 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2a64776a50591323ba909fcbcaf39a2893e5238c -Author: Andrew Deason -Date: Mon Dec 6 13:29:31 2010 -0600 - - roken: Export rk_daemon, not daemon - - We never export a function called 'daemon'. We only export a function - called rk_daemon, and the define daemon to rk_daemon. So, only include - rk_daemon in the map file, since that is the only symbol that will - appear. - - Change-Id: Ib0f5ba88ba6d8bdefe3191050bc9e9e36f1b9134 - Reviewed-on: http://gerrit.openafs.org/3463 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6bcee8821fba5a3df593f0b93ae58fac8ed03070 -Author: Andrew Deason -Date: Mon Dec 6 12:46:06 2010 -0600 - - SOLARIS: Fix some rx_atomic.h warnings - - Include atomic.h so we get atomic_* prototypes, pass atomic->var in - rx_atomic_sub, and pass unsigned int*s to the atomic_* functions. - - Change-Id: Ic8d745bc1726c850bd15d38702163e92587bb0a5 - Reviewed-on: http://gerrit.openafs.org/3462 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 37817796c4890683a7e41ed0f3a2fa6a53e1edc7 -Author: Andrew Deason -Date: Thu Aug 12 14:38:55 2010 -0500 - - libafs: Set tvcp->callback before BulkStatus - - When we call InlineBulkStatus or BulkStatus, we currently do not touch - tvcp->callback for any of the vcaches before making the call. This can - cause us to not notice an InitCallBackState issued by the fileserver - before the BulkStatus call returns, since the InitCallBackState - handler looks at tvcp->callback to determine what vcaches to clear - callbacks for. In turn, this can cause us to think we have a callback - agreement with the fileserver on one of the BulkStatus'd files, when - the fileserver does not actually have such a callback agreement. - - So, set tvcp->callback to the server we are contacting, so if we get - an InitCallBackState call from that fileserver, the CBulkFetching - state will be cleared, and we will correctly discard the callback - information for that vcache. - - Change-Id: Ib8790c8f9621d7a9da12588ea6115f9cb3ff9022 - Reviewed-on: http://gerrit.openafs.org/2548 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 58837dbc56251cf640ad46273c534b71f4fc40e3 -Author: Chaskiel Grundman -Date: Mon Dec 6 12:43:12 2010 -0500 - - linux: avoid leaking parent when revalidating and it is /afs - - we happily go to the "good dentry" path and exit, leaking the - result of dget_parent, if parent is globalVp. Let's not - - Change-Id: I3848a1aa2611d17ba08e04b3f33f22623645d233 - Reviewed-on: http://gerrit.openafs.org/3448 - Reviewed-by: Chaskiel Grundman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit a433f750ad7f0a3c0adbf4c5d6221b7517c0eedb -Author: Stefan Kueng -Date: Sun Dec 5 18:48:56 2010 +0100 - - Windows: fix checked UNICODE build of talocale - - src/WINNT/talocale failed to build/link for checked builds. Fix it. - - Change-Id: I39eb1605f67afdbd0f4ad04bb7ec560501410fbe - Reviewed-on: http://gerrit.openafs.org/3446 - Tested-by: Stefan Kueng - Reviewed-by: Stefan Kueng - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6fe9313180dfe1d509ae97a1e16a67195357cf7b -Author: Jeffrey Altman -Date: Sat Dec 4 18:03:21 2010 -0500 - - Windows: Build afs_shl_ext.dll with talocaleU.lib - - Use the Unicode version of talocale to properly read - resource strings. - - Change-Id: Ifb373a3b405922ecbdce4edb2ec86c31551d4dfa - Reviewed-on: http://gerrit.openafs.org/3442 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3756fc78af48c5543c267b086fbd4872fea2e33c -Author: Jeffrey Altman -Date: Sat Dec 4 18:02:38 2010 -0500 - - Windows: install afs_shl_ext icon files - - mount.ico and link.ico to dest\root.client\usr\vice\etc - - Change-Id: Ic66f3cef73170d9101b12695a12ec41cdca6c89a - Reviewed-on: http://gerrit.openafs.org/3441 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 1d7534fb95a8fb77d6b0f3fe0816094b36bde850 -Author: Jeffrey Altman -Date: Sat Dec 4 17:59:36 2010 -0500 - - Windows: build a UNICODE version of talocale.lib - - Add src/WINNT/talocale_unicode that builds a UNICODE version - of talocale, talocaleU.lib - - Change-Id: Iec343adbbab23fefa2dd9f474d23e593810552e9 - Reviewed-on: http://gerrit.openafs.org/3440 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 24a9ba4b829a871defea75ddf17fb621035ca008 -Author: Jeffrey Altman -Date: Sat Dec 4 17:56:44 2010 -0500 - - Windows: fix UNICODE build for talocale - - src/WINNT/talocale has not been built for UNICODE in a long time. - Fix it. - - Change-Id: Ia8b182b711838e2d6592f9040d2173f5977f9cfd - Reviewed-on: http://gerrit.openafs.org/3439 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 3ff9c24c0e2d72dcce65fc7706dcdb1cd3090965 -Author: Stefan Kueng -Date: Sat Dec 4 10:56:01 2010 +0100 - - Windows: afs_shl_ext improve overlay handlers - - Add link.ico and mount.ico Windows icon files. - Use these images as overlays instead of extracting an image - from shell32.dll which is a bad idea. See - - Change-Id: I624f959229a91329507aec5ff61045c49d296401 - http://blogs.msdn.com/b/oldnewthing/archive/2005/10/26/485133.aspx - Reviewed-on: http://gerrit.openafs.org/3445 - Tested-by: BuildBot - Tested-by: Stefan Kueng - Reviewed-by: Stefan Kueng - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 92183f4ac31f20862a992b8b3d52dcbe0ebb7eb9 -Author: Stefan Kueng -Date: Fri Dec 3 22:58:54 2010 +0100 - - Windows: afs_shl_ext Show icon mount point overlay - - Change-Id: I8feb71e41e423c5e7484998bdac8a913595db9c4 - Reviewed-on: http://gerrit.openafs.org/3444 - Tested-by: BuildBot - Tested-by: Stefan Kueng - Reviewed-by: Stefan Kueng - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f8f8c0a48fbe086870a0cf35a62278c2b4ab743b -Author: Stefan Kueng -Date: Fri Dec 3 21:24:33 2010 +0100 - - Windows: afs_shl_ext folder bkgrnd context menu - - Make the context menu handler also work for folder backgrounds - and on Win7 for library folder backgrounds - - For folder backgrounds, the shell passes the PIDL of the folder - instead of a data object. Extract the path from that PIDL. Also - extended the register function of the dll to add the required - registry keys. - - Change-Id: I8928efd25058dced3820478a2858ce20336b4301 - Reviewed-on: http://gerrit.openafs.org/3443 - Tested-by: BuildBot - Tested-by: Stefan Kueng - Reviewed-by: Stefan Kueng - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 166de9ffa29244f38f1d2c1e8b0fa9a9fd1802b5 -Author: Jeffrey Altman -Date: Wed Dec 1 18:47:29 2010 -0500 - - Windows: Remove fallback from GetCaps to GetTime - - If the file server responds to RXAFS_GetCapabilities with - RXGEN_OPCODE the server is up and there is no need to fallback to - RXAFS_GetTime. Remove the code that performs the extra work. - - Change-Id: Ieb0d1cce6f356a8988f2464227dec9b6cd9e6fcf - Reviewed-on: http://gerrit.openafs.org/3419 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3c370ed1e58310cb0202a5d2c826ba6569da831c -Author: Christof Hanke -Date: Sat Dec 4 11:03:13 2010 +0100 - - Add .gitignore for tsm41 - - Just ignore some files created during the build. - - Change-Id: Ifb276b2a71fe8e58517605584e918d990b8f2f5d - Reviewed-on: http://gerrit.openafs.org/3435 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit fb325c3c63d844eda1da23e2ab5facba14994a6f -Author: Andrew Deason -Date: Fri Dec 3 16:39:57 2010 -0600 - - LINUX: Define zero_user_segment - - When the kernel does not have the zero_user_segments function, we - define it ourselves. Also define the zero_user_segment function, since - we use it, and a kernel lacking zero_user_segments will also lack - zero_user_segment. - - Change-Id: I5c786d2af27227793a7a2768d1af76ccd2d6a415 - Reviewed-on: http://gerrit.openafs.org/3432 - Tested-by: Andrew Deason - Reviewed-by: Matt Benjamin - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ba63d22bfb0b18ab054c39cafafeb8c6881fe687 -Author: Antoine Verheijen -Date: Fri Dec 3 00:30:20 2010 -0700 - - OpenBSD: Remove duplicate assignment of COMMON_INCLUDE in libafs - - When building libafs, the make file variable COMMON_INCLUDE is - assigned a value in two places: Makefile.common.in and - MakefileProto.OBSD.in. The assignment in the latter place is both - wrong and unnecessary. Remove it. - - Change-Id: Ie322f01b023898d4f246243ee3d196aa714147df - Reviewed-on: http://gerrit.openafs.org/3430 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b23163f05e55128cc0dc874396a765a400a77fd5 -Author: Antoine Verheijen -Date: Fri Dec 3 00:26:24 2010 -0700 - - Move include of sys/types.h in kopenafs.c - - The netinet/in.h header file requires the inclusion of sys/types.h - (or some portion thereof). Most systems include it implicitly - within netinet/in.h. Some, such as OpenBSD, do not. In kopenafs.c, - sys/types.h is included after netinet/in.h which is fine in most - cases but means that, as a result, it will not compile on OpenBSD. - Moving sys/types.h before netinet/in.h solves this problem (and - should cause no problems on any other system). - - Change-Id: Ifc3295f3eb4f0b2b4718d0b2aa6dcbb2b06da8df - Reviewed-on: http://gerrit.openafs.org/3429 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit be770d4336c2fd7b8a83f18577ae6bb23a3f3e99 -Author: Derrick Brashear -Date: Thu Dec 2 13:11:33 2010 -0500 - - properly mark servers down for rx errors except OPCODE - - if we get a negative (rx) error, it means the server is down, - *except* for RXGEN_OPCODE. make this handling consistent - - Change-Id: I8459ec49ca311dc336aed8da7b106fe0f647fc32 - Reviewed-on: http://gerrit.openafs.org/3407 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit cb9e029255420608308127b0609179a46d9983ad -Author: Matt Benjamin -Date: Wed Nov 3 17:02:19 2010 -0400 - - unix cm rx-oblivious connection pooling - - Implements a connection pool for Rx client connections with the - same credentials. The code trivially avoids the limit on Rx - call channels, without touching Rx directly. The conn call limit - is known to be hit in cache-bypass, and probably other use cases, - so there is an incentive to address it potentially sooner than - larger Rx changes are ready to merge. - - Upgrade to exclusive lock before calling find_preferred_connection. - Unset trace option. Fix a warning around modular increment of - select_index, we'll go with the change suggested by Marc, I don't - see a real need to save the value mod CVEC_LEN. - - Change-Id: I956aa22cd52b1c43187c7e03230e36820ba11c4d - Change-Id: Ie5f936ba912bcfe0544dbc1d035bb74e5ddc50f8 - Reviewed-on: http://gerrit.openafs.org/2216 - Reviewed-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bd2e024dc230693b1c6cbcfe40d4270a475b02d0 -Author: Derrick Brashear -Date: Thu Dec 2 01:48:53 2010 -0500 - - balance afs_vcount in non-linux CM - - when we dole out a vcache, count it. - - Change-Id: Id0f9e20b4b8a9de6ee83dcb383c3a152f6b733e6 - Reviewed-on: http://gerrit.openafs.org/3423 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6eb1088aad9163ab8d4a4dda513444290c55daa6 -Author: Derrick Brashear -Date: Thu Dec 2 01:55:34 2010 -0500 - - freebsd: properly track vcache references - - previously both root and reclaim could end up leaking refs. fix it. - - Change-Id: Ib3c9dab2f31b988a2887821f5192ff1fad0e732c - Reviewed-on: http://gerrit.openafs.org/3424 - Reviewed-by: Benjamin Kaduk - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a54f8d51f43e6d917fe2f6c29cf918da361c701c -Author: Derrick Brashear -Date: Thu Dec 2 01:02:04 2010 -0500 - - osconf quoting for macros - - fix quoting to avoid substing during configure, instead let it happen in make - - Change-Id: I31ec2e7f15ca14f337b4f3f43dd1ef5c0b423756 - Reviewed-on: http://gerrit.openafs.org/3420 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit e2d9008e74fc7b35792e7cbf57f4f537f787d45f -Author: Derrick Brashear -Date: Wed Dec 1 16:18:25 2010 -0500 - - configure: add lresolv to MT_LIBS - - because of how we configure afsdb, we can end up needing libresolv - but not configuring it for threaded code. link it in. at the same time, - make sure the link can succeed on e.g. macos - - Change-Id: Ibf2445638f36d543a0df8be1eaccfc0c31b72ae1 - Reviewed-on: http://gerrit.openafs.org/3408 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit eaaba59773002ca3ba3e15d1aea69ae4b9493359 -Author: Antoine Verheijen -Date: Wed Dec 1 15:40:04 2010 -0700 - - OpenBSD: Fix variable name typo in osi_vcache.c - - The osi_PostPopulateVCache() routine in the OpenBSD version of - osi_vcache.c tries to use the non-existent variable "vc" instead - of "avc". This fixes it. - - Change-Id: Idac09739d36e253518fbdbd600ab43c9ea87da3a - Reviewed-on: http://gerrit.openafs.org/3418 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d33b44b63f1928f62d4adaf4fa108d47c09273ce -Author: Heimdal Developers -Date: Thu Dec 2 00:27:55 2010 -0500 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 42f9c644cf00be752f09d85a9664bf2e3502101c (switch-from-svn-to-git-1962-g42f9c64) - - New files are: - roken/write_pid.c - - Change-Id: I7b48eae393b26c6afe9e9b7dd9f26d8db2d1c6fc - Reviewed-on: http://gerrit.openafs.org/3421 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 35daebc577ab11a5fd80d678764a3a681cc5f2f3 -Author: Antoine Verheijen -Date: Wed Dec 1 14:24:26 2010 -0700 - - OpenBSD: Fix use of mstat Length field in osi_vm.c - - The code for osi_VM_FlushPages() in osi_vm.c for OpenBSD incorrectly - tries to access field "m.Length" in the vcache structure "avc" - instead of "f.m.Length". - - Change-Id: I44ac0bbbd0e6279c54be185fbf9514b23c65017b - Reviewed-on: http://gerrit.openafs.org/3417 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 622403c87a8cbcedcd1212fd32414285d103887b -Author: Ben Kaduk -Date: Sat Nov 27 23:25:03 2010 -0500 - - FBSD: clean up rx_socket teardown - - We had previously been waiting for the SO_ISDISCONNECTED flag - to show up in the so_state field, but the flags are not really - used for stateless protocols such as UDP, and that flag never - shows up. Even with a full three-second wait, the rxk_Listener - sometimes still failed to fully terminate, preventing the reuse - of the rx port for a restarted afsd. - Copy from Solaris and loop until rxk_ListenerPid is zero, doing - bogus one-byte NetSends in the body of the loop. - - Change-Id: I6a5ad4509549fa64c551af642ef5867602b182c0 - Reviewed-on: http://gerrit.openafs.org/3391 - Reviewed-by: Matt Benjamin - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 341d8bf1313434acf3acded90cfcffd575adc4e5 -Author: Heimdal Developers -Date: Wed Dec 1 18:02:30 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 42f9c644cf00be752f09d85a9664bf2e3502101c (switch-from-svn-to-git-1962-g42f9c64) - - Upstream changes are: - - Asanka C. Herath (9): - Windows: Registry based configuration - Rename get_entry() -> _krb5_config_get_entry() - Deal with quoted strings when reading lists of config strings - Add missing export and calling convention annotations - Windows: Build and export localtime_r - Windows: Older Windows SDKs need - More compatibility macros - Increase KBR5_BUFSIZ to 2048 and use it in config_file.c - Deal with backslash escaped quotes - - Love Hornquist Astrand (3): - provide symbol renameing for sha512 and sha384 - less exit with failures - add random abstraction - - Change-Id: I495fa8e9c1c037d6dee191279c1155a4ec6be945 - Reviewed-on: http://gerrit.openafs.org/3400 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8e3c678ef15d04a527b671e08683e3fa30c5c873 -Author: Simon Wilkinson -Date: Wed Dec 1 18:07:24 2010 +0000 - - util: Add definition of KRB5_BUFSIZ - - A forthcoming Heimdal update will require that KRB5_BUFSIZ be - defined in order to use its config parsing code. Define it in - our hacky krb5_locl.h - - Change-Id: Ieda8df8f31a759927fade44f9196e7411f4a0a59 - Reviewed-on: http://gerrit.openafs.org/3399 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f0f4770ab2ec60b18091594608b3f6e2e0fba148 -Author: Simon Wilkinson -Date: Wed Dec 1 17:42:23 2010 +0000 - - Build and use roken's mkstemp - - Add roken's mkstemp to the build on all platforms, either through - configure (Unix) or explicitly (Windows). Change all callers so - that mkstemp is used unconditionally, rather than falling back - to more risky alternatives. - - This is based on original change from Russ Allbery submitted as - http://gerrit.openafs.org/2146 - - Change-Id: Ia1def41e438e6517b3e7cd5790df3c99eddb8ef6 - Reviewed-on: http://gerrit.openafs.org/3398 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8a4b3cff15fa678a3d5ba23982ab79275dc83e37 -Author: Heimdal Developers -Date: Wed Dec 1 17:35:50 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 5b91f58f350c92fb9eacd1ebac558381b0b8deac (switch-from-svn-to-git-1705-g5b91f58) - - New files are: - roken/mkstemp.c - - Change-Id: I42cf73fd2943e2d5cfa629d3ce05f20a065428a1 - Reviewed-on: http://gerrit.openafs.org/3397 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f3c74fdd04b9cd837911e10db738e2dbca3d884d -Author: Simon Wilkinson -Date: Wed Dec 1 17:27:46 2010 +0000 - - Import mkstemp.c from libroken - - Change-Id: Idd8688cc731436ff1fe5708e273045b96085e986 - Reviewed-on: http://gerrit.openafs.org/3396 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 2d2ac3ca5fbd221d297861c0b5c409e9e004545c -Author: Antoine Verheijen -Date: Wed Dec 1 13:22:45 2010 -0700 - - OpenBSD: Use Darwin version of afsi_SetServerIPRank() for OpenBSD 4.7 and above. - - With OpenBSD 4.7, the ia_subnet and ia_subnetmask fields have been removed - from the in_ifaddr structure as part of a cleanup that considers them - unnecessary. Thus, the version of afsi_SetServerIPRank() that OpenBSD was - using no longer compiles. On the other hand, the Darwin version of this - routine seems suited to OpenBSD's needs since it doesn't use those fields - so we'll use that version for OpenBSD 4.7 and above instead. - - Change-Id: I27333056378a023e175bddeb637288fc6d1b6e88 - Reviewed-on: http://gerrit.openafs.org/3405 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2822416059fe192dc7e3c261b1e93510f2f10f3e -Author: Antoine Verheijen -Date: Wed Dec 1 11:54:23 2010 -0700 - - Darwin: Assign correct value to myDstaddr in afsi_SetServerIPRank() - - The value in sin->sin_addr.s_addr that's assigned to myDstaddr in the - Darwin version of afsi_SetServerIPRank() is in network byte order but - really needs to be in host byte order. - - Note: This patch assumes that change I66f5c790d8c55b359e3550b6d71f3abe040a2820 - has been previously installed. The patch fails otherwise. - Change-Id: I3078da1efb94f87f84dbe357f3272d908818256b - Reviewed-on: http://gerrit.openafs.org/3402 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8fa01c4d602fac6d5d81b119d0593f02087e4302 -Author: Antoine Verheijen -Date: Wed Dec 1 11:37:02 2010 -0700 - - DARWIN: Fix processing using rx_ifaddr_* macros in afsi_SetServerIPRank() - - The macros rx_ifaddr_address, rx_ifaddr_netmask, and rx_ifaddr_dstaddress - all expand to a call to memcpy() which returns the destination address as - its return value. The test in the DARWIN version of afsi_SetServerIPRank() - for completion when using this macro, however, seems to assume that success - returns zero, which is wrong and results in myAddr, subnetmask, and - myDstaddr always being set to zero. This patch corrects this behaviour. - - Change-Id: I66f5c790d8c55b359e3550b6d71f3abe040a2820 - Reviewed-on: http://gerrit.openafs.org/3401 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 32226d1454129bacd44f818f6d32d807bc0cc771 -Author: Jeffrey Altman -Date: Mon Nov 29 17:47:10 2010 -0500 - - Windows: permit code signing without timestamps - - If CODESIGN_TIMESTAMP is not defined, permit code signing - to occur but do not ask signtool to contact a timestamp - server. - - Change-Id: I801264192caaf871225b001c6f96c0317e115578 - Reviewed-on: http://gerrit.openafs.org/3393 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cc54175e43ce14c01f9c103541ffad795b17629c -Author: Christof Hanke -Date: Sun Nov 28 13:01:12 2010 +0100 - - Unix afsd: Check for mountpoint /afs first - - Check for the existance of the mountpoint before trying to - start. - - Change-Id: I56c7a69b2b24c465f987e33c3f88c6ac37e40dd0 - Reviewed-on: http://gerrit.openafs.org/3392 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4a2d1973fc5c2aac05beef5d64e7a486757c54af -Author: Marc Dionne -Date: Tue Nov 23 19:08:24 2010 -0500 - - Cache bypass: switch to rx_Readv - - Tests show that cache bypass doesn't scale very well past a few - concurrent processes, with a lot of lock contention in the RX - layer. Switching the implementation to the iovec based rx_Readv - alleviates much of this. - - Also take advantage of the fact that the upper layer readpages - only sends down contiguous lists of pages, and issue larger read - requests and populate the pagecache pages from the iovecs we - get back. The loop logic is changed significantly to accomodate - the new pattern. - - Read throughput is improved by about 30-40% for some parallel read - benchmarks I use. Along with some other tweaks, it can allow the - throughput to be more than doubled. - - Change-Id: I56877ec15eba035429bd4ea32731687c862f151f - Reviewed-on: http://gerrit.openafs.org/3375 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3f69d7247cfbd809aeed1e4d943c2b21da035654 -Author: Steve Simmons -Date: Tue Aug 31 13:16:15 2010 -0400 - - More deprecations noted. - - Change-Id: Id0d15f0f065dbbd82287258175530527e7cde36f - Reviewed-on: http://gerrit.openafs.org/2633 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit ae1d000b71514ab8a62496dd712b8fe4be224e18 -Author: Derrick Brashear -Date: Tue Nov 16 12:38:06 2010 -0500 - - external import script should rebase away whitespace - - and provide an option not to. - - Change-Id: I3a81de0c4786cfc9e5d4b92bb175528ed1334b90 - Reviewed-on: http://gerrit.openafs.org/3315 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0c92add0d74a3e31800387073871ec414cd5ed5a -Author: Simon Wilkinson -Date: Mon Nov 1 19:19:55 2010 +0000 - - .gitignore update - - Update assorted .gitignore files with missing build products - - Change-Id: Ibeb928b9c2f6abab6f35ed450c5110aee1fc4905 - Reviewed-on: http://gerrit.openafs.org/3212 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d8e382df39aa5a92950a1219002a85e5457d8a97 -Author: Andrew Deason -Date: Thu Sep 9 09:41:40 2010 -0500 - - vos: Improve release recovery on timed-out trans - - When a portion of 'vos release' takes long enough that a transaction - on one or more RO sites times out, it retries to release to those - sites. However, it does not take into account the situation where the - transaction on the original RO clone has also timed out, which it - usually will have if we took a long time to get to the ForwardMulti - stage for any reason. - - Add a check to see if the clone RO transaction has timed out, and if - so, recreate the transaction on it. Check if the volume appears to - have changed at all, and if it has, bail out. - - Change-Id: I7dd69c83e41216246e40159e8d9c1417e15355f4 - Reviewed-on: http://gerrit.openafs.org/2726 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8a09c220f4c5f881ea45be585b07b793038924d5 -Author: Derrick Brashear -Date: Tue Feb 16 01:13:57 2010 -0500 - - ubik sync client error recovery - - give ubik server "client mode' error recovery for token errors - - Change-Id: Ibd6cad6ecf067da7da5724491756576d1ffedb03 - Reviewed-on: http://gerrit.openafs.org/3150 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit a2c31a754c2d75dcf6a674f365ad50fc40f595ec -Author: Jeffrey Altman -Date: Fri Nov 26 02:55:03 2010 -0500 - - Windows: NSIS installer requires the architecture for CL=1400 - - The NSIS installer at present is 32-bit only. Production releases - of OpenAFS have always been performed using the CL=1310 compiler - so it wasn't noticed that src/WINNT/install/NSIS/NTMakefile did - not define the ARCH (architecture) for the purpose of identifying - which redistributable runtime library installer should be - integrated into the build. For the CL=1310 compiler there are - not prebuilt installers for OpenAFS to integrate. - - Change-Id: Ide80d5013f55dbcd97b7b099de7066c5afd0df14 - Reviewed-on: http://gerrit.openafs.org/3388 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5186e1686f1eaa1f5aaddfaa90da715aba045f67 -Author: Jeffrey Altman -Date: Fri Nov 26 02:51:16 2010 -0500 - - Windows: make use of AFSDEV_BIN and set the PATH - - ntbuild.bat defines AFSDEV_BIN which is set to the list of - directories from which executables required for the build - process will be executed. However, this value was never used - to modify the PATH environment variable. Make it do so. - - Change-Id: I3ac65a7ceea54cbcf1d2c41f6b0e7af9de960224 - Reviewed-on: http://gerrit.openafs.org/3387 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4a6a00d6f45bd0ac94e2eb05adee41552073643a -Author: Christof Hanke -Date: Sun Nov 21 23:01:53 2010 +0100 - - check curses-libs by configure - - Presently, the used curses-library are determined by OS. - The leads to a build error when no curses-headers are installed. - Use configure to test if curses.h or ncurses.h is present. - ncurses takes precedence over curses.h. - If neither the curses- nor ncurses-libs are available, do not build - afsmonitor and scout. - A summary at the end of the configure should make this clear to - everyone. - The variable TXLIBS has been renamed to LIB_curses. - - Change-Id: I3f661e0b6199be41818dc22149b061e3d599b77f - Reviewed-on: http://gerrit.openafs.org/3345 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c1e874b4e2250438e0e6b0fe54ecd265356b3ee6 -Author: Christof Hanke -Date: Sun Oct 17 08:54:06 2010 +0200 - - Add output-table to libafsutil - - This adds the complex structure Table to libafsutil. - All binaries linking to libafsutil can use this to store their output - in the table. This table can be sorted by a predefined column. - The available output formats are ASCII, CSV and HTML. - - Change-Id: Id0a00d996a94fee08538226317c60e5bf5082051 - Reviewed-on: http://gerrit.openafs.org/1970 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d0acb0a83e4834a1d99457435a4bac684b0047e2 -Author: Ben Kaduk -Date: Sat Nov 27 00:45:26 2010 -0500 - - Fix FBSD build after warning cleanups - - The preprocessor if directive needs a matching endif, not plain end. - - Change-Id: I423b32326cae60073d110165f94ba278521634ee - Reviewed-on: http://gerrit.openafs.org/3390 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a4e4ed9de93d202d21cab4c40d37fcfacc85694e -Author: Ben Kaduk -Date: Fri Nov 26 23:28:50 2010 -0500 - - Catch up on FBSD releases - - Add param.foo.h and sysname entries for the past and forthcoming - FreeBSD 7.2, 7.3, 7.4, and 8.2 releases. Also update the - MakefileProto.FBSD.ins that need touching, simplifying the libuafs - one in the process. - - Change-Id: I6a7ff217572daac96f6fa6eb104eb7b1305c5ff6 - Reviewed-on: http://gerrit.openafs.org/3389 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ebd18bfade80bd66422aad4310375ee460cd1ed5 -Author: Ben Kaduk -Date: Sat Oct 30 02:23:24 2010 -0400 - - FBSD: warning cleanups - - Only declare 'p' if it will be used; other unused variables; - signedness mismatches. - - Kill spl with fire. - - Change-Id: I03ada8b358f64342bc61bdef03df9dfecc550a6b - Reviewed-on: http://gerrit.openafs.org/3200 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a414636a667c395fc0af8270726f238a392fb5d7 -Author: Andrew Deason -Date: Sun Nov 21 21:20:42 2010 -0500 - - Utilize --enable-warnings for SUNWspro - - Add the necessary options for the Solaris Studio compiler to enable - more warnings, when specified in the ./configure invocation. - - Change-Id: I30e2a4a4bddad6beb4c50c3e10775c09916bf0df - Reviewed-on: http://gerrit.openafs.org/3367 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 18793d4bfaeb88fd456c8d489165139126c0d293 -Author: Andrew Deason -Date: Mon Nov 22 22:54:32 2010 -0500 - - Only specify CFLAGS_NO* with --enable-checking - - Currently we are always specifying e.g. CFLAGS_NOUNUSED as -Wno-unused - when we think we are compiling with gcc. Since autoconf always tries - to use gcc when possible, this breaks the build if we have a gcc - available but we use another cc for building. - - This should be fixed otherwise, but in the meantime at least make this - only happen if warnings are actually turned on, so the build is less - likely to break with a default ./configure invocation. - - Change-Id: I65d859db1fc0bb0930092fa8cfd6a0577d1c6ce2 - Reviewed-on: http://gerrit.openafs.org/3366 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 222067f6f8fd4f596302befbc48918e10547ed1d -Author: Andrew Deason -Date: Sun Nov 21 18:57:22 2010 -0500 - - Solaris: Support -i in shlib-build - - Our librokenafs.map file contains symbols that we may not actually - define, since the list of exported symbols varies depending on the - platform's capabilities. This causes errors during linking, which can - be suppressed by marking all symbols as "= EXTERN". Do so by having - shlib-build modify the mapfile at link-time, when -i is specified to - indicate ignoring undefined symbols. - - Change-Id: I043fca6c8206a19fb7bddbc8e624baeaaff3ab00 - Reviewed-on: http://gerrit.openafs.org/3365 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit be6fb658fe717469470bcd28c46bee1901c4d96c -Author: Andrew Deason -Date: Sun Nov 21 21:40:28 2010 -0500 - - afsd: Remove unused definitions - - Remove some #defines for s_host and similar things. They are not used - anywhere, and they can cause warnings for e.g. s_host being redefined. - - Change-Id: Ibb549bde4428304c39a67fbfee507e5234a21546 - Reviewed-on: http://gerrit.openafs.org/3364 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e4059c1b812410bd96481cc60c86c67f8733b66f -Author: Andrew Deason -Date: Mon Nov 22 22:23:02 2010 -0500 - - vol: Move VOL_CV_TIMEDWAIT to volume_inline.h - - Some platforms will give errors for the vol package glock not being - defined in VOL_CV_TIMEDWAIT, since some utilities include volume.h - (with pthreaded ubik enabled) but do not have the vol glock. This - isn't a problem for the other CV_WAIT (et al) macros, since, being - macros, they are not expanded if never referenced. Since - VOL_CV_TIMEDWAIT is a static inline function, however, and at least - some platforms try to compile/link it even if it's not referenced. - - So, move it to volume_inline.h, which is only used by the volume - package itself, where we will have the vol glock. - - Change-Id: I3e1513869c03d16d274c23e0bbb075df85d6d3a3 - Reviewed-on: http://gerrit.openafs.org/3363 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit af5599483c5496bfc4ef3332899d1fdb0085c8d3 -Author: Andrew Deason -Date: Tue Nov 23 13:24:16 2010 -0500 - - FUSE: Link to afshcrypto and crypt - - afsd.fuse requires -lafshcrypto and -lcrypt, so link to them when - linking. - - Change-Id: Id4bd4caf5e187a1394a62761a1c19caeeeb041cc - Reviewed-on: http://gerrit.openafs.org/3362 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 04a5ede2bac8cb366e37d39ca4ea4c7e3b3aa69c -Author: Ben Kaduk -Date: Tue Nov 23 21:10:16 2010 -0500 - - Fix build for archs with -lcrypt - - The linktest utility calls crypt(3), and needs -lcrypt on some - architectures. Provide the $(LIB_crypt) argument in the makefile - as appropriate. - - Change-Id: I47b54fa80839062908df2d0a423ad72a628c1e76 - Reviewed-on: http://gerrit.openafs.org/3376 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0aa5cdd72f4dd9ec7edba177efde3fb9aaedf58a -Author: Simon Wilkinson -Date: Mon Sep 6 09:39:59 2010 +0100 - - aklog: Build a pthreaded, rather than lwp, version - - Make aklog (and friends) use pthreads, rather than lwp. - - Change-Id: I49114caa74357b3b35626db6a7439128aec0acb6 - Reviewed-on: http://gerrit.openafs.org/3356 - Tested-by: Chaz Chandler - Reviewed-by: Chaz Chandler - Reviewed-by: Derrick Brashear - -commit 1e03a0fa74cef95a557dc03da20413ee7236d34a -Author: Chaz Chandler -Date: Thu Nov 25 00:43:28 2010 -0500 - - Add explicit libafsauthent dependency for aklog - - Prevents occasional failures with parallel builds by ensuring - libafsauthent is built before aklog, which needs it. - - Change-Id: Ibb0bdda3ce1fa306dfee1343e0b8b97486ee5efb - Reviewed-on: http://gerrit.openafs.org/3386 - Tested-by: BuildBot - Reviewed-by: Chaz Chandler - Tested-by: Chaz Chandler - Reviewed-by: Derrick Brashear - -commit 93ab13cbf3cfee30524f63925a11a0ab0c55d600 -Author: Derrick Brashear -Date: Sun Oct 31 22:21:19 2010 -0400 - - aklog weak warning - - make aklog guess when you need to enable weak crypto - - Change-Id: I5f79e654d2ebcd8500d66d20f00edb49b9d62323 - Reviewed-on: http://gerrit.openafs.org/3209 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d29550a438a60dd918938f484c7b75e25478abd9 -Author: Andrew Deason -Date: Wed Nov 24 10:03:19 2010 -0500 - - ubik: Log a message when we replay the trans log - - It can be helpful to know that an interrupted transaction was replayed - on startup, and this should be rare. So log a message when that - happens, indicating what db version we replayed to. - - Change-Id: I8b2562dea2811190d1a45ba47f362a2441f39dfa - Reviewed-on: http://gerrit.openafs.org/3385 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1e8598b334b4354a3998b1e5fe189f3f33957048 -Author: Andrew Deason -Date: Wed Nov 24 09:36:05 2010 -0500 - - ubik: Replay the transaction log label correctly - - Commit eec0d94f519b3e27f255b9b7a637df043951424e fixed the transaction - replay log code to correctly identify valid transaction logs on - little-endian systems, but missed ntohl'ing the database label read in - a LOGEND opcode. Fix that, so the database is labelled correctly when - replayed from a transaction log. - - And while we're here, actually pass a struct ubik_version* to - adbase->setlabel, to make it a little more clear what's happening. - - Change-Id: I7edc33a4539f3b2fa342335c08f958b5dfb97f57 - Reviewed-on: http://gerrit.openafs.org/3384 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0af17e7eccb79dd7d618c98dc0b489d55209df50 -Author: Simon Wilkinson -Date: Wed Sep 15 11:17:14 2010 +0100 - - auth: Allow identities in the UserList - - Extend the userok interface provided by the auth library to permit the - addition, deletion and inspection of identities within the UserList. - - A number of additional functions are added, as direct replacements for - their Kerberos v4 only counterparts - these are: - *) afsconf_DeleteIdentity - *) afsconf_GetNthIdentity - *) afsconf_AddIdentity - *) afsconf_SuperIdentity - - In addition, a new function is added to allow the status of any given - identity to be queried - *) afsconf_IsSuperIdentity - - New form identities are stored within the same UserList file as - Kerberos v4 identities. We take advantage of the fact that the current - code skips any entry with a leading whitespace. Identities are stored as - a single line, with a leading space, followed by the integer - representation of their type (0 for Kerberos 4, 1 for GSSAPI), followed - by the base64 encoded representation of their exported name, followed by - the display name of the identity. Each field is whitespace separated. - - For example: - 1 BAEACwYJKoZIhvcSAQICAAAAEHN4d0BJTkYuRUQuQUMuVUs= sxw@INF.ED.AC.UK - is the representation of the GSSAPI identity "sxw@INF.ED.AC.UK" - - An addition to the test suite is also provided which will test all of - the existing, and new super user manipulation functions. - - Change-Id: I50648bb1ecc3037a90d623c87a60193be4f122ff - Reviewed-on: http://gerrit.openafs.org/3355 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 46a6d6129d80c4027d8a9f0e1d06b32cc12d6367 -Author: Marc Dionne -Date: Tue Nov 23 18:39:33 2010 -0500 - - Cache bypass: Only compile bypass code for the Linux kernel - - Only compile the afs_bypasscache.c code if AFS_LINUX24_ENV is set, - since it's currently the only case where the code is actually used. - Only sections that caused problems for UKERNEL were previously - ifdef'ed. - - Besides making the code cleaner, the main effect of this change - is to prevent compiling most of the bypass code for UKERNEL where - it isn't currently used. - - If support for bypass is added for other platforms eventually, the - code here would need to be reworked anyway, ideally abstracting out - and moving any OS specific bits into the platform subdirectories. - - Change-Id: If39294926ea38896ce2dedd1e46b2da0d622cae5 - Reviewed-on: http://gerrit.openafs.org/3374 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 9657695d34badaac654227be8c731a1512f2106b -Author: Marc Dionne -Date: Tue Nov 23 18:21:16 2010 -0500 - - Cache bypass: remove ifdefs under src/afs/LINUX - - Compile cache bypass code unconditionally under src/afs/LINUX - since it is now always enabled. Also remove syslog messages - about a "cache bypass patched module" when loading and unloading - the module. - - Change-Id: Id83487fe9704c5be8a70fc7c60dfe4d864ab27cf - Reviewed-on: http://gerrit.openafs.org/3373 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit 1de6d5bb0122d00c398202451bf88042ea08aa3e -Author: Marc Dionne -Date: Tue Nov 23 17:50:25 2010 -0500 - - Cache bypass: Remove AFS_KMAP_ATOMIC - - Since AFS_KMAP_ATOMIC is defined unconditionally, remove the ifdefs - and the code for the !AFS_KMAP_ATOMIC case. We probably don't want - to support this feature on a kernel old enough not to have kmap_atomic. - This should exist on all 2.6 and even 2.4 linux kernels. - - This simplifies the code for maintenance and later changes. - - Change-Id: I5d111d65066990123db917ac105a5a14db3b305f - Reviewed-on: http://gerrit.openafs.org/3372 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit b9a0be5b07e750401d9659678d922a729a55ed48 -Author: Jeffrey Altman -Date: Wed Nov 24 07:29:12 2010 -0500 - - rx: add rx_opaque and rx_identity exports - - rx_opaque_new @289 - rx_opaque_alloc @290 - rx_opaque_populate @291 - rx_opaque_copy @292 - rx_opaque_freeContents @293 - rx_opaque_zeroFreeContents @294 - rx_opaque_free @295 - rx_opaque_zeroFree @296 - rx_identity_match @297 - rx_identity_populate @298 - rx_identity_copy @299 - rx_identity_copyContents @300 - rx_identity_new @301 - rx_identity_freeContents @302 - rx_identity_free @303 - - Change-Id: Iaf52fdc65178db64c373b2f747ac133fdb713364 - Reviewed-on: http://gerrit.openafs.org/3383 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 61ddfbaa19f28bd8b352dea307ab752239470026 -Author: Steve Simmons -Date: Tue Aug 31 19:21:50 2010 -0400 - - Update the man pages pod source adding text to discourage use of - uss. Usually the text added was a copy of a CAUTION section that - had already been added in a few places. This change applies it - consistently across all uss-related man pages. In pod1/afs.pod that - text would be excessively wordy; a briefer note is used there to - direct the reader to the full text. - - This is a partial fix for RT bug #128018. It does not fully close - the bug; the AFS Administrators Guide needs to be updated as well. - - Change-Id: Id64646d20a9b22c0e11c9654842fa255fb4258ea - Reviewed-on: http://gerrit.openafs.org/2637 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit b43bd696b71535abc24e7023ec3095f0f7e3db06 -Author: Heimdal Developers -Date: Wed Nov 24 10:59:06 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 5b91f58f350c92fb9eacd1ebac558381b0b8deac (switch-from-svn-to-git-1705-g5b91f58) - - Upstream changes are: - - Simon Wilkinson (1): - hcrypto: Remove getarg.h include from validate.c - - Change-Id: Id59ef59c0f521d1266789afb6ee9555319472770 - Reviewed-on: http://gerrit.openafs.org/3382 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ea622b0967788801ce2f532a768aaad6267ef37b -Author: Jeffrey Altman -Date: Wed Nov 17 22:39:12 2010 -0500 - - Windows: build src/rx/tests - - Now that we have roken integrated build src/rx/tests as a - standard part of the build. - - Change-Id: Ic2e6e9229f92c302bd4cfaa173c6d1b5e15d9b55 - Reviewed-on: http://gerrit.openafs.org/3324 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f5fb20a0e364ee58020e8d4a244752e88ea619fa -Author: Heimdal Developers -Date: Wed Nov 24 10:35:48 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 9fc90e01b55966b6a3e5a161b4806a5171af789d (switch-from-svn-to-git-1704-g9fc90e0) - - Upstream changes are: - - Simon Wilkinson (1): - roken: Remove multiple prototype for hstrerror - - Change-Id: I74c269b37f1b4c39db7de770d56247198c295dfe - Reviewed-on: http://gerrit.openafs.org/3381 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5b1a7c35bb41fd7c33f5e1cc4679627ab59d9be2 -Author: Jeffrey Altman -Date: Wed Nov 24 05:24:43 2010 -0500 - - Windows: indicate that roken is a dynamic library for roken.h - - Since the windows build of roken is a dynamic library we must - define ROKEN_LIB_DYNAMIC so that roken.h will specific the - correct values of ROKEN_LIB_VARIABLE, ROKEN_LIB_CALL, and - ROKEN_LIB_FUNCTION. - - Change-Id: I93a14f355d2f1984722d64fcca14336e1c1ec4d9 - Reviewed-on: http://gerrit.openafs.org/3380 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit aa3fae3ba5144f0f47a95306dd6acdea21749383 -Author: Jeffrey Altman -Date: Wed Nov 24 00:44:52 2010 -0500 - - Windows: roken getopt renamed to rk_getopt, vars exported - - Since the function was renamed, modify the export list - Add rk_optarg, rk_optind, rk_opterr. - - Change-Id: I19ffdba5df79293d6a07c9ae6ba476dd77027843 - Reviewed-on: http://gerrit.openafs.org/3377 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit aa64a29fec4f986300103fd1b3b1a59e1a0de374 -Author: Heimdal Developers -Date: Wed Nov 24 09:45:03 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - f317b91b1b4b8d030fc2ab188b6aa526e9e7cb84 (switch-from-svn-to-git-1703-gf317b91) - - Upstream changes are: - - Jeffrey Altman (1): - roken: Prototype getopt - - Change-Id: I766ff1c19d4dcb74be18ea96d0ea1f24898eb6e9 - Reviewed-on: http://gerrit.openafs.org/3379 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fa3669ee0bcd8005d684e9077bf7ed1b4ff43e07 -Author: Heimdal Developers -Date: Wed Nov 24 08:14:40 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 0cc7b890e2632a7cb26517825deb802f79e838f8 (switch-from-svn-to-git-1702-g0cc7b89) - - Upstream changes are: - - Asanka C. Herath (3): - Annotate exported variables in getopt.c - Windows: Support building roken as a DLL - Declarations for getopt externs - - Simon Wilkinson (1): - roken: getopt should include roken.h - - Change-Id: I5ef850bcac7dace3a8206958783ed6fd5830492e - Reviewed-on: http://gerrit.openafs.org/3378 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9484302fff64fe9466895fb9629f36b9752744d2 -Author: Jeffrey Altman -Date: Wed Nov 24 00:44:02 2010 -0500 - - roken: modify build configuration to permit Windows to work - - When building roken the library must be built with different - ROKEN_LIB_xxx macro values than when the library is being - linked against. In particular, ROKEN_LIB_VARIABLE needs to - be exported when building and imported when linking. - - Change-Id: I353c796a81fb92e5066d76a269d8371150d4756c - Reviewed-on: http://gerrit.openafs.org/3330 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 467b0fadf75df73593c85b45bf15d8e51bd8ae23 -Author: Jeffrey Altman -Date: Tue Nov 23 12:18:38 2010 -0500 - - rxkad: rename bswap32 to octetswap32 - - In bg-fcrypt.c the bswap32 macro has a name conflict with roken. - Rename it to octetswap32. - - Change-Id: I1466c2abb4883c8856962b232859e49014a04796 - Reviewed-on: http://gerrit.openafs.org/3361 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 000fb2e45a126ea864292b4dd85b216cdb9b6ee0 -Author: Jeffrey Altman -Date: Tue Nov 23 12:11:46 2010 -0500 - - rxkad: fix bg-fcrypt to work with roken - - On Windows, roken.h defines iov_len as len and iov_base as buf - so that it can use _WSABUF as the iovec structure. This has negative - consequences when there are local variables iov_len and iov_base - as the same time as there are variables len and buf. This was the - case in bg-fcrypt rxkad_EncryptPacket and rxkad_DecryptPacket. - As a result, rxkad compiled cleanly but did the wrong thing. - This patchset renames iov_len to ilen and iov_base to ibase in order - to avoid this issue. - - Change-Id: Iede2d249b6399fed3e718e782b9bf1315fada93b - Reviewed-on: http://gerrit.openafs.org/3350 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7c4ee52c1a70838284c1354c654233fa20a341f3 -Author: Simon Wilkinson -Date: Tue Nov 23 11:31:27 2010 +0000 - - roken: Add the strsep function - - Add the strsep function (as rk_strsep) to the OpenAFS roken build. - This function is required by Windows, and is now checked for on Unix. - - Change-Id: I71d8e11a30c34aaa89d85d1e6e527d594d5734af - Reviewed-on: http://gerrit.openafs.org/3371 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 655f0523f20333b08669567f5740de2033359427 -Author: Heimdal Developers -Date: Tue Nov 23 11:22:51 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - bd78baf668eca011257f05fef8334e0967500456 (switch-from-svn-to-git-1696-gbd78baf) - - New files are: - roken/strsep.c - - Change-Id: I10c99e408db40f6bcdb0e2c243c3016cd2bf1faa - Reviewed-on: http://gerrit.openafs.org/3370 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da29c18f1d417e692b8a44d3398dda23ee0b1d91 -Author: Simon Wilkinson -Date: Tue Nov 23 11:10:32 2010 +0000 - - Imports: Import heimdal:lib/roken/strsep.c - - Add Heimdal's roken strsep implementation to the list of files - to import into our repository. - - Change-Id: I27a5f6b95e434a630c0278fc0362dbda6af1321a - Reviewed-on: http://gerrit.openafs.org/3369 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fa6bbf1d327f6d2e79bb4b95064e14dd301d5bbe -Author: Simon Wilkinson -Date: Sun Nov 21 10:09:42 2010 +0000 - - roken: Add base64 functions to libroken - - Install the base64.h header, and add the base64_encode and - base64_decode functions to the library - - Change-Id: If0ed8fb13cecb6f4a48b4208fbef8c800a5284d5 - Reviewed-on: http://gerrit.openafs.org/3354 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 097bb407d9dbf5ac62341653917ff8eccd0f3c1e -Author: Simon Wilkinson -Date: Mon Nov 22 14:21:28 2010 +0000 - - rx: Store identity type in rx_identity_new - - rx_identity_new was failing to record the type of the identity, - resulting in all identities being marked as Kerberos v4. - - Change-Id: I35058a3db14874b64d3cad2ffd43db371c34aebe - Reviewed-on: http://gerrit.openafs.org/3353 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d3a0537b7772e087437913a115f88c8f48e0348c -Author: Simon Wilkinson -Date: Sun Nov 21 10:16:26 2010 +0000 - - rx: Rework identity copying - - Change the behaviour of the rx_identity_copy function so that it - copies the whole identity, not just the contents. Add a new function - rx_identity_copyContents which just copies the contents of an identity - into an existing identity structure. - - This restores symmetry with the free and freeContents functions. - - Change-Id: I692ac8434b1538c283a8ae713956be8ae67cccfd - Reviewed-on: http://gerrit.openafs.org/3352 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 76de77c7f9a6f58e7d7e85554decaa2ac959db07 -Author: Ben Kaduk -Date: Sat Nov 6 00:02:31 2010 -0400 - - FBSD: close race in afs_root - - Previously, we called afs_PutVCache(afs_globalVp) directly. This - is unsafe because PutVCache acquires locks which can sleep, losing - the serialization of the GLOCK. In rare circumstances, this can - result in two threads simultaneously making that call, and the - second one would panic in vputx() with a negative refcount. - Close the race by using a local variable for the afs_PutVCache() - calls, applying the change to afs_globalVp before dropping the GLOCK. - While here, fix up other race conditions. - - Change-Id: Id62f27d4469a96c9becd9b031125bd6c910c3e9b - Reviewed-on: http://gerrit.openafs.org/3275 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f26f4651516b36263fd1de3c3aaa461ce623e71d -Author: Heimdal Developers -Date: Mon Nov 22 23:17:18 2010 +0000 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - bd78baf668eca011257f05fef8334e0967500456 (switch-from-svn-to-git-1696-gbd78baf) - - Upstream changes are: - - Jeffrey Altman (1): - Windows: Include winsock2.h before ws2tcpip.h - - Change-Id: I7eca90ad36d84ccec6ac416d82246f6b28f06948 - Reviewed-on: http://gerrit.openafs.org/3360 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 53d1fae4c422317dab0b7bf7fb0dedc5eb1f3607 -Author: Derrick Brashear -Date: Mon Nov 22 11:36:55 2010 -0500 - - redhat init script fix missing space - - the if [] needed a space before the ]. fix it. - - Change-Id: If53524e0c70cccf64b9a53d11a81deebf2c972ec - Reviewed-on: http://gerrit.openafs.org/3357 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit eee9fe09452a1c05153042dffb5a6c4fbed0fb5b -Author: Simon Wilkinson -Date: Mon Sep 13 08:24:12 2010 +0100 - - userok: Allow NULL components in kerberosSuperUser - - Modify kerberosSuperUser so that it can support callers passing NULL, - rather than just empty, instance and cell strings - - Change-Id: Ifc21eb0c4f562d65519e31db32723c3a2d19b363 - Reviewed-on: http://gerrit.openafs.org/3351 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e6a2183f0c21bb12f38962a4c4d61a6511322271 -Author: Jeffrey Altman -Date: Mon Nov 22 00:05:00 2010 -0500 - - Windows: update nsis installer for hcrypto and roken - - Change-Id: I669653fa610908beb33f9a64f05b4d1aa5d28751 - Reviewed-on: http://gerrit.openafs.org/3349 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0cbb18ba9dd9637b8747cc7d8b952bf7def06ba0 -Author: Jeffrey Altman -Date: Mon Nov 22 00:04:23 2010 -0500 - - Windows: update wix installer for afsroken.dll - - Change-Id: Ice566d3fe53c2c97bd2703165d8701f34a09cba7 - Reviewed-on: http://gerrit.openafs.org/3348 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5264ab83366a5a2825e3f6a8eb4e66736b61b40d -Author: Christof Hanke -Date: Mon Nov 22 08:39:11 2010 +0100 - - use intptr_t instead of ifdef - - Remove another ifdef AFS_64BITUSERPOINTER_ENV from the code. - - Change-Id: I1b932b892b39b824ba6ef521f0621fd3e7a51c74 - Reviewed-on: http://gerrit.openafs.org/3343 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 03ab065e0ccf291d45a93b7d63c022bcad3aac34 -Author: Christof Hanke -Date: Sun Nov 21 20:09:23 2010 +0100 - - use computed values in src/gtx/curseswindows.c - - compiling failed, because of -Wunused-value. - Use the return code of wstandout and wstandend and pass - it upwards. - - Change-Id: I6ae101edb36e31247ff772f5dc59104eb7856138 - Reviewed-on: http://gerrit.openafs.org/3344 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 811948f5da27becaeea6daf957a797ba383a3b21 -Author: Simon Wilkinson -Date: Sat Nov 20 10:25:06 2010 +0000 - - Imports: Add reporting of new and removed files - - Make the commit message produced by import-external-git.pl also report - which files the script added and removed. Whilst this information is - available from the patch itself, having it in the commit message makes - it much easier to tell what happened when reviewing history through - git log. - - Change-Id: I59e7deb0f4f1e8c22d07222e1789c66c65612992 - Reviewed-on: http://gerrit.openafs.org/3334 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 684ce2682e71f2c5078016bec836985c66ea4f63 -Author: Simon Wilkinson -Date: Tue Nov 2 09:46:05 2010 +0000 - - hcrypto: Cleanup all build products - - make clean in hcrypto was missing rand-fortuna_lwp.o. Fix that. - - Change-Id: I137218ebd8d863fe653ac41aa4de9b71e4ebd76d - Reviewed-on: http://gerrit.openafs.org/3218 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit acdef43d818ee56e6c1f1dc29f508c02793c8355 -Author: Christof Hanke -Date: Fri Nov 19 21:30:21 2010 +0100 - - use proper 64bit casting for pointer-math - - building with "./configure --enable-checking --enable-supergroups" - fails, because on 64bit, the casting in map.c gives a warning. - Just add another ifdef and cast according to the size of a pointer. - - Change-Id: Icb35d79f56cf8fec48c863061a524f9e29e6acd8 - Reviewed-on: http://gerrit.openafs.org/3341 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 01b9cee0d0d4a328b662c0138efcd8506126084c -Author: Christof Hanke -Date: Sun Nov 21 12:13:34 2010 +0100 - - remove unnecessary dependency - - fms in bu_utils is not using curses at all. - Just remove the dependency from the Makfile - - Change-Id: I6d02e60508a2c9b5eb2290c3bf2f9e4ee164fde0 - Reviewed-on: http://gerrit.openafs.org/3342 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit e9df8bb9b02cf34aeaf4b67998138126a22704a6 -Author: Jeffrey Altman -Date: Sat Nov 20 16:53:31 2010 -0500 - - add src/roken/roken.h to src/roken/.gitignore - - roken.h is a generated file. Add it to .gitignore - - Change-Id: I330d08da951efdef01d9751b8ce9bb062dc235f5 - Reviewed-on: http://gerrit.openafs.org/3338 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c16ac6ce15cffecbe3ec3d97e384d3e645eb9fc7 -Author: Jeffrey Altman -Date: Sat Nov 20 16:26:22 2010 -0500 - - Windows: permit aklog to build with krb4 support and roken - - aklog.c defined S_ISDIR() which is now defined by roken.h - - krb4 declared the types uid_t and gid_t which are defined by roken.h. - There is no mechanism to disable the declarations within the krb4 - header (conf-pc.h) even those the declarations were never required - by the Kerberos v4 DLL. The patchset hacks the in tree local copy - of the kfw\inc\krb4\conf-pc.h header to avoid the conflict. - - There is still an annoying warning due to kfw\inc\krb4\krb.h - providing a conflicting prototype for gettimeofday() but the - function is not used within aklog so there is no harm from it. - - Change-Id: Icbb326bf8e703957cf4ce9bc991075b90aff6f08 - Reviewed-on: http://gerrit.openafs.org/3337 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 45d5f88766fe86e6fd4ef0684ddc26ad7319c927 -Author: Jeffrey Altman -Date: Sat Nov 20 16:03:31 2010 -0500 - - Windows: Have get/free addrinfo and nameinfo functions - - roken defines replacements for getaddrinfo, freeaddrinfo, - getnameinfo, and freenameinfo which are provided by winsock. - Add HAVE_xxxx macros as required to prevent roken substitution - from taking place. - - Change-Id: I2308f63d78234893a8d5031bf6237cabd5d46bd9 - Reviewed-on: http://gerrit.openafs.org/3336 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f917d45906fd20f1427ef5ee4ccdbc60971defa3 -Author: Jeffrey Altman -Date: Fri Nov 19 12:45:50 2010 -0500 - - Windows: Add hcrypto to the msi installer - - Change-Id: Ia89433b82001a7ec369ef7f8e689d40979c61206 - Reviewed-on: http://gerrit.openafs.org/3333 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 358f69e561a32133971e5c00d22d7614549acef0 -Author: Jeffrey Altman -Date: Sat Nov 20 11:47:11 2010 -0500 - - Windows: more libroken fixes - - param.i386_w2k and param.i386_nt40 were not updated for libroken - as part of e2b4fde0b5850e42cb0ed00852f581fb7d24f8ff - - Change-Id: Iffb5504150ac46ab430d72ac623c7e2d0fbe39dc - Reviewed-on: http://gerrit.openafs.org/3335 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4affa40db8c6c2c9908a77101ee001c3762f9593 -Author: Jeffrey Altman -Date: Fri Nov 19 00:07:36 2010 -0500 - - Windows: conditionally set tray icon state - - If the checkbox IDC_TRAYICON is not present in the dialog, - do not attempt to use its value as a setting for - Config_SetTrayIconFlag(). - - FIXES 128591 - - Change-Id: Iebee8198ec25e1841f6fa49b9850a16329f2cbdd - Reviewed-on: http://gerrit.openafs.org/3331 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 75aacd6a10b1ebd426907268aa584bdd1be61833 -Author: Jeffrey Altman -Date: Wed Nov 17 22:33:48 2010 -0500 - - more rx/tests cleanups - - Include roken.h, always reference rx headers with rx prefix, - add a resource file for Windows, remove warnings from testclient - and testserver. add a .gitignore file. - - Change-Id: If75560ff9b21dc9a1abf99159d26214eb6b0b9a3 - Reviewed-on: http://gerrit.openafs.org/3323 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5c77a6ca2460c3e79125a614037824db35480905 -Author: Felix Frank -Date: Sat Nov 13 00:10:31 2010 +0100 - - rxgen: add *TranslateOpcode functions to XDR code - - Administrative commands and server binaries can benefit from the - ability to translate RPC OpCode numbers to proper function names. - - For this purpose, rxgen now emits the function - - char *PKGTranslateOpCode(int) - - where PKG is replaced by the respective package prefix. - - The function is generated in the exact same way that ExecuteRequest is. - This way, the right optimization (array storage vs. generated case - statement) according to the respective sparseness of OpCodes in the - different RX packages is maintained. - - Change-Id: Ib083597c0841f50518afd2b159b98c0447e13da0 - Reviewed-on: http://gerrit.openafs.org/3305 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d37679f4fdb1b10284046c05d2c7b110b37a4120 -Author: Andrew Deason -Date: Fri Nov 12 10:32:57 2010 -0600 - - doc: Do not process .in files for html - - We do not want to process .pod.in files when generating HTML versions - of the man pages. Change the filename filtering logic to only accept - .pod files, so we'll also skip over all other stuff we don't want, - like CVS or fragments directories. - - Change-Id: Ic7da67dd5297aa52a67a8a0dc0b9cc7904cfa2b4 - Reviewed-on: http://gerrit.openafs.org/3302 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit df05b71d9bcbf44865954a07cca4704207706b0a -Author: Simon Wilkinson -Date: Sat Apr 24 15:43:59 2010 +0100 - - Use hcrypto for kernel md5 - - Use the hcrypto code for kernel md5 too. - - Change-Id: I84663a5e29ef8ce4cb0f20be0604198c13b72c43 - Reviewed-on: http://gerrit.openafs.org/2578 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a9b8fd81bf14c04d33113e9e4df4e1ca7573e49d -Author: Simon Wilkinson -Date: Thu Apr 15 18:40:31 2010 +0100 - - Remove local crypto - - This change removes all of the local crypto use in userspace, in - favour of using our shiny new afshcrypto library. - - Change-Id: Iac21b42e49bac424cc28c449a31f2da44121b7e5 - Reviewed-on: http://gerrit.openafs.org/2577 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a17bf58c08edcda0cb09f20e2e9f9a41105085e0 -Author: Simon Wilkinson -Date: Sun Oct 31 00:52:06 2010 +0100 - - Replace bits of libutil with libroken - - Replace all of the bits of libutil that were originally culled - from libroken with libroken originals. - - Change-Id: I361d7a8d134a361caa2da16963408c74c55a1d4e - Reviewed-on: http://gerrit.openafs.org/3211 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 66f5fc4322c578717ef208aa1e969d05e5a9a570 -Author: Simon Wilkinson -Date: Sat Oct 30 15:27:51 2010 +0100 - - hcrypto: Use system wide libroken - - Use the system wide libroken, rather than building our own bits - locally, for libafshcrypto. - - Change-Id: I93eaa3a1d6b9290e30c0892a3313a8eaa639d52a - Reviewed-on: http://gerrit.openafs.org/3206 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c953505a5946d615b3fcaf49e4247f9a3d734f93 -Author: Simon Wilkinson -Date: Mon Nov 1 09:03:43 2010 +0000 - - Build: Fix broken bracketing in shared Makefile - - There was a stray ( in the shared library build system. We hadn't - noticed this, as the only place that uses the shared makefile and - produces binaries is the hcrypto test suite that isn't built by - default. - - Change-Id: I1414c0e1db52307f8ffff4214f411bc028c03fd5 - Reviewed-on: http://gerrit.openafs.org/3210 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit d0c1696d811c3af4fc8ad693e3873fce81b20626 -Author: Jeffrey Altman -Date: Thu Aug 12 11:15:58 2010 -0400 - - Windows: build tsalvaged on Windows - - Build the pthreaded salvage server on Windows. - (This work is not yet complete.) - - Change-Id: I6c2656131a4e49d2bc5869c21f3aa5056a1f3a66 - Reviewed-on: http://gerrit.openafs.org/3328 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0ef39934285e95277d3ae94bacc62d59f592209c -Author: Jeffrey Altman -Date: Thu Aug 12 11:12:51 2010 -0400 - - Windows: build tptserver on Windows - - Build the pthreaded ptserver on Windows - - Change-Id: I556610a7ae7d14e0ec1955e70b72e2edc6912529 - Reviewed-on: http://gerrit.openafs.org/3327 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8073ef008b826c520cbb8dc11b2e0708f3d5ec28 -Author: Jeffrey Altman -Date: Thu Aug 12 11:11:25 2010 -0400 - - Windows: build tubik - - Build the pthreaded ubik library on Windows - - Change-Id: Id6112ef95b60a5f786fa60473ca8ae1a9a3b5201 - Reviewed-on: http://gerrit.openafs.org/3326 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fb6b22cf77039962f22f462ee602f0e4a8153817 -Author: Marc Dionne -Date: Fri Nov 5 17:30:02 2010 -0400 - - Linux: define llseek operations - - With kernel 2.6.37 it is now mandatory to define the llseek operation - for files and directories. If these are not defined, no_llseek is - called, and any attempt to seek returns ESPIPE. - - Most file systems use generic_file_llseek, but it seems safer to use - default_llseek which is what the vfs used to call for us by default. - In 2.6.37 these two functions are actually functionally identical. - - Change-Id: I7ad736e3953c4feaa51afb9f7ff2760c3140373f - Reviewed-on: http://gerrit.openafs.org/3292 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit c737d5382b1f3f5dc10eacfe5ecf8a7391f47cf2 -Author: Jeffrey Altman -Date: Thu Nov 18 00:58:08 2010 -0500 - - Windows: add roken.h to src/roken cleanup list - - Change-Id: I09949bfbbdc9def9930696215c58fa94702f1035 - Reviewed-on: http://gerrit.openafs.org/3325 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 0c2aa7d5f4b769da9ddf7167244bcf8041b9213e -Author: Jeffrey Altman -Date: Wed Nov 17 21:42:00 2010 -0500 - - Windows: Add CODESIGN_OTHER option to make signtool rules - - Some organizations may need to pass additional parameters to - signtool.exe. Add the optional CODESIGN_OTHER value to permit - arbitrary additional parameters to be specified. - - Change-Id: Idba3a06585b11b3bb80854049a8ebcd1f7e2550a - Reviewed-on: http://gerrit.openafs.org/3322 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 86b7f140e0e3d928a619e08b832ef3ae7690fad7 -Author: Jeffrey Altman -Date: Mon Nov 15 14:47:22 2010 -0500 - - volser: remove unused yesprompt function - - In src/volser/vsprocs.c is an unused function, yesprompt. - Get rid of it. - - Change-Id: Ie87e89f58a0ad0dc37d38fa48a178d19d7459515 - Reviewed-on: http://gerrit.openafs.org/3309 - Reviewed-by: Jeffrey Altman - Reviewed-by: Andrew Deason - Tested-by: Jeffrey Altman - -commit 4f1efdc8b73ed734197925766530d033c6f9794a -Author: Jeffrey Altman -Date: Sun Jun 6 11:03:44 2010 -0400 - - Convert from using nvldbentry to uvldbentry - - The support routines relied upon by vos use the older nvldbentry - data structures which do not include the UUID for the server. - This patchset updates the code to use the uvldbentry structure - so that a future patchset can make use of UUID values when available. - - Any functions from vsprocs.c which are referenced by vos.c are - considered public. This includes all of the VL_xxxx, UV_xxxx - and Lp_xxxx functions, the EnumerateEntry, SubEnumerateEntry, and - host mapping functions. For any which references an nvldbentry as a - parameter a new 'U' version is created that accepts a uvldbentry. - These new 'U' functions are then used throughout vos.c and the internal - routines. - - Change-Id: Ib95e4c38574c97284e6b8eee06d92555365a179e - Reviewed-on: http://gerrit.openafs.org/2089 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e2b4fde0b5850e42cb0ed00852f581fb7d24f8ff -Author: Simon Wilkinson -Date: Sat Oct 30 15:17:09 2010 +0100 - - libroken: Build on windows - - A minimal change set to get libroken to build on Windows. Sadly, - libroken contains definitions for a number of platform compatibility - macros which were previously scattered throughout the windows code. - These scattered macros have to be removed in order to build libroken. - - The impact of this removal is that a very large number of files - throughout the tree require the addition of "roken.h" to pick up the - new compatibility code. The bulk of this change is adding these - includes. - - In addition, some of the added includes add roken dependencies to the - Unix build. So, also add libroken to the build rules in affected Unix - Makefiles. - - Change-Id: Ifba431bd37e67b1e273fbc6f69b805a232193456 - Reviewed-on: http://gerrit.openafs.org/3205 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ccb6e3a5d64aced06c3ff415806735bddf0a900d -Author: Simon Wilkinson -Date: Wed Nov 17 12:43:07 2010 +0000 - - Add snprintf to roken for Unix builds - - vsyslog on AIX (added to rokenafs by commit - f21fbf6b9ce1dfcb0ea1ef52c686d1370c810609) requires rk_*printf, - add them to the libroken build. - - Change-Id: I243cb89b5715be03920c562559b326786a9e9518 - Reviewed-on: http://gerrit.openafs.org/3320 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f21fbf6b9ce1dfcb0ea1ef52c686d1370c810609 -Author: Derrick Brashear -Date: Tue Nov 16 14:04:30 2010 -0500 - - roken build vsyslog - - in order to make aix happy, build vsyslog if we have it. - - Change-Id: I78e7870ed4fef7ee9d41b0ae6096e6c2b1c6cc19 - Reviewed-on: http://gerrit.openafs.org/3316 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 901460e50501e7d46fd56f94b96a93b407441532 -Author: Heimdal Developers -Date: Mon Nov 15 15:35:31 2010 -0500 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - 387b0fa7baf724cc260559ff8774c04e0e8f7487 (switch-from-svn-to-git-1676-g387b0fa) - - Upstream changes are: - - Andrew Tridgell (1): - heimdal: fixed a shadowed variable warning for error_message - - Change-Id: I515500ae3c79b3f87393c5fd4f7640d64104ca53 - Reviewed-on: http://gerrit.openafs.org/3311 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ef8c3db90ae9ec25705027c609a1bae5f186c4f1 -Author: Andrew Deason -Date: Wed Nov 10 09:11:47 2010 -0600 - - Use afs_foff_t for file offsets - - Some callers in vol and volser were not using afs_foff_t for file - offsets for calls to STREAM_ASEEK, FDH_TRUNC, FDH_PREAD, or - FDH_PWRITE. Most notably, in code for volume cloning, purging, and - dumping operations. Fix them to use afs_foff_t to prevent errors when - dealing with large special files. - - Change-Id: I531fa8cb3070007a9c03e5e19c70d546f272a12c - Reviewed-on: http://gerrit.openafs.org/3289 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit b2e0017eba395999fbb74a79a9d31685a1edb936 -Author: Derrick Brashear -Date: Mon Nov 15 15:28:00 2010 -0500 - - import vsyslog from roken for AIX - - AIX wants vsyslog. pull it in - - Change-Id: Ia4160f10bd7b1fd3399e71f3abc49146be57a20b - Reviewed-on: http://gerrit.openafs.org/3310 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c07b47169adb85621c328a3687ea62ef84e43bb1 -Author: Anders Kaseorg -Date: Sat Nov 6 03:17:17 2010 -0400 - - Linux: Fix prototypes for afs_xsetgroups and sys_setgroupsp and friends - - Fixes some ā€œwarning: function declaration isnā€™t a prototypeā€, and - makes the prototypes consistent with the corresponding definitions. - - Change-Id: I7dce475800b585c3cc8a735d0a2f92ca339c9fac - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/3278 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 90679bf5118557970f00b98dcab0032d3580deb6 -Author: Hartmut Reuter -Date: Fri Nov 5 11:31:28 2010 +0100 - - RXOSD and VICEP-ACCESS fields and bits in afs.h - - struct vcache gets two new fields: - int protocol - which in the lower 16 bits contains the protocol number - 1 classical rx-fileserver, - 2 rxosd, - 4 direct access to visible vicep partitions. - void *vpacRock - which for visible files in a vicep-partition contains - a pointer to a struct known only inside afs_vicep.c - which contains the pointer to the open file and other - information. - - Change-Id: I9d471a010d99bfa53ac59be3e7daad72e29d02ee - Reviewed-on: http://gerrit.openafs.org/3013 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 14980b477822ecc66e95f8c2a71f0fc11839afbd -Author: Anders Kaseorg -Date: Sat Nov 6 03:15:06 2010 -0400 - - Linux: Fix prototypes for sys_setgroups_stub and sys32_setgroups_stub - - Fixes ā€œwarning: function declaration isnā€™t a prototypeā€. - - Change-Id: Idfff2a19496ee7d848800c3b913d779e52187021 - Signed-off-by: Anders Kaseorg - Reviewed-on: http://gerrit.openafs.org/3277 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a0cc81c0894193db11860d8fe40380c7198741a9 -Author: Andrew Deason -Date: Wed Sep 1 15:10:56 2010 -0500 - - ubik: Record the last write tid in writeTidCounter - - ubik is currently tracking writeTidCounter for write transactions - separately from regular transactions (assigned from tidCounter). - Specifically, tidCounter is incremented twice for each transaction, - but writeTidCounter is incremented twice only for write transactions. - As a result, writeTidCounter and tidCounter tend to drift far apart. - - This is a problem, since the tid for DISK_* calls uses the transaction - id of the current transaction (based on tidCounter), and VOTE_Beacon - uses writeTidCounter for its transaction id. So, in effect, the tid in - VOTE_Beacon is completely bogus and unrelated to the transaction id of - the actual current write transaction. This can cause valid write - transactions to become invalidated when tidCounter becomes negative, - since VOTE_Beacon will send a positive tid, and if there is a current - in-flight write transaction with a negative tid, SVOTE_Beacon will - deem the transactions inequal and will abort the write transaction. - - So instead, record the transaction id counter for the last write - transaction in writeTidCounter. This way, when we call VOTE_Beacon, we - will use the correct transaction id counter for the current write - transaction, and SVOTE_Beacon on the remote site will not invalidate - the transaction. - - Change-Id: I66f290d21fefdfcf9bd9deb704eefff987fe6970 - Reviewed-on: http://gerrit.openafs.org/2647 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bdbc4494602cf142e2dc046a234dd4ba8610cd51 -Author: Derrick Brashear -Date: Thu Nov 11 18:48:18 2010 -0500 - - avoid requeueing callbacks during shutdown - - when linux calls osi_linux_free_inode_pages we can try to queue a vcb. - this is foolish as we are shutting down. so, don't. - - Change-Id: I18290396d9107455453de28097e7fad58526ae06 - Reviewed-on: http://gerrit.openafs.org/3297 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 00023f168e0e097c6a7e9da4450a009e4818a1a5 -Author: Andrew Deason -Date: Wed Nov 10 15:35:17 2010 -0600 - - afscp: Add -s option - - Add an -s option to afscp, to specify an amount of time to sleep in - the middle of a read or write operation. This can be helpful in - simulating a slow client. - - Change-Id: I51228033ff485a92a7805a76e2d6645ec4123495 - Reviewed-on: http://gerrit.openafs.org/3291 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3ecd65d3375f0a4fa4c28f9b59cdf6a1f6fd51b8 -Author: Rainer Toebbicke -Date: Mon Nov 8 21:59:09 2010 -0500 - - Lockless path through afs_linux_dentry_revalidate - - Permit a popular path through afs_linux_dentry_revalidate to pass without - taking a lock which it actually does not need. This affects multi-core - software-build nodes in particular, where serialization and high stat() counts - restricts useful processing to a single core. - - Change-Id: I6151a1240519d9f91f6e258af71b797ce276f4e1 - Reviewed-on: http://gerrit.openafs.org/3298 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4f7a51aa5115a9073771bc396e25d510aeae71e8 -Author: Andrew Deason -Date: Tue Oct 12 17:46:36 2010 -0500 - - viced: Add options for interrupting clients - - Add the -offline-timeout and -offline-shutdown-timeout options to the - fileserver, to implement interrupting clients accessing volumes we are - trying to take the volume offline. Document the new options. - - Currently this is only implemented for read operations. Implementing - this for write operations and callback breaks will require more work. - - This also removes the VGetVolumeTimed interface from the volume - package, since the fileserver was the only user and with this change - the fileserver now uses the VGetVolumeWithCall interface. - - Change-Id: I2c6246d522d37dfd2fa0ecf69d6f71803b2acc03 - Reviewed-on: http://gerrit.openafs.org/2984 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 57a5da63439c2e2b88dd32dc8aa42dc2f6eef116 -Author: Andrew Deason -Date: Fri Oct 29 11:29:37 2010 -0500 - - vol: Interrupt RX calls accessing offlining vols - - When we are waiting for a volume to go offline, only wait a certain - amount of time for it to go offline before we interrupt all RX calls - associated with that volume. This amount of time is configurable in - the new offline_timeout and offline_shutdown_timeout volume package - option fields. - - Change-Id: Ib6beb3c37f44dcc067c1c94506804f61752cc4ff - Reviewed-on: http://gerrit.openafs.org/3216 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 33409b2c849d7fae3b10b3202bb15e338ae5b982 -Author: Andrew Deason -Date: Fri Oct 29 11:14:49 2010 -0500 - - vol: Add interfaces for registering RX calls - - Add VGetVolumeWithCall and VPutVolumeWithCall, to associate RX calls - with volume heavyweight references. Also add the interrupt_rxcall - field to the volume package options structure. - - This also adds the VIsGoingOffline function, so a caller can tell when - a volume is going offline. - - Change-Id: Iacb7738775c8e3aa611360320ca739f5de4ba625 - Reviewed-on: http://gerrit.openafs.org/3215 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit db6ee95864a8fc5f33b7e95c19c8ff5058d37e92 -Author: Andrew Deason -Date: Wed Oct 27 17:34:40 2010 -0500 - - vol: Add VGetVolumeTimed - - Replace the VGetVolumeNoWait interface with the more general - VGetVolumeTimed interface, which allows for waiting for offlining - volume for arbitrary amounts of time (instead of just "waiting - forever" or "not waiting at all"). Also add VOL_CV_TIMEDWAIT and - VTimedWaitStateChange_r as necessary to implement this. - - Change-Id: I3d9ea7a89f16ec5fd185eae7679e84033eb2d581 - Reviewed-on: http://gerrit.openafs.org/3214 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 9266a08d8c77376c95085b16af492f9b055873a4 -Author: Jeffrey Altman -Date: Sun Nov 14 00:00:22 2010 -0500 - - Windows: ktc_ListTokensEx stub assignment error - - Improper use of == instead of the intended = within - ktc_ListTokensEx. - - Change-Id: Id8b49ef91d83000c0685a37bab4a2ca44fc037b4 - Reviewed-on: http://gerrit.openafs.org/3304 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 919c31ecad5633efdf24a747839e926573629c7f -Author: Jeffrey Altman -Date: Sat Nov 13 23:58:46 2010 -0500 - - Windows: clean token.h/token.xdr.c from src/auth - - The new token interface generates token.h and token.xdr.c - from token.xg in the src/auth directory. Add the missing - clean target for these files. - - Change-Id: Ic689a5cad3643b450963f10abee725e0010f1e15 - Reviewed-on: http://gerrit.openafs.org/3303 - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 88fc9ada4cfaee354199480916d139400ee0ef5b -Author: Andrew Deason -Date: Thu Sep 30 12:39:22 2010 -0500 - - viced: Allow checkout of VOL_STATE_DELETED volumes - - The fileserver allows nonexistent volumes to be checked out. Since - VOL_STATE_DELETED volumes conceptually do not exist, we should also - allow them to be checked out. - - Change-Id: Ibc0f761569b339579acff03a3cbd9f795f783e0a - Reviewed-on: http://gerrit.openafs.org/2873 - Reviewed-by: Tom Keiser - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4669a55b58ddb6905424c4f8123d7e631f52eb35 -Author: Andrew Deason -Date: Fri Nov 12 10:03:43 2010 -0600 - - doc: Fix fileserver synopsis - - The fileserver synopsis was missing the leading 'fileserver' before - the options list. This causes the options list to not be interpreted - as POD, and so you get a lot of ugly unprocessed POD markup in the man - page. Fix that. - - Change-Id: I8e2faf6d46a81185967d30b1669d3f48cbf269dd - Reviewed-on: http://gerrit.openafs.org/3301 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ec9675bed293c0321cb5dbddbdb02d47e955ccc6 -Author: Hartmut Reuter -Date: Thu Nov 11 16:12:18 2010 +0100 - - Use port in ugen_ClientInit - - Use the port information in ugen_ClientInit also if no server was - specified and info.hostAddr[i].sin_port is not set. - - Change-Id: I7f53f1bea0b034018d44acf0d0ae3b3a39b85134 - Reviewed-on: http://gerrit.openafs.org/3293 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 8078c4dcf2dd5a922225f0e37babf1b357b5e72d -Author: Andrew Deason -Date: Wed Nov 10 15:21:07 2010 -0600 - - afscp: Always show fetch/store errors - - When we get an error from a fetch or store operation, show what the - error was, instead of just saying "some network error occured". - - Change-Id: I4b1baca0e1b11bd048014ef2b4f4789c7813f0e7 - Reviewed-on: http://gerrit.openafs.org/3290 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 97474963e58253f8c891e9f6596403213d53527b -Author: Andrew Deason -Date: Thu Nov 11 14:45:04 2010 -0600 - - vos release: Avoid full dump on all sites - - Commit 9fed169b1c5c823fd96cea94daf712b2cf06c901 attempts to remove any - remote RO site that has RO_DONTUSE set. However, we set RO_DONTUSE on - all sites earlier in the release process if this is a full release, - resulting in all sites getting a full dump. - - Correct this by remembering in 'origflags' what flags each site has - before we messed with the vldb entry. - - Thanks to Mike Meffie. - - Change-Id: I8c9582c9f7aaee92637ddc1ad11aed96fd69686b - Reviewed-on: http://gerrit.openafs.org/3296 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Michael Meffie - Tested-by: Michael Meffie - -commit 6d5c1873b5d62539f355e361d8c0eb0377375b44 -Author: Andrew Deason -Date: Thu Jul 29 17:02:38 2010 -0500 - - Fix util test dependencies - - The test programs in tests/util did not depend on libutil.a or - libtap.a. So, if libutil.a changed, they were not relinked. Add the - dependencies so correcting a part of libutil will cause the tests to - actually reflect the change. - - Change-Id: Iad9d15ef6affd8178d7ef7cb919f66dcce8c61da - Reviewed-on: http://gerrit.openafs.org/2484 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c8dc68299d47ae4d7f0c9a1354de9ddd37ff86fc -Author: Michael Meffie -Date: Thu Nov 11 12:17:05 2010 -0500 - - viced: fix missing host lock in h_Enumerate - - The global host lock must be held over h_Release_r. Fix the - the case in h_Enumerate where h_Release_r is called without - the global host lock held. - - Change-Id: I010338edf0a515f543e3468afff907e97eb07163 - Reviewed-on: http://gerrit.openafs.org/3294 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit fabd590cc4b0142fe97c4ffa6a4669fe5d44c359 -Author: Andrew Deason -Date: Wed Sep 29 11:48:44 2010 -0500 - - salvager: Do not break cbks when salvaging parts - - When salvaging whole partitions / whole servers, the fileserver is - assumed to not be running. So only break callbacks if we are salvaging - a single volume. If we are salvaging a whole partition, do not tell - the fileserver to break callbacks on changed volumes, since the - fileserver will not be around and we will just hang. - - Change-Id: Ia158d5a00574a6907b9b040510ef7d827a2ee05d - Reviewed-on: http://gerrit.openafs.org/2865 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 19d2e0e34b5f100fdbec1da8373badd624c02248 -Author: Tom Keiser -Date: Thu Oct 14 01:24:03 2010 -0400 - - vol: make namei_ListAFSSubDirs deal with multiple/bad linktables - - The salvager ends up deadlocking when multiple linktables exist - in the same volume group special directory. The issue is that we - open and flock all discovered linktables, but only close out the - last one found. Consequently, when our child scans the linktables - again, we deadlock against the locked and leaked descriptor(s) our - parent left around before forking. - - While we have so far been unable to root-cause the actual creation - of spurious linktables, this patch will at least stop the salvager - from deadlocking against itself when this occurs. - - Change-Id: I67821f2c99663c56e4ec0b008e1d2d3a8751df0e - Reviewed-on: http://gerrit.openafs.org/2979 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f9409fcdffa594aff9530038a5ac81a2495da3b6 -Author: Alejandro R. SedeƱo -Date: Fri Nov 5 17:24:43 2010 -0400 - - Linux: use DEFINE_MUTEX for afs_linux_alloc_sem on newer kernels - - DECLARE_MUTEX is gone as of 2.6.37; afs_global_lock switches from - DECLARE_MUTEX to DEFINE_MUTEX at 2.6.16, so do the same here. - - Change-Id: If2ea5e1d3b5406c631cade1128425b5be79ffd4a - Signed-off-by: Alejandro R. SedeƱo - Reviewed-on: http://gerrit.openafs.org/3273 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 8ec31f26770ef1e85fb3a6005467f0e2d3ce1715 -Author: Marc Dionne -Date: Sun Nov 7 13:14:55 2010 -0500 - - Cache bypass: make readpage deal with reads at end of file - - When a file's size is an exact multiple of the page size, the vfs - will issue a readpage for an extra page at the end, for which there - is no data. Deal with it here instead of letting it trickle down - to the background daemon, which will issue an unnecessary read to the - server, and maybe get confused because there is no data. - - Change-Id: If86ed785c4e9d50edb1a960142f726fa869c50fc - Reviewed-on: http://gerrit.openafs.org/3281 - Reviewed-by: Matt Benjamin - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5988923898e15cb50d550e54119869b38cb5bc5b -Author: Andrew Deason -Date: Thu Sep 30 11:34:59 2010 -0500 - - volser: Do not FSYNC_VOL_DONE temporary volumes - - Currently, the volserver just looks at the destroyMe field in a volume - header to see if it should tell the fileserver a volume has been - deleted (FSYNC_VOL_DONE opcode). However, temporary volumes created by - the volserver (such as new volumes or clones) have destroyMe set, but - are obviously not deleted, and so the fileserver should just be told - FSYNC_VOL_LEAVE_OFF about these volumes instead. - - With commit bb9caf9822a53ad07cd3a5d6cea7f6b7eeeedd59, FSYNC_VOL_DONE - and FSYNC_VOL_LEAVE_OFF actually do different things, so this does - make a difference. - - Note that this commit slightly changes the meaning of the - vp->needsPutBack field. Now it must be set to VOL_PUTBACK_DELETE to - tell the fileserver that the volume has been deleted, and set to - VOL_PUTBACK if it just needs to be given back to the fileserver. - - Change-Id: I020679c853b93593e5c75c4f30ac56312ba0f8d6 - Reviewed-on: http://gerrit.openafs.org/2872 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0b6b2b3cab09eacf9b03638d8770c83aeb0b8fea -Author: Marc Dionne -Date: Sun Nov 7 13:35:36 2010 -0500 - - Cache bypass: adjust read size for non-contiguous readpages - - The bypass code's readpages does deal with a non-contiguous list - of pages, but it doesn't adjust the size of the read it requests - from the background daemon accordingly. As a result we'll ask the - server for pages we were not asked to read. - - Change-Id: I5468a4a68f4f415961298144f5bb581faeda540a - Reviewed-on: http://gerrit.openafs.org/3282 - Reviewed-by: Matt Benjamin - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit df682aa34170d285247c5486050db3ee7d3774f0 -Author: Jeffrey Altman -Date: Mon Nov 8 11:07:14 2010 -0500 - - rxperf: use parallel connections - - When the number of threads exceeds RX_MAXCALLS allocate additional - rx connection objects. - - Change-Id: Ib935b453672e68b88ec816770990070514c48222 - Reviewed-on: http://gerrit.openafs.org/3285 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit cb7a5ce44470112d3ba5e341322bb9e7d029e101 -Author: Simon Wilkinson -Date: Sat Nov 6 15:18:14 2010 -0400 - - RX: rxi_PrepareSendPacket drops call lock; WaitforTQ required - - Since rxi_PrepareSendPacket drops the call->lock during - processing the caller must perform a rxi_WaitforTQ prior - to manipulating the transmit queue. - - Change-Id: Icd16444d84235c1fb647bf96bd85706c7396a4bb - Reviewed-on: http://gerrit.openafs.org/3279 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e890f090e11d09b6e6b929642cbd92a56fb6e66e -Author: Andrew Deason -Date: Fri Nov 5 16:48:28 2010 -0500 - - vol: Do not give back not-checked-out vols - - VAttachVolumeByName_r has logic to give back a volume over FSSYNC if - we checked out a volume but failed to attach it for whatever reason. - However, the logic used for determining if the volume was checked out - or not is a bit inaccurate (even moreso than the comments imply), - potentially causing us to VOL_ON volumes that don't exist at all. - - Instead of trying to guess based on various conditions whether or not - we checked out the volume, keep track of a variable that is only set - when we actually checkout the volume from the fileserver. Then only - give back the volume if it is set. - - Change-Id: I03197eca3e1a31a4b9566552eb9032fdc7cc5909 - Reviewed-on: http://gerrit.openafs.org/3274 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e4250dc64eb26b5da1480e9f5bd58d016f81847f -Author: Marc Dionne -Date: Sun Nov 7 15:06:16 2010 -0500 - - Cache bypass: release and unlock pages when we get 0-length reply - - In some cases, such as reading past the end of file as known to the - server, fetchdata will get a 0 length reply. Deal gracefully by - unlocking and releasing any pages reserved by readpages. Failure - to do so here leads to deadlocks later as we can exit with some pages - still locked. - - Change-Id: Ic9e496c8c64d5e94f2cf9976d160ef5873f27249 - Reviewed-on: http://gerrit.openafs.org/3283 - Reviewed-by: Matt Benjamin - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f78b29b900028d67c51de7ae6c9e46b94602196c -Author: Simon Wilkinson -Date: Fri Oct 1 09:36:06 2010 +0100 - - rx: Reorganise includes - - RX files were including the same header set in three different places, - once for user-land builds, once for kernel builds and once for ukernel. - The duplication was a bit pointless, and really frustrating when adding - new headers. So, reorganise the includes so that we only list headers - that are used in all three builds in one location. - - Also take the opportunity to indent the #ifdefs so that it is clear - what is going on, and to remove some more of AFS_OSF_ENV and - AFS_AUX_ENV from kernel builds. - - Change-Id: Ic2b5d39de4dd406bbc0acaa29fc876ac882ccf10 - Reviewed-on: http://gerrit.openafs.org/3160 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 27f00bb29665d6a9c725817f105cfba48af4adbe -Author: Michael Meffie -Date: Fri Nov 5 08:27:37 2010 -0400 - - Windows: fix keystroke delay in waitkey - - Fix the keystroke delay in the pthreaded wait for key - function. - - Change-Id: I79293ceca57a418d23b0a211f875c17b805f9391 - Reviewed-on: http://gerrit.openafs.org/3268 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit aac929badb5e40a59ae77ae69fc43df8f6f376fc -Author: Michael Meffie -Date: Thu Nov 4 09:26:25 2010 -0400 - - avoid private stdio fields in waitkey - - Use the stdio_ext functions provided by solaris and glibc - instead of directly accessing private stdio FILE structure - members. This is needed for 64-bit solaris builds and is more - portable in general since the FILE structure is meant to be - opaque. Remove the duplicated code in the pthreaded butc - package. - - Change-Id: Idbefa88e2563bb117322e818b1300b324fc3626d - Reviewed-on: http://gerrit.openafs.org/3257 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ef4b9e13ef6a79d7e5f540297e486189fdedf085 -Author: Andrew Deason -Date: Fri Nov 5 14:34:05 2010 -0500 - - DAFS: Do not let VScheduleSalvage_r free vp - - In VScheduleSalvage_r, we were calling VCancelReservation_r, which has - the possibility of free'ing vp. Since we still use vp after doing this - (and since we're already inside VCancelReservation_r to begin with), - we must not free vp. Instead, just decrement nWaiters without - triggering any of the dtor code in VCancelReservation_r. This is safe - as long as all VScheduleSalvage_r callers ensure that they check to - free the vp if necessary, which they all do. - - Thanks to Derrick Brashear. - - Change-Id: Iebdbdf47c6307cd7c036b88ad4dbc25bc7a3279a - Reviewed-on: http://gerrit.openafs.org/3272 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a8d1fe61f4a0d906d4086b71c88b0a3ab278b12c -Author: Derrick Brashear -Date: Thu Oct 28 01:03:49 2010 -0400 - - merge ntops and namei - - instead of having 2 implementations of nearly the same thing, - merge what we can. this can get closer, probably, but this is - a start. - - Change-Id: I8446649e37ab0856e6e40933a44a35edbc708638 - Reviewed-on: http://gerrit.openafs.org/3180 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bb1dd6c95025b40d64f8ea4deeeba3c3c1f10a50 -Author: Jonathan Billings -Date: Fri Nov 5 09:38:43 2010 -0400 - - RedHat: Remove potpourri.h from RedHat SPEC file manifest - - potpourri.h is no longer needed, so it should be removed from the - list of files to be installed. The missing file was causing the - RPM package build process to fail. - - a reverse-cherry-pick of fb7e276efdf1c68144c8d210582c0b66ab1ab081 - Reviewed-on: http://gerrit.openafs.org/3267 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - - Change-Id: Ib4c585130da68f0bb8cab8eb8ffdb7d8980a11d9 - Reviewed-on: http://gerrit.openafs.org/3270 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f2c6ae300a211460c24c87752cf9400b9e61ee1f -Author: Marc Dionne -Date: Thu Nov 4 20:49:41 2010 -0400 - - Cache bypass: Fix oops in bypass transition functions - - The FCSBypass flag might change between the time we check it before - entering afs_TransitionToCaching or afs_TransitionToBypass and when - we check it again within the functions. - - Instead of panicing, just exit if someone beat us to it. Also move - the checks within the write lock region to make sure the code - doesn't get run multiple times. - - Change-Id: I4319896e522d0681c548299d2bd547e71998cc88 - Reviewed-on: http://gerrit.openafs.org/3266 - Reviewed-by: Jeffrey Altman - Tested-by: Marc Dionne - Reviewed-by: Derrick Brashear - -commit 732a4c52d5e4836d8219dd03c2e9e17e89e395a5 -Author: Andrew Deason -Date: Thu Nov 4 12:07:17 2010 -0500 - - RX: Fix old rx_stats incrementors - - A couple of places were still trying to increment rx_stats members by - just ++'ing them. Update them to use rx_atomic_inc. - - Change-Id: I35f5b24a08952d308074851623b06580e4b2b93b - Reviewed-on: http://gerrit.openafs.org/3263 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 354d21878ed401c644a5392f86af3fe6e660801f -Author: Andrew Deason -Date: Thu Nov 4 11:46:10 2010 -0500 - - krb5_free_string takes a krb5_context - - Give krb5_free_string a krb5_context, not just the string to free. - - Change-Id: Ic24794286716669679ea278d20b279a458683103 - Reviewed-on: http://gerrit.openafs.org/3262 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e8c93c424fc6bd936386f745b50e0a77384ad14d -Author: Andrew Deason -Date: Thu Nov 4 11:37:31 2010 -0500 - - tsm: Make explicit rules for stem-changing targets - - If the stem changes for generating a .o from a .c file, - implicit/suffix rules will not apply. That is, if we specify the - dependencies for 'bar.o' in a Makefile as so: - - bar.o: foo.c - - This will not match an implicit .c.o rule, since the filename stem - changes. We must add an explicit AFS_CCRULE invocation to make the - rule do anything. - - This fixes this problem for the src/tsm41 directory. It may exist - elsewhere, but it's difficult to find unless the build breaks. - - Change-Id: I090c074beec120201f334b8bc613170cd4345dde - Reviewed-on: http://gerrit.openafs.org/3261 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7d6860c852296d96eac2785739bcfb9de76cd92d -Author: Andrew Deason -Date: Thu Nov 4 10:57:30 2010 -0500 - - UKERNEL: f_fsid is a struct on AIX - - The statvfs f_fsid member is a struct with two fields on AIX when - _ALL_SOURCE is defined (which we define to get various extensions). So - in the AIX case, use it as such a struct instead of a single integer. - - Change-Id: Ibd94d6b38b0cdc08b5812fe29e4e93344765ff05 - Reviewed-on: http://gerrit.openafs.org/3260 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8401d0281f833638c1cfc5cb862d77fe97232ecb -Author: Andrew Deason -Date: Thu Nov 4 10:33:17 2010 -0500 - - afsd: Pass cacheMountDir to aix_vmount - - cacheMountDir is no longer global, so aix_vmount() needs it passed as - an argument. Do so. - - Change-Id: I26c56b49f5ec675277d137424f672f0b727f705d - Reviewed-on: http://gerrit.openafs.org/3259 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3f4460e1e9efb562ae194a40aa0827423142e048 -Author: Andrew Deason -Date: Thu Nov 4 10:30:31 2010 -0500 - - Use termios.h for winsize test where available - - The configure test for 'winsize' existence was using sys/termios.h, - but some platforms (AIX) have termios.h but no sys/termios.h. So, use - termios.h instead where available. - - Change-Id: I284b7fa27ceeed84d9e14b62032176846d764bf2 - Reviewed-on: http://gerrit.openafs.org/3258 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6f1da57603cf86109e096001018ba9b0f1dd18b5 -Author: Marc Dionne -Date: Tue Nov 2 18:14:07 2010 -0400 - - volser: add missing Makefile dependencies - - Add some missing dependencies in the volser Makefile to prevent - trying to compile while a header file is still being generated. - - This caused parallel make errors on some slower systems. - - Change-Id: Ieab26cf03a86e340f442d683512a7326eec7834d - Reviewed-on: http://gerrit.openafs.org/3244 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - -commit 2ea841feac2de8ade987c18cb7043aacfebe0d83 -Author: Marc Dionne -Date: Tue Nov 2 20:54:20 2010 -0400 - - Linux: 2.6.37 - replace get_sb with mount - - With kernel 2.6.37 the new entry point for mounting a filesystem - is the mount() operation instead of get_sb(). - - Replace afs_get_sb with afs_mount if the new operation is - available, and use mount_nodev instead of get_sb_nodev. - - Note that this is not strictly required for 2.6.37 since the old - interfaces are still around, but we might as well switch now. - - Change-Id: Icc73a552fd53148bdd7b84e6d3266491488d9ed2 - Reviewed-on: http://gerrit.openafs.org/3245 - Reviewed-by: Marc Dionne - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 951612f4508b0c2ace4676f263df8dd4b566dd44 -Author: Hartmut Reuter -Date: Tue Nov 2 12:15:42 2010 +0100 - - Make osi_fetchstore.c protocol independent - - For future use of OSD and vicep-access osi_fetchstore.c should not depend on - the rx-fileserver-protocol but call instead the routines pointed to by ops. - - Some code beautyfication in afs_fetchstore.c to use nBytes instead of code. - - New global variable afs_protocols in afs_fetchstore.c which will be used - in RXOSD/VICEP-ACCESS programs in the future. - - Change-Id: Id6b6e6c794b4fb00ad4719670caefd381f98949b - Reviewed-on: http://gerrit.openafs.org/2952 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c61e1aeeef8f81f75084f457e4d6e5e1d754cfa5 -Author: Rod Widdowson -Date: Fri Oct 29 14:21:37 2010 +0100 - - Docs: Specify where the Windows mini dump file is written - - Change-Id: Ia97bc5f22f10c35e2d2928ca8ed618583f06563e - Reviewed-on: http://gerrit.openafs.org/3187 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d5ce8d19ace9b87816dd36663420136f5f2ad746 -Author: Derrick Brashear -Date: Tue Nov 2 14:47:35 2010 -0400 - - rx mutex inversion fix - - as discovered by Benjamin Kaduk, we were usually holding rx_refcnt_mutex - but briefly, and here we held it longer, and thus around acquiring freepktQ - mutex. undo it by simply setting STATE_RESET sooner as newcall does. - - Change-Id: I3ae6fce1832d79c7cf17e93831cf8f30aebeb82b - Reviewed-on: http://gerrit.openafs.org/3219 - Tested-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - -commit 862e29a98aee72918fc25e960556f732ba80522c -Author: Jeffrey Altman -Date: Tue Nov 2 16:16:20 2010 -0400 - - Windows: Do not leak cm_volume_t objects from the LRU queue - - During cm_volume_t object recycling the object is removed - from the LRU to ensure that a single object is not recycled - by multiple threads at the same time. Before cm_FindVolumeByName() - exits the object must be re-inserted into the LRU if it is not - present. - - LICENSE MIT - - Change-Id: I3feb3fb55beddffdbbf52a79efcc8d44af39b891 - Reviewed-on: http://gerrit.openafs.org/3220 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 58901738ad6280d0777dd8e77f8c09cc45da04bc -Author: Jeffrey Altman -Date: Thu Oct 28 00:37:03 2010 -0400 - - vol: attach2 must always return with VOL_LOCK held - - attach2() is required to return with the VOL_LOCK held - even though it is called without it. This must be true - for error conditions as well. Not all error paths are - obtaining the VOL_LOCK before returning. Add out paths for - lock held and lock unheld error cases. - - Change-Id: Ib6a05a9bafd9eb3a26a1dd3881d19baa6d59a05e - Reviewed-on: http://gerrit.openafs.org/3177 - Tested-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c120f5c9b64a1333f965125dcfc435e922b47356 -Author: Chas Williams (CONTRACTOR) -Date: Sat Oct 30 18:10:34 2010 -0400 - - afs: minor cleanup for LINUX struct vcache - - mapcnt is no longer used in either linux client and should be removed - to save a little space/sanity. - - Change-Id: Iea734fcbcb7bb639ea080de7b5bf70238bcb60f2 - Reviewed-on: http://gerrit.openafs.org/3207 - Reviewed-by: Derrick Brashear - Reviewed-by: Simon Wilkinson - Tested-by: Derrick Brashear - -commit 0aa7fac246ce044c757530ebe96d3a05c2f33894 -Author: Andrew Deason -Date: Fri Jul 2 16:57:42 2010 -0500 - - DAFS: Fix demand-salvages of attached volumes - - Currently, when an error is encountered for an attached volume, we - call VRequestSalvage_r, which makes the volume go into the - VOL_STATE_SALVAGING state. This state implies that the volume is - offline, however, which is not necessarily the case if we're calling - VRequestSalvage_r from, for example, VAllocVnode_r or VUpdateVolume_r. - - So now, make a new state called VOL_STATE_SALVAGE_REQ to indicate when - a salvage has been requested but the volume is not offline yet (and - thus is not yet ready to give to the salvager). If VCheckSalvage finds - a volume in this state, it offlines the volume first. The FSSYNC - VOL_OFF handler now checks for this state, and if we're giving the - volume to the salvager, we wait for the volume to exit that state. - - VRequestSalvage_r also gains a new flag, VOL_SALVAGE_NO_OFFLINE. This - is to ensure that the existing salvaging code paths for unattached - volumes does not change (for when VRequesetSalvage_r is called from - attach2). If this flag is passed, we do what we used to do, which is - just salvage the volume without offlining it. - - Change-Id: Ie709ac7013ab2b52c87fa408c254651abe5e6af3 - Reviewed-on: http://gerrit.openafs.org/2329 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 138ac6577eab40e25a796f7c18f3c39add000ed2 -Author: Andrew Deason -Date: Mon Nov 1 15:34:26 2010 -0500 - - Cleanup VOffline log message for non-DAFS - - Commit fd592c7674d4aa44dda90998b54d7b56947f6ed8 fixed the 'Volume X - (Y) is now offline' message for DAFS, but the same problem persists - for non-DAFS. Fix the non-DAFS case. - - Change-Id: I7b19a3c2cad8b7233eb03a83598f9bf95db5ac65 - Reviewed-on: http://gerrit.openafs.org/3213 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 81602ffa3b6d981ab96ca17d970e585b7be28e6d -Author: Andrew Deason -Date: Mon Nov 1 17:30:20 2010 -0500 - - QSG: DAFS uses dasalvager - - For DAFS, you want to use 'dasalvager' not 'salvager'. One place was - still referencing 'salvager' in a DAFS example, so fix it. - - Change-Id: Id671fa6125212beb1fb7f23a8743c1288848ee12 - Reviewed-on: http://gerrit.openafs.org/3217 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 572f9baaeb626293f4db62a66db1ea9b9a373c03 -Author: Derrick Brashear -Date: Sun Oct 31 21:58:37 2010 -0400 - - check for error_message - - IRIX apparently has enough krb5 to try building aklog, but no - error_message. ok. so let's cope - - Change-Id: I3cb6d529829de348f73d5c9f5380e153f8ccce52 - Reviewed-on: http://gerrit.openafs.org/3208 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit af0951f373224ce17b341bc5d227fdd5ea621762 -Author: Derrick Brashear -Date: Fri Oct 29 13:47:17 2010 -0400 - - kill off afs/debug.h - - as reported by Marc Dionne, debug.h was still redefinining assert() - - yeah, let's be done with that. - - Change-Id: Icf2cf3db0f4972ebd4ee8cc0547e436b612e8bbc - Reviewed-on: http://gerrit.openafs.org/3194 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5e47d03ed37b87da72f4c1f8fca7a5efff6b0bb3 -Author: Simon Wilkinson -Date: Fri Oct 29 12:10:16 2010 +0100 - - Add libroken as its own library - - Include libroken as a library in its own right, so that the whole - of the code can benefit from it. This change purely adds libroken - for the Unix build system. It doesn't replace those pieces of - libroken in hcrypto or util, or enable it for Windows. - - There is also the option of using a system-install libroken, if one is - found at configure time. - *) If --with-libroken=yes, or is not supplied than a system library - will be used if suitable. Otherwise, we'll use the internal - libroken - *) If --with-libroken=/path/to/installation then the libroken at - that path will be used. If there is no libroken there, or it - is not suitable, an error will be returned - *) If --with-libroken=internal then the internal libroken is used, - regardless of what is present on the system. - - We deliberately do not provide installed headers for the internal - libroken. If other applications wish to make use of libroken, then - they should use the Heimdal one, rather than piggybacking on ours. - - Change-Id: Iff01e1e17090404cc8e4783108ae8a8784170918 - Reviewed-on: http://gerrit.openafs.org/3191 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b5d0c34fcdff6bde79cf0e498044e8a200052084 -Author: Heimdal Developers -Date: Sat Oct 30 15:00:38 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - a3afa695ee3eb1ff5ad8de3e80c20d5049fce934 (switch-from-svn-to-git-1619-ga3afa69) - - Change-Id: I5aafccd5a2afb46d312d0ebf93050eded29ced30 - Reviewed-on: http://gerrit.openafs.org/3204 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6ab0529a70f76758fa4442913128aa40b0bec84b -Author: Simon Wilkinson -Date: Sat Oct 30 14:53:39 2010 +0100 - - auth: Use Kernel XDR for kernel tokens - - For consistency, we should use a version of token.xdr.c built with - the -k flag when we build it into our kernel modules. - - Change-Id: I08e7a1966664141af6c4ed160d3fb860eb5821bd - Reviewed-on: http://gerrit.openafs.org/3202 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c094874817d00dc0df7d48c070f0b5d4673ee349 -Author: Simon Wilkinson -Date: Fri Oct 29 19:19:48 2010 +0100 - - util: netutils never builds in the kernel ... - - ... so stop pretending that it does. - - Change-Id: I9d1d7c9b8c826f18e7f02decdb555956b257e155 - Reviewed-on: http://gerrit.openafs.org/3201 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0a87f5852ab98ccdc01699935208a418aacb7852 -Author: Heimdal Developers -Date: Wed Oct 27 21:26:47 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - a3afa695ee3eb1ff5ad8de3e80c20d5049fce934 (switch-from-svn-to-git-1619-ga3afa69) - - Change-Id: I57e56bbad5811d47194459618ffc6e361f01a876 - Reviewed-on: http://gerrit.openafs.org/3190 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 88e2a2f26623b2fdc0c9e5887fea169eca7302c5 -Author: Simon Wilkinson -Date: Sat Oct 30 14:58:31 2010 +0100 - - Import still more files from libroken - - This time, these are files which are needed to get Windows going. - - Change-Id: I262c5770ec04318f02cbc3e02520e63e09bc4dc6 - Reviewed-on: http://gerrit.openafs.org/3203 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a546fc1707bc32ecb71d42dd48f91eebe3876439 -Author: Marc Dionne -Date: Fri Oct 29 16:23:07 2010 -0400 - - Linux: remove stale prototype and references for read_super - - The 2.6 code doesn't have an afs_read_super, so remove the - prototype and the outdated comments that reference it. - - Change-Id: I1ff5c836ea0ba326d4512ddcfab3f34765347331 - Reviewed-on: http://gerrit.openafs.org/3199 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 9c8d58cd93b98120a7ff31a90b3f9f0ef354a1bc -Author: Jason Edgecombe -Date: Tue Oct 26 15:00:58 2010 -0400 - - Quickstart Guide: Add some verbiage about /vicepXX/AlwaysAttach - - Change-Id: I18f8276933d69ebf7de247bd98c46b30f9e5f372 - Reviewed-on: http://gerrit.openafs.org/3158 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a43605e7bf16e8e1101ed6d6e085826cf085c897 -Author: Marc Dionne -Date: Fri Oct 29 16:09:45 2010 -0400 - - rxosd: allow parallel make - - Build rules that use COMPILE_PART1 must be prefixed with + - to indicate to make that the subprocess is a make and that it - can run with parallel jobs. - - Change-Id: If48b32b885c7c5be6a820cd44a83d01d1eecd20d - Reviewed-on: http://gerrit.openafs.org/3198 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1fa575c09ea7aa66e657b226465cb90dbba4af70 -Author: Phillip Moore -Date: Tue Oct 19 12:17:20 2010 -0400 - - Fix fs bypassthreshold to accept a size of -1 to disable - - The fs bypassthreshold command assumes a value of -1 means the feature - is disabled, but the CLI refused to accept this argument, since it is - not strictly a digit (according ti isdigit()). This patch accepts the - string -1, and makes it possible to both enable AND disable this - feature. - - Change-Id: I87720b2dcfc4e9ee9f322c4841836b74440ac442 - Reviewed-on: http://gerrit.openafs.org/3009 - Reviewed-by: Matt Benjamin - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c77ac5ce976b6f3e5a13a3f739ddbb6e32a177b1 -Author: Phillip Moore -Date: Tue Oct 19 11:31:47 2010 -0400 - - fs getfid defaults to '.', like other path-related commands - - I noticed that all of the other commands that accept a list of paths - use the SetDotDefault() function to default to ".", when no arguments - are given. This patch adds that call to getfid, making it more - consistent with similar commands. - - Change-Id: Ia50c6805996d338cbd8d006107caa4ea56178c8e - Reviewed-on: http://gerrit.openafs.org/3008 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit d390df097cac0fb7815c43e071040559612b6360 -Author: Phillip Moore -Date: Tue Oct 19 11:23:46 2010 -0400 - - fs getfid output changed for consistency with Windows implementation - - This patch removes the redundant volume ID from the output of fs - getfid, and replaces it with the cell name, which is what the Windows - implementation provides. - - Change-Id: I7ce009733a204eeb744683d9c4355c436e9e07aa - Reviewed-on: http://gerrit.openafs.org/3007 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit b04a450df2e54a549f9c7e014016475fa566937b -Author: Phillip Moore -Date: Tue Oct 19 08:24:41 2010 -0400 - - Makes fs getfid error handling consistent with other fs commands - - This patch makes the fs getfid command print errors for paths that - can't be handled correctly, instead of quietly ignoring them, and it - also returns an error code if any such paths are encountered. This - makes the behavior consistent with other fs commands, such as - listquota, whereis, etc. - - FIXES 128372 - - Change-Id: Ibb6e3f6cee5dccbf9347dfa8bfee8776a7552b91 - Reviewed-on: http://gerrit.openafs.org/3005 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4f5cdd73f665434f531144151f9b6e1f4702cf02 -Author: Rod Widdowson -Date: Fri Oct 29 19:57:50 2010 +0100 - - QuickStart Unix: use dafs type and name for demand attach file services - - bos create dafs dafs [...] (not fs). - - Change-Id: I7c06666da4733144ec0709f2783dcb431c6a5891 - Reviewed-on: http://gerrit.openafs.org/3197 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit aad83a30a82407bfa6ac15b49fd31d69b563e898 -Author: Ben Kaduk -Date: Fri Oct 29 03:18:02 2010 -0400 - - FBSD: correct and simplify vcache eviction routines - - osi_VM_FlushVCache and osi_TryEvictVCache were both attempting - to be wrappers around vgone(), with some checks before hand. - Implement the latter in terms of the former to prevent - code duplication and propagation of incorrect code. - - Additionally, correct the locking around vgone(). The - vnode lock must be held, and we must also increase the vnode's - hold count so that it does not disappear out from under us. - As we need the interlock to check the usecount, keep it - locked until we lock the vnode lock, for extra protection. - - As an added bonus, we no longer try to call vgonel(), which - is not an exported symbol and merely happened to work due - to the current kernel linker implementation. - - Remove some stale comments. - - With this change, a parallel buildworld completes on - my four-core machine. - - Change-Id: I665607da25518ddd786869b139d87baed8a05e9f - Reviewed-on: http://gerrit.openafs.org/3196 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b6367aa84b9d1c7529b6f3a12bbfeacc91384ffb -Author: Ben Kaduk -Date: Fri Oct 29 12:01:04 2010 -0400 - - FBSD: lock interlock around v_usecount accesses - - The FreeBSD vnode locking strategy requires that the vnode - interlock be held for all accesses to v_usecount, such as those - used by our VREFCOUNT and VREFCOUNT_GT macros. Conveniently, - a wrapper function is provided that takes the lock around its - access of the element, vrefcnt(). Use it for our macros. - - Change-Id: Ia88eb21046fe844a6adb830734dcae2f76ef2dc5 - Reviewed-on: http://gerrit.openafs.org/3195 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 812333c9a0d4722142d22186fe9b07b39fe6993b -Author: Derrick Brashear -Date: Tue Oct 26 20:13:38 2010 -0400 - - RPM scripts should allow newbinary restart to restart - - add a mode where a newbinary restart can be used instead of - condrestart to induce a restart. - - also, on upgrade, don't turn on the server RC script if it was - previously manually disabled. - - Change-Id: I0e45be751cb2c5d9392d85467a979a22f5a777cf - Reviewed-on: http://gerrit.openafs.org/3163 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0e8cce457763b131de48395a9beed889fd529c1f -Author: Chas Williams (CONTRACTOR) -Date: Tue Oct 19 14:50:35 2010 -0400 - - afs: clean afs_osi_Alloc() usage - - Add asserts for any failures cases not explicitly handled and remove - any casting. - - Change-Id: I282d917ab84b37012553233f2c913b2aef1c92e2 - Reviewed-on: http://gerrit.openafs.org/3012 - Reviewed-by: Simon Wilkinson - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 061b7146566b00a33958ecc9d4cbea9b14a36697 -Author: Chas Williams (CONTRACTOR) -Date: Tue Oct 19 12:30:02 2010 -0400 - - afs: simplify afs_osi_alloc.c - - remove the osimem struct and related casts - - Change-Id: I25c6b0101ce0ec03c9930ab79c05190defb1529d - Reviewed-on: http://gerrit.openafs.org/3011 - Reviewed-by: Simon Wilkinson - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit ebeac56867acdb168b711ae103d7e5869011c947 -Author: Chas Williams (CONTRACTOR) -Date: Tue Oct 19 12:19:16 2010 -0400 - - afs: afs_osi_Alloc_NoSleep() cleanup - - afs_osi_Alloc_NoSleep() is no longer used by the SOLARIS or IRIX - clients. It is used by the *BSD code in rx, so just let those - platforms define/prototype it in their osi_machdep.h - - Change-Id: Ie2e4a6f7520329c345ac63c67d7b156ed21d109f - Reviewed-on: http://gerrit.openafs.org/3010 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 80ede164757ad54ddd59b638f2c007f8ad900c3e -Author: Hartmut Reuter -Date: Tue Oct 26 19:43:59 2010 +0100 - - What the cache manager needs to know about rxosd - - this patch contains only the RPC interface to rxosd which already - contains the definition of all RPCs not just those few used in the - cache manager. - - The code which calls these RPCs will follow in subesquent patches. - - Change-Id: Ia90934b06e809d0a34ed5d4a0d77eed78b74780c - Reviewed-on: http://gerrit.openafs.org/3192 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6aa9a8b9f6a8720ff8b5e983cc5a7005363747e2 -Author: Rod Widdowson -Date: Fri Oct 29 18:01:13 2010 +0100 - - windows: terminate multi_sz correctly - - CreateProcess requires a null-terminated list of null-terminated strings - as an environment parameter. - - A missing level of indirection was causing the final null to be - missed, meaning that if bosserver ran from somewhere which had an - environment the create process would fail. - - Fix the null termination. - - Change-Id: I3496d1c76570b80c760d0c0d8ee7fe046cec75b6 - Reviewed-on: http://gerrit.openafs.org/3193 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5fce5754cee4f466f99681fcd7f42e5735e9776d -Author: Jeffrey Altman -Date: Thu Oct 28 01:19:17 2010 -0400 - - Windows: Finish converting vol apps to pthread only - - The src/vol directory on Windows is one of the rare examples - where a single directory builds both lwp and pthreaded versions - of libraries and executables. With this patchset the executables - are fully converted from lwp to pthread. This requires that - afsrpc.dll include the pthread implementations of the threadname, - fasttime, and lock implementations from the LWP directory. - The inclusion within afsrpc.dll permits the dviced and - dvolser directories to avoid rebuilding those object modules. - - Change-Id: I70c6e9ec346b5d9ef05d2400ddaf21e33a0c67a4 - Reviewed-on: http://gerrit.openafs.org/3181 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 50b6a116a1c412d0e6d7442d13d6e92c9dbb35ee -Author: Rod Widdowson -Date: Thu Oct 28 00:20:30 2010 +0200 - - windows: native versions of ih_pread and ih_pwrite - - Separate the windows code out in ihandle.c to reduce dependency on ntops. - - As an aid to future threading issues, pass the offset in an OVERLAP - rather than doing a separate SetFilePointerEx. - - Change-Id: I225387a574b1301516a9313838bbcb86e9e14b8d - Reviewed-on: http://gerrit.openafs.org/3176 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Tested-by: Derrick Brashear - -commit e8991ff8286f151d109bb4f98d885a583e198f83 -Author: Jeffrey Altman -Date: Thu Oct 28 00:43:26 2010 -0400 - - vol: Use OSI_NULLSOCKET and not -1 to indicate invalid fssync fd - - The FSync file descriptor is an osi_socket which has an invalid - value of OSI_NULLSOCKET which is not necessarily -1. Be sure to - compare against OSI_NULLSOCKET and not -1 when checking an invalid - value. - - Change-Id: I5b7531e690ea06046b337222b52a5013c7f8802e - Reviewed-on: http://gerrit.openafs.org/3179 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Tested-by: Derrick Brashear - -commit d21dd16789458c07e63abe021f93f656dba4e52c -Author: Jeffrey Altman -Date: Thu Oct 28 00:40:32 2010 -0400 - - vol: Always use INVALID_FD to indicate an invalid fd - - file descriptors on Windows are not ints and therefore - cannot be safely compared against -1. Always use INVALID_FD - which is -1 on UNIX and INVALID_HANDLE_VALUE on Windows. - - Change-Id: I8788f95817ee45367f04f4b90b4e6625c5a39dca - Reviewed-on: http://gerrit.openafs.org/3178 - Reviewed-by: Derrick Brashear - Reviewed-by: Andrew Deason - Tested-by: Derrick Brashear - -commit 37a7b759348430782ffb397f6896063329a9e12e -Author: Simon Wilkinson -Date: Wed Oct 27 21:26:19 2010 +0100 - - Import: Add roken files from heimdal - - Add the necessary files to our import list such that roken can be - built as a standalone library. - - Change-Id: Ia9b5b14c618f4ac47eb99bd500d6465b6b25e4dd - Reviewed-on: http://gerrit.openafs.org/3189 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 96e95c4000ce649591275eb4aefceb5f28f92c6b -Author: Simon Wilkinson -Date: Fri Oct 29 12:40:31 2010 +0100 - - shlib-build: Add ignore option - - Add an option to shlib-build to ignore missing symbols in the map file. - This is already the default on some platforms, but others (such as - Darwin) require that all symbols in the mapfile be present in the - objects. This is a pain for libraries such as libroken, which will - have different symbols on different platforms. - - Specifying -i adds the necessary magic to Darwin's ld to relax this - check. Changes may also be necessary for other platforms, but I - don't currently have those available for testing. - - Change-Id: Ieaff8ed6dd4e16dfc420b90b85e4471952d83bd2 - Reviewed-on: http://gerrit.openafs.org/3188 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e30e916e2059bac14f1d1dec3213d703374b1fe9 -Author: Marc Dionne -Date: Sat Sep 11 13:06:26 2010 -0400 - - ubik: Set but not used variables - - Fix warnings, remove unused variables and code. - - Spotted by gcc 4.6 - - Change-Id: I0a055c5f0fec34993c81f2dcf8f976cba5a31c8b - Reviewed-on: http://gerrit.openafs.org/3185 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b88e6cadf1f56f41ffc7e37e9b62d9354481a98d -Author: Marc Dionne -Date: Sat Sep 11 13:39:00 2010 -0400 - - bucoord: Set but not used variables - - Remove unused variables - - Spotted by gcc 4.6 - - Change-Id: If86786ba41401553994fb531b83164b5dfdc079a - Reviewed-on: http://gerrit.openafs.org/3184 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 783d560eef013a72377f59a516ee21d42c9e4854 -Author: Marc Dionne -Date: Sat Sep 11 13:49:49 2010 -0400 - - xstat: Set but not used variables - - Remove unused variables. - - Spotted by gcc 4.6 - - Change-Id: Ibe26d3c58027704d525424a15f71ae954a5c2be4 - Reviewed-on: http://gerrit.openafs.org/3183 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 832607318b9ad4ab38bb62515cdb4959cc21a656 -Author: Ben Kaduk -Date: Thu Oct 28 22:45:33 2010 -0400 - - FBSD: fix dumb panic when we can't pfind rxk_Listener - - The process is only returned locked if the process is found. - Don't try to unlock it if it's not found. - - Change-Id: I3911955561d0d97e8080bcd18b4e4393b19ad860 - Reviewed-on: http://gerrit.openafs.org/3186 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7e37c1a2f75fb0a7e6ced9060c789802fc9ae1e0 -Author: Derrick Brashear -Date: Tue Oct 26 09:41:47 2010 -0400 - - explain yacc build product dependency so it is not removed - - in order that our .c.o rule applies, force yacc source to - not be built directly into an object. - - Change-Id: I9d0722ae74726feef92b1bc7eb7647ce7f97633b - Reviewed-on: http://gerrit.openafs.org/3149 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0cc3cc9412c232e2ec799ee1f1a9a90f3e56ab66 -Author: Marc Dionne -Date: Tue Oct 26 20:33:41 2010 -0400 - - bucoord: parallel make fix - - Fix an instance of a Makefile rule with multiple targets. - This can cause a parallel make to fail when two instances of - compile_et compete to write the same output files. - - Spotted by a build failure with a corrupt bc.h header. - - Change-Id: I4adee125a82d640bc78f15c77494a22157cf7f5d - Reviewed-on: http://gerrit.openafs.org/3165 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 68aace4054430105ceaf52ce8e316f3ae01e7dc8 -Author: Rod Widdowson -Date: Thu Oct 28 18:34:41 2010 +0100 - - Windows: fix built in touch - - Recent versions of windows add a whole bunch of attributes above - A_ARCH. (FILE_ATTRIBUTE_NOT_CONTENT_INDEXED was what bit be but - encryption of compression would do it). - - This makes ~_A_ARCH not a good choice for testing nonwritability - of a file - so files with these new attributes just get silently ignored. - - Using an explicit mask is much better. So do that. - - Change-Id: Ie176ffae1995dd50c70319e196c0d30420733ccf - Reviewed-on: http://gerrit.openafs.org/3182 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e1ed8ab1d93906e1b556de332fa32601a9a489fc -Author: Rod Widdowson -Date: Wed Oct 27 21:08:28 2010 +0200 - - windows: preserve lasterror prior to calling free - - free() destroys GetLastError, so preserve it before giving back all the - buffers. Then if the create process failed we have something sensible to - log. - - Change-Id: Ibb8bb870230f9c4e96f5ec9d4948552616cd7456 - Reviewed-on: http://gerrit.openafs.org/3175 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 46cf6c8f365d25122c550b76be61a880d16f531b -Author: Jeffrey Altman -Date: Wed Oct 27 14:25:10 2010 -0400 - - don't duplicate work of ctime_s - - on windows we use ctime_s for ctim'ing to a buffer. except we - allocate an extra buffer. "uh" - - Change-Id: Ic40583814d0e1d05d7c98cde09855c036045208e - Reviewed-on: http://gerrit.openafs.org/3174 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9749e5284cb8915d5e9b886bd74f1580d5bff28c -Author: Derrick Brashear -Date: Wed Oct 27 14:18:28 2010 -0400 - - viced don't double-print start time - - side effect: remove the version which breaks on 64 bit windows - - Change-Id: I8a1d2cde1f2eebe3242b26d0c8b62e39bfc7dfec - Reviewed-on: http://gerrit.openafs.org/3173 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b3c21294f4b51f85cc6e24cc4d1b984f53c553e4 -Author: Heimdal Developers -Date: Sun Oct 24 11:56:07 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from heimdal to - a3afa695ee3eb1ff5ad8de3e80c20d5049fce934 (switch-from-svn-to-git-1619-ga3afa69) - - Upstream changes are: - - Chas Williams (CONTRACTOR) (1): - hcrypto: struct x64 doesn't need bitfields - - Love Hornquist Astrand (1): - Switch to ULL - - Simon Wilkinson (1): - hcrypto: Flag 64bit bit constants as long long - - Change-Id: Ifc11c14942a2b283d7f5879de5bf88f53b290512 - Reviewed-on: http://gerrit.openafs.org/3100 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c5eb4247a5629b8baa18d4adbde1f0ab72d1a540 -Author: Simon Wilkinson -Date: Sun Oct 24 11:50:25 2010 +0100 - - Improve commit messages for git imports - - Improve the quality of the commit messages produced by git import - by adding an explicit author (obtained from the $module-author file), - and by including a list of all of the upstream changes that are being - imported. - - Change-Id: I73516865144eb6ecd631822d1103a9b18d01b049 - Reviewed-on: http://gerrit.openafs.org/3099 - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 34767c6a0f914960c9a1efabe69dd9c312a2b400 -Author: Derrick Brashear -Date: Sun Oct 17 23:39:47 2010 -0400 - - down with assert, up with osi_Assert - - because NDEBUG breaks things which happen inside an assert, - be done with that. instead, call osi_Assert wherever possible. - doesn't work for code which builds before rx; those cases we handle - by ensuring no operations happen inside the assert(). side effect: - move all pthread operations wrapped in asserts to MUTEX_mumble and - CV_mumble calls where those exist, so the assertions happen all in - one set of macroes. - - Change-Id: I9fd8a0fdfdaed5ed55de3e5c0c4673d4714e7441 - Reviewed-on: http://gerrit.openafs.org/3001 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - -commit bd1657fb9d42e46fdc9560687aa0d360395740b2 -Author: Jason Edgecombe -Date: Tue Oct 26 20:32:04 2010 -0400 - - Quickstart Guide: misc. fixes - - * The update server is optional - * Only worry about fsck when using inode-based storage - * Add a space where needed - - Change-Id: Idacd220139f2b5c622831004cb38bf5f8a1dafc5 - Reviewed-on: http://gerrit.openafs.org/3164 - Reviewed-by: Derrick Brashear - Tested-by: Jason Edgecombe - -commit 103de35cbcb9c855a5b3f3580b488c8dfe54e25c -Author: Derrick Brashear -Date: Tue Oct 26 19:10:57 2010 -0400 - - kill defunct tools directory - - the "old" rpm building tools are so sad as to be useless. - put them out of their misery. - - Change-Id: I1f763a7907235fe2b178ee07b8ad4e5a6f165d24 - Reviewed-on: http://gerrit.openafs.org/3162 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 96d120e008dfe7c076c7d85e2b373232ea103877 -Author: Jeffrey Altman -Date: Tue Oct 26 19:02:31 2010 -0400 - - Windows: 1.5.78 Change Log summary - - Change-Id: Ie4e6131dae25c5b17b9f4cd5c8667a03ef4ecded - Reviewed-on: http://gerrit.openafs.org/3161 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9c32ac52f161135e39ed60cf87bfad3d016f3c6f -Author: Jason Edgecombe -Date: Tue Oct 26 15:06:28 2010 -0400 - - Quickstart guide: use yum install from openafs repo - - Change-Id: Icd8b3c2a60e2cd751da00056cfc3e11e90472ec6 - Reviewed-on: http://gerrit.openafs.org/3159 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e848f3c2160745228e0f770f8daf4fffcca7507a -Author: Jeffrey Altman -Date: Mon Oct 25 23:05:00 2010 -0400 - - Windows: Fix math error in rx_Writev processing - - LICENSE MIT - - Change-Id: I0c1c54d131530843b62d6494f313070243890605 - Reviewed-on: http://gerrit.openafs.org/3148 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 36e2d13b55085c996d38b30d003296c602ef8ee3 -Author: Simon Wilkinson -Date: Mon Oct 25 10:14:12 2010 +0100 - - rx: Don't let timeouts force fast recovery - - The current RX implementation goes into fast recovery whenever a - timeout occurs. This is incredibly wasteful, particularly on fast - connections. So, remove this in favour of TCP style behaviour. - - Change-Id: I7afc08b69e7e1df80a38ac731af57ce91072a184 - Reviewed-on: http://gerrit.openafs.org/3138 - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit e7066a9c30047e787d72f02dd1c28e5e473e494b -Author: Simon Wilkinson -Date: Mon Oct 25 20:50:29 2010 +0100 - - rx: Fix starting of transmit timers - - The code used to start the transmit timer once for every set of packets - that it sends. However, these packets might be sent individually or in - clumps, with blocking for sendmsg, and on peer->lock, between each set - of packet sends. This has the effect of, even on a very stable network, - producing a high degree of variation in RTTs and timeouts. This is a - particular issue where the connection size is larger, as the number of - packets being sent individually under the one timer grows too. - - Fix this by moving timer initialisation to SendList. This already takes - the peer lock, so obtain the timeout value here too. This means that - each jumbo gram, or individual packet (where jumbograms are disabled) - is sent with its own start time, and stabilises RTTs. - - Change-Id: Ifc8242211cedad9b52a66a44bbdee400130ab40b - Reviewed-on: http://gerrit.openafs.org/3137 - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 802d50bc4e220b9bf404ac1ee36720023986d98e -Author: Simon Wilkinson -Date: Mon Oct 25 09:52:10 2010 +0100 - - rx: Refactor transmit queue wakeup - - Refactor all of the places where we wake up the transmit queue into - a common helper function. - - Change-Id: I1a2ca2bf1e6268dcaf90961a8a88bd4165519503 - Reviewed-on: http://gerrit.openafs.org/3136 - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit e84193ca2a9cef5a13403d291435eb5ad47f5b41 -Author: Simon Wilkinson -Date: Mon Oct 25 09:16:09 2010 +0100 - - rx: Fix resend accounting - - rxi_Start flagged itself as 'resending' whenever it flushed the - transmit queue due to a resend event. However, it would flush the - entire transmit queue at this point, rather than only transmitting - packets that require a resend. When running with large window sizes - this results an a large number of packets erroneously being marked - as resent. - - Instead, let SendXmitList decide whether a packet is being - retransmitted by using the presence of a serial number. This takes - advantage of the fact that a retransmitted packet must be the only - entry in a packet list - we just flag the packet list, instead of - having to maintain counters for each individual packet. - - Change-Id: Id8e87b8efa87f5dfec2e51b7983a9fd6b1a5c4c5 - Reviewed-on: http://gerrit.openafs.org/3135 - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit ad3b5997c6da17927312f4618d8bb4f7fc542a64 -Author: Simon Wilkinson -Date: Mon Oct 25 09:06:53 2010 +0100 - - rx: Use a structure for the xmit list - - Switch to using a structure to hold the xmit list so that it's a - little bit clearer what the rxi_SendXmitList function is actually doing - - Change-Id: I84fd92e216db479121447132402597056410596b - Reviewed-on: http://gerrit.openafs.org/3134 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 1664a2642b56febc08af8f95250a6d64761a525f -Author: Jeffrey Altman -Date: Mon Oct 25 22:58:51 2010 -0400 - - Windows: move debug break in afsd_notifier - - move the debug break before the cache dump occurs - so that a debugger will be signalled faster when - a panic condition occurs. - - Change-Id: I25634616e85f036d019e4d932074e52157570087 - Reviewed-on: http://gerrit.openafs.org/3147 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2f6be821ffeba607d4305586ad2c7ec4ba2b180c -Author: Ben Kaduk -Date: Sun Oct 24 00:29:07 2010 -0400 - - FBSD: band-aid vnode locking in lookup - - The lock order requires that we acquire vnode locks from the root - towards the leaf. When looking up "..", this requires that we - unlock the directory before locking the child, otherwise we - are susceptible to deadlock. - This is only a band-aid, as afs_vop_lookup should be rewritten. - - Change-Id: Ie99a677978370488f8edc7128014b89abc00a56c - Reviewed-on: http://gerrit.openafs.org/3035 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 5bf95621ae2ffff6e847c12e16f31db534fd7d0b -Author: Ben Kaduk -Date: Mon Oct 25 22:15:49 2010 -0400 - - Fix build on systems with .y.o rules - - On systems with system .y.o rules (such as FreeBSD), the system - rule for making error_table.o from error_table.y can bypass - AFS_CCRULE and thus fail to pull in the necessary include paths - for compilation. Present an explicit dependency on error_table.c - to force that file to be generated, and then our .c.o rule gets - used as desired. - - Change-Id: I88a6cf15441e0bacd73888b941d6c268786c5d2a - Reviewed-on: http://gerrit.openafs.org/3145 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f70d9181d33960856fed4bae23008a450c932f3d -Author: Ben Kaduk -Date: Tue Oct 26 00:17:11 2010 -0400 - - Complete change from dcb40c9fb8 for FBSD - - Many conditionals involving osi_fsplock were changed to depend - on AFS_PRIVATE_OSI_ALLOCSPACES instead of constants or other - things (like AFS_FBSD_ENV). The condition on the initializaion - in afs_init was changed but not the declaration in afs_prototypes.h, - breaking the build on FBSD. - Use the same conditional in afs_prototypes.h, fixing the FBSD build. - - Change-Id: I28d5d3be4f1b2fdb8aca0834df7d8fc65f0d0146 - Reviewed-on: http://gerrit.openafs.org/3146 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b743b32b8b715edf673833a150f9f3d5a72b0b39 -Author: Jeffrey Altman -Date: Sun Oct 24 00:21:26 2010 -0400 - - Windows: Add version number to event log start pending message - - LICENSE MIT - - Change-Id: I6a2eca99cf1db9792eb76b04adbc87c4b64aa483 - Reviewed-on: http://gerrit.openafs.org/3034 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f943a4eb524434d25ecf99cba0843ded13aef176 -Author: Jeffrey Altman -Date: Mon Jun 14 09:43:31 2010 -0400 - - Windows: register idle dead timeout error - - be like the unix cache manager and set an error code - so idle dead time is enforced on sending. - - LICENSE MIT - - Change-Id: I2d78f3a0f6e30147c0816259b45b6b95a3d4f79c - Reviewed-on: http://gerrit.openafs.org/3033 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1418b4fec23459aafec4b5a787e2c2b89f6af1f1 -Author: Asanka C. Herath -Date: Mon Oct 18 04:52:34 2010 -0400 - - Windows: Backup and restore configuration across installs - - The MSI installer for OpenAFS does not preserve configuration data - across installs. This patch creates a backup of specific - configuration registry values when uninstalling OpenAFS and uses this - backup when subsequently installing OpenAFS. - - Change-Id: Ie30f8f7f0eada3f0aeef2341b04aca55657ec864 - Reviewed-on: http://gerrit.openafs.org/2977 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2c12b80a4fdb8323ff3fdd194ff1994ad0a0b8e1 -Author: Jeffrey Altman -Date: Sat Oct 23 15:45:36 2010 -0400 - - Windows: Make Rx PMTU discovery configurable; disable by default - - Disable PMTU discovery by default. Permit it to be enabled - with the RxPMTUDiscovery TransarcAFSDaemon\Parameter value. - - LICENSE MIT - - Change-Id: I0529a77e288ba8cd6cf8d0c2e2e9c0c8e6e0f6ff - Reviewed-on: http://gerrit.openafs.org/3032 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 58e7b85ab7c3c839c5dd126bd1c254f68a16b73a -Author: Simon Wilkinson -Date: Sat Oct 23 15:07:42 2010 +0100 - - rx: Tidy up variables in RTT calc - - We used to do rttp = &thisRtt, and then use rttp and thisRtt to - interchangably refer to the same data. This is just confusing, and - unnecessary. Replace all of the occurences of rttp with &thisRtt. - - Take the opportunity to use the Clock_IsZero macro rather than doing - an explicit zero clock check. - - Change-Id: If2e0d7b6dcf96f4e46bde083063115d675a4153f - Reviewed-on: http://gerrit.openafs.org/3031 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit da18ca41751b43576f6652a16f69260e0c6ac0d6 -Author: Simon Wilkinson -Date: Sat Oct 23 15:16:17 2010 +0100 - - rx: Fix bracing on rx_clock macro arguments - - Add brackets around the arguments in the clock helper macros, so that - these can be called with more complex parameters. - - Change-Id: I09b333dcde96ef56fab8d5ada89eb0744cdb1690 - Reviewed-on: http://gerrit.openafs.org/3030 - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 290495fab1b2a8f1dc842cb2dd6de2d9922169c6 -Author: Simon Wilkinson -Date: Sat Oct 23 14:51:56 2010 +0100 - - rx: More improvments to RTT calculation - - Move the decision about whether a packet contributes to the peer's - rount trip time into the CalculateRoundTripTime function, and improve - the criteria used. - - Previously, we only computed the RTT if we had not retransmitted. This - is bad, because it means that places where we have backed off in order - to retransmit never actually lengthen the RTT, and so the RTT is kept - artificially low, and we see a large number of retransmits. Instead, - use the serial of the ACK packet to determine which transmission is - being acknowledged, and if it is the first, or the last, transmission - use the appropriate sent time to calculate the RTT. - - If we have no serial in the ACK (for a delayed ack, for example), or - if the serial doesn't match (where a single acknowledgement is soft - acking a number of packets), fall back to only using the ack if the - packet has not be retransmitted. - - Also, avoid multiple counting of packets which have arrived as part - of a jumbogram by only permitting the last packet in a jumbogram to - contribute to the RTT. This avoids giving the RTT of jumbograms more - weight than those of normal packets - doing so would pull down the - RTT, as it in effect favours packets which have not be retransmitted. - - Change-Id: I6d978a118e2bd0694484376b586dd4eaa64cdd8c - Reviewed-on: http://gerrit.openafs.org/3029 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5c8981e0404287f2aa46390d3a9e8a52261906ab -Author: Jeffrey Altman -Date: Thu Oct 21 14:13:03 2010 -0400 - - Rx: Treat rx_minPeerTimeout not as a minimum but as padding - - An improved RTT and timeout calculation algorithm is being - developed but until we have it, treat rx_minPeerTimeout not as - a minimum value for the timeout but as padding to be added to - the measured RTT when computing the peer timeout value. - - With this change rx does not begin to send large numbers of - resends when the RTT begins to exceed the rx_minPeerTimeout - value. Timeout triggered resends at the moment can force rx - into fast recovery mode which in turn kills performance. It - is better to avoid that problem for now. - - Change-Id: Iff5e81d7cf1366e1810f118bf4825274696769c9 - Reviewed-on: http://gerrit.openafs.org/3026 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit c8f47626e2428449bfb64844e46fe5ad6b8e0f1c -Author: Jeffrey Altman -Date: Thu Oct 21 14:23:18 2010 -0400 - - Rx: Fix socket() handling so errors are properly detected - - socket() returns an osi_socket which on Windows is an - unsigned type (HANDLE). Therefore, tests of osi_socket < 0 - will never identify when the INVALID_SOCKET value is returned. - On Windows, the OSI_NULLSOCKET is assigned to INVALID_SOCKET. - Replace all comparisons of (osi_socket < 0) with - (osi_socket == OSI_NULLSOCKET) as a means of detecting errors. - - In addition, do not pass socket() the protocol value 0 when - IPPROTO_UDP is what is desired. - - Finally, perror() on Windows never reports any error from Winsock. - perror() is a CRT function. To get the real socket error - WSAGetLastError() must be called and its value be written to - stderr. - - Change-Id: Ibc392eeb733851f56dbc7398cb252a4753b95275 - Reviewed-on: http://gerrit.openafs.org/3027 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 046f230ed4dde4c31d849893eec750437135342e -Author: Charles Hannum -Date: Fri Oct 22 14:50:56 2010 -0400 - - linux fh_to_dentry can return err - - handle e.g. ESTALE from fh_to_dentry (in this case via - d_obtain_alias and fat_fh_to_dentry) so we print a meaningful - error when we lose. - - Change-Id: If9f53776e0df4bfecf704943110a62b8c98684ce - Reviewed-on: http://gerrit.openafs.org/3028 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 350620e947d17dfb6a042c48cc6ab38b09668431 -Author: Chas Williams (CONTRACTOR) -Date: Thu Oct 21 10:07:11 2010 -0400 - - afs: fix SOLARIS builds conflicting 'u' define - - Including does the following (which is rather - unfriendly): - - This causes problems for the tokenJar u member. I renamed u to - content, but there might be better choices for the name. - - Change-Id: I3c8cd97e5868ee1ba78c2b2c4951d1af08664b77 - Reviewed-on: http://gerrit.openafs.org/3023 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e356090ba21395e110b8a403a5efaf725ca3ffc8 -Author: Jeffrey Altman -Date: Sun Oct 17 00:35:36 2010 -0400 - - Windows: Use rx_Readv / rx_Writev - - When USE_RX_IOVEC is defined, cm_BufWrite() will utilize rx_Writev() - instead of rx_Write() and cm_GetBuffer() will use rx_Readv() instead - of rx_Read() to improve throughput. - - LICENSE MIT - - Change-Id: Ib70dfd4fd7a79c9ce36ef4fd8f4bb46a946621fd - Reviewed-on: http://gerrit.openafs.org/2999 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 6f3938e80a79a4a3684565a6960bce18e167aea4 -Author: Jeffrey Altman -Date: Thu Oct 21 14:09:53 2010 -0400 - - Windows: Fix i386_w2k and i386_nt40 path construction - - Now that DEST and OBJ are defined in terms of AFSROOT - do not DESTDIR and OJT in terms of AFSROOT. - - Change-Id: I196b4d0c93d2122c0b29f423213871db788c5ef5 - Reviewed-on: http://gerrit.openafs.org/3025 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 64f732764cab7387943647285d5e5203f0c74218 -Author: Jeffrey Altman -Date: Wed Oct 20 19:35:10 2010 -0400 - - Windows: Improve cm_SyncOpDone logging - - Change-Id: I2b2b9fa5067ea0927bbbdf2dcad433ebb84d2a66 - Reviewed-on: http://gerrit.openafs.org/3022 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5880a576273c3b5f7683937df42bacf506007ba2 -Author: Jeffrey Altman -Date: Wed Oct 20 19:31:19 2010 -0400 - - Windows: remove unnecessary prototype from smb.c - - Remove rx_StartClientThread() prototype. - - Change-Id: I89377528a7497b06302bf8fa9cb71a192afc1c0a - Reviewed-on: http://gerrit.openafs.org/3021 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 49e57b8c3b5e13f7ce48c6be5677827d970df5fa -Author: Jeffrey Altman -Date: Wed Oct 20 19:29:32 2010 -0400 - - Windows: optimize cm_BkgDaemon() - - In cm_BkgDaemon test for CM_SCACHEFLAG_DATASTORING before - cm_ServerAvailable() in order to avoid unnecessary work. - - LICENSE MIT - - Change-Id: I75f88212a18d765790c9435de17e3b0fa735a7ab - Reviewed-on: http://gerrit.openafs.org/3020 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dd01970f440cc68fbd71a1544ee655131f42be51 -Author: Jeffrey Altman -Date: Wed Oct 20 19:28:26 2010 -0400 - - Windows: remove warnings from cm_daemon.c - - Properly cast void * to long and int to LPVOID to avoid warnings. - - Change-Id: Iaa48bd9247df21efbbed4422a156c67208c128d6 - Reviewed-on: http://gerrit.openafs.org/3019 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit bc810f4ac04fb6385e57d235f976d3f42f83e28a -Author: Jeffrey Altman -Date: Wed Oct 20 19:26:06 2010 -0400 - - Windows: prototype cm_PerformanceTuningInit() - - Change-Id: Iffb1f05495a44ad0b95ed315cea5ae4771be1b8b - Reviewed-on: http://gerrit.openafs.org/3018 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3f2f327df4d8cbac927e290d03d78611f7b12a69 -Author: Jeffrey Altman -Date: Wed Oct 20 19:25:00 2010 -0400 - - Rx: prototype rx_StateClienThread() - - Change-Id: I74c04229667d672005bd9a4abeab5309a1c97d7e - Reviewed-on: http://gerrit.openafs.org/3017 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 929ca25d6d3fef07ea7c103dcd43a2658cdf71bd -Author: Jeffrey Altman -Date: Wed Oct 20 19:23:11 2010 -0400 - - Rx: rx_stats_active not RXDEBUG - - In rx_StatsOnOff() the assignment to rx_stats_active should not - be protected by RXDEBUG. - - Change-Id: I5eb84f6d7049c4d923010e53a49ee7eb321495f4 - Reviewed-on: http://gerrit.openafs.org/3016 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit da400a24a7c9d5ac1595f10e0c76df5a461aa5dc -Author: Chas Williams (CONTRACTOR) -Date: Wed Oct 20 09:06:35 2010 -0400 - - rx: remove spurious compare for maxDgramPackets - - maxDgramPackets is initially assigned this value after correcting - for the wire endian. This compare is harmless on little endian - since the network endian value will typically be huge and redundant - on big endian machines. - - Change-Id: I4a070b2964805f45c0593c80a2604c4e4cd26ff7 - Reviewed-on: http://gerrit.openafs.org/3015 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit dcb40c9fb8629e028e2dfa6333423b0ce0c00abc -Author: Chas Williams (CONTRACTOR) -Date: Mon Oct 4 15:08:10 2010 -0400 - - Allow private implementations of osi_AllocSmall/LargeSpace - - NBSD seemed to already do this at one point but was partly disabled. - This patches generalizes this feature by adding a define to disable the - standard pool macros. Linux's slab based allocator should out perform - this single threaded allocator/pool. - - Change-Id: Id8d498c11874b7d87736968b99f7ca023af4af36 - Reviewed-on: http://gerrit.openafs.org/2998 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1a48bb7952bfc4df646bf9e2e6c55c884d54ccad -Author: Derrick Brashear -Date: Tue Oct 19 10:06:02 2010 -0400 - - atomic mutex don't recursive enter - - enter pairs with exit, and not, say, enter - - Change-Id: I7fe76c7ba125f9384205904318564173583e8b22 - Reviewed-on: http://gerrit.openafs.org/3006 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 12570db7c9e40aaf5905167bb3ef5c7b5e5e7161 -Author: Derrick Brashear -Date: Fri Oct 15 16:27:55 2010 -0400 - - vutil use lockfile mutex macros for lockfile mutex - - we have macroes; let's use them. makes later changes easier. - - Change-Id: If128930f659c34592c27503a02d64b67d7f60a84 - Reviewed-on: http://gerrit.openafs.org/2996 - Reviewed-by: Jeffrey Altman - Reviewed-by: Rod Widdowson - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 787137104bba3533f279f1fdf796a1c6c6898797 -Author: Derrick Brashear -Date: Sun Oct 17 18:11:52 2010 -0400 - - afs assert should use afs abort - - we already have a portability abort macro. use it. - - Change-Id: I6919cf1b2d399ad4d1ca8b7b845848a9a2208cf9 - Reviewed-on: http://gerrit.openafs.org/3000 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit f7799a35c5942ba4feda3bc8c848cdaa8e0b7b76 -Author: Simon Wilkinson -Date: Mon Oct 11 13:25:38 2010 -0400 - - rx: Simplify round trip time calculation - - Move the logic for deciding whether to compute RTT out of PeerNetStats - and into the callers. This means that we can share decisions about - whether a packet is ACK'd or not, and avoid uneccessary multiple tests - and function calls. - - This change also stops us from computing RTT times for packets outside - of the set of explicit ACKs that we have received. This means that we - no longer compute RTTs for packets that are on the transmit queue, but - not yet on the wire. - - Change-Id: I9d3794426393f9e0da7932b05acd8f4028a12cb3 - Reviewed-on: http://gerrit.openafs.org/2960 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 9fa496d11ff2a361b4693034f6caad90da995312 -Author: Andrew Deason -Date: Fri Oct 8 15:39:21 2010 -0500 - - RX: Add rx_InterruptCall - - Add rx_InterruptCall, to cause a call to error out and wakeup anyone - waiting to write or read to that call. - - Change-Id: I0747ac9107dac6b9a6d8b8c59120a756416aad58 - Reviewed-on: http://gerrit.openafs.org/2982 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Reviewed-by: Tom Keiser - Tested-by: Derrick Brashear - -commit 525ea8b60cc198f7e12da7a1aaffdcad2bb3ef21 -Author: Jeffrey Altman -Date: Sat Oct 16 13:14:03 2010 -0400 - - Rx: Do not compute RTT on non-last packets of a jumbogram - - A jumbogram is constructed as a series of rx packets that are - all sent at once and acknowledged at the same time. Computing the - RTT for all of the packets that makes up the jumbogram provides - the jumbogram RTT more weight than for a non-jumbogram packet. - To restore fairness, only compute the RTT for the last packet of - a jumbogram. The non-last packets with have the RX_JUMBO_PACKET flag - set in the packet header. - - Change-Id: Ia5237d9ca0707b39fe623639233b748b6798063e - Reviewed-on: http://gerrit.openafs.org/2997 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 4e71409fe1305cde4b9b341247ba658d8d24f4d0 -Author: Simon Wilkinson -Date: Mon Oct 11 13:14:02 2010 -0400 - - Rx: Reject out of order ACK packets - - Our RX implementation virtually guarantees that we will see out of - order ACK packets, even on well behaved networks, as we send acks - simultaneously from multiple threads. - - Currently we only reject out-of-order ACKS which change the window - position (so a window that advances, can never go back). However, - we fail to deal with the explicit acknowledgement portion of the ACK - packet in the same way... - - For example, if we have a packet A that acknowledges packets 1 and 2, - and then a packet B acknowledging 1,2,3 and 4. If B arrives before A, - then we mark 1, 2, 3, 4 as acknowledged, and then treat the arrival of - A as nAcking 3 and 4. This has the same effect as an explicitly stated - nack, triggers an early and unnecessary resend and may, in some situations, - cause the call to go into congestion avoidance. - - We can solve this using the previousPacket field of the ACK. This - indicates the last packet seen by the peer. In the same way as - firstPacket, this should never go backwards, and so can be used to - detect out of order acknowledgements, and reject them. - - Change-Id: I9ad850872a1a62050e774c911302a65bb8a59525 - Reviewed-on: http://gerrit.openafs.org/2958 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 98688ddf70cbfe21d22e5832b2f50d626b4183e9 -Author: Derrick Brashear -Date: Thu Oct 7 13:41:22 2010 -0400 - - shakeloosevcaches drop xvcache during dentry ops - - denote that we slept and drop xvcache while doing dentry - flushing. - - Change-Id: If597e4153bddce4631383d4c2e1da1faacb720a5 - Reviewed-on: http://gerrit.openafs.org/2944 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 78502b61b3e8b288ce6fec1f66d14d7e2431642a -Author: Derrick Brashear -Date: Fri Oct 15 16:09:27 2010 -0400 - - rename afs/assert.h to afs/afs_assert.h - - provide a private assert header which does not - pollute the normal namespace for the assert header. - - further changes will modify pthread operations to not use - generic assert as a "did it work", which breaks if NDEBUG is set - - Change-Id: I43a95c0aa31ad2e772bce9142356fd5c5bedac6c - Reviewed-on: http://gerrit.openafs.org/2995 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 5e9676144bc3d9b186495a06d14581a4fc97beff -Author: Andrew Deason -Date: Fri Oct 15 16:35:32 2010 -0500 - - pts: Specifically check for group id 0 - - For consistency with the code checking user ids in createuser, check - for a specified group id of 0 specifically and give a slightly - different error message for it. - - Change-Id: I362302a1a59fbe324f7f3e926f02177c24a5577d - Reviewed-on: http://gerrit.openafs.org/2994 - Reviewed-by: Phillip Moore - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ebfc586fd2d00085a384763cc519c2af6ce5223e -Author: Andrew Deason -Date: Fri Oct 15 16:37:55 2010 -0500 - - pts: Prevent creating negative user ids - - User ids cannot be negative (those are groups). So, error out if a - negative id is specified for createuser. - - FIXES 128343 - - Change-Id: I6e81a419c797944bfed569aac529b9694702823d - Reviewed-on: http://gerrit.openafs.org/2993 - Tested-by: Andrew Deason - Reviewed-by: Phillip Moore - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ffe445483a07c751202a1ef06136f70402ec895d -Author: Russ Allbery -Date: Thu Oct 14 13:41:45 2010 -0700 - - Return SRV record ports in network byte order - - Convert the port extracted from the SRV record return to network byte - order before assigning it to the port array. - - The port in a SRV record is extracted by pulling out the high byte - and low byte and then mathematically combining them, which implicity - converts from network byte order to host byte order. However, the - callers of afsconf_LookupServer expect the port array to be returned - in network byte order since ports are assigned without modification - to the .sin_port field of a struct sockaddr_in. See also the byte - order of the default afsdbPort value. - - Reported by Jan Christoph Nordholz (Debian Bug#600228). - - Change-Id: I378fe2f769703e43800c185f0934c77dd97b1c7b - Reviewed-on: http://gerrit.openafs.org/2985 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9846ccc94964da4605fe9a96505382f09fc5695e -Author: Derrick Brashear -Date: Fri Oct 15 11:28:34 2010 -0400 - - add objc build rules to make-type makefiles - - sadly this needs to be here unless we want os-specific includes - of e.g. shared, lwp, pthreads makefiles for extra rules. as long - as no .m files are built in generic makefiles, this is a reasonable - approach. - - Change-Id: Ibea9f47131189f4b13760d0c50a0bc6b43815ce3 - Reviewed-on: http://gerrit.openafs.org/2991 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0adb2d758c23e1c02d5894d2c534b685999d821c -Author: Derrick Brashear -Date: Tue Oct 12 09:05:24 2010 -0400 - - OSX prefspane use Kerberos Preferences for defaults - - if we have forwardable tickets, e.g., as a pref, get those. - and so on. this way tickets AFS got are not "Weird" - - Change-Id: I81d70dc72e777503c8d1e588ae6cba6f33c6dc44 - Reviewed-on: http://gerrit.openafs.org/2965 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3616cdc306f58f90be1cb4f524aa5720d8d638fe -Author: Jeffrey Altman -Date: Thu Oct 14 17:24:33 2010 -0400 - - Rx: use osi_Assert/osi_Panic instead of assert - - Avoid using the openafs src/util/assert.h implementation for Rx - and Rx security classes. Use the built-in osi_Assert() and osi_Panic() - functionality instead. This avoids all references to assert.h except - for rx_pthread.c (Unix only) which requires it for the assert() - references in the src/util/pthread_nosigs.h macros. - - Change-Id: I5fbfcd57da381e02e716e7688a58918aed05c50f - Reviewed-on: http://gerrit.openafs.org/2987 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c494161819c6c24e36ffaac4421735f0c7ecfbc5 -Author: Jeffrey Altman -Date: Thu Oct 14 18:18:40 2010 -0400 - - Util: include assert.h in pthreads_nosig.h when required - - If assert() will be used within pthreads_nosig.h, include assert.h. - Also, permit assert() to be a macro that is a no-op by always evaluating - the expression. - - Change-Id: I8c790dcb8cb98f75028343e5de94b91ab891daad - Reviewed-on: http://gerrit.openafs.org/2988 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8652f146abc5406195b5170402fe4dfd939da9f0 -Author: Chas Williams (CONTRACTOR) -Date: Thu Oct 14 16:15:51 2010 -0400 - - Rx: fix dpf() usage with regard to trailing \n's - - instead of checking to see if we need to add a trailing newline for the - messages, just make sure dpf() is always called with one. - - Change-Id: I4aec74fcb18c0696e403e69cf54a4be9dbfb98f7 - Reviewed-on: http://gerrit.openafs.org/2981 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit c2e063e2746112e5586cc3f8662567abff353b2d -Author: Marc Dionne -Date: Thu Oct 14 18:45:32 2010 -0400 - - LINUX/osi_vnodeops.c: minor coding style fixes - - Re-indent and correct a few coding style issues in this section - of code. In particular, it clears up possible confusion on the - scope of the preceding if statement. - - Purely cosmetic, no functional changes. - - Change-Id: Id6dea6326c9878b41f821de00267f75195fea394 - Reviewed-on: http://gerrit.openafs.org/2989 - Reviewed-by: Matt Benjamin - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6208ac3589be1bba6bec10656ae876bac776d6f5 -Author: Jeffrey Altman -Date: Thu Oct 14 00:56:39 2010 -0400 - - Rx: function return type on separate line - - Change-Id: I99546f2f7ebea0dd796d6c017acdeaf40c3fc711 - Reviewed-on: http://gerrit.openafs.org/2978 - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0a4a03ae68bea51a74a4ef496d50a800bd3e0cbd -Author: Andrew Deason -Date: Thu Mar 11 12:19:47 2010 -0600 - - Parallel I/O extensions to namei backend - - This adds the ability for certain namei operations (currently only - ListViceInodes) to occur across multiple different threads in - parallel. Currently this is only enabled when built with the - not-yet-existant AFS_SALSRV_ENV. - - Originally written by Tom Keiser. - - Change-Id: I392653670378dbca3007e98a0cb09fe4474dd262 - Reviewed-on: http://gerrit.openafs.org/1864 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 59927e20052c3f075e0269e46691bc94c3974f86 -Author: Marc Dionne -Date: Wed Oct 13 19:11:25 2010 -0400 - - Linux: fix statfs configure test - - The change to the statfs configure test that was made for 2.6.36 - broke the test for older kernels. The new test is based on a call, - and that will generate a warning but not an error when the arguments - don't match the prototype. - - Take another tack, and revert to the old style test, but with the - simple_statfs function instead of vfs_statfs. - - Change-Id: Ic4baa24e2497f43791e069ce2c5c87fa21813f9f - Reviewed-on: http://gerrit.openafs.org/2975 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit ca58739ebc58428187366476b682bf20d9850645 -Author: Tom Keiser -Date: Thu Oct 14 01:34:40 2010 -0400 - - rx: fix typo in rx_atomic Solaris backend - - Fix typo so rx builds again on Solaris. - - Change-Id: I328e05937b376c659bb42ba8db51f512b14da6f3 - Reviewed-on: http://gerrit.openafs.org/2980 - Tested-by: Tom Keiser - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ba96ebba7197420b1511bd1aae9db495398e038a -Author: Andrew Deason -Date: Wed Oct 13 11:27:03 2010 -0500 - - LINUX: old kernel warning fixes - - - osi_vfsop.c: struct super_block, not superblock - - - osi_vnodeops.c: initialize bypasscache - - Change-Id: I8492faeda632a05c080013cef71a95c60ab7c931 - Reviewed-on: http://gerrit.openafs.org/2973 - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a91da7a7b91ce0c4584092cd666eca89d39b8abf -Author: Tom Keiser -Date: Wed Oct 13 01:10:09 2010 -0400 - - don't release Volume lightweight ref too early - - FSYNC_com_VolOff was releasing its lightweight ref before the error handling - code for VGetVolumeByVp_r was executed; this code needs to dereference the - Volume pointer for some of its logic. This was unsafe since - VCancelReservation_r() could have resulted in the Volume object being freed. - Move VCancelReservation_r() below the error handling block. NB: the error - handling block now relies upon the goto done/deny to cancel its lightweight - ref. - - Change-Id: Ic920e45d55f7d1773585a5c0b004c722355b5725 - Reviewed-on: http://gerrit.openafs.org/2968 - Tested-by: BuildBot - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0af2b14304d48609e0fcd03cb1dc9526bac2b9f6 -Author: Hans-Werner Paulsen -Date: Wed Oct 13 15:13:51 2010 +0200 - - wrong rule to make afsd_fuse - - in src/afsd/Makefile.in the rule to make afsd_fuse was not modified to - recognise CFLAGS_afsd_fuse.o - - Change-Id: Iae7863362a3cc7920d68e0c96f57433143664c27 - Reviewed-on: http://gerrit.openafs.org/2972 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1a6d4c162a38e5ff95014c140fba379cce7d7e08 -Author: Marc Dionne -Date: Tue Oct 12 21:05:45 2010 -0400 - - Linux: fix aklog -setpag to work with ktc_SetTokenEx - - The bit of code that allows aklog -setpag to work with recent - linux needed to be moved along with the change from ktc_SetToken - to ktc_SetTokenEx. - - While we're in this bit of code, make it depend on the definition - of the syscall in the user space headers instead of relying on a - kernel configure test. - - Change-Id: I0e556b514986b5d06daabcff67ecd51b0e4becdd - Reviewed-on: http://gerrit.openafs.org/2976 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bdc8aa160b8eff397c2dcd7fa6760d0cae59d0fc -Author: Simon Wilkinson -Date: Mon Oct 11 14:08:00 2010 -0400 - - rx: Don't count unknown packets as missing - - Just because a packet is in the transmit queue, don't assume that - the other side has instantly seen it! Currently, if we receive an - ACK packet which doesn't include the entire transmit queue, then we - will end backing off, even if we haven't sent the packets. - - Restrict this behaviour to packets which are implicitly acked (or - otherwise) by the sender. - - Change-Id: I2d63cd27d6d748007f87ff303f3fd64549a6208d - Reviewed-on: http://gerrit.openafs.org/2959 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - -commit e45abc6cc20236b9e91c23cb6f8e90f51b6a4a99 -Author: Jeffrey Altman -Date: Tue Oct 12 10:53:43 2010 -0400 - - Rx: Consolidate wait for tq busy and make its use uniform - - rxi_WaitforTQBusy() is now used wherever a wait for the transmit - queue is required. It returns either when the transmit queue is - no longer busy or when the call enters an error state. - - Having made this change it is clear that call->currentPacket is - not always validated when the call->lock is reacquired which may be - true when rxi_WaitforTQBusy() is called. - - Change-Id: Ibf297f1447755be2abd39a81063cc7efd7f7a08b - Reviewed-on: http://gerrit.openafs.org/2966 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 09aec1539dbe4e4c72ec7acadf2d25e6f93c5982 -Author: Simon Wilkinson -Date: Sun Oct 10 08:04:41 2010 -0400 - - rx: Don't malloc the xmit list - - Building the transmit list happens in a time critical section of - code. Using malloc to allocate the list which holds the packets to - be transmitted slows down this critical section. Instead, just - allocate the space as part of the call structure. - - Locking of xmitList is somewhat tricksy, as the call->lock is - dropped over calls to sendmsg(). However, the xmitList is protected - by the TQ_BUSY call flag, which prevents multiple threads from - usign the transmit queue, and hence the xmitList, simultaneously. - - Change-Id: Iff64979fa1caeed2ba57d915fecb7ce823f345cf - Reviewed-on: http://gerrit.openafs.org/2957 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7d6080a841ff8c91052fa708d5be3b582f8a971d -Author: Andrew Deason -Date: Fri Oct 8 11:51:30 2010 -0500 - - RX: Force sane timeout values - - Currently we do not check the specified timeout values when someone - changes a connection's dead, idle, or hard dead time. However, if the - conn's dead time is larger than the other two times, a loss of network - activity will result in one of the other timeouts getting triggered - first. - - To prevent this and possibly other problems from happening, force a - connection's timeouts to always obey the relationship - secondsUntilDead <= idleDeadTime <= hardDeadTime, by checking these - values whenever they are changed. - - Change-Id: I681dce7f359bf71333e69ceab8186bdc1d54d8dc - Reviewed-on: http://gerrit.openafs.org/2947 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 48aca4a605fa46b677a50687d6ea911fbe7d2032 -Author: Andrew Deason -Date: Wed Oct 6 17:24:02 2010 -0500 - - RX: Adjust all timeouts for RTT - - Previously only the deadTime RX network timeout was getting adjusted - for the peer's rtt and rtt_dev values. Do this for the idle and hard - timeouts as well, since a higher RTT is going to make everything - potentially take longer. - - Change-Id: I1aabcfd19656d5130eaa0e41e0974b3b4427add1 - Reviewed-on: http://gerrit.openafs.org/2967 - Tested-by: BuildBot - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 198447ee71ca6510b760141395af5002daab2424 -Author: Tom Keiser -Date: Wed Oct 13 02:15:36 2010 -0400 - - update fssync-debug to handle the VOL_LOCKED flag - - Allow fssync-debug to dump the VOL_LOCKED flag, rather than the - current behavior of printing absolutely nothing when this flag - is asserted. In addition, increase the flag buffer size since - it turns out we would truncate if all nine flags were asserted - at once. - - Change-Id: I4d58f8c599dcc3b17f8cfd76e88dac12097207c1 - Reviewed-on: http://gerrit.openafs.org/2971 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 9577ec85c967ce4eb0c5a5ab45761a25da30038a -Author: Tom Keiser -Date: Wed Oct 13 01:27:56 2010 -0400 - - trailing commas make xlc a sad panda - - IBM VAC xlc_r throws parse errors when enumeration definitions have - trailing commas; let's avoid that. - - Change-Id: I586fd6ed544bcbab444cc1d0964315a00b4d34b3 - Reviewed-on: http://gerrit.openafs.org/2970 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 6880d4a3a227f6c05332ef799123e0a05b190aa9 -Author: Chas Williams (CONTRACTOR) -Date: Thu Oct 7 11:05:50 2010 -0400 - - Use bigger I/O sizes for the memcache - - There doesn't seem to be a need to limit the rx message size when - using rx_WritevAlloc. If there arent enough rx buffers to hold - the entire message at once, it will simply return less space. - - Change-Id: Ic1e99432c8e4d21c71f831b8d6aeea9f12b1c99c - Reviewed-on: http://gerrit.openafs.org/2943 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5142f16bd37345fa15ec1cb24b519d936baae99a -Author: Simon Wilkinson -Date: Mon Oct 11 15:18:06 2010 -0400 - - hcrypto: Tidy up some merge conflicts - - There were some (harmless) merge conflicts in the hcrypto Makefile. - Get rid of them. - - Change-Id: Iaf67d234d0f9ff24432479b2ae065adb73d5665b - Reviewed-on: http://gerrit.openafs.org/2963 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e279ae77a7e9babcace78b67c40ccc959161d77a -Author: Andrew Deason -Date: Thu Oct 7 11:04:04 2010 -0500 - - LINUX: Build fixes for older kernels - - Error and warning fixes for older kernels in osi_compat.h: - - - In afs_posix_test_lock, remove the assignment in the conditional to - silence a warning - - - Call getsockopt for kernel_getsockopt, instead of setsockopt - - - Missing end brace in afs_try_to_freeze - - - Prototype find_exported_dentry, since Linux doesn't give us one - - Change-Id: Iae56bb0b0405bfd23dfd68a22c1d7922663b1442 - Reviewed-on: http://gerrit.openafs.org/2946 - Tested-by: Andrew Deason - Reviewed-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e16d7b7d6a6980fbda3186a578fb7e26fc334194 -Author: Simon Wilkinson -Date: Tue Oct 5 21:21:38 2010 +0100 - - rx: Don't call gettimeofday for every packet ack - - Every time we receive an ACK packet, we call gettimeofday() for - every entry in the transmit queue that's permanently ack'd by that - packet. Instead, just make a note of the time when we start - processing the packet queue, and use it for every packet in the - queue. - - This shaves around 5% off rxperf's runtime with a window size of 128. - - Change-Id: I65c705c575c4a470b49390e7efca33c279a3133c - Reviewed-on: http://gerrit.openafs.org/2956 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7e0b9ba7fc0bc5161d351c7129a5a23650ea7904 -Author: Jeffrey Altman -Date: Mon Oct 11 15:11:52 2010 -0400 - - Windows: Build hcrypto shared library - - Build a single afshcrypto.dll shared library on Windows. - There are no lwp vs pthread differences on Windows due to - the use of the Windows random data sources. - - Change-Id: I02e4d7ee437440433a983f3eb361c78ac3cbbca6 - Reviewed-on: http://gerrit.openafs.org/2964 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 091b6e19d14b8d7c7396496d050fff5d067791a9 -Author: Jeffrey Altman -Date: Mon Oct 11 15:00:08 2010 -0400 - - Windows: Cleanup build scripts; no include\afs or include\rx - - As part of the build system cleanup, minimize the number of - directories in which include\afs and include\rx paths are included - by default. To acheive this goal the windows openafs dirent.h is - moved from include\afs to include, references whenever possible to - openafs headers included in include\afs or include\rx are prefixed - with afs\ or rx\ as appropriate. - - Some source files or directories have a broad range of interdependencies - that make separation quite challenging. For those directories or files - the inclusion of the path is added at the smallest possible level. - At some point in the future the WINNT\afsd\ headers should be moved - from include\afs to include\WINNT and should be installed there first - and then referenced internally from that location instead of from the - WINNT\afsd directory. That will permit further cleanup to be performed. - - Change-Id: I5e3a9623071c71db2f4445dc43266fdb3dad2c91 - Reviewed-on: http://gerrit.openafs.org/2961 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e95c8eaaf53dee68fe4db14acc0385a6bb84b992 -Author: Simon Wilkinson -Date: Mon Oct 11 15:15:04 2010 -0400 - - Fix rxperf includes - - Don't use raw includes for "rx.h" and friends - instead include them - from the appropriate place in our include tree. - - Change-Id: Ic136b20b571bef3f476de02302404d64cc741171 - Reviewed-on: http://gerrit.openafs.org/2962 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit d8434eefa78f3e3d4b3d0e265aa47d0617fcc4aa -Author: Simon Wilkinson -Date: Mon Oct 11 13:40:41 2010 -0400 - - rx: Indent dpf definition - - Indent the CPP macros that define dpf() so that it's a little bit - clearer what's going on. - - Change-Id: If2ccd637ac063c8400a16725972418224e9c5140 - Reviewed-on: http://gerrit.openafs.org/2955 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 63592f0bfd903f6c7019317bb61294688ceb2958 -Author: Heimdal Developers -Date: Mon Oct 11 14:43:48 2010 -0400 - - Import of code from heimdal - - This commit updates the code imported from the external - heimdal git repository to their revision - bf1f62b0a8cf72d32875656a7365f1e14d535dc5 - which is described as switch-from-svn-to-git-1605-gbf1f62b - - This is locally modified to include the earlier local fix - to sha512.c - - Change-Id: I757e636654b713625f7d468da6aa37f1006aaa2a - Reviewed-on: http://gerrit.openafs.org/2954 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 16b9038bd41ff208ff4953b62f07313f2435a250 -Author: Simon Wilkinson -Date: Mon Oct 11 14:42:03 2010 -0400 - - Heimdal: Import rand-w32.c for hcrypto on Windows - - Windows has its own PRNG for hcrypto, so add the necessary file to - our import list. - - Change-Id: Iea7a17fa9bfb90b9a9ebd5176936da21b3477bba - Reviewed-on: http://gerrit.openafs.org/2953 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7f742f45a2aaa9dcb400aa1dc35ce617876fe7fd -Author: Jeffrey Altman -Date: Sat Oct 9 03:06:07 2010 -0400 - - Windows: Do not issue RXAFS change RPCs on known RO volumes - - If the cm_scache_t is known to be on a RO volume, do not permit - RXAFS_xxx RPCs that would attempt to make a change to the volume - to be issued to the file server. Instead, return CM_ERROR_READONLY - immediately. This avoids triggering the abort threshold for - the current connection on the file server. - - LICENSE MIT - - Change-Id: I9c917e60277d281e32e4609d89b541803824251f - Reviewed-on: http://gerrit.openafs.org/2950 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit f22ae5f7d8b3c143de21355f819ab872a0cf76fd -Author: Simon Wilkinson -Date: Mon Oct 4 13:49:16 2010 +0100 - - Unix: Rework build system - - Rework the unix build system so that we support taking CFLAGS and - LDFLAGS from the command line, and don't replace them with our own - settings. Also, take the opportunity to bring some sanity and - consistency into our Makefiles. - - The standard Makefile.config now defines rules for LWP, pthreaded - and shared library builds. The CFLAGS settings for these are - called LWP_CFLAGS, PTH_CFLAGS and SHD_CFLAGS, respectively. - Similarly named variables are provided for LDFLAGS. - - A module may select to use a particular build type for its suffix - rule by including either Makefile.lwp, Makefile.pthread or - Makefile.shared from src/config. This creates an appropriate .c.o - suffix rule, defines AFS_CFLAGS and AFS_LDFLAGS as appropriate, and - creates two rules AFS_CCRULE and AFS_LDRULE, which can be used to - build, and link objects. For example: - - foo.o: foo.c - $(AFS_CCRULE) foo.c - - foo: foo.o - $(AFS_LDRULE) foo.o - - If a you wish to override the CFLAGS or LDFLAGS for an object build - using these rules (or through the .c.o suffix rule) you can do so, - by defining CFLAGS_ or LDFLAGS_. For example: - - CFLAGS_foo.o= -DDEBUG - LDFLAGS_foo = -ldebugging - - A module may also alter the behaviour of the compile and link steps - module wide by defining MODULE_CFLAGS or MODULE_LDFLAGS. - - This functionality is now used throughout the tree: - *) Suffix rules are used wherever possible, removing a number of - unecessary build rules. - *) All link steps are replaced with AFS_LDRULE - *) All standard compile steps are replaced with AFS_CCRULE - *) Unusal compile steps are defined, as far as possible, int - terms of the LWP_ PTH_ and SHD_ variables. - *) The use of $? has been removed entirely, as it makes it - impossible to provide build rules with dependency information - - Change-Id: If76207e45da402a0ed9d7c1bdbe83c58c911a4f2 - Reviewed-on: http://gerrit.openafs.org/2896 - Tested-by: BuildBot - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 1466cd755ce3b48d312fb4404f494934840e586b -Author: Andrew Deason -Date: Thu Jul 29 11:06:28 2010 -0500 - - fssync-debug: exec DAFS version if DAFS detected - - If the user requests something that differs depending on whether the - server is DAFS or not, try to exec the DAFS-enabled fssync-debug - (dafssync-debug) for them. - - Based on a conversation with Tom Keiser. - - Change-Id: If914d63d2eb4605e4d9a9d00af62264ac484c206 - Reviewed-on: http://gerrit.openafs.org/2480 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit a2888f6d405150933bc31d1470ca2426bdf77c50 -Author: Phillip Moore -Date: Thu Oct 7 19:25:09 2010 -0400 - - Extract the .version file when building the srpm file - - If you are building the source and binary rpms from a released - tarball, instead of a real git repo, the .version file is required by - build-tools/git-version. With out this, the version defaults to - UNKNOWN, and although the source rpm will build, it won't compile. - - Change-Id: I787b051d5150c65a0d71ac38b30f32e1c560c4b3 - Reviewed-on: http://gerrit.openafs.org/2948 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 50b99f85cae778ab270590d1282fd9d84a0e6ca3 -Author: Ben Kaduk -Date: Fri Oct 8 00:20:57 2010 -0400 - - Revert "FBSD: in lookup, when ISDOTDOT, unlock dvp" - - This reverts commit 96e433aebdd5699f02c205df2cce38927cd19a88. - - It was not properly tested, fails to compile on some systems, - and destabilizes the client. - - Change-Id: I80b08013c9f2d060ab7ed5a18d57311701aa8b88 - Reviewed-on: http://gerrit.openafs.org/2951 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f1a0239fba5855c5fed418f057bd5397d412e907 -Author: Phillip Moore -Date: Tue Oct 5 16:10:19 2010 -0400 - - Added missing CLI argument dropped during last commit. - - Oops -- when removing the -cell arguments to the bos commands, the - "admin" username argument to "bos adduser" was mistakenly removed as - well. - - Change-Id: If5136869c7d2bff3340018a3110fd5408750e5a6 - Reviewed-on: http://gerrit.openafs.org/2940 - Reviewed-by: Russ Allbery - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c2ed2577f9c16df3088158fb593d7aab6e8690d0 -Author: Ben Kaduk -Date: Tue Oct 5 23:30:35 2010 -0400 - - FBSD: in lookup, when ISDOTDOT, unlock dvp - - Keeping dvp locked when vp is its parent can lead to deadlock. - Always unlock dvp, not just for 6 and earlier. - - Change-Id: I26a60188d39ccd24b4db7479c57a525bb37618e9 - Reviewed-on: http://gerrit.openafs.org/2942 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 77456c07945659ff1254732aa8e428e6301e5ee6 -Author: Jeffrey Altman -Date: Tue Oct 5 11:32:05 2010 -0400 - - Windows: do not leak cm_volume_t objects from LRU queue - - The LRU queue is where volume objects are recycled from. - Therefore if they are removed then they must be put back. - - Remove extraneous operations from cm_AdjustVolumeLRU(). - - LICENSE MIT - - Change-Id: I1f6aadd0ffb7aeafa013087e4825b3c8d8252a2d - Reviewed-on: http://gerrit.openafs.org/2913 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 51c761706a9945ab40d34b4212bd463fa617636e -Author: Phillip Moore -Date: Tue Oct 5 12:46:35 2010 -0400 - - Quick Start Guide updated for RHEL rpms, and CLI syntax - - The names of the RHEL rpms have been updated to reflect what is - actually published on openafs.org, and the CLI syntax of the commands - run using -noauth have had the unnecessary -cell options removed. - - Change-Id: I5c03d371c822d1d064660a3b00fb3d1e64bff141 - Reviewed-on: http://gerrit.openafs.org/2914 - Reviewed-by: Russ Allbery - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 21e1bb9bb46b0e8e2523c3310ea8e602d2b07091 -Author: Christof Hanke -Date: Tue Oct 5 17:01:41 2010 +0200 - - volserver: Do not return ENOMEM on AIX from XVolListPartitions - - When calling "vos partinfo" or "vos listpart" towards a server - running AIX with no partitions attached, it would return a - ENOMEM, because unlike on linux, malloc(0) returns NULL on AIX. - Thus, just don't do any malloc, when we have no partitions anyway. - - Change-Id: Id1900e2ab11850ada8b2e91667288576d408014b - Reviewed-on: http://gerrit.openafs.org/2912 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e445faa68c5ec6e47d3fd9d7318ade71d98703a9 -Author: Simon Wilkinson -Date: Fri Oct 1 23:17:56 2010 -0400 - - rx: Reduce dependence on call->lock - - This patch reduces our dependence on call->lock, by allowing more - of the reader thread to run lock free. Doing so requires that - call->mode only be set by the reader thread. As a result, call->mode - can only be set to RX_CALL_ERROR by rxi_CallError(). The mode is - set to RX_CALL_ERROR by the reader thread immediately after regaining - the call->lock when it has been dropped. - - Change-Id: Ie9541d8beac2d428526f8b2b4cc0004219e820be - Reviewed-on: http://gerrit.openafs.org/2880 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e395c9f33617222391d4d8801e16de1a20b544e6 -Author: Simon Wilkinson -Date: Tue Oct 5 01:20:32 2010 +0100 - - hcrypto: Fix builds on Irix - - The recent hcrypto pullup added a depedence on the errx() function, - which isn't present on Irix. Solve this by pulling in a load more - of libroken, in order to provide this function. - - In the long term, libroken should get split out into its own - directory, and the ability to use a previously installed - libroken should be added. For now, this will hopefully get Irix on - its feet again. - - Change-Id: I0642f80079e113403cbef6eca03ca652616ddc61 - Reviewed-on: http://gerrit.openafs.org/2904 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e7a12d56bc3b27a3ada37e2799e1925204d23300 -Author: Simon Wilkinson -Date: Tue Oct 5 09:01:00 2010 +0100 - - Irix: Make compiler less chatty - - Supress a few of our errors from the Irix compiler and linker, so its - output is a little less verbose. - - This change suppresses the function declared but not used and - multiple declaration errors that we get due to our static_inline fudge - and the paramater declared but not used errors. - - Other error suppression is possible - you just need the number - immediately after the 'cc-' in the build logs to say which number to - add to the -woff line. - - Change-Id: I55485ff422feeecbb922e8fd63321605d6a8575c - Reviewed-on: http://gerrit.openafs.org/2908 - Tested-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit de158f8fdf1d4198d6fcd16f5078b5eac861ba0a -Author: Heimdal Developers -Date: Tue Oct 5 08:20:03 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from the external - heimdal git repository to their revision - 48ad3e1e6597f03cce5439831ef94b5ec11894e9 - which is described as switch-from-svn-to-git-1593-g48ad3e1 - - Change-Id: I0fda4dcf7c7e06de70636969c2f3242b9de714be - Reviewed-on: http://gerrit.openafs.org/2907 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b360ef85df1b5819e7e9d9f43a44ec31565df337 -Author: Simon Wilkinson -Date: Tue Oct 5 08:19:11 2010 +0100 - - Yet more imports from libroken - - Even more symbols to keep Irix content - - Change-Id: I6af4f0b9af0874a334ec8e5a19ea0650de295d4f - Reviewed-on: http://gerrit.openafs.org/2906 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d73bd5778a22f574a6f065a18f18d4379e9ffb4a -Author: Jeffrey Altman -Date: Tue Oct 5 08:31:22 2010 -0400 - - Windows: Kill AFS_LARGEFILES preprocessor symbol - - All builds define AFS_LARGEFILES so kill the symbol and - discard the !AFS_LARGEFILES source code. - - Change-Id: I36a2131e30b24d3d1a8f37f5629795bdd92c6b27 - Reviewed-on: http://gerrit.openafs.org/2910 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit fc9aa428f4f9a5b5188ace7bfb0301a3a184e9c0 -Author: Simon Wilkinson -Date: Thu Sep 30 13:58:26 2010 +0100 - - Kill AFS_64BIT_ENV - - The AFS_64BIT_ENV was being pretty much universally defined. So, - remove the definition, and the conditional code that it controlled. - From this point on, all platforms are assumed to be capable of - handling 64bit values. - - Change-Id: I3e4bde502af9f33f6998637c288e8fd0898ffa81 - Reviewed-on: http://gerrit.openafs.org/2870 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 27aed8fd27c2cf05c4172b33028a431e0e79daed -Author: Simon Wilkinson -Date: Tue Oct 5 13:15:49 2010 +0100 - - Revert "util: Add base64 from Heimdal's roken" - - This reverts commit d552426b14d5f5befe74958a21bc9375d5312287. - - util already has a base64.c, the Windows bits of this are half-baked, - and we need to find a config.h from somewhere so that this builds - cleanly. - - Just back it out, until I can do it properly. - - Change-Id: Iec3ef4579c8f83c7c00e03ad777489e287bbd2f3 - Reviewed-on: http://gerrit.openafs.org/2909 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 47da0d1e15ceef83ff99a25d48b92dc142b380f4 -Author: Heimdal Developers -Date: Tue Oct 5 01:01:34 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from the external - heimdal git repository to their revision - 48ad3e1e6597f03cce5439831ef94b5ec11894e9 - which is described as switch-from-svn-to-git-1593-g48ad3e1 - - This import was manually modified to preserve our current local - fix for sha512.c - - Change-Id: Ie020beb7324469d33b85ac4c559cc473f2728d19 - Reviewed-on: http://gerrit.openafs.org/2903 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 66b523afb5d6aa80d5df34805437dad807a7012d -Author: Simon Wilkinson -Date: Tue Oct 5 00:59:43 2010 +0100 - - Import yet more files from Heimdal - - Import still more files from Heimdal, so that we can try to make - Irix happy once more. Mutter, mutter, mutter. - - Change-Id: Ic8f20885fd324ab3698109f75ba41cdf6d0975dd - Reviewed-on: http://gerrit.openafs.org/2902 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d382c520cc67ca67f1d02f7a326fe19fb884cabe -Author: Simon Wilkinson -Date: Mon Oct 4 20:22:50 2010 +0100 - - Heimdal: Fix 32bit build problems - - The earlier inclusion of sha512 from Heimdal broke the build on - 32bit platforms, because this file doesn't flag 64bit constants as - being such. - - The correct place for this fix is in Heimdal, and it will be replaced - with a fix from Heimdal as soon as one is available. For now though, - this gets our build going again. - - Change-Id: I0de822a933184078c491a16aafef45519fa2bbd2 - Reviewed-on: http://gerrit.openafs.org/2901 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4803d50bdb8cdeae2c3f86b5c09e853573bc49eb -Author: Andrew Deason -Date: Sun Oct 3 18:27:19 2010 -0500 - - vol: Log ignored dirs that look like partitions - - If we see a /vicep*-like directory when we VAttachPartitions, and we - ignore it because it lacks an AlwaysAttach, log that we ignored it. - This may make things less confusing to admins that just try to create - a /vicep* directory and don't know why it doesn't work. - - Feature suggested by Jason Edgecombe. - - FIXES 128221 - - Change-Id: I0802f914658c7df413b22b3726a5085f1b646266 - Reviewed-on: http://gerrit.openafs.org/2893 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit d552426b14d5f5befe74958a21bc9375d5312287 -Author: Simon Wilkinson -Date: Mon Oct 4 15:24:15 2010 +0100 - - util: Add base64 from Heimdal's roken - - Add the base64 code from libroken into libutil, using the src/external - framework. - - Create a new, non-installed directory, to hold util headers, rather than - continuing to stuff everything into afs/ - - Change-Id: I6b743a3702c3bb07ac798392475e7e067765f238 - Reviewed-on: http://gerrit.openafs.org/2900 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 26b61c64b56742cf0c5d59ba3b62b9803bec70c5 -Author: Simon Wilkinson -Date: Mon Oct 4 16:01:55 2010 +0100 - - hcrypto: Build fixes - - Fix the hcrypto build to deal with the changes introduced by the - latest import from Heimdal - - Change-Id: I2effebffb6df2fdb351d070f8ea06ecf01aab46e - Reviewed-on: http://gerrit.openafs.org/2899 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7ebed02734e23ed678d84d17bc7ffb0823935c7b -Author: Heimdal Developers -Date: Mon Oct 4 14:25:11 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from the external - heimdal git repository to their revision - 48ad3e1e6597f03cce5439831ef94b5ec11894e9 - which is described as switch-from-svn-to-git-1593-g48ad3e1 - - Change-Id: I90eb6752000d6794e830a704adcf367928b05a98 - Reviewed-on: http://gerrit.openafs.org/2898 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b0974636a3ea7de8aa3ce56e76816ae48b7d1180 -Author: Simon Wilkinson -Date: Mon Oct 4 15:18:02 2010 +0100 - - Add more files from Heimdal - - Add the base64 implementation from libroken, and the n-fold.c file - from libkrb5 to the list of source files that we import from Heimdal. - - It also pulls in the new sha512.c and validate.c files which are now - necessary to complete a userspace hcrypto build. - - This patch will fail to build until the build fixes from the subsequent - change are applied. - - Change-Id: I60a691d0ccebd6d6bfb823856f79b59670eb86ec - Reviewed-on: http://gerrit.openafs.org/2897 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 907521feb1b9c7a6c816866a672c7ab84dac6abd -Author: Simon Wilkinson -Date: Mon Oct 4 12:33:24 2010 +0100 - - configure: Restore saved CFLAGS - - When we test for whether the C compiler can take the - -fno-strength-reduce flag, we add the flag to CFLAGS to do so. - However, we were not restoring the old value of this flag when we - completed the test, and so we were always setting -fno-strength-reduce - in the userspace compile. - - Previously, this was harmless, as we always overwrote CFLAGS, but if - we're moving to a world where we honour the user's setting of CFLAGS, - we need to not leak changes in this way. - - Change-Id: I029c9fe91132ced34867445afe673761a597ccbe - Reviewed-on: http://gerrit.openafs.org/2894 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit b1f747c1f131fc1a9f8a5895fb06607a255a27d8 -Author: Simon Wilkinson -Date: Mon Oct 4 13:45:53 2010 +0100 - - configure: Don't let autoconf pick our CFLAGS - - If the user hasn't specified CFLAGS on the command line to - ./configure, then autoconf will set them to -g -O2 if the compiler - supports those options. - - For compatibility with what OpenAFS has always done, and to let us - manually set optimisation and debugging flags later, disable this - behaviour. - - Change-Id: Ic78d5f824433d94d76f16c107af3488132d57155 - Reviewed-on: http://gerrit.openafs.org/2895 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9fed169b1c5c823fd96cea94daf712b2cf06c901 -Author: Andrew Deason -Date: Fri Sep 10 15:52:34 2010 -0500 - - vos release: Force full dump on RO_DONTUSE sites - - When releasing a volume, currently we perform an incremental dump on - RO_DONTUSE sites if the volume exists on the remote site. Since - RO_DONTUSE implies that we do not expect a site to exist there, delete - the extant volume if we find one and force a full dump. - - If we perform an incremental dump, we run the risk of incrementally - dumping to a temporary volume that the administrator is not aware of, - and doesn't have any actual data but has a last update time late - enough that it may be missing some data after the incremental dump. So - to avoid that, force a full dump every time. - - Change-Id: If751a66d6e1499b5d6f67457ae28277a6200c53a - Reviewed-on: http://gerrit.openafs.org/2731 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 60c4b248893f80431b2ea2a5d558c3536f86611a -Author: Chas Williams (CONTRACTOR) -Date: Sun Oct 3 14:35:46 2010 -0400 - - sin_family is not network order - - sin_family isnt sent over the network and therefore doesnt need - htons(). sin_family is essential the same as domain, and no one - does socket(htons(AF_INET), ...) - - Change-Id: Ie0e2396f78e0934d49aeeacfc9c5ffe98df211b6 - Reviewed-on: http://gerrit.openafs.org/2891 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 196d032fb252fa5d0827436fcfa38d9a48a49ab9 -Author: Marc Dionne -Date: Sun Oct 3 14:35:20 2010 -0400 - - Remove duplicate rx_stats targets in libuafs Makefile - - The libuafs part of commit 4346144b was not needed, rx_stats was - already in the Makefile. Harmless, but generates warnings. - - Revert the libuafs portion of that commit. - - Change-Id: I14d64445c9690bc6d69881c6bd6c00c4670895f3 - Reviewed-on: http://gerrit.openafs.org/2892 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a30da5e74c7809c068b457fec68f965a88dfff5f -Author: Derrick Brashear -Date: Sun Oct 3 02:02:22 2010 -0400 - - rx stats atomic inclusion needs kmutexes for emulation - - for platforms with no native atomics we use a mutex. well, - fine, but without defining kernel mutexes, that doesn't work so - well. - - Change-Id: Ia85e24aad8684a3855511de9548acee4ab86e83e - Reviewed-on: http://gerrit.openafs.org/2890 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 565ab7aa8e751c06d03c3ab0034915572c29ef7c -Author: Jeffrey Altman -Date: Thu Sep 16 01:06:22 2010 +0200 - - Windows: Ensure that cm_NameI errors are acted upon promptly - - There are many cases in the SMB server where an error from cm_NameI() - was either ignored or not acted upon until several other operations - are performed that could result in the same error being repeated. - This is a mistake which did not have negative side effects until - additional checks for callback status were added recently. - - At present, if a CM_ERROR_ACCESS error is returned and ignored, - subsequent attempts to operate on the same cm_scache_t will result - in additional queries to the file server that will also end in an - abort response. This can trigger the file server to delay responses - to the client. - - This patchset ensures that all cm_NameI() errors are acted upon - promptly. - - LICENSE MIT - - Change-Id: Ie334b624cc2b28f2c2a37787b5edef9d37cdb041 - Reviewed-on: http://gerrit.openafs.org/2887 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit 6ad0e5b529dbfd7a2401a0622eb4ea5269124ceb -Author: Jeffrey Altman -Date: Thu Sep 16 01:01:06 2010 +0200 - - Windows: Fix Parent(path) computation to permit mp and symlink creation - - The parent path computation was leaving trailing slashes on the - path names which prevented the creation of mount points and symlinks - when UNC paths were used that contained mount points. - - LICENSE MIT - - Change-Id: I50cba9cb8a2b0ad45f84995d05f368052be683cc - Reviewed-on: http://gerrit.openafs.org/2886 - Tested-by: Jeffrey Altman - Reviewed-by: Rod Widdowson - Reviewed-by: Jeffrey Altman - -commit 61b73864d74ac4d381c9d5d2712837426c84061d -Author: Marc Dionne -Date: Sat Oct 2 20:32:05 2010 -0400 - - Conditionalize include of string.h in rx_stats.c - - Linux doesn't have , it's in the linux subdirectory. But - it is already included by sysincludes.h, so it should not be needed - here. - - Change-Id: I017c374e7b6d47e900ec73b40a36183a3f23f35c - Reviewed-on: http://gerrit.openafs.org/2888 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3940e686a880410b9001786734d158411782a965 -Author: Marc Dionne -Date: Sat Oct 2 21:02:23 2010 -0400 - - Linux: correct use of atomic_add and atomic_sub functions - - The rx_atomic_add and rx_atomic_sub functions have arguments - reversed compared to the linux atomic_add and atomic_sub. - - Adjust the macros to flip the arguments when calling them - - Change-Id: I6d58c8f0ac8ccf09e62c9d3921b9f3ae50ca94c9 - Reviewed-on: http://gerrit.openafs.org/2889 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fab6c9db2fb6418c1c4ebf32e441e0d2bdb9d817 -Author: Jeffrey Altman -Date: Sat Oct 2 11:43:03 2010 -0400 - - Rx: Fix RXDEBUG_PACKET builds - - Commit 37946ee1739aa22cb2f7330a37504d33a7733c9a unintentionally - broke RXDEBUG_PACKET builds. Fix it. - - Change-Id: I833109b8e35f2f3487fe2865856c7f37cd31e0c2 - Reviewed-on: http://gerrit.openafs.org/2882 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b62cacf889a6a231a97951baad6594e4066880bd -Author: Jeffrey Altman -Date: Fri Oct 1 23:47:11 2010 -0400 - - Rx: raise rx_minPeerTimeout to 20ms - - At 2ms it is possible for the packet we are sending to be resent - just about immediately as the retryTime computation occurs before - the send takes place and not afterwards. If the network send blocks, - the retryTime may have already expired. - - We do not want rx_minPeerTimeout to be too large though because the - value will end up being used as the backoff time period when the - actual RTT for the connection is less than the rx_minPeerTimeout - value. Extensive testing shows 20ms to be an adequate compromise - that avoids the vast majority of unnecessary resends without - unnecessarily slowing down the connection if a packet is in fact - lost. - - Change-Id: I87248ec1cff6a4d0862da0239d4c203024a783b6 - Reviewed-on: http://gerrit.openafs.org/2881 - Reviewed-by: Jeffrey Altman - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 3cd3715e608b801b4848399e42cb47464e6e3cc3 -Author: Jeffrey Altman -Date: Thu Sep 30 10:48:58 2010 -0400 - - Rx: When call receive is done, send ack all packet - - When all of the packets for a call have been received, - immediately send an ack all packet to the peer. This permits - the peer to free the contents of the transmit queue and cancel - all pending resend events. - - Change-Id: Ic06ccaca6f0c5e2f770c5c45c84f7fc155207bcf - Reviewed-on: http://gerrit.openafs.org/2871 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5613ea60fc9431dbc87bc8ad6439f9b5af38af5c -Author: Jeffrey Altman -Date: Wed Sep 22 16:36:03 2010 -0700 - - Rx: protect rx_conn and rx_call refCount field with rx_refcnt_mutex - - Add a new global mutex rx_refcnt_mutex to protect the conn->refCount - and call->refCount in place of relying upon the conn->conn_data_lock - and the call->lock. - - This will relieve some lock contention with rx_ReceivePacket(). - - Change-Id: Iebc04a87149a9fe69a7e312e8968b08c2e94148d - Reviewed-on: http://gerrit.openafs.org/2837 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b2a21422129ca1eeeb5ea1a1f7b08b537fd2a9f7 -Author: Derrick Brashear -Date: Sat Oct 2 12:43:36 2010 -0400 - - darwin kernel atomics - - actually enable atomics for the darwin kernel, whose API is - just slightly different - - Change-Id: I566149428d253806c4546fa0c5a3f96e8098c4eb - Reviewed-on: http://gerrit.openafs.org/2884 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4346144b8489671c648be5c0cdfd9c235a928f0d -Author: Derrick Brashear -Date: Sat Oct 2 12:59:46 2010 -0400 - - add rxstats to kernel - - add split out rxstats module to kernel - - Change-Id: Ibdc721f19a63c58604a56b0099d0c52161d3b00c - Reviewed-on: http://gerrit.openafs.org/2885 - Tested-by: Derrick Brashear - Reviewed-by: Derrick Brashear - -commit 12e6531f0079597280e1b3961738af55d682d3f5 -Author: Chas Williams (CONTRACTOR) -Date: Fri Oct 1 09:40:16 2010 -0400 - - add option to rxperf to use rx_Readv() instead of rx_Read() - - rx_Readv() is a bit "faster" than rx_Read() and typically used by most - afs transaction. - - server% rxperf server - client% rxperf client -c send -s server - SEND: threads 1, times 100, bytes 1048576: 2073 msec - - server% rxperf server -v - client% rxperf client -c send -s server - SEND: threads 1, times 100, bytes 1048576: 983 msec - - Change-Id: I27b06dbbb61f2bc34fa91bcda3c6e046c787ff62 - Reviewed-on: http://gerrit.openafs.org/2877 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 59e6ac8a5c354b746a4b984f4a10af91ebeef5f3 -Author: Jeffrey Altman -Date: Sat Oct 2 00:49:38 2010 -0400 - - Windows: Pass Volume Root Fid to cm_Analyze after RXAFS_GetVolumeStatus - - RXAFS_GetVolumeStatus can return VNOVOL, VMOVED, etc. In order to - process them and update volume state a fid must be passed to cm_Analyze(). - Use the volume root fid. - - LICENSE MIT - - Change-Id: Ia6115a17aae06144277271048e8287e5ad52ff2a - Reviewed-on: http://gerrit.openafs.org/2883 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4ca57f3fd302e339aaf4d4625b904fcfd3d2f0e8 -Author: Andrew Deason -Date: Thu Mar 11 10:43:54 2010 -0600 - - Provide an abstract thread pool object - - Add some routines to maintain a pool of threads, for working through a - Vwork_queue. - - This adds the afs_tp* series of functions. Originally written by - Tom Keiser. - - Change-Id: I8735aa14ca6622ae0eca7a7589e69b0f3b3daf08 - Reviewed-on: http://gerrit.openafs.org/1863 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit bfbc65676d6ea2d4d000d2f8813bcc0958cf8ea2 -Author: Andrew Deason -Date: Thu Mar 11 10:39:56 2010 -0600 - - Provide an abstract work queue object - - Add some routines for specifying chunks of work to be done. The idea - is to be able to pass these to different threads, and specify - dependencies between them, wait on them completing, etc. - - This adds the afs_wq* family of functions. Originally written by Tom - Keiser. - - Change-Id: If556cf4da12de8c4be1e53376d85d791584ae177 - Reviewed-on: http://gerrit.openafs.org/1862 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 0ecc90f3cd3f5a7c96b3689ab0c5f6a42edc3ed0 -Author: Derrick Brashear -Date: Thu Sep 30 23:57:11 2010 -0400 - - exempt instant timeouts from mtu discovery - - if we set lastReceiveTime to 0 to hint that no net, honor that here as - "just time out" - - Change-Id: Ifb06fad782669649027841e3930ff94600b6c900 - Reviewed-on: http://gerrit.openafs.org/2875 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit e04f17704a4ceb242ea0b01abd225f89fa0979e7 -Author: Andrew Deason -Date: Tue Sep 14 10:45:10 2010 -0400 - - DAFS: Raise LogLevel for per-chain vol stats - - Only report detailed per-chain volume statistics on shutdown/SIGXCPU - if LogLevel is 125 (or 25 for smaller per-chain stats). If a - fileserver is configured with a large -vhashsize, printing out stats - for each chain can take awhile and use up a nontrivial amount of disk - space for logging, so only print out these stats if we're asked for - them. - - Change-Id: Iceb38e29ab40958e05f3cf146687f679bd0f061c - Reviewed-on: http://gerrit.openafs.org/2759 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 9d912b6f1c4f3d242429c66291107b2badd166e4 -Author: Chas Williams (CONTRACTOR) -Date: Fri Oct 1 09:58:52 2010 -0400 - - rename some variables in rxperf - - sendtimes and recvtimes are actually the data byte counts to be - exchanged during an rpc test not an iteration count as implied - by their names - - Change-Id: I3d567aacf1ab1d25fda20e48a6bbb68a63330230 - Reviewed-on: http://gerrit.openafs.org/2876 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 87e96c30e069a2379365c9947a311e700cf51c4d -Author: Chas Williams (CONTRACTOR) -Date: Wed Sep 29 18:21:25 2010 -0400 - - configure: --with-linux-kernel-packaging should default to disabled - - the test for this build feature is reversed. by default, the value for - with_linux_kernel_packaging will not be defined which makes the existing - test pick MPS='SP' instead of LINUX_WHICH_MODULES. based on the configure - help messages, this would appear to be an opt-in not an opt-out. - - ... - Optional Packages: - ... - --with-linux-kernel-packaging - use standard naming conventions to aid Linux kernel - build packaging (disables MPS, sets the kernel - module name to openafs.ko, and installs kernel - modules into the standard Linux location) - ... - - Change-Id: Ie16fba165e6c85b7ecbce887badb9ffc06a3a7a8 - Reviewed-on: http://gerrit.openafs.org/2869 - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - -commit 2bcd9044f747315cc1ea00b8c63982307edcc6c7 -Author: Chas Williams (CONTRACTOR) -Date: Thu Sep 30 14:27:35 2010 -0400 - - afsd's -mem_alloc_sleep is obselete -- update documentation - to reflect this. - - Change-Id: Ife0f4a2582fe535d7c977d0ca24f92e314459386 - Reviewed-on: http://gerrit.openafs.org/2874 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7e12632cd2c8e07baa5e6c8aecd5311870771133 -Author: Andrew Deason -Date: Thu Sep 2 13:11:32 2010 -0500 - - DAFS: document the limits of -vhashsize - - You can only specify a -vhashsize between 6 and 28 (inclusive). - Document that in the dafileserver man page. - - Change-Id: I44d1c71f4ff303174e8aebf74b0b9075c07bc8b4 - Reviewed-on: http://gerrit.openafs.org/2650 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 364691145698c8f9b87466cd9d9e2c54f8c6aaa9 -Author: Derrick Brashear -Date: Wed Sep 29 14:15:24 2010 -0400 - - linux define ucontext properly - - ucontext requires glibc version info to engage. - glibc info comes from features.h, which if we include afs_sysnames.h, - we get... so, let's swap these. - - Change-Id: I26e5554f2c5c5f9f8a74fb591efdfdc1f6ae7257 - Reviewed-on: http://gerrit.openafs.org/2868 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ff89a321108e1a0c08323547de706f953aef0430 -Author: Simon Wilkinson -Date: Wed Sep 29 00:21:43 2010 +0100 - - rx: Don't have different args for rxi_FreeCall - - rxi_FreeCall changes its number of arguments depending on whether - locks are enabled or not. That's a little bit nasty to read, so just - change it so that it always takes two arguments, and ignores the - second when it doesn't need it. - - Change-Id: I5f869bea9bcf01bac16d8c5eec93373788d17978 - Reviewed-on: http://gerrit.openafs.org/2863 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 37946ee1739aa22cb2f7330a37504d33a7733c9a -Author: Simon Wilkinson -Date: Wed Sep 29 00:11:53 2010 +0100 - - rx: Make statistics interface use Atomics - - Make the rx_statistics statistics gathering infrastructure use - atomics for all of its counters. This significantly reduces - lock contention. However, it also (potentially) changes the format - of the rx_stats variable which has been used by callers in the past. - - To simplify this process, and to aid with future changes, we remove - direct access to rx_stats. Instead, two additional API functions - rx_GetStatistics and rx_FreeStatistics are provided. These give the - caller access to an 'normal' rx_statistics structure. - - Tom Keiser has suggested that we should explore using thread-local - statistics structures, and just aggregating them when we are asked - to report. This is a fine idea, and is equally possible with the - new interface that this patch introduces. - - Change-Id: I859cea8f7354a655be007b95fa8a61f995308b35 - Reviewed-on: http://gerrit.openafs.org/2862 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1676c7e54f238e72910263f83987b271067efe21 -Author: Simon Wilkinson -Date: Wed Sep 29 00:15:37 2010 +0100 - - rx: Use atomics for rxi_AllocSize and rxi_AllocCnt - - More atomics for RX statistics counters. Less lock contention. - - Change-Id: I55202d2d54323448f7bc191aab03ace976fac962 - Reviewed-on: http://gerrit.openafs.org/2861 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 41633936ce0ac35c9b654c8666241d930f140bbd -Author: Simon Wilkinson -Date: Wed Sep 29 00:06:45 2010 +0100 - - rx: Make nWaiting and nWaited atomic - - Make the nWaiting and nWaited counters atomic, and get rid of the - mutex which used to protect them. - - Change-Id: I0c4d8f1df1860baa2bb189ea77bf20ee9f2066f7 - Reviewed-on: http://gerrit.openafs.org/2860 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a3c7d9ee037c85297fd2b1932d47c40b64130676 -Author: Simon Wilkinson -Date: Tue Sep 28 23:48:50 2010 +0100 - - rx: Add rx_NewThreadId function - - The fileserver and the fsync server were locking an internal RX - mutex, and incrementing an internal counter in order to obtain fake - pthread thread IDs. Instead of letting them muck around in the - internals of RX, provide an API that can be called to obtain a - ThreadId counter, and use that API throughout the code. - - Change-Id: I68f41d1486cdafeb757da2c0df899ae1ca2b2bfc - Reviewed-on: http://gerrit.openafs.org/2859 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 513d6a3e35f8c35178e0a22428d616751251b51e -Author: Simon Wilkinson -Date: Tue Sep 28 23:37:54 2010 +0100 - - rx: Add atomic operations code - - Add support for an atomic type, and atomic operators for RX. This - builds on work which has already been done for Windows, where - InterlockedOperations are used for statistics gathering. - - A new opaque type, rx_atomic_t is introduced so that normal arithmetic - operations will fail on atomic data. - - An implementation using native atomic methods is provided for Darwin, - Solaris and Windows. A native kernel implementation is used for Linux. - Where OpenAFS is built with a sufficiently modern gcc, gcc's atomic - primitives will be used. Sadly, gcc's builtin operations are not - available for i386, they will only be used with builds the set - -march=i486 (or later). - - Otherwise, we fall back to a single mutex which protects all atomic - operations. - - Change-Id: I5f69677a80617e3936f82b177cd58250a6dbf31f - Reviewed-on: http://gerrit.openafs.org/2858 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e9fafac6cba6e024f08e8743d60b7853a2940ba2 -Author: Asanka Herath -Date: Mon Aug 30 15:36:50 2010 -0400 - - Windows: Set NTDDI_VERSION when setting _WIN32_WINNT - - Change-Id: I65312c35b40dbbb4ea8f0170ea8e961bd93359aa - Reviewed-on: http://gerrit.openafs.org/2866 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit cbaef553978b7d81ba6d7b7721bcea97fe41870a -Author: Simon Wilkinson -Date: Sun Sep 26 15:48:54 2010 +0100 - - RX: Tidy reader data locking - - Data which is accessed only by the reader thread doesn't need to be - protected by call->lock - - Remove the call->lock protection where it isn't required, which makes - certain read/write calls lock free. - - Stop rx_ResetCall from manipulating reader thread data. This data will - be zero'd and cleared when the reader thread calls rx_EndCall, and - doesn't need to be reset by the Listener thread. - - The change which made rx_ResetCall reset reader thread information - was originally part of 559ea99b. It caused race conditions that were - fixed by adding additional lock protection in d0cc6e, 4dadd2 and - 423ab97e. This commit reverts portions of all of those changes. It - is safe to not clear the iovc in ResetCall because any NewCall must - be balanced by a corresponding EndCall in the reader thread, and - EndCall does the appropriate freeing of reader elements. - - Change-Id: I450469a4591fbe4af34482a2b219708795c57e8e - Reviewed-on: http://gerrit.openafs.org/2856 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: BuildBot - -commit 791b7a4c660ef468286eb6f51e66b4faa4bb6c7b -Author: Ben Kaduk -Date: Tue Sep 28 20:03:25 2010 -0400 - - More FBSD syscall tweaking - - We're now properly registered in syscalls.master for HEAD - (i.e. proto-9.0) and RELENG_8 (proto-8.2), which means that - afs3_syscall is prototyped in sys/sysproto.h . Accordingly, - don't declare it in afs_prototypes.h for those cases. - - Also add FBSD82_ENV checks for the new syscall-registration code, - and cast afs3_syscall to sy_call_t* for the sysent structure. - - Change-Id: I0e7427274b018043c3a6a8ca6181a78a385d9aa2 - Reviewed-on: http://gerrit.openafs.org/2864 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 50920c0384189a6c635ca58c38bf7c942c0446b2 -Author: Simon Wilkinson -Date: Mon Sep 27 23:50:23 2010 +0100 - - rx: Limit window size to max acks - - The RX ack packet can only acknowledge 255 packets at once. In the - current implementation, this limits our maximum window size to 255, - as we can't acknowledge any packets we receive outside of that window - size. - - Change-Id: If12eeb4a71cdf0bcd2a82f86b416e387543b7ea8 - Reviewed-on: http://gerrit.openafs.org/2857 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 0cac17105b632f495a8000a06a721e0bb163e2f4 -Author: Marc Dionne -Date: Sat Sep 11 11:11:18 2010 -0400 - - volser: Set but not used variables - - Fix instances of variables defined and set but never used in the - volser directory. - - Spotted by gcc 4.6 - - Change-Id: Ibb1896cdde51985d1c14b563f8a6de6cec90403f - Reviewed-on: http://gerrit.openafs.org/2852 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9d790e18fadc318305b58809c0715c4e07c82b85 -Author: Derrick Brashear -Date: Sun Sep 26 07:28:46 2010 -0400 - - pam test should return an int in main - - change things so we conform with the usual prototype for main() - - Change-Id: Ia3bfe6bb1b135fdba53ccca1650b0b7223108a27 - Reviewed-on: http://gerrit.openafs.org/2850 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a2de10a1705a88ef652f4489383801a15c938a12 -Author: Marc Dionne -Date: Fri Sep 10 20:40:56 2010 -0400 - - viced, tviced: Set but not used variables - - Remove or ifdef out some variables that are set but never used. - - Spotted by gcc 4.6 - - Change-Id: I895740680997cff29d96ee5257830531c71711af - Reviewed-on: http://gerrit.openafs.org/2853 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit e6c9cf2466e849753db99b48b0da26665ef0a0e3 -Author: Marc Dionne -Date: Sat Sep 25 15:28:37 2010 -0400 - - tubik: minor Makefile cleanups - - Rework the install targets for udebug to avoid warnings in the case - where afssrvbindir = bindir - - Remove commented out compile line for udebug - - Change-Id: I500ba2575e7d71114dbdec704d6b3d22585cfdd3 - Reviewed-on: http://gerrit.openafs.org/2851 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit e23f3ae22f11433713860b37b89a94b12fd70e8d -Author: Simon Wilkinson -Date: Mon Sep 27 11:47:51 2010 +0100 - - rxperf: Really set UDP buffer size - - On Unix, the UDP buffer size has to be set before we open any sockets. - Otherwise, the default (64k) buffer size is used and never changed. - - Move the calls to SetUdpBufSize in rxperf.c so that the -u command - line option actually has an effect. - - Change-Id: Ic925faabca8264c0359693e97c2ab5b637902797 - Reviewed-on: http://gerrit.openafs.org/2855 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 8c0498699366f7e40253d00604da3d9043b32851 -Author: Simon Wilkinson -Date: Sun Sep 26 15:20:22 2010 +0100 - - Fix rxperf so that it works with pthreads - - *) Don't allocate 512K on the stack - *) Don't pass stack allocated data into pthread_create() - - Change-Id: I6a4f70121871bf3b7a62d9ed893a2d15bffc7a21 - Reviewed-on: http://gerrit.openafs.org/2854 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 7d272f05059a4b467ee41a2a0d8781e9f9c4c250 -Author: Russ Allbery -Date: Sat Sep 25 16:42:57 2010 -0700 - - Update Debian packaging to 1.5.77-2 release - - Contains DKMS robustness fixes, improvements to the defaults for the - module build, and cleanup of the openafs-client init script. Updates - the build system for the new demand-attach binary naming and for the - changes to supported configure options. Fixes some issues with - afs-newcell. Forces disabling of the Linux syscall probing in kernel - module builds, since no supported Debian kernel allows this and it - causes problems. Update debhelper to V8, which allows simplification - of debian/rules and debian/module/rules. - - Change-Id: I4db4df873607129548557389f08c7ec1480e7204 - Reviewed-on: http://gerrit.openafs.org/2849 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e28bb036b85ea90c0ecf8d52a17043374c1fef3a -Author: Michael Meffie -Date: Thu Sep 23 10:15:57 2010 -0400 - - scout: display fetch and store counts as unsigned - - Fetches and stores are already defined as unsigned, so format - them as unsigned values when displaying in scout. This fixes - the bug where scout shows those counts as negative values on - busy servers which have been running for a while. - - Change-Id: I460172720d76e081ede4381b2718f75386af4285 - Reviewed-on: http://gerrit.openafs.org/2843 - Reviewed-by: Simon Wilkinson - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a99e616d445d8b713934194ded2e23fe20777f9a -Author: Simon Wilkinson -Date: Thu Sep 23 17:41:47 2010 +0100 - - rx: Big windows make us sad - - The commit which took our Window size to 128 caused rxperf to run - 40 times slower than before. All of the recent rx improvements have - reduced this to being around 2x slower than before, but we're still - not ready for large window sizes. - - As 1.6 is nearing release, reset back to the old, fast, window size - of 32. We can revist this as further performance improvements and - restructuring happen on master. - - Change-Id: Ic1de2cf33f42edaf1455b72580110d56fe968a7b - Reviewed-on: http://gerrit.openafs.org/2844 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 4884de5bc8b5a984eeb5927685308874296e88b8 -Author: Simon Wilkinson -Date: Thu Sep 23 15:01:58 2010 +0100 - - libafsrpc depends on rxstat and fsint - - ... in the same way as shlibafsrpc - - Change-Id: I02d8c35efadd9c9b865bb91eabd0e5b3c10a115e - Reviewed-on: http://gerrit.openafs.org/2842 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 18b932f29f7ac3d4da7736d58e6dc3833ca4c6f3 -Author: Matt Smith -Date: Thu Sep 16 15:44:04 2010 -0500 - - Updates to the Cache Manager to include NetBSD5 support - - LKM currently builds and will mount when forced with the entry point - manually defined. Contents of /afs can be discovered, but when listing - the directory, the system call will not return. - - Change-Id: I68ba1897b56613bd4ebbe331eea3140c6a963a7d - Reviewed-on: http://gerrit.openafs.org/2767 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c21c90515ac37862a6002441790a721489fa89a8 -Author: Simon Wilkinson -Date: Thu Sep 23 10:42:25 2010 +0100 - - rxperf: Add build rules to build a pthreaded version - - The pthreaded version of rxperf is much more interesting than the - LWP one now, so add some rules so that Unix can play with it too. - - Change-Id: Ia76dd89482c8d62805ed8dfd58a1963e4bf8cc65 - Reviewed-on: http://gerrit.openafs.org/2841 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c87377834701195fe98d75ad34324bc1748e13a0 -Author: Simon Wilkinson -Date: Thu Sep 23 10:40:02 2010 +0100 - - rxperf: Fix the Unix build again - - Fix the Unix build of rxperf again - - Change-Id: I2c5d43f6f69ef36d703bd73154a1f5ec080a47cd - Reviewed-on: http://gerrit.openafs.org/2840 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8dd5e7a87ee5626e89c14d2a989b4795bebd5c05 -Author: Simon Wilkinson -Date: Wed Sep 22 09:03:27 2010 +0100 - - Add an LWP version of the hcrypto library - - hcrypto uses a single pthread mutex, which is only required when - we're running in a pthreaded world (in a cooperative threading world - such as LWP, there's no way that two processes can both access the - Fortuna PRNG at the same time) - - So, build an LWP version of hcrypto which just disables the mutexes. - - Change-Id: I0b894cfa0d16ba6d16544a4d725191c965ac6e50 - Reviewed-on: http://gerrit.openafs.org/2833 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 289461450c0e14cc35e0f8e80ff8047fdc13b6c5 -Author: Simon Wilkinson -Date: Thu Apr 15 17:35:37 2010 +0100 - - Move des/stats.h to rxkad directory - - The structures defined in des/stats.h are rxkad specific, and so - should be handled by an rxkad header file, rather than by something - in the eventually-to-be-removed DES directory. - - The structure shouldn't be initialised in libutil. Move initialisation - to rxkad_common, where it is already initialised in the pthread case. - - Change-Id: I3de49cfe1752eaa5f273796516e2ff6c289d9533 - Reviewed-on: http://gerrit.openafs.org/2576 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 259cca4050102e98ade929cc648a69d9f57c07fa -Author: Simon Wilkinson -Date: Fri Sep 17 22:03:20 2010 +0100 - - tests: Fix objdir builds - - Fix the tests so that they work when we have a separate build - directory. - - Change-Id: I1329a4186b126c84f611c9751fd228b80c80c82c - Reviewed-on: http://gerrit.openafs.org/2828 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f3f108f4c7fe5808d8debe3c9fbcfb3b1b79b73a -Author: Simon Wilkinson -Date: Wed Sep 15 11:16:15 2010 +0100 - - rx: Add struct rx_identity - - Add the rx_identity structure which can be used by rx security - layers to store and return identity information to applications. - - A number of helper functions for manipulating rx_identity structures - are also provided. - - Change-Id: I64ae2b62a4bc8a401c1ac877f4662c66a39247f8 - Reviewed-on: http://gerrit.openafs.org/2827 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 571aac176e94dc669c677041c0bcac7dedcd8067 -Author: Simon Wilkinson -Date: Thu Sep 16 12:48:41 2010 +0100 - - rx: Add an opaque type - - Add a type to RX to hold counted data chunks, and some helper - functions to assist callers with using that type. - - Change-Id: Ia81ceea50e43f6fba101122a085f84776dbf3807 - Reviewed-on: http://gerrit.openafs.org/2826 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 68d074d8aa98e76fb85289c69300d17695b98d0b -Author: Russ Allbery -Date: Wed Sep 22 16:34:42 2010 -0700 - - Link dafssync-debug(8) to fssync-debug(8) - - The two commands are documented identically for right now, so just link - the dafssync-debug man page to the fssync-debug man page. Remove the - incorrect statement in the man page that fssync-debug only works with - demand-attach. - - FIXES 128166 - - Change-Id: I812641ad7a345c7f5412c3c97ed1ba393e981639 - Reviewed-on: http://gerrit.openafs.org/2836 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 10281b5be240707ed2eb75bdb68d9d23ff0011c8 -Author: Russ Allbery -Date: Tue Sep 21 16:45:53 2010 -0700 - - Fix POD errors in fileserver and dasalvager - - Fix missing newlines before =back commands. - - Change-Id: If8e65c94f48c271c37c1b4bbec1b17d383c8375d - Reviewed-on: http://gerrit.openafs.org/2831 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 82b7327b5ba66c6ddbc898ad383b4e5f2b08ec38 -Author: Russ Allbery -Date: Tue Sep 21 14:11:53 2010 -0700 - - Update bos create man page for new naming of demand-attach binaries - - The demand-attach fileserver binaries now have a "da" prefix. Adjust - the documentation in the man page for bos create accordingly, and add - the new binaries to SEE ALSO. - - Change-Id: Ib70bad87aaf8bfc483ffbfe402db01c178e6c4e4 - Reviewed-on: http://gerrit.openafs.org/2830 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit dd8c28a58e58e84a22da44da03812eca879f70fa -Author: Simon Wilkinson -Date: Sat Sep 11 10:11:57 2010 +0100 - - auth: Add documentation for ktc_ListTokensEx - - Document ktc_ListTokensEx, and add a stub implementation of the - function for Windows. - - Change-Id: Ie168081f1a991fcf13358a5a1eeb8d0b96f5800a - Reviewed-on: http://gerrit.openafs.org/2825 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f73c085755869b071607db1059351c46ca83abac -Author: Simon Wilkinson -Date: Fri Aug 20 00:14:49 2010 +0100 - - hcrypto: Add dirfd definition for solaris - - Add an implementation of dirfd to our local roken implementation for - platforms that don't have one. - - Code taken from Heimdal. - - Change-Id: I4284c18430b6f49200886f5340191a14dcf34b57 - Reviewed-on: http://gerrit.openafs.org/2608 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9a6dca070733dd5065c37cd044a3d2ded2268b14 -Author: Jeffrey Altman -Date: Wed Sep 22 16:28:48 2010 -0700 - - Additional functionality for rxperf - - Add the ability to initiate multiple pthread threads issuing - calls on the same connection to the server. - - Add ability to set max window size. - - Add ability to adjust min peer timeout. - - Change-Id: I896650b033ae0adfa42d3e5831ff799ca1331bd5 - Reviewed-on: http://gerrit.openafs.org/2835 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 200a9947f548eb7158e92de62ddaa76fcfe4ba46 -Author: Simon Wilkinson -Date: Thu Sep 23 08:58:21 2010 +0100 - - libuafs: Don't #define user - - libuafs used to #define user to usr_user, so that any references to - 'struct user' would become 'struct usr_user'. However, none of the - kernel code uses struct user, and this #define conflicts with the - definitions in sys/user.h on Linux. - - So, just remove it. - - Thanks to Russ Allbery for the original problem report. - - Change-Id: I7868c8ddade2df626f5ecae597144641dfc551b7 - Reviewed-on: http://gerrit.openafs.org/2838 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d17adc30027d795068504dc736dac849ed42a884 -Author: Simon Wilkinson -Date: Wed Sep 22 17:33:26 2010 +0100 - - rxkad: Make the test suite build again - - Make the rxkad stress test suite build again. - - Change-Id: I8ff7aecb768f0f46129f612e8bcbef20d59c8886 - Reviewed-on: http://gerrit.openafs.org/2832 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a10f644fd21482559039f79e4a14fd39a83f6f9b -Author: Simon Wilkinson -Date: Wed Sep 22 19:50:47 2010 +0100 - - rxperf: Fix so it builds on Unix - - Fix assorted errors in the rxperf utility so that it will build - on Unix. - - Change-Id: I8ba4e5e6bc2bab38b38f27f5fae3138a0924caa6 - Reviewed-on: http://gerrit.openafs.org/2834 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 5fd720ce7d1532b8f17b96b6b21a85ee0ee6827f -Author: Simon Wilkinson -Date: Wed Sep 1 14:38:58 2010 +0100 - - rxgen: Handle complex structures - - Servers built using rxgen will break if they take complex - structures as RPC arguments. A complex structure, in this case, is - one which contains an array. - - For example an RPC which takes as an argument: - - struct MyData { - opaque somebytes<>; - } - - ... will cause memory corruption on the server whenever it is called. - - This is becase the server stubs emitted by rxgen do not zero out the - contents of the MyData structure, leaving it with whatever garbage may - be on the stack. When XDR comes to populate the somebytes opaque - array, it sees that MyData.somebytes.somebytes_val is non-zero, and - assumes that this is a pre-allocated block into which it can record - the data from the wire. However, it's really just stack garbage, and - so we overwrite memory. - - As a fix, this patch creates a new list of 'complex' structures, which - are identified as structures which contain arrays. When a server stub - is created for a function that takes a complex structure, the structure - is set to zero before use, and marked to be freed afterwards. - - I suspect that there may be a wider class of complex structures than are - caught by this routine, but this is a start... - - Change-Id: Id671fe602c8cd44afaaccc821aaa097b142f1899 - Reviewed-on: http://gerrit.openafs.org/2736 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit c77f2f1369fead87acb440134213ebf6d23f8fd7 -Author: Jeffrey Altman -Date: Mon Sep 20 05:07:08 2010 -0700 - - Rx: Change minimum peer timeout to 2ms - - The previous value, 350ms, is historical. Now that networks are - so much faster, an artificially high timeout value when backed off - results in an extremely long delay before communication can resume. - - Change-Id: I6207fb3e5c26a36704abc1f9210af53e0ff1fae6 - Reviewed-on: http://gerrit.openafs.org/2815 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit ed25a920232cb659c2997c91c5bc92a659ff163a -Author: Jeffrey Altman -Date: Mon Sep 20 10:02:18 2010 -0700 - - Rx: Permit MakeDebugCall() be be compiled when RXDEBUG is undefined - - If MAKEDEBUGCALL is defined, build MakeDebugCall() even if RXDEBUG - is not defined. - - Change-Id: I98d3216e8bf1e1f3b6b62c962d33db316d0f51ac - Reviewed-on: http://gerrit.openafs.org/2818 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e197c19cedaafa0d2bb59212fb171083f2140041 -Author: Jeffrey Altman -Date: Mon Sep 20 05:11:20 2010 -0700 - - Rx: Do not hold call lock across memcpy in rx_ReadProc/rx_WriteProc - - 1.4.x does not hold the call lock across memcpy operations in - rx_ReadProc, rx_ReadProc32, rx_WriteProc, rx_WriteProc32. The - claim is that the call curpos, curlen, and nLeft fields which - refer to the current packet being processed will not be touched - by any other thread. Therefore it is safe to drop the call lock - to permit another thread to add packets to the call while the memcpy - is performed in parallel. - - This patchset continues to hold the call lock longer than the - original implementation but does drop it for the length of time - it takes to copy data from the packet buffer to the application - buffer. - - Change-Id: I87dacdf541ba50db80ab55e500b38edab5126dc2 - Reviewed-on: http://gerrit.openafs.org/2817 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7b9607639816b19fdf1b70b4c04ba984f9bf3613 -Author: Jeffrey Altman -Date: Mon Sep 20 05:10:22 2010 -0700 - - Rx: Permit udp buffer size to be set in rxperf - - Change-Id: I4680e038e2965ca8bc13f76955b85e924435c6af - Reviewed-on: http://gerrit.openafs.org/2816 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0a9e57c45e4412d9dac7050d693a22044ddc1d0f -Author: Russ Allbery -Date: Mon Sep 20 14:19:11 2010 -0700 - - Add NEWS entries for OpenAFS 1.5.77 and 1.5.76 - - Based on the public announcement for 1.5.77. - - Change-Id: Ic368e16e16b03a79de6196a2e355eca0f420de77 - Reviewed-on: http://gerrit.openafs.org/2819 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a00da7d2c9a66f1e5984ec2b3bd3efe10793e1c9 -Author: Jeffrey Altman -Date: Thu Sep 16 14:23:41 2010 +0200 - - Windows: Negative Caching for Volume Lookups - - If a volume lookup returns VL_NOENT or VL_BADNAME, cache the negative - response for five minutes. This prevents volume lookup storms caused - by the same volume lookup being performed repeated during a short - time period. This can happen if mount points to volumes that do not - exist are present in a directory that is being evaluated by Windows - Explorer or Common Control File Dialogs. - - This functionality is implemented by storing the most recent update - time for the volume group as part of the cm_volume_t. A non-existing - volume group is identified with a new CM_VOLUMEFLAG_NOEXIST flag. - The presence of the lastUpdateTime value also permits volume location - information to expire at lastUpdateTime + lifetime instead of expiring - all volume information simultaneously each lifetime period. - - LICENSE MIT - - Change-Id: I01c5122a153fadc3824ff916655b0199d5c1de3c - Reviewed-on: http://gerrit.openafs.org/2771 - Reviewed-by: Derrick Brashear - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 089cd2c1039315fe400f85eec1c9f2152ea090c7 -Author: Russ Allbery -Date: Tue Sep 14 10:12:43 2010 -0700 - - Mention KRB5CCNAME in the aklog man page - - AFS users not otherwise familiar with Kerberos may not realize that - one sets KRB5CCNAME to use an alternative ticket cache. Mention the - variable in the aklog man page, although defer to the Kerberos - documentation for most details. - - Change-Id: I13133285f153f86e0aa1e95b24715e01d576075d - Reviewed-on: http://gerrit.openafs.org/2761 - Reviewed-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Rod Widdowson - Reviewed-by: Russ Allbery - -commit be91260047627fb4fffeeed73c7f24c80448c673 -Author: Jeffrey Altman -Date: Sun Sep 19 10:46:34 2010 -0700 - - Rx: Permit ADAPT_WINDOW code to build - - Add missing fields to rx data structures. - - Update variable references. - - Change-Id: I7f3cc5e89e71ee0a9dfc3ae8b021bec07a41ce95 - Reviewed-on: http://gerrit.openafs.org/2783 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7ee80a853cebc472d9d9664dbfcccadd1d49d5fc -Author: Jeffrey Altman -Date: Sun Sep 19 09:17:08 2010 -0700 - - Windows: Export additional RX debugging variables from afsrpc.dll - - Export - - rxi_nRecvFrags @2008 DATA - rxi_nSendFrags @2009 DATA - rx_initReceiveWindow @2010 DATA - rx_initSendWindow @2011 DATA - rx_intentionallyDroppedPacketsPer100 @2012 DATA - rx_intentionallyDroppedOnReadPer100 @2013 DATA - - so they can be referenced from pthreaded builds of src/rx/test tools. - Exported variables must be present in both FREE and CHECKED builds. - - Change-Id: Ia7f3ee0143679bab1ce74f71dc3a996cda1f18a8 - Reviewed-on: http://gerrit.openafs.org/2779 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f1183f16285be040b7150414c9563a9bceb53210 -Author: Jeffrey Altman -Date: Sun Sep 19 09:14:06 2010 -0700 - - Rx: PrintTheseStats should not be dependent on RXDEBUG - - When RXDEBUG is not defined, PrintTheseStats generates an error - even though the statistics are in fact available. The global - variable rx_packetTypes was not being defined without RXDEBUG. - - Make rx_packetTypes defined always and permit statistics to - always be printed. - - Change-Id: Ife708d34b5d56374c8aff9aa7c941d39b37ca4a1 - Reviewed-on: http://gerrit.openafs.org/2778 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 00afdbed0ff474aaf45a49b157843af9cb8483ad -Author: Jeffrey Altman -Date: Sun Sep 19 09:08:42 2010 -0700 - - Rx: move TSFPQ prototypes from rx_globals.h to rx_protoypes.h - - Function prototypes belong in rx_prototypes.h not in rx_globals.h. - - Remove EXT macro from function prototypes as functions do not - require special treatment in order to be exported by a DLL on Windows. - - Change-Id: Ieb617db634f2cfa57410e77e276c703311304547 - Reviewed-on: http://gerrit.openafs.org/2777 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8549ebe0a81ac9a526d13f96ba63e048d8b77aa7 -Author: Jeffrey Altman -Date: Sun Sep 19 09:03:39 2010 -0700 - - Rx: properly compute dataPacketsReSent statistic - - The global dataPacketsReSent statistic should be the sum of all - peer->reSends and dataPacketsSent should not include the count of - resent packets. Prior to this patchset, dataPacketsSent included - the resent packets and dataPacketsReSent was computed as the number - of requests for Ack instead of the number of packets resent. - - Change-Id: I969003f7ec1805d09c14ac342453f86fdb5df99a - Reviewed-on: http://gerrit.openafs.org/2776 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 72cadfd86a0efc0079639671d613005ff403ccc4 -Author: Jeffrey Altman -Date: Sun Sep 19 09:00:57 2010 -0700 - - Rx: always use tservice variable in rxi_ServerProc - - Since tservice has been assigned to call->conn->service, - use it instead of call->conn->service when calling - executeRequestProc(call) - - Change-Id: Id26c4c63f054bcd1e3ef5349900c910e3c9cf2be - Reviewed-on: http://gerrit.openafs.org/2775 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e77c7be7537cbcbee77a297b5b52a6287462462f -Author: Jeffrey Altman -Date: Sun Sep 19 08:57:02 2010 -0700 - - Windows: Release builds of Rx should be lean and mean - - Only build checked builds of Rx with - -DRXDEBUG -DRXDEBUG_PACKET -DRX_TRACK_PACKETS -DRX_REFCOUNT_CHECK - - Change-Id: Ib4666d30b1e48eca172331353d9e376b2516f183 - Reviewed-on: http://gerrit.openafs.org/2774 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 3b4cad3b78ec5df7253067c70e19c066552d7145 -Author: Jeffrey Altman -Date: Sun Sep 19 19:48:57 2010 -0700 - - Rx: Only backoff the peer timeout once - - If a packet is missing, the peer timeout is backed off to provide - a new starting point for timeout computation. The backoff state - must be stored in the peer object to ensure that multiple failures - do not result in more than one backoff before a successfully received - packet is available for recomputation. - - Change-Id: I6794b3a020801ff421e4ed776afb581962b111a9 - Reviewed-on: http://gerrit.openafs.org/2787 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 7d16c8b84ac8cc0251231819bfb0eefc2040322a -Author: Jeffrey Altman -Date: Sun Sep 19 09:47:37 2010 -0700 - - Rx: only compute peer bytes sent and received if rx_stats_active + This commit also changes all callers that did not already handle + afs_linux_raw_open/osi_UFSOpen errors to assert on errors, so we still + panic for all situations where we encounter an error. More graceful + behavior will be added in future commits; this commit does not change + the behavior on its own. - Computing the bytes sent and received is an expensive operation. - If rx statistics collection has been disabled we should not collect - the peer data. The most expensive operation is the rx_FindPeer() - call that is performed during rxi_ReadPacket(). rxi_ReadPacket() - is processed by the rx listener thread which must be as fast as + An error on opening cache files can legitimately happen when there is + corruption in the filesystem backing the disk cache, but possibly the + easiest way to generate an error is if the filesystem has been + forcibly mounted readonly (which can happen at runtime due to + filesystem corruption or various hardware faults). The latter will + generate -EROFS (-30) errors, but of course other errors are probably possible. - Change-Id: I5403c88aa85f9049fe50a9c1f3dbaad7d8b802bd - Reviewed-on: http://gerrit.openafs.org/2782 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c59ce29602086f795d5fbaef6a5f88fae9dd2dea -Author: Jeffrey Altman -Date: Sun Sep 19 09:35:03 2010 -0700 - - Rx: avoid lock churn in rxi_ReceiveAckPacket - - rxi_ReceiveAckPacket can acquire and drop the conn_data_lock several - times and acquires and drops the peer_lock unnecessarily. This patchset - adds a variable to track whether the conn_data_lock is held in order - to avoid the need to drop it and reacquire it based upon conditional - operations. It also relocates the peer->maxPacketSize computations - in order to consolidate the work performed under the peer_lock. - - Change-Id: I0bc9e42e8ef198a04315f9f2df529073ce9dfd03 - Reviewed-on: http://gerrit.openafs.org/2781 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 449976acd54ff46fd6cdb9a6e12acf3789665bcf -Author: Jeffrey Altman -Date: Sun Sep 19 08:28:21 2010 -0700 - - Rx: Build rxperf test application on Windows - - rxperf made assumptions that it was built against LWP, used buffer - sizes for read/write that were too small, made use of non-portable - types, and set signal handlers that are unsupported. - - Change-Id: I55515cac0f441116df7fd0aaf100fb3ae99b220f - Reviewed-on: http://gerrit.openafs.org/2773 + Reviewed-on: https://gerrit.openafs.org/13045 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6152b5322e2b1699252c04c757a2013c2e3c8939 -Author: Simon Wilkinson -Date: Sat Sep 11 23:17:24 2010 +0100 - - viced: Don't fall back to tokens + Reviewed-by: Benjamin Kaduk + (cherry picked from commit f6af4a155d3636e8f812e40c7169dd8902ae64be) - I can't think of any circumstances in which it is appropriate for - the fileserver to fallback to using tokens from the kernel, rather than - those generated from keys on disk. So, remove that fallback. - - Change-Id: I92b8987ce63759234d238812a8fe998daed4c20f - Reviewed-on: http://gerrit.openafs.org/2758 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ebbb9253438f6051cdb7ba2974554f4793b8bae2 -Author: Simon Wilkinson -Date: Sat Sep 11 08:21:10 2010 +0100 - - ubik: Remove unused error codes - - The error codes in ubik.p.h have been replaced by ones defined by - com_err. Remove the redundant, #if 0, definitions of these, as they're - just confusing when grepping the code. - - Change-Id: I18b827a6e0532a602f904bb6c1e34c3f63c2e08d - Reviewed-on: http://gerrit.openafs.org/2757 - Reviewed-by: Andrew Deason - Reviewed-by: Rod Widdowson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c38fea29c5daefd35800eda63f0dcef56eb74357 -Author: Marc Dionne -Date: Sat Sep 11 13:19:47 2010 -0400 - - rxgen, kauth: Set but not used variables - - Remove a few variables that are not actually used, and the - associated code. - - foundcurrentkey is only used in the AUTH_DBM_LOG case, so - scope the declaration and assignment accordingly. - - Spotted by gcc 4.6 - - Change-Id: I281ca37488e69bfe46a8e63bdc5990f5f3cff940 - Reviewed-on: http://gerrit.openafs.org/2734 - Reviewed-by: Jeffrey Altman - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f4814575629d4565f408507c07e3dd711b26661c -Author: Simon Wilkinson -Date: Sat Sep 11 20:49:55 2010 +0100 - - ptserver: Merge WhoIsThis and WhoIsThisWithName - - The functions WhoIsThis and WhoIsThisWithName are pretty much identical, - with WhoIsThisWithName just having additional logic for foreign user - registration. Merge them together, so that there's only one copy of - the code for determining who a user is. - - Change-Id: Ia6e62ae932219f29e3141fe3c94b4be0110ca17a - Reviewed-on: http://gerrit.openafs.org/2756 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a4ec68691869deaf12a6fe405394bba2c9003fb9 -Author: Simon Wilkinson -Date: Sun Sep 12 18:41:21 2010 +0100 - - Add additional dependencies for shlibafsrpc - - fsint and rxstat need to be build before shlibafsrpc, so add them - to the dependencies list. - - Change-Id: I47b551de13f6f860cee9f6c09a769de472b3ec3f - Reviewed-on: http://gerrit.openafs.org/2755 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 10bb4b31038c967ce5f9dd2f0e54ffd7bfe18daf -Author: Simon Wilkinson -Date: Mon Sep 13 08:54:55 2010 +0100 - - userok: Don't double check for expiry - - rxkad_GetServerInfo returns an error if you attempt to get server - information using a connection whose tokens have already expired. - - The additional check for expiry in the userOK routines is therefore - not required - they'll never be reached, because GetServerInfo will - already have errored out. - - Change-Id: I7b1a97249d40b12a2aae4009971a9b676700870e - Reviewed-on: http://gerrit.openafs.org/2753 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 45b99383649047c24c0c8e789b1e450aadb55d47 -Author: Simon Wilkinson -Date: Sat Sep 11 16:39:23 2010 +0100 - - auth: Restructure userok - - Restructure the userok logic in auth to split it into smaller functions, - and abstract out common code. This will make it easier to add support - for other security layers in future commits. - - Change-Id: I64f6e053ad1a6a2054630a400f7499d805bb9838 - Reviewed-on: http://gerrit.openafs.org/2752 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 34df5da39871ae5231048a416f191784c5c2d127 -Author: Simon Wilkinson -Date: Sat Sep 11 12:51:52 2010 +0100 - - rx: Call rxgen_consts.h by its proper name - - rxgen_consts.h is actually in the afs/ directory. Include it from - their, rather than requiring that every user have $(TOP_INCDIR)/afs - in their search path. - - Change-Id: Ia3faf4c08bd69cb64652b8c1ab722c49179667c8 - Reviewed-on: http://gerrit.openafs.org/2750 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 84d28ecf9d68852152cad1039042e10e38075a29 -Author: Simon Wilkinson -Date: Sat Sep 11 10:17:12 2010 +0100 - - tokens: Use the new tokens interface - - Change tokens so that it will use the new tokens interface. - - Note that this changes the output from the tokens command. - - Change-Id: If15d7d439b86a89afcafafe65d304324a186b8d3 - Reviewed-on: http://gerrit.openafs.org/2749 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a86ad262d2a8be36f43ab0885a84dde37ddfc464 -Author: Simon Wilkinson -Date: Sat Sep 11 10:11:57 2010 +0100 - - auth: Add the ktc_ListTokensEx function - - Add a ktc_ListTokensEx function which uses the new GetToken pioctl - to implement the same functionality as the old ktc_ListTokens call. - - As with ktc_ListTokens this is hugely inefficient, as it gets a - compelete token structure from the kernel, then throws it away to - return just the cell which the token is for. - - Change-Id: Idf3daa536c6a04d397691d0cc6fcb2c59f9f444c - Reviewed-on: http://gerrit.openafs.org/2748 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5c3a1ed88de16db4c2081bbf1a4e397ce459bcf3 -Author: Jeffrey Altman -Date: Sun Sep 19 08:03:50 2010 -0700 - - Rx: Move rxperf test application to src/rx/tests - - rxperf is a test application. Move it to the tests directory - - Change-Id: I946a8026760d860667ea5707d8a3e0d3b895d908 - Reviewed-on: http://gerrit.openafs.org/2772 + Change-Id: I5f9a71a96cd9c875f4b024562dfa714f9cc27e2f + Reviewed-on: https://gerrit.openafs.org/13071 + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk Tested-by: BuildBot - Reviewed-by: Derrick Brashear -commit 7ded3209a2fbd8d0108f9322d708551e93b6ef76 -Author: Jeffrey Altman -Date: Sun Sep 19 09:20:01 2010 -0700 +commit 5b9da66861db10dcc1d896769b495738cc07b450 +Author: Jeffrey Altman +Date: Fri Feb 23 18:47:46 2018 -0500 - Rx: cleanup testclient and testserver test applications + rx: connection aborts send serial zero when no conn available - Permit testclient and testserver to be built on Windows as - pthreaded applications. + When no connection object is available, send serial number zero (0) + instead of one (1). There is no harm in sending one (1) but it might + be confused as the first packet sent on the connection. Multiple + connection aborts sent would all be sent with serial one (1). - Remove warnings. Fix prototypes. Remove variable declarations - for rx library variables defined in rx_globals.h. + Serial number zero (0) can be an indication to humans reading packet + traces that the sender has no knowledge of the connection. - Increase the buffer sizes. Disable use of packet dropping when - the library is built without RXDEBUG. - - Change-Id: Ic8483eb64cbed4958baf8fd054e01c7c40832599 - Reviewed-on: http://gerrit.openafs.org/2780 + Reviewed-on: https://gerrit.openafs.org/12932 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 97c317c2ccb80b1d183275258999adecb66fe5d2 -Author: Simon Wilkinson -Date: Wed Sep 8 08:12:41 2010 +0100 - - authcon: Use ktc_GetTokenEx in ClientAuthToken + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 09f31d4c21328bcdc1dccdedf7df53d77c22e3e3) - Use ktc_GetTokenEx, and the related token utilities to check for a - users tokens, rather than using the legacy ktc_GetToken - - Export the necessary symbols from libafsauthent on Windows to be able - to do this. - - Change-Id: I475587d88d9a480c66b4e8484cc595ea984340a3 - Reviewed-on: http://gerrit.openafs.org/2747 + Change-Id: Ie5b8052903307be4bc932e57e45efae7dd75dec8 + Reviewed-on: https://gerrit.openafs.org/13051 + Reviewed-by: Michael Meffie + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear -commit 209d8c367756cf0e0bad5b3d35bdc6b25d7b485d -Author: Jeffrey Altman -Date: Thu Sep 16 02:48:30 2010 +0200 +commit 36575f909b5e655d78ee0eda691550cb153860c9 +Author: Jeffrey Altman +Date: Fri Feb 23 18:26:24 2018 -0500 - Windows: Add new token interface with stub for ktc_GetTokenEx + rx: pass serial number to rxi_SendRawAbort - The Windows build was broken by the addition of dependencies on - token_FreeSet, ktc_GetTokenEx, etc. Permit the build to continue. - The ktc_GetTokenEx implementation will depend on the creation of - a new Windows pioctl for the call. + The practice of stamping abort packets with the connection's next + serial number was altered by a0ae8f514519b73ba7f7653bb78b9fc5b6e228f8. - Change-Id: I1c486af0beda10a2d846dc6bdff8c6195031dbe7 - Reviewed-on: http://gerrit.openafs.org/2765 + This change restores the prior behavior by passing a serial number + as a parameter to rxi_SendRawAbort() so that the serial number can + be obtained from the connection instead of hard coded as 1. + + Reviewed-on: https://gerrit.openafs.org/12931 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 94aa0f0860653ca4431ed1a6adaee10ef731be21 -Author: Simon Wilkinson -Date: Thu Sep 16 07:09:20 2010 +0100 - - Rename kauth/token.c as kauth/katoken.c + Reviewed-by: Benjamin Kaduk + (cherry picked from commit cacf2b646759132dbf21e9c04fb3cfc6c2f8f1f3) - The kauth 'token.c' collides with the same file in auth when doing - Windows builds. As kauth is the legacy package, rename its source - file, and update the build system to take account of this. - - Change-Id: Ib99ef6674a4bfd6a2810b417b34bdc564b3533dc - Reviewed-on: http://gerrit.openafs.org/2766 + Change-Id: I36925d4283ba0aaedc7bee0e878d0e18d9aa23a7 + Reviewed-on: https://gerrit.openafs.org/13050 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk -commit 019ee226cbdf08f5d42298b8e8358660f839f77e -Author: Simon Wilkinson -Date: Sat Sep 4 15:29:03 2010 +0100 +commit 8fa929c4cb72f07816b7ab09fcf3c8af6bc4d65d +Author: Stephan Wiesand +Date: Thu Apr 26 19:33:31 2018 +0200 - RX: Make rxi_Alloc return (void *) + redhat: Make separate debuginfo for kmods work with recent rpm - rxi_Alloc returns a pointer to an anonymous data block. Make its - return value (void *) rather than (char *), so that it can be - called in the same way as malloc(), and not require casting. + Commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 introduced the + creation of separate debuginfo packages for kmod packages, and + commmit 387ae9536888419d7b101513e04e1c644e3218d6 moved the code + from the spec into the kmodtool script. - Change-Id: Ib3094ad0273c62a4430eb56d35e3df68a550d338 - Reviewed-on: http://gerrit.openafs.org/2738 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ff100901e0da8d236c7ae8b4d478600146d8f182 -Author: Simon Wilkinson -Date: Sun Sep 12 12:07:59 2010 +0100 - - Linux: print after BUG() is pretty useless + Recent versions of rpm (the issue was found on Fedora 27) extract + the debuginfo data from a copy of the original files having the + package version-release as a suffix. This broke the original + change since the regular expression passed to find-debuginfo.sh + no longer matched the name of the openafs.ko file. The file list + for the -debuginfo package remained empty, which caused rpmbuild + to fail. - Calling BUG() panics the machine, so having a print statement with - further debugging information after it doesn't help much. + Relax the regex to match the previous and current file names we + are after. It is possible but unlikely that .*openafs\.ko.* will + ever match any file not being a kernel module. - Swap the ordering, so we at least see the message. - - Change-Id: I3aa3b8ba5faaa40cef7bb046093b322212eea2b8 - Reviewed-on: http://gerrit.openafs.org/2754 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit bc56f5cc97a982ee29219e6f258b372dbfe1a020 -Author: Andrew Deason -Date: Tue Sep 14 12:15:22 2010 -0400 - - volser: Delete timed-out temporary volumes - - When a transaction times out on a volume, delete the volume if it is a - temporary volume (destroyMe is set). This prevents half-created - volumes from accumulating, which can take up space and screw up - certain vol ops in some versions. - - Change-Id: I94e9adc767b84a2a32d980f508af33b823560950 - Reviewed-on: http://gerrit.openafs.org/2760 - Tested-by: Andrew Deason + Reviewed-on: https://gerrit.openafs.org/13030 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8fd83543b60aefb4b7c5a0116d1538a89f58bbb3 -Author: Andrew Deason -Date: Wed Sep 15 12:19:33 2010 -0400 - - libafs: Fix pioctl get/putInt alignment issues + Reviewed-by: Michael Meffie + Tested-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 076b73e06df8240f209470ea6ee19b66eb4166c3) - We don't know if the buffer for pioctl data is aligned to anything, so - we can't just dereference the given pointer as an int or anything - else. So, just memcpy the data in for ints and such; conveniently, - afs_pd_getBytes and afs_pd_putBytes can do this for us, so just use - that. - - Change-Id: Id1abdae55308db6fe1e13f541a5d776daa6af934 - Reviewed-on: http://gerrit.openafs.org/2763 - Tested-by: Andrew Deason + Change-Id: Ib8a683d586ad3bd5237f27546a95ce92dd9de04f + Reviewed-on: https://gerrit.openafs.org/13036 + Reviewed-by: Michael Meffie Tested-by: BuildBot - Reviewed-by: Derrick Brashear + Reviewed-by: Benjamin Kaduk -commit ee3538218d342bb74ab849763421b9ec075251b3 -Author: Marc Dionne -Date: Fri Sep 10 19:55:39 2010 -0400 +commit a83c74471644cc1f0d39de86cd5a1c54a4d594e7 +Author: Stephan Wiesand +Date: Thu Apr 26 19:50:06 2018 +0200 - vlserver: Set but not used variables + redhat: PACKAGE_VERSION macro no longer exists - Remove some variables that are set but never used in the vlserver - directory: - - n1,n2,n3 and n4 in vlclient.c appear to have never been used even - in the original IBM code - - some variables in vldb_check.c that are no longer used after some - recent changes + Commit 0d0e7699c9f789214205fe6837cded1a4c95f9c0 replaced all uses + of the %PACKAGE_VERSION macro in the spec with the %version one, but + missed an instance in the kmodtool script. Fix this, to avoid a + warning during rpmbuild. - Spotted by gcc 4.6 - - Change-Id: Icd9e7da151b3a485c917ed5bd99eb26998dfa818 - Reviewed-on: http://gerrit.openafs.org/2784 + Reviewed-on: https://gerrit.openafs.org/13031 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit f1796b0f4ad0202ad32e06bb849f443984cf22b5 -Author: Marc Dionne -Date: Sat Sep 11 13:23:11 2010 -0400 - - butc: Set but unused variables + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit cfa74883e4996dfee2bd6ffaa3b967e5a7941e0b) - Remove unused variable taskId - - writeData() systematically returns 0, so make it void and adapt - call sites that assigned the return value but never used it. - Also move the function up in the file to avoid the need for a - forward declaration, and make it static since it's only used here. - - Spotted by gcc 4.6 - - Change-Id: I2f61c0395796498175f2cb9131066b00657f99a7 - Reviewed-on: http://gerrit.openafs.org/2785 + Change-Id: I2d57ddc3700f509da3255df1f952f55d8cd7f0e8 + Reviewed-on: https://gerrit.openafs.org/13037 + Reviewed-by: Michael Meffie Tested-by: BuildBot - Reviewed-by: Derrick Brashear + Reviewed-by: Benjamin Kaduk -commit b6d478c2159bb1baed034fc031a43742d5db0298 -Author: Andrew Deason -Date: Wed Sep 15 14:40:19 2010 -0400 - - libafs: Fix compile errors in afs_nfsclnt.c - - - tokenUnion is a union, not a struct - - - 'struct rxkadToken' typo - - - 'tokenPtr' not 'tokenptr' - - Change-Id: I7e0fa4f2d34ba4bd68345e9625f40d1d7301411e - Reviewed-on: http://gerrit.openafs.org/2764 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - -commit 6d118a03664880782730716b1daef1fc63d95540 -Author: Marc Dionne -Date: Sat Sep 11 12:14:09 2010 -0400 - - vol: Set but not used variables - - Fix some set but unused variable warnings in the vol directory. - - In VDetachVolume_r, much of the code and variables are only - useful in the FSSYNC_BUILD_CLIENT case. Scope the code - accordingly. - - forcefree is only used in the AFS_DEMAND_ATTACH_FS case, so - scope code that sets it accordingly. - - Spotted by gcc 4.6 - - Change-Id: I345db6c9aba2d433ccbbc33fdc10d716c06b913c - Reviewed-on: http://gerrit.openafs.org/2786 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb -Author: Marc Dionne -Date: Thu Jul 1 11:38:20 2010 -0400 - - Linux: normalize error return for emulated syscalls - - pagsh and other code expect setpag() and pioctl() to behave like - a regular syscall or pioctl, that is to return -1 on error, with - errno set to the specific error code. - On Linux, the underlying emulation does a straight return of any - error code it gets from the ioctl, and errors are not properly - caught by the callers. - - As an example, pagsh won't detect an error from setpag such as - exceeding a keyring quota limit. With this patch, the user - will see this: - - $ pagsh - setpag: Disk quota exceeded - sh-4.1$ - - The code in proc_afs_syscall is modified to set errno to the error - code and to set errorcode to -1 in case of error. - - proc_afs_sycall is reindented while we're changing code there. - - FIXES 126230 - - Change-Id: I945f2d28eb0ae26c7f42502c90eb2e6e95c29a58 - Reviewed-on: http://gerrit.openafs.org/2770 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4bbf0dae237e01127f4d1a4d913f00e8dad859a3 -Author: Derrick Brashear -Date: Wed Sep 15 04:26:13 2010 -0400 - - disable Rx packet tracking - - minimize the impact of Rx packet tracking. in particular, do no - extra queue scans, which means the rest of the state which tracks - where a packet is now isn't of use. make it possible to re-enable. - - Change-Id: I5b9ed039a0394edcea48bb46729cd2ce2f71d4b9 - Reviewed-on: http://gerrit.openafs.org/2762 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit e90b19e008ec8bc6e9eb308c671d45781b7b5a46 -Author: Steve Simmons -Date: Sat Sep 4 12:14:17 2010 -0400 - - Automatically find all pod.in files and generate .pods files - - Change-Id: I9334ed4fde8df63f278b6ef07bc0eddebfc71bf0 - Reviewed-on: http://gerrit.openafs.org/2720 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b2d067a913d3c2e5dbfe756b7752ade308f967c1 -Author: Andrew Deason -Date: Wed Sep 8 14:32:35 2010 -0500 - - DAFS: raise vhashsize limit - - Raise the maximum specifiable vhashsize to 28 (from 14). Specifying a - vhashsize over 14 can be reasonable if you expect to have a few - million volumes on a fileserver. - - Change-Id: I90b17209fa25032f6e2bdec9abf80e578fc9b486 - Reviewed-on: http://gerrit.openafs.org/2725 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 575bdaf56e8f5503513bec113653fbbe525ae228 -Author: Andrew Deason -Date: Thu Sep 2 12:56:28 2010 -0500 - - DAFS: Do not ignore out-of-range -vhashsize - - If the specified -vhashsize is out of the 6-14 range, do not just - ignore it. Instead, note the error and quit. - - Change-Id: I2a26443bbd3a91183435a26562bea48b8b6a1eda - Reviewed-on: http://gerrit.openafs.org/2649 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit e0708617b8f5df625b6ad62920665e704f1374f7 -Author: Marc Dionne -Date: Sat Sep 11 10:46:50 2010 -0400 - - Always check return code from iod_Write - - The return code from iod_Write is checked at every call site - in the file, except this one. Check it, and return VOLSERDUMPERROR - if appropriate. - - Spotted by a set but unused warning from gcc 4.6 - - Change-Id: I84f38a4b3b1e37c25be9c76702b0d2818058454e - Reviewed-on: http://gerrit.openafs.org/2733 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a8cf472fd1723fa0e5f4edc34e470443c941f017 -Author: Marc Dionne -Date: Sat Sep 11 14:57:17 2010 -0400 - - rx: Set but not used variables - - Remove some unused variables in the rx code. - These generate warnings with gcc 4.6. - - Change-Id: I1e19c82cd05bcd47a65d77079019f1f0b6704826 - Reviewed-on: http://gerrit.openafs.org/2732 - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 585a0758dfd1c45551cba4d9088d4938422dfcc7 -Author: Simon Wilkinson -Date: Sat Sep 11 23:14:42 2010 +0100 - - auth: Make token_FreeSet work on an empty set - - If the set passed to token_FreeSet is already freed, just - make the funciton a no-op, rather than segfaulting. - - Change-Id: I41342d1c7bd94bcf20ad67407b28d9ffcccf3c07 - Reviewed-on: http://gerrit.openafs.org/2751 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 33ce7a9308c8a71fbfcea82a935e32521031f48d -Author: Simon Wilkinson -Date: Sat Sep 11 12:43:35 2010 +0100 - - Linux: Move keyring includes where they're needed - - We don't need the keyring headers in every file, so reduce - namespace pollution by just including them in osi_groups.c, which is - the only place that uses them. - - Change-Id: I1f8af43439d63bec4df278209d2bb5c86b1c4d05 - Reviewed-on: http://gerrit.openafs.org/2746 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 418581a6be6f5b6bf179e9e083b29782bcdd5add -Author: Simon Wilkinson -Date: Thu Sep 9 09:14:30 2010 +0100 - - shlibafsrpc: Export additional symbols - - Export additional symbols from shlibafsrpc. These symbols are required - in order to be able to produce dynamically linked security modules that - interface with libafsrpc. - - Change-Id: Ic221522a10be6714835dc37dbeee22dfd3b728cc - Reviewed-on: http://gerrit.openafs.org/2745 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 290204c6e92d61c5b12b90d09e8202731caa0400 -Author: Simon Wilkinson -Date: Wed Sep 8 08:24:55 2010 +0100 - - Ignore *.dSYM files in working directory - - Failed Mac OS X debugging builds leave *.dSYM directories lying - around the tree, which just litter the contents of "git status". - - So, ignore them. - - Change-Id: Ic2b79f299d724b770bf83cb24f2aac7c4063efdb - Reviewed-on: http://gerrit.openafs.org/2744 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4a353545c3f0e91cc85d7feb379997a1eda9f6e3 -Author: Simon Wilkinson -Date: Wed Sep 8 08:22:57 2010 +0100 - - Add config.log to gitignore globally - - When you end up explicitly regenerating chosen Makefiles by - running ../../config.status Makefile, the working tree ends up littered - with config.log files. - - Currently, we only ignore config.log in the top directory - extend this - so that it's ignored across the tree. - - Change-Id: If3cfec82fbf78e97ee769b36315ba23dcfe8a950 - Reviewed-on: http://gerrit.openafs.org/2743 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 0aa435c5f9b91fca111a92c6559b861c5d451d04 -Author: Simon Wilkinson -Date: Wed Sep 8 08:31:02 2010 +0100 - - auth: Add a gitignore file for the test directory - - The auth/test directory is optionally built, and so had missed getting - a .gitignore file. Add one now. - - Change-Id: I0cd49d05446871a250f93123435c4b2ac19e45e5 - Reviewed-on: http://gerrit.openafs.org/2742 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 95ac23fcddcd8ca7fbb224a75374250f88defefa -Author: Simon Wilkinson -Date: Thu Sep 9 09:04:21 2010 +0100 - - pam: Remove unused library definitions - - Change-Id: I7db8d50b27c0135e89ef15db9302f452e01c8b8a - Reviewed-on: http://gerrit.openafs.org/2741 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5bc4b4956509256e8cf13bd04e4615ee2cb31c65 -Author: Simon Wilkinson -Date: Mon Sep 6 09:38:47 2010 +0100 - - aklog: Fix some format warnings - - Fix some format warnings (size_t vs int) which only appear when we're - building with Heimdal. - - Change-Id: I7313ea1a7e01532b11fc6039a8a56e0fd874c347 - Reviewed-on: http://gerrit.openafs.org/2740 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 696e1c015eeef259451c101813b9e930e402cb49 -Author: Simon Wilkinson -Date: Mon Sep 6 09:37:23 2010 +0100 - - aklog: Fix weak_crypto tests - - The tests for the various ways of enabling weak cryptography fail - with current Heimdal master, because it defines krb5_allow_weak_crypto - but does not prototype it. - - Fix this by testing for the Heimdal version (which MIT does not provide) - first, and only if that's not available, try to use allow_weak_crypto. - - Change-Id: I559d5fd40c196fefc947dd0f7b10ed78fbd2c7e6 - Reviewed-on: http://gerrit.openafs.org/2739 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 71171262602d7f261adbffd5047266e94c4a6f92 -Author: Simon Wilkinson -Date: Wed Sep 1 11:09:46 2010 +0100 - - RX: Make the sample client and server build - - Make the RX sample client and server build again - - Change-Id: I81ce12eadcb4150dd503e41f9a7fd1a850d31a11 - Reviewed-on: http://gerrit.openafs.org/2737 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 6380213d296c138349c77fa4a51655fac23cfeea -Author: Simon Wilkinson -Date: Sat Sep 11 08:25:15 2010 +0100 - - vlserver: Use com_err for Ubik error messages - - Use com_err to return a sensible string, rather than just an error code, - for errors with Ubik initialisation. - - This has the specific benefit that the error when the database directory - doesn't exist, or isn't readable, becomes - - Ubik init failed: file not found when processing dbase" - rather than - Ubik init failed with code 5382 - - Change-Id: I5f770377668a7f545cad7e422f28afd7c9f9888d - Reviewed-on: http://gerrit.openafs.org/2735 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d69914a5f0580f8048072d3b734558ea5b7b2df5 -Author: Marc Dionne -Date: Thu Sep 9 21:02:05 2010 -0400 - - Warning fix for gcc 4.5 "operation may be undefined" warnings - - The inc_header_word and set_header_word macros make repeated use of their - argument, which triggers many (~30) warnings with gcc 4.5, like this one: - - ./ptutils.c:473:6: warning: operation on ā€˜cheader.foreigncountā€™ may be undefined - - Removing the cast to afs_int32 in the macros gets rid of the warning, - and should be safe since we're just getting a small positive integer value - - the offset of the member in the structure - and passing it to the - pr_Write function which expects an afs_int32. - - Change-Id: Ie493520f874cddbb4b7f9f7ebe4b3922a848d0d0 - Reviewed-on: http://gerrit.openafs.org/2729 - Tested-by: Marc Dionne - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 51806bd21af5bcc70c27cda5787ae853fa3f495e -Author: Andrew Deason -Date: Fri Sep 10 11:17:40 2010 -0500 - - udebug: Always show tidCounter - - If the queried site doesn't have an active write transaction, - currently udebug doesn't show the tidCounter. The tidCounter can still - be useful to know (especially since some sites will become buggy when - tidCounter rolls over), so always show it. - - This adds the "The last trans I handled was" message to udebug. - - Change-Id: I10d9ab6ff07188d17df4d8022adf8bb125eb772a - Reviewed-on: http://gerrit.openafs.org/2730 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f2df207274c65b4fa8c24419150e9084a4d17fca -Author: Andrew Deason -Date: Thu Sep 9 14:10:01 2010 -0500 - - namei: Do not remove n_voldir1 - - When removing data directories in namei_RemoveDataDirectories, do not - remove the n_voldir1 directory (directory X in /vicepa/AFSIDat/X). - Removing this directory can race against the creation of an entirely - unrelated volume, causing the create op to fail (since it tries to - create a directory in a directory that no longer exists). - - We don't currently have the necessary locking to make this safe, and - since the overhead of n_voldir1 existing is pretty negligible, just - leave it there. Also add some comments briefly justifying this. - - Note that other similar races probably exist for directories under - n_voldir1, but they would only be between volumes in the same VG, and - so are much less likely to occur. - - Change-Id: I5eac894cdbdb3fd1d74d8a0fc226df03686ceeef - Reviewed-on: http://gerrit.openafs.org/2727 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 92ff0028f2e6a2f24dd5369f9b31e9852bf92abc +commit b65f3bf787ed2b61aa06c9282f154653c41355dd Author: Michael Meffie -Date: Thu Sep 9 15:22:29 2010 -0400 +Date: Thu Apr 5 23:43:34 2018 -0400 - manpage correction for restorevol -file option + redhat: remove the openafs-kernel-version.sh script - The restorevol -file option specifies which file to read. + Commit ec706b21530240d7fb66bad2f08513eff8f7c335 (Remove Linux 2.4 compat + from RedHat packaging) removed the use of the script + openafs-kernel-version.sh, which was used in the linux 2.4 days to look + up the current kernel version. Nowadays, we use the openafs-kmodtool + script to determine the kernel version. - Change-Id: I5c03eaaf8bf82fc6d3fb83ff08e8278257e7b65f - Reviewed-on: http://gerrit.openafs.org/2728 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 31bb2e5eb5feb9c8e84d17b49fe70268127cdd43 -Author: Andrew Deason -Date: Thu Sep 2 11:25:27 2010 -0500 - - vol: Add VInit cond var and remove busywaits + Remove the unused openafs-kernel-version.sh script from the package + sources. - In DAFS, FSYNC_sync was waiting for VInit to reach at least 2 by - looping around pthread_yield(). For a server with a large number of - volumes, it can take a while for volumes to preattach, and so we are - effectively busy-waiting for preattach to finish. This can slow - fileserver startup and peg the cpu. - - So instead, add a condition variable for when VInit changes, and wait - on that. Also modify other checkers of VInit to use the cond var. - - Change-Id: Icc251fdf7d525d40a9db1938a9cb4d47a74dccba - Reviewed-on: http://gerrit.openafs.org/2648 - Tested-by: Andrew Deason + Reviewed-on: https://gerrit.openafs.org/12996 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 1ca0a24775794ba2e645854a3bbaa656f2fc8086 -Author: Andrew Deason -Date: Thu Sep 2 15:05:21 2010 -0500 - - namei: Limit traversal when removing data dirs + Reviewed-by: Stephan Wiesand + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 28ea20d03f8abd8109547d6825edad159748397a) - namei_RemoveDataDirectories currently calls delTree with 'tree' - pointing to the part of the path immediately following n_base (i.e. - starting at the beginning of n_voldir1). This causes delTree to - traverse all of n_voldir1, trying to delete every directory it finds. - - Since we are typically only trying to remove a single volume when - calling namei_RemoveDataDirectories, instead call delTree with 'tree' - pointing to immediately after n_voldir1, and beginning at n_voldir2 - and try to just rmdir n_voldir1 afterwards. This way, we do not - traverse a large fraction of the entire partition when just trying to - delete a single volume, and so can significantly speed up volume - removals. - - Change-Id: I79d69e7f3d1b691ec1d55e02ee5e93c0a927cffe - Reviewed-on: http://gerrit.openafs.org/2651 - Tested-by: Andrew Deason + Change-Id: I8d85ad57e1202f190c1a88812b4532b9642597f5 + Reviewed-on: https://gerrit.openafs.org/12999 + Reviewed-by: Benjamin Kaduk Tested-by: BuildBot - Reviewed-by: Derrick Brashear -commit 41acfb91fa7fefae1f9a69aadc187a1403ec5827 -Author: Steve Simmons -Date: Tue Sep 7 17:38:27 2010 -0400 - - Add new file src/venus/cacheout to things that should be ignored. - - Change-Id: I57dec46b954ad4c4252997a0dec1db8e2090289b - Reviewed-on: http://gerrit.openafs.org/2719 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f8ff458ef02d5ef49bc467304e40571d871385c8 -Author: Derrick Brashear -Date: Tue Sep 7 20:31:20 2010 -0400 - - ubik recovery and remote use correct file number - - the file propagation "out of band" changes should not hardcode recovery - on file 0, but instead work on any file the interface is acting on. - use the provided file number. - - Change-Id: I713671beaab01630bdd21d733f950f75c6456ac3 - Reviewed-on: http://gerrit.openafs.org/2715 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 99811e3e5faf5917975d7ec3c3d16e2ed9a5bf50 -Author: Jeffrey Altman -Date: Tue Sep 7 14:35:22 2010 -0400 - - Windows: 1.5.77 Change Log summary - - Change-Id: Ic0362956470ddb76fac64d21927b3e51b7980ea6 - Reviewed-on: http://gerrit.openafs.org/2710 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 19f50c13b4542cc84c33eaca4b2cc6ac0b75eb98 -Author: Jeffrey Altman -Date: Tue Sep 7 08:21:12 2010 -0400 - - Windows: Improve SMB detection of Local System account - - Depending on the authentication method, the smb session authenticated - name for the "local system" account may be the nul string. In this - case it is impossible to use the name to determine if the authenticated - entity is the "local system" account as required by smb_SetToken. - To work around this problem, smb_AuthenticateUserExt() will now obtain - the Security Identifier (SID) for the authenticated account. The string - representation of the SID will be used in place of the name by - smb_ReceiveV3SessionSetupX() when constructing the smb_user_t object. - A new flag, SMB_USERNAMEFLAG_SID, indicates when the name is in fact - a SID. - - smb_userIsLocalSystem() checks for the SMB_USERNAMEFLAG_SID flag and - performs a SID comparison when it is set. - - smb_SetToken() will accept either MACHINE\user or a SID string as - the smbname. It will obtain the SID if possible and create a SID-based - smb_user_t. - - It is possible that a SYSTEM service will use an anonymous (S-1-5-7) - SMB connection. In that case, we also check the RPC Impersonation - SID to see if it is SYSTEM. If so, the RPC identity supercedes the - SMB identity for SetToken. - - smb_IoctlRead, smb_IoctlV3Read and smb_IoctlRawRead are now all - consistent with regards to name processing. - - Fixed a couple of comments as well. - - FIXES 128022 - - LICENSE MIT - - Change-Id: I8f9ccd4a4dddea52d151288855c7e129e2f31b28 - Reviewed-on: http://gerrit.openafs.org/2709 - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit de441ba420b8fc38ce1b36bee06097f21cc6514b -Author: Jeffrey Altman -Date: Fri Sep 3 00:02:17 2010 -0400 - - Windows: revise NTSTATUS response for ALLBUSY, ALLOFFLINE, and ALLDOWN - - Replace STATUS_IO_TIMEOUT with RPC_NT_SERVER_TOO_BUSY for CM_ERROR_ALLBUSY. - - Replace STATUS_PATH_NOT_FOUND with RPC_NT_SERVER_UNAVAILABLE for - CM_ERROR_ALLOFFLINE and CM_ERROR_ALLBUSY. - - These errors provide a more meaningful message to end users when - a failure occurs. - - LICENSE MIT - - Change-Id: I34483f8f696285477fa0f8a8dac3b0ff33dee6b4 - Reviewed-on: http://gerrit.openafs.org/2663 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 1ef135110b7d850e2c40bbbb6b7de69c76872fa9 -Author: Jeffrey Altman -Date: Thu Sep 2 21:17:24 2010 -0400 - - Windows: Modify signature of buf_CleanAsync and buf_CleanAsyncLocked - - The buf_CleanAsync() and buf_CleanAsyncLocked() signature does - not include a cm_scache_t pointer even though buf_CleanAsyncLocked() - needs a pointer to the matching cm_scache_t object. There are - some calls when the cm_scache_t object is already known. For those - cases it is more efficient to avoid the additional lookup especially - when buf_CleanAsync*() is being called on every buffer associated - with the cm_scache_t object. - - At the same time add a flags field and a constant - CM_BUF_WRITE_SCP_LOCKED to permit the lock state of the cm_scache_t - to be passed in. - - Finally, fix up the usage in buf_FlushCleanPages() which gains - the most from these changes. - - LICENSE MIT - - Change-Id: I3726441ff83a89e24d790174ca71396d633f1be6 - Reviewed-on: http://gerrit.openafs.org/2662 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit fa961c02fbb7dc54fa4c02c38dfd07c44eb696d3 -Author: Jeffrey Altman -Date: Thu Sep 2 21:05:15 2010 -0400 - - Windows: Permit cm_scache rwlock to be dropped when "Stablized" - - The cm_buf_opts_t cm_BufStabilize() function was implemented - such that holding the cm_scache_t.rw lock had to be exclusively - held until cm_BufUnstablize() was called. Unfortunately, this - prevents using Stabilize/Unstabilize to protect the cm_scache_t - during Flush operations as the cm_scache_t.rw lock must be - acquired after the cm_buf_t mutex and not before it. - - This patchset reimplements the synchronization logic using - the new CM_SCACHEFLAG_SIZESETTING flag and cm_SyncOp(). - - LICENSE MIT - - Change-Id: Iaada83f7f3b75bb3b213b33b2399e900e48a2fbc - Reviewed-on: http://gerrit.openafs.org/2661 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit ee26ce51f67c7a91d843184374240bbc29e1660b -Author: Jeffrey Altman -Date: Sun Aug 29 23:41:02 2010 -0400 - - Windows: fail cm_CheckNTOpen if READ|DELETE for readonly file - - If the readonly file attribute is set (stored as a unix mode) - then a CreateFile operation should fail if the file is opened - for DELETE in combination with any other privilege. - - LICENSE MIT - - Change-Id: Ie8ebb6d230cf65d9ce2411bab2fcc4e561081505 - Reviewed-on: http://gerrit.openafs.org/2660 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 72584be7fb0b6eb01ca5cb9c0703e9bc1b92f547 -Author: Jeffrey Altman -Date: Thu Aug 26 11:33:43 2010 -0400 - - Windows: Add validation for directory buffer contents - - If the directory buffer contents are garbage we can crash - the service. Add some simple validation checks to ensure - that cm_dirEntry_t objects have the correct flag value and - that the name strings are not too long. - - LICENSE BSD - - Change-Id: If4a276007ff7a21a641825037a1035ea20db79c5 - Reviewed-on: http://gerrit.openafs.org/2658 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 3f69933c4243d6861d5cce701c28f2dee088e6c2 -Author: Jeffrey Altman -Date: Tue Aug 24 16:46:45 2010 -0400 - - Windows: cm_TryBulkStatRPC must process VIO errors - - If the bulkStat errorCode indicates that a particular object - is inaccessible due to a VIO error, we must update the server - status appropriately in order to permit failover. - - LICENSE MIT - - Change-Id: I19ce3d2c5b138d519fb1c437f6d5109d7d8b1310 - Reviewed-on: http://gerrit.openafs.org/2657 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit b11ff643b5665ec252ca96dc19af1446fb72481f -Author: Jeffrey Altman -Date: Tue Aug 24 16:42:57 2010 -0400 - - Windows: better handle RX_MSGSIZE errors - - An RX_MSGSIZE error is returned by the new PMTU detection - code. It is critical that such an error result in a retry of - the operation that failed. Otherwise, the PMTU detection can't - work and the server will be marked down. - - Secondly, it is important that such errors not leak to the - application layer. Map them to CM_ERROR_RETRY in all cases. - - LICENSE MIT - - Change-Id: I966fe259080bd31ec60fdb6715f54e18e190c790 - Reviewed-on: http://gerrit.openafs.org/2656 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 874c5ca8359d49703f1f37d7fb70204c182d0f86 -Author: Jeffrey Altman -Date: Tue Aug 24 16:40:38 2010 -0400 - - Windows: print the value of cm_OfflineROIsValid to afsd_init.log - - If we say we are printing the value of cm_OfflineROIsValid, - do so and not cm_deleteReadOnly. - - LICENSE MIT - - Change-Id: I8b0bc73798feea413f8ce79f9965664fc050ef76 - Reviewed-on: http://gerrit.openafs.org/2655 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 87c9e7e6e4f8be4778d183940f349557193146c7 -Author: Jeffrey Altman -Date: Sun Aug 22 10:05:59 2010 -0400 - - Windows: Handle RX_RESTARTING consistently for all RPCs - - Translate RX_RESTARTING to the same cache manager error code - for all RPC classes. - - LICENSE MIT - - Change-Id: I4540e9886d1de68d9b3f8a2e72508f876225ff4a - Reviewed-on: http://gerrit.openafs.org/2654 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit 2ef83d24846e6035b752fcbe98d980e046e074f9 -Author: Jeffrey Altman -Date: Sat Aug 21 00:23:45 2010 -0400 - - Windows: Log cell along with volume id for server errors - - When logging server volume instance errors to the windows - application event log, be sure to log the cell as well. - Translating from server ip address is non-trivial. Make it - easier for administrators triaging issues to plug the volume - and cell info into vos commands. - - LICENSE MIT - - Change-Id: I801fcd5c1afba4a8cdef4386fec72b9a529d4cfb - Reviewed-on: http://gerrit.openafs.org/2653 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit a97282bf76730fd05c2365aa1c58ce96174efd37 -Author: Jeffrey Altman -Date: Sat Aug 21 00:22:22 2010 -0400 - - Windows: unix modes represented in octal - - Since unix mode bits are represented in octal in most cases - make sure we log them that way. - - LICENSE MIT - - Change-Id: Ia8106c7bbd3230380c7efa437b6eb0a90398bda3 - Reviewed-on: http://gerrit.openafs.org/2652 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Jeffrey Altman - Reviewed-by: Jeffrey Altman - -commit b91e7e86b429b6182d8ee23c471bef4f48af560f -Author: Derrick Brashear -Date: Fri Sep 3 08:18:41 2010 -0400 - - rx msgsize retry logic change - - only rewrite to RX_MSGSIZE if the MTU changed. otherwise, leave well - enough alone - - Change-Id: If7311c623c61064c52b42fbb131aa8ff007c3741 - Reviewed-on: http://gerrit.openafs.org/2664 - Tested-by: BuildBot - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - -commit defd84d0fb43a068d2b9ae88a103ffea266c8d95 -Author: Andrew Deason -Date: Fri Sep 3 10:59:45 2010 -0500 - - cacheout: Improve error handling - - Bail out when we encounter errors in initialization. Among other - things, this prevents a segfault if we can't read the client - configuration. - - Change-Id: I8b35163c5c4750eb05539a225069327051a3f148 - Reviewed-on: http://gerrit.openafs.org/2665 - Tested-by: BuildBot - Reviewed-by: Jeffrey Hutzelman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e07f87070c901d71c2f4fa594738ce0a16c77ea1 -Author: Andrew Deason -Date: Fri Sep 3 16:32:11 2010 -0500 - - vos: Show effects in single-volume dryrun mode - - Fix -dryrun mode for 'vos syncvldb' to also show the effects when run - against a specific volume id. - - Change-Id: I3a2db96fc8016939f2f2f9561aba29527701ad59 - Reviewed-on: http://gerrit.openafs.org/2667 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5705a46a75917cb34b4ea9161dde4ee43d0d4eb0 -Author: Andrew Deason -Date: Fri Sep 3 15:20:10 2010 -0500 - - vos: Show after effects in dryrun mode - - The dryrun mode of operation for 'vos syncvldb' and 'vos syncserv' - does not currently show the "status after" portion of its output, so - they don't really show what the commands will do. Change them so - "status after" is shown for -dryrun when sync'ing servers or - partitions, and count changes towards the count at the end. - - Change-Id: I6cc20c28a989925a1262570b286fdd7d290c0a9a - Reviewed-on: http://gerrit.openafs.org/2666 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 526b8a7ca53977d6cdb91427932ac6b18bb7064d -Author: Marc Dionne -Date: Sun Sep 5 10:48:52 2010 -0400 - - afs_DoBulkStat: don't call afs_Analyze without holding the GLOCK - - Limit the scope of the GUNLOCK-GLOCK blocks to cover only the RX - calls. This prevents afs_Analyze from being called without the - GLOCK, which causes an oops in afs_icl_Event4() where there's - an ASSERT_GLOCK. - - Change-Id: Ifa6942d08f22479c0affba3ebd1fc9bf4063d8a5 - Reviewed-on: http://gerrit.openafs.org/2668 - Tested-by: Marc Dionne - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 114b817da5aea425c87c12e10cdefd033f7ba0ff -Author: Andrew Deason -Date: Wed Sep 1 12:04:56 2010 -0500 - - RedHat: Package libafshcrypto libraries - - Add libafshcrypto.so.* to authlibs, and libafshcrypto.{a,so} to - authlibs-devel. - - Change-Id: I9b513bc32e532562be2d679b5185411f002f8208 - Reviewed-on: http://gerrit.openafs.org/2643 - Tested-by: Andrew Deason - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 469cc14bd16b9e1a7ed8404224de63862c1f52f5 -Author: Andrew Deason -Date: Wed Sep 1 11:14:37 2010 -0500 - - RedHat: Do not force krb5-config path - - If the %krb5config macro is not defined, do not force using - /usr/kerbers/bin/krb5-config, since sometimes that is not where it is - (RHEL6 puts it in /usr/bin). Instead only specify KRB5_CONFIG if - krb5config is defined; otherwise let configure find krb5-config for - us. - - Change-Id: I35cc03ddbba7edd2c03d8f72b9636d4a7f6e64c0 - Reviewed-on: http://gerrit.openafs.org/2642 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 83f85c9ad6c439eb9676436a3e09c40c2813f1c1 -Author: Andrew Deason -Date: Wed Sep 1 10:32:53 2010 -0500 - - RedHat: Update openafs.spec for configure changes - - We no longer have the configure options --enable-disconnected and - --with-krb5-conf. Remove them from the spec file and instead specify - krb5-config via the KRB5_CONFIG variable. - - Change-Id: Ic9d9505f0526e38bf084683d9be3367851005a97 - Reviewed-on: http://gerrit.openafs.org/2641 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 346ccf51ddedadd7f6709276237c26b7871ffbaf -Author: Andrew Deason -Date: Wed Sep 1 10:18:17 2010 -0500 - - RedHat: Use git-version in makesrpm.pl - - We no longer have the OpenAFS version in the AM_INIT_AUTOMAKE. Get the - version from the equivalent AC_INIT version, which is determined by - running build-tools/git-version. So, run git-version to get the - version. - - Change-Id: I5feb72ba35566315654ab88f2047be8a7ac6b40a - Reviewed-on: http://gerrit.openafs.org/2640 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 86ccd1c0f486d38b13a71a3c99879f546ad18b15 -Author: Andrew Deason -Date: Wed Sep 1 10:12:31 2010 -0500 - - RedHat: Use configure.ac in makesrpm.pl - - We don't have a configure.in anymore; instead we have a configure.ac. - - Change-Id: Ic79b5577cf2d5cd3021fe933ca5405fb2d514a4d - Reviewed-on: http://gerrit.openafs.org/2639 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ae868642e1936509184cbe9b539733445902bdf3 -Author: Russ Allbery -Date: Wed Sep 1 10:52:30 2010 -0700 - - Update Autoconf Kerberos probes to latest rra-c-util version - - We will now look for krb5-config in /usr/kerberos/bin (the path used - on Red Hat Enterprise prior to RHEL6) if it isn't found in the user's - PATH. - - This update also adds a new probe for krb5_get_init_creds_opt_free - which is not yet used, but may eventually be useful for klog.krb5. - - Change-Id: Iefd67c02ac44fd5f1a30883d1cd6ea4e489b32b1 - Reviewed-on: http://gerrit.openafs.org/2644 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 69c1d5e2debdafd971216ab4afc3e90702d5860b -Author: Jonathan Billings -Date: Tue Aug 31 15:15:26 2010 -0400 - - Linux: Updated RedHat spec file with new demand attach servers and docs - - Added the following to the openafs-server package: - dafileserver - dafssync-debug - dasalvager - davolserver - salvageserver - salvsync-debug - - Added the man pages for the above. - Added a man page for krb.excl - - Change-Id: Ifac99e77de4f7b07dc6e76df0237b1960a73cb0d - Reviewed-on: http://gerrit.openafs.org/2630 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 335ccb4082657b7d0e4e9af1076356cf115642d2 +commit 17f76dfa6abc17a36d78b9e1dc0354cbccc98489 Author: Michael Meffie -Date: Mon Mar 15 12:42:23 2010 -0500 +Date: Thu Apr 5 22:56:50 2018 -0400 - ihandle positional read and write + redhat: remove extra kernel version check - When available, use POSIX positional read and write - calls in the ihandle package. Originally written - by Derrick Brashear and Andrew Deason. + Commit a1c072ac562ccf74e5afb8449db1bcef86aef362 (redhat: fix rpmbuild command + line option defaults) added logic to set the default value of the kernvers + variable when not specified as an rpmbuild command line option. - Change-Id: I29a9d830872cb920e8ed5820e33d3cbcb7247460 - Reviewed-on: http://gerrit.openafs.org/1562 + This default value is not necessary, since 'kmodtool verrel' already returns + the current running kernel version by default. The result of 'kmodtool verrel' + sets the kverrel variable, which holds the value of the kernel version we are + building. The kernvers variable is only used as an argument to 'kmodtool + verrel' and may be empty by default to indicate the current version should be + returned. + + Remove the unnecessary setting of the default value of kernvers. + + Also update the information banner to show the value of kverrel, which is the + actual version we are building, instead of kernvers, which is empty be default. + + Reviewed-on: https://gerrit.openafs.org/12995 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8006ff8bf4a6f1944243309e5130538e3cbe62d5 -Author: Hartmut Reuter -Date: Tue Aug 31 13:30:41 2010 +0200 - - Let SRXAFS_GetStatistics64 return correct values for the workstations + Reviewed-by: Stephan Wiesand + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 9f0164f4254da39c3c31e0268da58ce7a6ccda1d) - h_GetWorkstats was called also for 64bit which let random contents - in the other half of the 64bit field. Worse: little and big endian - machines filled different parts of the field so that a later masking - in fsprobe would net help for all kinds of servers. - - Now a small wrapper h_GetWorkstats64 is called which calls h_GetWorkstats - correctly. - - Change-Id: Iaeafd77dfa03d88caa98e4e352f95bfb33d736df - Reviewed-on: http://gerrit.openafs.org/2629 + Change-Id: I355e3772c6bda18a385b48be80fb7f952c2fca3b + Reviewed-on: https://gerrit.openafs.org/12998 + Reviewed-by: Benjamin Kaduk Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear -commit 759487038bbaccf59e49f973b627ee20f555e7b3 -Author: Derrick Brashear -Date: Mon Aug 30 12:32:58 2010 -0400 +commit b30f21b8ec494d921c6ac513bf1022d5937ba220 +Author: Stephan Wiesand +Date: Wed Apr 4 17:09:39 2018 +0200 - ubik recovery kill duplicate code + FBSD: param.h consistency - if recovery wants to invalidate transaction unconditionally and - has code duplication from urecovery_checkTid, just make checkTid - do what we want + Commit 88dc4d93f5ef080da8f56fac453f095e6c79d4a0 ("Add param.h + files for recent FreeBSD") introduced an inconsistency between + the i386 and amd64 param.h files for 11.1 and 12.0 regarding + the *_FBSD101_ENV #defines. - Change-Id: I345560c496d4cb4506de6db79357b99c616ffbbe - Reviewed-on: http://gerrit.openafs.org/2628 + Citing Benjamin Kaduk: "Traditionally we have the param.h for + a FreeBSD N.0 release include the (N-1).Y values that existed + at the time of the N.0 release, and freeze that set of (N-1).Y + values for the lifetime of FreeBSD N.x, if that makes sense." + + Given that FreeBSD 11.0 was released shortly after 10.3, and + 12.0 is not yet released, consistently #define + *_FBSD10{1..3}_ENV for 11.1 and *_FBSD10{1..4}_ENV for 12.0 + + Reviewed-on: https://gerrit.openafs.org/12990 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 154512831966d12c1e32e6271d4ab1440a25b96e) + + Change-Id: I5a746beec62f3843526af3f65e0ba03380a5aa41 + Reviewed-on: https://gerrit.openafs.org/12997 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit a819cf483e03d32b2213175e19e628d7c3d8194d +Author: Stephan Wiesand +Date: Mon Mar 26 20:21:19 2018 +0200 + + redhat: Create unique debuginfo packages for kmods + + Commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 ("redhat: + separate debuginfo package for kmod rpm") introduced the + creation of separate debuginfo packages for the kmod packages. + As such, this is useful, but all debuginfo packages for a given + OpenAFS release ended up with the same name/version/release for + the kmod debuginfo package, no matter which kernel release or + variant the kmod was built for. + + Move the additional black magic from the spec into the kmodtool + script where we have the means to do better: Use the same naming + and versioning conventions as for the kmod-openafs packages + themselves. + + Reviewed-on: https://gerrit.openafs.org/12977 + Tested-by: BuildBot Reviewed-by: Andrew Deason - Reviewed-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear + Reviewed-by: Michael Meffie + Tested-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 387ae9536888419d7b101513e04e1c644e3218d6) + + Change-Id: I220408eacd0c39449843240f225cfced163cbff7 + Reviewed-on: https://gerrit.openafs.org/12986 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Stephan Wiesand + Reviewed-by: Benjamin Kaduk -commit bafa4d17530338122581d5b11eba367ebd445c30 +commit 72b2da46bb0f997d70cca3cca7abc4a135d3d500 +Author: Andrew Deason +Date: Wed Mar 7 11:32:43 2018 -0600 + + ubik: Log sync site for SDISK_SendFile USYNC error + + In SDISK_SendFile, we return a USYNC error if the caller is not the + sync site. Say who the sync site is when we do this, to possibly help + post-mortem debugging. + + Reviewed-on: https://gerrit.openafs.org/12943 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit c44f6f7a8052bdd1fb021e07bb6ae142b61e6b5b) + + Change-Id: I398780c98ee5eade75e06a42d54637c169bc250a + Reviewed-on: https://gerrit.openafs.org/12948 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit e46c5c455c4eceb5dac5e86611d039c6c7089d6e +Author: Andrew Deason +Date: Wed Mar 7 13:11:03 2018 -0600 + + Avoid empty libtool -export-symbols-regex pattern + + Currently, in LT_LDLIB_shlib_missing, we construct our + -export-symbols-regex pattern like so (with some escaping): + + "($(sed -e 's/^/^/' -e 's/$/$/' xxx.sym | tr '\n' '|' | sed -e 's/|$//'))" + + The idea is that for a .sym file consisting of, for example: + + foo + bar + + We then generate a regex like (^foo$|^bar$). However, since the 'tr' + removes all newlines, the line given to the last 'sed' in the pipeline + has no trailing newline. On some systems, such as Solaris, this causes + sed to not output anything at all, resulting in a regex pattern of + just "()". + + For example: + + # on Debian + $ echo -n foo | sed -e 's/foo/bar/' + bar$ + + # on Solaris + $ echo -n foo | sed -e 's/foo/bar/' + $ + + To avoid this, we can change the sed pipeline to not remove the + newlines until the very end. Change the way we construct our regex to + this instead: + + "($(sed -e 's/^/^/' -e 's/$/$|/' -e '$ s/|$//' xxx.sym | tr -d '\n'))" + + So the sed removes the extra '|' in the last element by looking at the + last line, instead of looking at the end of the line after the 'tr' + conversion. + + Reviewed-on: https://gerrit.openafs.org/12944 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit d0805d72b7a48dcaa7abe1aea136a8cd963d76c2) + + Change-Id: Iebf0996e63c6233bebbf855cde21094a73fbd420 + Reviewed-on: https://gerrit.openafs.org/12949 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit b41065f2b8877580a7e1858b8e2857973ddf6503 +Author: Marcio Barbosa +Date: Thu Feb 22 17:53:23 2018 -0500 + + ubik: don't set database epoch to 0 if not needed + + If our attempt to receive a fresh database from a peer fails, we will + overwrite the version.epoch field of our current local copy of the + database with an invalid value, "0". The idea behind this approach is + to make sure that this database will not be seen as a legit copy if the + transfer is not completed properly. Although it is questionable if this + approach is still necessary (since the current version writes the data + into a temporary file), it is undisputed that the database version does + not have to be invalidated if the transfer fails in a early stage where + no data has been written and we could safely continue to reuse the local + copy for read-only queries. Early failures may happen if: + + 1. The peer sending the database to us is not the peer we believe to be + the sync site; + + 2. The sender is not authorized to call DISK_SendFile; + + In both cases, the database epoch is invalidated. As a result of that, + we may have the following consequences: + + 1. Reads may not be allowed + + Once the on disk epoch is invalidated, if the server in question is + rebooted, the invalid on disk epoch will be used to initialize the in + memory epoch. At this point, reads may not be allowed since + urecovery_AllBetter checks if the in memory epoch is greater than 1. + Reads should not be blocked forever since the sync-site will send a new + database to this remote and, as a result of that, the invalid version + will be corrected. + + 2. Data can be lost + + If the site with the invalid epoch is the one with the most recent + database, the database can be rolled back to an earlier version during a + new quorum establishment. Consider the following scenario where we have + three sites: + + Site A (up - database up to date) (sync-site) + Site B (up - database up to date) + Site C (down - old database) + + The epoch of B is invalidated due to the problem fixed by this patch. + Then, A is turned off and C is turned on. In this scenario, the new + sync-site will distribute the old database held by C since its epoch is + greater than 0. + + To fix the problem in question, do not set the database epoch to 0 + if the local database was not modified. + + Acknowledgements: + + Hartmut Reuter + - found the problem; + - suggested a possible solution; + + Benjamin Kaduk + - submitted the first version; + + Andrew Deason + - suggested changes; + + Reviewed-on: https://gerrit.openafs.org/12924 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + Reviewed-by: Michael Meffie + (cherry picked from commit bd6a2484011dad6298c4ce97dd0cd68e0834baa5) + + Change-Id: I64808d4adf6a5925083a671308a60f93ca427180 + Reviewed-on: https://gerrit.openafs.org/12937 + Reviewed-by: Hartmut Reuter + Reviewed-by: Marcio Brito Barbosa + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 0b1d10fd2535b0059d1e88c23fbd3f60041edc9f Author: Michael Meffie -Date: Thu Aug 12 00:14:03 2010 -0400 +Date: Tue Feb 20 11:51:01 2018 -0500 - clean up stale defines in volser header + afs: improve -volume-ttl error messages - The volserver does not use port 5003 any more. + Change the afs call which sets the volume ttl value to return EFAULT + instead of EINVAL when given an out of range value for the volume ttl + parameter. This is more consistent with the other op codes, which + return EFAULT when given an out of range parameter and allows the caller + to distinguish between an invalid opcode and a bad parameter. - Change-Id: Ied55709c3831595d63f052cc1c2397e26352e4f1 - Reviewed-on: http://gerrit.openafs.org/2536 - Reviewed-by: Derrick Brashear - Reviewed-by: Jeffrey Altman - Reviewed-by: Andrew Deason - Tested-by: Derrick Brashear - -commit 39c4b966dd504e873570d70b20ef8d38726c9e37 -Author: Andrew Deason -Date: Wed Jun 9 12:46:29 2010 -0500 - - ubik: Protect ubik_servers in urecovery_Interact + Move the volume ttl range constants to afs_args.h, which is where + constants related to the op codes are supposed to be defined. This makes + the constants available to the caller in afsd.c as well as the + implementation in afs_call.c. - urecovery_Interact can modify the global ubik_servers structures, - including destroying and recreating the RX connection objects. In the - pthreaded case, DBHOLD the database, so we do not modify the - structures out from under another thread trying to use them. + Update afsd to print a more sensible error message when the volume ttl + set calls fails due to an out of range parameter. - Change-Id: I62ab7b77e17c65ec8840659957ef6d00303ea5a4 - Reviewed-on: http://gerrit.openafs.org/2108 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 615eb81a496d20a3532f0a68e56781b2171ad4ac -Author: Andrew Deason -Date: Wed Jun 9 12:45:57 2010 -0500 - - ubik: Drop dbase versionLock during I/O and sleeps - - Currently we hold versionLock during all ubik network I/O and while we - are sleeping for whatever reason. For pthreaded ubik, to allow other - things to happen during those times, drop the lock and reacquire when - we hit the net or sleep. - - Change-Id: I414b3adfadc0bb506b98e8677ec5dfbb269e0129 - Reviewed-on: http://gerrit.openafs.org/2107 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5ec5ad5dcca84e99e5f55987cc4f787cd482fdde -Author: Simon Wilkinson -Date: Wed Apr 7 23:03:21 2010 +0100 - - New GetToken pioctl - - Implement a new, XDR based, GetToken pioctl which mirrors the new - SetToken pioctl. - - Change-Id: I213e74edb3496baa40b5c8048e97df6888f742b4 - Reviewed-on: http://gerrit.openafs.org/2584 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 53837416cbed3ba4d11f63015e1f13800519f2ed -Author: Simon Wilkinson -Date: Sun Feb 14 10:00:22 2010 +0000 - - aklog: Add support for the new SetToken pioctl - - Make aklog use the new extended ktc set token function when storing - tokens. - - Change-Id: I2e84cda2bf8a4c6c9f6627569cae2d34fd7b5c0f - Reviewed-on: http://gerrit.openafs.org/2583 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5aa8c5d9794b909ef9195992ee12f963e254574b -Author: Derrick Brashear -Date: Sat Aug 28 17:19:45 2010 -0400 - - macos afsdb reinit resolver on address change - - assume a new address means we probably have new resolver info; reinit - when we get the callback. - - FIXES 126440 - - Change-Id: I0d5ac0576f2b2e90093b93974b0354cac35d84a3 - Reviewed-on: http://gerrit.openafs.org/2622 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit aaf9b4ddd5ce9ed83be038bba01199b1d400ddf3 -Author: Matt Benjamin -Date: Sun Aug 29 15:06:22 2010 -0400 - - cache bypass Also increment page refcount in readpage - - As noticed by a commenter, afs_linux_bypass_readpage needs - the same get_page operation as in afs_linux_bypass_readpages, - as background page accounting assumes we have done it. - - Change-Id: Ib2e1cb7ec971e68b022dd1740584369d04b8b833 - Reviewed-on: http://gerrit.openafs.org/2626 + Reviewed-on: https://gerrit.openafs.org/12918 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 239a62034b849565d680baa9e5b8e6921256ffd5 -Author: Matt Benjamin -Date: Fri Aug 27 19:11:32 2010 -0400 - - DFBSD update dfbsd userland + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 6d74e3d6a1becf86cec30efc2d01a5692167afe1) - Add new sysnames. Fix some userland header inclusions, - defend against kernel-mode ioctl interpretation when - building UKERNEL. Add fragments missing from DFBSD - MakefileProto template. - - Change-Id: I56659bfe43dc24ef8a158aaf486c9a6f23643002 - Reviewed-on: http://gerrit.openafs.org/2619 + Change-Id: I2cd86b6fbba31f74862bb902ac94b0874de8afac + Reviewed-on: https://gerrit.openafs.org/12936 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk -commit ec85304dd738935d8be3f8934b166f78a10995bf -Author: Matt Benjamin -Date: Sun Aug 29 17:33:03 2010 -0400 +commit 1d288d8776f1e91e55ee150a864126bcd60c1998 +Author: Benjamin Kaduk +Date: Fri Mar 9 18:34:54 2018 -0600 - FBSD try-relax child vnode locking (recurse only) + Make OpenAFS 1.8.0 - In cases where afs_vop_lookup would return a child vnode - locked, continue to take an exclusive lock, but allow - recursion (LK_CANRECURSE). Allow recursion also at - afs_vop_link, where we specifically encountered a conflict - due to recursion. + Update version strings for 1.8.0. - Change-Id: I5f5b0979ce3c86e517f96ea60b96ebdd26401acb - Reviewed-on: http://gerrit.openafs.org/2625 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit b727c1e748042e46f2a566725359fed0dd8a8f4f -Author: Matt Benjamin -Date: Sat Aug 28 21:57:38 2010 -0400 - - FBSD, DFBSD (future) call afs_FakeOpen in the write path - - Call afs_FakeOpen in the write path, even though nominally - it is AFS_VM_RDWR_ENV. - - Change-Id: I6d24c9631f80058e3dd0d6f284ca7792253ceaaa - Reviewed-on: http://gerrit.openafs.org/2623 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 8334b40376f4b820e5f08e0a1f477be7c04c5cc8 -Author: Matt Benjamin -Date: Sat Aug 28 20:43:41 2010 -0400 - - FBSD, DFBSD (future) vnode_pager_setsize updates - - Based on review of bundled filesystems on FBSD and DFBSD, - call vnode_pager_setsize in three unhandled cases (getattr, - setattr, and io growing a file; truncation was handled - correctly already). Following up on a suggestion by Ben - Kaduk. - - Change-Id: I05b61c26402bb8ab49ad74b71af2d02b439f959f - Reviewed-on: http://gerrit.openafs.org/2621 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 29740370599b4c7edba0c1442b3ca47533f09412 -Author: Marc Dionne -Date: Sat Aug 28 15:50:04 2010 -0400 - - Make hcrypto depend on config - - hcrypto needs the top-level include structure to be present so it - can install its header files. Add a dependency to "config" in - the Makefile to make this explicit and prevent occasional failures - with parallel builds. - - Change-Id: If588d6a15fa1fdf371ec2841cc3a6e75077cccb0 - Reviewed-on: http://gerrit.openafs.org/2620 - Tested-by: Marc Dionne - Reviewed-by: Simon Wilkinson - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit df4cf75b970f72810078fc788e732480dbb7996a -Author: Matt Benjamin -Date: Thu Aug 26 22:54:20 2010 -0400 - - FBSD restore old syscall register logic for older kernels - - The syscall_register code appears to depend on coordination - with FreeBSD upstream, which hopefully can be completed by - RELENG_9. Use the original code for installation of the AFS - syscall everything older than that. - - Change-Id: I2954cf1a2ae3587a311e8133ec5cdc500b4e2e24 - Reviewed-on: http://gerrit.openafs.org/2618 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a9958b34a930223877e01de5109e934f1224d988 -Author: Matt Benjamin -Date: Thu Aug 26 20:37:52 2010 -0400 - - sed s/porc/proc/ - - There is no osi macro osi_curporc. Typo. - - Change-Id: I02f151be942471579ca60ed1e2190d0895288e4c - Reviewed-on: http://gerrit.openafs.org/2617 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2221b61eff513c61cac765d8e72cd06e769610fc -Author: Simon Wilkinson -Date: Sun Feb 14 01:14:54 2010 +0000 - - Add new SetTokenEx pioctl - - This change implements the new, XDR based, SetTokenEx pioctl. This - pioctl permits sending multiple tokens, of multiple types, into the - kernel in a single pioctl call. This patch provides a kernel - implementation of the pioctl, and a new library function - ktc_SetTokenEx, which will use either the new pioctl, or fall back - to the old one should SetTokenEx not be available. - - Change-Id: Id1e2903e078c549f5675e3d2ecdf53a9bb33f5e9 - Reviewed-on: http://gerrit.openafs.org/2582 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit ba1d050c6e8c9593dfa3d914f9d24e2bd985abe0 -Author: Simon Wilkinson -Date: Sun Feb 7 15:15:26 2010 +0100 - - Make unixuser's vid advisory - - The 'vid' element of the unixuser structure was performing two - functions. It was used in debug messages to clarify which user's - token had expired and, in a few locations, to signify whether the - user had tokens or not. - - This patch removes this dual usage. 'vid' is renamed to viceId, so - all uses are found and fixed. Where it is used for debugging, it remains, - but we only set the viceId for a user when we first use an rxkad token - on that context. Other uses of 'vid' have been replaced with tests - against the UHasTokens flag in the user's states. - - Change-Id: Ifc0306a34fb7360810c792215e55e783f1dd062c - Reviewed-on: http://gerrit.openafs.org/2581 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit adf2e6e827c6caf55247c5e63b88775393156ae5 -Author: Simon Wilkinson -Date: Fri Feb 5 11:12:45 2010 +0000 - - Unix CM: Generalise token storage - - This generalises token storage in the Unix CM, so that it isn't - rxkad specific. We add a new, dynamically allocated, list of tokens - hanging off each unixuser structure. Each token is expressed as - a discrimated union keyed on the security class of that token, - with the token's details contained within that Union. - - All token handling is performed through a set of functions in - afs_token.c - token access is modified to use this interface - throughout the rest of the code. - - Change-Id: I939f3a611bb6e991e1e0d075ced0a59fc6f57693 - Reviewed-on: http://gerrit.openafs.org/2580 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5b71bab4ff0a0f6f1e0cec2c71adfd48b3f35cca -Author: Ben Kaduk -Date: Wed Aug 25 23:21:30 2010 -0400 - - FBSD: properly register our syscall - - Use the provided interface, syscall_register(), instead of - manually tweaking the sysent table. - Starting afsd will still fail at present on FreeBSD HEAD - without an additional kernel patch to syscalls.master. - - Change-Id: I18db7c8b74dbd114165f7617df25e462cb372e88 - Reviewed-on: http://gerrit.openafs.org/2616 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 2ea508ea0f320ca17de6df3526aa7237b998c7be -Author: Matt Benjamin -Date: Wed Aug 25 16:19:18 2010 -0400 - - FBSD: give osi_NetReceive time to shutdown, reprise - - The delay logic needs to follow soshutdown, and precede - soclose. The thread in osi_NetReceive is racing to do - another soreceive. That thread needs to win the race - and notice the socket is shut down before rx_socket is - torn down. - - Change-Id: Id8424dcfa2498550a190d277017b7ea15fc11023 - Reviewed-on: http://gerrit.openafs.org/2613 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5c0aebc421ddbed099a6fe1015cdda603e20529d -Author: Matt Benjamin -Date: Wed Aug 25 03:34:35 2010 -0400 - - FBSD CM: don't call afs_close when recycling - - Don't call afs_close when handling VOP_CLOSE on a recycled - vnode, since there was no matching open. This corrects the - opens count, which was seen to go have gone negative in the - reclaim vop. For clarity, assert if afs_vop_close is entered - with a VI_DOOMED vnode and avc->opens != 0. - - Change-Id: I511a4f2a924c2f8e20f3ecdaa445fbe803289a47 - Change-Id: I1b2307fd3318fa54e8f7fb72a5d3f843e2a38404 - Reviewed-on: http://gerrit.openafs.org/2612 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3f7b70a28ba7dc03f0fc973343669f0a7967de4c -Author: Matt Benjamin -Date: Tue Aug 24 20:48:24 2010 -0400 - - BSD CMs: Don't call nonexistent afs_FlushVS in afs_vop_reclaim - - Revert BSDs to call FlushVCache in their respective reclaim vops, - afs_FlushVS no longer exists. - - FIXES 127955 - - Change-Id: I842356c2d6ee4fa3a49eaa8594f1b52188c24985 - Reviewed-on: http://gerrit.openafs.org/2611 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 04d0b3e2c6624ef19176aba2537cca88e058c6b2 -Author: Heimdal Developers -Date: Tue Aug 24 17:40:51 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from the external - heimdal git repository to their revision - 4f5390877a6cdb9615cf1f61f1884edc7b91522c - which is described as switch-from-svn-to-git-1447-g4f53908 - - Change-Id: I8a679232dfb25ba636600264b235667f06a5f62c - Reviewed-on: http://gerrit.openafs.org/2607 - Reviewed-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a2821cdbd05b280e3dc886cfb094e4c040d45c6c -Author: Andrew Deason -Date: Mon Aug 23 14:03:03 2010 -0500 - - venus: build cacheout - - Build 'cacheout' in all builds, so it does not succumb to bitrot. - - Change-Id: If00ce1fd9dd49e92caa183dbb54f06b2edc4ece9 - Reviewed-on: http://gerrit.openafs.org/2606 - Tested-by: Andrew Deason + Change-Id: I80be6d31a6578c6cc8de636e6064d320b25a4246 + Reviewed-on: https://gerrit.openafs.org/12954 Tested-by: BuildBot - Reviewed-by: Derrick Brashear - -commit 4b7038820c503445917087ca4034ae48c7803518 -Author: Andrew Deason -Date: Mon Aug 23 12:55:21 2010 -0500 - - venus: make cacheout build again - - Make src/venus/cacheout buildable again, by fixing several compiler - errors and warnings. Also clean up a few small things, like adding - 'static' qualifiers. - - Change-Id: I1cd10221a5e13a59227e4915991db6042325b7de - Reviewed-on: http://gerrit.openafs.org/2605 - Tested-by: Andrew Deason - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a0f416e3504929b304fefb5ca65e2d6a254ade2e -Author: Andrew Deason -Date: Fri May 21 16:26:53 2010 -0500 - - vlserver: Allow reading during ubik writes - - Turn on the new ubik_BeginTransReadAnyWrite functionality for the - vlserver, which allows us to read data from ubik during a conflicting - ubik write lock. When writing, we now update a copy of the - application-level cache, and write back the changes during a commit. - - Change-Id: Ica958af704f40e89c2062e43641d883865613802 - Reviewed-on: http://gerrit.openafs.org/2106 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 1f532d099b8b084d43dd0140890448464325b602 -Author: Andrew Deason -Date: Fri May 21 15:54:33 2010 -0500 - - vlserver: Access cache via vl_ctx - - The vlserver application-level ubik cache (which consists of - HostAddress, ex_addr, and cheader) is currently being accessed via - global variables everywhere. Instead, access these via the new vl_ctx - struct that is passed to functions during a transaction, so we have - the ability to modify the cache without making all changes visible as - we change it. - - Change-Id: I24bd5495539057d169aef4b5b0b6850b77172cab - Reviewed-on: http://gerrit.openafs.org/2105 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3bf0350218dcf4d6e086941fac394769b6b9cc4a -Author: Andrew Deason -Date: Fri May 21 11:12:50 2010 -0500 - - vlserver: Add a struct for trans-specific data - - Instead of passing a ubik_trans pointer to many functions inside the - vlserver, pass a vlserver-defined vl_ctx struct, so we can add new - things to keep track of in a transaction that are not part of ubik. - - Change-Id: Icf8df6bfdf8960134493ab7f379f0f65b92bdb5a - Reviewed-on: http://gerrit.openafs.org/2104 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit fd7f7469bdbde24320c3ac8b4f7015d495b47bff -Author: Andrew Deason -Date: Thu May 20 15:22:11 2010 -0500 - - ubik: add interface for reading during write locks - - Add ubik_BeginTransReadAnyWrite, which allows for reading from the - database, even while there is a conflicting ubik write lock. Reads are - still blocked while the local database is updating due to a write - transaction commit. - - Change-Id: I025e595ad699d5a969a0676691530d90c65f1920 - Reviewed-on: http://gerrit.openafs.org/2592 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 570236dd55e79e8886b45f19cef59ec3fa9d53f6 -Author: Andrew Deason -Date: Tue Jun 22 14:36:42 2010 -0500 - - ubik: Fix buffers for reading-during-writes - - If we are reading while a write transaction is in progress, we can - encounter a buffer that is dirty if we're on the same site as the - writer. Ignore these buffers for readers, since they contain - uncommitted changes. Then, when the writer commits, invalidate the - resultant duplicate buffer, if one exists. - - Change-Id: I67e0205362d4c08ea9a8c12104fea8bfe8cbf798 - Reviewed-on: http://gerrit.openafs.org/2231 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 5c7297a6c76777aec6209aa191b067ddc73b1a87 -Author: Andrew Deason -Date: Tue Jun 22 13:24:27 2010 -0500 - - ubik: Abstract buffer matching and pass trans ptrs - - Abstract the code for matching buffers in DRead, and pass around - ubik_trans pointers instead of ubik_dbase pointers. This changes no - behavior, but makes changing ubik buffer code a bit easier. - - Change-Id: Ie98005edb0f0dc008190e709dc08d2cc5ef5e16c - Reviewed-on: http://gerrit.openafs.org/2230 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 975b662d8ecabeb82ffd2a3a2dce0c8d6e6cc473 -Author: Simon Wilkinson -Date: Sat Aug 21 12:05:37 2010 +0100 - - Don't include afsconfig.h in rxgen headers - - Some headers generated by rxgen are installed. We can't use - afsconfig.h in installed headers, as it isn't installed (and it - shouldn't be, as it contains autoconf defines which will almost - certainly have namespace conflicts with other packages) - - Revert the portion of 972a407 that added afsconfig.h to the - h_output function. This should now be safe as stds.h no longer - relies on the result of autoconf tests. - - FIXES 127931 - - Change-Id: I75645620e46c4f354ca984a8daf99254650133f6 - Reviewed-on: http://gerrit.openafs.org/2604 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 4129b055a6236e892e1dc2c5d2023d1947495811 -Author: Marc Dionne -Date: Fri Aug 20 16:11:59 2010 -0400 - - s390x: only declare afs_sys_setgroups32_page where needed - - Variable afs_sys_setgroups32_page is only used when __NR_setgroups32 - is not defined. Make the declaration depend on it as well to clear - up an unused variable warning. - - Change-Id: I812b98d6ac4bf6ac923553ef3556c90d75d86fcb - Reviewed-on: http://gerrit.openafs.org/2600 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit c2be1ee1d726463590ae1272495d102111fdf75b -Author: Marc Dionne -Date: Fri Aug 20 16:37:56 2010 -0400 - - Fixes for signed char architectures - - "char" is unsigned on s390x, which causes a few warnings where we - test for negative values. - - Add a signed modifier in a few cases, and in vos.c replace with an - int to match a similar section of code in the same file. - - Mostly a warning fix, but in one case the variable could be used - to return a -1 error value, so it may have caused an actual bug. - - Change-Id: I005fbcd7c573735df7403316ec0ced67ee81e559 - Reviewed-on: http://gerrit.openafs.org/2602 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 850567f17285021d3133a75c1d0d3494e0faabfc -Author: Marc Dionne -Date: Fri Aug 20 17:42:47 2010 -0400 - - Ignore old style definition warnings in generated code - - Older flex can generate functions that trigger the - "old-style-definition" warning. - Since it's generated code, just ignore it. - - Change-Id: If475507561498b976a2942bd0084975814ab6a76 - Reviewed-on: http://gerrit.openafs.org/2603 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit de341580a6003944f1ae4b01c56bf483ead857d1 -Author: Marc Dionne -Date: Fri Aug 20 16:27:44 2010 -0400 - - Prototype warning cleanup - big endian - - Move function definitions above their use in quad_cksum.c and - remove the (incomplete) prototypes. - - Clears up a few warnings on big endian systems. - - Change-Id: Id860f904fff9fb033ee4b2032162304a4af7423a - Reviewed-on: http://gerrit.openafs.org/2601 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3fc5863f062c14c346bcc50c82b8d15971750e55 -Author: Simon Wilkinson -Date: Fri Aug 20 13:17:53 2010 +0100 - - Configure: Tidy up AC_CHECK_FUNCS - - Move all of our AC_CHECK_FUNCS calls into a single, ordered, list - so that it's easier to see what's being checked for and what's not. - - Change-Id: Ib8e356ada469d4b3be8cc6387df91de21a2d1e8a - Reviewed-on: http://gerrit.openafs.org/2598 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 10ff668dcbff1a8121e79d43dfedb1c6c509af64 -Author: Simon Wilkinson -Date: Fri Aug 20 13:07:04 2010 +0100 - - hcrypto: Check for arc4random - - Add a configure test for the arc4random function which hcrypto can - use as an entropy source - - Change-Id: If1ae243d2f2850be0efd0030a37ac026cdb0e7ba - Reviewed-on: http://gerrit.openafs.org/2597 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 9da71758f194b98e1be3dee8d588b703874ea9a6 -Author: Simon Wilkinson -Date: Fri Aug 20 13:19:30 2010 +0100 - - Add a few missing entries to our .gitignores - - Add a couple of build products to the relevant .gitignore files - - Change-Id: I236e001f77c229736cb58c5c0c76811166dc6690 - Reviewed-on: http://gerrit.openafs.org/2599 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit deaed0ad3613c04434594873e014f8fe65b9f06a -Author: Simon Wilkinson -Date: Fri Aug 20 00:18:17 2010 +0100 - - hcrypto: Fix for IRIX - - Fix the hcrypto build for IRIX, by including param.h in the - configuration header so that the platform specific redefinitions of - "inline" work correctly. - - Change-Id: Ib301fae008b596f9112eefe21eaccad0dfd74190 - Reviewed-on: http://gerrit.openafs.org/2596 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 38cf31463e3f3c675de727c1e793e117a90e6d20 -Author: Andrew Deason -Date: Mon Jul 12 15:47:15 2010 -0500 - - Avoid thread-unsafe PrintInode in threaded code - - Some potentially-threaded callers were calling PrintInode with a NULL - first argument, which is not threadsafe. Alter them to use local - storage. - - Change-Id: Ib9ad9c070bd659be30616b2c77cd244458357197 - Reviewed-on: http://gerrit.openafs.org/2593 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 87dc2a312ac94bc0a8b809a8f879128be8d9c791 -Author: Andrew Deason -Date: Thu Aug 19 11:35:40 2010 -0500 - - Windows: vol-salvage SalvInfo fixes - - Commit 3d7388b790ef21de552ec60d379764df067ae421 broke the windows - build. Fix it: - - - SVGParms_t has no salvinfo member, but an svgp_salvinfo member - - - Correct the SalvageVolumeGroup prototype to match the actual - implementation - - Change-Id: I6515ff8a3850b09e959c95387c3e7c22b40794c1 - Reviewed-on: http://gerrit.openafs.org/2595 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f6d1f17f48a06a2781bd3902addb594bf8a91a0c -Author: Simon Wilkinson -Date: Wed Apr 7 21:45:39 2010 +0100 - - Add OpenAFS build machinery for libhcrypto - - Add an OpenAFS build environment for the symmetric algorithms in - libhcrypto. - - Change-Id: I0d971433fe0130854a7c50cd9107af02893b1d58 - Reviewed-on: http://gerrit.openafs.org/2575 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit d8f2debce49a8a0eb310bdaf8ad0ee7601a0542e -Author: Andrew Deason -Date: Thu Apr 22 17:09:18 2010 -0500 - - Remove the global tempHeader/stuff structures - - Currently, volinodes.h defines an array ('stuff') for easily accessing - information about different inode types. Part of the array points to - parts of a global 'tempHeader' structure, making this not threadsafe. - Change this into an interface which utilizes local storage to make - this threadsafe and remove those horridly-named global variables. - - This adds the init_inode_info static inline function, for initializing - a local inode information table. - - Change-Id: If4562e724fd7a8e5f8166ea0fe409d6765d0de2b - Reviewed-on: http://gerrit.openafs.org/1869 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 3d7388b790ef21de552ec60d379764df067ae421 -Author: Andrew Deason -Date: Thu Jun 24 15:45:05 2010 -0500 - - vol-salvage: Move global vars into SalvInfo struct - - Reduce the number of globals used in the salvager code, by making - functions pass around a 'salvinfo' structure that contains the - information regarding a particular salvage. - - Change-Id: Iba7a6add8c1b8145f531e10495c621a2ba15425d - Reviewed-on: http://gerrit.openafs.org/2250 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit e98379003f1c47ac7ca3a7121bb4450d36e8fd8d -Author: Simon Wilkinson -Date: Thu Jul 22 15:22:09 2010 +0100 - - libafsrpc: Add new XDR symbols to exports - - Add the new XDR symbols which we've recently introduced to the - exports list so they can be used from the shared libraries - - Change-Id: Iadc038ad36a673fc71f31eed32ef8979343791e9 - Reviewed-on: http://gerrit.openafs.org/2579 - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit a81c323fbd05cb5cb85c56dfcc0b540e0354f318 -Author: Jeffrey Altman -Date: Tue Aug 17 01:24:39 2010 -0400 - - Windows: fix Freelance trailing dot enforcement - - The cm_enforceTrailingDot() function failed if there was a - trailing dot followed by white space. - - LICENSE MIT - - Change-Id: Ib6a90420459a44b87995c44a5f58fcdcd5041c9f - Reviewed-on: http://gerrit.openafs.org/2588 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman - Reviewed-by: Derrick Brashear - -commit fa1c0cfe5f2e396d8d9e1c4d0bfc43178db7aebe -Author: Heimdal Developers -Date: Sun May 9 19:33:54 2010 +0100 - - Import of code from heimdal - - This commit updates the code imported from the external - heimdal git repository to their revision - 40ef7759b917648938416e15521d383e2eade5cf - which is described as switch-from-svn-to-git-1333-g40ef775 - - Change-Id: Ie03ff2d99293272f9ce4c900367eefa063ce8d98 - Reviewed-on: http://gerrit.openafs.org/2574 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit 776dbdebc1c46c7276b14cf55fe90452b73fc570 -Author: Simon Wilkinson -Date: Sat May 15 22:48:37 2010 +0100 - - Heimdal import: Add hcrypto files - - Add the files which we intend to use from Heimdal's hcrypto library - to the list of files which we import from the Heimdal git repo. - - Change-Id: I734b77b8fa47617efc05b782eafc00753dce2279 - Reviewed-on: http://gerrit.openafs.org/2573 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit f9498799de1fe3e22c695c54284e6d072f8daecc -Author: Simon Wilkinson -Date: Sun May 16 13:04:47 2010 +0100 - - Handle whitespace better in import script - - Make the import script handle multiple, rather than just single, - whitespace separators between source and destination files. - - Change-Id: I0cc0fdd6ba1ef4bd5407b2e0fd9285ffe902408b - Reviewed-on: http://gerrit.openafs.org/2572 - Tested-by: BuildBot - Reviewed-by: Derrick Brashear - Tested-by: Derrick Brashear - -commit eb49bd3df0f20cf99825002387c2dbceefe9b784 -Author: Jeffrey Altman -Date: Tue Aug 17 02:13:31 2010 -0400 - - Windows: Fix remove 'register' patch - - The register removal patch broke the Windows build. - Fix it. - - Change-Id: I0121da17a98e1eb35932d18c851989737d9325b5 - Reviewed-on: http://gerrit.openafs.org/2571 - Reviewed-by: Jeffrey Altman - Tested-by: Jeffrey Altman + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk diff --git a/RELNOTES-1.8.0 b/RELNOTES-1.8.0 deleted file mode 100644 index b219961..0000000 --- a/RELNOTES-1.8.0 +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - -OpenAFS - - - - - - - - - - - - diff --git a/RELNOTES-1.8.1 b/RELNOTES-1.8.1 new file mode 100644 index 0000000..5879e87 --- /dev/null +++ b/RELNOTES-1.8.1 @@ -0,0 +1,69 @@ + User-Visible OpenAFS Changes + +OpenAFS 1.8.1 + + All Platforms + + * Improve the usability and consistency of the public API: install missing + headers, and add additional symbols to the export list for shared libraries. + + * Improved Rx abort generation: use the proper serial number for an existing + connection if possible, and 0 otherwise (to improve debugging). + + * Assorted minor fixes in response to static analysis of the codebase. + + * Fix memory-safety error in XDR decoding of enumerated types. + + All Server Platforms + + * Fix reference counting error that could cause an assertion failure + in some workloads. + + * vldb_check -fix will no longer corrupt the vldb when multiple MH blocks are present. + + * Assorted cleanups and efficiency improvements in the ubik implementation. + + * Return a valid InlineBulkStatus response in error cases. + + * The fileserver now rejects invalid partition names when attaching partitions. + + All Client Platforms + + * Fix volume callbacks (e.g., when running 'vos release'). + + * Treat failure to obtain a DSlot as a hard error for that cache partition, + avoiding a flood of "disk cache read error in CacheItems" log messages, + and reducing the chance of subsequent panic. + + * Improve error messages for invalid values with -volume-ttl. + + * Remove useless error message: + "find_preferred_connection: no connection and !create". + + * Avoid passing NULL to a kernel memory deallocator, which is not guaranteed + to be safe on all systems. + + Linux + + * Add support for 64-bit ARM clients ("arm64"). + + * Fix panic when cache bypass is enabled. + + * Improve cache manager behavior when unable to open cache files. + + * Improvements to the RPM packaging. + + * Detect out-of-memory when using kernel pages for writing. + + Solaris + + * Fix various issues in the build process for recent Solaris versions. + + MacOS + + * Fix clients on OS X 10.13. + + FreeBSD / NetBSD / OpenBSD + + * Fix panic triggered during periodic cleanup operations and shutdown. + diff --git a/add_AFS_STRINGIZE_macro.patch b/add_AFS_STRINGIZE_macro.patch deleted file mode 100644 index 9031352..0000000 --- a/add_AFS_STRINGIZE_macro.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f5794e029903db79f345f42582230a1fd0f7d823 Mon Sep 17 00:00:00 2001 -From: Andrew Deason -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 -Reviewed-by: Ian Wienand -Reviewed-by: Benjamin Kaduk ---- - 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 - #include "afsutil_prototypes.h" - --- -1.7.1 - diff --git a/add_support_fo_arm64_linux26.patch b/add_support_fo_arm64_linux26.patch deleted file mode 100644 index d0f1b16..0000000 --- a/add_support_fo_arm64_linux26.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 4f7550dcaf9375046514cdd97cea0f667e955e9f Mon Sep 17 00:00:00 2001 -From: Andrew Deason -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 . - -Change-Id: I1ee239ded17d8fea3b91b70405215aa1b3f7a6e9 -Reviewed-on: https://gerrit.openafs.org/11940 -Reviewed-by: Benjamin Kaduk -Tested-by: BuildBot ---- - 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 - # include - # if defined(AFS_LINUX26_ENV) -+# include - # include - # include - # include -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 */ diff --git a/avoid_double_param_in_arm64_kernel.patch b/avoid_double_param_in_arm64_kernel.patch deleted file mode 100644 index 2000f13..0000000 --- a/avoid_double_param_in_arm64_kernel.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b792dea0f1f83673b0b045adf608412901b3024c Mon Sep 17 00:00:00 2001 -From: Andrew Deason -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 -Reviewed-by: Benjamin Kaduk ---- - 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 - diff --git a/dont_require_AFS_SYSCALL.patch b/dont_require_AFS_SYSCALL.patch deleted file mode 100644 index bcda8cb..0000000 --- a/dont_require_AFS_SYSCALL.patch +++ /dev/null @@ -1,223 +0,0 @@ -From ed513bb516acdb28fc6bbf01714ef2e1df422a8a Mon Sep 17 00:00:00 2001 -From: Andrew Deason -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 -Reviewed-by: Ian Wienand -Reviewed-by: Benjamin Kaduk ---- - 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) diff --git a/openafs-1.8.0-doc.tar.bz2 b/openafs-1.8.0-doc.tar.bz2 deleted file mode 100644 index d47574e..0000000 --- a/openafs-1.8.0-doc.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8 -size 3801291 diff --git a/openafs-1.8.0-doc.tar.bz2.md5 b/openafs-1.8.0-doc.tar.bz2.md5 deleted file mode 100644 index c2f78fc..0000000 --- a/openafs-1.8.0-doc.tar.bz2.md5 +++ /dev/null @@ -1 +0,0 @@ -b66890fabf87b64c8eac6ec68d4b60c5 /home/kaduk/openafs/1.8.0/openafs-1.8.0-doc.tar.bz2 diff --git a/openafs-1.8.0-doc.tar.bz2.sha256 b/openafs-1.8.0-doc.tar.bz2.sha256 deleted file mode 100644 index b019f9f..0000000 --- a/openafs-1.8.0-doc.tar.bz2.sha256 +++ /dev/null @@ -1 +0,0 @@ -e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8 openafs-1.8.0-doc.tar.bz2 diff --git a/openafs-1.8.0-src.tar.bz2 b/openafs-1.8.0-src.tar.bz2 deleted file mode 100644 index 0af5519..0000000 --- a/openafs-1.8.0-src.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d -size 15113300 diff --git a/openafs-1.8.0-src.tar.bz2.md5 b/openafs-1.8.0-src.tar.bz2.md5 deleted file mode 100644 index 0dcba6b..0000000 --- a/openafs-1.8.0-src.tar.bz2.md5 +++ /dev/null @@ -1 +0,0 @@ -75fa969fc39f8cf652e1283670f627dc /home/kaduk/openafs/1.8.0/openafs-1.8.0-src.tar.bz2 diff --git a/openafs-1.8.0-src.tar.bz2.sha256 b/openafs-1.8.0-src.tar.bz2.sha256 deleted file mode 100644 index dd296e6..0000000 --- a/openafs-1.8.0-src.tar.bz2.sha256 +++ /dev/null @@ -1 +0,0 @@ -63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d openafs-1.8.0-src.tar.bz2 diff --git a/openafs-1.8.1-doc.tar.bz2 b/openafs-1.8.1-doc.tar.bz2 new file mode 100644 index 0000000..54a81b2 --- /dev/null +++ b/openafs-1.8.1-doc.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1efe676124e253bbb8aed5c74ad89497daf9ced2fab3ec314e7f6da35b9bb775 +size 3802825 diff --git a/openafs-1.8.1-doc.tar.bz2.md5 b/openafs-1.8.1-doc.tar.bz2.md5 new file mode 100644 index 0000000..2ce89a8 --- /dev/null +++ b/openafs-1.8.1-doc.tar.bz2.md5 @@ -0,0 +1 @@ +909b073bb280940c1c273676a2692e6a /home/kaduk/openafs/1.8.1/openafs-1.8.1-doc.tar.bz2 diff --git a/openafs-1.8.1-doc.tar.bz2.sha256 b/openafs-1.8.1-doc.tar.bz2.sha256 new file mode 100644 index 0000000..04da8ab --- /dev/null +++ b/openafs-1.8.1-doc.tar.bz2.sha256 @@ -0,0 +1 @@ +1efe676124e253bbb8aed5c74ad89497daf9ced2fab3ec314e7f6da35b9bb775 openafs-1.8.1-doc.tar.bz2 diff --git a/openafs-1.8.1-src.tar.bz2 b/openafs-1.8.1-src.tar.bz2 new file mode 100644 index 0000000..722526b --- /dev/null +++ b/openafs-1.8.1-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f3c13710839510bca985deb6344aeeab72aff3c51b0269e578c7b4ccb8a5638 +size 15115755 diff --git a/openafs-1.8.1-src.tar.bz2.md5 b/openafs-1.8.1-src.tar.bz2.md5 new file mode 100644 index 0000000..5aebff1 --- /dev/null +++ b/openafs-1.8.1-src.tar.bz2.md5 @@ -0,0 +1 @@ +722ddf9e5a283271f53631c6648549f5 /home/kaduk/openafs/1.8.1/openafs-1.8.1-src.tar.bz2 diff --git a/openafs-1.8.1-src.tar.bz2.sha256 b/openafs-1.8.1-src.tar.bz2.sha256 new file mode 100644 index 0000000..6f92071 --- /dev/null +++ b/openafs-1.8.1-src.tar.bz2.sha256 @@ -0,0 +1 @@ +2f3c13710839510bca985deb6344aeeab72aff3c51b0269e578c7b4ccb8a5638 openafs-1.8.1-src.tar.bz2 diff --git a/openafs.changes b/openafs.changes index f91bd06..53ac704 100644 --- a/openafs.changes +++ b/openafs.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Aug 16 14:02:44 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- Fix 32Bit build by adding + commit 554176bd236d772d670df9bdd2496facd5a4209a as + use_timespec64_for_kernel_4.18.patch + +------------------------------------------------------------------- +Thu Aug 16 07:53:42 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- Update to 1.8.1 + ------------------------------------------------------------------- Wed Jun 27 19:09:41 UTC 2018 - christof.hanke@mpcdf.mpg.de diff --git a/openafs.spec b/openafs.spec index 8216af5..bdaa82b 100644 --- a/openafs.spec +++ b/openafs.spec @@ -56,11 +56,11 @@ # used for %setup only # leave upstream tar-balls untouched for integrity checks. -%define upstream_version 1.8.0 +%define upstream_version 1.8.1 Name: openafs -Version: 1.8.0 +Version: 1.8.1 Release: 0 Summary: OpenAFS Distributed File System License: IPL-1.0 @@ -92,18 +92,12 @@ Source56: openafs.CellAlias Source57: openafs.ThisCell Source58: openafs.cacheinfo Source99: openafs.changes -# 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 # PATCH-FIX-UPSTREAM make configure detect ncurses 6 correctly Patch4: openafs-1.8.x.ncurses6.patch # PATCH-SUSE-SPECIFIC make KMP work again Patch5: add_arch_to_linux_kernel_make.patch +# PATCH-KERNEL-4.18-timespec64 Update to Linux struct iattr->ia_ctime to timespec64 with 4.18 +Patch1: use_timespec64_for_kernel_4.18.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # @@ -311,11 +305,8 @@ 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 %patch5 -p1 +%patch1 -p1 %if %{run_regen} %patch4 -p1 diff --git a/use_timespec64_for_kernel_4.18.patch b/use_timespec64_for_kernel_4.18.patch new file mode 100644 index 0000000..427c008 --- /dev/null +++ b/use_timespec64_for_kernel_4.18.patch @@ -0,0 +1,57 @@ +--- openafs-1.8.1/./src/afs/LINUX/osi_file.c.orig 2018-08-16 14:41:44.505768721 +0200 ++++ openafs-1.8.1/./src/afs/LINUX/osi_file.c 2018-08-16 14:42:27.422432188 +0200 +@@ -23,7 +23,11 @@ + #include "osi_compat.h" + + #ifndef CURRENT_TIME +-#define CURRENT_TIME (current_kernel_time()) ++# ifdef IATTR_TAKES_64BIT_TIME ++# define CURRENT_TIME (current_kernel_time64()) ++# else ++# define CURRENT_TIME (current_kernel_time()) ++# endif + #endif + + int cache_fh_type = -1; +--- openafs-1.8.1/src/config/afsconfig.h.in.orig 2018-08-16 15:04:41.102698738 +0200 ++++ openafs-1.8.1/src/config/afsconfig.h.in 2018-08-16 15:05:21.079300996 +0200 +@@ -1023,6 +1023,9 @@ + /* define if hlist iterators don't need a node parameter */ + #undef HLIST_ITERATOR_NO_NODE + ++/* define if struct iattr->ia_ctime takes struct timespec64 */ ++#undef IATTR_TAKES_64BIT_TIME ++ + /* define to disable some gcc warnings in warnings-as-errors mode */ + #undef IGNORE_SOME_GCC_WARNINGS + +--- openafs-1.8.1/src/cf/linux-test4.m4.orig 2018-07-28 23:17:32.000000000 +0200 ++++ openafs-1.8.1/src/cf/linux-test4.m4 2018-08-16 15:08:39.378287300 +0200 +@@ -183,6 +183,17 @@ + []) + ]) + ++AC_DEFUN([LINUX_IATTR_64BIT_TIME], [ ++ AC_CHECK_LINUX_BUILD([whether struct iattr->ia_ctime takes struct timespec64 or 32-bit struct timespec], ++ [ac_cv_linux_func_iattr_ctime_takes_timespec64], ++ [#include ++ #include ], ++ [struct iattr _attrs; ++ _attrs.ia_ctime = current_kernel_time64();], ++ [IATTR_TAKES_64BIT_TIME], ++ [define if struct iattr->ia_ctime takes struct timespec64], ++ []) ++]) + + + AC_DEFUN([LINUX_AOP_WRITEBACK_CONTROL], [ +--- openafs-1.8.1/src/cf/linux-kernel-assorted.m4.orig 2018-08-16 15:24:18.672533975 +0200 ++++ openafs-1.8.1/src/cf/linux-kernel-assorted.m4 2018-08-16 15:25:08.005280795 +0200 +@@ -9,6 +9,7 @@ + LINUX_D_PATH_TAKES_STRUCT_PATH + LINUX_NEW_EXPORT_OPS + LINUX_INODE_SETATTR_RETURN_TYPE ++LINUX_IATTR_64BIT_TIME + LINUX_IOP_I_CREATE_TAKES_NAMEIDATA + LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA + LINUX_IOP_I_PERMISSION_TAKES_FLAGS