commit 2ab21bd6c0bbcc0e663c3b8b9521724316f0a611 Author: Benjamin Kaduk Date: Thu Mar 18 18:50:35 2021 -0700 Make OpenAFS 1.9.1 Update version strings for the second 1.9.x development release. Change-Id: I318ff00f02f618e0a25571a3c957ae6a6500e65c Reviewed-on: https://gerrit.openafs.org/14560 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 8978f6a56b1ced2e8c75dd4feda7b8d602231268 Author: Michael Meffie Date: Thu Feb 18 18:35:33 2021 -0500 Update NEWS for OpenAFS 1.9.1 Change-Id: I20c23a3d0a84491c1eb4b9c36aee62726fb0b4e9 Reviewed-on: https://gerrit.openafs.org/14539 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit f8f3532bf5e0f3e3bb0e09355ddf7c751fae246d Author: Mark Vitale Date: Thu Mar 11 17:34:29 2021 -0500 fstrace: remove common dead code Previous commits removed dead code from both fstrace.c and afs_icl.c. Now remove anything from config/icl.h that is no longer needed. No functional change is incurred by this commit. Change-Id: Ibdad10ec4c91cd8c2d3fbd637354357f05ac2621 Reviewed-on: https://gerrit.openafs.org/14556 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit ba58d9912cff07a6f2af7275017cf70115f1a88d Author: Mark Vitale Date: Thu Mar 11 15:36:54 2021 -0500 afs: remove dead ICL (fstrace) code The ICL code (afs/afs_icl.c) which supports fstrace includes a number of functions that have been dead code since the original IBM code import. Some of these seem to have been intended to support fine-grained event tracing, but the implementation was never completed. Remove the dead code. No functional change is incurred by this commit. Change-Id: If4d6d993175df57d4c5d827ab178ed3ba0bc7ed8 Reviewed-on: https://gerrit.openafs.org/14555 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d60ca9e08f83e2ee12c4bb2f10ca674190b900d2 Author: Mark Vitale Date: Thu Mar 11 15:19:58 2021 -0500 fstrace: remove dead code Numerous functions in venus/fstrace.c with names icl_* have been dead code since the original IBM code import. Furthermore, many of them have similar implementations in afs/afs_icl.c with names afs_icl_*. Remove the dead code. No functional change is incurred by this commit. Change-Id: I3943a9cf333c4044c877b46e7b2eec4285358c18 Reviewed-on: https://gerrit.openafs.org/14554 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c49d383f99969a98da34accf8666a5f3ae6c98d8 Author: Cheyenne Wills Date: Fri Mar 12 12:29:57 2021 -0700 bozo: Fix memory leak, check for malloc failures While reading the BosConfig file, the buffer obtained to hold the notp (notify) parameter is never freed. Reading the BosConfig is only done once at bosserver start up, so this is a one-time memory allocation. There are no checks for malloc failures. Release the notp buffer and add checks for memory allocation errors. Change-Id: Iffcb0db12f983a6a6d6a810a98be30152fa73c89 Reviewed-on: https://gerrit.openafs.org/14551 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 1bd68506be3243c5670aaf53798b2e4e715d4c8b Author: Cheyenne Wills Date: Fri Mar 5 16:31:03 2021 -0700 Linux 5.12: Add user_namespace param to inode ops The Linux commits: "fs: make helpers idmap mount aware" (549c72977) and "attr: handle idmapped mounts" (2f221d6f7) that were merged into Linux-5.12-rc1 cause a build failure when creating the kernel module. Several functions within the inode_operations structure had their signature updated to include a user_namespace parameter. This allows a filesystem to support idmapped mounts. OpenAFS only implements some of the changed functions. LINUX/vnodeops function inode_operation ===================== =============== afs_notify_change setattr afs_linux_getattr getattr afs_linux_create create afs_linux_symlink symlink afs_linux_mkdir mkdir afs_linux_rename rename afs_linux_permission permission Update the autoconf tests to determine if the Linux kernel requires the user_namespace structure for inode_operations functions. If so, define a generic "IOP_TAKES_USER_NAMESPACE" macro. Update the above vnodeops functions to accept a 'struct user_namespace' parameter. When using the 'setattr_prepare' function a user namespace must be now provided. In order to provide compatibility as a non-idmapped mount filesystem the initial user namespace can be used. With OpenAFS, the initial user namespace obtained at kernel module load time is stored in a global variable 'afs_ns'. Update the call to setattr_prepare to pass the user namespace pointed to by the 'afs_ns' global variable. Update calls to setattr to pass the user namespace pointed to by the 'afs_ns' global variable. Notes: The changes introduced with Linux 5.12 allow a filesystem to support idmapped mounts if desired. This commit does not implement support for idmapped mounts, but will continue to use the same initial user namespace as prior to Linux 5.12. With Linux 5.12 the following autoconf checks fail: HAVE_LINUX_INODE_OPERATIONS_RENAME_TAKES_FLAGS HAVE_LINUX_SETATTR_PREPARE IOP_CREATE_TAKES_BOOL IOP_GETATTR_TAKES_PATH_STRUCT IOP_MKDIR_TAKES_UMODE_T The new macro 'IOP_TAKES_USER_NAMESPACE' covers the cases where these macros where used. Change-Id: Id450d5c716137340ed20af5531c0cd756e4435cd Reviewed-on: https://gerrit.openafs.org/14549 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 12ae2beeeb172cebdfa24d5ea149f73fd85541f8 Author: Cheyenne Wills Date: Mon Mar 8 09:22:04 2021 -0700 Linux: Create wrapper for setattr_prepare Move call to setattr_prepare/inode_change_ok into an osi_compat.h wrapper called 'afs_setattr_prepare'. This moves some of the #if logic out of the mainline code. Change-Id: Ie17cf4c645d754c9e9efd8a603f1bc752d07cf36 Reviewed-on: https://gerrit.openafs.org/14548 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit bdd4a0c78b1acaf1c947ca53d16159ef95cc9840 Author: Andrew Deason Date: Wed Jan 1 17:09:24 2020 -0600 FBSD: Avoid recursive osi_VM_StoreAllSegments lock Currently, osi_VM_StoreAllSegments calls vget() for the given vnode, which requires locking the vnode. However, the vnode should already be locked. For example, when called from the close syscall, we reach this function via: vn_close1 -> afs_vop_close -> afs_close -> afs_StoreOnLastReference -> afs_StoreAllSegments -> osi_VM_StoreAllSegments. This causes a panic like so: kernel: panic: lockmgr_xlock_hard: recursing on non recursive lockmgr 0x[...] @ /usr/src/sys/kern/vfs_subr.c:2730 We can also reach this code path from the BOP_STORE background operation (BStore -> afs_StoreOnLastReference -> afs_StoreAllSegments -> osi_VM_StoreAllSegments), initiated from afs_close(), which has the vnode locked. In this case, we won't be recursively locking the vnode, since the process calling afs_close() is the one that holds the lock, and the background thread is the process trying to lock the vnode again. So we'll just deadlock. From the comments in this function, it seems like locking the vnode at all in here is unnecessary, since the vnode should be locked from the higher-level functions anyway. So just skip the vget and all of the related looping retry logic. As a result, this function can now become somewhat simplified. Change-Id: Ic5a18de46e51dc86190207163ad0fe73bc03cbd7 Reviewed-on: https://gerrit.openafs.org/14000 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 14cbd02b8a1a4f1d3c30dd4fb2864d35f39a95eb Author: Tim Creech Date: Thu Aug 29 21:35:36 2019 -0400 FBSD: Accommodate 12.0's 64-bit inodes In FreeBSD 12 (see: https://reviews.freebsd.org/rS318736), the layout of struct dirent changed to allow for 64-bit inodes and a few other changes. Update our struct min_direct to accommodate, to allow our readdir() results to be accurate. Without this, readdir() can yield garbage entries, due to the mismatch in the structure definitions. Change-Id: I36c2bf1f35b4d1ab61a2b4d51da7514827b3551b Reviewed-on: https://gerrit.openafs.org/13854 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c0b7367253eb6c346d577e099a0b0172d4d24ff3 Author: Andrew Deason Date: Fri Mar 5 22:20:35 2021 -0600 dir: Explicitly 'make all' in src/dir/test Currently, we 'cd test' and then just run 'make', which makes the first target specified in the Makefile. On some platforms (FreeBSD), this results in 'make' trying to build '%.c', which of course we cannot do, since that's a pattern rule, and so 'make' fails. To fix this, just 'make all' explicitly, to make the intended targets in src/dir/test. Change-Id: Icbbf60c9c163c24fbbed01c754c4f1eefeae6b78 Reviewed-on: https://gerrit.openafs.org/14550 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit cc1fd6a93d1475867ff2e88fb029a898424372d0 Author: Andrew Deason Date: Sat Apr 25 20:56:01 2020 -0500 FBSD: Lock vm object before vm_page_undirty We must write-lock the underlying vm object before calling vm_page_undirty; otherwise vm_page_undirty asserts if INVARIANTS is defined. For example: kernel: panic: Lock vm object not exclusively locked @ /usr/src/sys/vm/vm_page.c:4487 kernel: kernel: cpuid = 0 kernel: time = 1587858280 kernel: KDB: stack backtrace: kernel: #0 0xffffffff80bf0c07 at kdb_backtrace+0x67 kernel: #1 0xffffffff80ba7f8d at vpanic+0x19d kernel: #2 0xffffffff80ba7d73 at panic+0x43 kernel: #3 0xffffffff80ba3a7e at __rw_assert+0x17e kernel: #4 0xffffffff828da525 at vm_page_undirty+0x15 kernel: #5 0xffffffff828da33e at afs_vop_putpages+0x36e kernel: #6 0xffffffff811ef0ae at VOP_PUTPAGES_APV+0x8e kernel: #7 0xffffffff80ef4c2d at vnode_pager_putpages+0x7d kernel: #8 0xffffffff80ee77cf at vm_pageout_flush+0xff kernel: #9 0xffffffff80edd1b9 at vm_object_page_collect_flush+0x239 kernel: #10 0xffffffff80edce99 at vm_object_page_clean+0x179 kernel: #11 0xffffffff828d681c at osi_VM_StoreAllSegments+0x18c kernel: #12 0xffffffff828508cd at afs_StoreAllSegments+0x9d kernel: #13 0xffffffff8287ae0e at afs_StoreOnLastReference+0x17e kernel: #14 0xffffffff8287c3a5 at afs_close+0x245 kernel: #15 0xffffffff828d7766 at afs_vop_close+0x166 kernel: #16 0xffffffff811eb7a8 at VOP_CLOSE_APV+0x88 kernel: #17 0xffffffff80c80ba3 at vn_close1+0xe3 So, lock the vm object before undirtying our pages in afs_vop_putpages. Change-Id: Ifd047e3caf8c2b3e624aaf2bbdb1235a8c38a414 Reviewed-on: https://gerrit.openafs.org/14162 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e50e5ede55497b0c02647d21905f4134919fbf05 Author: Tim Creech Date: Thu Aug 29 22:12:41 2019 -0400 FBSD: Use VM_CNT_INC/VM_CNT_ADD on FreeBSD 12 r317061 changed where v_vnodein &c are stored. Use the new VM_CNT_INC/VM_CNT_ADD macros when available to accommodate. Change-Id: I576e333ebdf9e1c6ebb14ff1a1af4c3ad89faa47 Reviewed-on: https://gerrit.openafs.org/13859 Tested-by: BuildBot Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit 81ea654494f5c90f67eb54adbb722a95e0d11d82 Author: Benjamin Kaduk Date: Fri Sep 25 09:22:16 2020 -0700 FBSD: avoid vrefl() Commit 20dc2832268eb (correctly) introduced changes so that we avoid interacting with vnodes marked as VI_DOOMED to the extent possible, but in doing so inadvertendly used the vrefl() KPI that was only introduced in FreeBSD 11.0. Rewrite the relevant logic to use the older vref() KPI, at the cost of a few more unlock/locks, in order to have a single codepath that works on all supported FreeBSD versions. Change-Id: Ib315d59ea6c6208bbd0c908d8eaf502a4de51869 Reviewed-on: https://gerrit.openafs.org/14373 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 0066f4e9f27fedc4cf4df52eaf10d35ae5c7ad6e Author: Tim Creech Date: Thu Aug 29 22:13:20 2019 -0400 FBSD: Handle missing LINK_MAX LINK_MAX was removed in r327598. When we don't have a LINK_MAX, just use its value from before it was removed (32767). Change-Id: Id66a2ba8b7085b392def1d17eace22c7f742e1a4 Reviewed-on: https://gerrit.openafs.org/13860 Tested-by: BuildBot Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit 2add334454019b4a8fd979fb16da686cf93b56c6 Author: Tim Creech Date: Thu Aug 29 21:55:05 2019 -0400 FBSD: Use syscall "helper" functions syscall_register/syscall_deregister were effectively removed in r329647. Use syscall_helper_register/syscall_helper_unregister instead, which have existed since r205321 in FreeBSD 9. Change-Id: I2d5e3101024a44c18395d7eb95c644df6005e0aa Reviewed-on: https://gerrit.openafs.org/13858 Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 3bc541743b09f408364a946139c524d53056d40a Author: Tim Creech Date: Thu Aug 29 21:40:26 2019 -0400 FBSD: Handle malloc/free changes in FBSD 12 FreeBSD 12 (r328417) removed the deprecated compatibility macros MALLOC and FREE. Convert our users to just use the normal malloc and free, so we can build. FreeBSD 12 (r334545) also changed malloc() into a macro, which breaks our own malloc macro in our hcrypto config.h. To fix this, just undef malloc, if it's already a macro. Change-Id: I5c683e3834710a60cc78476cbaa7203218b11fe0 Reviewed-on: https://gerrit.openafs.org/13856 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7c89322c45605c90c8ce27a77695a1c291f0def4 Author: Andrew Deason Date: Sat Dec 21 18:34:20 2019 -0600 FBSD: Use CK_STAILQ_FOREACH for ifaces on FBSD 12 FreeBSD 12 changed how network interfaces and network addresses are linked together; we're supposed to use CK_STAILQ_FOREACH to traverse them now, instead of TAILQ_FOREACH. To try to keep this change simpler, introduce a new macro, AFS_FBSD_NET_FOREACH, which picks the right macro to use. Based on a commit by tcreech@tcreech.com. Change-Id: Iab0f93701dd60dcf4237a7fbbf461019bceaeb38 Reviewed-on: https://gerrit.openafs.org/13999 Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 9e98d61ff41709cee8d484be1ecd638a18e2ce0f Author: Tim Creech Date: Sat Dec 21 18:22:40 2019 -0600 FBSD: Add proper locks when traversing net ifaces When traversing the list of network interfaces, or the list of addresses for a network interface, we're supposed to lock the relevant resource with IFNET_RLOCK, if_addr_rlock, or IN_IFADDR_RLOCK. Add these locks around our code that examines network interfaces, to avoid issues if the interface or address list changes while we're traversing them. While we're doing this, move around some "AFS_DARWIN_ENV || AFS_FBSD_ENV" ifdefs, since these were getting a bit hard to read. This commit adds some duplicated code, but the result should be easier to follow. Also for FreeBSD 12, we must be in NET_EPOCH_ENTER when calling ifa_ifwithnet/rx_ifaddr_withnet (it panics if we don't, with INVARIANTS). Add the needed NET_EPOCH_ENTER/EXIT calls, but do so a bit higher up the call stack, since the returned structures are potentially no longer valid after we NET_EPOCH_EXIT. Since this means we're calling these in a few places in libafs, create a couple of rx abstractions (RX_NET_EPOCH_ENTER) to handle the relevant ifdefs. [adeason@dson.org: Various adjustments to locking calls; splitting up DARWIN/FBSD ifdefs.] Change-Id: I65d63b99b6f6ef3254325cce9338be27ef78478c Reviewed-on: https://gerrit.openafs.org/13998 Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 70f3ac5d04a02470366a980224fdf8fadb31b463 Author: Andrew Deason Date: Sat Apr 25 17:20:54 2020 -0500 rx: Indent ifdef maze in rx_kernel.h Change-Id: I3a10206234496b9de6f7ddeafebdee8ab10e5546 Reviewed-on: https://gerrit.openafs.org/14161 Tested-by: BuildBot Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit 08c769967ca12f1ac99c736789f1925763d8a115 Author: Andrew Deason Date: Fri Dec 20 22:09:35 2019 -0600 rx: Indent ifdef maze in rx_kcommon.c Change-Id: I8b898fb5f7bcc142de3a111baaa6dfb9606fa199 Reviewed-on: https://gerrit.openafs.org/13997 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2a8db42664cc450c2db097fe19472fe7876203df Author: Andrew Deason Date: Fri Dec 20 21:51:18 2019 -0600 afs: Indent ifdef maze in afs_server.c Change-Id: I223b932490ca1e89711844e41cbff2cd9b50a0f4 Reviewed-on: https://gerrit.openafs.org/13996 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 7251f0991dd108366115e6c628b01d6f5824fa89 Author: Mark Vitale Date: Wed Feb 17 13:53:55 2021 -0500 rx: correctly count RX_PACKET_TYPE_VERSION packets Since the original IBM code import, rx statistics for counting incoming packet types have inadvertently omitted RX_PACKET_TYPE_VERSION packets. This results in rxdebug -rxstats always reporting 0 for the number of version packets read. A similar bug causes a debugging facility in rxi_ReceivePacket to emit "*UNKNOWN*" instead of "version" for version packets. Correct all versions of the offending logic. Change-Id: I9e713eb595b75ef06a347a1c05edb9efffd0b366 Reviewed-on: https://gerrit.openafs.org/14519 Tested-by: Mark Vitale Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Michael Meffie Tested-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit f3dcf1e07a88032b56deb2eee27d8515af183974 Author: Pat Riehecky Date: Fri Jun 1 15:32:57 2018 -0500 Resolve missing printf args A handful of printf's requested more args than they were given. The missing args are now provided. (via cppcheck) Change-Id: I3d2bfd1b68a3518ee4c8a65f02446a2bae85d926 Reviewed-on: https://gerrit.openafs.org/13155 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 268025f841f1a2bd16b802459a8b590939331bcd Author: Cheyenne Wills Date: Mon Feb 22 11:08:39 2021 -0700 autoconf: use AC_CHECK_TOOL for as and ld Some platforms use the GNU target triplet as a prefix to the toolchain utilities (e.g. x86_64-pc-linux-gnu-as) to allow the use of alternative toolchains, cross-compiling, etc. The Gentoo Linux distribution has a mode of building packages (-native-symlinks) where the toolchain utilities only exist as their prefixed names (e.g. 'as' does not exist, but 'x86_64_pc-linux-gnu-as' does). This results in configure failing to locate the tools when using AC_CHECK_PROGS. (Gentoo uses the --host and --build configure parameters to specify the prefix names for the tools). Replace AC_CHECK_PROGS with AC_CHECK_TOOL for the toolchain related commands 'as' and 'ld'. AC_CHECK_TOOL works like AC_CHECK_PROGS but it will also look for the program with a prefix (specified by using configure's --host parameter). Note: libtool.m4 runs AC_CHECK_TOOL for ar. Change-Id: I8005c765d213b7d1d6292a7dd80f10a3d0e2ec68 Reviewed-on: https://gerrit.openafs.org/14544 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a9cff4ab4c9eba40145706778664318de2d89c12 Author: Pat Riehecky Date: Wed Jun 6 10:55:18 2018 -0500 strlcpy restricted to array length. For kaprocs, size of 'caller.userID.name' is defined by a different macro than size of 'name'. They can become out of sync, so restricting to size of dest. For scout and afsmon-win, the if statement determined that the string was longer than the dest buffer. So we are using the size of the buffer as the max length to setup for truncation. (via cppcheck) Change-Id: I38a2bff1d59d17ea02e136c35cd5b132a75a8ed8 Reviewed-on: https://gerrit.openafs.org/13163 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4898be6278f6ff4e214dfe993c0aa31262b9036f Author: Pat Riehecky Date: Tue Jun 12 13:33:31 2018 -0500 localtime can return NULL if unable to read system clock This adds checks for some invocations of localtime() to avoid possible NULL dereference. (via facebook-infer) Change-Id: I2b779d8f60c032563eb4ee3cebe20b14afbb0fa3 Reviewed-on: https://gerrit.openafs.org/13206 Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit ec45ae60536190c2f5fbf272a9acfe0a85824e24 Author: Pat Riehecky Date: Wed Sep 19 15:51:00 2018 -0500 configure.ac: Add missing double include guard This is primarily a sanity check (identified by clang-tidy). Change-Id: I92d05fdfed0e32c0e39cc2f8ce412b613c0a38fc Reviewed-on: https://gerrit.openafs.org/13333 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 441c00c430f8af30be425a51bc5fbe0d6c005afa Author: Pat Riehecky Date: Fri Jun 1 15:59:37 2018 -0500 If realloc() == NULL we lost the pointer to old memory Systems under memory pressure may fail to realloc(). If so, the pointer to the old memory is lost, but not released. This code catches the pointer before hand to ensure the memory isn't leaked. (via cppcheck) Change-Id: I4c5a11c1daf4e78f7ffde71af0175d9106f6c3cd Reviewed-on: https://gerrit.openafs.org/13156 Reviewed-by: Joe Gorse Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 9338cb5fce2e38b864b8f957b6ea4c56c78d20f8 Author: Michael Meffie Date: Tue May 31 16:23:41 2016 -0400 SOLARIS: provide cache manager stats via kstat Provide statistical information via the solaris kstat framework. Data can be examined with the kstat tool or the kstat userspace api. The kstat module is called openafs. Three kstat names are provided. The "param" name provides cache manager parameters as given by the cmdebug -cache program. # kstat -m openafs -n param The "cache" name provides cache manager statistics as given by the xstats plus some additional cache related stats. The "cache" name also provides the libafs kernel module version string and the current local cellname. # kstat -m openafs -n cache The "rx" name provides general rx statistics as given by rxdebug -rxstat. # kstat -m openafs -n rx Change-Id: Ic07e3b58fa5c79145f12f8519a6f7fce0d91138b Reviewed-on: https://gerrit.openafs.org/13170 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6b96a49eb6268adf9fc7e077fe849af7802a1575 Author: Andrew Deason Date: Wed Aug 26 13:54:00 2020 -0500 Retire AFS_MOUNT_AFS Currently, the AFS_MOUNT_AFS #define is used to mean two completely different things: - The string "afs", corresponding to the first argument to mount(2) on many platforms and some related calls inside libafs (e.g. getnewvnode() on FBSD). - An integer identifying the AFS filesystem (e.g. gfsadd() on AIX). Depending on the platform and the build context (UKERNEL vs KERNEL), AFS_MOUNT_AFS gets defined to one of those two things. This is very confusing, and has led to mistakes in the past, such as those fixed in commit 446457a1 (afs: Set AFS_VFSFSID to a numerical value). To avoid such confusion, get rid of AFS_MOUNT_AFS completely, and replace it with two new symbols: - AFS_MOUNT_STR, the string "afs". - AFS_FSNO, the integer given to gfsadd() et al. When AFS_MOUNT_AFS is split this way, AFS_MOUNT_STR then is always defined to the same value, so remove it from the param.h files for our platforms. Instead, define it in afs.h for libafs use, and in afsd_kernel.c (the only place outside of src/afs that uses it). Also remove the logic for conditionally defining MOUNT_AFS from the param.h files, moving the logic to the same locations as AFS_MOUNT_STR. Note that this commit removes the numeric definition for AFS_MOUNT_AFS in param.sgi_65.h (aka AFS_FSNO). We never actually used this value, since AFS_FSNO is not used on IRIX; instead, we tend to use the 'afs_fstype' global instead of a constant number. Change-Id: I6cbf051dc938cd1c456cbe236c0afe99a3c3dd87 Reviewed-on: https://gerrit.openafs.org/14323 Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e0e0b3cea6305cdbccc71039a05d6121c32c51cf Author: Andrew Deason Date: Mon Dec 21 20:43:56 2020 -0600 Remove AFS_PARISC_LINUX24_ENV references Since commit 91713206 (Remove LINUX24 from src/afs), AFS_PARISC_LINUX24_ENV is never defined. Remove references to it. Change-Id: I854701f26ec86b9b9fb99dc57c36f04f78a09517 Reviewed-on: https://gerrit.openafs.org/14472 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 78ef922612bef5f5fd6904896e84b9d2ea802404 Author: Cheyenne Wills Date: Fri Jan 22 07:57:55 2021 -0700 Linux 5.11: Test 32bit compat with in_compat_syscall Linux 5.11 removed the TIF_IA32 thread flag with commit: x86: Reclaim TIF_IA32 and TIF_X32 (8d71d2bf6efec) The flag TIF_IA32 was being used by openafs to determine if the task was handling a syscall request from a 32 bit process. Building against a Linux 5.11 kernel results in a build failure as TIF_IA32 is undefined. The function 'in_compat_syscall' was introduced in Linux 4.6 as the preferred method to determine if a syscall needed to handle a compatible call (e.g. 32bit application). To resolve the build problem, use 'in_compat_syscall' if present (Linux 4.6 and later) to determine if the syscall needs to handle a compatibility mode call. Add autoconf check for in_compat_syscall. Notes about in_compat_syscall: In Linux 4.6 'in_compat_syscall' was defined for all architectures with a generic return of 'is_compat_task', but allows architecture specific overriding implementations (x86 and sparc). At 4.6 (and later), the function 'is_compat_task' is defined only for the following architectures to return: Arch Returns ======= ============================== arm64 test_thread_flag(TIF_32BIT); mips test_thread_flag(TIF_32BIT_ADDR) parisc test_ti_thread_flag(task_thread_info(t), TIF_32BIT) powerpc is_32bit_task() s390 test_thread_flag(TIF_31BIT) sparc test_thread_flag(TIF_32BIT) If the Linux kernel is not built with compat mode, is_compat_task and in_compat_syscall is set to always return 0 Linux commit that introduced in_compat_syscall: compat: add in_compat_syscall to ask whether we're in a compat syscall (5180e3e24fd3e8e7) Change-Id: I59deebfe5d8cddaf845b15ef69e65a684a961280 Reviewed-on: https://gerrit.openafs.org/14499 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 32cc6b0796495e596262d84c428172a511f757c4 Author: Cheyenne Wills Date: Fri Jan 29 11:32:36 2021 -0700 Linux: Refactor test for 32bit compat Refactor the preprocessor checks for determining the method to test for 32bit compatibility (64bit kernel performing work for a 32bit task) into a common inline function, 'afs_in_compat_syscall' that is defined in LINUX/osi_machdep.h. Update osi_ioctl.c and afs_syscall.c to use afs_in_compat_syscall. Add include afs/sysincludes into osi_machdep.h to ensure linux/compat.h is pulled for the functions called in afs_in_compat_syscall. Change-Id: I6610cc19fedd909de8e8941ded05ed1608e52403 Reviewed-on: https://gerrit.openafs.org/14500 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 0c1465e4f3310daa54f1e799f76237604222666d Author: Andrew Deason Date: Thu Jan 28 16:59:47 2021 -0600 LINUX: Fix includes for fatal_signal_pending test Commit 8b6ae289 (LINUX: Avoid lookup ENOENT on fatal signals) added a configure test for fatal_signal_pending(). However, this check fails incorrectly ever since Linux 4.11, because fatal_signal_pending() was moved from linux/sched.h to linux/sched/signal.h in Linux commit 2a1f062a (sched/headers: Move signal wakeup [...]). Fix this by including linux/sched/signal.h if we have it during the configure test. A false negative on this configure test doesn't break the build, but it disables one of our safeguards preventing incorrect negative dentries at runtime. The function fatal_signal_pending() hasn't changed in quite some time (except for what header it lives in); it was introduced in Linux 2.6.25 via Linux commit f776d12d (Add fatal_signal_pending). So to try to avoid this mistake again in the future, make it so a missing fatal_signal_pending() breaks the build if we're on Linux 2.6.25+. Change-Id: Id0b91b2f24e2ea87c9c900076ab7ab1fcab3d304 Reviewed-on: https://gerrit.openafs.org/14508 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 031ebf43a8d4db79ee1aa9aff571094354c548b1 Author: Cheyenne Wills Date: Tue Dec 22 11:06:42 2020 -0700 afs: Cleanup afsincludes.h indentation Clean up the indentation of preprocessor statements Remove commented out code. Change-Id: I37fec6f15a8972651ef05aa00580a2628e0a1a46 Reviewed-on: https://gerrit.openafs.org/14471 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 873a5d9e8835b969370f1f031acef60745a0fff8 Author: Cheyenne Wills Date: Tue Dec 22 11:03:33 2020 -0700 afs: Clean up VNOPS/afs_vnops_attrs.c indentation Clean up the indentation of preprocessor statements, add #endif comments where helpful. Clean up whitespace in code indentation. Change-Id: I5e6eb3d8ad2688f2b5a56b760d1c1f031f6ca9ec Reviewed-on: https://gerrit.openafs.org/14470 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2628e0b5070835ded51e61f33bbb3ecaa19da012 Author: Cheyenne Wills Date: Thu Nov 21 11:58:04 2019 -0700 rx: Remove dead reference to rxk_ListenerProc rx_prototypes.h has an extern definition for rxk_ListenerProc. That function was removed in commit e261238470ed28ee7c1068d914de171b34033e09 'SOLARIS: Perform daemon syscalls as kernel threads' Remove the extern definition/reference in rx_prototypes.h Change-Id: I9f845f24f993f5a5cfb353e594ecdf3ec6de73ab Reviewed-on: https://gerrit.openafs.org/14038 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit d7469128ceefbd96b61f32f62fd1e11c3674dac8 Author: Cheyenne Wills Date: Wed Dec 23 13:25:31 2020 -0700 afs: Clean up afs_init.c indentation Clean up the indentation of preprocessor statements, add #endif comments where helpful. Clean up whitespace in code indentation. Change-Id: Id7eeeabfea52c99f783e23468cfc89ce9ed8eae5 Reviewed-on: https://gerrit.openafs.org/14469 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit bf37aec672efaf7824d9c96bcff7a45eb47ef280 Author: Cheyenne Wills Date: Fri Jan 22 12:48:21 2021 -0700 tests: fix potential divide by zero condition Running clang's static analysis revealed a possible divide by zero condition. There is a random chance of the divide by zero. - it has to be in the first pass of the main loop testing events (counter = 0) - 90% chance path : if (counter < (NUMEVENTS -1) && random() % 10 == 0) -- needs to be false - 25% chance path: if (random() % 4 == 0) -- needs to be true if the above conditions are met, the statement int victim = random() % counter is a divide by zero. Add a check to ensure the counter is greater than zero. Add a comment to document that only events prior to the current event are randomly selected. Change-Id: I4b4e73fa324842bb504bcc952079af15aea8a6a3 Reviewed-on: https://gerrit.openafs.org/14501 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 43ef1f2a5d80aa1c3f5b4831ada8e776ac0c7d13 Author: Benjamin Kaduk Date: Thu Jan 14 10:20:59 2021 -0800 Remove overflow check from update_nextCid The rx_nextCid global has been an unsigned type since http://gerrit.openafs.org/11106 (which was actually merged before the refactoring of overflow check to avoid signed integer overflow) and thus there is no need to avoid signed overflow. The per-connection cid has been unsigned since the IBM import. The natural unsigned behavior on overflow of wrapping is the desired behvaior here, so just remove the extra logic and always increment. Change-Id: I2d9fd24082b762eb871199da3ac1cc0983764585 Reviewed-on: https://gerrit.openafs.org/14496 Reviewed-by: Jeffrey Hutzelman Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 2c0a3901cbfcb231b7b67eb0899a3133516f33c8 Author: Jeffrey Altman Date: Thu Jan 14 09:57:13 2021 -0500 rx: update_nextCid overflow handling is broken The overflow handling in update_nextCid() produces a rx_nextCid value of 0x80000001 which itself is out of the valid range. When used to construct the first call of a new connection the connection id for the call becomes 0x80000002, and all subsequent connections also trigger the overflow handling and thus also receive connection id 0x80000002. If the same connection id is used for multiple connections from the same endpoint the accepting rx peer will be very confused. When authenticated connections are used, the CHALLENGE/RESPONSE will fail because of a mismatch in the connection's callNumber array. If an initiator makes only a single connection to a given rx peer, that connection would succeed, but once multiple connections are initiated all communication from a broken initiator to any rx peer will fail. The incorrect overflow calculation was introduced by 39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid generation into the rx core"). This change corrects the overflow value to become 1 << RX_CIDSHIFT Change-Id: If36e3aa581d557cc0f4d2d478f84a6593224c3cc Reviewed-on: https://gerrit.openafs.org/14492 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit a3bc7ff1501d51ceb3b39d9caed62c530a804473 Author: Jeffrey Altman Date: Thu Jan 14 09:41:39 2021 -0500 rx: rx_InitHost do not overwrite RAND_bytes rx_nextCid 39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid generation into the rx core") introduced the use of RAND_bytes() to generate the initial 'rx_nextCid' but failed to remove the rx_nextCid = ((tv.tv_sec ^ tv.tv_usec) << RX_CIDSHIFT; assignment inherited from IBM/Transarc. At Thu, 14 Jan 2021 08:25:36 GMT the IBM inherited calculation overflows the value CID range. This triggers broken overflow logic in update_nextCid(). Change-Id: Ib7283def1ded9792d394133a3969a6d86f3a6123 Reviewed-on: https://gerrit.openafs.org/14491 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Jeffrey Hutzelman Reviewed-by: Cheyenne Wills Tested-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 32dfff2c9881e76446446f8c8875b978ca4cbefb Author: Mark Vitale Date: Tue Jan 12 15:50:07 2021 -0500 volser: correctly attribute 'vos partinfo' errors Since the original IBM code import, the 'vos partinfo' error message blames the wrong command, 'vos listpart': $ vos partinfo afs01.sinenomine.net : Could not get afs tokens, running unauthenticated. Could not fetch the list of partitions from the server Possible communication failure Error in vos listpart command. Possible communication failure Correct the error message to specify 'vos partinfo' instead. Change-Id: I966dee8c679db89c7ed5ce21d31ebc7424803cf2 Reviewed-on: https://gerrit.openafs.org/14489 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 750628da77bb71e24ed3061431bbb913ff8d5f72 Author: Mark Vitale Date: Thu Aug 20 16:09:02 2020 -0400 vol: prevent salvage segfault for orphaned vnode with out-of-range parent While salvaging a RW volume, salvager may segfault if it encounters an orphaned directory with a parent vnode that does not exist. For example, if the large vnode index contains a maximum vnode of 2901, any parent vnode encountered that is larger than 2901 will result in an out-of-bounds reference to our vnode essence array, leading to a segfault or undefined behavior. Modify the logic to check for out-of-bounds parent vnodes, and log them rather than segfaulting. Change-Id: I49f53935830fbb428fe0bff04c33248d3806a4b2 Reviewed-on: https://gerrit.openafs.org/14385 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 444a971edc47c34efbefed6e332ee6e843ae072b Author: Andrew Deason Date: Sat Jan 9 12:50:03 2021 -0600 afs: Remove SRXAFSCB_GetDE The GetDE RPC has been commented out from afscbint.xg effectively since it was introduced, but we still define the SRXAFSCB_GetDE server stub for it. This is useless, but also potentially dangerous, since the stub routine just returns success, without populating the output arguments. One of the output arguments is a string, and so if this RPC is actually run, the rxgen-generated server code will try to xdr_string() that string. Since we never set it to anything, this will result in xdr_string trying to dereference a NULL pointer. None of this actually happens currently, since the GetDE RPC is commented out. But to avoid the above situation if it's ever uncommented, remove the useless SRXAFSCB_GetDE function. Change-Id: I6ef478ee69a8de1ac14baa86aa82489181d67452 Reviewed-on: https://gerrit.openafs.org/14488 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2971dcb3b4da04fff3f4bd9c3d3e3f0ab7a94cae Author: Andrew Deason Date: Sat Jan 9 12:47:09 2021 -0600 WINNT: Restore missing '#ifdef PC' Commit 339167ef (Remove dead code) meant to remove the '#ifdef notdef' block in here, but we accidentally also removed the subsequent '#ifdef PC'. This file may not be very important, since WINNT still builds with this mistake, but an unbalanced #ifdef is potentially super confusing, so fix it. Change-Id: I100792830e1bed0af08bcb81a34bb185b2c6358a Reviewed-on: https://gerrit.openafs.org/14487 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk commit 2630e70550defc664efa0952589cf82ed3c51796 Author: Andrew Deason Date: Mon Feb 10 15:57:43 2014 -0600 Move key-related warnings to common server code Each server process can log a couple of different warnings about the server keys found on disk: - If afsconf_GetLatestKey() returns success (indicating a single-DES key is present), we call LogDesWarning(). - If afsconf_CountKeys() returns 0 (indicating there are no keys at all on disk), we log a warning that all authenticated access will fail. Currently, the code to do these checks and log the relevant warning is duplicated across the startup code for nearly every server process. To avoid this duplication, and to make sure the checks aren't accidentally skipped for anyone, move these checks to afsconf_BuildServerSecurityObjects, which every server process calls. We must add an additional parameter to afsconf_BuildServerSecurityObjects to handle the different logging mechanism these servers use, but afsconf_BuildServerSecurityObjects is declared in a public header (cellconfig.h), and is exported in a public library (libafsauthent). So to avoid changing a public symbol, introduce a new variant of the function, called afsconf_BuildServerSecurityObjects_int. Declare this in a new internal header, authcon.h. We don't have easily-usable logging functions for upserver and butc, so just don't log the warnings for those. For ubik servers, don't update ubik_SetServerSecurityProcs to use the new function; the initial call to afsconf_BuildServerSecurityObjects_int in the server's startup code will cover logging the warning on startup. Change-Id: I5d5fceefdaf907f96db9f1c0d21ceb6957299a59 Reviewed-on: https://gerrit.openafs.org/10831 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit faa9d8f11f28232000446d787ebf53ab9345eb89 Author: Andrew Deason Date: Sat Dec 8 18:05:36 2018 -0600 rx: Split out rxi_ConnectionMatch Split out the connection-matching logic in rxi_FindConnection into a new function called rxi_ConnectionMatch, so we can use it in other functions in future commits. This commit should have no visible impact; it is just code reorganization. Change-Id: Ibacec68d268977a8a2a3aca172653fc088334da6 Reviewed-on: https://gerrit.openafs.org/13603 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit c43933279141c86f6029f14ca4aee06fe3addcf7 Author: Andrew Deason Date: Sat Dec 8 17:16:43 2018 -0600 rx: Remove unneeded rxi_ReceiveDataPacket params rxi_SplitJumboPacket doesn't use its 'host', 'port', or 'first' arguments, and rxi_ReceiveDataPacket only uses its 'host' and 'port' arguments to pass to rxi_SplitJumboPacket. Remove these unused parameters from both functions. While we're changing rxi_SplitJumboPacket anyway, move the declaration for rxi_SplitJumboPacket to rx_internal.h, so it's no longer in a public header. This commit should have no visible impact; it is just code reorganization. Change-Id: I16a7f613957d8cd2d415f65fa083e11d8a13edc8 Reviewed-on: https://gerrit.openafs.org/13602 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit a36832e2d891caab8644a3b4641c7c94fab4105f Author: Andrew Deason Date: Thu Sep 19 12:18:08 2019 -0500 rx: Avoid new server calls for big-seq DATA pkts We currently never open our receive window to more than 32 packets. If we received a DATA packet for an unrecognized call with a seq of 33 or more, the packet is almost certainly from a previously-running call that we were restarted during. As described in commit 7b204946 (rx: Avoid lastReceiveTime update for invalid ACKs) and commit "rx: Avoid new server calls for non-DATA packets", clients can get confused when we respond to calls in these situations, so drop the packets instead. Change-Id: I5b3a699bf245375e92ac97a24ad3638cbb3b8f3c Reviewed-on: https://gerrit.openafs.org/13876 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit cd35aa9e2aec16d622177eeea1e1b3ec8aacdd45 Author: Andrew Deason Date: Wed Dec 23 12:44:35 2020 -0600 afs: Fix XBSD check for VNOVAL va_uid Commit e86eb73e (obsd-vattrs-20040125) introduced an XBSD-specific check to detect some unchanged attributes. But the #ifdef for XBSD for the va_uid section was added in the middle of an HPUX-specific block by mistake. Move this #ifdef one level higher, so it's actually used on BSD platforms. Change-Id: I606f87f21d6c4830ed8bcf50abd6fb5807868ff5 Reviewed-on: https://gerrit.openafs.org/14473 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit 3f9a08db86f951df3f6f69f1143f17dd7b43b150 Author: Mark Vitale Date: Thu Aug 8 18:18:22 2019 -0400 rx: Avoid new server calls for non-DATA packets Normally, a client starts a new Rx call by sending DATA packets for that call to a server, and rxi_ReceiveServerCall on the server creates a new call struct for that call (since we don't recognize it as an existing call). Under certain circumstances, it's possible for a server to see a non-DATA packet as the first packet for a call, and currently rxi_ReceiveServerCall will create a new server call for any packet type. The call cannot actually proceed until the server receives data from the client (and goes through the challenge/response auth handshake, if needed), but usually this is harmless, since the existence of any packets for a particular call channel indicate that the client is trying to run such a call. The server will respond to the client with ACKs to indicate that it is missing the needed DATA packet(s), and the client will send them and the call can proceed. However, if a call is in the middle of running when the server is restarted, the client may be sending ACKs for a pre-existing call that the server doesn't know about. In this case, the server generates ACKs that indicate the server has not received any DATA packets, which may appear to violate the protocol, depending on the prior state of the call (e.g. the server appears to try to move the window backwards). Clients should be able to detect this and kill the call, but many do not. For many OpenAFS releases before commit 7b204946 (rx: Avoid lastReceiveTime update for invalid ACKs), the client will get confused in this situation and will keep the call open forever, never making progress. There isn't any benefit to creating a new server call in these situations, so just ignore non-DATA packets for unrecognized calls, to avoid stalled calls from such clients. Those clients will not get a response from the server, and so the call will eventually die from the normal Rx call timeout. Change-Id: I565625ba8b6901f9b745124a8816a9ba816c0264 Reviewed-on: https://gerrit.openafs.org/13758 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7b204946010673506e0f74991f59a0865292199c Author: Andrew Deason Date: Tue Aug 27 22:58:23 2019 -0500 rx: Avoid lastReceiveTime update for invalid ACKs Currently, we ignore ACK packets in a few cases: - If the ACK appears to move the window backwards (if firstPacket is smaller than call->tfirst). - If the ACK appears to have been received out of order (if previousPacket is smaller than call->tprev). - If the ACK packet appears truncated. In all of these cases, we ignore the ACK packet completely in our ACK processing code (rxi_ReceiveAckPacket), but we still process the packet at higher levels (rxi_ReceivePacket). Notably, this means we update call->lastReceiveTime after rxi_ReceiveAckPacket returns, even for ACK packets we haven't really looked at. Normally this does not cause any noticeable problems, because such packets should either never be encountered, or only consist of a small number of packets that are mixed in with valid packets. However, if our peer is a server, and it is restarted in the middle of a call, our peer may exclusively send us packets that fall into the above categories. (This does not happen if our peer is a client, because clients just ignore packets for calls they do not recognize.) For example: Consider a call where a client is sending data to a server, and the server restarts after the client has sent a DATA packet with sequence number 1000. The server may then start responding to the client with ACKs with firstPacket set to 1, since the restarted server has no knowledge of the call's state. In this case, a firstPacket of 1 is well below where our window was, so all of the ACKs from the server are ignored. But we keep updating call->lastReceiveTime for all of these packets, and so the call stays alive forever until an idle-dead or hard-dead timeout activates (if any are set). As another example, consider the case where a client is sending data to a server, and the server receives a full window of packets (say, 16 packets), has not yet passed any data to the application yet, and the server restarts. The restarted server then starts responding to the client with ACKs with firstPacket set to 1, and previousPacket set to 0. We also ignore all of the ACKs from the server in this case, because even though firstPacket looks sane, it looks like previousPacket has gone backwards. We still update call->lastReceiveTime for each ignored ACK we get, keeping the call alive. Before commit 4e71409f (Rx: Reject out of order ACK packets) was introduced in 1.6.0, neither of these issues could occur. That commit introduced the issue specifically if previousPacket goes backwards; that is, if the server restarts before firstPacket moves forwards. Commit 8d359e6d (rx: Remove duplicate out of order ACK check) in 1.8.0 introduced the issue when 'firstPacket' goes backwards, since previously the FIRSTACKOFFSET-based check caused us to ignore those packets without updating call->lastReceiveTime. That is, if the server restarts after firstPacket moves forwards. In this commit, we still ignore packets in the above cases, but we also avoid updating lastReceiveTime when we update such packets, to make sure that we do not keep a call alive solely from receiving these invalid packets. Alternatively, we could change our logic to immediately abort calls where firstPacket moves backwards (since this violates the Rx protocol), or to not ignore some packets where previousPacket goes backwards (since these calls may be recoverable). And we could also skip updating lastReceiveTime for invalid packets of other types. But for now, this commit just avoids updating lastReceiveTime for invalid ACK packets, in order to just try to restore our behavior before 1.6.0, while still retaining the benefits of ignoring out-of-order ACKs. Further changes in this area can potentially be handled separately by future commits. Also increment the spuriousPacketsRead counter for packets that we ignore in this way (which we used to do for some packets before commit 8d359e6d), so we are not entirely silent about ignoring them. Written in collaboration with mvitale@sinenomine.net. Change-Id: Ibf11bcb2417d481ab80cf4104f2862d1d6502bf4 Reviewed-on: https://gerrit.openafs.org/13875 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit f6490629e1239c412002f316804c656c9be61400 Author: Andrew Deason Date: Wed Aug 28 17:12:53 2019 -0500 rx: Introduce ack_is_valid Take some of our existing logic for ignoring invalid ACK packets and split it out into a separate function, ack_is_valid. This just makes it easier to add more complex logic in here and write longer comments explaining the decisions. Note that the bug mentioned regarding the previousPacket field was introduced in IBM AFS 3.5, and was fixed in OpenAFS in commit bbf92017 (rx: rxi_ReceiveDataPacket do not set rprev on drop), included in OpenAFS 1.6.23. This commit incurs no functional change; it is just code reorganization. Change-Id: Idd569c6bc0c475e700935cf86780a04ab24102f4 Reviewed-on: https://gerrit.openafs.org/13874 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 5c9234694543f206174d30e21886286d419fd8df Author: Andrew Deason Date: Mon Nov 2 13:52:25 2020 -0600 rx: For AFS_RXERRQ_ENV, retry sendmsg on error When AFS_RXERRQ_ENV is defined, we currently end up doing something like this for our sendmsg abstractions: if (sendmsg(...) < 0) { while (rxi_HandleSocketError(sock)) ; return error; } return success; This means that when sendmsg() returns an error, we process the socket error queue before returning an error. The problem with this is that when we receive an ICMP error on our socket, it creates a pending socket error that is returned for any operation on the socket. So, if we receive an ICMP error after trying to contact any peer, sendmsg() could return an error when trying to send for any other peer. Even though there is no issue preventing us from sending the packet, we'll fail to actually send the packet because sendmsg() returned an error. This effectively causes an extra outgoing packet drop, possibly delaying the related RPC. To avoid this, change Rx to retry the sendmsg call when it returns an error, since the error may be due to an unrelated ICMP error. To avoid needing to implement this retry loop in multiple places, move around our sendmsg code for AFS_RXERRQ_ENV, so that the higher-level function rxi_NetSend performs the retry and checks for socket errors (instead of the lower-level rxi_Sendmsg or osi_NetSend). Also change our functions to process socket errors to be more consistent between kernel and userspace: now we always have rxi_HandleSocketErrors, which runs a loop around the platform-specific osi_HandleSocketError. With this commit, osi_HandleSocketError is now required to be implemented when AFS_RXERRQ_ENV is defined. We hadn't been implementing this for UKERNEL, so just turn off AFS_RXERRQ_ENV for UKERNEL. Thanks to mbarbosa@sinenomine.net for discovering and providing information about the relevant issue. Change-Id: Iccceddcd2d28992ed7a00dc308816a0cb1a0195f Reviewed-on: https://gerrit.openafs.org/14424 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit eff7fa4b2eb9a3001dc18dca157ccbd5f19f89b6 Author: Andrew Deason Date: Mon Nov 2 13:16:41 2020 -0600 rx: Save errno in pthread rxi_Sendmsg Currently, our pthread version of rxi_Sendmsg uses 'errno' in some logic if sendmsg fails, but we do so after calling functions that might alter errno (e.g. fflush). To make sure we get the correct errno value, save the value of errno right after sendmsg returns an error. Reorganize this function a bit to help make the logic easier to follow. Change-Id: I6bf284bd75edb5404bb6771bb99a9381b0f8654d Reviewed-on: https://gerrit.openafs.org/14423 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2ad9190b838fd720f4788b18099cc6b6fd3a6727 Author: Michael Meffie Date: Sun May 22 20:35:26 2016 -0400 afsio: readdir/fidreaddir commands Add the readdir/fidreaddir sub-commands to afsio dump AFS3 directory objects. This command dumps the raw directory object to stdout. Pipe the output to a program, such as the afsdump_dirlist program (from the CMU dumpscan tool kit), to parse the directory object. Example usage: afsio readdir -dir /afs/mycell/mypath/somedir | afsdump_dirlist Change-Id: Ief181b432cdea6a11bbe61e781686ade2795faad Reviewed-on: https://gerrit.openafs.org/12381 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 1efa4e49f2dabe2f3a1ef235e21a96ae9d5ff6bf Author: Mark Vitale Date: Mon Dec 7 14:42:54 2020 -0500 vol: always build vol-bless utility In order to avoid future bit-rot, always build vol-bless. Also add it to the clean rule. However, continue to leave it undistributed and uninstalled by default. Change-Id: I3d2dc94c28a7feeb20167223655e97538e807ce6 Reviewed-on: https://gerrit.openafs.org/14464 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 4a45219eb7617e918761553a698d4c10a04f56dd Author: Benjamin Kaduk Date: Fri Dec 11 11:09:20 2020 -0800 Fix spelling of struct rx_ackPacket in comment A comment in rx_packet.h referred to the size of struct rx_ackpacket, but the actual structure is spelled with a majuscule 'P'. Change-Id: Iaf57f098b2e818fe0d492a89347a0a14bc3eb392 Reviewed-on: https://gerrit.openafs.org/14468 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7239565b0fea8504deebc5bd43c4fa1ea80fcb17 Author: Andrew Deason Date: Mon Nov 2 13:11:49 2020 -0600 rx: Reorganize LWP rxi_Sendmsg to use 'goto error' Our LWP version of rxi_Sendmsg can allocate an fd_set, but we don't free the fd_set if sendmsg() returns certain errors afterwards. To make sure we go through the same cleanup code for the different possible error code paths, reorganize the function to go through a 'goto error'-style destructor. This also makes our return codes a bit more consistent; we should always return -errno now for errors. Change-Id: I5eaeb7f4ea1d76acc3bd9c52dc258f53f59f631e Reviewed-on: https://gerrit.openafs.org/14422 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 01c10fe8a98ffabd5cf9ec27f4b51f7011c3f1af Author: Andrew Deason Date: Thu Dec 10 14:17:56 2020 -0600 audit: Add missing AUD_TSTT case In commit 9ebff4c6 (OPENAFS-SA-2018-001 audit: support butc types), several new butc-related audit data types were added. In the AIX-specific audmakebuf() function, the case for the AUD_TSTT type is missing the actual "case" clause in the code, causing AUD_TSTT types to be treated as invalid (and so falling through to the "AFS_Aud_EINVAL" case). Add the "case" for AUD_TSTT, so it's treated properly on AIX. Note that the non-AIX printbuf() already handled this properly, so no changes are needed there. Change-Id: Ic46c18b503bacb0901ff0a60534f6c45ce3c9a75 Reviewed-on: https://gerrit.openafs.org/14466 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 986ee6a0a70d70f366baeb43670eb367f0525b97 Author: Mark Vitale Date: Mon Dec 7 14:40:33 2020 -0500 vol: add vol-bless to .gitignore No functional change is incurred by this commit. Change-Id: If84ba946d43d67eb6c253462f5826f9a45a2df46 Reviewed-on: https://gerrit.openafs.org/14463 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit e1f20287a4d0cd80c6bfe7309b907fe5a4ac1464 Author: Mark Vitale Date: Mon Dec 7 13:13:28 2020 -0500 vol: make vol-bless buildable again The vol-bless utility is not built by default and so is subject to bit-rot. Thus commit 170dbb3ce301329ff127bb23fb588db31439ae8d 'rx: Use opr queues' overlooked vol-bless.c when adding includes for users of struct rx_queue. Add the required #include so vol-bless builds again. Note to maintainers: this change is only required for 1.8.x and later; vol-bless builds fine in 1.6.x and earlier releases. Change-Id: Ia0bb78e3e7dd74b2f65ac07707aced2c81aaa5d9 Reviewed-on: https://gerrit.openafs.org/14462 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 23bd776b0140deb596287869872a41de555ba99a Author: Mark Vitale Date: Thu Aug 9 17:40:09 2018 -0400 afs: consolidate duplicated wait-for-cache-drain code Consolidate duplicated logic into a new routine afs_MaybeWaitForCacheDrain(). Change-Id: I2e23b86eeaabe3bc559e3ddca5c1e03082af6a3f Reviewed-on: https://gerrit.openafs.org/13278 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 25792e246362a201743533a970f90dbc77d0ed5c Author: Michael Meffie Date: Mon Jun 20 15:29:45 2016 -0400 afs: more cache truncation stats Add counters for cache too full and waiting to drain occurrences. These will be used in later commits to indicate how often the cache truncation is required and how often the cache manager is waiting for cache truncation to complete. Change-Id: I4aa802729f0910dff1fb3e90b2d44d36df8bf8f3 Reviewed-on: https://gerrit.openafs.org/13168 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 611507d8b5f59b9f74fb19729026e3a48d716e5d Author: Cheyenne Wills Date: Wed Sep 25 13:39:40 2019 -0600 kauth: Add support for updated audit facility New functionality was added to the audit facility that allows multiple audit logs. The updated audit interfaces require a specific calling sequence even if multiple audit logs are not used. Support for multiple auditlogs is not supported for kauth. Since kauth does not use libcmd for processing the command line, and adding support for multiple audit log instances requires additional effort, that is not warranted. Update kauth to follow the proper calling sequences for the audit facility. Update help message and manpage entries for -auditlog and -audit-interface. Make note that multiple -auditlogs are not supported. Change-Id: I98111b1e399e6687fde235bc2eadf0a28fa8acf4 Reviewed-on: https://gerrit.openafs.org/13782 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5069c697c706c1b93b6c4881f07f5995a6c0d5d1 Author: Cheyenne Wills Date: Fri Dec 4 10:16:57 2020 -0700 Add command line support for multiple audit logs Gerrits #13774 (audit: Support multiple audit interfaces and interface options) and #13775 (audit: Add cmd helper for processing audit options) added support in the audit facility for multiple audit logs. Add command line support to use multiple audit logs for daemons that use libcmd for command line processing: bosserver, buserver, butc, fileserver, volserver, ptserver, and vlserver. Update the daemons to add a call to audit_open, and where possible add a call to audit_close when shutting down the daemon. Update help message and manpage entries for -auditlog and -audit-interface Change-Id: I4356e1aa84f580897a0e788e2a2829685be891aa Reviewed-on: https://gerrit.openafs.org/13776 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3e204354f5125816d0bd236e86839ccb1a9ff6e5 Author: Cheyenne Wills Date: Mon Nov 9 12:27:36 2020 -0700 audit: Add cmd helper for processing audit options osi_audit_cmd_Options will handle the processing for the -audit-interface and -audit-log command line options. The auditlog / audit-interface options are used by several services; this new helper routine provides a simple method to process the audit related command line options in a consistent fashion. Change-Id: I5acd12062dbfec23c1cbb0b2cdfc2d224354eed9 Reviewed-on: https://gerrit.openafs.org/13775 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 52da4b94889e09bc07aa51154810e5b9f909915f Author: Cheyenne Wills Date: Fri Nov 13 11:20:15 2020 -0700 audit: Support multiple audit interfaces and interface options Currently, the audit subsystem only allows for one audit log to exist for the entire process. This can make it cumbersome to use for sites that have multiple tools or destinations that want to read the audit data. For example, to feed the audit data to two separate scripts, one script needs to read the data, and retransmit the data to the second script. To make such a setup easier, change the audit system to allow for multiple audit logs to exist at once. To allow callers to associate each audit log with an interface, we change the syntax for the value to the -auditlog parameter to the following: [interface:]filespec[:options] For example: -auditlog sysvmq:/tmp/msgqueue To accommodate the existing -audit-interface parameter, change the behavior of -audit-interface so that it sets the default audit interface if none is specified for -auditlog. This allows existing users of -audit-interface to experience the same behavior as before. In order to implement this, change the audit API and all existing audit interfaces to avoid using per-interface globals, and instead allocate per-instance contexts during startup. Also change the code so the audit message is constructed inside audit.c, instead of via a per-interface callback, which eliminates the duplicated logic in each interface's append_msg(), and lets us avoid holding 'audit_lock' during message construction. While we're changing the audit API, also introduce a few new operations: open_interface, close_interface and set_options. This commit and the existing interfaces do not make use of these new functions, but future commits will do so. This commit also only changes the audit subsystem itself to be able to handle multiple audit logs, and doesn't change any command-line parsing logic. Future commits will add the command-line parsing logic changes required so daemons can actually configure multiple interfaces. Thanks to Andrew Deason (adeason@sinenomine.net) for providing the changes needed to reduce holding the 'audit_lock' and improve performance as well as providing input during the development of this change. Change-Id: I1311ea417fdd0ba38d2206083cd65bd7a054d017 Reviewed-on: https://gerrit.openafs.org/13774 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 78e5e1b0e54b31bb08b7578e86a6a2a95770d94c Author: Andrew Deason Date: Mon Oct 26 12:35:32 2020 -0500 LINUX: Return errors in our d_revalidate In our d_revalidate callback (afs_linux_dentry_revalidate), we currently 'goto bad_dentry' when we encounter any error. This can happen if we can't allocate memory or some other internal errors, or if the relevant afs_lookup call fails just due to plain network errors. For any of these cases, we'll treat the dentry as if it's no longer valid, so we'll return '0' and call d_invalidate() on the dentry. However, the behavior of d_invalidate changed, as mentioned in commit afbc199f1 (LINUX: Avoid d_invalidate() during afs_ShakeLooseVCaches()). After a certain point in the Linux kernel, d_invalidate() will also effectively d_drop() the given dentry, unhashing it. This can cause getcwd() calls to fail with ENOENT for those directories (as mentioned in afbc199f1), and can cause bind-mount calls to fail similarly during a small window. To avoid all of this, when we encounter an error that prevents us from checking if the dentry is valid or not, we need to return an error, instead of saying 'yes' or 'no'. So, change afs_linux_dentry_revalidate to jump to the 'done' label when we encounter such errors, and avoid calling d_drop/d_invalidate in such cases. This also lets us remove the 'lookup_good' variable and consolidate some of the related logic. Important note: in older Linux kernels, d_revalidate cannot return errors; callers just interpreted its return value as either 'valid' (non-zero) or 'not valid' (zero). The treatment of negative values as errors was introduced in Linux commit bcdc5e019d9f525a9f181a7de642d3a9c27c7610, which was included in 2.6.19. This is very old, but technically still above our stated requirements for the Linux kernel, so try to handle this case, by jumping to 'bad_dentry' still for those old kernels. Just do this with a version check, since no configure check can detect this (no function signatures changed), and the only Linux versions that are a concern are quite old. Change-Id: Ie530ce08463cf6b6899f056cb76ae4047c989ef2 Reviewed-on: https://gerrit.openafs.org/14417 Reviewed-by: Mark Vitale Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4c33820525af510a8a937289005e39d5b6683b19 Author: Michael Meffie Date: Mon Aug 17 15:44:55 2020 -0400 vldb_check: Check for volume lock inconsistencies Verify the a lock timestamp is set if, and only if, a lock volume operation flag is also set. When running vldb_check with the -fix option, fix the inconsistent entries by setting the lock timestamp to the current time if a lock flag is set, or by setting the VLOP_DELETE flag if the lock timestamp is set but no lock flags are set. (The VLOP_DELETE flag is the flag set by the 'vos lock command, and is shown in vos output as "delete/misc".) Volume lock fields can be put into an inconsistent state, at least, by interupted vos rename operations, due to bugs in vos rename. When the volume lock timestamp and lock flags are in this inconsistent state, the volume is locked, but that is not indicated by 'vos listvldb'. The volume can be unlocked by issuing 'vos unlock'. Change-Id: Idc4f821a9eb7675edd78a8547fdfe46e838b0c89 Reviewed-on: https://gerrit.openafs.org/14307 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 6779e30d372b2cd5e7995da23ed5e2971124b79c Author: Michael Meffie Date: Fri Dec 27 11:53:05 2019 -0500 vsprocs: Remove dead code Remove the dead code in UV_VolumeMove() commented out with the macro ENABLE_BUGFIX_1165. Remove two commented out lines of code in UV_ConvertRO(). Change-Id: Ic628c74df011b0f09be6b03f72ab1baac5e59caf Reviewed-on: https://gerrit.openafs.org/14004 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Tested-by: BuildBot commit 56aa396d8359276d778d41aa509041c8c75b4e96 Author: Cheyenne Wills Date: Thu Nov 5 13:50:59 2020 -0700 vos: Cleanup function definitions The functions defined within vos.c are not referenced outside of vos.c but are not declared as static. Convert the functions within vos.c to static declarations. Change-Id: Ia684e698adc53ced964e10ee0496cb52a3af564e Reviewed-on: https://gerrit.openafs.org/14009 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a3be2c74a95489f63837840af8ec42049ce021bf Author: Cheyenne Wills Date: Thu Nov 5 13:49:54 2020 -0700 vos: Remove dead code Clean out dead code from vos.c GetVolumeType - not referenced anywhere CompareVLDBEntry - commented out since 1st git commit osi_audit - Comment indicates this might have been needed at one point. Builds without it. Does not look like the vos executable is pulling in any of the audit code. RestoreVolume - remove stale comment about typo previous to openafs 1.0 RemoveSite - remove commented out partition check Change-Id: I9c0b59d5c37d403610c7a904717ac9765598fc99 Reviewed-on: https://gerrit.openafs.org/14008 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 45a69b61133ae8ca8e49a002ddc1895386796d51 Author: Marcio Barbosa Date: Thu Sep 3 23:57:34 2020 +0000 volser: take RO volume offline during convertROtoRW The vos convertROtoRW command converts a RO volume into a RW volume. Unfortunately, the RO volume is not checked out from the fileserver during this process. As a result, accesses to the volume being converted can leave volume objects in an inconsistent state. Moreover, consider the following scenario: 1. Create a volume on host_b and add replicas on host_a and host_b. $ vos create host_b a vol_1 $ vos addsite host_b a vol_1 $ vos addiste host_a a vol_1 2. Mount the volume: $ fs mkmount /afs/.mycell/vol_1 vol_1 $ vos release vol_1 $ vos release root.cell 3. Shutdown dafs on host_b: $ bos shutdown host_b dafs 4. Remove RO reference to host_b from the vldb: $ vos remsite host_b a vol_1 5. Attach the RO copy by touching it: $ fs flushall $ ls /afs/mycell/vol_1 6. Convert RO copy to RW: $ vos convertROtoRW host_a a vol_1 Notice that FSYNC_com_VolDone fails silently (FSYNC_BAD_STATE), leaving the volume object for the RO copy set as VOL_STATE_ATTACHED (on success, this volume should be set as VOL_STATE_DELETED). 7. Add replica on host_a: $ vos addsite host_a a vol_1 8. Wait until the "inUse" flag of the RO entry is cleared (or force this to happen by attaching multiple volumes). 9. Release the volume: $ vos release vol_1 Failed to start transaction on volume 536870922 Volume not attached, does not exist, or not on line Error in vos release command. Volume not attached, does not exist, or not on line Notice that this happens because we cannot mark an attached volume as destroyed (FSYNC_com_VolDone). To avoid the problem mentioned above and to prevent accesses to the volume being converted, take the RO volume offline before converting it to RW. Change-Id: Ifd342e1f420dc42e5da49242a7aa70db7d97a884 Reviewed-on: https://gerrit.openafs.org/14340 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit c17c157641d83226fee5bc20f588f14bb132bb68 Author: Cheyenne Wills Date: Tue Nov 10 09:17:16 2020 -0700 vos: Cleanup indentation whitespace Fix the indentation whitespace in vos.c, and remove double blank lines. No functional change. Change-Id: I97587779d6d2c131b5eac98bbee49efae73fafe9 Reviewed-on: https://gerrit.openafs.org/14007 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4bbf1239f8fcaaccb1ea7431a7eb3d42f8f194af Author: Michael Meffie Date: Wed Dec 18 20:30:17 2019 -0500 vos: Return true when GetServerAndPart finds a site Change the GetServerAndPart() function to return true when a volume site in the vldb entry is found. Do not change the output arguments unless the site is found. Also, add a function comment header and fix some comment typos in this function. Change-Id: I10b43054b1bf9e6757ccdc95cb4559ab8b6dc013 Reviewed-on: https://gerrit.openafs.org/14006 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie commit ace2f7f5ce13502f5cb6ec39a9e84864b80ec76b Author: Michael Meffie Date: Mon Dec 23 18:37:21 2019 -0500 vos: Add missing -partition requires -server checks The `vos remove` command was missing a check for the -server option when the -partition option is given. This command requires the -server option when the -partition is given, as documented in the man page. The `vos syncvldb` command performed the check for the -server option when the -partition option is given, but in the wrong location. As documented, the `vos unlockvldb` command permits the -partition option without a -server option, in which case all of the volumes listed in the VLDB with sites on the specified partition are unlocked. However, this command incorrectly issued an RPC to a volume server at address 0.0.0.0 when only the partition is given. Change-Id: I6b878678e28b34250e63d2d082747f6fd416972d Reviewed-on: https://gerrit.openafs.org/14005 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie commit de3e7289e227db057cb4eca431e47d5c5502da53 Author: Mark Vitale Date: Thu Nov 5 18:16:51 2020 -0500 vos: avoid double release of a volume lock To update a volume entry in the VLDB, vos commands typically lock the volume entry via VL_SetLock, then call VL_UpdateEntryN, then release the lock via VL_ReleaseLock. However, some vos commands exploit the optional lock release flags of VL_UpdateEntryN to combine the update and unlock operations into a single RPC. This approach requires extra care to ensure that VL_ReleaseLock is issued for a failed VL_UpdateEntryN, but NOT for a successful VL_UpdateEntryN. Unfortunately, the following commands have success paths that fall through to the error path, resulting in a double release of the volume lock: - vos convertROtoRW - vos release A second VL_ReleaseLock of a volume entry that has already been unlocked via VL_UpdateEntryN is essentially a harmless no-op (other than negating any benefit of exploiting the VL_UpdateEntryN lock flags). However, if there is a race with another volume operation on the same volume, it is possible for this bug to release the volume lock of a different volume operation. This problem has been present in 'vos release' since OpenAFS 1.0. This problem has been present in 'vos convertROtoRW' since the command's introduction in commit 8af8241e94284522feb77d75aee8ea3deb73f3cc vol-ro-to-rw-tool-20030314. Properly maintain state to avoid unlocking a volume (with VL_ReleaseLock) that has already been unlocked (via VL_UpdateEntryN). Thanks to Andrew Deason for discovering the issue and suggesting the fix. Change-Id: I757b4619b9431d1ca980f755349806993add14a5 Reviewed-on: https://gerrit.openafs.org/14426 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 8e1c321dc8e85966383760a6765f7f192ecf632a Author: Mark Vitale Date: Fri Aug 28 16:19:29 2020 -0400 volser: document 'vos restore -readonly' restriction Commit 0c03f8607e15 vos-command-enhancements-20011008 introduced the 'vos restore' -readonly option, which allows the restored volume to be RO instead of the default RW. The commit message documents the following restriction: - ... This option causes the restored volume to be an RO volume. It is not permitted to restore an RO volume when the associated RW volume already exists. While it is possible to restore an RW volume where an RO volume exists, caution should be used to avoid doing this with VLDB entries created by 'vos restore -readonly', since such entries have their ROVOL and RWVOL ID's set to the same thing. Document this restriction in the 'vos restore' man page, and in a code comment. No functional change is incurred by this commit. Change-Id: I34f6c5434b82da538a38a9d219207b33dcf62b17 Reviewed-on: https://gerrit.openafs.org/14348 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0bcfe89d68972bf67cf891c89da519a455401327 Author: Mark Vitale Date: Fri Aug 28 15:42:06 2020 -0400 volser: improve error checking for 'vos restore' UV_RestoreVolume2 calls VLDB_GetEntryByName to obtain information for sanity checking, but only checks for a VL_NOENT error code; other codes are thus ignored, which may lead to confusing results. Add an additional error check for 'vos restore' (and other callers of UV_RestoreVolume2) to stop and issue an error message if a non-VL_NOENT error code is received from VLDB_GetEntryByName. Change-Id: Idf41965fdd84fa282a3397215ec393ae10f72018 Reviewed-on: https://gerrit.openafs.org/14347 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a534ee83f2e2e153c298e5583e01ba0b3e4b8e4a Author: Mark Vitale Date: Mon Aug 31 14:30:26 2020 -0400 volser: fix 'cant' typos Correctly spell "can't" in a log message and a comment. Change-Id: I9d5c667d9c5ea3c5b726f958431c497353433239 Reviewed-on: https://gerrit.openafs.org/14346 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit aed4a0c4b91c5ce185547e83bfff443f3d3831f9 Author: Mark Vitale Date: Fri Jul 19 14:41:55 2019 -0400 afs: avoid panic in DNew when afs_WriteDCache fails afs_WriteDCache may fail for an IO error, or if interrupted (EINTR). Unfortunately, DNew will panic in this case, crashing the entire machine. In order to avoid an outage in this case, don't panic. Instead, reflect the error back to the caller of DNew. While here, add Doxygen comments to DNew. Change-Id: I27a8f89bab979c5691dded70e8b9eacbe8aff4fd Reviewed-on: https://gerrit.openafs.org/13804 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 1c04036b3425525cd94a9c9c47ca93de05c11c40 Author: Mark Vitale Date: Mon Aug 19 15:43:09 2019 -0400 afs: remove redundant assignment DRelease has two assignments for tp = entry->buffer; remove the second (redundant) one. Introduced with 0284e65f97861e888d95576f22a93cd681813c39 'dir: Explicitly state buffer locations for data'. No functional change should be incurred by this commit. Change-Id: If4a17862f451973075fa3fa267b5139046d97ede Reviewed-on: https://gerrit.openafs.org/13802 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 6bd94fe29d1aa6ce61ba02e681defea79770ccdd Author: Mark Vitale Date: Wed Feb 5 17:49:03 2020 -0500 dir: check DNew return code Commit 0284e65f97861e888d95576f22a93cd681813c39 'dir: Explicitly state buffer locations for data' changed DNew and DRead to return a return code. However, the callers of DNew were not modified to check the new return code. (This commit applied only to the implementations dealing with AFS directories, in afs/afs_buffer.c and dir/dir.c. The ubik implmentations of DNew and DRead, dealing with ubik databases, were not modified.) Modify all (non-ubik) callers of DNew to check the return code. In addition, modify code as needed so return codes are properly propagated to the callers. While here, add Doxygen comments for AddPage and FindBlobs. Change-Id: Iabde6499745dd351f3fcda73c9f52c440a36490e Reviewed-on: https://gerrit.openafs.org/13801 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7b0a66f63b8fd0d332de4766b2472c0270f0f253 Author: Andrew Deason Date: Mon Oct 19 18:30:27 2020 -0500 Remove unused xdr types Numerous types and constants are defined in our various RPC-L files that are never used or referenced by anything. Remove them. Change-Id: I0b03be1ce0e186a88f80d2f3f7a66a1e25965ff3 Reviewed-on: https://gerrit.openafs.org/14404 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0787a2c8aed555df8b74635bd34588e7d20865ac Author: Benjamin Kaduk Date: Sun Sep 2 17:10:56 2018 -0500 volser: apply static keyword to VolPartitionInfo definition The function declaration was already marked as static; mark the definition as well for consistency (and consistency with the other helpers in this file). Change-Id: I642db1d27efd34ab2a09f7299791c19d07b1f923 Reviewed-on: https://gerrit.openafs.org/13321 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit dcce956df4fc8d368962cb36d8b3c801be69a85a Author: Mark Vitale Date: Sun Mar 3 20:20:58 2019 -0500 dir: check afs_dir_Create return code in afs_dir_MakeDir afs_dir_MakeDir() ignores the return code from afs_dir_Create() for the '.' and '..' ("dot" and "dotdot") directories. This has been the case from the earliest implementation (MakeDir() calling Create()) in the original IBM import. Instead, check the return codes to prevent the possibility of creating malformed directories. Change-Id: I60179488429dfa9afe60c4862c5e42b41f1e0048 Reviewed-on: https://gerrit.openafs.org/13800 Reviewed-by: Benjamin Kaduk Reviewed-by: Mark Vitale Tested-by: BuildBot commit 04805f48a2eb6ddaa604d8d0738888fd5f960f20 Author: Benjamin Kaduk Date: Sun Sep 2 17:06:38 2018 -0500 ptserver: rename NameToID and IDToName helpers These helper function names alias the names of public RPCs and can cause confusion when grepping the code. Rename them in a different style to provide greater hamming distance between the various functions involved in handling these RPCs. Change-Id: I0e2c7997bc145888affdac28716293ff820756c7 Reviewed-on: https://gerrit.openafs.org/13320 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0639ca8d221231309d59882a63e5a95a10cfdac3 Author: Mark Vitale Date: Sun Mar 3 20:51:45 2019 -0500 dir: check afs_dir_MakeDir return code in DirSalvage Since the original IBM import, DirSalvage() has ignored the return code from afs_dir_MakeDir() (f.k.a. MakeDir). This has been safe because, as the comment states, afs_dir_MakeDir returns no (non-zero) error code. In preparation for a future commit, add a check for the return from afs_dir_MakeDir and remove the comment. Change-Id: Ibb259a7aaeeb21ef70a7794143a0dadb2a75725d Reviewed-on: https://gerrit.openafs.org/13799 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 735fa5fb090ee0efc2161597a3974f6fa45126f6 Author: Mark Vitale Date: Thu Jan 30 14:04:05 2020 -0500 dir: distinguish logical and physical errors on reads The directory package (src/dir) salvage routines DirOK and DirSalvage check a global variable 'DErrno' to distinguish logical errors (e.g. short read) from physical errors (e.g. EIO). However, since the original IBM import, this logic has not worked correctly because there is no longer any code that sets the value of DErrno - its value is always zero. Instead, modify all implementations of ReallyRead to optionally return the errno for low-level IO errors. Also, create a new userspace-only variant - DReadWithErrno() - of the src/dir/buffer.c version of DRead (the version called by DirOK and DirSalvage, and the only caller of ReallyRead) to return the ReallyRead errno upon request. Also create an analogous variant of afs_dir_GetBlobs, afs_dir_GetBlobsWithErrno(). Finally, convert DirOK and DirSalvage to use the new variants and replace DErrno with equivalent logic. Remove all other references to DErrno. Change-Id: I3de182ce49c1682572142da594af5dc2c00ede74 Reviewed-on: https://gerrit.openafs.org/13798 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 1caeeea43c038011306dd1c391680c24fc318e3d Author: Andrew Deason Date: Mon Oct 26 12:19:19 2020 -0500 afs: Log pid with disk cache read errors Log the current pid (and procname) when we complain about an error when reading from CacheItems in afs_UFSGetDSlot. These errors can result in confusing situations, so it can be helpful to know at least what process saw the error. Our logic for logging this information is getting a bit large, so also move this to a new function, LogCacheError. Change-Id: I3427e736458784df0d516f4182684605e930e128 Reviewed-on: https://gerrit.openafs.org/14416 Reviewed-by: Mark Vitale Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 98c1a8751c5d29e45a3839552d495c9616b82118 Author: Cheyenne Wills Date: Tue Oct 8 11:54:58 2019 -0600 roken: use strtok_r from roken Windows standard library doesn't provide strtok_r. Use the strtok_r that is provided from roken. Change-Id: I1bccb9a306c9dd1963f044127fb5dfe4da5728cc Reviewed-on: https://gerrit.openafs.org/13891 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit e5abb348829c65e1322e876e9a4a1ad4059b2697 Author: Heimdal Developers Date: Tue Oct 8 10:47:05 2019 -0600 Import of code from heimdal This commit updates the code imported from heimdal to 5dfaa0d10b8320293e85387778adcdd043dfc1fe (git2svn-syncpoint-master-311-g5dfaa0d10) New files are: roken/strtok_r.c Change-Id: I27042f614c7d6ce9a95a80d01474e8bf401e4760 Reviewed-on: https://gerrit.openafs.org/13890 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit fe6a97b4d89cd15b6a298f69bea60aca961c2ec9 Author: Cheyenne Wills Date: Tue Oct 8 11:02:59 2019 -0600 roken: add strtok_r to the imported file list Import the strtok_r function which is needed by audit for parsing command line options. Change-Id: I8412c5a663dc3315c4146665edb72d9a6b8df5be Reviewed-on: https://gerrit.openafs.org/13889 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit a912a29a4568e20af8b354fc901c557d67aca1f7 Author: Benjamin Kaduk Date: Sat Sep 1 21:47:39 2018 -0500 Detect realloc failure While reviewing other commits, a call to realloc() was discovered that would leak memory on failure (by virtue of always assigning the realloc() return value to the pointer holding the input address, even when the return value is NULL). Check for failure and return early in that case (giving an incomplete list of events). Change-Id: Ic6e889f1d990bd289812ce4bf8e9cd4ebce488ec Reviewed-on: https://gerrit.openafs.org/13313 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7ede3fa17f1ba419e4b5febd36ccdc3af38f92bc Author: Benjamin Kaduk Date: Sun Sep 2 17:03:38 2018 -0500 ptserver: move IDToName, NameToID to ptprocs.c and make static These two helpers are only used in implementing server-side RPC handlers, and having to track the codeflow across files is unhelpful. Move them into the file where they're used, make them static, and remove the prototypes from ptrototypes.h (which is not an installed header, so there is no API/ABI breakage). Change-Id: I236d17865a296933f41aaee206535d341c3a955d Reviewed-on: https://gerrit.openafs.org/13319 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit fe4f6638d130819c48a9957901b38839bab134a4 Author: Benjamin Kaduk Date: Sun Sep 2 16:35:42 2018 -0500 Assign explicit opcodes to butc RPCs This should prevent inadvertent reassignment if additional RPCs are introduced in the future. Change-Id: I5645ca478d2ecef9962f4bde04ab8f9895dd9497 Reviewed-on: https://gerrit.openafs.org/13317 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit fd6add0aca03a5a17f7109c785b6027a76f13cdf Author: Andrew Deason Date: Mon Nov 12 15:06:09 2018 -0600 vlserver: Return VL_DBBAD on unhash failure If we try to delete a vlentry, and the vlentry cannot be found on one of its hash chains, we cannot unhash the vlentry properly and the operation fails with VL_NOENT. This results in the following error messages to the user: $ vos delentry 123456 Could not delete entry for volume 123456 You must specify a RW volume name or ID (the entire VLDB entry will be deleted) VLDB: no such entry Deleted 0 VLDB entries This is confusing, because VL_NOENT can also occur if the user specifies a volume that does actually not exist. This situation is indicative of database corruption, usually because of a ubik transaction that was only half-applied, or because of other ubik bugs in the past. The situation can only really be fixed by repairing the database, so return VL_DBBAD in this case instead, to more clearly indicate that something is wrong with the database, and not a problem with the arguments the caller provided. Change-Id: I6fc275c3ad05c108778f36687227b0a927cca5da Reviewed-on: https://gerrit.openafs.org/13384 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 878d27c845157bb64c32bbd6c3cacce17c681d70 Author: Andrew Deason Date: Mon Nov 12 14:41:44 2018 -0600 vlserver: Add VL_DBBAD error code The VL_ error table currently doesn't have an error code to indicate that an operation cannot succeed because the database is corrupted. There are a few error codes for specific cases of errors that are probably the result of corruption (like VL_IDALREADYHASHED, or VL_EMPTY), but these are only for specific cases and indicate rather low-level internal problems. There are some instances where the real problem preventing an operation from succeeding is that the database is just corrupt or inconsistent in some way, and the administrator must repair the database before it can succeed. And we currently don't have any way of indicating that situation via an error code. So, introduce the VL_DBBAD code, to indicate this situation. Error codes already exist in other tables for similar situations, such as PRDBBAD, and KADATABASEINCONSISTENT. This commit does not use the new error code anywhere; we just introduce it into the VL_ error table, so comerr-using applications will be able to interpret it. Note that the VL_DBBAD error code has been recognized by the AFS Assigned Numbers Registry as recorded in the ticket history of Change-Id: I8fea356a4e0db907ec8418efe6ef35d547be0a63 Reviewed-on: https://gerrit.openafs.org/13383 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit c1c4e308cfe0b189778259840f02183c83c1083e Author: Benjamin Kaduk Date: Thu Aug 30 09:54:23 2018 -0500 ptserver: move allocation out of put_prentries() into listEntries() put_prentries() is a helper function for listEntries(), but the contract between the two is rather odd -- put_prentries() is expected to notice when the backing store has not yet been allocated and silently allocate it, even though there is only the single caller and the allocation could be done in the caller. Move the allocation to the caller and adjust the "buffer is full" logic accordingly, and normalize the initialization of the output array to just use calloc() instead of individual memset()s when populating each entry. Change-Id: Icf84e3b60eae81a1570b12d7adbf006a24a104f3 Reviewed-on: https://gerrit.openafs.org/13315 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 61a8f0c5b8b1cf5022e4f20af4eb42cae1cb03f6 Author: Cheyenne Wills Date: Thu Jun 6 14:08:53 2019 -0600 volser: Avoid calling osi_audit before audit init volmain.c calls osi_audit before the audit facility is fully initialized. Commit 16d67791 (auditlogs-for-everyone-20050702) introduced the -auditlog parameter; it appears that it didn't remove the call to osi_audit (right after osi_audit_init) that was called before command line argument processing. This resulted in calling the audit facility before it was fulling initialized with the -auditlog and -audit-interface parameters. The 16d67791 commit replicated the osi_audit call after command line processing. Change-Id: Ia0c0054a2fb11892b5b30c0f0838a4d6bbdf9bbb Reviewed-on: https://gerrit.openafs.org/13772 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 52c4bf4d18a82d70016b584db95ab66aaa7ffb15 Author: Andrew Deason Date: Mon Oct 19 16:07:44 2020 -0500 audit: Always call pthread_once in osi_audit_init Currently, we skip the pthread_once call in osi_audit_init if audit_lock_initialized is set. But this is somewhat pointless, since pthread_once will effectively do this check itself, and better (it will wait if osi_audit_init is actively running in another thread). So just get rid of audit_lock_initialized, and replace the other assert for audit_lock_initialized with another plain pthread_once call. Change-Id: I466c8ec2d1516edecaae23d4354892e7e3a88918 Reviewed-on: https://gerrit.openafs.org/14403 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit e83347ce6ada6576bb8cd6f2719540a5565b09c0 Author: Benjamin Kaduk Date: Thu Sep 6 18:51:06 2018 -0500 remove unused src/butc/common.h Change-Id: Ie25a9ca4f715c841a7f7fa130176cfbdc5ef18e7 Reviewed-on: https://gerrit.openafs.org/13322 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit b1975c27d2201aad607a90e3795f6d0d5c4d8a8a Author: Benjamin Kaduk Date: Sun Sep 2 16:37:44 2018 -0500 butc: consistently spell taskId parameter All but one RPC used the capitalization "taskId"; adjust the long straggler for consistent style. Change-Id: I996d96a4fc67af7f745bf67041c90390073ca9ea Reviewed-on: https://gerrit.openafs.org/13318 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit f44d7e64bba10aa33f2188bf6629ab206b217f2d Author: Benjamin Kaduk Date: Sun Sep 2 16:18:31 2018 -0500 Remove commented-out butc RPC definitions These functions have been commented out since the original IBM import, and un-commenting them in their current location would be an ABI break (by causing opcodes to be reassigned for subsequent RPCs). Since they are just noise in the interface description file, remove them. Change-Id: I7e8cd2e7dfa4469e39e26a0437059c108f3ef218 Reviewed-on: https://gerrit.openafs.org/13316 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 465701c8f1a6dacc7e8adeef47a73eca85a928a8 Author: Benjamin Kaduk Date: Sat Sep 8 21:25:40 2018 -0500 butc: Initialize RPC outputs at top of function RPC handlers are a little bit special in that their output parameters are discarded on error and an Rx abort is sent instead of the usual response fields. Nonetheless, it is good code hygeine to adhere to the practices we use for the rest of the functions in the tree: initialize output variables before the first return. Change-Id: I6c2e25b04ccb6277bd28e398121723b92fe42b04 Reviewed-on: https://gerrit.openafs.org/13314 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 3e3fce24da31a31ca9a3f4ad356c4e4eaf0ad897 Author: Andrew Deason Date: Mon Nov 12 15:01:18 2018 -0600 vlserver: Warn when we cannot unhash deleted entry If we are trying to delete an entry from the vldb, we fail with VL_NOENT if we cannot find the given entry on one of its hash chains. This is indicative of corruption in the vldb (since we have an entry not on a hash chain), but we don't really indicate this clearly. There are no log messages, and the user running 'vos' only sees an error like this: $ vos delentry 123456 Could not delete entry for volume 123456 You must specify a RW volume name or ID (the entire VLDB entry will be deleted) VLDB: no such entry Deleted 0 VLDB entries Which is the exact same error message if the user tries to delete a volume that does not actually exist. We currently do not have an error code that clearly says that the database appears corrupted and needs to be fixed, but we can at least log an error in VLLog for this case, to give the administrator a chance at fixing the situation. So, log a message in this situation. Change-Id: I4f0ee8749a90441e1f8d779890293dc5d1d9dbee Reviewed-on: https://gerrit.openafs.org/13382 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 48df3ac30210056ec046b48c28aee425b0690f92 Author: Mark Vitale Date: Tue Oct 6 00:02:53 2020 -0400 bos: do not assume fs just if dafs bnode is stopped If dafs is configured but stopped, 'bos salvage -forceDAFS' will fail with: bos: failed to get instance info for 'fs' (no such entity) bos: shutting down 'fs'. bos: can't stop 'fs' (no such entity) This is due to incomplete logic in IsDAFS, introduced with commit e46f10a0a0a930f318833a8a86b10c19744160c1 'bos: Do not assume DAFS just if DAFS bnode exists' Add logic to IsDAFS to work correctly when dafs is configured but stopped. Change-Id: I50f8209180536d25e68c0ad6fb826202d8f27ce7 Reviewed-on: https://gerrit.openafs.org/14382 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit f372ec041a83288a5d096360f0ad8589e4db666a Author: Mark Vitale Date: Tue Oct 6 10:18:11 2020 -0400 bozo: defer audit open until log dir is created and current On a new OpenAFS install where the log directory has not yet been created. 'bosserver -auditlog /usr/afs/logs/' (absolute path) fails with ENOENT because the log directory doesn't exist yet. Furthermore, 'bosserver -auditlog ' (relative path) succeeds, but the audit file is created in the current working directory when bosserver was started, not in the expected log directory (Transarc /usr/afs/logs). Both problems have been present since bosserver audit log support was introduced by commit 16d67791dce45e5d4ee9b854c796492ffcde2113 'auditlogs-for-everyone-20050702'. Reorder the bosserver initialization steps to ensure that the log directory has been created and is the current working directory, before creating and opening the audit log. Change-Id: I1dc3c136edd12c5425ef0b7a3212a18d4c3036f7 Reviewed-on: https://gerrit.openafs.org/14381 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 87041d676c93dfe35a085b9b5aaa73e74c08bc90 Author: Andrew Deason Date: Sat Oct 17 20:51:51 2020 -0500 bozo: Properly detect presence of -auditlog cmd_OptionAsString returns non-zero if the given option _isn't_ given (CMD_MISSING), so we need to call osi_audit_file only when cmd_OptionAsString returns 0. Since commit f6cdf71 (bozo: Use libcmd for command line options), this causes bosserver to complain on startup if no -auditlog was given: $ bosserver Warning: auditlog (null) not writable, ignored. To fix this, skip calling osi_audit_file if -auditlog was not given. While we're changing this anyway, change our processing of our audit-related options to more closely match what other daemons do, like ptserver or viced, so it's easier to see if we're doing the right thing. That is, just call cmd_OptionAsString() without a conditional, and just test if auditFileName is non-NULL later on, after options processing. Change-Id: I563c7efd02cb5210c32c0cc7f5a03683db792e98 Reviewed-on: https://gerrit.openafs.org/14402 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e8702e6a615a160cdbe464f76bd6f100667720d2 Author: Mark Vitale Date: Fri Oct 28 18:12:19 2016 -0400 afs: prevent double release of global lock afs_xvcb afs_GetServer calls ReleaseWriteLock(&afs_xvcb) twice within a few lines. The second one is spurious. Commits b18653de7ae90491c2e75f4a98410581655d776c 'xserver lock order violation' and f2bf60ed4f1323cd6f74f2f01114f7e4f714db53 'xvcb lock order violation' were written by the same author at the same time and apparently were victims of a bad merge. Discovered during a lock audit project as a panic during afsd startup: assertion failed: (&afs_xvcb)->excl_locked == WRITE_LOCK, file: /home/mvitale/src/sna-openafs/src/afs/afs_server.c, line: 2089 afs_GetServer is called frequently by many threads and so this bug could easily have released another thread's write lock on afs_xvcb. Remove the spurious second release. Change-Id: I495f4775e18ed37cfbccd03b5f25594586864b83 Reviewed-on: https://gerrit.openafs.org/14411 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit fed176cc50512b4a5ae83c64b24c25e04198fa24 Author: Marcio Barbosa Date: Fri Feb 28 02:41:53 2020 +0000 ubik: Introduce IndexOf() To make the ubik_Call* functions cleaner, consolidate code that finds the index of the connection associated with a host into a new function. No functional change should be incurred by this commit. Change-Id: I320d7a41221cb533e8d077c412f872152ac43b75 Reviewed-on: https://gerrit.openafs.org/14060 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit ea9e5e8519dc486cfb019447ee5d695de104079d Author: Andrew Deason Date: Thu Jul 18 16:21:10 2019 -0500 afs: Handle osi_NewVnode failures Currently, code inside afs_vcache.c assumes that osi_NewVnode always returns non-NULL, which means that osi_NewVnode must panic if it cannot create a new vnode. All of the callers of afs_GetVCache, afs_NewVCache, etc, already handle getting a NULL return, though (after all, the given fid may not exist or be inaccessible due to network errors, etc). So, just propagate NULL returns from osi_NewVnode up to our callers, to avoid panics in these situations. Modify osi_NewVnode on many arches to return an error on allocation failure, instead of panic'ing. Change-Id: Ib578b1747590bdf65327d4674e0849811ed999eb Reviewed-on: https://gerrit.openafs.org/13701 Reviewed-by: Benjamin Kaduk Reviewed-by: Yadavendra Yadav Tested-by: BuildBot commit e1e5df918fee00d4d9152c31c24cc1e7f23b71a6 Author: Mark Vitale Date: Mon Sep 18 19:45:10 2017 -0400 stats: incorrect clock square algorithm Since the original IBM code import, OpenAFS has an algorithm for squaring clock values, implemented identically in three different places. This algorithm does not account correctly for microsecs overflow into seconds, resulting in incorrect "sum-of-squares" values for queue and execution time in several OpenAFS performance utilities. Specifically, this code: t1.tv_usec += (2 * t2.tv_sec * t2.tv_usec) % 1000000 \ + (t2.tv_usec / 1000)*(t2.tv_usec / 1000) \ + 2 * (t2.tv_usec / 1000) * (t2.tv_usec % 1000) / 1000 \ + (((t2.tv_usec % 1000) > 707) ? 1 : 0); \ Can allow for the tv_usec field to be increased by a theoretical max of around: t1.tv_usec += 999998 \ + 999*999 \ + 2 * 999 * 999 / 1000 \ + 1; \ Or: t1.tv_usec += 1999996; \ If t1.tv_usec is already 999999, after this calculation its value could be as high as 2999995. So just checking once if t1.tv_usec is over 1000000 is not sufficient, since the resulting value (1999995) is still over 1000000. Correct all implementations by repeatedly checking if tv_usec is over 1000000 after the above calculation: macro affected utility ===================== ============================ afs_stats_SquareAddTo xstat_cm_test fs_stats_SquareAddTo xstat_fs_test clock_AddSq rxstat_get_process and _peer Change-Id: I3145d592ba6bc1556729eac657f43d476c99eede Reviewed-on: https://gerrit.openafs.org/14376 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit e985d43d99d93172b5608a3c73fd3201d3b3a212 Author: Mark Vitale Date: Mon Sep 28 16:35:38 2020 -0400 rxstats: correctly report vlserver VL_* RPC stats Since the original IBM code import, rxstat_get_process and rxstat_get_peer have reported vlserver VL_* RPC stats as for the "volserver interface". Correct this to read "vlserver interface". Change-Id: Ie65fd41150bed8180ad8792c21a67012084459ab Reviewed-on: https://gerrit.openafs.org/14375 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 18c345a9f8ee9b2ff73f23dae68757b19d3283f5 Author: Mark Vitale Date: Mon Sep 28 15:40:34 2020 -0400 rxstats: correctly distinguish client and server stats Commit d3eaa39da3693bba708fa2fa951568009e929550 'rx: Make the rx_call structure private' inadvertently caused all rxstats (aka rpcstats) to be recorded as client stats by hardcoding the value for isServer to 1. Therefore, when peer or process rxstats are enabled for a OpenAFS component, the rxstat_get_process and rxstat_get_peer utilities will erroneously report both client and server stats as "accessed as a client". This is particularly problematic for ubik VOTE_* and DISK_* RPC stats, for which a given ubik server may be both client and server over time. In this case, both client and server stats are conflated into the same "accessed as a client" counters. Instead, properly pass the value of isServer from rx_RecordCallStatistics through to rxi_IncrementTimeAndCount. Note to maintainers: This bug is only in master and all 1.8.x releases; no 1.6.x releases are affected. Note: Confusingly, isServer=1 indicates client stats and isServer=0 indicates server stats. However, this is a quirk of the original implementation and wire format of the RXSTATS_* RPCs and cannot be changed. isServer is actually shorthand for "remote is server"; thus all RPC client stubs record their rxstats with isServer == 1, and all RPC server stubs record their rxstats with isServer == 0. Change-Id: I2420f807e2c18ddfb9de7093a487825fa2d0a68e Reviewed-on: https://gerrit.openafs.org/14374 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit f18b58f8227df2ab420d69eb5937a99f747c7692 Author: Marcio Barbosa Date: Thu Sep 3 20:11:34 2020 +0000 volser: Close dirp on error in ConvertROtoRW Currently, if SAFSVolConvertROtoRWvolume cannot create a new transaction for the volume to be converted, it returns without closing the directory stream opened by it. To prevent this leak, go through a new 'goto done' destructor if NewTrans fails. Change-Id: Ie0580e7739ae667f1cd2f9cabb8aaf5e15d3f2dd Reviewed-on: https://gerrit.openafs.org/14342 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 47d809d4434f6724d0b6fbe2dcb54749486eeddb Author: Michael Meffie Date: Fri Aug 28 11:24:10 2020 -0400 bozo: Log each dir and file with bad access rights The bosserver directory and file access check stops after finding one directory or file with incorrect permissions or owner. A log message is written for this first one found, but more than one directory or file may have incorrect access rights. Instead check all of them so the bosserver logs a warning message for each incorrect director or file permission found. This should make it easier to fix all of the file permission problems at once. Change-Id: Ia3f14800ce036aa390929109a286cf21828e8a35 Reviewed-on: https://gerrit.openafs.org/14330 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit a6b14ea90259fbc4ead62f5f4288e435801db81e Author: Michael Meffie Date: Fri Aug 28 11:23:00 2020 -0400 bozo: Add KeyFileExt and rxkad.keytab to access rights check When the KeyFileExt and rxkad.keytab were added to OpenAFS, they were not added to the bosserver's access rights check. Add these files to the bosserver access checks, with the same access rights needed for the original KeyFile. Also, add the full path for KeyFileExt to the dirpath package (not just the filename), which was not done when the KeyFileExt was introduced. This is needed to perform the access checks. Change-Id: I8c9028e846fad9f15823baeb7cc15a8f80ed5c1c Reviewed-on: https://gerrit.openafs.org/14329 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit e17bc8ce865f630d268c2a5e8cafb79ad8855f12 Author: Mark Vitale Date: Wed Sep 23 17:32:40 2020 -0400 afs: remove vestigial externs for afs_xvcache These have not been needed since src/afs/afs_prototypes.h gained 'extern afs_rwlock_t afs_xvcache' with commit 8f2df21ffe59e9aa66219bf24656775b584c122d "pull-prototypes-to-head-20020821" Remove the vestigial extern references. Change-Id: Id6aceff0d5df1f1bed210a3fbf2951c62f35ddbb Reviewed-on: https://gerrit.openafs.org/14406 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit a3fc79633fb0601bf02508bd1e64652f403e4b7e Author: Mark Vitale Date: Wed Sep 23 17:02:52 2020 -0400 afs: remove vestigial externs for afs_xcbhash Commit 64cc7f0ca7a44bb214396c829268a541ab286c69 "afs: Create afs_StaleVCache" consolidated many references to afs_xcbhash into a new function afs_StaleVCache. However, this left many references to 'extern afs_wrlock_t afs_xcbhash' that are no longer needed. But actually, many of these have not been needed since src/afs/afs_prototypes.h gained 'extern afs_rwlock_t afs_xcbhash' with commit 8f2df21ffe59e9aa66219bf24656775b584c122d "pull-prototypes-to-head-20020821" Remove the vestigial extern references. No functional change is incurred by this commit. Change-Id: Ie6cfb6d90c52951795378d3b42e041567d207305 Reviewed-on: https://gerrit.openafs.org/14405 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4e85324729f8c11135b131310089fff4d81692e9 Author: Mark Vitale Date: Fri Sep 18 12:46:57 2020 -0400 xstat: prevent CPU loop when -period 0 Historically xstat_cm_test and xstat_fs_test have supported option '-period ' to specify continuous operaiton for a length of time. If '-period 0' was specified, both programs exited immediately. Beginning with commits 2c1a7e47336c8f8d14dd6c65d53925a9e0e87c66 'xstat: add xstat_*_Wait functions' and 6b67cac432043a43d7cdfa6af972ab54412aff94 'convert xstat and friends to pthreads', xstat_cm_test and xstat_fs_test now support -period 0 to run "forever". This support is implemented in xstat_cm_Wait and xstat_fs_Wait, respectively. Although the "wait forever" logic was added to allow consolidation of similar code in afsmonitor, it also changed how xstat_cm_test and xstat_fs_test behave for '-period 0'. Unfortunately, there is a bug in this support, at least when running on pthreads. After the initial 24 minute timer expires, the while (1) will repeatedly run select with a timeout that is now 0. This causes the while loop to consume 100% of the CPU on which this thread is dispatched. Instead, modify the wait-forever logic to specify NULL for the select() timeout value. Also update the man page to document that '-period 0' means forever. Change-Id: I25d0d5be0eedb8bf3de495785b9b03a3e3d45221 Reviewed-on: https://gerrit.openafs.org/14366 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 74f46e0912b3f9061d7fadc3b3d08a11d6adda97 Author: Andrew Deason Date: Thu Dec 12 21:00:20 2019 -0600 afs: Return to userspace after AFS_NEW_BKG reqs Currently, for AFS_NEW_BKG, background daemons run in the context of a normal user process (afsd), in order to return to run userspace-handled background ops. For non-AFS_NEW_BKG when AFS_DAEMONOP_ENV is defined, background daemons run as kernel threads instead, and have no corresponding userspace process. On LINUX, whether or not we run as a kernel thread has some odd side-effects: at least one example of this is how open file handles (struct file) are treated when closed. When the last reference to a struct file is closed, the final free is deferred to an asynchronous call to be executed "later", in order to avoid issues with lock inversion. For kernel threads, "later" means the work is schedule on the global system work queue (schedule_work()), but for userspace processes, it is scheduled on the task work queue (task_work_add()), which is run around when the thread returns to userspace. For background daemons, we never return from the relevant syscall until we get a userspace background request (or the client is shutting down), Commit ca472e66 (LINUX: Turn on AFS_NEW_BKG) changed LINUX to use AFS_NEW_BKG background daemons, so background requests now run as a normal userspace process, and last-reference file closes are deferred. Since we may never return to userspace, this means that our file handles (used for accessing the disk cache) may never get freed, leading to an unbounded number of file handles remaining open. This can be seen by seeing the first value in /proc/sys/fs/file-nr growing without bound (possibly slowly), as accessing /afs causes background requests. Eventually the number of open files can exceed the /proc/sys/fs/file-max limit, causing further file opens to fail, causing various other problems and potentially panics. To avoid this issue, define a new userspace background op, called AFS_USPC_NOOP, which gets returned to the afsd background daemon process. When afsd sees this, it just does nothing and calls the AFSOP_BKG_HANDLER syscall again, to go into the background daemon loop again. In afs_BackgroundDaemon, we return the AFS_USPC_NOOP op whenever there are no pending background requests, or if we've run 100 background requests in a row without a break. This causes us to return to userspace periodically, preventing any such task-queued work from building up indefinitely. Do this for all platforms (currently just LINUX and DARWIN), in order to simplify the code, and possibly avoid other similar issues, since staying inside a syscall for so long while doing real work is arguably weird. Add a documentation comment block for afs_BackgroundDaemon while we're here. Thanks to mvitale@sinenomine.net for discovering the file leak. Change-Id: I1953d73b2142d4128b064f8c5f95a5858d7df131 Reviewed-on: https://gerrit.openafs.org/13984 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 83ce8d41c68a5ebcc84132d77af9024c6d285e05 Author: Andrew Deason Date: Tue Oct 13 20:18:59 2020 -0500 ubik: Remove unused sampleName The RPC-L type sampleName and related constant UMAXNAMELEN are not referenced by anything, and have been unused since OpenAFS 1.0. Remove the unused definitions. Change-Id: I21a11d9db9ed80547de8685623fb09f9a86934f1 Reviewed-on: https://gerrit.openafs.org/14386 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit bc6f50ca0ce6c17a5a9b1042fa90235613f80c95 Author: Andrew Deason Date: Tue Oct 13 12:17:37 2020 -0500 dir: Set srcdir correctly in src/dir/test srcdir is a magic variable that needs to be set to @srcdir@, not some relative path like ../../.. (which will usually be somewhere in the objdir, not srcdir). Set it correctly in here. Without this, objdir builds can fail with: make[4]: Entering directory '...obj/src/dir/test' make[4]: *** No rule to make target 'dtest.o', needed by 'dtest'. Stop. Which happens because the automatic rule for dtest.o can't be constructed, since we cannot find dtest.c automatically because srcdir isn't set properly. This has been broken since commit 37b4195d (dtest-20021111), but was not noticeable until commit 192a2ff4 (dir: make dtest buildable again), since that caused dtest to actually get built. Also set LIBS correctly in here, using the conventional ${TOP_LIBDIR}, since ${srcdir} no longer points to "../../..". Change-Id: I539e01a4397c558dc0eda492834b3f9913f71634 Reviewed-on: https://gerrit.openafs.org/14384 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit f6cdf7165b4e66772ee06314658b7c209928d611 Author: Cheyenne Wills Date: Fri Aug 21 12:53:30 2020 -0600 bozo: Use libcmd for command line options Update bosserver to use libcmd for command line parsing. Change-Id: Iaa55dc33b72983a48089a7b359260916bea2d1e7 Reviewed-on: https://gerrit.openafs.org/13845 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 1aa7d3c199e77e3ebdffe9cea4dee8ee82e81fcd Author: Mark Vitale Date: Mon Mar 4 01:37:53 2019 -0500 afs: refactor directory checking in DRead Commit d566c1cf874d15ca02020894ff0af62c4e39e7bb 'dread-do-validation-20041012' modified directory checking (in the afs_buffer.c implementation of DRead()) to use size information passed to DRead, rather than obtained from the cache via afs_CFileOpen. Because this directory checking does not require any information from the cache buffers or the cache partition, we can make the check right away, before searching the cache buffers or calling afs_newslot. To clarify and simplify, move the directory sanity checking logic to the beginning of DRead. Remove the afs_newslot cleanup logic which is no longer needed. While here, add Doxygen comments for DRead. Change-Id: I8cea4e885ece64e760271c8194c126250f87104e Reviewed-on: https://gerrit.openafs.org/13803 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 6ac68ca514932262fa949eca50527735ff5c09a4 Author: Mark Vitale Date: Thu Mar 7 14:31:49 2019 -0500 dir: check afs_dir_MakeDir return code in dtest The dtest test program ignores the return from afs_dir_Makedir. Fix this so errors may be identified in testing. While here, also improve the diagnostic message for afs_dir_Create failures, to make it consistent with the new diagnostic message for afs_dir_MakeDir failures. Change-Id: Ib882947e01c864344f17faad8a646b2487793f29 Reviewed-on: https://gerrit.openafs.org/13797 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit c5a9d4447d69d72de3304781194fa392a7c6e1d8 Author: Mark Vitale Date: Wed Mar 6 11:27:58 2019 -0500 dir: dtest should flush on error when creating directories The dtest -f subcommand (CRTest()) exits immediately if there is an error while adding files. This may create an empty, incomplete, or corrupt directory object on disk because we neglected to call DFlush before exiting. Always call DFlush from CRTest() whether it fails or succeeds. Change-Id: Ia7b4ad00ea6f4f9f788cd75ae726bdadb60ee9c3 Reviewed-on: https://gerrit.openafs.org/13796 Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Tested-by: BuildBot commit 2a1a65faab0a13083a749a63dcf3ee0879823188 Author: Mark Vitale Date: Tue Mar 5 23:20:10 2019 -0500 dir: correct fid type for dtest The dtest utility has had its fid[] arrays defined as 'long' since the initial IBM import. Commit 0a98548832472152304410e41306adcc5b91f6a2 'dir: Make test utility build again' converted some - but not all - the fid arrays to afs_int32. Allow dtest to operate correctly by converting the rest of the fid arrays to afs_int32. Change-Id: I2ebe36272e02cf860577153ab94f3591e1d707e8 Reviewed-on: https://gerrit.openafs.org/13795 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Tested-by: BuildBot commit 192a2ff49af5dbbb4f8175eec7cb63bfe97e444e Author: Mark Vitale Date: Tue Mar 5 23:11:38 2019 -0500 dir: make dtest buildable again Commit 7fe4125fe3435092b75ed29b884d8d3c2d1a2cad 'dir/vol: Die() really does' overlooked src/dir/test/dtest.c, breaking its build. Fix the signature of Die() and the makefile so dtest can be built. In addition, change the Makefile so it is always built. Change-Id: I18129acbfdaa770987c7f0b8055ff593f776e518 Reviewed-on: https://gerrit.openafs.org/13794 Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 836b3da39a32116e80f21bbb274795936e27e21c Author: Mark Vitale Date: Fri Oct 4 14:52:21 2019 -0400 dir: remove unused test files Makefile rules for physio.c and test-salvage.c have been commented out since the original IBM code import, and were removed in commit 37b4195d603630498664fa0975ea5d5c82f9aa4f 'dtest-20021111' to fix dtest. However, that commit neglected to remove the source files and other references to them in Makefile.in Finish the job by removing the files and references to them. No functional change is incurred by this commit. Change-Id: I57527be99cd28a481a86b659d1eb3227af9f1c99 Reviewed-on: https://gerrit.openafs.org/14052 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2928dbd78f56ef25684618426df9905cf59c384b Author: Mark Vitale Date: Sun Mar 3 22:06:28 2019 -0500 vol: de-orbit test programs The updateDirInode and listVicepx utilities are obsolete; they no longer build, are severely bitrotted, and have been largely replaced by volscan. While here, also remove other objects that have not been built by default since before the original IBM import: - ILIST ilist.exe - NAMEI_PROGS nicreate, nincdec, nino, nilist Remove all of them from the tree. Change-Id: I8f68ec425cce5e84bcc5f41d598eec23102109de Reviewed-on: https://gerrit.openafs.org/13793 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0a7d0c30a940dbbafe3f97fa222750d95870df93 Author: Benjamin Kaduk Date: Fri Sep 18 08:56:44 2020 -0700 Make OpenAFS 1.9.0 Update version strings for the first 1.9.x development release. Change-Id: I0d0e204ffe8d64d7c0f794f313c0f24ccea12783 Reviewed-on: https://gerrit.openafs.org/14362 Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 26a3f43a18508aa6fe63ad267f3127555f123ab9 Author: Benjamin Kaduk Date: Fri Sep 4 08:56:36 2020 -0700 Import NEWS from OpenAFS 1.8.6 Stay up to date with the stable branch at least until the initial version of the new release series. Change-Id: Iefcd9cc039399cd4cbbcc0474c2cabffa7780305 Reviewed-on: https://gerrit.openafs.org/14344 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 67a4279b65cc5082e23e72964b3974e17eeb77a9 Author: Benjamin Kaduk Date: Fri Sep 4 08:55:19 2020 -0700 Update 1.9.0 NEWS for recent changes Add some entries for the commits that landed since the previous update. Change-Id: I74820ee5a07c3fb539f233b2bd0c30aab262ba74 Reviewed-on: https://gerrit.openafs.org/14343 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d2e755e33a266df17169a1fc05db1e540b5e76af Author: Mark Vitale Date: Tue May 12 12:59:31 2020 -0400 DARWIN: disable kextutil check for versions requiring notarization Our kextutil signing check will fail for releases that require notarization (Mojave 10.14.5 and up, Catalina 10.15 all versions), because we aren't notarized yet at the time of the check. Instead, disable the check for those releases. Change-Id: Iec1b74d18ae02cdd031ed3194ffb9900aa8a1b55 Reviewed-on: https://gerrit.openafs.org/14222 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4d6c255c816c0a4f765048792dea34671fff6e87 Author: Thomas L. Kula Date: Thu May 14 14:08:40 2009 -0400 dumpscan: Don't call cb_dirent twice This fixes a bug where p->cb_dirent is called twice, if it exists. Change-Id: I7a7a6abf522b62eb310d003a61b3bbcdcda9e850 Reviewed-on: https://gerrit.openafs.org/14308 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 85893ac3df0c2cb48776cf1203ec200507b6ce7d Author: Marcio Barbosa Date: Mon Aug 31 19:56:56 2020 +0000 Revert "vos: take RO volume offline during convertROtoRW" This reverts commit 32d35db64061e4102281c235cf693341f9de9271. While that commit did fix the mentioned problem, depending on "vos" to set the volume to be converted as "out of service" is not ideal. Instead, this volume should be set as offline by the SAFSVolConvertROtoRWvolume RPC, executed on the volume server. The proper fix for this problem will be introduced by another commit. Change-Id: I0ce5ba793fe3c07e535225191b74eeb402ab5bfd Reviewed-on: https://gerrit.openafs.org/14339 Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 8b68f1a4e1e3ae06de0d6c5a8af60ef99cacb83a Author: Michael Meffie Date: Mon Aug 24 13:12:13 2020 -0400 build: Add rpm target Add a top-level makefile target to build RPMs for Red Hat distributions from the currently checked out commit. The resulting rpms are placed in the packages/rpmbuild/RPMS/ directory. The rpm target is intended to be a convenience for testing changes to the rpm packaging or generating packages for local testing. Change-Id: Id951eb2b03629be59f6258e89e8356fe1fde1ff5 Reviewed-on: https://gerrit.openafs.org/14114 Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 7cc6b97ad26089ecb88019468f3ef7c0222cebe1 Author: Michael Meffie Date: Fri May 1 14:05:24 2020 -0400 makesrpm: Support custom version strings The makesrpm.pl script generates a source RPM by creating a temporary rpmbuild workspace, populating the SOURCES and SPECS directories in that workspace, running rpmbuild to build the source RPM, and finally copying the resulting source RPM out of the temporary workspace. The name of the source RPM file created by rpmbuild depends on the package version and release strings. Unfortunately, the format of the source RPM file name changed around OpenAFS 1.6.0, so makesrpm.pl has special logic to find the version string and extra code depending on the detected OpenAFS version. Instead of trying to predict the name of the resulting source RPM file from the OpenAFS version string, and having different logic for old versions of OpenAFS, use a filename glob to find resulting source RPM file name in the temporary rpmbuild workspace. Remove the major, minor, and patch level variables, which were only used to guess the name of the resulting source RPM file name. Convert '-' characters to '_' in the package version and package release, since the '-' character is reserved by rpm as a field separator. While here, add the --dir option to specify the path of the generated source RPM, and change the 'srpm' makefile target to use the new --dir option, instead of changing the current directory before running makesrpm.pl. Also, add a dependency on the 'dist' makefile target, since the the source and document tarballs are required to build the source RPM. Add pod documentation and add the --help (-h) option to print a brief help message, and add the --man option to print the full man page. With this change, we can build a source RPM even when the .version file in the src.tar.bz file has a custom format or was created from a checkout of the master branch or other non-release reference. Change-Id: I7320afe6ac1f77d4dd38fcc194d41678fde5c950 Reviewed-on: https://gerrit.openafs.org/14116 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 4f78b3fdf1b6df9a5da85fc8bcfae28857081799 Author: Stephan Wiesand Date: Tue Aug 25 23:34:39 2020 +0200 Correct our contributor's code of conduct There are no races. Racism does exist though. Change-Id: I0a4cde55a5f470649eb99c5d7f30c9cec86d9baa Reviewed-on: https://gerrit.openafs.org/14320 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit c4f853aa00f1650b678cbd22ad1e2a9cf01c1303 Author: Andrew Deason Date: Wed Aug 26 15:41:00 2020 -0500 UKERNEL: Build linktest with COMMON_CFLAGS Currently, 'linktest' in libuafs is built with a weird custom rule that specifies several various CFLAGS and LDFLAGS, etc. One side-effect of this is that linktest is built without specifying -O, even if optimization is otherwise enabled. Normally nobody would care about the optimization of linktest, since it's never supposed to be run, but this can cause an error when building with -D_FORTIFY_SOURCE=1 on some systems (such as RHEL7): In file included from /usr/include/sys/types.h:25:0, from /.../src/config/afsconfig.h:1485, from /.../src/libuafs/linktest.c:15: /usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] # warning _FORTIFY_SOURCE requires compiling with optimization (-O) ^ cc1: all warnings being treated as errors make[3]: *** [linktest] Error 1 For now, to fix this just include $(COMMON_CFLAGS) in the flags we give for linktest, so $(OPTMZ) also gets pulled in, and building linktest gets a little closer to a normal compilation step. Change-Id: I3362dcfe8407825ab88854ae59da4188ed16be9d Reviewed-on: https://gerrit.openafs.org/14324 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 696f2ec67b049639abf04905255a7d6173dbb19e Author: Jan Iven Date: Tue Sep 1 14:51:25 2020 +0200 ptserver: Remove duplicate ubik_SetLock in listSuperGroups It looks like a call to ubik_SetLock(.. LOCKREAD) was left in place in listSuperGroups after locking was moved to ReadPreamble in commit a6d64d70 (ptserver: Refactor per-call ubik initialisation) When compiled with 'supergroups', and once contacted by "pts mem -expandgroups ..", ptserver will therefore abort() with Ubik: Internal Error: attempted to take lock twice This patch removes the superfluous ubik_SetLock. FIXES 135147 Change-Id: I8779710a6d68e4126fc482123b576690d86e4225 Reviewed-on: https://gerrit.openafs.org/14338 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 16bae98ec525fa013514fb46398df682d7637ae0 Author: Cheyenne Wills Date: Mon Aug 24 11:10:30 2020 -0600 INSTALL: document the minimum Linux kernel level The change associated with gerrit #14300 removed support for older Linux kernels (2.6.10 and earlier). The commit 'Import of code from autoconf-archive' (d8205bbb4) introduced a check for Autoconf 2.64. Autoconf 2.64 was released in 2009. The commit 'regen.sh: Use libtoolize -i, and .gitignore generated build-tools' (a7cc505d3) introduced a dependency on libtool's '-i' option. Libtool supported the '-i' option with libtool 1.9b in 2004. Update the INSTALL instructions to document a minimum Linux kernel level and the minimum levels for autoconf and libtool. Notes: RHEL4 (EOL in 2017) had a 2.6.9 kernel and RHEL5 has a 2.6.18 kernel. RHEL5 has libtool 1.5.22 and autoconf 2.59, RHEL6 has libtool 2.2.6 and autoconf 2.63, and RHEL7 has libtool 2.4.2 and autoconf 2.69. Change-Id: I235eeffa4adb152e05aab7aca839700816e62c83 Reviewed-on: https://gerrit.openafs.org/14305 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b968875a342ba8f11378e76560b46701f21391e8 Author: Yadavendra Yadav Date: Fri Aug 21 01:54:00 2020 +0530 afs: Avoid NatPing event on all connection Inside release_conns_user_server, connection vector is traversed and after destroying a connection new eligible connection is found on which NatPing event will be set. Ideally there should be only one connection on which NatPing should be set but in current code while traversing all connection of server a NatPing event is set on all connections to that server. In cases where we have large number of connection to a server this can lead to huge number of “RX_PACKET_TYPE_VERSION” packets sent to a server. Since this happen during Garbage collection of user structs, to simulate this issue below steps were tried - had one script which “cd” to a volume mount and then script sleeps for large time. - Ran one infinite while loop where above script was called using PAG based tokens (As new connection will be created for each PAG) - Instrumented the code, so that we hit above code segment where NatPing event is set. Mainly reduced NOTOKTIMEOUT to 60 sec. To fix this issue set NatPing on one connection and once it is set break from “for” loop traversing the server connection. Change-Id: Ia38cec0403fde76cdd59aa664bd261481e2edee6 Reviewed-on: https://gerrit.openafs.org/14312 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason commit 291bad659e26c21332abd2954ee8d49fccad90da Author: Mark Vitale Date: Mon Apr 20 14:51:08 2020 -0400 vos: avoid 'half-locked' volume after interrupted 'vos rename' Reported symptoms: If a 'vos rename' is interrupted after it has locked the volume and replaced the VLDB entry, but before it has unlocked the volume, the volume will remain locked. However, the locked volume will NOT be listed as locked in any vos commands that display locked status (see below for details). Background: Most vos write operations lock the VLDB volume entry before proceeding, then release the volume lock when finished. This is accomplished via VL_SetLock and VL_ReleaseLock, respectively. VL_SetLock always sets these members in the VLDB volume entry: - flags is modified to set the required VLOP_* code bit as specified - LockAFSid is set to 0 (never implemented) - LockTimestamp is set to the current time VL_ReleaseLock always sets them as follows: - flags is cleared of any VLOP_* code bit - LockAFSid is set to 0 (never implemented) - LockTimestamp is set to 0 VL_ReplaceEntry(N) may also optionally clear each of these members: - flags operation bits may be explicitly cleared via LOCKREL_OPCODE - LockAFSid may be explicitly cleared via LOCKREL_AFSID - LockTimestamp may be explicitly cleared via LOCKREL_TIMESTAMP When all 3 options are specified, VL_ReplaceEntry also does the functional equivalent of a VL_ReleaseLock. Most vos operations use this method. However, when no lock release options are specified on VL_ReplaceEntry(N), the VLDB entry is simply replaced with the supplied entry. This includes whatever flags values are specified in the supplied entry; therefore, this amounts to an additional, implicit way to set or modify the flags. Root cause: 'vos rename' (UV_RenameVolume) is the only vos operation that does all of the following things: - accepts a replacement volume entry that was obtained before VL_SetLock (and thus does NOT have any lock flags set) - issues VL_SetLock (which sets the lock flag in the VLDB) - issues VL_ReplaceEntry(N) with the original unlocked entry, and with no lock release options (thus with explicit intent to leave the lock flag unchanged, but inadvertently doing an implicit clear of the lock flag in the VLDB) - (performs some additional volserver work) - issues VL_ReleaseLock to release the volume lock Therefore, if 'vos rename' is cancelled or killed before reaching the final VL_ReleaseLock step, the VLDB entry is left with the lock flags cleared but the LockTimestamp still set. As we will see below, this 'half-locked' state produces confusing results from other vos commands. Detection of locked state: The 'vos lock' command (and all other vos commands that issue VL_SetLock) use the lock timestamp to determine if a volume is locked. However, several other vos commands ('vos listvldb ', 'vos examine ', 'vos listvldb -locked') use the VLDB entry's lock flags (not the lock timestamp) to determine if the volume is locked. Therefore, if the lock flags have been cleared but the lock timestamp is still set, these commands fail to detect that the volume is still locked. Yet an administrator's 'vos lock ' will still fail with: Could not lock VLDB entry for volume VLDB: vldb entry is already locked This is the external manifestation of the 'half-locked' state. Workaround and fix: This scenario has a simple workaround: 'vos unlock '. However, to avoid this confusing outcome in the first place, modify the 'vos rename' logic so that the lock flags are no longer inadvertently cleared. Now, if the 'vos rename' is interrupted before the volume is unlocked, it will still appear locked in normal vos command output. Change-Id: I6cc16d20c4487de4e9a866c6f0c89d950efd2f7d Reviewed-on: https://gerrit.openafs.org/14157 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 21cd26cb0d0a37d9412c0285a3c73c693222fd8a Author: Mark Vitale Date: Tue Aug 25 12:37:09 2020 -0400 rxgen: remove dead code hndle_param_tail Since the original IBM code import, hndle_param_tail has been dead code. It was later ifdef'd out in commit 8f2df21ffe59 'pull-prototypes-to-head-20020821' Remove the dead code from the tree. No functional change is incurred by this commit. Change-Id: I29128eecc93a5871f5bb9369c3983baf5b537beb Reviewed-on: https://gerrit.openafs.org/14322 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d5f0e16ac44475be55a7cc3e2895fc4a3a923ece Author: Marcio Barbosa Date: Tue Aug 18 13:56:26 2020 +0000 bos: suppress unnecessary warn if -noauth Commit d008089a7 (Add interface to select client security objects) consolidated the code that selects the client security objects into a set of new interfaces. Before this commit, the "bos: running unauthenticated" message, which warns the user when an unauthenticated connection is established, used to be suppressed if the -noauth flag was specified. Similarly to commit b3c16324e (ubik: Make ugen_ClientInit honor noAuthFlag), recover the original behavior avoiding warn messages about unauthenticated connections if the -noauth flag is provided. Change-Id: Iaf0ac6bd91ea160256823512f060afc94b5926bf Reviewed-on: https://gerrit.openafs.org/14306 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 904f5bd398db248c11b30ef7e360ce5141dcd1f3 Author: Michael Meffie Date: Thu Apr 16 16:29:09 2020 -0400 vlserver: fix missing read-only entries from ListAttributesN2 The ListAttributesN2() RPC can fail to list read-only entries under certain circumstances. This RPC is used by the `vos listvldb` command to retrieve vldb entries (unless the -name option is given). The `vos listvldb` command fails to list volume entries when run with the '-server' option for volumes that have read-only replicas, but have not been released. Consider the following example volume: $ vos create fs1.example.com a test $ vos addsite fs1.example.com a test $ vos addsite fs2.example.com a test $ vos listvldb ... test RWrite: 536870921 number of sites -> 3 server fs1.example.com partition /vicepa RW Site server fs1.example.com partition /vicepa RO Site -- Not released server fs2.example.com partition /vicepa RO Site -- Not released `vos listvldb` fails to find the volume when the search is limited to server 'fs2': $ vos listvldb -server fs2.example.com VLDB entries for server fs2.example.com Total entries: 0 Instead of the expected results: $ vos listvldb -server fs2.example.com test RWrite: 536870921 number of sites -> 3 server fs1.example.com partition /vicepa RW Site server fs1.example.com partition /vicepa RO Site -- Not released server fs2.example.com partition /vicepa RO Site -- Not released This situation makes it difficult to remove old server addresses from the vldb. In this situation, 'vos remaddrs' and 'vos changeaddr -remove' commands will complain the server addresses are still in use by volume entries, however running 'vos listvldb -server' will not show which volumes entries are in use. The entries are not listed for unreleased volumes because the ListAttributesN2() RPC is currently checking the volume VLF_ROEXISTS flag, instead of the server site flags (serverFlags) to determine when the entry is a read-only site. The volume VLF_ROEXISTS flag is set when a volume is released. To fix this, make ListAttributesN2 check for the VLSF_ROVOL site flag, instead of the VLF_ROEXISTS entry flag. Change-Id: Ib636fbe016d1d2f5b117624d9930dba83ebcef8a Reviewed-on: https://gerrit.openafs.org/14154 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 13a49aaf0d5c43bce08135edaabb65587e1a8031 Author: Cheyenne Wills Date: Mon Aug 17 08:20:11 2020 -0600 LINUX 5.9: Remove HAVE_UNLOCKED_IOCTL/COMPAT_IOCTL Linux-5.9-rc1 commit 'fs: remove the HAVE_UNLOCKED_IOCTL and HAVE_COMPAT_IOCTL defines' (4e24566a) removed the two referenced macros from the kernel. The support for unlocked_ioctl and compat_ioctl were introduced in Linux 2.6.11. Remove references to HAVE_UNLOCKED_IOCTL and HAVE_COMPAT_IOCTL using the assumption that they were always defined. Notes: With this change, building against kernels 2.6.10 and older will fail. RHEL4 (EOL in March 2017) used a 2.6.9 kernel. RHEL5 uses a 2.6.18 kernel. In linux-2.6.33-rc1 the commit messages for "staging: comedi: Remove check for HAVE_UNLOCKED_IOCTL" (00a1855c) and "Staging: comedi: remove check for HAVE_COMPAT_IOCTL" (5d7ae225) both state that all new kernels have support for unlocked_ioctl/compat_ioctl so the checks can be removed along with removing support for older kernels. Change-Id: Idd2716f3573ea455f8a5e1535bca584af0787717 Reviewed-on: https://gerrit.openafs.org/14300 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit f5051b87a56b3a4f7fd7188cbd16a663eee8abbf Author: Michael Meffie Date: Fri May 15 12:01:44 2020 -0400 vos: avoid CreateVolume when restoring over an existing volume Currently, the UV_RestoreVolume2 function always attempts to create a new volume, even when doing a incremental restore over an existing volume. When the volume already exists, the volume creation operation fails on the volume server with a VVOLEXISTS error. The client will then attempt to obtain a transaction on the existing volume. If a transaction is obtained, the incremental restore operation will proceed. If a full restore is being done, the existing volume is removed and a new empty volume is created. Unfortunately, the failed volume creation is logged to by the volume server, and so litters the log file with: Volser: CreateVolume: Unable to create the volume; aborted, error code 104 To avoid polluting the volume server log with these messages, reverse the logic in UV_RestoreVolume2. Assume the volume already exists and try to get the transaction first when doing an incremental restore. Create a new volume if the transaction cannot be obtained because the volume is not present. When doing a full restore, remove the existing volume, if one exists, and then create a new empty volume. Change-Id: I8bdc13130d12c81cd2cd18a9484852708cac64d7 Reviewed-on: https://gerrit.openafs.org/14208 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Tested-by: Marcio Brito Barbosa Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 624219a1b2192e5c7b6b45e2cbe784a9c5f33a96 Author: Michael Meffie Date: Tue Aug 4 10:34:07 2020 -0400 tests: Accommodate c-tap-harness 4.7 The SOURCE and BUILD environment variables have been changed to C_TAP_SOURCE and C_TAP_BUILD in the new version of c-tap-harness. The runtests command syntax has changed as well. Convert all of the old SOURCE and BUILD environment variables to the new C_TAP_SOURCE and C_TAP_BUILD names. Add the required -l command line option to specify the test list. Add the new runtests -v option to run the tests in verbose mode to make it easier to see which tests failed. Change-Id: I209a6dc13d6cd1507519234fce1564fc4641e70b Reviewed-on: https://gerrit.openafs.org/14295 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 3f377aa117273eba5c77ad652c0b086446b3f874 Author: Russ Allbery Date: Mon Aug 3 20:59:25 2020 -0400 Import of code from c-tap-harness This commit updates the code imported from c-tap-harness to abdb66561ffd4d2f238fdb06f448ccf09d80c059 (release/4.7) Upstream changes are: Daniel Collins (1): Add is_blob() test function. Daniel Kahn Gillmor (1): LICENSE: use https for all URLs Daria Brashear (1): Add verbose mode environment variable to runtests Julien ÉLIE (2): Document -v in usage and comments of runtests Avoid realloc of zero length in tests/runtests.c Marc Dionne (1): Add test_cleanup_register_with_data Russ Allbery (115): clang --analyze cleanups for runtests Modernize POD tests Update README to my current layout Explicitly note that test programs must be executable Fix comment typo in tests/runtests.c Switch to a copyright-format 1.0 LICENSE file Flush harness output after each line Show the test count as ? when the plan is deferred More correctly backspace over test counts when aborting Refactor test list handling Allow passing tests on the runtests command line Don't allow command-line arguments if a list was given Search for tests under the name given as well Release 2.0 Fix backward incompatibility when searching for tests Document decision to ignore TAP version directives Release 2.1 Document different runtests behavior in bail handling Change exit status of bail to 255 Release 2.2 Add a new test_cleanup_register C API Add warn_unused_result attributes Add portability for warn_unsed_result attributes to tap/macros.h Minor coding style fix (spacing) in runtests.c Split the runtests usage string for ISO C90 string limits Include stddef.h Diagnose failure to register the exit handler Use diag internally in the basic C TAP library Some additional comments about cleanup functions Move repetitive printing code in the C TAP library to a macro Set a flag when bailing for more correct cleanup Change my email address to eagle@eyrie.org Release 2.3 Add diag_file_add and diag_file_remove functions Don't die for unknown files passed to diag_file_remove Release 2.4 Update comment about AIX and WCOREDUMP Don't test for NULL before calling free Be more careful about file descriptors in child processes Run cleanup functions in non-primary processes as well Release 3.0 Update collective package copyright notices at start of LICENSE Check integer overflows on memory allocation, fix string creation Switch POD spelling test to use Lancaster consensus variable Add new bnrealloc API for brealloc with checked multiplication Rename nrealloc to reallocarray Return the test status from test functions Fix the overflow check for breallocarray Fix the overflow check for xreallocarray in runtests Restructure test result reallocation in runtests Change diag and sysdiag to always return true Release 3.1 Fix typos in basic.c and basic.h Fix usage message when running runtests with no arguments Update introductory runtests comments for current syntax Add the -l flag to suggested runtests invocation in README Support comments and blank lines in test lists Release 3.2 Update licensing information Various improvements to verbose support Compile warning-free with Clang, check Autoconf macros Release 3.3 Remove unnecessary assert.h include in tap/basic.c Fix some additional -v documentation issues Rebalance usage to avoid too-long strings Fix segfault in runtests with empty test list Release 3.4 Document running autogen if starting from Git Rename autogen to bootstrap Support and prefer C_TAP_SOURCE and C_TAP_BUILD Fix comment typo in tests/runtests.c Add missing va_end to is_double Release 4.0 Fix all non-https www.eyrie.org URLs Add is_bool C test function Add DocKnot metadata and a Markdown README file Update documentation for new DocKnot standards Release 4.1 Use more defaults from DocKnot templates Fix new fall-through warning in GCC 7 Use compiler warnings from rra-c-util, fix issues Merge pull request #4 from solemnwarning/master Coding style fixes and NEWS for is_blob Re-enable -Wunknown-pragmas for GCC Avoid zero-length realloc allocations in breallocarray Update copyright date on tests/runtests.c Release 4.2 Add SPDX-License-Identifier headers to source files Add and run new check-cppcheck target Fix instructions for running one test Identify values as left and right Fix is_string comparisons with NULL pointers Add support for running tests under valgrind Replace putc with fprintf Update shared files from rra-c-util Release 4.3 Update NEWS date for 4.3 release Collapse some copyright dates NEWS and coding style for test_cleanup_register_with_data Remove unused variables caught by Clang scan-build Update to rra-c-util 8.0 Fix error checking in bstrndup Release 4.4 Add support for C++ Document that C TAP Harness can be built as C++ Release 4.5 Regenerate README files Reformat using clang-format 10 Update to rra-c-util 8.1 Release 4.6 Fix spelling errors caught by codespell Protect the test suite against C_TAP_VERBOSE Switch to GitHub Actions for CI Add NEWS entry for GCC 10 warning fixes Release 4.7 Change-Id: I5a78215bf99b53bd848f0fa6bb9092deab38f24e Reviewed-on: https://gerrit.openafs.org/14294 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit eccd4b9778014c36a4b3af6d9e80194066bd2195 Author: Andrew Deason Date: Tue Jun 2 13:37:00 2020 -0500 afs: Always define our own osi_timeval32_t Since OpenAFS 1.0, osi_GetTime has taken a timeval-like pointer, which contains 32-bit fields (the actual type has been called either osi_timeval_t or osi_timeval32_t over time). For platforms that have a native timeval-like type with 32-bit fields, we just define osi_timeval32_t to that type, and elsewhere we define our own struct to be osi_timeval32_t. For platforms that use the native timeval, we can then define osi_GetTime() to just be, e.g., microtime(). This approach is difficult to maintain, though, because we must keep track of whether 'struct timeval' contains 32-bit fields on each platform, which can depend on many factors. It's easy to make mistakes (the current tree already contains mistakes), and there's not much benefit. To avoid all of this, just always define osi_timeval32_t to be our own struct with afs_int32 fields, and provide definitions for osi_GetTime that convert from the native time struct to our osi_timeval32_t. This does mean that for some platforms we do an unnecessary type conversion, but this is a small price to pay for more straightforward and maintainable code. To be a little more sure that our types are correct, change osi_GetTime to be defined as an inline function instead of a macro. At the same time, do a similar conversion for the KERNEL implementation of the rx clock_GetTime function. Get rid of platform-specific mess, and do a straightforward type conversion between osi_timeval32_t and struct clock in an inline function. Change-Id: I18819acb556a2a7f1b6da6994db9783c48108934 Reviewed-on: https://gerrit.openafs.org/14238 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit a5c3dfe99fa1831e3b416e89f52a03fd1cf9f73d Author: Andrew Deason Date: Tue Jun 2 13:12:14 2020 -0500 afs: Move osi_GetTime out of param.h Most platforms currently #define osi_GetTime in their param.h. This is really redundant, since the definition of osi_GetTime almost never changes for a given platform, so we end up with many copies of the same osi_GetTime definition for a given platform. Move osi_GetTime out of param.h for these platforms, and define it in osi_machdep.h instead, which is where most platform-specific definitions go. For DFBSD, we don't have an osi_machdep.h at all yet, so create a new one to contain the osi_GetTime definition. Currently we don't build libafs at all on DFBSD, but do this anyway so we don't lose the existing osi_GetTime definition. For NBSD, we were providing (conflicting!) definitions for osi_GetTime in param.h and in osi_machdep.h. Just remove the definitions in param.h, since those should have been getting overridden by the osi_machdep.h definition. Change-Id: I7097d9fe2fcd38c06ecc275e8fe3a2c69c9d0436 Reviewed-on: https://gerrit.openafs.org/14237 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit c56873bf95f6325b70e63ed56ce59a3c6b2b753b Author: Cheyenne Wills Date: Mon Jul 27 12:31:35 2020 -0600 afs: Avoid using logical OR when setting f_fsid Building with clang-10 produces the warning/error message warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare] for the expression abp->f_fsid = (AFS_VFSMAGIC << 16) || AFS_VFSFSID; The message is because a logical OR '||' is used instead of a bitwise OR '|'. The result of this expression will always set the f_fsid member to a 1 and not the intended value of AFS_VFSMAGIC combined with AFS_VFSFSID. Update the expression to use a bitwise OR instead of the logical OR. Note: This will change value stored in the f_fsid that is returned from statfs. Using a logical OR has existed since OpenAFS 1.0 for hpux/solaris and in UKERNEL since OpenAFS 1.5 with the commit 'UKERNEL: add uafs_statvfs' b822971a. Change-Id: I3e85ba48058ac68e3e3ac7f277623f660187926c Reviewed-on: https://gerrit.openafs.org/14292 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 446457a1240b88fd94fc34ff5715f2b7f2f3ef12 Author: Cheyenne Wills Date: Mon Jul 27 12:31:03 2020 -0600 afs: Set AFS_VFSFSID to a numerical value Currently when UKERNEL is defined, AFS_VFSFSID is always set to AFS_MOUNT_AFS, which is a string for many platforms for UKERNEL. Update src/afs/afs.h to insure that the define for AFS_VFSFSID is a numeric value when building UKERNEL. Clean up the preprocessor indentation in src/afs/afs.h in the area around the AFS_VFSFSID defines. Thanks to adeason@sinenomine.net for pointing out a much easier solution for resolving this problem. Change-Id: I618fc4c89029a6cca2ca6f530b8f65399299a9d1 Reviewed-on: https://gerrit.openafs.org/14279 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e5f44f6e9af643cab3a66216dff901e0a4c5eda8 Author: Cheyenne Wills Date: Thu Jul 23 15:43:42 2020 -0600 clang-10: ignore fallthrough warning in generated code Clang-10 will not recognize '/* fall through */' as an indicator to turn off the fallthrough warning due to the lack of a 'break' in a case statement. Code generated by flex uses the '/* fall through */' comments to turn off compiler warnings for fallthroughs in case statements. For code generated by flex, ignore the implicit-fallthrough via pragma or disable the warning via a compile time flag. Add new env variable "CFLAGS_NOIMPLICIT_FALLTHROUGH" to selectively disable the compile check in Makefiles when checking is enabled. Change-Id: I4c054defda03daa2aeb645ae2271dfa0cb54925f Reviewed-on: https://gerrit.openafs.org/14275 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 16f1b2f894c28614df0f096be8232b1176e87c70 Author: Cheyenne Wills Date: Mon Jul 27 08:33:03 2020 -0600 clang-10: use AFS_FALLTHROUGH for case fallthrough Clang-10 will not recognize '/* fallthrough */' as an indicator to turn off the fallthrough diagnostic due to the lack of a 'break' in a case statement. Clang-10 requires the '__attribute__((fallthrough))' statement to disable the diagnostic. In addition clang-10 is finding additional locations where fall throughs occur. Determine if the compiler supports '__attribute__((fallthrough))' to disable the implicit fallthrough diagnostic. Define a new macro 'AFS_FALLTHROUGH' that will disable the fallthrough diagnostic. Set it as a wrapper for the Linux kernel's 'fallthrough' macro if available, otherwise set it as a wrapper macro for '__attribute__((fallthrough))' if the compiler supports it. Update CODING to document the use of AFS_FALLTHROUGH when needing to fallthrough between case statements. Replace the '/* fallthrough */' comments with AFS_FALLTHROUGH, and add AFS_FALLTHROUGH as needed. Replace some fallthroughs with a break (or goto) if the flow was was just to a break (or goto). e.g. case x: case x: somestmt; somestmt; break; case y: case y: break; break; Correct a mis-indented brace '}' in src/WINNT/afsd/smb3.c Note, the clang maintainers have rejected the use of comments as a flag to turn off the fall through warnings. Change-Id: Ia5da10fc14fc1874baca035a3cf471e618e0d5f5 Reviewed-on: https://gerrit.openafs.org/14274 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit e61ab9353e99d3298815296abf6b02c50ebe3df0 Author: Michael Meffie Date: Wed Jul 1 21:50:09 2020 -0400 redhat: Add make to the dkms-openafs pre-requirements If `make` is not installed before dkms-openafs, the OpenAFS kernel module is not built during the dkms-openafs package installation. The failure happens in the "checking if linux kernel module build works" configure step, which invokes `make` to check the linux buildsystem. configure fails when `make` is not available, and gives the unhelpful suggestion (in this case) of configuring with --disable-kernel module. Running the configure.log in the dkms build directory shows: configure:7739: checking if linux kernel module build works make -C /lib/modules/4.18.0-193.6.3.el8_2.x86_64/build M=/var/lib/dkms/openafs/... ./configure: line 7771: make: command not found configure: failed using Makefile: Avoid this build failure by adding `make` to the list of dkms-openafs package pre-requirements. Change-Id: I98b3508341eea1df4fa7b6f43e88add1bda9ee2c Reviewed-on: https://gerrit.openafs.org/14266 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 2d01f35d05a71da3594569c66e688b4bc6b28401 Author: Andrew Deason Date: Fri May 29 12:57:50 2020 -0500 vol: Blank opts in VOptDefaults Instead of needing to set every single field in the 'opts' structure individually, blank the whole thing to make sure the entire struct is initialized. Remove the now-redundant lines that initialize various items to 0. Change-Id: I799cdb55becd66a8f3d6ec2f81338843038d0abd Reviewed-on: https://gerrit.openafs.org/14280 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Kailas Zadbuke Reviewed-by: Yadavendra Yadav Reviewed-by: Benjamin Kaduk commit 4498bd8179e5e93a33468be3c8e7a30e569d560a Author: Andrew Deason Date: Mon Jun 22 22:54:52 2020 -0500 volser: Don't NUL-pad failed pread()s in dumps Currently, the volserver SAFSVolDump RPC and the 'voldump' utility handle short reads from pread() for vnode payloads by padding the missing data with NUL bytes. That is, if we request 4k of data for our pread() call, and we only get back 1k of data, we'll write 1k of data to the volume dump stream followed by 3k of NUL bytes, and log messages like this: 1 Volser: DumpFile: Error reading inode 1234 for vnode 5678 1 Volser: DumpFile: Null padding file: 3072 bytes at offset 40960 This can happen if we hit EOF on the underlying file sooner than expected, or if the OS just responds with fewer bytes than requested for any reason. The same code path tries to do the same NUL-padding if pread() returns an error (for example, EIO), padding the entire e.g. 4k block with NULs. However, in this case, the "padding" code often doesn't work as intended, because we compare 'n' (set to -1) with 'howMany' (set to 4k in this example), like so: if (n < howMany) Here, 'n' is signed (ssize_t), and 'howMany' is unsigned (size_t), and so compilers will promote 'n' to the unsigned type, causing this conditional to fail when n is -1. As a result, all of the relevant log messages are skipped, and the data in the dumpstream gets corrupted (we skip a block of data, and our 'howFar' offset goes back by 1). So this can result in rare silent data corruption in volume dumps, which can occur during volume releases, moves, etc. To fix all of this, remove this bizarre NUL-padding behavior in the volserver. Instead: - For actual errors from pread(), return an error, like we do for I/O errors in most other code paths. - For short reads, just write out the amount of data we actually read, and keep going. - For premature EOF, treat it like a pread() error, but log a slightly different message. For the 'voldump' utility, the padding behavior can make sense if a user is trying to recover volume data offline in a disaster recovery scenario. So for voldump, add a new switch (-pad-errors) to enable the padding behavior, but change the default behavior to bail out on errors. Change-Id: Ibd6e76c5ea0dea95e3354d9b34536296f81b4f67 Reviewed-on: https://gerrit.openafs.org/14255 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 37b55b30c65d0ab8c8eaabfda0dbd90829e2c46a Author: Cheyenne Wills Date: Thu Jul 16 15:52:00 2020 -0600 butc: fix int to float conversion warning Building with clang-10 results in 2 warnings/errors associated with with trying to convert 0x7fffffff to a floating point value. tcmain.c:240:18: error: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Werror, -Wimplicit-int-float-conversion] if ((total > 0x7fffffff) || (total < 0)) /* Don't go over 2G */ and the same conversion warning on the statement on the following line: total = 0x7fffffff; Use floating point and decimal constants instead of the hex constants. For the test, use 2147483648.0 which is cleanly represented by a float. Change the comparison in the test from '>' to '>='. If the total value exceeds 2G, just assign the max value directly to the return variable. Change-Id: I79b2afa006496a756bd7b50976050c24827aa027 Reviewed-on: https://gerrit.openafs.org/14277 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 899b1af4183fb09fd55a36e3d10ffbdb9671a47e Author: Cheyenne Wills Date: Thu Jul 16 15:07:15 2020 -0600 autoconf: fix detection for fallthrough attribute Due to bug , ax_gcc_func_attribute.m4 fails to properly detect __attribute__((fallthrough)) in clang. Until this is fixed in autoconf-archive upstream, fix our local copy of ax_gcc_func_attribute.m4, so we can detect __attribute__((fallthrough)) to make --enable-checking work with clang. Change-Id: I80a4557384f8e1438344e48bfe722e20c8773882 Reviewed-on: https://gerrit.openafs.org/14273 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 88da6b4dfa4ad2b53508f9e0b559392cecb69c86 Author: Cheyenne Wills Date: Thu Jul 16 15:05:13 2020 -0600 cf: Make local copy of ax_gcc_func_attribute.m4 Make a local copy of ax_gcc_func_attribute from autoconf-archive. This is needed in order to fix a bug in the detection of the fallthrough attribute. Remove ax_gcc_func_attribute.m4 from src/external/autoconf-archive/m4. Update LICENSE file to point to the local copy in src/cf. Change-Id: I6c4244d2cd4edab4262c1820435c00419d85303b Reviewed-on: https://gerrit.openafs.org/14272 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit bb5397e4c409e3c075ee73d6bf54a3b6eacc0060 Author: Mark Vitale Date: Fri Apr 20 00:57:28 2018 -0400 rx: prevent leakage of non-cached rx_connections (pthread) The rxi_connectionCache (AFS_PTHREAD_ENV only) allows applications to reuse rx_connection structs. Cached rx_connections are obtained via rx_GetCachedConnection and released via rx_ReleaseCachedConnection. This feature is used most heavily by libadmin and kauth, but there are other users in the tree as well. For instance, ubikclient routines ubik_ClientInit and ubik_ClientDestroy call rx_ReleaseCachedConnections (if AFS_PTHREAD_ENV) when disposing of their rx_connections. Unfortunately, in many cases these rx_connections were obtained via rx_NewConnection, _not_ from the cache via rx_GetCachedConnection. In those cases, rx_ReleaseCachedConnection will not find the rx_connection in the rxi_connectionCache, and thus it returns without doing anything. Therefore, when ubik_ClientInit is passed an existing ubik_client (for re-initialization) that contains rx_connections NOT allocated via rx_GetCachedConnection, those connections are not destroyed, but will be silently leaked. Similarly, ubik_ClientDestroy will leak its rx_connections when it frees the ubik_client struct. For example, the fileserver host package calls ubik_ClientInit (via hpr_Initialize) and ubik_ClientDestroy (via hpr_End) to manage connections to the ptserver. However, these connections were obtained via rx_NewConnection, not rx_GetCachedConnection. If the fileserver has a failed call to the ptserver that sets prfail=1, the next RPC scheduled for that client (in CallPreamble) will refresh the thread's ubik_client (viced_uclient_key) by calling hprEnd -> ubik_ClientDestroy -> rx_ReleaseCachedConnection. The "released" connections will be leaked. This problem exists in all versions of OpenAFS going back to IBM 1.0. Starting with 1.8.x, many components that were formerly LWP-only are now pthreaded and thus susceptible to this leak. It seems difficult and error-prone to identify all possible code paths that may pass a non-cached rx_connection to rx_ReleaseCachedConnection, and convert them to obtain connections via rx_GetCachedConnection. Instead, prevent all existing and future leaks by modifying the connection cache to: - flag all rx_connections it allocates - correctly release any rx_connection it is passed, whether they came from the cache or not. Change-Id: Ibe164ccd30a8ddd799438c28fd6e1d8a0a9040dd Reviewed-on: https://gerrit.openafs.org/13042 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 55fca11421055d0bcee79f118ea2a035393cc6e5 Author: Mark Vitale Date: Mon Apr 30 18:34:28 2018 -0400 rx: fix out-of-range value for RX_CONN_NAT_PING Commit 496fb87372555f6acddd4fd88b03c94c85f48511 ("rx: avoid nat ping until connection is attached") introduced functionality to defer turning on NAT ping for server connections until after reachability had been established for the client. Unfortunately, this feature could never work correctly because it assigned an out-of-range flag value of 256 (0x100) for the u_char flags field. Instead of calling this out as an error, both gcc and Solaris cc elide this flag so that it is never set in rx_SetConnSecondsUntilNatPing(), Furthermore, the test in rxi_ConnClearAttachWait() will always fail; therefore rxi_ScheduleNatKeepAliveEvent is never called after attach wait has ended. Fortunately, this bug is currently moot - not actually exposed in OpenAFS. (It was discovered by inspection). This is because there are currently no rx_connection objects in the tree that have both NAT ping and checkReach (rx_SetCheckReach) enabled. I also searched git history and found no time when this bug could ever have been exposed. This does raise the question of why the original commit was needed; but instead of reverting the original commit, this commit attempts to fix it. To prevent problems if NAT ping and checkReach are ever both enabled for an rx_connection, enlarge the rx_connection flags member so that the RX_CONN_NAT_PING value is no longer out of range. Change-Id: Ib667ece632f66fa5c63a76398acb3153fed6f9c3 Reviewed-on: https://gerrit.openafs.org/13041 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d231134aadcaf2bd3a91f26ba6d3d451713a6fba Author: Andrew Deason Date: Mon May 18 12:38:31 2020 -0500 auth: Avoid cellconfig.c stdio renaming Since commit 35777145 (solaris-fopen-sucks-20060916), cellconfig.c has redirected fopen, fclose, and fgets to local functions on non-64bit-sparc Solaris, in order to work around that platform's stdio limitations. Commit 7c431f7571 (auth: retire writeconfig.c) moved the contents of writeconfig.c into cellconfig.c. The previous writeconfig.c contained some calls to stdio, including calling fprintf() on a pointer returned by fopen() in that file. Because fopen() was redirected to our local version, this means that afsconf_SetExtendedCellInfo() calls fopen() to get an afsconf_iobuffer*, and passes that pointer to the real system fprintf() later on (instead of a native FILE*). The compiler does warn about this, but this only happens on Solaris, where --enable-checking is not implemented, so the build never fails. To avoid this, remove the #defines for fopen, fgets, and fclose. Instead, change all of the old cellconfig.c callers to explicitly call afsconf_fopen, afsconf_fgets, and afsconf_fclose. On the affected Solaris platforms, we keep our local definitions, and for other platforms, we just make those functions call their system stdio equivalents. For the code that was pulled in from writeconfig.c, callers will just call the system fopen, fprintf, and fclose. We still keep our local afsconf_FILE* definition on all platforms, so the compiler will still do typechecking for our local afsconf_f* functions on all platforms. So now if we make a mistake, it should be a mistake on all platforms, so platforms with --enable-checking should flag the error. Change-Id: I4064d7f5ee82d5acab04a33b01c0603564a391e8 Reviewed-on: https://gerrit.openafs.org/14214 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Tested-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit cd65475e95e25c8e7071e099a682bdcc03d2cce1 Author: Andrew Deason Date: Fri Jul 26 15:28:44 2019 -0500 afs: Let afs_ShakeLooseVCaches run longer Currently, when afs_ShakeLooseVCaches runs osi_TryEvictVCache, we check if osi_TryEvictVCache slept (i.e. dropped afs_xvcache/GLOCK). If we sleep over 100 times, then we stop trying to evict vcaches and return. If we have recently accessed a lot of AFS files, this limitation can severely reduce our ability to keep our number of vcaches limited to a reasonable size. For example: Say a Linux client runs a process that quickly accesses 1 million files (a simple 'find' command) and then does nothing else. A few minutes later, afs_ShakeLooseVCaches is run, but since all of the newly accessed vcaches have dentries attached to them, we will sleep on each one in order to try to prune the attached dentries. This means that afs_ShakeLooseVCaches will evict 100 vcaches, and then return, leaving us with still almost 1 million vcaches. This will happen repeatedly until afs_ShakeLooseVCaches finally works its way through all of the vcaches (which takes quite a while, if we only clear 100 at once), or the dentries get pruned by other means (such as, if Linux evicts them due to memory pressure). The limit of 100 sleeps was originally added in commit 29277d96 (newvcache-dont-spin-20060128), but the current effect of it was largely introduced in commit 9be76c0d (Refactor afs_NewVCache). It exists to ensure that afs_ShakeLooseVCaches doesn't take forever to run, but the limit of 100 sleeps may seem quite low, especially if those 100 sleeps run very quickly. To avoid the situation described above, instead of limiting afs_ShakeLooseVCaches based on a fixed number of sleeps, limit it based on how long we've been running, and set an arbitrary limit of roughly 3 seconds. Only check how long we've been running after 100 sleeps like before, so we're not constantly checking the time while running. Log a new warning if we exit afs_ShakeLooseVCaches prematurely if we've been running for too long, to help indicate what is going on. Change-Id: I65729ace748e8507cc0d5c26dec39e74d7bff5d2 Reviewed-on: https://gerrit.openafs.org/14254 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 9ff45e73cf3d91d12f09e108e1267e37ae842c87 Author: Andrew Deason Date: Mon Jul 16 16:53:34 2018 -0500 afs: Skip bulkstat if stat cache looks full Currently, afs_lookup() will try to prefetch dir entries for normal dirs via bulkstat whenever multiple pids are reading that dir. However, if we already have a lot of vcaches, ShakeLooseVCaches may be struggling to limit the vcaches we already have. Entering afs_DoBulkStat can make this worse, since we grab afs_xvcache repeatedly, we may kick out other vcaches, and we'll possibly create 30 new vcaches that may not even be used before they're evicted. To try to avoid this, skip running afs_DoBulkStat if it looks like the stat cache is really full. Change-Id: I1634530170a189f32cb962dd7df28f88bc758b71 Reviewed-on: https://gerrit.openafs.org/13256 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0532f917f29bdb44f4933f9c8a6c05c7fecc6bbb Author: Andrew Deason Date: Mon Jul 16 16:44:14 2018 -0500 afs: Log warning when we detect too many vcaches Currently, afs_ShakeLooseVCaches has a kind of warning that is logged when we fail to free up any vcaches. This information can be useful to know, since it may be a sign that users are trying to access way more files than our configured vcache limit, hindering performance as we constantly try to evict and re-create vcaches for files. However, the current warning is not clear at all to non-expert users, and it can only occur for non-dynamic vcaches (which is uncommon these days). To improve this, try to make a general determination if it looks like the stat cache is "stressed", and log a message if so after afs_ShakeLooseVCaches runs (for all platforms, regardless of dynamic vcaches). Also try to make the message a little more user-friendly, and only log it (at most) once per 4 hours. Determining whether the stat cache looks stressed or not is difficult and arguably subjective (especially for dynamic vcaches). This commit draws a few arbitrary lines in the sand to make the decision, so at least something will be logged in the cases where users are constantly accessing way more files than our configured vcache limit. Change-Id: I022478dc8abb7fdef24ccc06d477b349cca759ac Reviewed-on: https://gerrit.openafs.org/13255 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 42fb8786a8fff30ea97524f896c5aee4fa307f89 Author: Mark Vitale Date: Thu Jun 25 11:45:19 2020 -0400 viced: propagate return from CleanupTimedOutCallBacks_r The fileserver's FiveMinuteCheckLWP periodically calls CleanupTimedOutCallBacks, and logs an informational messages if the return code indicates that any callbacks were discarded. However, since the original IBM code import, CleanupTimedOutCallBacks has 1) ignored the return value from CleanupTimedOutCallBacks_r and 2) unconditionally returned 0. This makes the informational message essentially dead code. Instead, check the code from CleanupTimedOutCallBacks_r and pass it back to the caller. Change-Id: I631831c398e43431b79f4a3a0c6f01307ac0c05e Reviewed-on: https://gerrit.openafs.org/14256 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f9d20c631d7280ce00125a1208331931a6e3f31c Author: Andrew Deason Date: Thu Jun 18 21:16:09 2020 -0500 LINUX: Close cacheFp if no ->readpage in fastpath In afs_linux_readpage_fastpath, if we discover that our disk cache fs has no ->readpage function, we'll 'goto out', but we never close our cacheFp. To make sure we close it, add a filp_close() call to the 'goto out' cleanup code. Change-Id: I371c1d7ec51b03447fbcbe58fb89be7be0235022 Reviewed-on: https://gerrit.openafs.org/14252 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit af73b9a3b1fc625694807287c0897391feaad52d Author: Cheyenne Wills Date: Thu Jul 2 13:39:27 2020 -0600 LINUX: Don't panic on some file open errors Commit 'LINUX: Return NULL for afs_linux_raw_open error' (f6af4a155) updated afs_linux_raw_open to return NULL on some errors, but still panics if obtaining the dentry fails. Commit 'afs: Verify osi_UFSOpen worked' (c6b61a451) updated callers of osi_UFSOpen to verify whether or not the open was successful. This meant osi_UFSOpen (and routines it calls) could pass back an error indication rather than panic when an error is encountered. Update afs_linux_raw_open to return a failure instead of panic if unable to obtain a dentry. Update osi_UFSOpen to return a NULL instead of panic if unable to obtain memory or fails to open the file. All callers of osi_UFSOpen handle a fail return, though some will still issue a panic. Update afs_linux_readpage_fastpath and afs_linux_readpages to not panic if afs_linux_raw_open fails. Instead of panic, return an error. For testing, an error can be forced by removing a file from the cache directory. Note this work is based on a commit by pruiter@sinenomine.net Change-Id: Ic47e4868b4f81d99fbe3b2e4958778508ae4851f Reviewed-on: https://gerrit.openafs.org/14242 Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit d2d27f975df13c3833898611dacff940a5ba3e2a Author: Cheyenne Wills Date: Fri Jun 19 08:01:14 2020 -0600 afs: Avoid panics on failed return from afs_CFileOpen afs_CFileOpen is a macro that invokes the open "method" of the afs_cacheOps structure, and for disk caches the osi_UFSOpen function is used. Currently osi_UFSOpen will panic if there is an error encountered while opening a file. Prepare to handle osi_UFSOpen function returning a NULL instead of issuing a panic (future commit). Update callers of afs_CFileOpen to test for an error and to return an error instead of issuing a panic. While this commit eliminates some panics, it does not address some of the more complex cases associated with errors from afs_CFileOpen. Change-Id: I2bdd525633dd44ebf8e26fcfd7059dfdfffb6142 Reviewed-on: https://gerrit.openafs.org/14241 Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7d85ce221d6ccc19cf76ce7680c74311e4ed2632 Author: Cheyenne Wills Date: Thu Jun 25 10:43:53 2020 -0600 LINUX 5.8: use lru_cache_add With Linux-5.8-rc1 commit 'mm: fold and remove lru_cache_add_anon() and lru_cache_add_file()' (6058eaec), the lru_cache_add_file function is removed since it was functionally equivalent to lru_cache_add. Replace lru_cache_add_file with lru_cache_add. Introduce a new autoconf test to determine if lru_cache_add is present For reference, the Linux changes associated with the lru caches: __pagevec_lru_add introduced before v2.6.12-rc2 lru_cache_add_file introduced in v2.6.28-rc1 __pagevec_lru_add_file replaces __pagevec_lru_add in v2.6.28-rc1 vmscan: split LRU lists into anon & file sets (4f98a2fee) __pagevec_lru_add removed in v5.7 with a note to use lru_cache_add_file mm/swap.c: not necessary to export __pagevec_lru_add() (bde07cfc6) lru_cache_add_file removed in v5.8 mm: fold and remove lru_cache_add_anon() and lru_cache_add_file() (6058eaec) lru_cache_add exported mm: fold and remove lru_cache_add_anon() and lru_cache_add_file() (6058eaec) Openafs will use: lru_cache_add on 5.8 kernels lru_cache_add_file from 2.6.28 through 5.7 kernels __pagevec_lru_add/__pagevec_lru_add_file on pre 2.6.28 kernels Change-Id: I79ebe4a81425bf8a8a327ddf2d3474aff9df039d Reviewed-on: https://gerrit.openafs.org/14249 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Yadavendra Yadav Reviewed-by: Benjamin Kaduk commit ae9ea8da699ba3f2ab0f7d76ae3333349fe3dfa3 Author: Benjamin Kaduk Date: Tue Jun 30 21:55:45 2020 -0700 Recode a couple files from ISO 8859-1 to UTF-8 Reported by Debian's lintian(1). The CellServDB, as an externally maintained file, is left unchanged. Change-Id: I3bf241b924cb8cd7799a4c3e799f6acd375b2e8a Reviewed-on: https://gerrit.openafs.org/14265 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit ba8b92401b8cb2f5a5306313c2702cb36cba083c Author: Andrew Deason Date: Sun Jul 8 15:00:02 2018 -0500 afs: Bound afs_DoBulkStat dir scan Currently, afs_DoBulkStat will scan the entire directory blob, looking for entries to stat. If all or almost all entries are already stat'd, we'll scan through the entire directory, doing nontrivial work on each entry (we grab afs_xvcache, at least). All of this work is pretty pointless, since the entries are already cached and so we won't do anything. If many processes are trying to acquire afs_xvcache, this can contribute to performance issues. To avoid this, provide a constant bound on the number of entries we'll search through: nentries * 4. The current arbitrary limits cap nentries at 30, so this means we're capping the afs_DoBulkStat search to 120 entries. Change-Id: I66e9af5b27844ddf6cf37c8286fcc65f8e0d3f96 Reviewed-on: https://gerrit.openafs.org/13253 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6c808e05adb0609e02cd61e3c6c4c09eb93c1630 Author: Andrew Deason Date: Thu Jul 13 17:40:36 2017 -0500 afs: Avoid needless W-locks for afs_FindVCache The callers of afs_FindVCache must hold at least a read lock on afs_xvcache; some hold a shared or write lock (and set IS_SLOCK or IS_WLOCK in the given flags). Two callers (afs_EvalFakeStat_int and afs_DoBulkStat) currently hold a write lock, but neither of them need to. In the optimal case, where afs_FindVCache finds the given vcache, this means that we unnecessarily hold a write lock on afs_xvcache. This can impact performance, since afs_xvcache can be a very frequently accessed lock (a simple operation like afs_PutVCache briefly holds a read lock, for example). To avoid this, have afs_DoBulkStat hold a shared lock on afs_xvcache, upgrading to a write lock when needed. afs_EvalFakeStat_int doesn't ever need a write lock at all, so just convert it to a read lock. Change-Id: I5bd58b9e3a577c9e1ebf1bc3719e65a6c0af5cb8 Reviewed-on: https://gerrit.openafs.org/12656 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e44d6441c8786fdaaa1fad1b1ae77704c12f7d60 Author: Kailas Zadbuke Date: Wed Jun 3 15:44:08 2020 +0530 util: Handle serverLogMutex lock across forks If a process forks when another thread has serverLogMutex locked, the child process inherits the locked serverLogMutex. This causes a deadlock when code in the child process tries to lock serverLogMutex, since we can never unlock serverLogMutex because the locking thread no longer exists. This can happen in the salvageserver, since the salvageserver locks serverLogMutex in different threads, and forks to handle salvage jobs. To avoid this deadlock, we register handlers using pthread_atfork() so that the serverLogMutex will be held during the fork. The fork will be blocked until the worker thread releases the serverLogMutex. Hence the serverLogMutex will be held until the fork is complete and it will be released in the parent and child threads. Thanks to Yadavendra Yadav(yadayada@in.ibm.com) for working with me on this issue. Change-Id: I191c8272825c1667bb2150146e04b1dfe36a54e4 Reviewed-on: https://gerrit.openafs.org/14239 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 19cd454f11997d286bc415e9bc9318a31f73e2c6 Author: Andrew Deason Date: Mon Jul 16 16:08:13 2018 -0500 afs: Split out bulkstat conditions into a function Our current if() statement for determining whether we should run afs_DoBulkStat to prefetch dir entries is a bit large, and grows over time. Split this logic out into a separate function to make it easier to maintain, and add some comments to help explain each condition. This commit should have no visible effects; it's just code reorganization. Change-Id: I0086189308d2f5e4b321c63f24110d74cda6433c Reviewed-on: https://gerrit.openafs.org/13254 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a05d5b7503e466e18f5157006c1de2a2f7d019f7 Author: Andrew Deason Date: Thu Jul 13 17:40:21 2017 -0500 afs: Change VerifyVCache2 calls to VerifyVCache afs_VerifyVCache is a macro that (on most platforms) effectively expands to: if ((avc->f.states & CStatd)) { return 0; } else { return afs_VerifyVCache2(...); } Some callers call afs_VerifyVCache2 directly, since they already check for CStatd for other reasons. A few callers currently call afs_VerifyVCache2, but without guaranteeing that CStatd is not set. Specifically, in afs_getattr and afs_linux_VerifyVCache, CStatd could be set while afs_CreateReq drops GLOCK. And in afs_linux_readdir, CStatd could be cleared at multiple different points before the VerifyVCache call. This can result in afs_VerifyVCache2 acquiring a write-lock on the vcache, even when CStatd is already set, which is an unnecessary performance hit. To avoid this, change these call sites to use afs_VerifyVCache instead of calling afs_VerifyVCache2 directly, which skips the write lock when CStatd is already set. Change-Id: I7b75c9755af147b42a48160fa90c9849f2f03ddb Reviewed-on: https://gerrit.openafs.org/12655 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7c9fb4455745ed0015d4a6311bd4a7770efbf40d Author: Mark Vitale Date: Thu Jun 18 13:43:35 2020 -0400 LINUX: replace BUG() call with osi_Panic() in osi_linux_free If osi_linux_free fails, it printf's an error message, then calls BUG(). This is the sole open-coded call to BUG() in OpenAFS; all other calls to BUG() are indirect via osi_Panic(). For consistency, eliminate this direct BUG() call by replacing the printf and BUG() with an equivalent osi_Panic(). This also ensures that the error messsage is logged as critical, and prefixed with "openafs:". Change-Id: Id319dffa859308528a66991bbbc522ca49552d51 Reviewed-on: https://gerrit.openafs.org/14250 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit d8ec294534fcdee77a2ccd297b4b167dc4d5573d Author: Cheyenne Wills Date: Tue Jun 16 18:35:46 2020 -0600 LINUX 5.8: do not set name field in backing_dev_info Linux-5.8-rc1 commit 'bdi: remove the name field in struct backing_dev_info' (1cd925d5838) Do not set the name field in the backing_dev_info structure if it is not available. Uses an existing config test 'STRUCT_BACKING_DEV_INFO_HAS_NAME' Note the name field in the backing_dev_info structure was added in Linux-2.6.32 Change-Id: I20b80e49e8a15a2949003101f24d9ce39f63b59b Reviewed-on: https://gerrit.openafs.org/14248 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c48072b9800759ef1682b91ff1e962f6904a2594 Author: Cheyenne Wills Date: Thu Jun 18 16:39:22 2020 -0600 LINUX 5.8: Replace kernel_setsockopt with new funcs Linux 5.8-rc1 commit 'net: remove kernel_setsockopt' (5a892ff2facb) retires the kernel_setsockopt function. In prior kernel commits new functions (ip_sock_set_*) were added to replace the specific functions performed by kernel_setsockopt. Define new config test 'HAVE_IP_SOCK_SET' if the 'ip_sock_set' functions are available. The config define 'HAVE_KERNEL_SETSOCKOPT' is no longer set in Linux 5.8. Create wrapper functions that replace the kernel_setsockopt calls with calls to the appropriate Linux kernel function(s) (depending on what functions the kernel supports). Remove the unused 'kernel_getsockopt' function (used for building with pre 2.6.19 kernels). For reference Linux 2.6.19 introduced kernel_setsockopt Linux 5.8 removed kernel_setsockopt and replaced the functionality with a set of new functions (ip_sock_set_*) Change-Id: I517b674303c5decc19313d9de51d04ddef36b421 Reviewed-on: https://gerrit.openafs.org/14247 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit cbc5c4b51fcd0a990216fc31abe308a9e85fd9df Author: Andrew Deason Date: Wed Jun 17 12:23:46 2020 -0500 tests: Modernize writekeyfile.c tests/auth/writekeyfile.c contains some code used to generate tests/auth/KeyFile, which is used to test code interpreting the old-style KeyFile format. This code currently has a few problems: - We don't check the results of afstest_mkdtemp, which could allow symlink attacks from other users on the system. - We duplicate some logic from afstest_BuildTestConfig, in order to build a temporary config dir. - writekeyfile isn't built or run by default (it only exists to generate KeyFile, so it's almost never run), so eventual bitrot is quite likely, and the existing code already generates warnings. To avoid this, change writekeyfile.c to use the existing afstest_BuildTestConfig to generate a local config dir. To ensure we avoid bitrot, build writekeyfile by default, and create a test to run it, to make sure it can generate a KeyFile as expected. Note that the KeyFile.short we test against is different than the KeyFile currently in the tree. The existing KeyFile was generated from an older OpenAFS release, which always generated 100-byte KeyFiles, even if we only have a few keys. The current codebase only writes out as much key data as needed, so the generated KeyFiles are shorter (but still understandable by older OpenAFS releases). Keep the old 100-byte KeyFile around, since that's what older OpenAFS would generate, and create a new KeyFile.short to test against, to make sure our code for generating KeyFiles doesn't change any further. Change-Id: Ibe9246c6dd808ed2b2225dd7be2b27bbdee072fd Reviewed-on: https://gerrit.openafs.org/14246 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 22a66e7b7e1d73437a8c26c2a1b45bc4ef214e77 Author: Cheyenne Wills Date: Tue Jun 16 15:20:20 2020 -0600 tests: Use usleep instead of nanosleep Commit "Build tests by default" 68f406436cc21853ff854c514353e7eb607cb6cb changes the build so tests are always built. On Solaris 10 the build fails because nanosleep is in librt, which we do not link against. Replace nanosleep with usleep. This avoids introducing extra configure tests just for Solaris 10. Note that with Solaris 11 nanosleep was moved from librt to libc, the standard C library. Change-Id: I6639f32bb8c8ace438e0092a866f06561dad54f1 Reviewed-on: https://gerrit.openafs.org/14244 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5f4a681eeb5e353f09aa895770f7336a2b381467 Author: Cheyenne Wills Date: Wed Jun 17 13:08:18 2020 -0600 tests: Emulate mkdtemp when not available Commit "Build tests by default" 68f406436cc21853ff854c514353e7eb607cb6cb changes the build so tests are always built. On Solaris 10 Update 10 and earlier the build fails because the mkdtemp function is not available. Introduce a wrapper 'afstest_mkdtemp' that uses mkdtemp if available, otherwise uses mktemp/mkdir. Change-Id: I0118f838ed9a89927e2ddac4cad822574601558a Reviewed-on: https://gerrit.openafs.org/14243 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 188ca8bf5276084a6892e5cfba3e24e478804382 Author: Michael Meffie Date: Thu Apr 16 09:41:41 2020 -0400 make-release: Run git describe once Run git describe once at the beginning of make-release to find the version information used to derive the tarball file names and saved in the .version file. This is a cleanup and refactoring change to prepare for a future commit. Change-Id: I0debeeffa5d2c63ab1498588766cb36424d15cd5 Reviewed-on: https://gerrit.openafs.org/14150 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit d0753c0ace8e43a7dc1db35c3f41130352278c04 Author: Michael Meffie Date: Fri Mar 27 11:29:24 2020 -0400 make-release: Create output directory if needed Automatically create the --dir directory if it does not already exist, which makes this script slightly easier to use. Remove the now uneeded mkdir from the top-level makefile. Change-Id: I1f4561120a70263b0b2b194e65fec55fb5666f40 Reviewed-on: https://gerrit.openafs.org/14115 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit d20d392091a13c3944973bcb0ce84783a4e0d179 Author: Michael Meffie Date: Thu Apr 16 07:21:51 2020 -0400 make-release: Remove unused optional version argument The make-release help shows an optional version argument, but in fact the version info is always generated from the git tag name argument, which makes sense when creating releases. Continue to throw away the second positional argument just in case someone is still passing a second argument, but issue a warning if they do. Change-Id: Ie4c6e6efb7693e53a02fd009eecd64b47250c848 Reviewed-on: https://gerrit.openafs.org/14149 Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 46eb00ffa1c6d7deda2c1b1b4fa1780b36e64417 Author: Michael Meffie Date: Thu Apr 16 07:37:39 2020 -0400 make-release: Clean up whitespace and spelling Fix whitespace errors, convert tabs to spaces, fix spelling errors, and fix pod markup in the make-release script. Change-Id: I24ede59d44a8818d89de454c0935586fccbd5d9a Reviewed-on: https://gerrit.openafs.org/14148 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit c9eab4b1ee947067bfcc3678bb89896b66f404f8 Author: Andrew Deason Date: Tue Jun 2 11:12:58 2020 -0500 afs: Remove osi_GetuTime osi_GetuTime has always been #define'd to be the same thing as osi_GetTime, ever since OpenAFS 1.0. Get rid of this redundant macro, and just use osi_GetTime instead. Change-Id: Ic826aeaa17314019b79cfb2df04a79309aa31db5 Reviewed-on: https://gerrit.openafs.org/14236 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit dedb1aed97e64036d8098e12904c9eb54fda7010 Author: Jeffrey Altman Date: Sun May 31 13:05:02 2020 -0400 afs/viced: New UAE (unified_afs) error codes The following registrations werte submitted to registrar@central.org as [rt.central.org #135105]. UAECANCELED, "Operation canceled" (49733499L) UAENOTRECOVERABLE, "State not recoverable" (49733500L) UAENOTSUP, "Not supported" (49733501L) UAEOTHER, "Other" (49733502L) UAEOWNERDEAD, "Owner dead" (49733503L) UAEPROCLIM, "Too many processes" (49733504L) UAEDISCON, "Graceful shutdown in progress" (49733505L) Change-Id: I1458b8a9441b3826756ca67af70eee5e835d989f Reviewed-on: https://gerrit.openafs.org/14235 Reviewed-by: Jeffrey Hutzelman Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit ed9a3b7165ae2300ebb185ca53e698e5ef93173b Author: Cheyenne Wills Date: Fri May 29 10:36:13 2020 -0600 util: Fix segfault in the func ConstructLocalPath The function ConstructLocalPath will segfault if passed a NULL for the command path parameter. Update ConstructLocalPath to test the passed command path for a NULL and return ENOENT. The segfault can be triggered by setting up a BosConfig with a dafs bnode that does not contain all the required parms. This setup results in bosserver segfaulting. With the fix, bosserver now logs an error and exits cleanly. Change-Id: I26015c8accd829f3101b073964777b41d16b07f7 Reviewed-on: https://gerrit.openafs.org/14223 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 336f5d91c6f4e93f77560d456fb29fbd82b237e5 Author: Mark Vitale Date: Sun May 10 20:53:22 2020 -0400 DARWIN: ensure OpenAFS.pkg is signed Installation fails because the OpenAFS.pkg was inadvertently omitted from the codesign logic. Ensure that the package is signed. Change-Id: I0745146bc523750912dd6ee95fc16a70572be175 Reviewed-on: https://gerrit.openafs.org/14221 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d3f8d8122880de9f5b25868b39efd1cc7d385ff6 Author: Mark Vitale Date: Sun May 10 20:51:59 2020 -0400 DARWIN: ensure PrefPane materials are properly signed Notarization fails because some prefPane materials were inadvertently omitted by the codesign logic. Ensure that these objects are properly signed. Change-Id: Ifc58e6f834a3237b7991257ee85de4e90fc3da12 Reviewed-on: https://gerrit.openafs.org/14220 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 80afdc2adabb098394e1b2178ba301964868befe Author: Andrew Deason Date: Fri Dec 20 21:02:45 2019 -0600 vol: Avoid building devname.c on AFS_NAMEI_ENV Everything in devname.c is for the inode vol backend, so skip building it when AFS_NAMEI_ENV is defined. While we're doing this, alter the #ifdefs inside this file to assume that we're not on XBSD, DARWIN, or LINUX, since those platforms are all namei-only. Change-Id: I3a46568940e1a865a381c1ac7e98aea94df9f3ef Reviewed-on: https://gerrit.openafs.org/13995 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 99eedfdb1659dd48d12542ad063d4711d401e153 Author: Andrew Deason Date: Fri Dec 20 21:01:13 2019 -0600 vol: Indent ifdef maze in devname.c Change-Id: I371eb1d79ae9fb3f07af993be834af6f6b59c100 Reviewed-on: https://gerrit.openafs.org/13994 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 71ce9fff8e682a77e17490a54e091656cbf96925 Author: Tim Creech Date: Mon Dec 9 21:13:58 2019 -0500 FBSD: Add support for FreeBSD 12.1 Change-Id: I5779c586b6b1255de0ee0dea66b09f3a5dffddc1 Reviewed-on: https://gerrit.openafs.org/13982 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 20dc2832268eb81d40e798da0d424c98cf26062c Author: Andrew Deason Date: Sun Nov 24 22:36:17 2019 -0600 FBSD: Ignore VI_DOOMED vnodes Currently on FreeBSD, osi_TryEvictVCache calls vgone() for our vnode after checking if the given vcache is in use. vgone() then calls our VOP_RECLAIM operation, which calls afs_vop_reclaim, which calls afs_FlushVCache to finally actually flush the vcache. The current approach has at least the following major issues: - In afs_vop_reclaim, we return success even if afs_FlushVCache() fails. This allows FreeBSD to reuse the vnode for another file, but the vnode is still being referenced by our vcache, which is referenced by the global VLRU and various other structures. This causes all kinds of weird errors, since we try to use the underlying vnode for different files. - After the relevant checks in osi_TryEvictVCache are done, another thread can acquire a new reference to our vcache (this can happen while vgone() is running up until the vnode is locked). This new reference will cause afs_FlushVCache to fail. - Our afs_vop_reclaim callback is called while the vnode is locked, and can acquire afs_xvcache. Other code locks the vnode while afs_xvcache is already held (such as afs_PutVCache -> vrele). This can lead to deadlocks if two threads try to run these codepaths for the same vnode at the same time. - afs_vop_reclaim optionally acquires afs_xvcache based on the return value of CheckLock(&afs_xvcache). However, CheckLock just returns if that lock is locked by anyone, not if the current thread holds the lock. This can result in the rest of the function running without afs_xvcache actually being held if we drop AFS_GLOCK at any point. - osi_TryEvictVCache() tries to vn_lock() the target vnode, but we may already have another vnode locked in the current thread. If the vnode we're trying to evict is a descendant of a vnode we already have locked, this can deadlock. To fix these issues, make some changes to how our vcache management works on FreeBSD: - Do not allow anyone to hold a new reference on a VI_DOOMED vnode. We do this by checking for VI_DOOMED in osi_vnhold, and returning an error if VI_DOOMED is set. - In afs_vop_reclaim, panic if afs_FlushVCache fails. With the new VI_DOOMED check, afs_FlushVCache show now never fail; and if it somehow does, panic'ing immediately is better than corrupting various structures and panic'ing later on. - Move around some of the relevant locking in afs_vop_reclaim to fix the lock-related issues. - In osi_TryEvictVCache, don't wait for the vnode lock (LK_NOWAIT); treat the vnode as "in use" if we can't immediately obtain the lock. Thanks to tcreech@tcreech.com and kaduk@mit.edu for insight and help investigating the relevant issues. FIXES 135041 Change-Id: I23e94ecebbddc8c68a8f4ea918d64efd0f9f9dfd Reviewed-on: https://gerrit.openafs.org/13972 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 145c90bdbeeff4ea95acacd7dc110f0c6fcba281 Author: Mark Vitale Date: Sun May 10 22:13:13 2020 -0400 DARWIN: remove vestigial etap_event_t typedefs These typedefs have been present since commit a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b "initial-darwin-support-20010327"; at least some of this material was obtained directly from IBM after the initial code import. Based on research of old Darwin source code and kernel documentation, the Event Trace Analysis Package (ETAP) was a lock-profiling interface provided in older versions of Mach and xnu. ETAP was not enabled by default; the kernel had to be recompiled with certain options to enable it. Support for ETAP was removed from the xnu tree sometime between xnu-517 (10.3 Panther) and xnu-792 (10.4 Tiger), although some references remain in the latter under PPC support (osfmk/ppc/hw_lock.s). All remaining references to etap_event_t disappeared when PPC support was removed, some time between xnu-1456.1.26 (10.6 Snow Leopard) and xnu-1699.24.8 (10.7.2 Lion). Therefore, it is possible that these typedefs were needed in the past by (IBM/Transarc) AFS to support use of some lock APIs (e.g., simple_lock_init, usimple_lock_init) after the ETAP code was withdrawn from xnu. However, these typedefs have probably always been vestigial for OpenAFS, because OpenAFS has never used any lock API that took etap_event_t as an argument. Regardless, OpenAFS does not need these definitions to build and run on any currently supported version of macOS. Remove the vestigial code. No functional change should be incurred by this commit. Change-Id: I39b3f82a8933d15ef5b5de5eb92366c0a31f8bb6 Reviewed-on: https://gerrit.openafs.org/14219 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit f065706fed4edd53376a33339fe20de686eee6a1 Author: Mark Vitale Date: Sun May 10 22:07:39 2020 -0400 DARWIN: remove errant typedef for etap_event_t This code has been dead since its introduction, because XAFS_DARWIN_ENV is a typo for AFS_DARWIN_ENV. Introduced from day 1 of DARWIN support with commit a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b "initial-darwin-support-20010327". No functional change should be incurred by this commit. Change-Id: I6b74f01b4dd1230559ac8d75f0644071357f38b7 Reviewed-on: https://gerrit.openafs.org/14218 Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit c6eff25be9fc959f666b33425c9ee2635224826e Author: Mark Vitale Date: Mon May 18 14:19:25 2020 -0400 Convert all osi_timeval_t to osi_timeval32_t Since commit 130144850c6d05bc69e06257a5d7219eb98697d8 "xstat: cm xstat time values are 32 bit", OpenAFS has had two timeval definitions: osi_timeval_t and osi_timeval32_t. Since they are functionally equivalent, convert all references to osi_timeval_t to osi_timeval32_t. This makes clear that this struct is always expected to contain 32-bit members for tv_sec and tv_usec. There are still a few platforms where osi_timeval32_t is mistakenly defined with 64-bit members; these will be addressed in future commits. No functional change should be incurred by this commit. Change-Id: I3e8e44235e813571723fcd114194f6cb83de90e4 Reviewed-on: https://gerrit.openafs.org/14215 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit d6101128664918e6fcefbaeb68c4c1d439851411 Author: Mark Vitale Date: Mon May 4 17:35:05 2020 -0400 UKERNEL: remove dead code osi_SetTime osi_SetTime has been dead code since the original IBM code import. Remove it from the tree. No functional change is incurred by this commit. Change-Id: I25612a044ad550d798003979afc6845e502ebe3b Reviewed-on: https://gerrit.openafs.org/14191 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 03f44172180563cb9d12d79e5512aae815fee899 Author: Mark Vitale Date: Tue May 5 11:26:00 2020 -0400 UKERNEL: remove redundant declaration of osi_GetTime Commit c861bb0d779b54236b63eda87d9dfaf7792d1659 "Additional UKERNEL headers, prototyping and other fixes" added the following lines to src/rx/rx_prototypes.h: #if defined(UKERNEL) && !defined(osi_GetTime) extern int osi_GetTime(struct timeval *tv); #endif However, this appears to be redundant with the declaration in src/afs/afs_prototypes.h: #ifdef UKERNEL ... extern int osi_GetTime(struct timeval *tv); ... #endif which was added much earlier with commit 8f2df21ffe59e9aa66219bf24656775b584c122d "pull-prototypes-to-head-20020821". Remove the redundant declaration in rx/rx_prototypes.h. No functional change is incurrred by this commit. Change-Id: I2032d302e862eed47250357e604cba4f26e89814 Reviewed-on: https://gerrit.openafs.org/14192 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3ab022fda9d2bde603c032d4a5bff0f79e825f3d Author: Mark Vitale Date: Thu Apr 16 09:02:00 2020 -0400 afs: remove commented xstats externs Extern declarations for the xstats recording areas have been commented out since 8f2df21ffe59e9aa66219bf24656775b584c122d "pull-prototypes-to-head-20020821". Remove the vestigial comments. No functional change is incurred by this commit. Change-Id: Ieef9a4b21e78db8d5427bed7b621ba043663b1d1 Reviewed-on: https://gerrit.openafs.org/14197 Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason Tested-by: BuildBot commit 4caadf71f556f789bcdd2bcc80b9642630329421 Author: Mark Vitale Date: Sun Apr 5 17:10:42 2020 -0400 afs: remove stats dead code afs_GetCMSTats, afs_AddToMean, and macro AFS_MEANCNT have been dead code since the original IBM code import. Remove them from the tree. No functional change is incurred by this commit. Change-Id: Icd6aeff7896d69a4d334531b5e0c632d807457ce Reviewed-on: https://gerrit.openafs.org/14196 Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason Tested-by: BuildBot commit 9a5790cfbb8e7b1a4a2e832911c71da49f604c20 Author: Mark Vitale Date: Mon May 18 17:20:26 2020 -0400 LINUX 5.6: define osi_timeval32_t for 32-bit Linux For 32-bit Linux (e.g., arch i586), AFS_LINUX_64BIT_KERNEL is not defined, so osi_timeval32_t is defined as a typedef of the native 'timeval'. However, as of commit c766d1472c70d25ad475cf56042af1652e792b23 "y2038: hide timeval/timespec/itimerval/itimerspec types" (Linux 5.6), the native timeval struct is no longer available. On such a kernel, the OpenAFS build will fail because osi_timeval32_t is not properly defined. Instead, add new conditionals to properly define osi_timeval32_t for this platform. Change-Id: I1eddeeb3651dcd3c55920ab1d2ad2838f4729bdd Reviewed-on: https://gerrit.openafs.org/14216 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 13e44b2b200cd99d0df4e03cf6413d3a6915783f Author: Andrew Deason Date: Mon Nov 18 23:17:12 2019 -0600 afs: Refactor osi_vnhold/AFS_FAST_HOLD Make a few changes to osi_vnhold and AFS_FAST_HOLD: - Currently, the second argument of osi_vnhold ("retry") is never used by any implementation. Get rid of it. - AFS_FAST_HOLD() is the same as osi_vnhold(). Get rid of AFS_FAST_HOLD, and just have all callers use osi_vnhold instead. - Allow osi_vnhold to return an error, and adjust callers to handle it. - Change osi_vnhold to be a real function, instead of a macro, to make nontrivial implementations less cumbersome. Most platforms never return an error from osi_vnhold(), so the added code paths to check the return value of osi_vnhold() will not trigger. However, this lets us add future commits that do make osi_vnhold() return an error. Change-Id: Id2f3717be6c305d06305685247ac789815e1ebf7 Reviewed-on: https://gerrit.openafs.org/13971 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d01398731550b8a93b293800642c3e1592099114 Author: Andrew Deason Date: Fri May 1 15:02:08 2020 -0500 vlserver: Return error when growing beyond 2 GiB In the vlserver, when we add a new vlentry or extent block, we grow the VLDB by doing something like this: vital_header.eofPtr += sizeof(item); Since we don't check for overflow, and all of our offset-related variables are signed 32-bit integers, this can cause some odd behavior if we try to grow the database to be over 2 GiB in size. To avoid this, change the two places in vlserver code that grow the database to use a new function, grow_eofPtr(), which checks for 31-bit overflow. If we are about to overflow, log a message and return an error. See the following for a specific example of our "odd behavior" when we overflow the 2 GiB limit in the VLDB: With 1 extent block, we can create 14509076 vlentries successfully. On the 14509077th vlentry, we'll attempt to write the entry to offset 2147483560 (0x7FFFFFA8). Since a vlentry is 148 bytes long, we'll write all the way through offset 2147483707 (0x8000003B), which is over the 31-bit limit. In the udisk subsystem, this results in writing to page numbers 2097151, and -2097152 (since our ubik pages are 1k, and going over the 31-bit limit causes us to treat offsets as negative). These pages start at physical offsets 2147482688 (0x7FFFFC40) and -2147483584 (-0x7FFFFFC0) in our vldb.DB0 (where offset is page*1024+64). Modifying each of these pages involves reading in the existing page first, modifying the parts we are changing, and writing it back. This works just fine for 2097151, but of course fails for -2097152. The latter fails in DReadBuffer when eventually our pread() fails with EINVAL, and causes ubik to log the message: Ubik: Error reading database file: errno=22 But when DReadBuffer fails, DReadBufferForWrite assumes this is due to EOF, and just creates a new buffer for the given page (DNewBuffer). So, the udisk_write() call ultimately succeeds. When we go to flush the dirty data to disk when committing the transaction, after we have successfully written the transaction log, DFlush() fails for the -2097152 page when the pwrite() call eventually fails with EINVAL, causing ubik to panic, logging the messages: Ubik PANIC: Writing Ubik DB modifications When the vlserver gets restarted by bosserver, we then process the transaction log, and perform the operations in the log before starting up (ReplayLog). The log records the actual data we wrote, not split into pages, and the log-replaying code writes directly to the db usying uphys_write instead of udisk_write. So, because of this, the write actually succeeds when replaying the log, since we just write 148 bytes to offset 2147483624 (0x7FFFFFE8), and no negative offsets are used. The vlserver will then be able to run, but will be unable to read that newly-created vlentry, since it involves reading a ubik page beyond the 31-bit boundary. That means trying to lookup that entry will fail with i/o errors, and as well as any entry on the same hash chains as the new entry (since the new entry will be added to the head of the hash chain). Listing all entries in the database will also just show an empty database, since our vital_header.eofPtr will be negative, and we determine EOF by comparing our current blockindex to the value in eofPtr. Change-Id: Ie0b7ac61f9121fa265686449efbae8e18edb1896 Reviewed-on: https://gerrit.openafs.org/14180 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Cheyenne Wills commit d73680c5f70ee5aeb634a9ec88bf1097743d0f76 Author: Cheyenne Wills Date: Mon May 11 14:06:19 2020 -0600 vol: Fix format-truncation warning with gcc-10.1 Building with gcc-10.1 produces a warning (error if --enable-checking) in vol-salvage.c error: ‘%s’ directive output may be truncated writing up to 755 bytes into a region of size 255 [-Werror=format-truncation=] 809 | snprintf(inodeListPath, 255, "%s" OS_DIRSEP "salvage.inodes.%s.%d", tdir, name, Use strdup/asprintf to allocate the buffer dynamically instead of using a buffer with a hardcoded size. Change-Id: Ib2f01c2eb73c7abc162be2b1939e55688a81f812 Reviewed-on: https://gerrit.openafs.org/14207 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c81579dc7b0c0ac6bc34f63384d705a4445c2bbd Author: Andrew Deason Date: Mon May 18 12:09:38 2020 -0500 auth: Close fd on SetExtendedCellInfo write error Currently, and since OpenAFS 1.0, if write() fails here, we leak the file descriptor. A write() failure should be very unlikely, but close the fd to make sure we avoid the leak. Change-Id: I4e8ed4216c4aa5041232fc798a7bc59f6a5570d9 Reviewed-on: https://gerrit.openafs.org/14213 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 85df3e3d43e033b1c25c33e4a74d4b7b59b567b5 Author: Andrew Deason Date: Sun Jul 21 18:55:49 2019 -0500 afs: Free rx/rxevent resources during shutdown Call shutdown_rx() and shutdown_rxevent() near the end of our shutdown sequence, in order to free various Rx resources and avoid memory leaks. Change-Id: Id2e912295cf760b5ad83057487e6c4c4fadda11b Reviewed-on: https://gerrit.openafs.org/13719 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 17b42fe67c18fab0003fb712092d36f06c93f2eb Author: Cheyenne Wills Date: Thu Apr 30 10:31:17 2020 -0600 LINUX-5.7: replace __pagevec_lru_add with lru_cache_add_file The Linux function __pagevec_lru_add is no longer exported in Linux 5.7-rc1 commit bde07cfc65da5fe6c63fe23f035f5ccc0ffd89e0 "mm/swap.c: not necessary to export __pagevec_lru_add()". As a replacement, the Linux function lru_cache_add_file can be used for adding a page to the lru cache. The internal processing of lru_cache_add_file manages its own internal pagevec and performs the following: get_page(...) if(!pagevec_add(...)) __pagevec_lru_add_file(...) Introduce an autoconf test for lru_cache_add_file and replace the calls associated with __pagevec_lru_add with lru_cache_add_file. NOTE: see Linux commit a0b8cab3b9b2efadabdcff264c450ca515e2619c "mm: remove lru parameter from __pagevec_lru_add and remove parts of pagevec API" as a reference for this change. The lru_cache_add_file was introduced in Linux 2.6.28, therefore this change affects systems with Linux 2.6.28 kernels and later. Change-Id: I12b32fd5061fc136f8b96ef3605e0bab736ca9ed Reviewed-on: https://gerrit.openafs.org/14159 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit dca95bcb7efdff38564dcff3e8f4189735f13b3a Author: Cheyenne Wills Date: Wed Apr 29 16:26:02 2020 -0600 libafs: Abstract the Linux lru cache interface Define static functions afs_lru_cache_init, afs_lru_cache_add and afs_lru_cache_finalize to handle interfacing with Linux's lru facilities. This change's primary purpose is to isolate the preprocessor conditionals associated with the details of the system lru interfaces to just these functions and to simplify the areas that utilize lru caching by removing the preprocessor conditionals. As Linux's lru facilities change, additional conditional code will be needed. Change-Id: I74c94bb712359975e3fd1df85f1b338b215f61b0 Reviewed-on: https://gerrit.openafs.org/14167 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 44b7b93b593371bfdddd0be0ae603f4f8720f78b Author: Andrew Deason Date: Sat May 2 23:54:55 2020 -0500 afs: Drop GLOCK for RXAFS_GetCapabilities We are hitting the net here; we certainly should not be holding AFS_GLOCK while waiting for the server's response. Found via FreeBSD WITNESS. Change-Id: Ie727db27adaeed23ac8cff7665143bae2ce2ede8 Reviewed-on: https://gerrit.openafs.org/14181 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5d53ed0bdab6fea6d2426691bdef2b6f9cb7f2fe Author: Yadavendra Yadav Date: Wed Apr 29 05:10:05 2020 +0000 rxkad: Use krb5_enctype_keysize in tkt_DecodeTicket5 Inside tkt_DecodeTicket5 (rxkad/ticket5.c) function, keysize is calculated using krb5_enctype_keybits and then dividing number of bits by 8. For 3DES number of keybits are 168, so keysize comes out to 21(168/8). However actual keysize of 3DES key is 24. This keysize is passed to _afsconf_GetRxkadKrb5Key where keysize comparison happens, since there is keysize mismatch it returns AFSCONF_BADKEY. To fix this issue get keysize from krb5_enctype_keysize function instead of krb5_enctype_keybits. Thanks to John Janosik (jpjanosi@us.ibm.com) for analyzing and fixing this issue. Change-Id: Ia6f70b878feaa91855f9544ec1de81a6196a85a8 Reviewed-on: https://gerrit.openafs.org/14203 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 9866511bb0a5323853e97e3ee92524198813776e Author: Andrew Deason Date: Sun Jul 21 18:48:51 2019 -0500 rx: Avoid osi_NetSend during rx shutdown Commit 8d939c08 (rx: avoid nat ping during shutdown) added a call to shutdown_rx() inside the DARWIN shutdown sequence, before the rx socket was closed. From the commit message, it sounds like this was done to avoid NAT pings from calling osi_NetSend during the shutdown sequence after the rx socket was closed; calling shutdown_rx() before closing the socket would cause any connections we had to be destroyed first, avoiding that. The problem with this is that this means shutdown_rx() is called when osi_StopNetIfPoller is called, which is much earlier than some other portions of the shutdown sequence; some of which may hold references to e.g. rx connections. If we try to, for instance, destroy an rx connection after shutdown_rx() is called, we could panic. An earlier version of that commit (gerrit PS1) just tried to insert a check before the relevant osi_NetSend call, making us just skip the osi_NetSend if the shutdown sequence had been started. So to avoid the above issue, try to implement that approach instead. And instead of doing it just for NAT pings, we can do it for almost all osi_NetSend calls (besides those involved in the shutdown sequence itself), by checking this in rxi_NetSend. Also return an error (ESHUTDOWN) if we skip the osi_NetSend call, so we're not completely silent about doing so. This means we also remove the call to shutdown_rx() inside DARWIN's osi_StopNetIfPoller(). This allows us to interact with Rx objects during more of the shutdown process in cross-platform code. Change-Id: I4e631b28d090635aeacd59de0fd237d572f97e93 Reviewed-on: https://gerrit.openafs.org/13718 Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 929d501421579290ce1d4f9aabe45980e5458a9a Author: Cheyenne Wills Date: Fri Apr 3 15:00:42 2020 -0600 Add more 'fall through' switch comments Commit a455452d (LINUX 5.3: Add comments for fallthrough switch cases) added the special /* fall through */ comment to various switch/case blocks, in order to avoid implicit-fallthrough warnings from causing the build to fail when building the Linux kernel module. In this commit, add additional /* fall through */ comments to the rest of the tree where falling through is intentional. Add a "break;" in one place in dumptool.c where falling through seems like a mistake, and flag certain functions as AFS_NORETURN to avoid needing to explicitly break or fallthrough. Check for the availability of the -Wimplicit-fallthrough compiler flag and use it when --enable-checking is set, to prevent additional cases from creeping into the tree. Note: the -Wimplicit-fallthrough compiler flag was added in gcc 7. Change-Id: Iae34e7969606603da8358d7cfa5fd04279b218dc Reviewed-on: https://gerrit.openafs.org/14125 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 4512d04a9b721cd9052c0e8fe026c93faf6edb9e Author: Kailas Zadbuke Date: Thu May 7 23:55:39 2020 -0400 salvaged: Fix "-parallel all" parsing In salavageserver -parallel option takes "all" argument. However the code does not parse the numeric part correctly. Due to this, only single instance of salvageserver process was running even if we provide the larger number with "all" argument. With this fix, numeric part of "all" argument will be parsed correctly and will start required number of salvageserver instances. Change-Id: Ib6318b1d57d04fecb84915e2dabe40930ea76499 Reviewed-on: https://gerrit.openafs.org/14201 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 790824ff749b6ee01c4d7101493cbe8773ef41c6 Author: Cheyenne Wills Date: Sun Apr 5 15:51:17 2020 -0600 cf: Use common macro to test compiler flags Use the AX_APPEND_COMPILE_FLAGS macro to test and set compiler specific flags. Remove the OPENAFS_GCC_SUPPORTS_MARCH check entirely (and the associated P5PLUS_KOPTS), since nothing has used it for quite some time. Change-Id: Ic9626c52ac62cf83d4b8c787aa5aa966e558a781 Reviewed-on: https://gerrit.openafs.org/14132 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 98b5ffb52117aefac5afb47b30ce9b87eb2fdebf Author: Andrew Deason Date: Mon Apr 20 13:03:15 2020 -0500 ubik: Avoid unlinking garbage during recovery In urecovery_Interact, if any of our operations fail around calling DISK_GetFile, we will jump to FetchEndCall and eventually unlink 'pbuffer'. But if we failed before opening our .DB0.TMP file, the contents of 'pbuffer' will not be initialized yet. During most iterations of the recovery loop, the contents of 'pbuffer' will be filled in from previous loops, and it should always stay the same, so it's not a big problem. But if this is the first iteration of the loop, the contents of 'pbuffer' may be stack garbage. Solve this in two ways. To make sure we don't use garbage contents in 'pbuffer', memset the whole thing to zeroes at the beginning of urecovery_Interact(). And then to make sure we're not reusing 'pbuffer' contents from previous iterations of the loop, also clear the first character to NUL each time we arrive at this area of the recovery code. And avoid unlinking anything if pbuffer starts with a NUL. Commit 44e80643 (ubik: Avoid unlinking garbage) fixes the same issue, but only fixed it in the SDISK_SendFile codepath in remote.c. Change-Id: Ica39e66efa89562068a4be3a14b2d13594b77f6d Reviewed-on: https://gerrit.openafs.org/14153 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit ca847ddf35e336a8bc3159ce4b26f0162417bbd5 Author: Andrew Deason Date: Sat Apr 4 22:35:07 2020 -0500 Use autoconf-archive m4 from src/external Switch to using the m4 macros from autoconf-archive in our src/external mechanism, instead of manually-copied versions in src/cf. The src/external copy of ax_gcc_func_attribute.m4 is identical to the existing copy in src/cf, so that should incur no changes. There are also a few new macros pulled in, but they are currently unused. Increase our AC_PREREQ in configure.ac to 2.64, to match the AC_PREREQ in some of the new files. Change-Id: I8acfe4df7b9a22d9b9e69004c3438034a2dacadb Reviewed-on: https://gerrit.openafs.org/14135 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit d8205bbb482554812fbe66afa3c337d991a247b6 Author: Autoconf Archive Maintainers Date: Tue Apr 7 10:23:16 2020 -0500 Import of code from autoconf-archive This commit updates the code imported from autoconf-archive to 24358c8c5ca679949ef522964d94e4d1cd1f941a (v2019.01.06) New files are: m4/ax_append_compile_flags.m4 m4/ax_append_flag.m4 m4/ax_check_compile_flag.m4 m4/ax_gcc_func_attribute.m4 m4/ax_require_defined.m4 Change-Id: I64e14d1b4d41ebfee82fa92da10239f73e28b4c9 Reviewed-on: https://gerrit.openafs.org/14138 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a072c65bba86cbcd81157e354d3719ac41a2c97d Author: Andrew Deason Date: Sat Apr 4 22:28:21 2020 -0500 Add autoconf-archive to src/external Add autoconf-archive to the src/external mechanism, so we can more easily import and update the AX_* m4 macros we pull in from autoconf-archive. Commits are imported from . We already have a copy of ax_gcc_func_attribute.m4 in the tree, so include that in the list of files. While we're here, also include a few more macros for checking compiler flags, which will be used in subsequent commits. Change-Id: I8c6288fc1d48a47837ca08f8b9207e0ada921af8 Reviewed-on: https://gerrit.openafs.org/14133 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c05d8b28d3213856d54896979382daa066b64673 Author: Michael Meffie Date: Fri Jul 5 09:28:50 2019 -0400 Update NEWS for OpenAFS 1.9.0 Add change descriptions for commits not in a stable release. Change-Id: Ib1d5ce9f558279660abb2473ce8a9fac4fcefa8d Reviewed-on: https://gerrit.openafs.org/13673 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 1547db22264f21b5d553f54498aee51879539786 Author: Benjamin Kaduk Date: Fri Mar 20 09:17:13 2020 -0700 Synchronize NEWS with 1.8.5 Pull in all the updates to NEWS that occurred on the 1.8.x branch in preparation for adding entries for 1.9.0. Change-Id: I713d1576ef96793f24824f909b26da802b21ec23 Reviewed-on: https://gerrit.openafs.org/14103 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit befc72749884c6752c7789479343ba48c7d5cea1 Author: Andrew Deason Date: Sun Apr 26 17:26:02 2020 -0500 rx: Use _IsLast to check for last call in queue Ever since commits 170dbb3c (rx: Use opr queues) and d9fc4890 (rx: Fix test for end of call queue for LWP), rx_GetCall checks if the current call is the last one on rx_incomingCallQueue by doing this: opr_queue_IsEnd(&rx_incomingCallQueue, cursor) But opr_queue_IsEnd checks if the given pointer is the _end_ of the last; that is, if it's the end-of-list sentinel, not an item on the actual list. Testing for the last item in a list is what opr_queue_IsLast is for. This is the same convention that the old Rx queues used, but 170dbb3c just accidentally replaced queue_IsLast with opr_queue_IsEnd (instead of opr_queue_IsLast), and d9fc4890 copied the mistake. So because this is inside an opr_queue_Scan loop, opr_queue_IsEnd will never be true, so we'll never enter this block of code (unless we are the "fcfs" thread). This means that an incoming Rx call can get stuck in the incoming call queue, if all of the following are true: - The incoming call consists of more than 1 packet of incoming data. - The incoming call "waits" when it comes in (that is, there are no free threads or the service is over quota). - The "fcfs" thread doesn't scan the incoming call queue (because it is idle when the call comes in, but the relevant service is over quota). To fix this, just use opr_queue_IsLast here instead of opr_queue_IsEnd. Change-Id: I04b90b1279f81dc518eb61e7bd450e3c0be37a77 Reviewed-on: https://gerrit.openafs.org/14158 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit ebaefc5a06fb3b559ce3649676197d0a989efbde Author: Andrew Deason Date: Sat Apr 25 18:21:10 2020 -0500 tests: Give more leeway in rx/event-t Currently, the rx/event-t tests schedule a bunch of events up to 3 seconds in the future, and then we sleep for 3 seconds to give them a chance to run. Since we're cutting it so close, this can rarely result in a few events not being run (observed occasionally on FreeBSD 12.1, where we failed to run about 3 events out of 10000). To avoid this, just sleep for 4 seconds instead of 3. Also print out a little more info regarding the number of fired/cancelled events, so we can see the event count when it's wrong. Change-Id: I6269bea2c245aeed00c129ff638423d0fa81ad23 Reviewed-on: https://gerrit.openafs.org/14160 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2b4908d3be8c4bde135d836ccc4ca96e465628c3 Author: Mark Vitale Date: Thu Apr 23 17:49:20 2020 -0400 afs: fix afs_linux_mmap fstrace entry The format string for CM_TRACE_GMAP takes 4 substitutions, but afs_linux_mmap only supplies 3. This results in malformed output from fstrace: Type mismatch, using raw print. Gn_map vp 0x%lx addr 0x%lx len 0x%x off 0x%x (afs / zcm)raw op 701087775, time 715.322573, pid 9644 p0:0xc0a66ec0 p1:0x8b81a000 p2:131072 Repair the recording of CM_TRACE_GMAP. Change-Id: I2b7592e68cb42f5ae490ee8771558e5cc5a2181e Reviewed-on: https://gerrit.openafs.org/14168 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit df5480057c2994914e22bd14b169dbcd8857485a Author: Andrew Deason Date: Sun Apr 12 22:28:29 2020 -0500 tests: Skip SIGBUS test on FreeBSD Currently, 'softsig-helper -buserror' causes a SIGBUS on most platforms, but can result in SIGSEGV on FreeBSD by default (at least on 11.3-RELEASE). Skip the test on FreeBSD, until we can provide a more reliable way to generate SIGBUS. Note that when the sysctl machdep.prot_fault_translation is set to 1, 'softsig-helper -buserror' generates a SIGBUS instead of SIGSEGV, suggesting that generating a SIGBUS here is the old 'compat' behavior. When machdep.prot_fault_translation is 0 (the default), the code path in the FreeBSD kernel that dictates whether to send a SIGBUS or SIGSEGV in this situation depends on some autodetection heuristics, and so may produce different results depending on FreeBSD releases or even compiler settings (due to detection of ABI based on some ELF notes in the relevant binary). For some details on this sysctl, see or the FreeBSD source code. In 11.3-RELEASE, the decision to issue a SIGBUS or SIGSEGV can be found around sys/amd64/amd64/trap.c:355. Change-Id: Ib75b43cc12302532ee87a3744fc364424f2a3ca6 Reviewed-on: https://gerrit.openafs.org/14145 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 61993cf45a648906abb865756d5a98d9c2d7cc40 Author: Andrew Deason Date: Tue Nov 26 23:39:24 2019 -0600 FBSD: Avoid holding AFS_GLOCK during vinvalbuf Currently we call vinvalbuf(9) in a few places while holding AFS_GLOCK, but AFS_GLOCK is a non-sleepable lock (struct mtx), and vinvalbuf can sleep. This can trigger a panic in some rare conditions, with the message: Sleeping thread (tid 100179, pid 95481) owns a non-sleepable lock To avoid this, drop AFS_GLOCK around a few places that call vinvalbuf(). Change-Id: I58acb144b6ffa007675402e7639b63ff3745dec5 Reviewed-on: https://gerrit.openafs.org/13970 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit e510e35b25f605090524598b6b48cd20d3102945 Author: Andrew Deason Date: Sun Sep 15 23:00:26 2019 -0500 afs: Fix ifdef indenting in afs_vcache.c Change-Id: Ib566156184cb3f64a0983babd5d9f7883c84cc85 Reviewed-on: https://gerrit.openafs.org/13877 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 7260c7164b9a2199c7b5f83279fa18af16e7d387 Author: Andrew Deason Date: Sun Sep 8 16:10:40 2019 -0500 FBSD: Remove MA_* abstractions In FBSD/osi_vnops.c, we have a few abstractions (e.g. MA_VOP_UNLOCK) that used to expand to different things for older FreeBSD versions. Currently, they always expand to the same thing, so just remove the abstractions. While we are changing these calls, also change one instance of MA_VOP_LOCK to vn_lock (instead of VOP_LOCK), since we're not usually supposed to call VOP_LOCK directly, according to the VOP_LOCK(9) manpage. The MA_VOP_LOCK call was added in commit bd707fb7 (freebsd-almost-working-client-20020216), seemingly by mistake. Change-Id: Ia0f28fe658057e87d9103a72296ab899dc762fb6 Reviewed-on: https://gerrit.openafs.org/13843 Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0ee53d2fe9341e60f420662749d5ae8c6d4b5f24 Author: Tim Creech Date: Fri Dec 13 22:24:57 2019 -0500 FBSD: Build vnode_if.h before libafs objs Currently, if we are building with -j2 or higher, we can easily fail to build some libafs objects because vnode_if.h does not exist yet. vnode_if.h is generated by the FreeBSD build, but none of our objects depend on it, so during parallel builds it may not be available by the time we build, for example, src/external/heimdal/hcrypto/sha256.c. This results in build errors that can look like this: --- sha256-kernel.o --- cc -I. -I.. -I../nfs [...]/src/external/heimdal/hcrypto/sha256.c In file included from [...]/src/external/heimdal/hcrypto/sha256.c:34: In file included from [...]/src/crypto/hcrypto/kernel/config.h:30: In file included from [...]/src/afs/sysincludes.h:354: /usr/src/sys/sys/vnode.h:588:10: fatal error: 'vnode_if.h' file not found #include "vnode_if.h" ^~~~~~~~~~~~ 1 error generated. *** [sha256-kernel.o] Error code 1 make[4]: stopped in [...]/src/libafs/MODLOAD 1 error To avoid this, make all of our libafs objects depends on vnode_if.h. [adeason@dson.org: Expanded commit message.] Change-Id: I5a7a6ece8d5fbe6cf1a5b94451c8e8ae93fdc55f Reviewed-on: https://gerrit.openafs.org/13983 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1bd03c9c22ca7f36b9f1647c258b5f18c8ac92c0 Author: Andrew Deason Date: Sun Apr 12 20:16:55 2020 -0500 tests: Run perl via 'env' The 'perl' binary may not be /usr/bin/perl, depending on the system. For example, on modern FreeBSD it tends to be /usr/local/bin/perl instead. To avoid relying on perl to be in a specific location, just run via /usr/bin/env instead, so we pick up perl from $PATH instead. Change-Id: Ic8dc247c82342ff79dfa80426c489ccb8e3e1450 Reviewed-on: https://gerrit.openafs.org/14144 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 17a845c8d44f453b09b21afd59182e616234e872 Author: Tim Creech Date: Sun Mar 5 18:15:58 2017 -0500 FBSD: Remove LOCKPARENT/ISLASTCN lookup logic Currently, our afs_vop_lookup on FBSD tries to only lock 'dvp' for ISDOTDOT requests when LOCKPARENT and ISLASTCN are set. There are a couple of problems with this: - The conditional locking logic involving LOCKPARENT/ISLASTCN is only relevant in very old FreeBSD releases (per-fs checking of these flags for parent locking went away around the FreeBSD 6 era). - Our current logic here is wrong anyway, since we try to lock 'dvp' twice when those flags are set. This was mostly introduced by commit 2f6be821 (FBSD: band-aid vnode locking in lookup), which added a lock/unlock pair for 'dvp' around the lock for 'vp', even though 'dvp' was unlocked several lines earlier. This means that if we hit the relevant code path, we will deadlock, since we try to lock 'dvp' twice. To avoid this, just remove the relevant logic for LOCKPARENT/ISLASTCN, since it is only relevant for old FreeBSD releases that are not supported by us or FreeBSD. Add and rearrange some comments around here to try to more explicitly explain the relevant locking rules. [adeason@dson.org: Commit message rewrite, adding comments, removing old FreeBSD code.] Change-Id: Iaa2c55d82c50d5a8ab42c67b0996a2b4fb6e09e6 Reviewed-on: https://gerrit.openafs.org/12578 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7df5c003ed6eb17a693d67ffdfc0556f0c569cc1 Author: Andrew Deason Date: Sun Apr 12 22:40:14 2020 -0500 FBSD: Remove unused 'wantparent' logic In afs_vop_lookup, the 'wantparent' variable doesn't actually change any logic in the function. In the if() clause that it's used, the value of 'wantparent' is only ever used if cnp->cn_nameiop is RENAME and ISLASTCN is set. But if both of those are true, then the second half of the if() conditional will always be true, so the value of 'wantparent' doesn't matter. So to remove this confusing unused logic, remove the 'wantparent' local var, and all its associated logic. Issue spotted by kaduk@mit.edu. Change-Id: Ia63b88d67d21cc2b81a0c25aa31ea60ab202b0a7 Reviewed-on: https://gerrit.openafs.org/14143 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7116de596a8f1d0be3da6eebe92d486f57aefd02 Author: Andrew Deason Date: Sun Aug 18 19:59:50 2019 -0500 FBSD: Add support for FreeBSD 11.3 Change-Id: Ibe3496f06da83a0b30182ea92081bae41fe766f3 Reviewed-on: https://gerrit.openafs.org/13792 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 8002a46125e8224ba697c194edba5ad09e4cfc44 Author: Yadavendra Yadav Date: Wed Apr 15 05:33:00 2020 -0500 LINUX: Always crref after _settok_setParentPag Commit b61eac78 (Linux: setpag() may replace credentials) changed PSetTokens2 to call crref() after _settok_setParentPag(), since changing the parent PAG may change our credentials structure. But that commit did not update the old pioctl PSetTokens, so -setpag functionality remained broken on Linux for utilities that called the old pioctl ('klog' is one such utility). To fix this, we could copy the same code from PSetTokens2 into PSetTokens. But instead just move this code into _settok_setParentPag itself, to avoid code duplication. This commit also refactors _settok_setParentPag a little to make the platform-specific ifdefs a little easier to read through. Change-Id: I65a165ebb1d823e690926de31b28a7728d2561b9 Reviewed-on: https://gerrit.openafs.org/14147 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Yadavendra Yadav Reviewed-by: Benjamin Kaduk commit 826bb826274e48c867b41cb948d031a423373901 Author: Yadavendra Yadav Date: Wed Apr 15 05:33:00 2020 -0500 LINUX: Copy session keys to parent in SetToken Commit 48589b5d (Linux: Restore aklog -setpag functionality for kernel 2.6.32+) added code to SetToken() to copy our session keyring to the parent process, in order to implement -setpag functionality. But this was removed from SetToken() in commit 1a6d4c16 (Linux: fix aklog -setpag to work with ktc_SetTokenEx), when the same code was moved to ktc_SetTokenEx(). Add this code back to SetTokens(), so -setpag functionality can work again with utilities that use older functions like ktc_SetToken, like 'klog'. Change-Id: I68c9bf2e19783ea6f84b4c5ebf2ef188d1d8d6ad Reviewed-on: https://gerrit.openafs.org/14146 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit be50d9a517bda9f421414341bca34c0100d61ba0 Author: Michael Meffie Date: Fri Mar 20 18:17:56 2020 -0400 redhat: add make to the build requirements `make` is not necessarily installed, even if when all the other build requirements are installed. Add `make` to the list build requirements to complete the build requirements. With this change it is possible to build the packages after running the `yum-builddep` to install all of the needed build requirements. Change-Id: I032ba1f23d08468c5e21edc5662b20cc9498d1c9 Reviewed-on: https://gerrit.openafs.org/14119 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 7e41ee0bd50d39a356f0435ff370a0a7be40306f Author: Andrew Deason Date: Tue Apr 7 13:15:31 2020 -0500 vlserver: Correctly pad nvlentry for "O" RPCs For our old-style "O" RPCs (e.g. VL_CreateEntry, instead of VL_CreateEntryN), vlserver calls vldbentry_to_vlentry to convert to the internal 'struct nvlentry' format. After all of the sites have been copied to the internal format, we fill the remaining sites by setting the serverNumber to BADSERVERID. For nvldbentry_to_vlentry, we do this for NMAXNSERVERS sites, but for vldbentry_to_vlentry, we do this for OMAXNSERVERS. The thing is, both functions are filling in entries for a 'struct nvlentry', which has NMAXNSERVERS 'serverNumber' entries. So for vldbentry_to_vlentry, we are skipping setting the last few sites (specifically, NMAXNSERVERS-OMAXNSERVERS = 13-8 = 5). This can easily cause our O-style RPCs to write out entries to disk that have uninitialized sites at the end of the array. For example, an entry with one site should have server numbers that look like this: serverNumber = {1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255} That is, one real serverid (a '1' here), followed by twelve BADSERVERIDs. But for a VL_CreateEntry call, the 'struct nvlentry' is zeroed out before vldbentry_to_vlentry is called, and so the server numbers in the written entry look like this: serverNumber = {1, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0} That is, one real serverid (a '1' here), followed by seven BADSERVERIDs, followed by five '0's. Most of the time, this is not noticeable, since our code that reads in entries from disk stops processing sites when we encounter the first BADSERVERID site (see vlentry_to_nvldbentry). However, if the entry has 8 sites, then none of the entries will contain BADSERVERID, and so we will actually process the trailing 5 bogus sites. This would appear as 5 extra volume sites for a volume, most likely all for the same server. For VL_CreateEntry, the vlentry struct is always zeroed before we use it, so the trailing sites will always be filled with 0. For VL_ReplaceEntry, the trailing sites will be unchanged from whatever was read in from the existing disk entry. To fix this, just change the relevant loop to go through NMAXNSERVERS entries, so we actually go to the end of the serverNumber (et al) array. This may appear similar to commit ddf7d2a7 (vlserver: initialize nvlentry elements after read). However, that commit fixed a case involving the old vldb database format (which hopefully is not being used). This commit fixes a case where we are using the new vldb database format, but with the old RPCs, which may still be used by old tools. Change-Id: Ic6882d1452963ca93403748917c313068acfdaab Reviewed-on: https://gerrit.openafs.org/14139 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 30a47c3282cb405459a6fced1fe5b4c77f4afd64 Author: Michael Meffie Date: Fri Mar 20 17:53:22 2020 -0400 redhat: fix rpmbuild warnings Fix warnings issued by recent versions of rpmbuild: warning: Macro expanded in comment on line 110: %{afsvers}/... warning: extra tokens at the end of %endif directive in line 1469: %endif # build_userspace warning: line 331: It's not recommended to have unversioned Obsoletes: Obsoletes: openafs-client-compat The first two warnings are just issues with comments, which apparently are not completely ignored by rpmbuild. The third issue is a warning about an unversioned "Obsoletes" directive. Remove the old Obsoletes for openafs-client-compat, which was obsoleted no later than the 1.4.x series (more than 10 years ago). While here clean up the spec by removing the old cvs $Revsion$ keyword from the comments at the top of the file, and removing an old commented out setup directive. Change-Id: I8d7a050ea6a0cc7a2d9a6af9a91d25ce545586e7 Reviewed-on: https://gerrit.openafs.org/14118 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 19524a49d4389bff6f7ba9d9c355489450579c01 Author: Andrew Deason Date: Mon Mar 30 14:21:21 2020 -0500 opr: Allow non-2^x for n_buckets in opr_cache_init Currently, opr_cache_init requires that opts->n_buckets is a power of 2 (since our underlying opr_dict requires this). However, callers may want to pick a number of buckets based on some other value. Requiring each caller to calculate the nearest power-of-2 is annoying, so instead just have opr_cache_init itself calculate a nearby power of 2. That is, with this commit, opts->n_buckets is allowed to not be a power of 2; when it's not a power of 2, opr_cache_init will calculate the next highest power of 2 and use that as the number of buckets. Change-Id: Icd3c56c1fe0733e3dac964ea9a98ff7b436254e6 Reviewed-on: https://gerrit.openafs.org/14122 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit 3db8c37e8ef6bea0f03ef6b8f82ed93d52937d7d Author: Andrew Deason Date: Sun Apr 5 16:29:52 2020 -0500 libafs: Serialize INSTDIRS/DESTDIRS and COMPDIRS Our libafs build logic involves a few targets that 'cd' into a per-kernel subdir: notably INSTDIRS and DESTDIRS (the targets to 'make install' or 'make dest' our kernel modules) and COMPDIRS (the target to setup/build the kernel module). Both of these potentially 'cd' into a subdirectory (e.g. MODLOAD64), and run some make rules. Since INSTDIRS and COMPDIRS are different targets and don't depend on each other for many platforms, running those rules can happen in parallel. After they 'cd' into the relevant dir, they run a new 'make' in a subshell, and so underlying rules for building e.g. AFS_component_version_number.c are not serialized. So for a parallel build on, say, Solaris, we can encounter errors when two sub-makes try to make AFS_component_version_number.c at the same time, which looks something like this (with various lines output from other sub-processes mixed in): cd src && cd sys && gmake install gmake[3]: Leaving directory '/[...]/src/libuafs' rm -f AFS_component_version_number.c.NEW /opt/developerstudio12.6/bin/cc [...] -D_KERNEL -DSYSV -dn -m64 -xmodel=kernel -xvector=%none -xregs=no%float -Wu,-save_args -o AFS_component_version_number.o -c AFS_component_version_number.c mv: cannot access AFS_component_version_number.c.NEW gmake[4]: *** [/[...]/src/config/Makefile.version:13: AFS_component_version_number.c] Error 2 gmake[4]: Leaving directory '/[...]/src/libafs/MODLOAD64' gmake[3]: *** [Makefile:85: solaris_instdirs] Error 2 gmake[3]: *** Waiting for unfinished jobs.... To avoid this, just make INSTDIRS and DESTDIRS depend on COMPDIRS, so we can make sure they don't run at the same time. Change-Id: I2510e1894c44dd0864cf2eab5613b805342b6718 Reviewed-on: https://gerrit.openafs.org/14137 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 80edcab9997807f91798dacc2cc59efdba74be56 Author: Cheyenne Wills Date: Wed Apr 1 09:38:05 2020 -0600 butc: rename local var tapeblocks to numTapeblocks The local variable tapeblocks in GetConfigParams matches a global variable. Rename the local variable to avoid confusion with the global name. Change-Id: I1c30433696a35a74978ef0c23881c82054b416c5 Reviewed-on: https://gerrit.openafs.org/14128 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 8ae4531c5720baff9e11e4b05706eab6c82de5f9 Author: Michael Meffie Date: Mon Mar 23 09:46:05 2020 -0400 build: remove unused LINUX_PKGREL from configure.ac This change removes the unused LINUX_PKGREL definition from the configure.ac file. Commit 6a27e228bac196abada96f34ca9cd57f32e31f5c converted the setting of the RPM package version and release values in the openafs.spec file from autoconf to the makesrpm.pl script. That commit left LINUX_PKGREL in configure.ac because it was still referenced by the Debian packaging, which was still in-tree at that time. Commit ada9dba0756450993a8e57c05ddbcae7d1891582 removed the last trace of the Debian packaging, but missed the removal of the LINUX_PKGREL. Change-Id: I17aeccdb38078faa413f2cd3a935b43238982606 Reviewed-on: https://gerrit.openafs.org/14117 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit f16d40ad26df3ec871f8c73952594ad2e723c9b4 Author: Andrew Deason Date: Wed Apr 1 22:59:38 2020 -0500 vos: Print "done" in non-verbose 'vos remsite' Currently, 'vos remsite' always prints the message "Deleting the replication site for volume %lu ...", and then calls VDONE if the operation is successful. VDONE prints the trailing "done", but only if -verbose is turned on, and so if -verbose is not specified, the output of 'vos remsite' looks broken: $ vos remsite fs1 vicepa vol.foo Deleting the replication site for volume 1234 ...Removed replication site fs1 /vicepa for volume vol.foo To fix this, unconditionally print the trailing "done", instead of going through VDONE, so 'vos remsite' output now looks like this: $ vos remsite fs1 vicepa vol.foo Deleting the replication site for volume 1234 ... done Removed replication site fs1 /vicepa for volume vol.foo Change-Id: I0b42f4cb9b695331bf047243bf6ae4a1cdbb89c4 Reviewed-on: https://gerrit.openafs.org/14127 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0e2072ae386d4111bef161eb955964b649c31386 Author: Cheyenne Wills Date: Wed Apr 1 09:48:57 2020 -0600 Avoid duplicate definitions of globals GCC 10 changed a default flag from -fcommon to -fno-common. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678 for some background. The change in gcc 10 results in build link-time errors. For example: ../../src/xstat/.libs/liboafs_xstat_cm.a(xstat_cm.o):(.bss+0x2050): multiple definition of `numCollections'; Ensure that only one definition for global data objects exist and change references to use "extern" as needed. To ensure that future changes do not introduce duplicated global definitions, add the -fno-common flag to XCFLAGS when using the configure --enable-checking setting. Change-Id: I6780dd995fe6fb6c2102765ff3484c18e1e1cd58 Reviewed-on: https://gerrit.openafs.org/14106 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit f841c189a53f3a6bcf5c25336e4e0ad5362036e2 Author: Andrew Deason Date: Tue Mar 31 21:19:18 2020 -0500 vos: Properly print volume transaction flags Currently, the code in 'vos status' treats the 'iflags' and 'vflags' of a transaction like an enumerated type; that is, we only check if 'iflags' is equal to ITOffline or ITBusy, etc. But both of these flags fields are bitfields; any combination of the relevant flags could theoretically be set. Practically speaking, we only ever set at most one of the flags in 'iflags', but if anything ever did set more than one flag, our output would look broken (we'd print "attachFlags:" without any flags). For 'vflags', multiple flags are often set at once: the most common combination is VTDeleteOnSalvage|VTOutOfService. So currently, we usually print "attachFlags:" without any actual flags, since the 'vflags' field isn't exactly equal to VTDeleteOnSalvage (instead it's set to VTDeleteOnSalvage|VTOutOfService). And if we ever did see just VTDeleteOnSalvage set by itself, the way the switch() cases fall through to each other, we'd print out that _all_ flags are set. To fix all of this, just test for the individual flag bits instead. Change-Id: Ib4d207bc713f0ef8eb51b9dbeaf2af50395536ee Reviewed-on: https://gerrit.openafs.org/14126 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 4c4fb6e36634e5663c8be25acd4a1ac872e4738c Author: Andrew Deason Date: Tue Jul 23 13:50:31 2019 -0500 LINUX: Introduce afs_d_path Move our preprocessor logic around d_path into an osi_compat.h wrapper, called afs_d_path. This just makes it a little easier to use d_path, and moves a tiny bit of #ifdef cruft away from real code. Change-Id: I2032eda3fef18be6e77e3bf362ec5ce641e1d76d Reviewed-on: https://gerrit.openafs.org/13721 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 252b3bcc75ea141ff93a7b3147865f4b952fcaca Author: Andrew Deason Date: Fri Aug 24 13:03:24 2018 -0500 afs: Detect VIOCPREFETCH special case properly Currently, afs_syscall_pioctl handles the VIOCPREFETCH pioctl as a special case, calling into a different code path to handle backgrounding the prefetch operation. However, we detect that we're handling a VIOCPREFETCH operation just by looking at the lower 8 bits of the given opcode. This means that any pioctl that ends in 0x0F will trigger this codepath, such as if we add a 'C' or 'O' pioctl that uses code 0x0F. We only want to catch VIOCPREFETCH requests for this code path, so fix the check to also check if we're processing a 'V' pioctl. Change-Id: Ica8c2364f96aa3c8b4d2213bebd9a1e4cb6fa730 Reviewed-on: https://gerrit.openafs.org/13301 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 66d0f91791695ac585f0511d0dadafd4e570b1bf Author: Andrew Deason Date: Tue Mar 24 11:59:48 2020 -0500 tests: Wait for server start in auth/superuser-t The auth/superuser-t test runs an Rx server and client in two child processes. If the client process tries to contact the server before the server has started listening on its port, some tests involving RPCs can fail (notably test 39, "Can run a simple RPC"). Normally if we try to contact a server that's not there, Rx will try resending its packets a few times, but on Linux with AFS_RXERRQ_ENV, if the port isn't open at all, we can get an ICMP_PORT_UNREACH error, which causes the relevant Rx call to die immediately with RX_CALL_DEAD. This means that if the auth/superuser-t client is only just a bit faster than the server starting up, tests can fail, since the server's port is not open yet. To avoid this, we can wait until the server's port is open before starting the client process. To do this, have the server process send a SIGUSR1 to the parent after rx_Init() is called, and have the parent process wait for the SIGUSR1 (waiting for a max of 5 seconds before failing). This should guarantee that the server's port will be open by the time the client starts running. Note that before commit 086d1858 (LINUX: Include linux/time.h for linux/errqueue.h), AFS_RXERRQ_ENV was mistakenly disabled on Linux 3.17+, so this issue was probably not possible on recent Linux before that commit. Change-Id: I0032a640b83c24f72c03e7bea100df5bc3d9ed4c Reviewed-on: https://gerrit.openafs.org/14109 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Cheyenne Wills commit 18a0ea2f31e70e1bdbd7af40022ab107560ac0d0 Author: Andrew Deason Date: Tue Mar 24 11:34:51 2020 -0500 LINUX: Clear lock 'pid' fields with NULL Currently, when we release a lock, we set the e.g. pid_writer field to 0, to clear out any previous pid that was set. On Linux, the pid_writer field is a pointer, and sparse(1) complains about using a plain integer 0 in this way: CHECK [...]/afs_axscache.c [...]/afs_axscache.c:24:19: warning: Using plain integer as NULL pointer [...]/afs_axscache.c:68:9: warning: Using plain integer as NULL pointer [...]/afs_axscache.c:88:5: warning: Using plain integer as NULL pointer [...]/afs_axscache.c:111:13: warning: Using plain integer as NULL pointer [...]/afs_axscache.c:121:17: warning: Using plain integer as NULL pointer [...]/afs_axscache.c:126:17: warning: Using plain integer as NULL pointer [...]/afs_axscache.c:154:13: warning: Using plain integer as NULL pointer [...]/afs_axscache.c:165:9: warning: Using plain integer as NULL pointer This doesn't break anything, but it spews out quite a lot of warnings when building with sparse(1) available. To just reduce this noise a bit, assign these fields to actual NULL. Since some other platforms do use a plain integer in these fields (they are an actual pid), define 'MyPid_NULL' to use '0' or 'NULL' depending on the platform. Define MyPid_NULL to NULL only on Linux; this causes us to still assign 0 to a pointer on some platforms, but Linux is the only one that complains, so only bother using NULL on Linux for now. Change-Id: I35fcb896ceaa346c330622cfc2913b2975295836 Reviewed-on: https://gerrit.openafs.org/14108 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit abbadd3f4bf6fddc794b87d8d993ed6536c591e3 Author: Andrew Deason Date: Tue Mar 10 16:05:47 2020 -0500 rxgen: Properly generate brief union default arm Commit 13ae3de3 (Add "brief" option to rxgen) added the -b option to rxgen, which (among other things) makes rxgen stop including the name of an RPC-L union type within its fields. That is, instead of this: struct foo_type { afs_int32 foo_tag; union { /* ... */ } foo_type_u; }; rxgen -b generates this: struct foo_type { afs_int32 foo_tag; union { /* ... */ } u; }; And all of the autogenerated XDR code is altered to use the 'u' field instead of foo_type_u. However, if a 'default:' arm is defined in the definition for the RPC-L union, the autogenerated XDR code still tries to reference the non-brief name (e.g. foo_type_u). This causes a build failure when actually trying to compile the generated .xdr.c, like so: foo.xdr.c:809:39: error: 'foo_type' has no member named 'foo_type_u' if (!xdr_bytes(xdrs, (char **)&objp->foo_type_u.xxx, &__len, FOO_MAX)) { ^ foo.xdr.c:812:11: error: 'foo_type' has no member named 'foo_type_u' *(&objp->foo_type_u.xxx) = __len; This happens because the portion of emit_union() that generates the XDR code for the default arm wasn't updated to use a different formatting string when 'brief_flag' is set, like the rest of emit_union. To fix this, just check for brief_flag and use 'briefformat' accordingly, like the other code that checks for brief_flag. Currently nothing in the tree uses the default arm of RPC-L unions with 'rxgen -b', but external callers could, or our future code may do so. Change-Id: Ifcebfc48a3a64c68fee12ba0d177ae19b0956c58 Reviewed-on: https://gerrit.openafs.org/14107 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 8c335182115a1e16c66cde40c08ce9fd0144dccb Author: Marcio Barbosa Date: Thu Feb 27 22:28:14 2020 +0000 ubik: death to SVOTE_GetSyncSite The SVOTE_GetSyncSite RPC was intended to provide the IP address of the current sync-site. Unfortunately, the RPC-L incorrectly defined ahost as an input argument instead of an output argument. As a result, the IP address in question is not returned to the callers of SVOTE_GetSyncSite. Moreover, calls to this RPC must be made through connections associated with the VOTE_SERVICE_ID. Sadly, the ubik_Call* functions call SVOTE_GetSyncSite using connections associated with the USER_SERVICE_ID. Consequently, the server getting this request returns RXGEN_OPCODE, meaning that this RPC is not implemented by the service in question. Since RPC arguments cannot be changed without causing compatibility issues between different client / server versions and the RPC in question is being called through the wrong service id, remove SVOTE_GetSyncSite and its callers. Considering that in all versions of OpenAFS calls to this RPC always return RXGEN_OPCODE, no behavior change is introduced by this commit. Also, remove the "chaseCount logic" from the ubik_Call* functions. This logic prevents the loop counter from being moved backwards indefinitely, resulting in an infinite loop. Fortunately, without the VOTE_GetSyncSite() calls this counter cannot be moved backwards more than once. Change-Id: Idd071583e8f67109e003f7a5675de02a235e5809 Reviewed-on: https://gerrit.openafs.org/14043 Reviewed-by: Marcio Brito Barbosa Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit d369f4e5c9f975d370ee1aa7546fe9da80e1e118 Author: Cheyenne Wills Date: Fri Mar 20 12:03:48 2020 -0600 tests: Add cache-t to .gitignore in tests/opr Commit 48fbb45 (opr: Introduce opr_cache) added a new test (cache-t), but did not update the .gitignore file for it. Change-Id: I6de6130257a62f495ac942c05937eb109ce84a75 Reviewed-on: https://gerrit.openafs.org/14102 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 59fef92683da7a8c6888e2f4f5127d7b437ac028 Author: Cheyenne Wills Date: Fri Mar 20 11:54:23 2020 -0600 tests: Add core to .gitignore in tests opr/softsig-t can produce a core file as part of its test. Change-Id: I3bc7e587151e5915038e31887018889a7ffa6993 Reviewed-on: https://gerrit.openafs.org/14101 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 32d35db64061e4102281c235cf693341f9de9271 Author: Marcio Barbosa Date: Thu Feb 13 00:39:00 2020 -0300 vos: take RO volume offline during convertROtoRW The vos convertROtoRW command converts a RO volume into a RW volume. Unfortunately, the RO volume in question is not set as "out of service" during this process. As a result, accesses to the volume being converted can leave volume objects in an inconsistent state. Consider the following scenario: 1. Create a volume on host_b and add replicas on host_a and host_b. $ vos create host_b a vol_1 $ vos addsite host_b a vol_1 $ vos addiste host_a a vol_1 2. Mount the volume: $ fs mkmount /afs/.mycell/vol_1 vol_1 $ vos release vol_1 $ vos release root.cell 3. Shutdown dafs on host_b: $ bos shutdown host_b dafs 4. Remove RO reference to host_b from the vldb: $ vos remsite host_b a vol_1 5. Attach the RO copy by touching it: $ fs flushall $ ls /afs/mycell/vol_1 6. Convert RO copy to RW: $ vos convertROtoRW host_a a vol_1 Notice that FSYNC_com_VolDone fails silently (FSYNC_BAD_STATE), leaving the volume object for the RO copy set as VOL_STATE_ATTACHED (on success, this volume should be set as VOL_STATE_DELETED). 7. Add replica on host_a: $ vos addsite host_a a vol_1 8. Wait until the "inUse" flag of the RO entry is cleared (or force this to happen by attaching multiple volumes). 9. Release the volume: $ vos release vol_1 Failed to start transaction on volume 536870922 Volume not attached, does not exist, or not on line Error in vos release command. Volume not attached, does not exist, or not on line To fix this problem, take the RO volume offline during the vos convertROtoRW operation. Change-Id: I1e417a026ed819fab4435e8992311fcd4f339341 Reviewed-on: https://gerrit.openafs.org/14066 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 957b06984b77cba74bd90217b723220c1844809b Author: Marcio Barbosa Date: Fri Mar 6 15:15:38 2020 +0000 vol: fix namei_ConvertROtoRWvolume return code Commit 8632f23d6718a3cd621791e82d1cf6ead8690978 introduced checks for the return value of snprintf calls in namei_ops. On success, the value returned by this function represents the number of written characters. Unfortunately, the variable used to store this value is the same variable that represents the status code returned by namei_ConvertROtoRWvolume. Consequently, a successful execution of namei_ConvertROtoRWvolume results in a status code different the 0 (and equal to the number of written characters). To fix this problem, set the status code in question back to 0 after a successful execution of namei_ConvertROtoRWvolume. Change-Id: Ic6fd6483f8d94fd64587f8bae249b9d911d846b4 Reviewed-on: https://gerrit.openafs.org/14065 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 38d78e2496c3d242e44bad401ecffe15e3883388 Author: Cheyenne Wills Date: Fri Mar 6 10:00:25 2020 -0700 afs: Clean up compiler warning casting ptr to int In osi_probe.c, the macro 'check_result' casts a pointer to an int which on older Linux kernels (e.g. 2.6.18) produces several lines with the C warning: ... warning: cast from pointer to integer of different size Change the cast from int to long int. Linux 2.6.18 doesn't provide intptr_t or uintptr_t, and stdint.h is not available to kernel modules. But the size of a pointer is the size of a long (see uintptr_t in linux/types.h - Linux 2.6.24+), so change the cast from int to long. Note that the this code by default only gets pulled in for older Linux kernels (e.g. 2.6.18). For newer kernels, ENABLE_LINUX_SYSCALL_PROBING is not defined, and so most of osi_probe.c is not built. Change-Id: If1b41e11c46f4a14ff5127ed4d602485645ddf2a Reviewed-on: https://gerrit.openafs.org/14092 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Andrew Deason commit 57b4f4f9be1e25d5609301c10f717aff32aef676 Author: Andrew Deason Date: Fri Mar 13 13:00:35 2020 -0500 LINUX: Properly revert creds in osi_UFSTruncate Commit cd3221d3 (Linux: use override_creds when available) caused us to force the current process's creds to the creds of afsd during osi_file.c file ops, to avoid access errors in some cases. However, in osi_UFSTruncate, one code path was missed to revert our creds back to the original user's creds: when the afs_osi_Stat call fails or deems the truncate unnecessary. In this case, the calling process keeps the creds for afsd after osi_UFSTruncate returns, causing our subsequent access-checking code to think that the current process is in the same context as afsd (typically uid 0 without a pag). This can cause the calling process to appear to transiently have the same access as non-pag uid 0; typically this will be unauthenticated access, but could be authenticated if uid 0 has tokens. To fix this, modify the early return in osi_UFSTruncate to go through a 'goto done' destructor instead, and make sure we revert our creds in that destructor. Thanks to cwills@sinenomine.net for finding and helping reproduce the issue. Change-Id: I6820af675edcb7aa00542ba40fc52430d68c05e8 Reviewed-on: https://gerrit.openafs.org/14098 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Jeffrey Hutzelman Reviewed-by: Cheyenne Wills Tested-by: Cheyenne Wills commit a0071a30d532520e51262c3b6c194659e95bf389 Author: Andrew Deason Date: Thu Feb 20 09:37:28 2020 -0500 tests: Run more manpage tests by default Ever since commit f0774acd (Introduce TAP tests of man pages for command_subcommand), we've had tests to check that we have man pages for every subcommand in a command suite. This was done for several command suites, including 'bos', and 'fs', but the bos and fs tests were never added to the TESTS file. Add them, so the tests run by default in a 'make check'. Fortunately, the tests still pass today. Change-Id: I90c006845d054fa3e795203bb1deff675e558622 Reviewed-on: https://gerrit.openafs.org/14073 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e06b47fc0e63eff2098de422628b6c03396d419f Author: Andrew Deason Date: Thu Sep 12 14:36:04 2019 -0500 ubik: Rename flags to dbFlags Rename ubik_dbase->flags to ubik_dbase->dbFlags, to make it easier to distinguish between other fields and variables just called 'flags'. Change-Id: I17258f9a65e989943d066307e332550d66ca7500 Reviewed-on: https://gerrit.openafs.org/13864 Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit e68109013d03829f2e9dc95586933212a0ea9ad7 Author: Andrew Deason Date: Thu Sep 12 12:37:04 2019 -0500 ubik: Clarify UBIK_VERSION_LOCK semantics Commit e4ac552a (ubik: Introduce version lock) added UBIK_VERSION_LOCK and version_data. The commit message mentions that holding either UBIK_VERSION_LOCK or DBHOLD is enough to be able to read the protected items and both locks must be held to modify them, but this isn't mentioned in the actual code. Add a comment explaining these locking rules, to make these rules clearer to readers. Change-Id: I715f89695add6d94e13d6ee1dc6addd1e748d3fd Reviewed-on: https://gerrit.openafs.org/13863 Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 086d185872da5f19447cf5ec7846e7ce5104563f Author: Cheyenne Wills Date: Wed Nov 20 12:43:03 2019 -0700 LINUX: Include linux/time.h for linux/errqueue.h The configuration test for errqueue.h fails with an undefined structure error on a Linux 3.17 (or higher) system. This prevents setting HAVE_LINUX_ERRQUEUE_H, which is used to define AFS_RXERRQ_ENV. Linux commit f24b9be5957b38bb420b838115040dc2031b7d0c (net-timestamp: extend SCM_TIMESTAMPING ancillary data struct) - which was picked up in linux 3.17 added a structure that uses the timespec structure. After this commit, we need to include linux/time.h to pull in the definition of the timespec struct. Change-Id: Ifab79f8454c771276d5fdf443c4d68400b70134a Reviewed-on: https://gerrit.openafs.org/13950 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 660a0855bb9351a72ef45cd72e02503c86bf2cea Author: Andrew Deason Date: Wed Sep 11 16:42:47 2019 -0500 ubik: Log urecovery_CheckTid-aborted txes Log when urecovery_CheckTid aborts/ends a running remote transaction. This is usually a rare event, occurring when some ubik sites get "stuck" or confused about the state of the quorum. Logging some details when this happens can be useful when investigating issues post-mortem, or just to see why a transaction failed. Change-Id: If0a7cd134aaac3722fe7214a1d8f0efab550ad11 Reviewed-on: https://gerrit.openafs.org/13862 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit 091e8e9ca52e408c52e3310588d6c959a517a15c Author: Andrew Deason Date: Fri Aug 23 12:21:54 2019 -0500 ubik: Introduce ubik_CallRock In OpenAFS 1.0, the way we made dbserver RPC calls was to pass the relevant RPC and arguments to ubik_Call()/ubik_Call_New(), which coerced all of the RPC arguments into 'long's. To make this more typesafe, in commit 4478d3a9 (ubik-call-sucks-20060703) most callers were converted to use ubik_RPC_name()-style calls, which used functions autogenerated by rxgen. This latter approach, however, only lets us use the ubik_Call-style site selection code with RPCs processed by rxgen; we can't insert additional code to run before or after the relevant RPC. To make our dbserver calls more flexible, but avoid coercing all of our arguments into 'long's again, move back to the ubik_Call()-style approach, but use actual typed arguments with a callback function and a rock. Call it ubik_CallRock(). With this commit rxgen still generates the ubik_RPC_name()-style stubs, but the stubs just call ubik_CallRock with a generated callback function, instead of spitting out the equivalent of ubik_Call() in the generated code itself. To try to ensure that this commit doesn't incur any unintended extra changes, make ubik_CallRock consist of the generated code that was inside rxgen before this commit. This is almost identical to ubik_Call, but not quite; consolidating these two functions can happen in a future commit if desired. Change-Id: I0c3936e67a40e311bff32110b2c80696414b52d4 Reviewed-on: https://gerrit.openafs.org/13987 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 78049987aa3e84865e2e7e0f3dd3b54d66258e74 Author: Cheyenne Wills Date: Tue Mar 3 15:39:49 2020 -0700 LINUX 5.6: define time_t and use timespec/timespec64 The time_t type and the structure timeval were removed for use in kernel space code in Linux commits: 412c53a680a97cb1ae2c0ab60230e193bee86387 y2038: remove unused time32 interfaces c766d1472c70d25ad475cf56042af1652e792b23 y2038: hide timeval/timespec/itimerval/itimerspec types Add an autoconf test for the time_t type. If time_t is missing, define the time_t type when building the kernel module. Change the vattr structure in LINUX/osi_vfs.h to use timespec/timespec64 instead of the timeval structure. Conditionalize the definition of gettimeofday (needed by rand-fortuna.c) in crypto/hcrypto/kernel/config.h. It is unused by the Linux kernel module and the function uses struct timeval that is no longer available. Change-Id: Idc9a1ded748f833d804164d29c49c9aee26ae8f5 Reviewed-on: https://gerrit.openafs.org/14083 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit b8088b49dec23da19406fcb014e7100695dc8322 Author: Andrew Deason Date: Mon Mar 2 16:17:55 2020 -0600 LINUX: Avoid building rand-fortuna-kernel.o Currently, we build rand-fortuna-kernel.o for libafs on all platforms, even though we only use the fortuna RNG on AIX, DragonFlyBSD, HP-UX, and Irix. Everywhere else, our RAND_bytes() in src/crypto/hcrypto/kernel/rand.c uses osi_readRandom() instead of going through heimdal. Building rand-fortuna.c causes occasional build headaches for the kernel on Linux (see cc7f942, "LINUX: Disable kernel fortuna large frame errors"). The most recent instance of this is that Linux 5.6 removes the definition for struct timeval, which is referenced in rand-fortuna.c. The Linux kernel is constantly changing, and so trying to keep rand-fortuna.c building on Linux seems like a waste of ongoing effort. So, just stop building rand-fortuna-kernel.o on Linux. The original intent of building this file on all platforms was to avoid bitrot, so still keep building rand-fortuna-kernel.o on all other platforms even when it's not used; just avoid it on Linux specifically, the platform that requires the most effort. To accomplish this, move rand-fortuna-kernel.o from AFSAOBJS to AFS_OS_OBJS, and remove it from the Linux-only AFSPAGOBJS. Also remove our configure tests for -Wno-error=frame-larger-than=, since they're no longer used by anything. Change-Id: I0d5f14f9f6ba2bdd7391391180d32383b4da89ed Reviewed-on: https://gerrit.openafs.org/14084 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 48fbb45967381f10df092a1ec18b5fb820387e05 Author: Andrew Deason Date: Fri Sep 20 14:19:23 2019 -0500 opr: Introduce opr_cache Add a simple general-purpose in-memory cache implementation, called opr_cache. Keys and values are simple flat opaque buffers (no complex nested structures allowed), hashing is done with jhash, and cache eviction is mostly random with some LRU bias. Partly based off a different implementation by mbarbosa@sinenomine.net. Change-Id: I16b5988947ff603dfe31613cd7be3908a69264e5 Reviewed-on: https://gerrit.openafs.org/13884 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4ce922d339777faf647f7129f5ae3f173a7870b1 Author: Andrew Deason Date: Tue Jan 14 10:51:42 2020 -0600 afs: Properly type afs_osi_suser cred arg Currently, afs_osi_suser is declared with a void* argument, even though its only argument is always effectively a afs_ucred_t*. This allows us to call afs_osi_suser with any pointer type without the compiler complaining. Currently, some callers call afs_osi_suser with an incorrectly-typed afs_ucred_t** instead, like so: func(afs_ucred_t **credpp) { afs_ucred_t **acred = *acredpp; /* incorrect assignment */ if (afs_osi_suser(acred)) { /* ... */ } } The actual code in the tree hides this to some degree behind various function calls and layers of indirection (e.g. afs_suser()), but this is effectively what we do. This causes compiler warnings because we are doing incorrect pointer assignments, but the end result works because afs_osi_suser actually uses an afs_ucred_t*. The type confusion makes it very easy to accidentally give the wrong type to afs_osi_suser. This only really matters on SOLARIS, since that is the only platform that actually uses its argument to afs_osi_suser(). To fix all of this, just declare afs_osi_suser as taking an afs_ucred_t*, and fix all of the relevant functions to handle the right type. Change-Id: I1366aedf0f3d7689735a9424c5272233931e3bf2 Reviewed-on: https://gerrit.openafs.org/14085 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 8d90a9d27b0ef28ddcdd3eb041c8a9d019b84b50 Author: Yadavendra Yadav Date: Thu Mar 5 07:21:55 2020 +0000 LINUX: Initialize CellLRU during osi_Init When OpenAFS kernel module gets loaded, it will create certain entries in "proc" filesystem. One of those entries is "CellServDB", in case we read "/proc/fs/openafs/CellServDB" without starting "afsd" it will result in crash with NULL pointer deref. The reason for crash is CellLRU has not been initialized yet (since "afsd" is not started) i.e afs_CellInit is not yet called, because of this "next" and "prev" pointers will be NULL. Inside "c_start()" we do not check for NULL pointer while traversing CellLRU and this causes crash. To avoid this initialize CellLRU during module intialization. Change-Id: I21cbc0e016b384f0ab456c05087384b6ed986b0d Reviewed-on: https://gerrit.openafs.org/14093 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 914193fa31af1f2aa9d755ce2215608b643053d0 Author: Michael Meffie Date: Fri Jan 24 13:40:28 2020 -0500 Cleanup vestiges of old shared library build directories Remove traces of the old shlibrpc and shlibafsauthent build directories, which are no longer needed since the conversion to libtool for building shared libraries. Change-Id: I8dbfdf9908b4a5527470b7cb4b969e7a160cdd51 Reviewed-on: https://gerrit.openafs.org/14045 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 832d0ab3124c481858bc8f440309d431cc74331f Author: Michael Meffie Date: Thu Dec 12 15:58:32 2019 -0500 doc: Replace src/SOURCE-MAP with src/README.md Replace the old and poorly maintained "SOURCE-MAP" file with a markdown formatted README.md file. Try to organize the directories in sections to hopefully make a more useful guide to the source code and build directories. Thanks to Cheyenne Wills and Benjamin Kaduk for suggestions. Change-Id: I50f58aa99453bc3412b60a7591d6957cfa83b5b1 Reviewed-on: https://gerrit.openafs.org/14003 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit df2688cf770ed2fd3f2c782f91fd576f098676cb Author: Michael Meffie Date: Fri Feb 21 10:08:42 2020 -0500 auth: accept a NULL afsconf_dir in afsconf_SetCellInfo again Commit 93b26c6f55245e2187e574eb928f5e0ce66a245e added the cellservDB field to the afsconf_dir structure to track the CellServDB pathname. This commit also changed the afsconf_SetCellInfo() and afsconf_SetExtendedCellInfo() functions to use the new cellservDB member to open the CellServDB file. Unfortunately, the bosserver intentionally calls afsconf_SetCellInfo() with a NULL afsconf_dir pointer when attempting to create the default CellServDB and ThisCell files (e.g., "localcell"), which causes the bosserver to crash on startup when the cell configuration is not present. Fix this by calling the static function to lookup the CellServDB pathname when a afsconf_dir data object is not given. Change-Id: I8d36f7c8afe6b4e13bfd04c421bf1109d1eb4238 Reviewed-on: https://gerrit.openafs.org/14061 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 302a203cf99fc0f11a402a31121cbe306f9bed30 Author: Michael Meffie Date: Thu Feb 20 16:09:49 2020 -0500 auth: pass the directory name to _afsconf_CellServDBPath Change the signature of the _afsconf_CellServDBPath() static function to take just the base directory name of the CellServDB file instead of the entire afsconf_dir data object. This makes it clear we do not need other members of the afsconf_dir structure to compose the CellServDB path. Change-Id: I57509b2ca09123e78df5533d63494c66b5b24cdf Reviewed-on: https://gerrit.openafs.org/14076 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Andrew Deason commit 7c431f7571bbc32b26180086d10932d41d0da08c Author: Michael Meffie Date: Thu Feb 20 15:58:27 2020 -0500 auth: retire writeconfig.c Move the afsconf_SetCellInfo() and afsconf_SetExtendedCellInfo() to the cellconfig.c file with the other afsconf_dir functions. Retire the now empty writeconfig.c file. At one point in the distant past afsconf_SetCellInfo() did not have a afsconf_dir argument, so it probably made sense to have a separate file to write the configuration. Later, the afsconf_dir argument was added to afsconf_SetCellInfo() and afsconf_SetExtendedInfo() to reset the auth cache, so these functions are now better placed in cellconfig.c. Note the contents of writeconfig.c were moved verbatim (including comments), so this commit should have no functional changes. Change-Id: Idff76f0d2dfa2383a8617373f0e38235a94f20f1 Reviewed-on: https://gerrit.openafs.org/14075 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit de031398c652045394adc150faaf0dcb6cf28bc3 Author: Andrew Deason Date: Wed Oct 2 15:14:21 2019 -0500 opr: Define opr_mutex_t in lockstub.h Like we do for opr_cv_t, define an opr_mutex_t to be a plain int, to allow opr mutexes to be defined easily without ifdef guards. Change-Id: Ib90017ac098ebc68ffd89890d448aabb2321f63e Reviewed-on: https://gerrit.openafs.org/13886 Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Cheyenne Wills Tested-by: BuildBot commit 71a825a3d86faeaf69645d5faab1a14558069c4c Author: Benjamin Kaduk Date: Fri Jan 24 21:42:33 2020 -0800 RedHat: support the ppc64le architecture Reported by zhenjiang.cai@powercore.com.cn. FIXES 135065 Change-Id: I79718a8b4da8a73edf40e0221308c9babc5e85b5 Reviewed-on: https://gerrit.openafs.org/14046 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Michael Meffie Reviewed-by: Yadavendra Yadav Reviewed-by: Benjamin Kaduk commit cd3221d3532a28111ad22d4090ec913cbbff40da Author: Jeffrey Hutzelman Date: Thu May 2 16:02:47 2019 -0400 Linux: use override_creds when available Linux may perform some access control checks at the time of an I/O operation, rather than relying solely on checks done when the file is opened. In some cases (e.g. AppArmor), these checks are done based on the current tasks's creds at the time of the I/O operation, not those used when the file was open. Because of this, we must use override_creds() / revert_creds() to make sure we are using privileged credentials when performing I/O operations on cache files. Otherwise, cache I/O operations done in the context of a task with a restrictive AppArmor profile will fail. Change-Id: Icbe60874c348d6cd92b0a186d426918b0db9b0f9 Reviewed-on: https://gerrit.openafs.org/13751 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 042f809ccfe12bafed73aa4eb4db2c86737e0b22 Author: Michael Meffie Date: Fri Oct 18 13:43:36 2019 -0400 warn when starting without keys The server processes will happily start without keys and then fail all authenticated access, including database synchronization and local commands with -localauth. At least issue warnings to let admins know the keys are missing and that akeyconvert or asetkey needs to be run. The situation is not helped by fact the filenames of the key files have changed between versions. In 1.6.x the (non-DES) keys were in the rxkad.keytab file and in later versions they are in the KeyFile* files, so if you are used to 1.6.x it is not obvious what is wrong. Change-Id: Iff7fe9a5a5a0f5ea1f4e227d3f6129658f8eb598 Reviewed-on: https://gerrit.openafs.org/13911 Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit a5f031d2fe50f068f5517ff8d64324c127b6420d Author: Mark Vitale Date: Wed Feb 19 14:48:07 2020 -0500 improve command-line help for --enable_peer_stats The command-line help for several OpenAFS servers lists an inaccurate description for the --enable_peer_stats option: "enable RX transport statistics" Improve the help description to be more clear and consistent with the description for --enable-process-stats. Introduced by the following commits: cd3492d volser: Convert command line parsing to cmd a5effd9 viced: Use libcmd for command line options 461603e vlserver: Use libcmd for command line parsing 0b9986c ptserver: Use libcmd for command line parsing Change-Id: Ibe23c61d4b838f3a3185390b18d25494fffde2ca Reviewed-on: https://gerrit.openafs.org/14072 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1626986bd6d70c526376cf7cedfd3ebbf6d3588a Author: Cheyenne Wills Date: Tue Feb 11 11:29:42 2020 -0700 LINUX 5.6: use struct proc_ops for proc_create The Linux commit d56c0d45f0e27f814e87a1676b6bdccccbc252e9 (proc: decouple proc from VFS with "struct proc_ops") was merged into Linux 5.6rc1. The commit replaces the 'file_operations' parameter for proc_create with a new structure 'proc_ops'. Conditionally initialize and use proc_ops structures instead of file_operations structures for calls to proc_create. Notes: * proc_ops.proc_ioctl is equivalent to file_operations.unlocked_ioctl * The macros HAVE_UNLOCKED_IOCTL and HAVE_COMPAT_IOCTL are both hardcoded to 1 in linux's fs.h * proc_ops.compat_ioctl is conditional on Linux's CONFIG_COMPAT macro which is a separate test from the HAVE_COMPAT_IOCTL macro Change-Id: I8570ca499696b4c31b381543107453fbfe355376 Reviewed-on: https://gerrit.openafs.org/14063 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 6d6a28720f4eae4652f2628fdfcc30983916f39d Author: Marcio Barbosa Date: Fri Feb 7 14:58:56 2020 -0300 macos: add anchors to synthetic.conf grep pattern The grep pattern that checks if /etc/synthetic.conf already has an entry for afs is intended to check if this file holds a single column entry named afs. Unfortunately, the current version does not completely enforce this restriction. To fix this problem, add anchors to the grep pattern in question. Change-Id: I15a1fa1c250027b7d3ab67e686cbfbae853251a2 Reviewed-on: https://gerrit.openafs.org/14062 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Yadavendra Yadav Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 09ec1073b4c5d2eb70dcf5d8063018bc82e5a35e Author: Mark Vitale Date: Sun Jan 26 20:17:40 2020 -0500 afs: silence bogus warning about dcListCount uninitialized Commit 3be5880d1d2a0aef6600047ed43d602949cd5f4d 'afs: Avoid panics in afs_InvalidateAllSegments' is correct, but at least one compiler (gcc 4.3.4 on SLES 11.3) is fooled into issuing a warning: [...]/afs_segments.c: In function 'afs_InvalidateAllSegments_once': [...]/afs_segments.c:506: error: 'dcListCount' may be used uninitialized in this function To silence the bogus warning, initialize dcListCount when defined. Change-Id: I5938c85c71d08ed61ec1f69a50afb19c9b31fa82 Reviewed-on: https://gerrit.openafs.org/14048 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 9238b1eb9ef02889855eaade76e5b7962e5f2f28 Author: Michael Meffie Date: Mon Jul 22 15:20:24 2019 -0400 vos: fix name availability check in vos rename The UV_RenameVolume() function first updates the volume name in the VLDB, then read-write volume header and backup volume header, and finally all of the read-only volume headers. If this function is interrupted or a remote site is not reachable, the names in some of the volume headers will be out of sync with name in the VLDB entry. The implementation of UV_RenameVolume() is idempotent, so can be safely called with the same name as in the volume's VLDB entry. This could be used to bring all the names in the volume headers in sync with the name in the VLDB. Unfortunately, due to the check of the -newname parameter, vos rename will not invoke UV_RenameVolume() when the name in the VLDB has already been changed. The vos rename command attempts to verify the desired name (-newname) is available before invoking UV_RenameVolume() by simply checking if a VLDB entry exists with that name, and incorrectly assumes when a VLDB entry exists with that name it is an entry for a different volume. Change the -newname check to allow vos rename to proceed when name has already been set in the VLDB entry of the volume being renamed. This allows admins to run vos rename command to complete a previously incomplete rename operation and bring the names in the volume headers in sync with the name in the VLDB entry. Note: Before this commit, administrators could workaround this vos rename limitation by renaming the volume twice, first to an unused volume name, then to the actual desired volume name. Remove the useless checks of the code1 return code after exit in the RenameVolume() function. These checks for code1 are never performed since the function exits early when the first VLDB_GetEntryByName() fails for any reason. Update the vos rename man page to show vos rename can be used to fix previously interrupted/failed rename. Also document the -oldname parameter accepts a numeric volume id to specify the volume to be renamed. Change-Id: Ibb5dbe3148e9b8295347925a59cd7bdbccbe8fe0 Reviewed-on: https://gerrit.openafs.org/13720 Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6c54bc9e121b923ec5fdd60ee510171987e55017 Author: Mark Vitale Date: Mon Jan 27 12:26:41 2020 -0500 uss: more gcc9 truncation warning appeasement uss_procs_PickADir needs a larger buffer to avoid a truncation warning. While here, replace some magic numbers with existing symbols. Change-Id: If981dddfa50bdbc8c4730cf8038429f071b1d5be Reviewed-on: https://gerrit.openafs.org/14049 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit bf1b3e2fc12a7502cfd74eb109eeb7131f7230d3 Author: Michael Meffie Date: Fri Jan 10 10:54:20 2020 -0500 tests: skip vos tests when a vlserver is already running The vos tests start a temporary vlserver process, which is problematic when the local system already has an installed vlserver. Attempt to temporarily bind a socket to the vlserver port, and if unable to bind with an EADDRINUSE error, assume the vlserver is already running and skip these tests. Change-Id: I1dd3bc4c7ebcd2c7bffc8aca422222a50058090e Reviewed-on: https://gerrit.openafs.org/14021 Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6d309f86089ea707dbeb6ab553e3dfd23b6c338c Author: Andrew Deason Date: Thu Jan 9 12:28:57 2020 -0600 afs: Remove osi_VMDirty_p The function osi_VMDirty_p is mentioned in a few places in src/afs, but it has always been ifdef'd or commented out, ever since OpenAFS 1.0. Remove the dead code. Change-Id: Ia7cad718114d91adf9e403e29f9ac976c3f08bfd Reviewed-on: https://gerrit.openafs.org/14023 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 6ee2d6de7d87c93c849f3afbe4326906e4c10852 Author: Andrew Deason Date: Thu Jan 9 12:38:45 2020 -0600 aklog: Make dummy write AIX-specific This weird write() call exists to work around some old AIX-specific bug. The ifdef looks like it is intended to restrict this to pre-5 AIX, but it also turns this on for all non-AIX platforms. Make this area AIX-specific, to avoid this weird write on other platforms that have nothing to do with the relevant workaround. Change-Id: I092bcadb4ecc6277ae01e44e6a957e6bacc0cf2d Reviewed-on: https://gerrit.openafs.org/14022 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit dcf44ab5fc5c1f5e2e759ea4b6156f7e1faa4b7a Author: Michael Meffie Date: Fri Jan 10 09:06:38 2020 -0500 tests: do not resolve addresses in vos/vl test The vos-t test adds a set of 10.* test addresses to a test vlserver and runs vos to read them back. When the test is run in an environment where hosts have been assigned in the 10.* internal network, vos will resolve the addresses to hostnames and the test fails. Pass the -noresolve option to vos for this test when checking for the expected list of addresses. Example test output before this commit: ./vos-t ... # seen: 10.0.0.0 10.0.0.1 myhost.example.com 10.0.0.3 ... not ok 5 - vos output matches Change-Id: Ief43fe180a0dfff211f28d5f47be6224270907a3 Reviewed-on: https://gerrit.openafs.org/14020 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 37c5db3ce767868803135c916b282ff2e541d052 Author: Andrew Deason Date: Sun Dec 1 15:39:04 2019 -0600 FBSD: Declare vnops/vfsops static Declare our vnode and vfs operations as static functions, since they are not referenced outside of osi_vfsops.c/osi_vnodeops.c. Shuffle around the definitions in osi_vnodeops.c so that we don't need forward declarations for the functions. Change-Id: Idbbe05a8b248ac29c2795c365be6a4e99da536dd Reviewed-on: https://gerrit.openafs.org/13973 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit a4e9365fff2b0e3daf7e9cf2b40e6027b7dd3a15 Author: Andrew Deason Date: Sun Dec 1 15:27:01 2019 -0600 FBSD: Remove support for 8.x and 9.x According to , FreeBSD 8.x EoL was on August 1, 2015, and FreeBSD 9.x EoL was on December 31, 2016. Remove our support for these versions, since they haven't been supported by FreeBSD itself for a while. FreeBSD 10.x EoL was on October 31, 2018, which has passed, but was less than a year ago. So keep 10.x in for now. Adjust our preprocessor checks accordingly: - In FBSD-specific dirs, assume AFS_FBSD100_ENV and lower is always true. Assume __FreeBSD_version is always at least 1000000. - In non-FBSD dirs, convert AFS_FBSD100_ENV and lower to AFS_FBSD_ENV. Change-Id: I965e65d3b95573bb374661217b24b686c7b68ed2 Reviewed-on: https://gerrit.openafs.org/13842 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit eab0bb0af87e9309bfb6b754f3521d24288bd933 Author: Andrew Deason Date: Wed Jan 1 20:25:05 2020 -0600 tests: Explicitly build target 'all' by default Commit 68f40643 (Build tests by default) added new targets in our top-level Makefile, that caused us to effectively run 'cd tests && make' as part of the default build. Since no explicit target is provided, 'make' tries to build the first target in the given Makefile. On some platforms (such as *BSD), 'make' finds the first defined target as a pattern rule (%.c) from our included makefiles, and tries to build the target %.c, which it cannot do. This causes the build to fail with: cd tests && make make[3]: don't know how to make %.c. Stop To fix this, just explicitly build the 'all' target when we build our tests by default. Change-Id: I319271482685ec35087c470d95fdcaec6e1d8c47 Reviewed-on: https://gerrit.openafs.org/13993 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie commit ce7a76a13e4009262dc42a6c93c371fb26116d41 Author: Andrew Deason Date: Tue Dec 31 12:25:32 2019 -0600 tests: Stop vlserver on errors Currently, if we encounter an error and 'goto out' after starting the test vlserver, we'll exit without stopping the test vlserver. This can confuse the test harness, causing 'runtests' to hang forever. To avoid this, move the afstest_StopServer() call to also run when we're bailing out, but only if the server has actally started of course. Change-Id: Ice5a56c20bc8d2eac85b3e760850c4d85e4601a8 Reviewed-on: https://gerrit.openafs.org/13992 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie commit a21a2f8edb79d6190976e920a9a90d0878411146 Author: Andrew Deason Date: Tue Dec 31 12:04:48 2019 -0600 tests: Introduce afstest_GetProgname Currently, in tests/volser/vos-t.c we call afs_com_err as "authname-t", which is clearly a mistake during some code refactoring (introduced in commit 2ce3fdc5, "tests: Abstract out code to produce a Ubik client"). We could just change this to "vos-t", but instead of specifying constant strings everywhere, change this to figure out what the current command is called, and just use that. Put this code into a new function, afstest_GetProgname, and convert existing tests to use that instead of hard-coding the program name given to afs_com_err. Change-Id: I3ed02c89f93798568783c7d717e8fb2e39dcce14 Reviewed-on: https://gerrit.openafs.org/13991 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 48d181ca1f4d753a51305d0352dadefed4323c00 Author: Andrew Deason Date: Tue Jan 7 13:02:21 2020 -0600 libtool: Serialize building libfoo.la and libfoo.a We have a few libraries where we have separate targets to build libfoo.la (to get libfoo.so) and libfoo.a. Currently, these targets can be built in parallel, and both are built with libtool. This can cause problems because of two behaviors with libtool: - When running --mode=link for libfoo.a or libfoo.la, it effectively runs 'rm -rf .libs/libfoo.*' to clean up its work area. - When running --mode=link for libfoo.a, libtool sets up some scratch space in .libs/libfoo.ax to unpack various static libs. So when 'make libfoo.a' is running, libtool creates a .libs/libfoo.ax dir, and unpacks various object files inside of it. If while that is running, 'make libfoo.la' runs, it causes libtool to remove that directory and all its contents. This causes 'make libfoo.a' to fail with confusing messages like this (for libafsrpc.a): /bin/sh ../../libtool --quiet --mode=link --tag=CC gcc -static -O -o libafsrpc.a [...] find: '.libs/libafsrpc.ax/libopr_pic.a': No such file or directory ar: .libs/libafsrpc.ax/libfsint_pic.a/afscbint.cs.o: No such file or directory make[3]: *** [Makefile:59: libafsrpc.a] Error To avoid this, prevent building libfoo.la and libfoo.a at the same time, by just making libfoo.la depend on libfoo.a. Do this for all of the libraries we build in this way: libafshcrypto, libkopenafs, libafsauthent, and libafsrpc. Change-Id: I821768b3b4cd99cf5bf98605068773347ada0fb2 Reviewed-on: https://gerrit.openafs.org/14017 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 057f848a9c7b12afbe6563878760c1eab64b99b3 Author: Andrew Deason Date: Fri Nov 1 15:19:23 2019 -0500 ubik: Introduce ugen_secproc_func We currently specify the signature of the 'secproc' function callback in multiple places. Consolidate them into a single typedef. Change-Id: Ic785f47fc726bff6c37f7fd826f1e2626d006776 Reviewed-on: https://gerrit.openafs.org/13986 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 86170750dd2cc49781fad53e539d67f4c1ed0a84 Author: Andrew Deason Date: Wed Oct 9 13:54:40 2019 -0500 doc: Document new rxgk options Commit e5b1e6f1 (Add rxgk client options to vl and pt utilities) added a couple of new command-line options related to rxgk, but didn't add them to the relevant man pages. Add a brief description of these new options to the manpages for pts, vos, ptserver, and vlserver. Change-Id: I2d9bfdeb0a31d396740ca2a4d42e14c025b6f79e Reviewed-on: https://gerrit.openafs.org/13947 Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit bebae936b4ef3bf47624c0ff0baae5521bad804e Author: Cheyenne Wills Date: Thu Jan 2 11:18:16 2020 -0700 afs: Fix EIO error when reading a 4G or larger file When reading a file with a file length of >= 4G, the cache manager is failing the read with an EIO error. In afs_GetDCache, the call to IsDCacheSizeOK is passed a parameter that contains only the lower 32bits of the file length (which requires a 64 bit value). This results in the EIO error if the length is over 2^32 -1. The AFSFetchStatus.Length member needs to be combined with the AFSFetchStatus.Length_hi to obtain the full 64bit file length. Fix the calls to IsDCacheSizeOK to use the full 64bit file length. Commit "afs: Check dcache size when checking DVs 7c60a0fba11dd24494a5f383df8bea5fdbabbdd7" - gerrit 13436 - added the IsDCacheSizeOK function and the associated calls. As a note, the AFSFetchStatus.DataVersion is the lower 32 bits of the full 64bit version number, AFSFetchStatus.dataVersionHigh contains the high order 32bits. The function IsDCacheSizeOK is passed just the 32bit component, the only use of the parameter is in an error message. Change-Id: Idbe6233bd6ef792ed2b92d9337aba334e23f1452 Reviewed-on: https://gerrit.openafs.org/14002 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit daf6616aab6732d6b417c15f6f401731ef8e44b5 Author: Marcio Barbosa Date: Sat Dec 21 19:56:41 2019 -0800 macos: add entry for afs into synthetic.conf The root mount point is read-only as of macOS 10.15. As a result, /afs cannot be created at this location. To workaround this restriction, macOS 10.15 provides an alternative way to create mount points at the root. To make it possible, an entry for the mount point in question must be added to /etc/synthetic.conf. The synthetic entities described in this file are not physically present on the disk. Instead, they are synthesized by the kernel during system boot. This commit adds an entry for afs into the file mentioned above. Knowing that this change only takes effect after reboot, also provide directions to the user during the installation process. Change-Id: I7a05f4b9a48e443dbaa20a624a92b8b54c510000 Reviewed-on: https://gerrit.openafs.org/13928 Tested-by: BuildBot Reviewed-by: Yadavendra Yadav Reviewed-by: Benjamin Kaduk commit 0563642cc1cb750c69a6471005adf36fabb2b7e3 Author: Marcio Barbosa Date: Sat Dec 21 19:11:57 2019 -0800 macos: add script to notarize OpenAFS In order to integrate the notarization process into our existing build scripts, this patch introduces a script to automatically notarize the OpenAFS package. Change-Id: Ia9743cd39485e68de540b79b165b9d92020ad187 Reviewed-on: https://gerrit.openafs.org/13671 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 10d176afd23bbf684017a7946dffb1d592ea04fa Author: Andrew Deason Date: Wed Oct 23 15:46:16 2019 -0500 Do not build shared-only libs for --disable-shared Commit 0f1e54c4 (Pass -shared when linking some shared libraries) changed some of our linking rules to pass -shared to libtool when linking. When building with the --disable-shared configure option, this causes those linker rules to fail, since shared libraries are disabled. Before commit 0f1e54c4, we could build with --disable-shared successfully. To allow us to build again with --disable-shared, just don't build the relevant shared-only libraries at all, when shared libraries are disabled. To accomplish this, introduce a new substitution variable, SHARED_ONLY, which allows certain lines in Makefiles to become commented-out when shared libraries are disabled. Update all of the shared-only libraries to be built conditionally based on this variable. Except for libuafs.la, which appears to be not referenced by anything. Just remove the rules for that instead. Change-Id: I82084a08d2f9c12ca438bd7b1626e1376159c975 Reviewed-on: https://gerrit.openafs.org/13927 Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit d0941e81b2f1f499cebb57d8a81d82802913d9be Author: Andrew Deason Date: Fri Oct 25 19:04:44 2019 -0500 pts: Use cmd_AddParmAtOffset for common parms Update pts to use cmd_AddParmAtOffset and symbolic constants for our common parameters, instead of using bare literals like '16'. Change-Id: Ib8fe77983a6bba46c3182585774e067512449f0e Reviewed-on: https://gerrit.openafs.org/13946 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 90726f837cd03a4eef745ab6bc221987042a72a6 Author: Andrew Deason Date: Tue Oct 29 20:17:39 2019 -0500 tests: Check if vlserver died during startup Currently, the volser/vos test starts a local vlserver to communicate with. If the vlserver dies during startup, the spawned 'vos' subprocesses take forever to run, since we need to wait for our Rx calls to timeout for every operation. To make it less annoying to detect and investigate errors that might cause the vlserver to fail during startup, check if the vlserver dies right away. We already sleep for 5 seconds when starting the vlserver, so just check if the pid still exists after those 5 seconds. Change-Id: I6c33059542fa975e4cb389b718f9da190cd13289 Reviewed-on: https://gerrit.openafs.org/13942 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 94acb9f36b2e14d24a485e016ec7ab264115c0be Author: Andrew Deason Date: Mon Sep 9 14:27:40 2019 -0500 rx: Make rx_identity_free idempotent rx_identity_free sets the given identity to NULL, but it unconditionally derefs the given identity. Make it a no-op for NULL identities, to make related cleanup code and destructors simpler. Change-Id: I863c72be71fb4b3056a2cd8fc2bf19cfb2d5dfbb Reviewed-on: https://gerrit.openafs.org/13945 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d3d2530691a0d5e45e6752d5cc012357ecbd410e Author: Andrew Deason Date: Wed Aug 21 12:43:03 2019 -0500 rx: Make rx_opaque_free idempotent Currently rx_opaque_free sets the given argument to NULL, a style that helps prevent double-frees. However, it doesn't check if the given buffer is already NULL, which makes potential callers that use a 'goto done'-style cleanup block do something like: done: if (buf) rx_opaque_free(&buf); To avoid the extra if(), make rx_opaque_free a no-op if it's given a NULL buffer, similar to how free(NULL) is a no-op on most platforms. Slightly refactor how we reference our argument as well, to limit the number of layers of indirection the code needs to deal with. Do the same for rx_opaque_zeroFree. Note that there are currently no callers of rx_opaque_free/rx_opaque_zeroFree, but future commits will add some. Change-Id: Ic86a9c63903bebbddd311912cfbcb61198e3f0b0 Reviewed-on: https://gerrit.openafs.org/13944 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 71bf9ac08c1dd7566fd5d6b438293614afdc1d13 Author: Andrew Deason Date: Mon Sep 23 22:43:30 2019 -0500 ptserver: Fix WhoIsThisWithName indentation Many lines in this block in WhoIsThisWithName are oddly indented by 1 more space than usual. Fix them. Change-Id: I5e3ec4974cebc694c7b02c1ea6e037d4ec335a12 Reviewed-on: https://gerrit.openafs.org/13943 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 68f406436cc21853ff854c514353e7eb607cb6cb Author: Andrew Deason Date: Tue Oct 29 17:22:04 2019 -0500 Build tests by default While it's not feasible to run all of our tests by default during the build, we should be able to at least make sure the tests can build. So, make the default build targets also build our tests, by making the 'finale' target build the tests. Change-Id: Ieadd48ba2774526de8a13136e6cc8a50434ed2f5 Reviewed-on: https://gerrit.openafs.org/13941 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 0b8b6683fb525bbeaf118014beb2371e0cf23d90 Author: Andrew Deason Date: Mon Nov 11 20:34:27 2019 -0600 tests: Fix manpage tests for objdir builds The manpage tests have a couple of problems when running for objdir builds: - We try to specify './tests-lib/perl5' as a directory to find our helper library. However, the cwd when we're running the tests is in an objdir build, where the helper library is in the srcdir. Fix this by using the SOURCE env var specified by the tests wrapper. - All of these tests specify the directory in which to find the man pages in a subdir of BUILD, but our manpages are located in the src dir (since they are built by regen.sh, not by configure/make). Fix this by specifying a SOURCE-based directory instead. To avoid needing to make the same change for each of these tests, also refactor the manpage tests so each test only needs to specify the subdirectory and command name, and get rid of some of the common boilerplate. Change-Id: I96be199b1dec8db0545ae3cf19d2595c4afe4cdd Reviewed-on: https://gerrit.openafs.org/13940 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 63fd13bf9e6af21136007c9980816875ebea5f7c Author: Marcio Barbosa Date: Tue Nov 26 11:41:36 2019 -0800 macos: prepare for notarization With the public release of macOS 10.14.5, all new and updated kernel extensions must be notarized by Apple. To be taken into consideration, all executables must be signed and the Hardened Runtime capability must be enabled. This patch adds the missing prerequisites mentioned above. Change-Id: I2d3ad66cb7ce062b91d0616955f3bc2b06ca5822 Reviewed-on: https://gerrit.openafs.org/13670 Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit c7864b73603842b8beaee03fcbb2426890205410 Author: Marcio Barbosa Date: Fri Jun 28 00:40:55 2019 -0300 macos: packaging support for MacOS X 10.15 This commit introduces the new set of changes / files required to successfully create the dmg installer on OS X 10.15 "Catalina". Change-Id: I628a3210fa42b2f34ff78030930f83e836775392 Reviewed-on: https://gerrit.openafs.org/13669 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 93815caabc92acc6edc62b72805b44d2e46748cf Author: Marcio Barbosa Date: Mon Nov 18 06:34:08 2019 -0800 macos: add support for MacOS 10.15 This commit introduces the new set of changes / files required to successfully build the OpenAFS source code on OS X 10.15 "Catalina". Change-Id: I849d4c837bf9ae36fe5c33356bc1c66a2fc513ac Reviewed-on: https://gerrit.openafs.org/13668 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit d4302d42149988fa6d04d626967063dfa916c9fd Author: Marcio Barbosa Date: Thu Dec 12 19:03:04 2019 -0800 macos: upgrade *.xib files According to Xcode 11, the *.xib files updated by this commit use an older format that is potentially insecure when decoded. To fix this problem, Xcode automatically upgraded these files to the modern format. These changes are required to build OpenAFS on Catalina (Xcode 11). Change-Id: Ica8c464eff93496d87fc854b193bfb0dad07a3c2 Reviewed-on: https://gerrit.openafs.org/13935 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 677b038814817defec9421e698ce67b44a7fd7d1 Author: Marcio Barbosa Date: Thu Nov 7 23:56:13 2019 -0300 macos: tell the compiler the system include path In order to support multiple SDKs, macOS Catalina no longer has the /usr/include directory. As a result, the compiler needs to know where these headers can be found. To successfully build OpenAFS on OSX 10.15, set KROOT so the compiler knows the correct location of these headers. Change-Id: I5ef33b34b6a4e6111983a63a2d34326ca4af9d30 Reviewed-on: https://gerrit.openafs.org/13936 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit f4ab3767b7e65028b93e731da6f09ee385c51daf Author: Andrew Deason Date: Mon Nov 11 20:34:07 2019 -0600 tests: Fix most tests for objdir builds Fix a few miscellaneous issues with building and running our tests in objdir builds: - Our C tests use -I$(srcdir)/../.. in the CFLAGS, so we can #include . However, basic.h actually gets copied from src/external/c-tap-harness/tests/tap/ to tests/tap/ during the build, and so basic.h is available in the objdir, not srcdir. For objdir builds, this causes building the tests to fail with failing to find basic.h. Fix this to use TOP_OBJDIR as the include path instead. - Our 'make check' in tests/ tries to run ./libwrap; but our cwd will be in the objdir for objdir builds, and libwrap is a script in our srcdir. Fix this to run libwrap from the srcdir path. - In tests/opr/softsig-t, it tries to find the 'softsig-helper' binary in the same dir as 'softsig-t'. However, softsig-t is just a script in the srcdir, but softsig-helper is a binary built in the objdir. Fix this to use the BUILD env var provided by the tests wrapper, by default. Change-Id: Iff642613bfc88d0d7e348660dc62f59e6fa8af75 Reviewed-on: https://gerrit.openafs.org/13939 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 847b63af92dd527de31675a0c3c82c9a57e6c4b3 Author: Andrew Deason Date: Sun Aug 25 23:21:23 2019 -0500 FBSD: Remove pre-8 code Commit 123f0fb1 (config: remove support for old FreeBSD releases) removed our support for FreeBSD releases before FreeBSD 8. However, various areas of code still reference the symbols from those old versions (e.g. AFS_FBSD53_ENV). Remove our ifdef logic for these old symbols, according to the following rules: - In FBSD-specific dirs, assume AFS_FBSD80_ENV is always true (as well as the symbols for earlier versions) - In non-FBSD dirs, convert AFS_FBSD80_ENV to AFS_FBSD_ENV (and do the same for all earlier versions) This allows us to remove code that was specific to older FreeBSD versions, and simplify some ifdef conditionals. Also remove the definitions for AFS_FBSD80_ENV and earlier versions in our existing param.h files. With this commit, the functions afs_start, afs_vop_lock, afs_vop_unlock, and afs_vop_islocked are now always unreferenced, so remove them. Change-Id: Ia5a5ba5ee5b71a86cb4514305e20f1bb34487100 Reviewed-on: https://gerrit.openafs.org/13812 Tested-by: BuildBot Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit f9c716fca1becea5a41fbe86535759ef817c924d Author: Yadavendra Yadav Date: Fri Dec 6 15:23:34 2019 +0530 afs: Add ppc64le changes in osconf.m4 file. If swig package is installed on a ppc64le system, build fails for "libuafs" while running "shlib-build". "shlib-build" gets executed for builing ukernel.so and this is triggered if "LIBUAFS_BUILD_PERL" is not empty. Having "swig" package on system sets "LIBUAFS_BUILD_PERL" to 'LIBUAFS_BUILD_PERL' value. The reason for build failure was inside "shlib-build", 'linker' was not set (it was empty). 'linker' value is set based on SHLIB_LINKER, which was not defined in osconf.m4 if build system is ppc64le. To fix this add ppc64le_linux26 case in osconf.m4 file. Change-Id: I79d2f78b2af34207c81f4f5ab05fdc387404acad Reviewed-on: https://gerrit.openafs.org/13980 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d79a8e13e5c1f6d1cf13a308ea506609b578ed84 Author: Cheyenne Wills Date: Mon Dec 2 13:12:00 2019 -0700 util: Use a struct for afsUUID_to_string Replace the use of a character array with a structure that contains the size of the buffer that is needed. This allows the C compiler to perform a type check to ensure the correct sized buffer is used. In addition, the size of the buffer is now specified in just one location. Change the signature of the afsUUID_to_string function to return a pointer to the start of a formatted UUID. This allows the use of afsUUID_to_string in a way that is consistent with other object formatting functions: struct uuid_fmtbuf uuidstr; printf("... %s ...", afsUUID_to_string(uuid, &uuidstr)); Update callers to use the new uuid_fmtbuf struct when calling afsUUID_to_string. Change-Id: I6d6f86ce6c058defc6256e8e88dee4449dd4f7e6 Reviewed-on: https://gerrit.openafs.org/13831 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f5f8b9336919debc5c26c429b12a14b65e0b697c Author: Marcio Barbosa Date: Thu Nov 14 17:29:56 2019 -0300 viced: add opt to allow admin writes on RO servers Add the new option -admin-write to allow write requests from superusers on file servers running in readonly mode (-readonly). This lets sites run fileservers in readonly mode for normal users, but allows members of the system:administrators group to modify content. Change-Id: Id8ed3513a748815c07cb98e426c1d21ac300b416 Reviewed-on: https://gerrit.openafs.org/13707 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 7cdf1a93cfdfd4a0959200197f000679199abbd4 Author: Andrew Deason Date: Fri Nov 29 11:42:47 2019 -0600 afs: Skip checking chunkBytes sanity for RW files Currently, the IsDCacheSizeOK check can trigger a false positive for a dcache, if the data in the dcache was populated by a local write to a file that was later extended with sparse data. For example: say a client opens a new file, and writes 4 bytes to offset 0, and then writes 4 bytes to offset 0x400000. After the first write, the first chunk for the file will contain just 4 bytes, and after the second write, the first chunk is unchanged (since we're writing to a different area of the file), but the file is now 0x400004 bytes long. The sparse area of the file will be correctly filled with zeroes for local reads and on the fileserver, but the 4-byte chunk causes IsDCacheSizeOK to complain and mark the dcache as invalid. Even though nothing is wrong, this causes the following scary messages to potentially appear in the kernel log, and the relevant dcache to be invalidated: afs: Detected corrupt dcache for file 1.536870913.2.2: chunk 0 (offset 0) has 4 bytes, but it should have 131072 bytes afs: (dcache 0xfffffdeadbeefb4d, file length 4194308, DV 1, dcache mtime 1575049956, index 996, dflags 0x2, mflags 0x0, states 0x4, vcache states 0x1) afs: Ignoring the dcache for now, but this may indicate corruption in the AFS cache, or a bug. It's probably difficult or impossible to detect if this specific case is happening, so to avoid this scenario, just avoid doing the size check at all for RW data from the cache. Change-Id: Ia40ec838c525d9abc13a03be39028e4ca04a9457 Reviewed-on: https://gerrit.openafs.org/13969 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0593017177edd5b3bc6609d9dfcce55f15bba3e9 Author: Marcio Barbosa Date: Thu Nov 14 01:15:47 2019 -0300 viced: prevent writes on readonly fileservers Currently, a fileserver can be initialized as readonly. In this mode, writes on this server should not be allowed. Unfortunately, updates on files stored by readonly fileservers are not completely prevented. In some situations, the check for RO server is omitted (e.g. if the user is the owner of the file to be updated). In other situations, the same check is redundant. To fix these problems, consolidate this check in one place. Change-Id: Id53e15216404dfe691a87c7b4964ff08924c262c Reviewed-on: https://gerrit.openafs.org/13934 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 2ae2a15c9dc9b26eaa15964cc96fdeeb6d82c74c Author: Marcio Barbosa Date: Mon Jun 6 14:03:54 2016 -0300 sys: retry lsetpag if errno is EINTR The variable errno might be set by some system calls to indicate the reason why the system call in question did not work as expected. If the setpag system call is interrupted by a signal, the value of errno will be EINTR. This value means that setpag did not succeed because it was interrupted. If lsetpag did not succeed and errno is equal to EINTR, try again. Change-Id: Ibf306d62fc8d2fa9ccb0692f9031c5aa659b2bfe Reviewed-on: https://gerrit.openafs.org/12295 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 9563807791e2402f7a214a90e96cf6ed8ea5abfb Author: Marcio Barbosa Date: Thu Nov 7 00:10:12 2019 -0300 afs: afs_pag_wait() makes process unkillable To enforce a maximum average rate of one PAG allocation per second, afs_pag_wait(), called by afs_setpag*(), sleeps until the difference between the current time and pag_epoch gets greater than pagCounter. Unfortunately, this function ignores the code returned by afs_osi_Wait(). As a result, it is not possible to kill the process that requested the new pag while afs_pag_wait() is sleeping. To fix this problem, do not ignore the code returned by afs_osi_Wait(). Change-Id: I6be11a569edcafa6ecdf716e5315fc75f5a128e8 Reviewed-on: https://gerrit.openafs.org/12260 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 9d0854547522f7b2fb1bb7aa876fe9f901674747 Author: Andrew Deason Date: Sun Nov 17 20:58:15 2019 -0600 afs: Ensure CDirty is set during afs_write loop Currently, in afs_write(), we set CDirty on the given vcache, and then write the given data into various dcaches. When writing to a dcache, we call afs_DoPartialWrite, which may cause us to flush the dirty data to the fileserver and clear the CDirty bit. If we were given more than 1 chunk of data to write, we will then go through another iteration of the loop, writing more dirty data into dcaches, but CDirty will not be set. This can cause issues with, for example, afs_SimpleVStat() or afs_ProcessFS(), which use CDirty to determine whether or not to merge in FetchStatus info from the fileserver into our local cache. This can cause our local cache to incorrectly reflect the state of the file on the fileserver, instead of the state of the locally-modified file in our cache. A more detailed example is as follows. Consider a small C program that copies a file, fchmod()ing the destination before closing it: void do_copy(char *src_name, char *dest_name) { /* error checking elided */ src_fd = open(src_name, O_RDONLY); dest_fd = open(dest_name, O_WRONLY|O_CREAT|O_TRUNC, 0755); fstat(src_fd, &st); src_buf = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, src_fd, 0); write(dest_fd, src_buf, st.st_size); munmap(src_buf, st.st_size); close(src_fd); fchmod(dest_fd, 0100644); close(dest_fd); } Currently, on FBSD, using this to copy a 7862648-byte file, using a smallish cache (10000 blocks) will cause the destination to appear to be truncated, because avc->f.m.Length will be incorrect, even though all of the relevant data was written to the fileserver. On most other platforms such as SOLARIS and LINUX, this is not a problem, since currently they only write one page of data at a time to afs_write(), and so they never hit multiple iterations of the while() loop inside afs_write(). To fix this, just set CDirty on every iteration of the while() loop in afs_write(). In general, we need to set CDirty after calling afs_DoPartialStore() anywhere if the caller continues to write more data. But all callers already do this, except for this one instance in afs_write(). Thanks to tcreech@tcreech.com for helping find occurrences of the relevant issue. FIXES 135041 Change-Id: I0f7a324ea2d6987a576786292be2d06487359aa6 Reviewed-on: https://gerrit.openafs.org/13948 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 4a9078c6bbf51720a5eacf7e6ba21443e5103eee Author: Andrew Deason Date: Tue Nov 5 10:50:01 2019 -0600 afs: Avoid giving wrong 'tf' to afs_InitVolSlot Commit 75e3a589 (libafs: afs_InitVolSlot function) split out a bit of our code that initializes a struct volume into the afs_InitVolSlot function. However, it caused us to almost always pass a non-NULL 'tf' to afs_InitVolSlot, even if the target volume was not found. That is, before that commit, our code roughly did this: for (...; j != 0; j = tf->next) { ...; tf = &staticVolume; if (tf->volume == volid) break; } if (tf && j != 0) { use_tf_data(); } else { use_blank_data(); } The reason for the extra 'j != 0' check after the loop is to see if we hit the end of the volume hash chain, or if we actually found a matching 'tf' in the loop. And after that commit, the code did this: for (...; j != 0; j = tf->next) { ...; if (j != 0) { tf = &staticVolume; if (tf->volume == volid) break; } } if (tf) { use_tf_data(); } else { use_blank_data(); } The check for 'j != 0' was moved to inside the for loop, but 'j' is always nonzero in the loop (otherwise, the for() would exit the loop). This means that if we didn't find a matching 'tf' in the loop, our 'tf' would be non-NULL anyway, and so we'd initialize our volume slot from just the last entry in the hash chain. This means that for volumes that are not found in the VolumeItems file, our struct volume will probably be initialized with arbitrary data from another volume, instead of being initialized to the normal defaults (the 'else' clause in afs_InitVolSlot). This means that the 'dotdot' entry for the volume may be wrong, and so we may report the wrong parent dir for the root of a volume. However, the 'dotdot' entry should be fixed when the volume root is accessed via a mountpoint, so any such issue should be temporary. And of course, on some platforms (LINUX) we don't ever use the 'dotdot' information for a volume, and even on other platforms, often resolving the '..' entry is handled by other means (e.g. shells often calculate it themselves). But some 'pwd' calculations and other '..' corner cases may be affected. To fix this, change the relevant loop so that we only set 'tf' to non-NULL when we actually find a matching entry. Change-Id: I53118960462c0057725e749cbf588e98024217c3 Reviewed-on: https://gerrit.openafs.org/13933 Tested-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 360b9d5d71fb1de142ae4efd4660732476855a3f Author: Andrew Deason Date: Mon Nov 4 20:03:43 2019 -0600 afs: Avoid -1 error for vreadUIO/vwriteUIO Commit c6b61a45 (afs: Verify osi_UFSOpen worked) added various checks to return an error if a given osi_UFSOpen failed. However, two of these checks (in afs_UFSReadUIO and afs_UFSWriteUIO) result in us returning -1 on error, in functions that otherwise return errno codes (e.g. ENOSPC). An error code of -1 might get interpreted as RX_CALL_DEAD, which would be rather confusing, so use EIO as a generic error instead. Change-Id: I23b9a73b82d999d8ee4670b5e7ec39b9d820fb0f Reviewed-on: https://gerrit.openafs.org/13931 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit b3b56d79653566ef1442d296e31beb762d25ce42 Author: Andrew Deason Date: Mon Nov 4 16:10:25 2019 -0600 doc: Fix realm capitalization In this example, krbtgt.Example.COM clearly refers to the principal name converted from krbtgt/Example.COM, and so by convention the realm name would be in all caps. Fix this example to use the all-caps realm name, for consistency. This mistake was introduced by commit 1cc8feb6 (doc: replace hostnames with IETF example hostnames), the realm was in all caps before that commit. Mistake spotted by Chas Williams. Change-Id: Icaf4931868752064c4617c8ad778122e076ae3cb Reviewed-on: https://gerrit.openafs.org/13930 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 6ec46ba7773089e1549d27a0d345afeca65c9472 Author: Andrew Deason Date: Mon Sep 16 14:06:53 2019 -0500 OPENAFS-SA-2019-003: ubik: Avoid unlocked ubik_currentTrans deref Currently, SVOTE_Debug/SVOTE_DebugOld examine some ubik internal state without any locks, because the speed of these functions is more important than accuracy. However, one of the pieces of data we examine is ubik_currentTrans, which we dereference to get ubik_currentTrans->type. ubik_currentTrans could be set to NULL while this code is running, so there is a small chance of this code causing a segfault, if SVOTE_Debug() is running when the current transaction ends. We only ever initialize ubik_currentTrans as a write transation (via SDISK_Begin), so this check is pointless anyway. Accordingly, skip the type check, and always assume that any active transaction is a write transaction. This means we only ever access ubik_currentTrans once, avoiding any risk of the value changing between accesses (and we no longer need to dereference it, anyway). Note that, since ubik_currentTrans is not marked as 'volatile', some C compilers, with certain options, can and do assume that its value will not change between accesses, and thus only fetch the pointer value once. This avoids the risk of NULL dereference (and thus, crash, if pointer stores/loads are atomic), but the value pointed to by ubik_currentTrans->type would be incorrect when the transaction ends during the execution of SVOTE_Debug(). Change-Id: Ia36c58e5906f5e8df59936f845ae11e886e8ec38 Reviewed-on: https://gerrit.openafs.org/13915 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 93aee3cf40622993b95bd1af77080a31670c24bb Author: Andrew Deason Date: Wed Aug 7 21:19:47 2019 -0500 OPENAFS-SA-2019-002: Zero all server RPC args Currently, our server-side RPC argument-handling code generated from rxgen initializes complex arguments like so (for example, in _RXAFS_BulkStatus): AFSCBFids FidsArray; AFSBulkStats StatArray; AFSCBs CBArray; AFSVolSync Sync; FidsArray.AFSCBFids_val = 0; FidsArray.AFSCBFids_len = 0; CBArray.AFSCBs_val = 0; CBArray.AFSCBs_len = 0; StatArray.AFSBulkStats_val = 0; StatArray.AFSBulkStats_len = 0; This is done for any input or output arguments, but only for types we need to free afterwards (arrays, usually). We do not do this for simple types, like single flat structs. In the above example, we do this for the arrays FidsArray, StatArray, and CBArray, but 'Sync' is not initialized to anything. If some server RPC handlers never set a value for an output argument, this means we'll send uninitialized stack memory to our peer. Currently this can happen in, for example, MRXSTATS_RetrieveProcessRPCStats if 'rxi_monitor_processStats' is unset (specifically, the 'clock_sec' and 'clock_usec' arguments are never set when rx_enableProcessRPCStats() has not been called). To make sure we cannot send uninitialized data to our peer, change rxgen to instead 'memset(&arg, 0, sizeof(arg));' for every single parameter. Using memset in this way just makes this a little simpler inside rxgen, since all we need to do this is the name of the argument. With this commit, the rxgen-generated code for the above example now looks like this: AFSCBFids FidsArray; AFSBulkStats StatArray; AFSCBs CBArray; AFSVolSync Sync; memset(&FidsArray, 0, sizeof(FidsArray)); memset(&CBArray, 0, sizeof(CBArray)); memset(&StatArray, 0, sizeof(StatsArray)); memset(&Sync, 0, sizeof(Sync)); Change-Id: Iedccc25e50ee32bd1144e652b951496cb7dde5d2 Reviewed-on: https://gerrit.openafs.org/13914 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit ea276e83e37e5bd27285a3d639f2158639172786 Author: Andrew Deason Date: Wed Aug 7 20:50:47 2019 -0500 OPENAFS-SA-2019-001: Skip server OUT args on error Currently, part of our server-side RPC argument-handling code that's generated from rxgen looks like this (for example): z_result = SRXAFS_BulkStatus(z_call, &FidsArray, &StatArray, &CBArray, &Sync); z_xdrs->x_op = XDR_ENCODE; if ((!xdr_AFSBulkStats(z_xdrs, &StatArray)) || (!xdr_AFSCBs(z_xdrs, &CBArray)) || (!xdr_AFSVolSync(z_xdrs, &Sync))) z_result = RXGEN_SS_MARSHAL; fail: [...] return z_result; When the server routine for implementing the RPC results a non-zero value into z_result, the call will be aborted. However, before we abort the call, we still call the xdr_* routines with XDR_ENCODE for all of our output arguments. If the call has not already been aborted for other reasons, we'll serialize the output argument data into the Rx call. If we push more data than can fit in a single Rx packet for the call, then we'll also send that data to the client. Many server routines for implementing RPCs do not initialize the memory inside their output arguments during certain errors, and so the memory may be leaked to the peer. To avoid this, just jump to the 'fail' label when a nonzero 'z_result' is returned. This means we skip sending the output argument data to the peer, but we still free any argument data that needs freeing, and record the stats for the call (if needed). This makes the above example now look like this: z_result = SRXAFS_BulkStatus(z_call, &FidsArray, &StatArray, &CBArray, &Sync); if (z_result) goto fail; z_xdrs->x_op = XDR_ENCODE; if ((!xdr_AFSBulkStats(z_xdrs, &StatArray)) || (!xdr_AFSCBs(z_xdrs, &CBArray)) || (!xdr_AFSVolSync(z_xdrs, &Sync))) z_result = RXGEN_SS_MARSHAL; fail: [...] return z_result; Change-Id: I2bdea2e808bb215720492b0ba6ac1a88da61b954 Reviewed-on: https://gerrit.openafs.org/13913 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a455452d7ee98d160620925bb8a0e3d0f4dfd7ec Author: Cheyenne Wills Date: Tue Oct 1 12:14:41 2019 -0600 LINUX 5.3: Add comments for fallthrough switch cases With commit 6e0f1c3b45102e7644d25cf34395ca980414317f (LINUX: Honor --enable-checking for libafs) building libafs against a linux 5.3 kernel compiles with errors due to fall through in case statements when --enable-checking / --enable-warning is used. e.g. src/opr/jhash.h:82:17: error: this statement may fall through [-Werror=implicit-fallthrough=] case 3 : c+=k[2]; ~^~~~~~ The GCC compiler will disable the implicit-fallthrough check for case statements that contain a "special" comment ( /* fall through */ ). Add the 'fall through' comment to indicate where fall throughs are acceptable. This commit only adds comments and does not alter any executable code. The -Wimplicit-fallthrough flag was enabled globally in the linux kernel build in 5.3-rc2 (commit: a035d552a93bb9ef6048733bb9f2a0dc857ff869 Makefile: Globally enable fall-through warning) Change-Id: Ie6ca425e04b53a22d07b415cb8afd172af7e8081 Reviewed-on: https://gerrit.openafs.org/13881 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 747afb94aa214217a749471679082c6ed8e81e92 Author: Marcio Barbosa Date: Thu Sep 20 08:44:59 2018 -0400 afs: avoid extra VL_GetEntryByName for .readonly's In the VLDB, there's only one logical entry for a volume and its associated clones; there are not separate entries for the RW volume "avol", the RO volume "avol.readonly", and the BK volume "avol.backup". And so, when looking up a volume in the VLDB by name, the vlserver ignores any trailing ".readonly" or ".backup" in the given name. More concretely, the result of calling VL_GetEntryByName*("avol") is identical to that from calling VL_GetEntryByName*("avol.readonly"). Accordingly, if afs_GetVolumeByName(name) failed because the volume was not found in the VLDB, afs_GetVolumeByName(name.readonly) will fail as well (barring a change in external circumstances, such as the volume being created or a network connection coming back up). Therefore, the extra call in EvalMountData() is not necessary and can be removed. Remove the extra call, to slightly improve the response time of the client if the volume in question does not exist, and to reduce vlserver load when patched clients are looking up nonexistent volumes. Change-Id: I4f2f668107281565ae72a563a263121bd9bb7e3c Reviewed-on: https://gerrit.openafs.org/13334 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 860cbec815d61db2d82870290652a3bc7471b8e3 Author: Michael Meffie Date: Tue Oct 1 16:16:16 2019 -0400 RedHat: package rxstat_* programs Install libadmin rxstat_* sample programs with 'make install'/'make dest'. Include these programs in the openafs rpm package. Change-Id: I81b965cf440c869072cce0065a3c74c4c699b8b8 Reviewed-on: https://gerrit.openafs.org/13883 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b03f3e6101ff21a6f148c555c213c47678482a7b Author: Cheyenne Wills Date: Thu Oct 3 10:21:43 2019 -0600 RedHat: Update makesrpm.pl to use @PACKAGE_VERSION@ instead of @VERSION@ Commit 2f2c2ce62aa17ecac3651d64c1168af926f7458b 'Remove automake autoconf vars' replaced the automake variable @VERSION@ with the autoconf variable @PACKAGE_VERSION@. (Gerrit #13357) The RedHat openafs.spec.in is not processed using autoconf, but by 'makesrpm.pl', which was not updated to use @PACKAGE_VERSION@. Update makesprm.pl to use @PACKAGE_VERSION@ instead of @VERSION@ Change-Id: I74d1d61e40e660459942ec68cfdedfe569a6abeb Reviewed-on: https://gerrit.openafs.org/13887 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d9fc4890f01a41fa5a63f97f2446b3afc35b473f Author: Andrew Deason Date: Thu Sep 26 13:35:51 2019 -0500 rx: Fix test for end of call queue for LWP Commit 6ad3d646 (rx: Correctly test for end of call queue) fixed a broken end-of-queue check in rx_GetCall, but it only fixed the RX_ENABLE_LOCKS version of rx_GetCall. The non-locks version (i.e. the LWP version) still had this bug. Fix it for the LWP case, to avoid some rare cases where an Rx call can get stuck in the incoming queue. Also remove the comment added by commit 170dbb3c (rx: Use opr queues), since we're fixing the mentioned problem. Change-Id: I5b96d97d9aba7bc4b383133b2136f949f3ed22bc Reviewed-on: https://gerrit.openafs.org/13880 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit aefc4c4f46e13f59b4cbe043e1a2a6f4ed99e076 Author: Mark Vitale Date: Tue Sep 17 15:14:44 2019 -0400 viced: consistently enforce host thread quota for ICBS(3) From time to time, the fileserver may issue potentially long-running RXAFSCB_* RPCs back to a host (client). If these are holding h_Lock_r (host->lock) while running, they may cause other service threads for the same host (client) to block. In order to prevent a given host from tying up too many service threads in this way, the fileserver enforces a quota limiting how many threads can be waiting for h_Lock_r on a particular host while waiting for one of the following RPCs to complete: - RXAFSCB_TellMeABoutYourself (TMAY) - RXAFSCB_WhoAreYou - RXAFSCB_ProbeUuid - RXAFSCB_InitCallBackState (ICBS) - RXAFSCB_InitCallBackState3 (ICBS3) Note: Although some of these RPCs are relatively lightweight, they may still experience network delays. This quota is enforced by calling h_threadquota() in h_Lookup_r and h_GetHost_r. The quota check is enabled for a given host by turning on host->hostFlags HWHO_INPROGRESS for the duration of the RXAFSCB_* RPC. The quota check is only needed, and should only be enabled, when the RPC is issued while h_Lock_r is held. However, there are a few paths to ICBS(3) where h_Lock_r is held but HWHO_INPROGRESS is not set. A delay in those paths may allow a host to consume an unlimited number of fileserver threads. One such path observed in a field report was SRXAFS_FetchStatus -> CallPreamble -> BreakDelayedCallBacks_r -> RXAFSCB_ICBS3. Instead, enable host thread quotas for all remaining unregulated ICBS(3) RPCs. Change-Id: I70b96055ff80d8650bdbaec0302b7d18a8f22d56 Reviewed-on: https://gerrit.openafs.org/13873 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit a133f1b1e7eb605c36ac16a6ed115bef03e8a004 Author: Cheyenne Wills Date: Tue Sep 24 15:59:47 2019 -0600 Retire the AFS_PTR_FMT macro Originally '%x' was commonly used as the printf specifier for formatting pointer values. Commit 37fc3b01445cd6446f09c476ea2db47fea544b7d introduced the AFS_PTR_FMT macro to support platform-dependent printf format specifiers for pointer representation. This macro defined the format specifier as '%p' for Windows, and '%x' for non-Windows platforms. Commit 2cf12c43c6a5822212f1d4e42dca7c059a1a9000 changed the printf pointer format specifier from '%x' to '%p' on non-Windows platforms as well, so at this point '%p' is the printf pointer format specifier for all supported platforms. Since the AFS_PRT_FMT macro is no longer platform-dependent, and all C89 compilers support the '%p' specifier, retire the macro to simplify the printf format strings. Change-Id: I0cb13cccbe6a8d0000edd162b623ddcdb74c1cf7 Reviewed-on: https://gerrit.openafs.org/13830 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie commit 0f1e54c47c179bdbd69799170d9740e3e58e86db Author: Andrew Deason Date: Fri Aug 16 12:48:21 2019 -0500 Pass -shared when linking some shared libraries Currently, we use $(LT_LDLIB_shlib) to build most of our shared libraries. This invokes libtool, passing our various flags like PTH_LDFLAGS and PTH_CFLAGS (since all of our shared-library code is for pthreads). Notably, we do NOT pass the -shared flag; the -shared flag tells libtool to only build a shared library, and to not also build a static library (on systems where libtool supports building shared and static libraries simultaneously). Because of this, our LT_LDLIB_shlib invocations build both, which is reasonably correct for our per-module convenience libraries (that end up getting linked statically into the binaries that we install), but is not entirely correct for the public libraries that we install. Specifically, for ABI compatibility purposes, we must provide both shared and static libraries of the public libraries that we install, and since libtool on AIX does not build (or install) a static library at all with --mode-link unless -static is passed, we have separate rules to build the shared and static libraries for final installation. This can cause install errors with parallel make (on non-AIX systems), and possibly other errors, when we go to install the relevant library into TOP_LIBDIR. For example, in src/kopenafs, we have the following rules: ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}: libkopenafs.la ${LT_INSTALL_DATA} libkopenafs.la ${TOP_LIBDIR}/libkopenafs.la ${RM} ${TOP_LIBDIR}/libkopenafs.la ${TOP_LIBDIR}/libkopenafs.a: libkopenafs.a ${INSTALL_DATA} libkopenafs.a $@ The rule to install libkopenafs.so will invoke libtool to do the install, which will install libkopenafs.so, libkopenafs.so.X.Y, and libkopenafs.a (from .libs/libkopenafs.a, not the libkopenafs.a we built separately). If we are running the rule to install libkopenafs.a in parallel, it may fail with an error like so: /usr/bin/install -c -m 644 libkopenafs.a /home/buildbot/openafs/fedora26-x86_64/build/lib/libkopenafs.a /usr/bin/install: cannot create regular file '/home/buildbot/openafs/fedora26-x86_64/build/lib/libkopenafs.a': File exists make[3]: *** [Makefile:35: /home/buildbot/openafs/fedora26-x86_64/build/lib/libkopenafs.a] Error 1 Even without that error, this confusion means that the libkopenafs.a installed into TOP_LIBDIR may be the one from src/kopenafs/libkopenafs.a, or the one from libtool's src/kopenafs/.libs/libkopenafs.a; it depends on what order the rules are run. If those libraries are different, that could potentially cause all sorts of other problems. To avoid this, we can pass -shared to libtool when building our shared libraries. We used to pass -shared when building shared libraries, since -shared is almost always one our SHLIB_LDFLAGS set in src/osconf.m4. However, ever since commit 2c3a517e (Retire Makefile.shared), SHD_CFLAGS, SHD_LDFLAGS, and SHD_CCRULE have all been unused, and SHD_LDFLAGS was the only place where we used SHLIB_LDFLAGS. As a result, we never use SHLIB_LDFLAGS anywhere, and so we never pass -shared to anything. However, we cannot pass -shared to libtool when building all of our shared libraries, since we do need the static library for our per-module convenience libraries. For example, liboafs_rx.la has no separately-built static library (librx.a is for LWP, liboafs_rx.{so,a} is for pthreads), but liboafs_rx needs to be linked statically into all of our command-line tools. So to fix this, introduce a new linking rule, called LT_LDLIB_shlib_only, which causes the given library to be built only as a shared library (by giving -shared to libtool), and not as a static library. Update the build rules to use this new linking rule for the libraries that need it, and leave the others alone. Since the only use of LT_LDLIB_shlib_missing is also used for a public library (afshcrypto), also pass -shared in that rule. Also remove SHD_* and SHLIB_LDFLAGS variables, since they are unused. Change-Id: Ia9e040afa3819f1ff70d050a400fecb9624bb9ba Reviewed-on: https://gerrit.openafs.org/13786 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1de602aaada15df1008140784092c2a76a2613a1 Author: Yadavendra Yadav Date: Wed Aug 28 17:26:41 2019 +0530 aklog: avoid infinite lifetime tokens by default Currently we get tokens for infinite lifetime using aklog impersonate feature. Based on inputs from Ben, this was done for server to server tickets to be valid forever. However on 1.8.x we have other mechanisms that were usable for server-to-server authentication with strong enctypes, so we do not need to provide user level akimpersonate to generate tokens for infinite lifetime. For this we have added new option -token-lifetime , this can take values from 0 to 720 hours. If 0 is specified it means tokens will have infinite lifetime. By default 10 hours will be token lifetime for akimpersonate tokens. Change-Id: I8190be81771b34682cc000ac051888561dc63c2f Reviewed-on: https://gerrit.openafs.org/13828 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit dc99144da54d12e8a168c3dfb0255e2a40ba321f Author: Mark Vitale Date: Wed Jul 17 22:07:45 2019 -0400 rx: add missing CLEAR_CALL_QUEUE_LOCK to LWP rx_GetCall In all other places where we remove an rx_call from a queue, we also CLEAR_CALL_QUEUE_LOCK. This isn't necessary in the LWP (non-RX_ENABLE_LOCKS) version of rx_GetCall because rx_call does not have member call_queue_lock for LWP. However, for the sake of consistency for future maintainers, add a CLEAR_CALL_QUEUE_LOCK here as well; it is a no-op for LWP. No functional change is incurred by this commit. Change-Id: Ibbb005fa15dd517fc5282574d0d4abd74e937e02 Reviewed-on: https://gerrit.openafs.org/13695 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit fe6798d0d9e4df006ef96612b5c6e07fcc757b7e Author: Mark Vitale Date: Mon Sep 16 01:37:33 2019 -0400 SOLARIS: add autoconfig support for Studio 12.6 Add the canonical install path for Studio 12.6 to the autoconfig test. Change-Id: Id90ae1816845ed8aaa80be7b3d57846059084339 Reviewed-on: https://gerrit.openafs.org/13867 Tested-by: Mark Vitale Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e87c40f4546ee9c31b2eaad2a24be9fb9a0b25b1 Author: Mark Vitale Date: Thu Mar 14 23:15:29 2019 -0400 rx: clear call_queue_lock after removing call from queue The call_queue_lock is set to either rx_serverPool_lock or rx_freeCallQueue_lock, depending on whether an rx_call resides in the rx_incomingCallQueue or the rx_freeCallQueue, respectively. This value is used by rxi_ResetCall to lock the appropriate queue before removing a call. Therefore, the call_queue_lock should be cleared after a call is removed from a queue. This issue has no known external symptoms; however, repairing this is helpful to developers examining core files. Repair two instances where the call_queue_lock is not cleared. Change-Id: Id1d9ac8454c1e07c10766dffb2a2beac7122bf3e Reviewed-on: https://gerrit.openafs.org/13641 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 3be5880d1d2a0aef6600047ed43d602949cd5f4d Author: Andrew Deason Date: Mon Jul 8 14:49:23 2019 -0500 afs: Avoid panics in afs_InvalidateAllSegments Currently, afs_InvalidateAllSegments panics when afs_GetValidDSlot fails. We panic in these cases because afs_InvalidateAllSegments cannot simply return an error to its callers; we must invalidate all segments for the given vcache, or we risk serving incorrect data to userspace as explained in the comments. Instead of panicing, though, we could simply sleep and retry the operation until it succeeds. Implement this, retrying every 10 seconds, and logging a message every hour that we're stuck (in case we're stuck for a long time). When we retry the operation, do so in a background request, to avoid a somewhat common situation on Linux where we always get I/O errors from the cache when the calling process has a SIGKILL pending. Create a new background op for this, BOP_INVALIDATE_SEGMENTS. With this, the relevant vcache will be effectively unusable for the entire time we're stuck in this situation (avc->lock will be write-locked), but this is at least better than panicing the whole machine. Change-Id: Icdc58a94f0cd5857903836d94e5cf7814ce7e088 Reviewed-on: https://gerrit.openafs.org/13677 Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Tested-by: BuildBot commit 1c4e94da2a8fce9d79006ad6d6673d3d7de117d3 Author: Benjamin Kaduk Date: Fri Aug 9 07:59:44 2019 -0700 The interminable rework of afs_random() Commit f0a3d477d6109697645cfdcc17617b502349d91b restructured the operation on tv_usec to avoid using undefined behavior, but in the process introduced a behavior change. Historically (at least as far back as AFS-3.3), we masked off the low nybble (four bits) of tv_usec before adding the low byte (eight bits) of the rxi_getaddr() output. Why there was a desire to combine two sources of input for the overlapping four bits remains unclear, but restore the historical behavior for now, as the intent of commit f0a3d477d6109697645cfdcc17617b502349d91b was to not introduce any behavior changes. Change-Id: Icb8bc1edd34ca29c3094b976436177b18bfc8d1d Reviewed-on: https://gerrit.openafs.org/13759 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 276bd5c7f8a2ec7673d2ad084566203eb2055938 Author: Yadavendra Yadav Date: Wed Aug 28 17:04:31 2019 +0530 aklog: use any enctype in get_credv5 We currently always pass DES as the requested enctype to get_credv5_akimpersonate, but this means we will fail to use our service princ if we're using another enctype (say, AES) with rxkad-k5. To allow this to work with any enctype, just don't pass any requested enctypes, and just use the enctype inside the 'entry' returned to us from krb5_kt_get_entry. Remove all of the logic associated with the now-unused "allowed_enctypes" argument. Also remove the logic handling the case where "service_principal" is NULL (since no callers pass a NULL service_principal), to make it easier to take out the allowed_enctypes related code. Change-Id: Id11514ead26e15a287791c40509a001a1861df97 Reviewed-on: https://gerrit.openafs.org/13827 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 7a13bce2513baf5a3a61db94f3d88232241cea5b Author: Yadavendra Yadav Date: Wed Aug 28 16:43:35 2019 +0530 aklog: retry getting tokens for KRB5_KT_NOTFOUND error If we're creating tokens with -keytab and our AFS service principal is afs@, we'll first try creating tokens with afs/@ and krb5_kt_get_entry will fail with KRB5_KT_NOTFOUND. Since we do not retry for KRB5_KT_NOTFOUND error, we will not get tokens. So in order to get tokens for principal afs@ we should retry for KRB5_KT_NOTFOUND error. Thanks to jpjanosi@us.ibm.com for finding this issue and suggesting a fix. Change-Id: I8af9df9876973badc4631f509eebcda46d667cef Reviewed-on: https://gerrit.openafs.org/13826 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2a33a80f7026df6b5e47e42319c55d8b7155675a Author: Andrew Deason Date: Sun Jul 21 18:31:53 2019 -0500 rx: Introduce rxi_NetSend Introduce a small wrapper around osi_NetSend, called rxi_NetSend. This small wrapper allows future commits to change the code around our osi_NetSend calls, without needing to change every single call site, or every implementation of osi_NetSend. Change most call sites to use rxi_NetSend, instead of osi_NetSend. Do not change a few callers in the platform-specific kernel shutdown sequence, since those call osi_NetSend for platform-specific reasons. This commit on its own does not change any behavior with osi_NetSend; it is just code reorganization. Change-Id: I0a7eb39d85d4e542c2832bb40191ab49fb02d067 Reviewed-on: https://gerrit.openafs.org/13717 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 6559297610de0f71c9050f3582d4d146e0cc1f3c Author: Yadavendra Yadav Date: Wed Aug 28 16:25:49 2019 +0530 aklog: Use HAVE_ENCODE_KRB5_ENC_TKT_PART for aklog impersonate In get_credv5_akimpersonate we use HAVE_ENCODE_KRB5_ENC_TKT which is not defined, due to this we always return -1 from this routine for non Heimdal case. We have a another define i.e HAVE_ENCODE_KRB5_ENC_TKT_PART which is defined if encode_krb5_enc_tkt_part function is present. In current code encode_krb5_enc_tkt_part is called from krb5_encrypt_tkt_part and krb5_encrypt_tkt_part is called from get_credv5_akimpersonate for non Heimdal case. So we should change HAVE_ENCODE_KRB5_ENC_TKT to HAVE_ENCODE_KRB5_ENC_TKT_PART. Also while we're here, add a declaration for the internal function encode_krb5_ticket, so we can build this newly-enabled code without warnings. Change-Id: I8f740e319ad279e284efaa407e6f92d0dc7a1bf6 Reviewed-on: https://gerrit.openafs.org/13825 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Andrew Deason commit d1e90b82ebb2685cbac3ecb3fd99136328b35357 Author: Stephan Wiesand Date: Fri Sep 6 13:35:02 2019 +0200 ptserver: Increase length limit of namelist, idlist, prlist, prentries An implementation limit of those lists was introduced in commit a0ffea098d8c5c5b46c6bf86a12d28d6e7096685 to prevent using unlimited amounts of memory in ptserver and the client. Subsequent reports indicate that the chosen limits are small enough to restrict functionality currently in use at some sites where membership lists exceed the current limit. Since this is just an implementation- defined limit and can freely change from release to release, increase the threshold by an order of magnitude to preserve functionality for existing deployments while still retaining some protection against attacker-controlled excessive memory allocation. Change-Id: I857bb3b697909668eb71224b631dfbb7e3c03d3c Reviewed-on: https://gerrit.openafs.org/13838 Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 54150f381de34d2a0c85ab15cf25801effd0c154 Author: Andrew Deason Date: Fri Aug 9 22:36:17 2019 -0500 LINUX: Check for -Wno-error=frame-larger-than= Commit cc7f942a (LINUX: Disable kernel fortuna large frame errors) added -Wno-error=frame-larger-than= to the CFLAGS for a file, but older gcc (like 4.3.4 from SLES 11.x) does not support this flag, causing a compiler error. To avoid this, add a configure check for -Wno-error=frame-larger-than=, and only use it if the compiler supports it. Thanks to mvitale@sinenomine.net for discovering the error. Change-Id: I5486d2d4711f2c301be1cb79f0aaad69a22e9d3a Reviewed-on: https://gerrit.openafs.org/13762 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit ddf7d2a7f4bfdcab238e791cb8c49bb803e76b09 Author: Cheyenne Wills Date: Fri Aug 9 13:25:26 2019 -0600 vlserver: initialize nvlentry elements after read Commit 7620bd33487207b348ed7aeba45f8d743132ba84 (vlserver: fix vlentryread() for old vldb formats) leaves the tail end of the serverNumber, serverParition and serverFlags arrays uninitialized since it only copies OMAXNSERVERS elements into arrays that have NMAXNSERVERS elements. Initialize the elements in the nvlentry server arrays that were not copied with BADSERVERID. Change-Id: I9533e3a40922c76d4179e0ada393103c2aa533dd Reviewed-on: https://gerrit.openafs.org/13755 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 83d9a86fb1af519a92ffc0d8f6d73cddded8f6f5 Author: Andrew Deason Date: Mon Aug 26 22:03:23 2019 -0500 opr: Include procmgmt_softsig.h for WINNT On WINNT, procmgmt_softsig.h exists to implement our opr softsig routines in terms of procmgmt routines. Any time we include opr/softsig.h in cross-platform code, we currently must also include afs/procmgmt_softsig.h so we can build on WINNT. We currently do not do this in src/xstat, causing build failures on WINNT. To avoid this, just make opr/softsig.h include procmgmt_softsig.h itself, so all of the opr/softsig.h users don't have to remember to do this. Link xstat_*_test against procmgmt, so linking will succeed for those tools. Change-Id: I2dc8226d438be25cdccbe96474220d7c81ae25b9 Reviewed-on: https://gerrit.openafs.org/13824 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit ab8b28540ef17d67db02d5dbcb7585443c164e45 Author: Yadavendra Yadav Date: Sat Aug 10 02:54:38 2019 +0530 aklog: Free client/server princs in get_credv5 Inside get_credv5, client_principal is static so the first time get_credv5 runs we'll allocate memory for it, and on subsequent calls we'll reuse the same value. However, if we call get_credv5_akimpersonate, we'll free client_principal and never change what client_principal points to. If we need to call get_credv5 again (because we need to retry getting creds), we'll reuse the old value for client_principal, but since it points to free memory we'll segfault or cause other problems. To avoid this, change get_credv5 so we allocate the client and server principals on each invocation of get_credv5 and free them before returning from get_credv5. Since we free the client and server principals inside get_credv5, remove freeing the client and server principals inside get_credv5_akimpersonate. Change-Id: Ie263aa2c03efc75e818d9007347dca9e42380dd4 Reviewed-on: https://gerrit.openafs.org/13761 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 2336164d1bf63980419d3a870f908f1f384fdfc0 Author: Andrew Deason Date: Sun Jul 21 17:02:34 2019 -0500 afs: Actually free resources during warm shutdown Currently, the shutdown_*() code paths for several subsystems only free the memory for that subsystem for "cold" shutdowns, and not for "warm" shutdowns. This means the memory gets leaked during a "warm" shutdown, since we never free these resources anywhere else. Specifically, this happens in shutdown_bufferpackage, shutdown_AFS, and shutdown_osinet. To avoid these leaks for warm shutdowns, just move the afs_cold_shutdown check around a little, so we free the relevant items in either codepath. Change-Id: I748311784f512b3e2f25bdcaa6629108a5790212 Reviewed-on: https://gerrit.openafs.org/13716 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 130a92214cc0b9a8f4ea24a3dcd3ed04575e3c4e Author: Yadavendra Yadav Date: Sat Aug 10 02:41:01 2019 +0530 aklog: free kbr5_creds before returning from rxkad_get_token rxkad_get_ticket allocates 'v5cred' which should be freed when we return from rxkad_get_token. Change-Id: I09b20781f0856ab8e230e0af271e9d0c58fee90c Reviewed-on: https://gerrit.openafs.org/13760 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit fbdf126df02eacc0442d80cc5bca0e16ddafe55e Author: Andrew Deason Date: Sun Aug 25 19:30:30 2019 -0500 rx: Convert rx_FreeSQEList to rx_freeServerQueue Currently, rx_serverQueueEntry structs are placed on the rx_FreeSQEList linked list instead of being freed directly, but managing this list is done a bit oddly. The first field in struct rx_FreeSQEList is an opr_queue, but we don't use the opr_queue_* macros to manage the list. Instead, we just assume the first field in a struct rx_serverQueueEntry is a pointer that we can use to link entries together. This is currently true and works, but it's an odd way of maintaining such a list, and of course would break if we ever moved the fields around in struct rx_serverQueueEntry. Make this code more closely follow the normal way of managing opr_queue lists, by using opr_queue_* macros, and changing rx_FreeSQEList to be an opr_queue itself. Change the name to rx_freeServerQueue to ensure all callers are changed, and to match the naming convention for the other linked lists for rx_serverQueueEntry structs. Also move rx_freeServerQueue and its associated lock freeSQEList_lock to be declared static inside rx.c, since neither are referenced outside of rx.c. The general idea for this commit suggested by kaduk@mit.edu. Change-Id: I2ea15af1ad3228fa5fdf9f323e9394838fba4bac Reviewed-on: https://gerrit.openafs.org/13811 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 3bc03e7a5f8ef521e71a30cb8e66e07e2d1b4605 Author: Andrew Deason Date: Sun Jun 23 17:48:53 2019 -0500 libafs: Create debug KMODDIR for FBSD debug inst Commit 99418024 (libafs: Create $(DESTDIR)$(KMODDIR) on FBSD inst) made it so we create the kmod installation dir before copying our module into it. However, if we build a 'debug' variant of our module, the FreeBSD build process also installs debug symbols in a different directory, ${DESTDIR}${KERN_DEBUGDIR}${KMODDIR}, which may not exist. So do the same thing for that dir too, if --enable-debug-kernel is turned on, so the build still works. To do this, introduce the LIBAFS_REQ_DIRS var, to make it easier to keep track of which dirs we may need to create. Change-Id: Id1ad72f6c19d5949d38ee97334b4014ae6ef16ad Reviewed-on: https://gerrit.openafs.org/13690 Reviewed-by: Benjamin Kaduk Tested-by: Andrew Deason commit f9e413eaa280377b7dca0214fe79668459035098 Author: Andrew Deason Date: Mon Aug 26 21:17:30 2019 -0500 xstat: Define AFS_PTHREAD_ENV on WINNT Commit 6b67cac4 (convert xstat and friends to pthreads) converted the xstat utilities to pthreads, but we still need to explicitly pass AFS_PTHREAD_ENV on WINNT to enable various pthread-specific code paths. So give -DAFS_PTHREAD_ENV for our objects in this dir. Change-Id: I222b99399a5fad3df528be2bc31823eb8bc52c62 Reviewed-on: https://gerrit.openafs.org/13823 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 7a76f4dc00984d42b0535a8edbedee034ada896f Author: Andrew Deason Date: Mon Aug 26 20:33:58 2019 -0500 WINNT: Link tbutc against mtafsutil.lib tbutc uses pthreads, not LWP, so link it against mtafsutil.lib (a pthread library), and not afsutil.lib (an LWP library). Change-Id: Id29888d88bfdd9585e017217a9951eb645c65336 Reviewed-on: https://gerrit.openafs.org/13822 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit c3716b3d7e32f47b084657e163b029e9f1756fa4 Author: Andrew Deason Date: Mon Aug 26 19:34:19 2019 -0500 rx: Export rx_GetCallStatus Commit 59d3a8b8 (vos: restore status information to 'vos status') added the function rx_GetCallStatus to Rx, and used it in the volserver, but didn't add the function to our .sym and .exp files, causing a linker error on at least WINNT. Add the function to the relevant .sym/.exp files, so we can link on all platforms. Change-Id: I859ac6d04d8a21eb6f8b4ba3f3720ca318e91334 Reviewed-on: https://gerrit.openafs.org/13820 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 90117793ca3000a20cb3bff8601e9f8ae56fb5db Author: Andrew Deason Date: Mon Aug 26 18:46:21 2019 -0500 WINNT: Do not link ptclient.obj in libafsauthent ptclient.c contains a stub definition for osi_audit, but audit.c already contains a real definition for osi_audit. libafsauthent doesn't seem to actually need anything from ptclient (and the Unix libafsauthent doesn't appear to use it), so just don't include ptclient when linking libafsauthent. Change-Id: I4172b80138e5ea121fc3ae2689cf4ed23c81e35b Reviewed-on: https://gerrit.openafs.org/13819 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit e4b689e8c7cb39b72854dd38b6a92134591c8bca Author: Andrew Deason Date: Mon Aug 26 18:14:48 2019 -0500 WINNT: Link butc against audit Since commit c43169fd (OPENAFS-SA-2018-001 Add auditing to butc server RPC implementations), butc references symbols from audit. So add audit to our libraries to link against, so we can link butc on WINNT. Change-Id: I65f4d87085a8917c9b11d7c27b8e3902cd2a1c1c Reviewed-on: https://gerrit.openafs.org/13818 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit f895a9b51671ffdc920fd9b4284337c5b737a0ef Author: Andrew Deason Date: Mon Aug 26 17:40:56 2019 -0500 WINNT: Make opr_threadname_set a no-op We don't supply an implementation for opr_threadname_set for WINNT; don't pretend that we do. Change-Id: Ifa8042253d0aa10f365356d93cea3fad4686371a Reviewed-on: https://gerrit.openafs.org/13817 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 75a5c1b06e44bb6207cee7bd653cda688869aade Author: Andrew Deason Date: Mon Aug 26 16:54:55 2019 -0500 rxkad: Improve ticket5 import from Heimdal The current method of importing our ticket5 code from Heimdal has a few issues: - The der-protos.h file we generate contains numerous function prototype declarations that looks like this: ret-type func(parm-list, type */* comment */); which cause numerous warnings on WINNT, because the '*/*' sequence looks like the end of a nonexistent comment. This was previously fixed manually in commit 8b5d3a73 (rxkad: remove warnings from der-protos.h), but each time we regenerated our ticket5 code, the same thing would happen. - We manually insert an include for "asn1_err.h" in our v5der.c, and the v5gen.c we pull in has an include for inside it. During a WINNT build, these can pull in different asn1_err.h files (one from us, and one from the "Heimdal compatibility layer SDK" or anything else in our include paths). Since the asn1_err.h in our tree doesn't have an include guard, the code for both gets included, which can cause various problems. - Our current asn1_err.h file that we include is ultimately generated by the awk-based compile_et from e2fsprogs, not the C-based compile_et from Heimdal. This likely happened by accident because the Heimdal build system uses the system compile_et by default. This flavor of compile_et generates arguably inferior comerr-based header files (they lack include guards, and they use #define constants instead of enums). Fix these issues with some edits to our README.v5 script: - Apply a simple sed filter when we pull in der-protos.h to change '*/*' into '* /*', to remove the relevant warnings. - Instead of inserting an include for asn1_err.h into v5der.c in our import script, just put it in ticket5.c, making it easier to see and edit. Change this to so it uses the same asn1_err.h as in v5gen.c. - Add a note to run the Heimdal build with COMPILE_ET=no, so the Heimdal build system uses the in-tree compile_et, instead of whatever is on the relevant system. With these changes, redo the Heimdal import from the same version of the Heimdal codebase. Change-Id: I01e06f2799f1c828b8224c3425079b313ffb5b6b Reviewed-on: https://gerrit.openafs.org/13816 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit b9b5385e6a04dcacd180f33e39495c7909fe4df3 Author: Andrew Deason Date: Mon Aug 26 16:08:31 2019 -0500 kauth: Move COUNT_REQ to beginning of block Commit b604ee7a (OPENAFS-SA-2018-002 kaserver: prevent KAM_ListEntry information leak) added a memset in kamListEntry before COUNT_REQ, but COUNT_REQ declares a local variable. This breaks the WINNT build, because we must declare variables at the beginning of a block. To fix this, just swap the two lines. Change-Id: I47eb61e6f95c2e38c619e90c8f093de325892c63 Reviewed-on: https://gerrit.openafs.org/13815 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 1534302d4489d2ba1c421077cdedb0187a2c1722 Author: Andrew Deason Date: Mon Aug 26 14:34:45 2019 -0500 rxgk: Add NTMakefile to install headers Commit 83eec909 (Implement afsconf_GetRXGKKey) added a reference to rx/rxgk_types.h inside cellconfig.p.h. Nothing ever added src/rxgk WINNT makefiles, so that include file is never installed into place, breaking the WINNT build when code tries to include cellconfig.h. To fix this and other code that needs rxgk header files, create an NTMakefile for src/rxgk, which just exists to install headers into place. Call it from the top-level NTMakefile right before copying in the auth headers. Change-Id: Id111479f55b4c330640e80d167a8af664fe3622e Reviewed-on: https://gerrit.openafs.org/13814 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 2df2de06e5df64f5666316b14d67de7e7c5dae70 Author: Andrew Deason Date: Sun Jul 21 21:15:11 2019 -0500 rx: Avoid leaking 'sq' in libafs rx_GetCall Currently, in rx_GetCall when building for the kernel, if we notice that we're shutting down (that is, if afs_termState has reached AFSOP_STOP_RXCALLBACK), we return immediately. However, 'sq' may have been allocated much earlier in this function, and if we return here, we never free 'sq' or set it on any list. Returning immediately is also unnecessary here; if we just 'break' out of our wait loop, 'call' will still be NULL, and we'll break out of the outer loop, and go through the rest of the function like normal. The only difference is, if we 'break' instead of 'return'ing, we'll put 'sq' on the free list before returning. So, just 'break' out of the loop instead of returning, so we put 'sq' on the free list and avoid leaking its memory. Change-Id: Ibb2f4e697a586392f76ccdbbefdae8d75740f6fe Reviewed-on: https://gerrit.openafs.org/13715 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 9eeb3ec09f5421ceab2be415a193bb3a3c44925f Author: Andrew Deason Date: Mon Aug 26 13:13:28 2019 -0500 WINNT: Build bubasics before audit Commit 9ebff4c6 (OPENAFS-SA-2018-001 audit: support butc types) made src/audit require the butc.h header, and updated Makefile.in to reflect this. However, this dir is also built on WINNT, and the NTMakefile was not updated to reflect this dependency. As a result, we might fail to build src/audit on WINNT, since butc.h may not exist yet, and we get an error like: cl [...] /c audit.c audit.c cl : Command line warning D9025 : overriding '/W4' with '/W3' audit.c(27) : fatal error C1083: Cannot open include file: 'afs/butc.h': No such file or directory NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.EXE' : return code '0x2' To fix this, move 'bubasics' to be made before 'audit' in NTMakefile, so butc.h is available when we build 'audit'. Change-Id: I2053db7cd95353cf6b703b4033239810338890aa Reviewed-on: https://gerrit.openafs.org/13813 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 8bb9ae944ec7e101b6c8133fdb867c847164b5a7 Author: Andrew Deason Date: Wed Aug 21 12:04:45 2019 -0500 afs: Introduce afs_FreeFirstToken Change afs_FreeOneToken to unlink the given token from its container, instead of requiring its caller to do so. Rename the function to afs_FreeFirstToken, to help indicate the change in behavior. Also, while we are changing afs_FreeTokens to accommodate this change, simplify afs_FreeTokens a little, making it resemble afs_DiscardExpiredTokens a bit more. [kaduk@mit.edu: add note about dead store elimination] Change-Id: I0cf9d8b94236c736001a38cccfa7fdfff9f3e609 Reviewed-on: https://gerrit.openafs.org/13807 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 0a39efee224e8d4431ae79281ca353a7ba6fdce4 Author: Andrew Deason Date: Sun Jul 14 17:31:30 2019 -0500 FBSD: Use ucontext for FreeBSD 10+ on amd64 Currently, running any LWP program on recent FreeBSD on amd64 causes (or can cause) a SIGBUS very quickly. This is possibly because our stack management code in LWP only ensures our stacks are 4 or 8-byte aligned in most cases (except DARWIN, which gets 16-byte-aligned stacks), according to the value of STACK_ALIGN. The amd64 ABI mandates that stacks be 16-byte-aligned, and some function calls assume that this is followed, causing a SIGBUS when it is not. FreeBSD on amd64 currently uses process.amd64.s for its savecontext() implementation, which does not do any checking or fixup of the stack alignment. This behavior has been observed on amd64 with FreeBSD 11 specifically, but it probably happens on any FreeBSD release when using clang. FreeBSD switched to clang as the default compiler with FreeBSD 10, so this probably occurs with FreeBSD 10 and newer. We could perhaps try to fix this by changing our stack management code, but we can also avoid most of this nonsense by just using ucontext instead of our custom assembly code. So, do that, by setting USE_UCONTEXT for FreeBSD 10+. Also enable the same 'stackvar'-based workaround in savecontext() as Linux uses, since otherwise 'topstack' appears to always be NULL, and triggers our stack overflow checks. Note that while LWP use is deprecated, as of this commit many small utilities (like 'fs') are still linked to LWP, and so are unusable without a fix like this. Change-Id: Ie8e928bd71e7f6e9c0fb1379259c55527b6ccdf3 Reviewed-on: https://gerrit.openafs.org/13691 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 8f9c92a888df7b2fd61a3e84aaf1d2c96a8b10dd Author: Andrew Deason Date: Sun Jul 28 15:03:43 2019 -0500 FBSD: Set KERNBUILDDIR for --with-bsd-kernel-build Currently, specifying --with-bsd-kernel-build during configure causes us to set BSD_KERNEL_BUILD, which sets KBLD in MakefileProto.FBSD.in, but nothing ever uses KBLD. This means that when we use --with-bsd-kernel-build, we don't actually build against the configuration for that kernel, which can result in a libafs.ko that cannot be loaded or causes other errors. Specifically, if trying to build for a VIMAGE kernel, the kernel complains when trying to load libafs: [...] kernel: link_elf_obj: symbol in_ifaddrhead undefined [...] kernel: linker_load_file: Unsupported file type The FreeBSD module build system looks for KERNBUILDDIR for an alternative build, which it uses to pull in opt_global.h and other required pieces from the build tree. So just specify KERNBUILDDIR if we have one. At the same time, avoid setting our default value for BSD_KERNEL_BUILD for FBSD when the calculated dir doesn't exist. At least for the default GENERIC kernel on FreeBSD 11.2-RELEASE, there may not be a build dir on the running machine, and so setting BSD_KERNEL_BUILD to the calculated value causes the build to fail when it doesn't exist. Change-Id: Ib3079354f9f6dba13970de5308bbcecaf9b35059 Reviewed-on: https://gerrit.openafs.org/13746 Tested-by: BuildBot Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit 1effc3517fdb4b4653d47c59bf67076567209324 Author: Tim Creech Date: Sun Mar 5 18:18:01 2017 -0500 FBSD: Call CURVNET_SET/CURVNET_RESTORE for VIMAGE In commit 9703b023 (FBSD: VIMAGE support), we changed a couple of our variable references to their V_* equivalents, to accommodate kernels with VIMAGE turned on. This allows us to build, but causes us to crash whenever we hit that code when VIMAGE is enabled, because the relevant macros reference 'curvnet', which is NULL outside of networking code. What we're supposed to do is to set 'curvnet' before entering networking code by calling 'CURVNET_SET(xxx)', and reset it afterwards by calling 'CURVNET_RESTORE()'. We must make exactly one _RESTORE call for each _SET, and they are supposed to be run at the same level of scope. So to avoid the crashes, make the relevant CURVNET_* calls whenever we look at networking info. We currently only do this in a few places: - In afs_SetServerPrefs, to try to detect if a given server address is in the same network as one our local interfaces (V_in_ifaddrhead) - In rxi_GetIFInfo, for some MTU-related info (V_ifnet) - In rxi_FindIfnet, for some MTU-related info (ifa_ifwithnet) As for what vnet we actually set 'curvnet' to, we could set it to the vnet of the current thread (TD_TO_VNET(curthread)), or we could set it to the vnet of an associated network object (a socket, an interface, etc). Since all of our network-related code goes through Rx, in this commit we set curvnet to the vnet of the Rx socket (rx_socket->so_vnet). Note that VIMAGE is optional in 11-RELEASE, but is turned on by default in 12.0-RELEASE. For more information, see: https://wiki.freebsd.org/VIMAGE/porting-to-vimage [adeason@dson.org: Reworded commit message; moved some code around.] Change-Id: If631b8942d7ee5cfe38a8f0c32b282d015f0bf35 Reviewed-on: https://gerrit.openafs.org/12580 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 1d2a1002bd1bc8d82c05399c06836ede83f9eeea Author: Andrew Deason Date: Wed Aug 21 11:48:53 2019 -0500 afs: Update style in afs_tokens.c Fix a few style nits and other minor edits in afs_tokens.c. Mark a few functions 'static' that are not referenced outside of that file. Change-Id: Icdae1adb8282f96c7ccc6d4d053216b360adc38e Reviewed-on: https://gerrit.openafs.org/13806 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit c6eb9375ffa081329d69b9a36b40b8edb199990a Author: Andrew Deason Date: Wed Aug 21 12:37:06 2019 -0500 rx: Update style in rx_opaque.c Fix a few style nits in rx_opaque.c Change-Id: Ia03ba3f95911b791c63b3a07f2ab887063da36a7 Reviewed-on: https://gerrit.openafs.org/13805 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 339167ef1fda899655969f4572ff95271dfdb7cf Author: Andrew Deason Date: Wed Jul 10 15:14:28 2019 -0500 Remove dead code There is a perhaps-surprisingly large amount of code disabled behind directives like '#if 0', '#ifdef notdef', and '#ifdef notyet'. At best, this code is clutter, and at worst some of it is confusing/outdated, and/or confusingly nested inside other preprocessor conditionals. Sometimes this disabled code shows up when grepping the tree, and causes a nuisance when refactoring related areas of code. Get rid of all of it. If anyone ever wants this code back, it can always be restored by reverting portions of this commit. Also delete some comments that clearly refer to the disabled code, and in some cases, adjust the adjacent comments to make sense accordingly. This commit doesn't touch any files in src/external/. Change-Id: If260a41257e8d107930bd3c177eddb8ab336f0d1 Reviewed-on: https://gerrit.openafs.org/13683 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 0d6a43e0699fca00bff87c5e16c901e4579d2285 Author: Benjamin Kaduk Date: Sat Apr 12 17:24:04 2014 -0400 Remove a couple more uses of libafsauthent.a Change-Id: Ic49d2f44293c1fbe909b61d7f4c9ac7d5a3636bb Reviewed-on: https://gerrit.openafs.org/11095 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 1b0bb8a7fcbd69d513ed30bb76fd0693d1bd3319 Author: Andrew Deason Date: Thu Jul 18 22:56:48 2019 -0500 LINUX: Make sysctl definitions more concise Our sysctl definitions are quite verbose, and adding new ones involves copying a bunch of lines. Make these a little easier to specify, by defining some new preprocessor macros. Change-Id: I45fc8122b18587f42f52b3d41a1f4c6937ec0f8a Reviewed-on: https://gerrit.openafs.org/13700 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 6e0f1c3b45102e7644d25cf34395ca980414317f Author: Andrew Deason Date: Wed Jul 10 12:42:54 2019 -0500 LINUX: Honor --enable-checking for libafs When we build the kernel module on LINUX, we don't pass in any of our CFLAGS, since the Linux buildsystem itself figures out what flags are needed. However, this means that we don't pass in -Werror when --enable-checking is turned on, so warnings may not cause the build to fail. To fix this, create a new autoconf variable, called CFLAGS_WERROR, that only contains -Werror if --enable-checking is turned on. We then pass that into the Linux module buildsystem, so -Werror is given to the compiler when building our module. Change-Id: I0f1ec8b1a8096d10642c67b86314604c20ea2c60 Reviewed-on: https://gerrit.openafs.org/13682 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 13acb6fbefd6c4f4af951270ca07a1a5541052fa Author: Andrew Deason Date: Sun Jul 21 19:21:44 2019 -0500 afs: Free afs_thiscell during shutdown Currently, afs_thiscell can be allocated (via strdup) during client startup, but is never freed. Free it in shutdown_cell() to avoid leaking the memory. Change-Id: I77954ef35f949c8a638ba15615148ab784f7f48f Reviewed-on: https://gerrit.openafs.org/13714 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 82118acb6ed4f6fb90f3d864f4045d9c6bc2a55c Author: Andrew Deason Date: Sun Jul 21 17:58:48 2019 -0500 afs: Introduce shutdown_dynroot() Add a shutdown sequence for dynroot, which frees the afs_dynrootDir and afs_dynrootMountDir blobs, if they exist. Otherwise, we can leak the memory allocated for those blobs. Change-Id: I80fe41a0fcacbd272677ff778cd4ba51399f32f9 Reviewed-on: https://gerrit.openafs.org/13713 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit ad1fe5e1a825a3b3f88c04fd84613e4105206443 Author: Andrew Deason Date: Sun Jul 14 22:53:39 2019 -0500 FBSD: Remove unnecessary explicit osi_fbsd_alloc AFS_KALLOC is already defined to be osi_fbsd_alloc on FBSD, so this extra #ifdef here is completely unnecessary. Remove it. Do the same for AFS_KFREE/osi_fbsd_free. Change-Id: I3e42ec433a732402cc9de9ba9c035774ec29c2a5 Reviewed-on: https://gerrit.openafs.org/13708 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit d13b647aa392e1d802be1023930a8e1a07fb11ab Author: Andrew Deason Date: Sat Jul 20 23:09:27 2019 -0500 FBSD: Give 0 'rootrefs' to vflush on unmount Currently, in afs_unmount, we give vflush a 'rootrefs' arg of 1, indicating that we hold 1 reference on the root vnode. But ever since commit 6eb1088a (freebsd: properly track vcache references), we drop the ref for the root vnode at the beginning of this function. What happens currently in afs_unmount for a normal successful umount is something like this (at least, on FreeBSD 11.2-RELEASE): - We afs_PutVCache the afs_globalVp vcache, reducing its v_usecount and v_holdcnt to 0, and afs_globalVp is set to NULL. - vflush calls afs_root() to get the root vnode, which sees that afs_globalVp is NULL, and so calls afs_GetVCache for the root fid and returns it (and sets afs_globalVp to that vcache), with a v_usecount of 1. - vflush tries to vgonel() all of our vnodes, which calls our afs_vop_reclaim, which calls afs_FlushVCache(). For the root vnode specifically, vflush() sees that v_usecount is nonzero, and so skips calling vgonel() at first, but later calls vgone() on it specifically because we gave a nonzero 'rootrefs'. The resulting afs_FlushVCache() for the root vnode fails, because the root vnode's v_usecount is still 1. Since a failure from afs_vop_reclaim would cause a panic, we just log a warning and try to continue on anyway. - vflush() calls vrele() on the root vnode, right before returning. All of this allows the unmount to proceed, but this means that most of afs_FlushVCache() doesn't actually run for the root vcache, and it means we always log a warning like this on unmount: afs_vop_reclaim: afs_FlushVCache failed code 16 [...] In addition, this means that setting afs_globalVp at the beginning of afs_unmount() is largely pointless, since it gets set to a vcache again near the beginning of vflush(). To avoid all of this, stop lying to vflush about how many references to the root vnode we hold, and just say that we hold 0 references. Change-Id: Ib434c5fc48e67c3863fcad41279c3d9e0e0b8c2b Reviewed-on: https://gerrit.openafs.org/13709 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit f5acf1b1bfe940faf0a6f4bd11c55d6c90f60242 Author: Tim Creech Date: Sun Mar 5 18:17:23 2017 -0500 FBSD: Handle F_UNLCK in VOP_ADVLOCK When a_fl->type is F_UNLCK, FreeBSD gives our VOP_ADVLOCK an a_op of F_UNLCK, instead of F_SETLK like we expect. This causes afs_lockctl to return EINVAL, since F_UNLCK isn't a normal fcntl lock op, and so userspace requests to unlock fcntl-style locks always fail. This can be seen, for example, when trying to use sqlite3 to access a database that lives in afs. This F_UNLCK behavior in FreeBSD seems a bit peculiar, but has been around effectively forever (since 4.4BSD-Lite). So just work around it. [adeason@dson.org: minor style adjustments and commit message/comment rewording.] Change-Id: I8bfaff9274e40761aa291930430a08b83b524d1b Reviewed-on: https://gerrit.openafs.org/12579 Reviewed-by: Tim Creech Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit ee7019a7630d01f29fecebd89ca69ad8a37e24e2 Author: Andrew Deason Date: Mon Jul 15 16:24:10 2019 -0500 afs: Fix a few ARCH/osi_vcache.c style errors Most of the ARCH/osi_vcache.c implementations were defining functions like: void osi_foo(args) { /* impl */ } But our prevailing style is: void osi_foo(args) { /* impl */ } Fix them to follow our prevailing style, and fix a couple of the more obvious errors with identation and goto label. Change-Id: Ie752ee67aa6acfec3bf9a28d7da41151f95fbbf6 Reviewed-on: https://gerrit.openafs.org/13699 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit cba7c62f56f2a98b843fe6f83e22bc03f832e9aa Author: Andrew Deason Date: Mon Jul 15 17:51:41 2019 -0500 afs: Check for invalid afs_fakestat_enable values The only valid values for afs_fakestat_enable right now are 0, 1, and 2. Check if the given value actually matches one of those, in case we have mismatched libafs/afsd versions, and future code adds new values. Return EINVAL and log a message if we're given an unknown value. Change-Id: I36ad4263e7e3ab311f6edb97a9c48edc035f6753 Reviewed-on: https://gerrit.openafs.org/13698 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit ca472e66fb97572784be429ec264e0e38d1d546b Author: Andrew Deason Date: Tue Aug 14 15:54:29 2018 -0500 LINUX: Turn on AFS_NEW_BKG AFS_NEW_BKG allows libafs to request the afsd background daemon processes to do certain userspace operations. This is currently only used on DARWIN for handling EXDEV file moves, but this framework can be useful on LINUX, as well. So, turn it on for LINUX. This commit does not introduce any new background operations for LINUX to actually use; we're just turning on the new framework. Future commits will introduce new background operations. Change-Id: I5d371f85b87899ce6ab2d5e520954a893679d37e Reviewed-on: https://gerrit.openafs.org/13284 Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit d29ae454adfd135ca434d6d94968b5929efc8e46 Author: Andrew Deason Date: Wed Jul 10 16:24:11 2019 -0500 afs: Remove reference to nonexistent function The real lie here is that TellALittleWhiteLie exists in afs_vcache.c. That has never been true, ever since OpenAFS 1.0. Change-Id: I5ba121db5b4f0bbe7a37054a3d2d8c46f6c49c0a Reviewed-on: https://gerrit.openafs.org/13697 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 3b0a9ff6af68c88d656aefe2242f12a7a9e04969 Author: Andrew Deason Date: Wed Jul 10 12:42:44 2019 -0500 afs: Remove useless afs_GetVCache arguments The 'avc' argument in afs_GetVCache has never been used, all the way back to OpenAFS 1.0. The 'cached' argument was set correctly, but none of its callers ever looked at the result of 'cached'. Remove these useless arguments. afs_LookupVCache and afs_GetRootVCache also had the same 'cached' argument, which was also never used by callers. Remove it for those, as well. Change-Id: I3536259f26536acc02fbb058787f417bf0f50b9a Reviewed-on: https://gerrit.openafs.org/13681 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2b7af1243f46496c0b5973b3fa2a6396243f7613 Author: Cheyenne Wills Date: Fri Aug 9 14:25:03 2019 -0600 LINUX 5.3.0: Use send_sig instead of force_sig Linux 5.3.0 commit 3cf5d076fb4d48979f382bc9452765bf8b79e740 "signal Remove task parameter from force_sig" (part of siginfo-linus branch) changes the parameters for the Linux kernel function force_sig. See LKML thread starting at https://lkml.org/lkml/2019/5/22/1351 According to the LKML discussion and the above commit message force_sig is only safe to deliver a synchronous signal to the current task. To send a signal to another task, we're supposed to use send_sig instead, which has been available since at least linux 2.6.12-rc12. Currently, rx_knet calls force_sig to kill the rxk_ListenerTask. With the Linux 5.3.0 kernel, this module fails to compile due to the above noted changes. Replace the force_sig call with send_sig. In order to use send_sig, the rxk_listener thread must allow SIGKILL and during shutdown (umount) SIGKILL must be unblocked for the rxk_listener thread. Note that SIGKILL is initially blocked on rxk_listener and is only unblocked when shutting down the thread. Having the signal blocked is sufficient to prevent unwanted signals from reaching the rxk_listener thread during normal operation. Change-Id: I0c31d66f4ecd887ff9253ba506565592010e8bcb Reviewed-on: https://gerrit.openafs.org/13753 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 02d82275c17284d04629282aa374bb39f511c989 Author: Cheyenne Wills Date: Thu Aug 8 16:53:13 2019 -0600 LINUX 5.3.0: Check for 'recurse' arg in keyring_search Linux 5.3.0 commit dcf49dbc8077e278ddd1bc7298abc781496e8a08 "keys: Add a 'recurse' flag for keyring searches" adds a new parameter to Linux kernel keyring_search function. Update the call to keyring_search to include the recurse parameter if available. Setting the parameter to true (1) maintains the current search behavior. Change-Id: I54b7ed686bf1fb4c42789e5d251ae76789e9fc88 Reviewed-on: https://gerrit.openafs.org/13752 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason commit e3dbd8a5886734f6390126e155cc259b0de5af51 Author: Cheyenne Wills Date: Thu Aug 8 12:07:51 2019 -0600 rxkad: ticket5.c fix typo in #if statement commit 98ca332c4a5ac9e5687fb4fe21b350134bc74d1b (rxkad: v5der.c format truncation warnings) contains a typo in the test for clang (_clang instead of __clang__) Correct the typo in the #if statement to test for __clang__ Change-Id: I0dbe603072740fcf2fb2cb2cea464a48009fee74 Reviewed-on: https://gerrit.openafs.org/13754 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit cc7f942a81a3bbdc8154f511d054a2a018b39ce5 Author: Andrew Deason Date: Wed Jul 10 23:40:55 2019 -0500 LINUX: Disable kernel fortuna large frame errors The rand-fortuna.c we get from Heimdal's hcrypto currently sometimes causes a warning on LINUX when building in the kernel, because fortuna_reseed() has a (potentially) large stack size: .../src/libafs/MODLOAD-.../rand-fortuna-kernel.c:549:1: error: the frame size of 1032 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] Currently this does not cause the build to fail, even with --enable-checking, since -Werror is not given in the CFLAGS when building our kernel module. But if -Werror is passed in CFLAGS (in a future commit), this would cause the build to fail. Since this is an external source file, we cannot change it directly. At least for now, just prevent this warning from breaking the build by passing -Wno-error=frame-larger-than= into the CFLAGS for that file. Change-Id: Ieefdf2dbc318fdcd559435e5f329eef5cf9bb9ba Reviewed-on: https://gerrit.openafs.org/13684 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit bf24b301a10dcb5710a98e58252213bd72c6f352 Author: Cheyenne Wills Date: Fri Aug 2 10:31:13 2019 -0600 restorevol: replace snprintf with asprintf GCC is generating format-truncations warnings. With newer levels of gcc (e.g. gcc8) and --checking-enabled these warnings result in errors and failed builds. In addition clang8 static analysis tools are reporting memory leaks. Replace snprintf with asprintf and eliminate some of the large work buffers that are being placed on the stack. In order to correct some of the format-truncation errors the size of the buffers grew significantly (e.g. gcc is reporting the need to resize some of the buffers from 256 bytes to 4K in order to eliminate the warnings). Ensure allocated work buffers are freed before function return. Obtained a clean build with gcc9/clang8 with --enable-checking and a clean scan-build report with clang8. Change-Id: Ie8e22fdff2e0ba6494b1b449f413ecbe38f367bd Reviewed-on: https://gerrit.openafs.org/13494 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit e6b97b337bc97fdb1c8e4f1a0572c62dfc82d979 Author: Andrew Deason Date: Mon Jul 29 18:17:21 2019 -0500 afs: Skip IsDCacheSizeOK for CDirty/VDIR IsDCacheSizeOK currently can incorrectly flag a dcache as corrupted, since the size of a dcache may not match the size of the underlying file in a couple of RW conditions: - If someone is writing to a file beyond EOF, the intermediate 'sparse' area may be populated by 0-length dcaches until the data is written to the fileserver. - Directories may be modified locally instead of being fetched from the fileserver, which can sometimes result in a directory blob of differing sizes. To avoid false positives detecting dcache corruption, just skip the IsDCacheSizeOK check for directories, and any file with pending writes (CDirty). Also add some extra information to the logging messages when this "corruption" is detected, so false positives may be more easily detected in the future. Change-Id: I5130287d0de791cffea85aaec5a0899d5c8d092e Reviewed-on: https://gerrit.openafs.org/13747 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d6262c3f391e4176bec207fd0e8d4d6091a7f4e2 Author: Cheyenne Wills Date: Fri Jul 26 14:57:02 2019 -0600 gtx: Avoid incomplete function type in casts clang complains that these casts contain an incomplete function type (since the function argument is omitted rather than declared to be void). Since we just need the cast to pointer type, let the compiler do it implicitly and pass stock NULL, rather than trying to force a cast to function-pointer type. Change-Id: Ia2a4cf61d51faef3b4cd469133d9143ca5f57185 Reviewed-on: https://gerrit.openafs.org/13726 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5792e0211be275cf79d10e8c5f6ab2a14493e07a Author: Yadavendra Yadav Date: Fri Jul 26 19:59:25 2019 +0530 LINUX: Avoid re-taking global lock in afs_dentry_iput “dput” function internally can call dentry_iput which results in calling afs_dentry_iput. So in case before calling “dput” if global lock was held then when afs_dentry_iput is called it will again try to lock global lock and will result in deadlock scenario. So to avoid this deadlock make sure if global lock is already taken before calling afs_dentry_iput, don’t try to lock it again. This issue was partially fixed in commit 0dac4de8 (Linux: drop GLOCK before calling dput) Change-Id: I71f18c58d5254f0cf0c68ef04c22268ed70dd50f Reviewed-on: https://gerrit.openafs.org/13725 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 104a9d357da9452305694e97752fe6313fcd22c0 Author: Michael Meffie Date: Wed Jul 24 11:39:43 2019 -0400 build: fix --enable-rxgk help format Move the dnl macros out of the AC_ARG_ENABLE to fix the formatting of the --enable-rxgk help string. Before this commit: $ ./configure --help | grep -C2 rxgk --enable-kauth install the deprecated kauth server, pam modules, and utilities (defaults to disabled) --enable-rxgk Include experimental support for the RXGK security class (defaults to disabled) --disable-strip-binaries After this commit: $ ./configure --help | grep -C2 rxgk --enable-kauth install the deprecated kauth server, pam modules, and utilities (defaults to disabled) --enable-rxgk Include experimental support for the RXGK security class (defaults to disabled) --disable-strip-binaries Change-Id: Iaf6695643f11c7b636e3fba33ee7161e21df23a6 Reviewed-on: https://gerrit.openafs.org/13722 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4a57cc54dfb6789a86ee735360ee44209c1a901a Author: Cheyenne Wills Date: Tue Jul 2 16:58:28 2019 -0600 ptserver: testpt.c format-overflow warning GCC 9 introduced new warnings/errors and is flagging a sprintf with a format-overflow warning. With --checking-enabled, this error is causing testpt.c to fail during compile. Change the buffer size from 16 bytes to PR_MAXNAMELEN+1 and use snprintf instead of sprintf. Generate an error message and exit if snprintf truncates the string. Change-Id: I30fbe0971ba3e05dc6ac61e7b2ded2fd1777374d Reviewed-on: https://gerrit.openafs.org/13663 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 41ee558329560bce037ad2860282d8b49aa11b2d Author: Cheyenne Wills Date: Fri Jul 26 07:59:33 2019 -0600 uss: uss_procs.c format-overflow warning GCC 9 introduced new warnings/errors and is flagging a sprintf with a format-overflow warning. With --checking-enabled, this error is causing uss_procs.c to fail during compile. A file name with the full path is being composed and the size of the buffer was triggering a possible format-overflow warning/error. Use asprintf to allocate the buffer dynamically instead of using a buffer sitting on the stack (reducing the stack requirements by 2K). Produces new error message if asprintf returns an error. Change-Id: Ib233052aab9c3bc1ec24dac7e70f97933b478d3e Reviewed-on: https://gerrit.openafs.org/13664 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit f938f5f248a3cb3f7ac871f5ef45a0e2d043706b Author: Cheyenne Wills Date: Tue Jun 25 15:39:40 2019 -0600 ptserver: Incorrect variable used to print error msg In testpt.c the variable cdir is used to print the name of the temporary dir. However at this point in the code cdir is NULL and the variable tmp_conf_dir contains the actual name that should be used in the error message. Flagged as an error when --enable-checking is on and using GCC 9. Change-Id: I0c854fd89c0bae1c313ae1f382e58fd410b719e6 Reviewed-on: https://gerrit.openafs.org/13662 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 98ca332c4a5ac9e5687fb4fe21b350134bc74d1b Author: Cheyenne Wills Date: Mon Jul 15 08:38:24 2019 -0600 rxkad: v5der.c format truncation warnings GCC 7 is producing new warnings due to better compile time analysis. With --enable-checking v5der.c is failing with 2 errors due to possible format-truncation in some snprintf calls. The format strings are being used to format a date and time values from a tm structure. The actual warnings/errors are being triggered from arithmetic being performed on the year and month members of the structure. The resulting values should not exceed the format lengths, but the compilers are still flagging the statements. v5der.c is part of the heimdal package that is pulled into the openafs source tree. v5der.c is not compiled directly but is #included in ticket5.c Update ticket5.c to change the severity of the format-truncation diagnostic to a warning if using GCC 7 (or higher). Note: since v5der.c is pulled from an external source (heimdal), any changes to update v5der.c directly would need to be performed upstream. Change-Id: Icda0d86444f505604abe9fa1cc2450d7538be7ef Reviewed-on: https://gerrit.openafs.org/13661 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit eaae6eba8ca10ba7a5a20ee0d1b5f91bc2bac6c6 Author: Benjamin Kaduk Date: Thu Jul 11 21:07:35 2019 -0700 aklog: require opt-in to enable single-DES in libkrb5 Since the introduction of rxkad-k5 in response to OPENAFS-SA-2013-003, it is not strictly necessary to configure libkrb5 to allow weak crypto in order to obtain an AFS token. A sufficient amount of time has passed since then that it is safe to assume that the default behavior is the more-secure one, and require opt-in for the insecure behavior. To indicate that the use of single-DES is quite risky, add the "-insecure_des" argument to both klog and aklog, to gate the preexisting calls that enable weak crypto/single-DES. These calls, and the -insecure_des option, may be removed entirely in a future commit. Change-Id: If175d0f95f0ede0f252844086a2a023da5580732 Reviewed-on: https://gerrit.openafs.org/13689 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 5f48367f2bd5bf1c0e689c79508177b649b9113b Author: Andrew Deason Date: Mon Mar 25 16:33:39 2019 -0500 afs: Avoid non-dir ENOENT errors in afs_lookup Historically, there have been many subsystems in libafs that can generate ENOENT errors for a variety of reasons. In addition to the expected case where we lookup a name that doesn't exist, other scenarios have caused ENOENT error codes to be generated, such as: internal inconsistencies, I/O errors, or even abort codes from the network. When one of these scenarios cause an ENOENT error code in one of those situations during afs_lookup() when the target name does actually exist, it can be confusing to a user, or even result in incorrect application behavior. On Linux in particular, ENOENT results from a lookup are cached in negative dcache entries, and so can cause future lookups for the same name to yield ENOENT errors. Various commits have tried to avoid this abuse of the ENOENT error code, such as 2aa4cb04 (afs: Stop abusing ENOENT). But we cannot prevent receiving ENOENT abort codes from the network, and mistakes in the future may cause more scenarios incorrectly yielding ENOENTs. However, in afs_lookup, we do know that legitimate ENOENT errors can only occur in one situation: when we have a valid directory blob, and the afs_dir_Lookup() operation itself returns an ENOENT error for the target name. For all other areas of afs_lookup(), we know that an ENOENT error is not legitimate, since we may not be sure if the target name exists or not. So to proactively avoid incorrect ENOENT results, prevent afs_lookup from returning ENOENT, except in the specific code path where afs_dir_Lookup is called. Change-Id: I1c91600fd38b1179f02fa6eadea631b6eb8edb6d Reviewed-on: https://gerrit.openafs.org/13537 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit fa15fbda0aa0c3810695d9b867d3258b60e76b7c Author: Andrew Deason Date: Tue Jul 24 23:22:01 2018 -0500 LINUX: Minor osi_vfsop.c cleanup - Fix the formatting on afs_mount/afs_get_sb definitions - Declare a couple of functions static that are not referenced outside of this file Change-Id: I4880c27dbe2acd296262d29f91736d0028a029c0 Reviewed-on: https://gerrit.openafs.org/13282 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 397199a1992d74d8b7e693a2d76df836f7a70080 Author: Andrew Deason Date: Tue Aug 14 15:53:20 2018 -0500 afs: Add AFS_USPC_SHUTDOWN bkg request When AFS_NEW_BKG was added, the kernel module indicated to the relevant afsd process that it's time to shutdown by returning -2. This works on DARWIN, but it's difficult to make this work on all platforms, because of the different way that platforms handle error codes from our pioctls and other AFS syscalls. Specifically, on LINUX, negative error codes are assumed to be negative errno codes, and so returning -2 from the syscall handler means we return -1 to userspace, with errno set to 2 (ENOENT). Getting this to work consistently across platforms is probably more trouble than its worth, so instead of relying on specific return codes from the syscall, just add a new background daemon operation called AFS_USPC_SHUTDOWN, which just tells the background daemon to exit. Change-Id: I00b245c8f734dc9e49d6b4268cd0f6a4f1896894 Reviewed-on: https://gerrit.openafs.org/13281 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 79dffe29c8a0ec55c4231a18077efdfa7c1edf53 Author: Cheyenne Wills Date: Fri Jul 5 08:23:10 2019 -0600 libadmin: overlap warning in strcpy with gcc9 GCC 9 with --enable-checking produces a new warning/error in afs_utilAdmin.c associated with a strcpy with the potential of an overlap. The index used is signed which triggers the new warning. The source and target of the strcpy are contained within the same higher level structure. Change the variable 'index' from signed to unsigned to resolve the warning/error. Change the variable 'total' in the same structure to unsigned to be consistent with it's usage with 'index'. Change-Id: Icaa99e278a5d8262caeaec0b2723e826a57554aa Reviewed-on: https://gerrit.openafs.org/13660 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7c60a0fba11dd24494a5f383df8bea5fdbabbdd7 Author: Andrew Deason Date: Thu Jan 17 16:21:25 2019 -0600 afs: Check dcache size when checking DVs Currently, if the dcache for a file has nonsensical length (due to cache corruption or other bugs), we never notice, and we serve obviously bad data to applications. For example, the vcache metadata for a file may say the file is 2k bytes long, but the dcache for that file only has 1k bytes in it (or more commonly, 0 bytes). This situation is easily detectable, since the dcache and vcache refer to the same version of the same file (when the DVs match), and so we can check if the two lengths make sense together. So to avoid giving bad data to userspace applications, perform a sanity check on the lengths at the same time we check for DV matches (to see if the dcache looks "fresh" and not stale). If the lengths do not make sense together, we just pretend that the dcache is old, and so we'll ignore it and fetch a new copy from the fileserver. Also check the size of the data fetched from the fileserver for a newly-fetched dcache in afs_GetDCache, to avoid returning a bad dcache if the dcache isn't already present in the cache. Change-Id: I338a4962322d8c0d06d1ea25fd7d252b5f83dc9f Reviewed-on: https://gerrit.openafs.org/13436 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit eed79e2d28dcab889d01869e57dec14fd30d421c Author: Andrew Deason Date: Wed Jul 3 12:55:53 2019 -0500 LINUX: Unlock page on afs_linux_read_cache errors When afs_linux_read_cache is called with a non-NULL task, it is responsible for unlocking 'page' (unless it's unlocked in a background task), even if we encounter an error. Currently we almost always do unlock the given page for a non-NULL task, but if we manage to hit one of the codepaths that 'goto out', we skip over the unlock_page() call near the end of the function, and the page never gets unlocked. As a result, the page stays locked forever. That generally means any future access to the same file will block forever, and when we try to flush the relevant vcache, we will block waiting for the page lock while holding GLOCK. (This can happen via the background daemon via e.g. afs_ShakeLooseVCaches -> osi_TryEvictVCache -> afs_FlushVCache -> osi_VM_FlushVCache -> vmtruncate -> ... -> truncate_inode_pages_range -> __lock_page on Linux 2.6.32-754.2.1.el6.) This quickly brings the whole client to a halt until the machine can be forcibly rebooted. To solve this, just move the 'out:' label to before the page unlock. Add a few locking-related comments around the relevant code to help explain some relevant details. The relevant code has changed and been refactored over the years, but this problem has probably existed ever since this code was originally converted to using the readpage() of the underlying cache fs, in commit 88a03758 (Use readpage, not read for fastpath access). Change-Id: If7e882ed54ca93ad6b9fdda938c606b241236241 Reviewed-on: https://gerrit.openafs.org/13672 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0d8ce846ab2e6c45166a61f04eb3af271cbd27db Author: Andrew Deason Date: Thu Jan 17 15:45:36 2019 -0600 afs: Introduce afs_IsDCacheFresh Numerous places in libafs check the DV of a dcache against the DV of the vcache for the same file, in order to check if the dcache is up to date and can be used. Consolidate all of these checks into a new function, afs_IsDCacheFresh, to make it easier for future commits to alter this logic. This commit should have no visible impact; it is just code reorganization. Change-Id: Iedc02b0f5d7d0542ab00ff1effdde03c2a851df4 Reviewed-on: https://gerrit.openafs.org/13435 Reviewed-by: Benjamin Kaduk Tested-by: Andrew Deason commit fb9de9e5fd4822df043a0d46e6a1101df2e08b85 Author: Andrew Deason Date: Thu Nov 15 12:37:16 2018 -0600 afscp: Add -l option Add the -l option to afscp, to "loop" the given FetchData/StoreData request over and over. When using this mode, we alternate between using a couple of rx calls, to avoid getting slowed down by rx BUSY packets when we start a new call on the same channel too quickly. Change-Id: I90ee8e9804a0bf59ff654398b1fe6e46a99a3062 Reviewed-on: https://gerrit.openafs.org/13657 Reviewed-by: Benjamin Kaduk Tested-by: Andrew Deason commit b0278994826f6bd1dfebc39f26282b8fbdadf1a0 Author: Mark Vitale Date: Wed May 22 22:50:00 2019 -0400 auth: make PGetTokens2 work with 3-char cellnames PGetTokens2 accepts two different types of input: - an integer 'iterator' to request the nth token set for a user - a string cellname to request the user's token set for that cell Unfortunately, it distinguishes between these by assuming if the input length is sizeof(afs_int32) (4 bytes), it must be an integer. This assumption is incorrect if the cellname is three (3) characters long plus a nul terminator. The result is that the cellname string is interpreted as a very large "n"; the subsequent search for the user's "very-large-nth-token" fails, making it appear that the user has no valid token for this cell. Improve on this heuristic by double-checking any putative integer input. If it is actually a 3-character string, then process the input as a cellname instead. Introduced by commit 5ec5ad5dcca84e99e5f55987cc4f787cd482fdde 'New GetToken pioctl'. While here, add doxygen comments. Change-Id: Ifa226fa1c35b95bc32642870f73359f97a9f1d61 Reviewed-on: https://gerrit.openafs.org/13599 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason commit 95ae30c30d98a3219fd021e0ed83200c1b6c266f Author: Mark Vitale Date: Wed May 22 23:03:11 2019 -0400 auth: eliminate pointless retries in ktc_ListTokensEx ktc_ListTokensEx is an iterator to provide the names of each cell for which a user has a token set. It does this by looking for the 1 through nth token set for a given user. However, as currently implemented, it always continues searching up to the 100x safety limit even when there are no more token sets for the user. Instead, return immediately when VIOC_GETTOK2 returns EDOM (no more tokens for this user). Introduced by commit a86ad262d2a8be36f43ab0885a84dde37ddfc464 'auth: Add the ktc_ListTokensEx function'. Change-Id: I880edc80fc6c5580e5919b74b0b561317a1455f0 Reviewed-on: https://gerrit.openafs.org/13598 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4eeed830fa31b7b8b5487ba619acbc8d30642aaa Author: Andrew Deason Date: Wed Jun 26 17:03:03 2019 -0500 afscp: Link against opr/roken/hcrypto Link afscp against libopr, libroken, and libafshcrypto, so afscp can be built again. Change-Id: I43ac3a8e7ed1ff012f4ae48ed6b81f5d0cd1d590 Reviewed-on: https://gerrit.openafs.org/13656 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f5f59cd8d336b153e2b762bb7afd16e6ab1b1ee2 Author: Cheyenne Wills Date: Tue Jun 25 10:40:53 2019 -0600 util: serverLog using memory after free clang's scan-build detected a "use of memory after it is freed" condition. The function OpenLogFile frees the variable ourName before creating a duplicate of the name passed to it. However there is a call that uses ourName as the parameter: OpenLogFile(ourName). This results in freeing ourName then doing a strdup of the same memory location. Test the passed parameter and if it's the same as ourName already skip the free and strdup. This bug was introduced in commit 340ec2f79208ee21c3130c4b1c13995947ce426c "util: allocate log filename buffers" Change-Id: I770008b074e0003c7c1532128f8322da811d6fcc Reviewed-on: https://gerrit.openafs.org/13659 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1210a8d6d96db2d84595d35ef81ec5d176de05e8 Author: Andrew Deason Date: Fri Jun 28 14:14:48 2019 -0500 LINUX: Run the 'sparse' checker if available The Linux kernel module buildsystem supports running an external tool (by default, the 'sparse' tool) during the build to run additional static checks on the source code to flag various warnings. Tell the kernel build to run such a tool, if 'sparse' is installed. This causes various new warnings in the build, such as: CHECK /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c:73:1: warning: symbol 'afs_FreeOneToken' was not declared. Should it be static? /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c:160:1: warning: symbol 'afs_IsTokenExpired' was not declared. Should it be static? /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c:187:1: warning: symbol 'afs_IsTokenUsable' was not declared. Should it be static? None cause the build to fail currently, but are just printed for potential further investigation. To control detecting 'sparse', add the --with-sparse configure option and SPARSE configure variable. Default to checking if sparse is available, and enabling it if so. Further information on using sparse in the Linux kernel is available in Documentation/sparse.txt in the Linux tree. Using 'sparse' during the build was suggested by yadayada@in.ibm.com. Change-Id: I57944d792ba1c8093196a8b335a12dfa741b119b Reviewed-on: https://gerrit.openafs.org/13665 Reviewed-by: Cheyenne Wills Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3f0b9907d12c00725548dbaf84fee3e033cb974c Author: Pat Riehecky Date: Tue Jun 12 13:55:56 2018 -0500 afs: test condition mismatch resolved While it is unexpected, it is possible for the two disconnected flags to get out of sync resulting in a path to an undefined varible in use. (via cppcheck) Change-Id: I995b402e73c2c330485050dd2594a62fe67d1bca Reviewed-on: https://gerrit.openafs.org/13207 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit fbe2a03aa69bc19768302685d902a25e4d6e157a Author: khm Date: Tue Jun 25 12:51:21 2019 -0700 add dkms dependency in Red Hat unit file Currently, there is no explicit relationship between OpenAFS and dkms. If dkms needs to rebuild the kernel module, OpenAFS will fail to mount because modprobe will not load the module. This change specifies that OpenAFS should run after dkms if dkms is present. Change-Id: I104cb3780bbc1196cf36852f094ca07c80279d01 Reviewed-on: https://gerrit.openafs.org/13654 Tested-by: BuildBot Reviewed-by: Michael Laß Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 877d9d79a32b9e81911cb567f844b11c693229f0 Author: Andrew Deason Date: Tue Oct 30 15:41:22 2018 -0500 aklog: Avoid misleading AFSCELL message Currently, if the AFSCELL environment variable is set, aklog (and other libauth-using utilities) print out a message when afsconf_GetLocalCell is called: Note: Operation is performed on cell env.example.com However, this message is also printed (with the AFSCELL cell) when aklog is given the -cell command-line argument, even though aklog actually uses the cell given on the command line. For example: $ AFSCELL=env.example.com aklog -cell cli.example.com -d Note: Operation is performed on cell env.example.com Authenticating to cell cli.example.com (server srv1.example.com). [...] libauth will normally not print the "Operation" message if we're not using the default cell, but it determines this by checking if someone called afsconf_GetCellInfo before calling afsconf_GetLocalCell. And currently, aklog calls afsconf_GetLocalCell before afsconf_GetCellInfo, so the message gets printed because libauth has no way of knowing that we're actually using a different cell. klog gets around this by making an additional ignored call to afsconf_GetCellInfo before afsconf_GetLocalCell, but we can fix this in aklog by just changing the order of the calls. So, just call afsconf_GetCellInfo first; if we're using the local cell, we can just give a NULL cell parameter, instead of looking up the local cellname first. Change-Id: I53469ee93d6e88632a944a87a031e0ffa4ede584 Reviewed-on: https://gerrit.openafs.org/13371 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit e14a69cf925172d699c2ff31078f8a634a90747f Author: Andrew Deason Date: Sat Dec 8 15:08:26 2018 -0600 rx: Set listener pthread name When running under pthreads, set the name of the rx listener thread to "rx_Listener". This can be handy when investigating rx performance issues, since it makes it easier to identify which thread in the rx listener. Don't do this for "hot threads", since in that case we could return and stop being a listener thread. We could restore the original thread name, but doing so could have an impact on performance and "hot threads" should always be disabled these days, so don't bother. Change-Id: I24aebd4d7e4266cd06bb1a4314949d85835dfbaa Reviewed-on: https://gerrit.openafs.org/13600 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 9d28f7390332c92b3d9e863c6fe70c26db28b5ad Author: Andrew Deason Date: Wed Jun 26 11:47:21 2019 -0500 Move afs_pthread_setname_self to opr Move the functionality in afs_pthread_setname_self from libutil to opr, in a new function opr_threadname_set. This allows us to more easily use the routine in more subsystems, since most code already uses opr. Change-Id: I79d49617a19cd292a3b09ccfd9c9f319355a184e Reviewed-on: https://gerrit.openafs.org/13655 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 99418024276c94da5982d7dad6126a8d53924d7e Author: Andrew Deason Date: Sun Jun 23 17:48:53 2019 -0500 libafs: Create $(DESTDIR)$(KMODDIR) on FBSD inst We rely on bsd.kmod.mk for our actual rules during 'make install', but that tries to install our kernel module into $(DESTDIR)$(KMODDIR), without creating it first. If the user tries to 'make install DESTDIR=/some/path' and that path doesn't exist, we will fail with something like: make DESTDIR=/home/adeason/git/destdir single_instdir_libafs /usr/bin/install -c -T release -o root -g wheel -m 555 libafs.ko /home/adeason/git/destdir/boot/modules/ install: /home/adeason/git/destdir/boot/modules/: No such file or directory *** Error code 71 To avoid this, add a dependency on the 'install' target which causes our target dir to be created. Change-Id: Icacc507867420265383e411572006df47ef22815 Reviewed-on: https://gerrit.openafs.org/13653 Tested-by: BuildBot Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit 85d70ea953c6fb44f200ed4be13cded7413559b8 Author: Andrew Deason Date: Sun Jun 23 16:25:27 2019 -0500 asetkey: Fix random_key for Heimdal Go through our deref_key_length/deref_key_contents abstractions, so we can compile with Heimdal krb5. Also fix these macros to properly separate the 'key' macro argument, so we can use the macros in these new places. Change-Id: I3ee53bc70494a67ac5463819dc575c8ee37647c9 Reviewed-on: https://gerrit.openafs.org/13652 Tested-by: BuildBot Reviewed-by: Tim Creech Reviewed-by: Benjamin Kaduk commit 34fd532e35b6f373304effaa16c9c65062b12cd9 Author: Andrew Deason Date: Wed Aug 1 18:38:51 2018 -0500 DARWIN: Use tb->code_raw for BOP_MOVE Currently, BOP_MOVE communicates its error code to the requestor via the 'retval' field in struct afs_uspc_param, and we assume ptr_parm[0] of the given brequest is for a struct afs_uspc_param. But this is unnecessary, since struct brequest already has fields for error codes; namely, code_raw and code_checkcode. To avoid afs_BackgroundDaemon needing to interpret ptr_parm[0] in this way (and assuming the type of the pointer's target), change BOP_MOVE to just use the code_raw field for error codes, instead of interpreting ptr_parm[0]. This makes it easier to add more AFS_NEW_BKG background operations that do not pass a struct afs_uspc_param in the brequest parameters. Change-Id: I90a564468862142777159fbb78234744840b59fb Reviewed-on: https://gerrit.openafs.org/13280 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0c1d124b0b6ea3117885d2bca163170515cb8713 Author: Andrew Deason Date: Mon Aug 20 15:47:13 2018 -0500 rxkad: Update ticket5 from heimdal This updates the rxkad code that we pull from heimdal to heimdal 7.7.0 (heimdal.git commit e1959605bd). This also updates the instructions in README.v5 to accommodate changes in the heimdal tree, and converts ticket5.c to use KRB5_ENCTYPE_* constants instead of ETYPE_* constants (since heimdal has also similarly converted in krb5_asn1.h). This removes a few -Werror=format-truncation warnings that were present in the heimdal code before this commit. README.v5 tweaked in collaboration with kaduk@mit.edu. Change-Id: I5fdaab600b4a1b42658a60259fde3fc9f7dced04 Reviewed-on: https://gerrit.openafs.org/13287 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 54c34d32e884a5bfb2352e7c8767d743ef3e4647 Author: Mark Vitale Date: Wed Jun 12 23:44:32 2019 -0400 afs: remove bogus comment from afs_IsTokenExpired Remove an incorrect comment, introduced with commit adf2e6e827c6caf55247c5e63b88775393156ae5 'Unix CM: Generalise token storage'. No functional change is incurred by this commit. Change-Id: Ie56c4f22a06321c56f62fce9704419ce3c4e7bf2 Reviewed-on: https://gerrit.openafs.org/13640 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 3a5ab19fe04058e002bfea90f8b64fab4676de67 Author: Benjamin Kaduk Date: Fri Apr 19 10:38:24 2019 -0500 afs: add a file-level comment to afs_osidnlc.c This file doesn't currently do a great job of telling the reader what it's used for. Let's give them a hint, especially for the expansion of "DNLC". Change-Id: Ie5d1f1162a4b59c479bc2961b33cd696e83bdc3a Reviewed-on: https://gerrit.openafs.org/13557 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 30a6ab30f2451b9788328336dd937a4263f5f5c7 Author: Andrew Deason Date: Tue Feb 26 20:47:00 2019 -0600 ptserver: Check for superuser in WhoIsThisWithName In WhoIsThisWithName, if we don't understand the rx security class being used (such as rxgk), we'll set the calling id to the anonymous user and return an error. But for SYSADMINID specifically, we don't really need to know any security-class-specific details; we just need to know that the caller is the superuser. So add a fallback case to check for that; if we don't understand the calling rx security class, just check if the calling user is RX_ID_SUPERUSER, and use SYSADMINID if so. This allows the ptserver to handle rxgk localauth requests (and theoretically, localauth requests for any future security classes), and theoretically any localauth requests for future security classes. Based on a commit from mvitale@sinenomine.net. Change-Id: Ia9bc91fb5a0d9ebf16b32659c9068aa5a9da8401 Reviewed-on: https://gerrit.openafs.org/13508 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 316b862af6b6731f57a21f81b0948f3718b4c9f3 Author: Mark Vitale Date: Mon Feb 11 01:21:08 2019 -0500 ptclient: rxgk support Allow ptclient to use rxgk, with the new -rxgk option. While we're here, also allow the user to specify a security level of 3, to turn on rxkad encryption for non-localauth conns. Change-Id: I201154c1b5298f31912d8841f8310363e13afa08 Reviewed-on: https://gerrit.openafs.org/13501 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit e5b1e6f1adbe10e366bb4d9c745e90193badc1fb Author: Benjamin Kaduk Date: Sun Apr 13 22:01:59 2014 -0400 Add rxgk client options to vl and pt utilities Add options to use rxgk for outgoing connections to vlserver, vos, ptserver, and pts. For vlserver and ptserver, name the new option -s2scrypt, similar to the existing volserver option -s2scrypt. For vlserver and ptserver, specify 'rxgk-crypt' to turn on rxgk crypt connections for our server-to-server ubik communication. For vos and pts, just name the new option '-rxgk', and allow the user to specify the rxgk level to use ('clear', 'auth', or 'crypt'). The pts code is currently somewhat ill-suited to changing what rx security class and security level we use, but do the best we can without refactoring the whole thing. Change-Id: Iefae46291330d2b5e05b2a2bbaec1b9150b3c892 Reviewed-on: https://gerrit.openafs.org/11105 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit fc7e1700fe84f623fb9163466d24226df00b1a2c Author: Mark Vitale Date: Wed May 22 22:52:10 2019 -0400 pioctl: limit fruitless token searches getNthCell searches the afs_users table for the nth token set belonging to a given user. However, it is impossible for a user to have more than one token set per cell. If the caller specifies a number greater than the total number of cells this cache manager knows about, we know the search will be fruitless. Instead, return early in this case, avoiding both the lock and the search. Change-Id: I509408d9aaa8f511813c4d82c121e199121bb8f3 Reviewed-on: https://gerrit.openafs.org/13597 Tested-by: BuildBot Tested-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 8d2306e1dae84af9ccbadd2518beaf8543d4413b Author: Andrew Deason Date: Wed May 15 14:35:41 2019 -0500 Add --quiet option to lwptool Add an option to lwptool, called --quiet, to suppress printing the literal commands run. On error, we still print the exact failed command to stderr. For "pretty" V=0 builds, use this new option, to make our lwptool-using compile rules look more like our other compile rules. Change-Id: I3fed6db3205f8de5e275e9b70aba9e1995afd02f Reviewed-on: https://gerrit.openafs.org/13594 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4b6a4ff31a4197504bbcf2d4c14c24dee672d40e Author: Andrew Deason Date: Thu May 16 20:01:17 2019 -0500 Use the ppc64le_linuxXX sysname for ppc64le builds Commit 191e18eb (Open ppc64le_linux sysname space) added the ppc64le_linux26 sysname, but it still must be manually specified when running on ppc64le. Use the ppc64le_linux26 by default on ppc64le, so we can compile without needing to specify an explicit sysname. Change-Id: I5abbdde06622d5f2b067bfd003f9d4cd51c56f1a Reviewed-on: https://gerrit.openafs.org/13593 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 46563f929a851032d785634763963808d6e2bfeb Author: Andrew Deason Date: Thu May 16 16:12:47 2019 -0500 Do not define AFS_SYSCALL for ppc64le_linux26 AFS_SYSCALL is defined to the syscall number we can use for a certain platform (for pioctls and other AFS-specific kernel calls). On many modern platforms, such as Linux, we don't use direct syscalls anymore, instead routing our AFS-specific syscalls through an ioctl, and AFS_SYSCALL is just used as a fallback for compatibility for older OpenAFS releases that might still be using the syscall. For new platforms, we have no need for this compatibility code path, since there is no existing code we might need to be compatible with. We should avoid defining AFS_SYSCALL for those, so we can avoid manually-issuing syscalls in more cases. The ppc64le_linux26 platform is a very new platform (introduced in 191e18eb "Open ppc64le_linux sysname space"), and so should not have AFS_SYSCALL defined. So, remove AFS_SYSCALL from ppc64le_linux26's param.h. Change-Id: I7811831b05a17c9428556aca49681cd544da4ff1 Reviewed-on: https://gerrit.openafs.org/13592 Tested-by: BuildBot Reviewed-by: Mark Vitale Tested-by: Andrew Deason Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 191e18ebcee3698a76b55912de0a41111c384128 Author: Nathaniel Filardo Date: Wed May 1 23:01:51 2019 +0100 Open ppc64le_linux sysname space While here, add config/param.ppc64le_linux26.h; it's just like ppc64_linux26.h, except not AFSBIG_ENDIAN. Change-Id: I6671405f829f2bf50b6e8d3355ab9e8aed384c02 Reviewed-on: https://gerrit.openafs.org/13562 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Jeffrey Altman Reviewed-by: Benjamin Kaduk commit 5cd5cd9fa8754a5af346fa6a392363b046316c75 Author: Pat Riehecky Date: Fri Jun 1 16:33:37 2018 -0500 Fix static expressions in conditionals The conditions in these if statements are always true (or always false). Remove the check in cmdebug.c, as it is unnecessary, and fix the check in vlclient.c to actually check for a valid voltype. (via cppcheck) Change-Id: Ica7dfc9b81fe8bd0f156f6e4e616ed45e205985a Reviewed-on: https://gerrit.openafs.org/13158 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 13817774518ada28f5fe68e0d00ef5dd00b67b55 Author: Cheyenne Wills Date: Thu Apr 18 09:55:09 2019 -0600 redhat: RHEL8 add elfutils-devel as build dependency for kernel module Building the kernel modules under RHEL8 produces the following error message: Makefile:952: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop. Add elfutils-devel to the BuildRequires in the rpm spec when building rhel >= 8 Add elfutils-devel to the BuildRequires in the rpm spec that openafs-kmodtool produces FIXES 134900 Change-Id: Ie3e03336d9599caa6ceb7879199eab3b12eb971b Reviewed-on: https://gerrit.openafs.org/13560 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 9779dd29e7bd76a2b3b759587d6eb919682dfba0 Author: Andrew Deason Date: Thu Nov 9 12:50:53 2017 -0600 asetkey: add 'add-random' command Add a new command, 'add-random', to allow the creation of a new key with random data. This is helpful for certain rxgk keys, which only need to exist in KeyFileExt and not in any other database (like a krb5 KDC), and so aren't derived from a krb5 keytab. Change-Id: I1f3b27e074b0931deb8645f7550e0b315d82e249 Reviewed-on: https://gerrit.openafs.org/12768 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5120409cc998284f2fb0467c2f88030976140341 Author: Andrew Deason Date: Thu Nov 9 12:47:57 2017 -0600 asetkey: Add new 'delete' command variants The current 'delete' command from asetkey only lets the user delete old-style rxkad keys. Add a couple of new variants to allow specifying the key type and subtype, so the user can delete specific key types and enctypes if they want. Change-Id: If0dfaa70ea0b749dadd52a6b7d62fd3ad2b61d18 Reviewed-on: https://gerrit.openafs.org/12767 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 12b46b6af778625a9c360dca61a59fcf30b76fd1 Author: Andrew Deason Date: Fri Sep 28 14:55:56 2018 -0500 afs: Raise osidnlc NCSIZE The currrent size of the osi DNLC is very small; only 300 entries. Raise it to 4096 entries, to give it some chance of actually helping. In the future, of course, this should be runtime configurable, and we should also raise the hash table size. For now, just raise the number of entries without changing anything else, to try to make sure nothing breaks. With the hash size of 256, this means our hash chains will be at least 16 items long. However, traversing even hundreds of hash items should still be better than frequently hitting the disk cache to find entries, and acquiring more locks, etc. Change-Id: I48f496e8c25fa869ded83e97ff686ed028c923c5 Reviewed-on: https://gerrit.openafs.org/13531 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit e02ae66c7eef1bfc5df9c3e9f2acde3bc3102390 Author: Andrew Deason Date: Mon Apr 1 12:57:42 2019 -0400 doc: Remove one lingering reference to src/mcas Change-Id: I8b137d28d33a805c4aa941cc64a89d6a504fabc6 Reviewed-on: https://gerrit.openafs.org/13539 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 5d0acbbbc0a7bb250886b3040d9e4de05d4fd27f 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 currently nothing uses this code, and these files are just clutter. Remove src/mcas and stop mentioning it in SOURCE-MAP; don't reference it in the rpctests, either. Reviewed-on: https://gerrit.openafs.org/12682 Tested-by: Benjamin Kaduk Reviewed-by: Mark Vitale Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk (cherry picked from commit bfc5d1ada2f5ce12bfafe65d352982adbefe9911) Change-Id: I98bec6f0a91e4aad05846a6791719cac63050f02 Reviewed-on: https://gerrit.openafs.org/13538 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 3d22ce36dcb86df564d4d91ff0e174792b30d68f Author: Pat Riehecky Date: Wed Jun 6 10:01:02 2018 -0500 afsmonitor: avoid double free on exit The afsmonitor may leak memory and do a double free on shutdown when it was started with a non-zero -buffers parameter value. The deallocation of the cm results circular buffer incorrectly frees the base of the array of results instead of each result. The fs buffer clean up got this right. This fixes the clang scan-build warning: afsmonitor.c:461:7: warning: Attempt to free released memory free(tmp_cmlist); ^~~~~~~~~~~~~~~~ [mmeffie: update code and commit message] Change-Id: Ifd4ea5b9b865f04e5cf88560dd8a9dfdbe7e32cb Reviewed-on: https://gerrit.openafs.org/13161 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1b835d1c1a5d4a838ab1344abc6615626a28b715 Author: Andrew Deason Date: Thu Nov 9 00:03:04 2017 -0600 asetkey: Allow rxgk keys Add rxgk support to asetkey. This just allows asetkey to display rxgk keys more prettily, and allows the user to add literal rxgk key data on the command line, or add keytab-derived keys. Change-Id: Ic28fea628614be2b20276631bc7e7c2f85ccc154 Reviewed-on: https://gerrit.openafs.org/12766 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 5505ccbaf74f7d36cea180a65001d31bbc0abea0 Author: Benjamin Kaduk Date: Sun Apr 13 21:38:02 2014 -0400 auth: Add afsconf_ClientAuthRXGK variants Add various afsconf_ClientAuthRXGK* variants, to use local printed rxgk tokens with clear, auth, or crypt levels. Also add the flag AFSCONF_SECOPTS_RXGK for afsconf_PickClientSecObj, to let callers of afsconf_PickClientSecObj use rxgk connections. To allow selecting of the "clear" level, add the flag AFSCONF_SECOPTS_ALWAYSCLEAR. And to allow selecting the "auth" level but letting "crypt" be the default for rxgk, add the new flag AFSCONF_SECOPTS_NEVERENCRYPT. Change-Id: Ib27f2799eb927ac5aa71eab94212171344dd93df Reviewed-on: https://gerrit.openafs.org/11104 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0b3bd1b7cdc88ba62c8cd540e8628faa84e33cf9 Author: Andrew Deason Date: Thu Jan 17 00:04:36 2019 -0600 dir: Honor non-ENOENT lookup errors Currently, several places in src/dir/dir.c assume that any error from a lower-level function (e.g. FindItem) means that the item we're looking for does not exist in that directory. But if we encountered some other error, that may not be the case; the directory blob may be corrupt, we may have encountered some I/O error, etc. To detect cases like this, return the actual error code from FindItem &c, instead of always reporting ENOENT. For the code paths that are actually specifically looking for if the target exists (in afs_dir_Create), change our checks to specifically check for ENOENT, and return any other error. Do the same thing for a few similar callers in viced/afsfileprocs.c, as well. FIXES 134904 Change-Id: I41073464b9ef20e4cbb45bcc61a43f70380eb930 Reviewed-on: https://gerrit.openafs.org/13431 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 8b6ae2893b517bd4e008cae94acff70abe4d2227 Author: Andrew Deason Date: Thu Mar 21 15:24:06 2019 -0500 LINUX: Avoid lookup ENOENT on fatal signals Various Linux kernel operations on various Linux kernel versions can fail if the current process has a pending fatal signal (i.e. SIGKILL), including reads and writes to our local disk cache. Depending on what and when something fails because of this, some parts of libafs throw an ENOENT error, which may propagate up to callers, and be returned from afs_lookup(). Notably this can happen via some functions in src/dir/dir.c, and previously was possible with some code paths before they were fixed by commit 2aa4cb04 (afs: Stop abusing ENOENT). For the most part, the exact error given to the userspace caller doesn't matter, since the process will die as soon as we return to userspace. However, for ENOENT errors specifically for lookups, we interpret this to mean that the target filename is known to not exist, and so we create a negative dentry for that name, which is cached. Future lookups for that filename will then result in ENOENT before any AFS functions are called. The lingering abuses of the ENOENT error code should be removed from libafs entirely, but as an extra layer of safety, we can just avoid returning ENOENT from lookups if the current process has a pending fatal signal. So to do that, change all afs_lookup() callers in src/afs/LINUX to translate ENOENT to EINTR if we have a pending fatal signal. If fatal_signal_pending() is not available, then we don't do this translation. FIXES 134904 Change-Id: I00f1516c2aa0f45f1129f5d5a44150b7539c31cc Reviewed-on: https://gerrit.openafs.org/13530 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit b9f0b63792270383b23c6a6462cd5f4590db1975 Author: Andrew Deason Date: Sun Mar 4 17:33:47 2018 -0600 Use rxgk in afsconf_BuildServerSecurityObjects In afsconf_BuildServerSecurityObjects, create a server security object for rxgk. Currently, this will only accept printed rxgk tokens, not tokens negotiated via GSSNegotiate. Future commits will add functionality to handle user-negotiated tokens, fileserver-specific creds, etc. Change-Id: Ie2bbef0d591641e80bb85240316c4ee5f9f8ff05 Reviewed-on: https://gerrit.openafs.org/12941 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 83eec9093c8a3f177268a9164182e8ba3958dbc8 Author: Benjamin Kaduk Date: Wed Mar 26 06:24:02 2014 -0400 Implement afsconf_GetRXGKKey Also afsconf_GetLatestRXGKKey, as a side effect, since we want to have a single getkey function both for getting encrypting and decrypting keys; a kvno/enctype pair of 0/0 indicates that the "get latest" behavior is desired. Implement both functions in terms of an internal helper that takes as an argument the type of key to look for in the KeyFileExt. We can reuse these helpers wholesale for per-fileserver keys, later. This also requires implementing an ordering on the quality of the different RFC 3961 enctypes (which are stored as the subtype of keys of type afsconf_rxgk). This is subject to debate on the actual ordering, but since the IANA enctype registry changes rarely, just assign a full ordering on the standardized (symmetric!) enctypes. Implement this via a new function, rxgk_enctype_better, in rxgk_crypto_rfc3961.c. Introduce a new header file, rxgk_types.h, so we can avoid including the entire rxgk.h header in cellconfig.p.h. Change-Id: I81389b21238fd6588cc4381b026816005f81a30c Reviewed-on: https://gerrit.openafs.org/11099 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4091b9271b1bfbf27f9d6871aa884df81220861a Author: Ben Kaduk Date: Wed Dec 4 13:03:46 2013 -0500 Add rxgk support to userok Change-Id: I5da2a89532453b6bec61fc87218a61455e39f6f0 Reviewed-on: https://gerrit.openafs.org/10576 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 69e083d4aaf8731049cbedf85ee5ade31277f251 Author: Ben Kaduk Date: Fri Dec 13 18:46:11 2013 -0500 Build rxgk support into libafsrpc Add a dependency on the appropriate $(GSSAPI_LIBS) and link in the librxgk_pic.la helper. Careful control of what functions are exposed allows static linking to continue to work when rxgk is disabled, though a stub is needed for the case of rxgk_GetServerInfo, so that there is a symbol present to satisfy the export symbol list. Consumers of libafsrpc.a need not be modified in accordance with this change. Change-Id: I76c0329ba842fb0d4d66534810b114a0813c90a0 Reviewed-on: https://gerrit.openafs.org/10591 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 20b0f5b4d0b55e79e55442978c297663a5e18b76 Author: Benjamin Kaduk Date: Fri Sep 1 17:45:10 2017 -0500 Add rxgk_GetServerInfo stub Provide a stub function that libafsrpc can export when rxgk support is disabled. (It always returns failure, of course.) Change-Id: Id9f816d25c1a8f56995ec185ae83db0924de0010 Reviewed-on: https://gerrit.openafs.org/12721 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit ce38ed952962b4bbba80a4d3bff1ee1ac01ca4e4 Author: Andrew Deason Date: Fri Mar 2 00:24:54 2018 -0600 rxdebug: Add rxgk support Change-Id: I6ffeb7b36f41816ca1c3d12bb5e8097dd5d7a3fd Reviewed-on: https://gerrit.openafs.org/12940 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 67da564a5b0acd01fe67829fe28ea808e0d278a4 Author: Ben Kaduk Date: Tue Dec 10 00:09:35 2013 -0500 Implement rxgk client security object routines Change-Id: Ic7e11b02cb1573cfdb6d11d4de9a77ab1c563262 Reviewed-on: https://gerrit.openafs.org/10573 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit cda288a2e4ebbd3c915f946a50fa2b59d7ee12b4 Author: Ben Kaduk Date: Mon Dec 9 22:13:16 2013 -0500 Implement the rxgk server security object routines Provide non-trivial implementations of the security class routines used by the server, along with helpers as necessary. The identity supplied in a client's token is given as a list of PrAuthNames; we assume that at most one name is supplied at present, as the meaning of compound identities (and the use of compound identities for keyed cache managers) is not fully specified yet. Convert the PrAuthName to an rx_identity for caching in the server connection state, as the rx_identity type is more compatible with superuser checks on the connection. Also provide an rxgk_GetServerInfo routine which extracts the cached identity, for use in libauth when making superuser checks. This moves our dependency on rx_identity from the private data structures into the public header, so move the nested include accordingly. Change-Id: I0f48b69d4ab758d8a4d76ebfb1daf3009c4fe060 Reviewed-on: https://gerrit.openafs.org/10572 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit ae9b90170ffa02f7b65339b3c138709362f27d69 Author: Andrew Deason Date: Tue Mar 12 17:03:09 2019 -0500 rxgk: Avoid calling xdr_destroy on blank xdrs A couple of callers in rxgk_token.c call xdr_destroy(&xdrs) in a cleanup code path; at present the code is fine because we are careful to only jump to the cleanup path from a state where the xdrs are initialized, but this is needlessly fragile (and is an undocumented requirement of the code). Since xdr_destroy() unconditionally looks at xdrs.x_ops->x_destroy, this could cause a NULL dereference if an error is encountered in a future version where the 'xdrs' may be zeroed when the cleanup path runs. Change-Id: I23c1bd09c88238bc602cc92572df4cd2278c69c9 Reviewed-on: https://gerrit.openafs.org/13521 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit aa6661f653d86d4e792587eefbc37705b68e5137 Author: Andrew Deason Date: Tue Mar 12 18:42:42 2019 -0500 rxgk: Do not require gss_pseudo_random We actually do not yet call gss_pseudo_random anywhere in the rxgk codebase. We will need this later, so print a warning when we don't have it, but let rxgk build so we can build on platforms without gss_pseudo_random for now (Solaris/SEAM). Change-Id: I1cee935a12caad1ac00717f468d7e6661e0817c9 Reviewed-on: https://gerrit.openafs.org/13520 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit de883869d7ac2af6a640f8cf9f3d8c7c37433ce5 Author: Andrew Deason Date: Fri Feb 1 23:25:02 2019 -0600 auth: Make afsconf_PutTypedKeyList idempotent Currently, if we call afsconf_PutTypedKeyList on a key list, we set the key list to NULL. But then if we call afsconf_PutTypedKeyList on a NULL key list, we segfault because we try to dereference the list. Change afsconf_PutTypedKeyList to be a noop if we give it a NULL list, avoiding a segfault in such a situation. Change-Id: I2c1de0c0a05ab036667031eb0e765933917826a6 Reviewed-on: https://gerrit.openafs.org/13507 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 635594d6cceba6de4e09be5a9e9b908f7d16697d Author: Andrew Deason Date: Wed Mar 13 18:30:43 2019 -0500 rx: Do not ignore RXS_* op errors Several places in rx call an RXS_* security layer operation, but ignore the error code. Though errors for these operations are rare or impossible currently, if they ever do return an error there could be noticeable consequences, like a connection getting an uninitialized challenge nonce, or sending a challenge packet with uninitialized payload. Change these call sites to record and handle the error. Errors from the security class normally mean aborting the entire conn, but for many operations we need to behave differently: - For RXS_DestroyConnection, errors don't make sense, since we're just freeing an object. Change the op to return void, and update our implementations of DestroyConnection to match. - For RXS_GetStats, just clear the relevant stats structure on error instead. This change also results in us clearing the stats structure when there is no security class associated with the connection; previously we just reused the same struct data as the previous conn. - For RXS_CreateChallenge, aborting the entire conn is difficult, because some code paths have callers that potentially lock multiple calls on the same conn (rxi_UpdatePeerReach -> TryAttach -> rxi_ChallengeOn -> RXS_CreateChallenge), and aborting our conn requires locking every call on the conn. So instead we just propagate an error up to our callers, and we abort just the call we have. - For RXS_GetChallenge, we cannot abort the conn when rxi_ChallengeEvent is called directly, because the caller will have the call locked. But when rxi_ChallengeEvent is called as an event (when we retry sending the challenge), we can. - For RXS_SetConfiguration, propagate the error up to our caller. Update all rx_SetSecurityConfiguration callers to record and handle the error; all of these are during initialization of daemons, so have them log an error and exit. Change-Id: I138b3e06da00470c7d70c458879cc741d296d225 Reviewed-on: https://gerrit.openafs.org/13522 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2ee35afa339731f6a60f1e5e99ccaf63baa6c891 Author: Stephan Wiesand Date: Fri Mar 22 12:46:17 2019 +0100 Add param.h files and sysnames for FreeBSD 11.2 Thanks to Måns Nilsson for filing the bug. Note that this change differs from the proposed patch in the report, in that it doesn't define the 10.4 symbols in the 11.2 param.h files. FIXES 134850 Change-Id: I83b3a81609c109eef243533b0e1defa3aca0d526 Reviewed-on: https://gerrit.openafs.org/13534 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Stephan Wiesand commit e7ea4781f07b29f7f0fc0b5ba17303bd68022e54 Author: Karl Behler Date: Fri Mar 22 12:22:05 2019 +0100 man-pages: create the man3 subdirectory in prep-noistall This should fix a build failure reported on the openafs-devel list today. Change-Id: I227922f78aaa614b73dd1f5c1c61116168fc0b69 Reviewed-on: https://gerrit.openafs.org/13533 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 11cc0a3c4e0d76f1650596bd1568f01367ab5be2 Author: Andrew Deason Date: Sat Mar 2 15:58:00 2019 -0600 afs: Cleanup state on rxfs_*Init errors Currently, rxfs_storeInit and rxfs_fetchInit return early if they encounter an error while starting the relevant fetch/store RPC (e.g. StartRXAFS_FetchData64). In this scenario, they osi_FreeSmallSpace their rock before returning, but they never go through their destructor to free the contents of the rock (rxfs_storeDestroy/rxfs_fetchDestroy), leaking any resources inside that have already been initialized. The only thing that could have been initialized by this point is v->call, so hitting this condition means we leak an Rx call, and means we can report the wrong error code (since we never go through rx_EndCall, we never look at the call's abort code). For rxfs_fetchInit, most code paths call rx_EndCall explicitly, except for the code path where StartRXAFS_FetchData64 itself fails. For both fetches and stores, it's difficult to hit this condition, because this requires that the StartRXAFS_* call fails, before we have sent or received any data from the wire. However, this can be hit if the call is already aborted before we use it, which can happen if the underlying connection has already been aborted by a connection abort. Before commit 0835d7c2 ("afs: make sure to call afs_Analyze after afs_Conn"), this was most easily hit by trying to fetch data with a bad security object (for example, with expired credentials). After the first fetch failed due to a connection abort (e.g. RXKADEXPIRED), afs_GetDCache would retry the fetch with the same connection, and StartRXAFS_FetchData64 would fail because the connection and call were already aborted. In this case, we'd leak the Rx call, and we would throw an RXGEN_CC_MARSHAL error (-450), instead of the correct RXKADEXPIRED error. This causes libafs to report that the target server as unreachable, due to the negative error code. With commit 0835d7c2, this doesn't happen because we call afs_Analyze before retrying the fetch, which detects the invalid credentials and forces creating a new connetion object. However, this situation should still be possible if a different call on the same connection triggered a connection-level abort before we called StartRXAFS_FetchData64. To fix this and ensure that we don't leak Rx calls, explicitly call rxfs_storeDestroy/rxfs_fetchDestroy in this error case, before returning from rxfs_storeInit/rxfs_fetchInit. Thanks to yadayada@in.ibm.com for reporting a related issue and providing analysis. Change-Id: I15e02f8c9e620c5861e3dcb03c42510528ce9a60 Reviewed-on: https://gerrit.openafs.org/13510 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6e5638ac7297701a99ea396dee1df8f56a6a50da Author: Andrew Deason Date: Mon Feb 25 11:35:24 2019 -0600 Remove references to SunOS 4 We already removed support for Solaris versions before Solaris 8, in commit e4c2810f ("Remove support for Solaris pre-8"), but there are still some references to SunOS (meaning SunOS 4) in the tree. This is even older than Solaris (aka SunOS 5), so get rid of these. This commit removes most references to SunOS 4 regarding platform support, and a few comments. This also removes a few comments that were just wrong or nonsensical (e.g. CMAPPED in afs.h is used by other platforms; some comments in platform-specific osi_file.c files referenced SunOS for some reason). Change-Id: I0dd3176c582409176fd898f9c9539fbd833ea789 Reviewed-on: https://gerrit.openafs.org/13506 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 872902dcf99186864cfcaf01ab945123f2506c6c Author: Andrew Deason Date: Wed Mar 6 23:06:16 2019 -0600 rx: Make rxi_Free(NULL, size) a no-op Commit 75233973 (afs: Make afs_osi_Free(NULL) a no-op) intended to make some of our free abstractions behave like the userspace free, so freeing NULL is a no-op. However, that commit still left rxi_Free such that rxi_Free(NULL, size) would decrement the relevant allocation counters. So to make our free abstractions more consistent, just skip all of rxi_Free when the given pointer is NULL. Change-Id: I89047e1846eb3e2932d2a125676fb7ffec8972dc Reviewed-on: https://gerrit.openafs.org/13514 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit df23589d2cc0419d8e74b5f1b824512d95623d2e Author: Ben Kaduk Date: Tue Dec 10 17:47:42 2013 -0500 Add rxgk_util.c A few helper routines for the security class implementation. Change-Id: I395802b6c3b2436df4b00906544fc797f3e12e9b Reviewed-on: https://gerrit.openafs.org/10937 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 23c4c3bc0cea68b8d05517065daea849fadad609 Author: Ben Kaduk Date: Mon Dec 9 23:07:17 2013 -0500 Add rxgk_packet.c Routines to apply and verify encryption and MICs to the data in rx packets. Backend to the rxgk_crypto framework for the actual crypto operations. Change-Id: I724efacf7df1d688c0d61a327fa9ee9c8168d715 Reviewed-on: https://gerrit.openafs.org/10571 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit aa231f105ea92275672941cbc2178d9ca26261e0 Author: Mark Vitale Date: Mon Feb 11 18:08:42 2019 -0500 rxgk: fix typo in make dest rule make dest should create directories in DEST, not DESTDIR. Fix the rule. Change-Id: I355e35cc6902517956935d3d2970836494490e69 Reviewed-on: https://gerrit.openafs.org/13489 Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 6e988a5b3900fe73c314c9960d6fb7753ff98411 Author: Cheyenne Wills Date: Fri Mar 1 08:46:32 2019 -0700 bos: remove smail-notifier smail-notifier is a sample program that is undocumented and has not been well maintained. It produces copious compiler warnings, and would require effort to bring the code up to decent coding practices. The bosserver provides a -notifier feature that can be used for notifications, but that feature does not depend on this sample program. Removed the code, cleaned up the Makefiles and .gitignore. Change-Id: I6bd56559121d12ad007acc571b6653aa934eb97f Reviewed-on: https://gerrit.openafs.org/13509 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit df8534909fdc1fa8417aa788c0fa71c5dbe7eb30 Author: Benjamin Kaduk Date: Sat Feb 2 17:02:08 2019 -0600 scout: band-aid -Wformat-truncation gcc8 gets pretty confused about the bounds on these things (presumably due to our alignment options) and thinks this could potentially be a huge string. Check for truncation to appease the compiler, instead of trying to ensure that the buffer is big enough. Change-Id: I4c1e0e6a5a38ee67845cbb7791b280b965989bc8 Reviewed-on: https://gerrit.openafs.org/13470 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Tested-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 8632f23d6718a3cd621791e82d1cf6ead8690978 Author: Benjamin Kaduk Date: Sat Feb 2 12:49:07 2019 -0600 vol: check snprintf return values in namei_ops gcc8 is more aggressive about parsing format strings and computing bounds on the generated text from functions like snprintf. In this case it seems best to detect cases of truncation and error out, rather than trying to increase stack buffer sizes or switch to asprintf. These paths should be well-behaved since they are local to the fileserver, so this is mostly about appeasing the compiler's -Wformat-truncation checks to allow us to build with --enable-checking. Change-Id: Id3f15e450c0f03143c0cc7e40186d5944a8fa3b4 Reviewed-on: https://gerrit.openafs.org/13463 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 453060c27a5d33d3c27128d169298f9d66d06f1a Author: Benjamin Kaduk Date: Sat Feb 2 19:52:26 2019 -0600 libadmin: appease clang -Wsometimes-uninitialized clang thinks that 'time' can be used uninitialized: bos.c:1472:9: error: variable 'time' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] if (as->parms[TIME].items) { ^~~~~~~~~~~~~~~~~~~~~ bos.c:1478:57: note: uninitialized use occurs here if (!bos_ExecutableRestartTimeSet(bos_server, type, time, &st)) { ^~~~ bos.c:1472:5: note: remove the 'if' if its condition is always true if (as->parms[TIME].items) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~ bos.c:1445:5: note: variable 'time' is declared here bos_RestartTime_t time; ^ but in this command description, the TIME argument is required. Add a never-triggered error exit to appease the compiler when --enable-checking is activated. Change-Id: I38fac64fc5aba071f84f2f9e1b497df22df76f09 Reviewed-on: https://gerrit.openafs.org/13476 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 7c15e6efe62fb3fe1970c56331df09b257abf6d9 Author: Benjamin Kaduk Date: Sat Feb 2 19:48:20 2019 -0600 uss: signed/unsigned char fallout When char is signed, assigning 255 to a variable of type char changes the value, which causes clang to emit a warning and fail the --enable-checking build. Change-Id: Id02e2526a9a9dd6657dee55b9dc22da03d102d8c Reviewed-on: https://gerrit.openafs.org/13475 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit f0a3d477d6109697645cfdcc17617b502349d91b Author: Benjamin Kaduk Date: Sat Feb 2 19:45:31 2019 -0600 rework afs_random() yet again clang 7 notes that ~0 is signed and that left-shifting into the sign bit is undefined behvaior. Use a new construction to clear the low byte of tv_usec with only bitwise operations that are independent of the width of tv_usec and stay within the realm of C's defined behavior. Change-Id: I3e4f0fa4a8b8b72df23ef0c8ad7c4a229ac942f3 Reviewed-on: https://gerrit.openafs.org/13474 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 96c0b88947c7aab605170bdca633d3716051a58e Author: Benjamin Kaduk Date: Sat Feb 2 18:39:53 2019 -0600 Avoid incomplete function type in casts clang complains that these casts contain an incomplete function type (since the function argument is omitted rather than declared to be void). Since we just need the cast to pointer type, let the compiler do it implicitly and pass stock NULL, rather than trying to force a cast to function-pointer type. Change-Id: I7f19f2936fe5425573c68fdd727ea90de02defd7 Reviewed-on: https://gerrit.openafs.org/13473 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 8f03ff3bdd8eb9f4557cdb7054aee9b8ea432160 Author: Benjamin Kaduk Date: Sat Feb 2 17:10:29 2019 -0600 dumpscan: appease gcc8 -Wformat-overflow gcc does not benefit from our external knowledge that tm_year is tightly bounded, and thinks it could still be in the range [-2147481748, 2147483647], which would overflow our string buffer. The function in question does not have error handling in place, so rather than adding some or trying to assert the proper bounds, just use a slightly larger buffer for safety. Change-Id: Iafcba5588b805347ddcc0102969bd0e2a3173dd0 Reviewed-on: https://gerrit.openafs.org/13472 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit dff81f1b78fecc54f5af91f7d728925ffca62d2c Author: Benjamin Kaduk Date: Sat Feb 2 17:09:36 2019 -0600 venus: appease gcc8's -Wformat-string Interestingly, even before this commit, the buffer size was larger than what the kernel would accept. Since the kernel does its own length checking, it's simplest to just allow slightly larger requests here and have them fail later. Change-Id: I9ed636e4ad025240cb27b3cc066a8f2a72959396 Reviewed-on: https://gerrit.openafs.org/13471 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit a89297a066d8689f8fc29a7428cfe3ed6235d010 Author: Benjamin Kaduk Date: Sat Feb 2 15:44:54 2019 -0600 butc: -Wformat-truncation fallout Increase some buffer sizes to appease gcc8. While here, use snprintf instead of plain sprintf(!). Change-Id: I39d29522b92070ce2845ba3d392aaf2d97fc7b6e Reviewed-on: https://gerrit.openafs.org/13468 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 584b0f2b6b4391c0c879352bb1786c0f267666c9 Author: Benjamin Kaduk Date: Sat Feb 2 14:43:04 2019 -0600 vlserver: use large enough buffer for rxinfo string The "[dotted-quad] rxkad:name.inst@cell" construct can be as large as (3*4+3)+7+3*64+2+1 == 217 characters (including trailing NUL); size our buffer accordingly to avoid the risk of truncation. Change-Id: Iee635aa66f5f639dfb0572c559a87b5313c305a9 Reviewed-on: https://gerrit.openafs.org/13466 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 7620bd33487207b348ed7aeba45f8d743132ba84 Author: Benjamin Kaduk Date: Sat Feb 2 14:23:03 2019 -0600 vlserver: fix vlentryread() for old vldb formats When we're using old format compatibility, use OMAXNSERVERS for the array lengths instead of MAXNSERVERS. Otherwise we'll try to copy more data than we've read. Detected by gcc8 as: vlutils.c:183:2: error: ‘memcpy’ forming offset [149, 151] is out of the bounds [0, 148] of object ‘tentry’ with type ‘struct vlentry’ [-Werror=array-bounds] memcpy(nbufp->serverFlags, oep->serverFlags, NMAXNSERVERS); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vlutils.c:141:26: note: ‘tentry’ declared here struct vlentry *oep, tentry; ^~~~~~ Change-Id: Ie720ca037c5a8bd6aaff5b6d5348161e0175b23b Reviewed-on: https://gerrit.openafs.org/13465 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d6b88e3bd5219a8dffebc07df23e30f1d16f095f Author: Benjamin Kaduk Date: Sat Feb 2 12:56:26 2019 -0600 vol: avoid -Wformat-truncation issues in vol-salvage.c Make some formerly-64-character buffers VMAXPATHLEN (plus a smidgeon) to give them space to hold the composed paths. Change-Id: I403c822a8b7376d08fb29f0127315ec439a5cf0d Reviewed-on: https://gerrit.openafs.org/13464 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 9a5ba85d1853327d8184287e58a6e03fabaaf23d Author: Benjamin Kaduk Date: Sat Feb 2 15:26:23 2019 -0600 uss: Allocate buffer space for trailing NUL Appease gcc8's -Wformat-truncation engine. Change-Id: I2113770f63357edf0f5ca273daf0c516a72034a8 Reviewed-on: https://gerrit.openafs.org/13467 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d1c32aed108b8ac013757be26052a82aa96bb52f Author: Ben Kaduk Date: Mon Dec 9 14:35:52 2013 -0500 Add rxgk_token.c Routines for constructing tokens (both regular and printed), extracting and decrypting tokens, and helpers therein. Provide the ability to print a token using a given session key and using a random session key; the former is useful for certain variants of localauth wherein a dummy GSS negotiation is performed with the same identity acting as initiator and acceptor. Include a paranoid sanity-check that only the routines intended to produce printed tokens can produce tokens with a zero-length identities list. Change-Id: I0cde7fd0cdf9a27777523cd502b21bdccef41dcc Reviewed-on: https://gerrit.openafs.org/10567 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 868e6248401756594f7abf985c2741d80d3a8517 Author: Mark Vitale Date: Mon Feb 11 02:54:31 2019 -0500 ptclient: enable pthreaded support ptclient has been essentially disabled for pthreads since the ibm-1.0 release. Remove the conditionals to make a functional pthreaded ptclient. Change-Id: Ib0f60b3ab395827b73e5646b014e28ab09607e0e Reviewed-on: https://gerrit.openafs.org/13500 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit ce0eb0f8b2936310eb1b55629772750103475d9a Author: Michael Meffie Date: Wed Nov 21 07:39:24 2018 -0500 auth: refactor afsconf_Open Move code to check the AFSCONF environment variable and read the .AFSCONF files to separate functions. Rename the internal functions afsconf_OpenInternal and afsconf_CloseInternal to the more aptly named LoadConfig and UnloadConfig in preparation for other changes. Add doxygen comments for these functions. Change-Id: Ie3361036c59c9e6ef99801891fff9fad63840344 Reviewed-on: https://gerrit.openafs.org/13397 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2aafe7df403e6a848185d15495139c07bced2758 Author: Andrew Deason Date: Wed Aug 9 20:06:05 2017 -0500 SOLARIS: Switch non-embedded vnodes for Solaris 11 Newer updates to Solaris 11 have been including several changes to the vnode struct. Since we embed a vnode in our struct vcache, our kernel module must be recompiled for any such change in order for the openafs client to work at all. To avoid the need for this, switch Solaris to using a non-embedded vnode in our struct vcache. Follow a similar technique as is used in DARWIN and XBSD, where we allocate a vnode in osi_AttachVnode, and free it in afs_FlushVCache. Change-Id: I85fd5d084a13bdea4353b5ad9840fddbc45ce8c0 Reviewed-on: https://gerrit.openafs.org/12696 Reviewed-by: Mark Vitale Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Tested-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit a6499e0b086d964f3fcc65fe4be31edc33015061 Author: Andrew Deason Date: Wed Aug 9 20:06:03 2017 -0500 SOLARIS: Fix vnode/vcache casts A few places were using vnodes and vcaches interchangeably. This is incorrect, since they may not always be the same thing if we stop embedding vnodes directly in vcaches Fix these to properly go through AFSTOV/VTOAFS to convert between vcaches and vnodes. Change-Id: I8a2e42d7b83a5374d2b16b19c47417e7f44d4f27 Reviewed-on: https://gerrit.openafs.org/12695 Reviewed-by: Mark Vitale Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk Tested-by: Mark Vitale commit 9a2b11747ce355d9adc8a5a646c88f8f3d9765ee Author: Andrew Deason Date: Wed Aug 9 20:06:00 2017 -0500 SOLARIS: Accept vnodes in vnode ops Currently, our vnode op callbacks look like this: int gafs_fsync(struct vcache *avc, afs_ucred_t *acred); And a pointer to gafs_fsync is given directly to Solaris. This cannot be correct, since 'struct vcache' is an OpenAFS type, so Solaris cannot possibly give us a 'struct vcache'. The actual correct signature for such a function is something like this: int gafs_fsync(struct vnode *vp, afs_ucred_t *acred); And then the 'gafs_fsync' function is supposed to translate 'vp' into a vcache. This works on Solaris right now because we embed the vnode as the first member in our vcache, and so a pointer to a vnode is also a pointer to a vcache. However, this would break if we ever change Solaris vcaches to use a non-embedded vnode (like on some other platforms). And even now, this causes a lot of warnings in osi_vnodeops.c, since the function signatures are wrong for our vnode callbacks. So to fix this, change all of these functions to accept a 'struct vnode', and translate to/from vnodes and vcaches appropriately. Change-Id: Ic1c4bfdb7675037d947273ed987cacd05eddfc92 Reviewed-on: https://gerrit.openafs.org/12694 Reviewed-by: Mark Vitale Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk Tested-by: Mark Vitale commit 41a22dbf719629e0977fa963b3d19c6594d0d729 Author: Andrew Deason Date: Wed Aug 9 20:05:56 2017 -0500 SOLARIS: Reorder definitions for vnode callbacks Currently, many of the functions for our vnode ops are forward-declared, right before they are referenced in the relevant vnop template array. Move the function definitions to before the references, so we can simply get rid of the forward declarations. These functions are also all only referenced in this file, so declare them 'static'. Change-Id: Icd82b6d6176342e2576ce333b40c4b79e8c692c1 Reviewed-on: https://gerrit.openafs.org/12693 Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: Mark Vitale commit aa46af6ae35e4f026a8ed94012c3bc18c954de23 Author: Andrew Deason Date: Wed Aug 9 20:05:50 2017 -0500 SOLARIS: Clean up some osi_vnodeops func defs Currently, the Solaris osi_vnodeops.c file forward-declares many of its function definitions, but doesn't declare the arguments. For example: int afs_nfsrdwr(); This avoids type-checking for a few functions that are called before they are defined in this file. Furthermore, many of these functions are only used within this file, but are not declared 'static'. To fix this weirdness, remove most of the forward declarations (most are not referenced until the function is defined), and fully declare the rest. Declare functions 'static' that are not referenced outside of this file. This commit only changes functions up to the 'afs_getsecattr' definition. The rest of the file will be fixed in a future commit. Change-Id: I3f58b9ad8e9c3ea8b3fe3dffacd5118eee0a7ff2 Reviewed-on: https://gerrit.openafs.org/12692 Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk Tested-by: Mark Vitale commit d0a2889098526aa148d99e042aa8c3f7855565f7 Author: Mark Vitale Date: Wed Feb 6 16:55:03 2019 -0500 auth: remove stale "magic number" comment A comment in GenericAuth() refers to a "magic number" which used to be present as: *aindex = 2; Commit d5622d03196762bd8a60404fea98b4bb044e076d made this a proper enum: *aindex = RX_SECIDX_KAD; Update the comment to remove mention of a "magic number". No functional change is incurred by this commit. Change-Id: I1d4770211fe4f88822426a9fe19db77bbb0d7738 Reviewed-on: https://gerrit.openafs.org/13490 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 297c479989efb6bd9d4011a43d6c0dc92596761b Author: Pat Riehecky Date: Fri Sep 21 10:05:24 2018 -0500 cmd: bail if out of memory while printing syntax Bail with an error message to stderr if we are unable to format the command syntax due to a string allocation error. Found via scan-build. [mmeffie: updated commit] Change-Id: Ib3bc7f53c295d8dde6c07b9c4990cd1b3bcee58c Reviewed-on: https://gerrit.openafs.org/13335 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 63f015d05293cd853dbd44e5115e6b378644dfb6 Author: Andrew Deason Date: Wed Jan 16 23:44:58 2019 -0600 LINUX: Propagate afs_linux_readdir BlobScan errors In afs_linux_readdir, if we detect an error code from BlobScan, currently we 'break' out of the current while() loop. But right after this loop, we reset 'code' to 0, ignoring the error we just got from BlobScan, and acting like we just reached the end of the directory. This means that if BlobScan could not process the given directory at all, we'll just fail to iterate through some of the entries in the given directory, and not report an error. To fix this, process errors from BlobScan like we do for afs_dir_GetVerifiedBlob, and return an error code and log a message about the corrupted dir. Change-Id: I8bd628624ffc04fc55fd6a0820c73018bd9e4a18 Reviewed-on: https://gerrit.openafs.org/13430 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2e556c0f23ae439c804352cf51fcf30878b03c7a Author: Andrew Deason Date: Sat Nov 3 01:04:43 2018 -0500 ptserver: Check for -restricted in SPR_Delete Currently, all prdb write operations, except for SPR_Delete, will fail with PRPERM if called by a non-system:administrators caller while restricted mode is active. SPR_Delete is missing this check, and so is not affected by the -restricted option. Fix this by inserting the same check for -restricted as all other code paths that check for -restricted. Change-Id: I35f19d0b715423cd91769e6de845efa330368e50 Reviewed-on: https://gerrit.openafs.org/13374 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit bfe912ede6f452d10cfbd5fd549f44ee027acb1b Author: Benjamin Kaduk Date: Sat Feb 2 12:25:35 2019 -0600 vol: fix vutil format-truncation nit We need one more byte for the trailing NUL. Change-Id: I1379e958e3b5ec92802060c4541f419599e49311 Reviewed-on: https://gerrit.openafs.org/13462 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 3a8fa4ecd65d5d743fdc573c9f0f261aee2063b6 Author: Andrew Deason Date: Sat Nov 3 00:58:58 2018 -0500 ptserver: Fix AccessOK -restricted for SYSADMINID According to the documentation, as well as other code paths that check for -restricted, the -restricted option does not affect members of system:administrators. Currently, though, AccessOK only bypasses the -restricted check if the caller is SYSADMINID itself (i.e. localauth). Fix AccessOK to only do the -restricted checks if the caller is not in system:administrators, to match the documentation as well as other ptserver operations. Change-Id: I3074d4537845f1f4deb7f4b72cdb819391b617e3 Reviewed-on: https://gerrit.openafs.org/13373 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit dfc78d533ef64c8d6daf134e2a0f67c5c16f7369 Author: Andrew Deason Date: Tue Oct 30 14:29:24 2018 -0500 ptserver: Fix AccessOK -restricted for addToGroup The function AccessOK is used by all of ptserver RPC handlers that need to do an authorization check, and the last two arguments are set as such: - When adding a member to a group, 'mem' is PRP_ADD_MEM and 'any' is PRP_ADD_ANY - When removing a member from a group, 'mem' is PRP_REMOVE_MEM and 'any' is 0 - When modifying an entry (setFieldsEntry) or modifying some global database fields, 'mem' and 'any' are both set to 0 - When reading an entry and not modifying it, 'mem' and/or 'any' are set to other values (depending on if we're checking membership, examining the entry itself, etc) Commit 93ece98c (ptserver-restricted-mode-20050415) added a check to AccessOK to make it return false for -restricted mode when we are adding a member to a group, or when 'mem' and 'any' are both 0. This didn't catch the case when we are removing a member from a group, though, when 'mem' is PRP_REMOVE_MEM. It looks like commit a614a8d9 (ptutils-restricted-accessok-20081025) tried to fix this by adding a check for PRP_REMOVE_MEM, but it also required 'any' to be set to 0 for the conditional to succeed. This is true when removing a member from a group, but when adding a member to a group, 'any' is PRP_ADD_ANY, and so this check fails. This means that currently, when restricted mode is turned on, non-admins can still run addToGroup and setFieldsEntry successfully. Fix this by checking for PRP_ADD_MEM/PRP_REMOVE_MEM separately from checking if 'mem'/'any' are set to 0. Break up this conditional into separate if() statements with comments to try to make the checks more clear. Change-Id: I7e647865b772c42e70014f48ce9cd53ef511cd5b Reviewed-on: https://gerrit.openafs.org/13370 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 10f2c469f45eece0e12573388ae66e392e2dff1c Author: Cheyenne Wills Date: Fri Jan 25 17:35:51 2019 -0700 Redhat: 'clean build area' error message during dkms build/install dkms invokes a make clean command before and after building the kernel module. The make clean that is issued at the start of building results in a nuisance error message because the Makefile doesn't yet exist Building module: cleaning build area...(bad exit status: 2) In the dkms.conf file, built from within the openafs.spec, change the command defined in the CLEAN statement to test for the existence of the Makefile prior to running the actual make clean Change-Id: Ifc0d5eed6ef0cbc3ddfd193d27bbcb8a7cf52f2a Reviewed-on: https://gerrit.openafs.org/13460 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 26b1dc036719a588a5cadecb14053bd4079c1f48 Author: Andrew Deason Date: Fri Feb 1 16:31:50 2019 -0600 Avoid calling krb5_free_context(NULL) Several places in the code currently call krb5_free_context(ctx) in a cleanup code path, where 'ctx' may or may not be NULL. This is not guaranteed to be okay, so check for NULL to make sure we don't cause issues in these code paths. While we are here cleaning up krb5_free_context() calls, also fix a few call sites in afscp_util.c that were not calling krb5_free_context in all error paths. Change-Id: I881f01bdf94f00079f84c4bd4bcfa58998e51ac9 Reviewed-on: https://gerrit.openafs.org/13461 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 86d04ea70fd2e99606b1d1b5b68d980d92e7a3cd Author: Andrew Deason Date: Wed Jan 16 23:46:34 2019 -0600 afs: Throw EIO in DRead on empty dir blob DRead currently returns ENOENT if we try to read a page beyond the end of the given dir blob. We do this to indicate we've hit EOF, but we do this even if the dir blob is completely empty (which is not a valid dir blob). If a dir blob in the cache is truncated due to cache corruption issues, that means we'll indicate a normal EOF condition in that directory for most code paths. If someone is trying to list the directory's entries, for instance, we'll just return that there are no entries in the dir, even though the dir itself is just invalid. To avoid this for at least some cases, return an EIO error instead if the dir blob is completely empty. Change-Id: I8544e125ad12632523d7c514fe63ff9d87e1cd8f Reviewed-on: https://gerrit.openafs.org/13429 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1a0e5e867107b3f849c17f30976831b5bf5a0e94 Author: Andrew Deason Date: Thu Jan 31 15:44:38 2019 -0600 volser: Remove unused VolRestore flags args SAFSVolRestore has a 'flags' argument, which the volserver passes on to various internal functions, but the value of the flags never actually changes any behavior. Remove the 'aflags' argument (and the derived 'incremental' arg) from a few of our internal functions. The relevant arguments have been unused since OpenAFS 1.0. Change-Id: Ib6ba3d5d9aa3e29d720921cb32fe45c871cd803e Reviewed-on: https://gerrit.openafs.org/13458 Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 1637e0a220157f9e4eb82de82e7372216f95af4e Author: Michael Meffie Date: Tue Jan 29 11:22:41 2019 -0500 xstat: remove unused variable Fix unused variable warning for unused variable oneShotCode. Change-Id: I8c2a5e8bf0cfc2570985b17d8e250403d459e50a Reviewed-on: https://gerrit.openafs.org/13455 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie commit 2c6d979be68ee95c9928b91f328b03070342173e Author: Michael Meffie Date: Tue Jan 29 11:20:52 2019 -0500 scout: fix missing softsig header Fix implicit declaration of function opr_softsig_Init() in scout. Change-Id: I2bb9eb5240b053b2f16ef1f37035b01dbc42fb84 Reviewed-on: https://gerrit.openafs.org/13454 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie Tested-by: Michael Meffie commit c37cdbeab4e4675e71b7764994cd7e68ac46c111 Author: Michael Meffie Date: Tue Jun 12 11:37:01 2018 -0400 viced: use calloc in SRXAFS_GetXStats The file server stats are maintained in global static structures, which are zero-ed on program start. The full contents are memcpy-ed to allocated buffers as rx output arguments, so no uninitialized data is sent over the wire. However, this commit converts the output buffer allocation from malloc to calloc to make this more clear from code inspection and make the code more robust. While here, clean up the comments in SRXAFS_GetXStats and remove the commented out code for a collection type which was never implemented. Remove the comments about overwriting spare xstat values, which seems to be a remnant from an early version of the code. For informational purposes, add a note at the top of SRXAFS_GetXStats to make it clear the CallPremable() is intentionally avoided in this implementation of the GetXStats RPC. Apparently, the CallPremable() is omitted since the OpenAFS file server does not to send callbacks to clients issuing only GetXStats RPCs, and so also avoids sending TMAY requests to clients like xstat_fs_test. Note that the presumably older GetStatistics and GetStatistics64 do unfortunately invoke CallPreamble(), so programs such as scout, must be able receive RXAFSCB RPCs from OpenAFS file servers. Change-Id: I7b90c7c6c561c74961fb7f7694a9576e1bed44d6 Reviewed-on: https://gerrit.openafs.org/13204 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 6b67cac432043a43d7cdfa6af972ab54412aff94 Author: Michael Meffie Date: Tue Oct 17 16:39:50 2017 -0400 convert xstat and friends to pthreads Convert the xstat, fsprobe, and gtx libraries and test programs to pthreads. Build these libraries with libtool. Build the scout and afsmonitor programs with pthreads instead of LWP. Change-Id: Ie1737e71b4e57735bf7b6c7dc3177d717ea35ac6 Reviewed-on: https://gerrit.openafs.org/12753 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 6575af97f4baf1728882ebe8f4ce474334f52ea5 Author: Michael Meffie Date: Thu Nov 15 16:19:51 2018 -0500 auth: fix afsconf_GetExtendedCellInfo memory leak Commit c4a127d0578e521b97131c5dedf9da58f71b0242 (ubik-clone-support-20010212) added changes to support ubik clone sites. This commit added the afsconf_GetExtendedCellInfo function, which returns the info given by the original afsconf_GetCellInfo, plus an array of booleans (as chars) to indicate which cell servers are ubik clones. Unfortunately, the afsconf_GetExtendedCellInfo function calls the afsconf_OpenInternal function on an already opened configuration. It does so to look for server entries which are marked as clone sites in the CellServDB file. Opening the already opened configuration leaks at least the cellName and local realms information, and is generally confusing. Instead, remember which sites are designated as clone sites when the CellServDB is read when the configuration is opened, and return that info to the callers of afsconf_GetExtendedCellInfo. This commit adds the clone array to the afsconf_cell structure and changes to afsconf_GetCellInfo() for this new server-related data. As part of this change, remove the no longer needed cell and clones arguments to the internal function afsconf_OpenInternal, which were added by commit c4a127d0578e521b97131c5dedf9da58f71b0242. Update the testcellconfig test program to output the new afsconf_cell clone member. This leak was found with valgrind. Change-Id: I73db60b6a4a77e620e0511ca45cc3418503278a4 Reviewed-on: https://gerrit.openafs.org/13396 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Reviewed-by: Mark Vitale Tested-by: BuildBot commit 80ed9d98779135d43f23c9e51e7bd6bce36405f1 Author: Michael Meffie Date: Fri Nov 16 10:00:17 2018 -0500 auth: plug auth realms memory leaks The function _afsconf_FreeRealms, called by afsconf_CloseInternal, leaks two afsconf_realms structures. The function _afsconf_LoadRealms also leaks those two structures when it fails. These memory leaks were discovered with valgrind. Change-Id: I1436ce21609951bc3433b6c91221cc45e78881bc Reviewed-on: https://gerrit.openafs.org/13395 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Reviewed-by: Mark Vitale commit 93b26c6f55245e2187e574eb928f5e0ce66a245e Author: Michael Meffie Date: Fri Dec 7 20:29:03 2018 -0500 Add the CellServDB pathname to the afsconf_dir The determination of the CellServDB pathname is platform-dependent. However, error reporting in the current code base assumes the CellServDB location is platform-independent. Add the pathname of the CellServDB file to the configuration directory structure and set the new cellservDB member when opening the configuration. Use this value when checking if the CellServDB has changed and update the callers to use the cellservDB member when reporting errors about the CellServDB file. Change-Id: I5a3393fb9d4ae3c637d5a0d773598115314bfe1c Reviewed-on: https://gerrit.openafs.org/13408 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit ce327b568f4ff522aa008f235d97e0d9144eb92c Author: Andrew Deason Date: Thu Jan 17 00:12:06 2019 -0600 afs: Do not ignore errors in afs_CacheFetchProc afs_CacheFetchProc currently has a section of code that looks like this pseudocode: if (!code) do { while (length > 0) { code = read_from_rx(); if (code) { break; } code = write_to_cache(); if (code) { break; } } code = 0; } while (moredata); return code; When we encounter an error when reading from rx or writing to the cache, we break out of the current loop to stop processing and return an error. But there are _two_ loops in this section of the code, so what we actually do is break out of the inner loop, set 'code' to 0, and then usually return (since 'moredata' is usually never set). This means that when we encounter an unexpected error either from the net or disk (or the memcache layer), we ignore the error and return success. This means that we'll store a subset of the relevant chunk's data to disk, and flag that chunk as complete and valid for the relevant DV. If the error occurred before we wrote anything to disk, this means we'll store an empty chunk and flag it as valid. The chunk will be flagged as valid forever, serving invalid data, until the cache chunk is evicted or manually kicked out. This can result in files and directories appearing blank or truncated to applications until the bad chunk is removed. Possibly the most common way to encounter this issue is when using a disk cache, and the underlying disk partition is full, resulting in an unexpected ENOSPC error. Theoretically this can be seen from an unexpected error from Rx, but we would have to see a short read from Rx without the Rx call being aborted. If the call was aborted, we'd get an error from the call to rx_EndCall() later on. To fix this, change all of these 'break's into 'goto done's, to be more explicit about where we are jumping to. Convert all of the 'break's in this function in the same way, to make the code flow more consistent and easier to follow. Remove the 'if () do' on a single line, since it makes it a little harder to see from a casual glance that there are two nested loops here. This problem appears to have been introduced in commit 61ae8792 (Unite CacheFetchProcs and add abstraction calls), included in OpenAFS 1.5.62. Change-Id: Ib965a526604e629dc5401fa0f1e335ce61b31b30 Reviewed-on: https://gerrit.openafs.org/13428 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 21ad6a0c826c150c4227ece50554101641ab4626 Author: Cheyenne Wills Date: Fri Jan 18 17:22:44 2019 -0700 Linux_5.0: replaced current_kernel_time with ktime_get_coarse_real_ts64 In Kernel commit fb7fcc96a86cfaef0f6dcc0665516aa68611e736 the current_kernel_time/current_kernel_time64 functions where renamed and the calling was standardized. According to the Linux Documentation/core-api/timekeeping.rst ktime_get_coarse_real_ts64 is the direct replacement for current_kernel_time64. Because of year 2038 issues, there is no replacement for current_kernel_time. Updated code that used current_kernel_time to use new name and calling convention. Updated autoconf test that sets IATTR_TAKES_64BIT_TIME as well. Change-Id: I607bdcf6f023425975e5bb747e0e780b3d2a7ce5 Reviewed-on: https://gerrit.openafs.org/13434 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit b892fb127815bdf72103ae41ee70aadd87931b0c Author: Cheyenne Wills Date: Fri Jan 18 16:53:58 2019 -0700 Linux_5.0: replace do_gettimeofday with ktime_get_real_ts64 In Kernel commit e4b92b108c6cd6b311e4b6e85d6a87a34599a6e3 the do_gettimeofday function was removed. According to the Linux Documentation/core-api/timekeeping.rst ktime_get_real_ts64 is the direct replacement for do_gettimeofday Updated the macro osi_GetTime to use ktime_get_real_ts64 if it is available. Change-Id: I7fcd49958de83a6a040e40bd310a228247c481b2 Reviewed-on: https://gerrit.openafs.org/13433 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 10b02075a262dbe802266ea4bcac3936dff5dd23 Author: Mark Vitale Date: Fri Jan 18 17:05:49 2019 -0500 LINUX: correct include for ktime_get_coarse_real_ts64() The include for the ktime_get_coarse_real_ts64() autoconf test is incorrect; ktime_get_coarse_real_ts64() has always been in linux/ktime.h (via #include timekeeping.h), not linux/time.h. This autoconf test still ran correctly because the OpenAFS build was inadvertently picking up ktime.h via the default autoconf include path. Therefore, this commit is needed only to provide documentation and clarity to future maintainers. Introduced as a cut-n-paste error (from the current_kernel_time test) with commit 3c454b39d04f4886536267c211171dae30dc0344 for Linux 4.20. Change-Id: I994b03a1700330756216c7feab0121c82d0f3ee4 Reviewed-on: https://gerrit.openafs.org/13437 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3969bbca6017eb0ce6e1c3099b135f210403f661 Author: Cheyenne Wills Date: Thu Jan 17 16:00:37 2019 -0700 Linux_5.0: Use super_block flags instead of Mount flags when filling sb In Kernel commit e262e32d6bde0f77fb0c95d977482fc872c51996 the mount flags (MS_) were moved from uapi/linux/fs.h to uapi/linux/mount.h. This caused a compile failure in src/afs/LINUX/osi_vfsops.c The Linux documentation in uapi/linux/mount.h indicates that the MS_ (mount) flags should only be used when calling sys_mount and filesystems should use the SB_ (super_block) equivalent. src/afs/LINUX/osi_vfsops.c utilized the mount flag MS_NOATIME while filling the super_block. Changed to use SB_NOATIME (which has the same numeric value as MS_NOATIME) if available. Change-Id: I2b2199de566fbadd45e857b37d24ce63002c7736 Reviewed-on: https://gerrit.openafs.org/13432 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 892045a9803ed471986569705d9d727165ca7ecf Author: Marcio Barbosa Date: Sat Aug 11 13:17:28 2018 -0400 vol: remove empty directories left by vos zap -force The vos zap -force command does not remove the directories associated with the volume in question (AFS_NAMEI_ENV). When the vos zap -force command is executed, the volume server goes through the /vicep*/AFSIDat directories and removes the files associated with the volume id received as an argument. Unfortunately, the volume server does not remove the directories associated with this volume. As a result, empty directories are left behind. To fix this problem, remove the empty directories left behind when vos zap -force is executed. Change-Id: I56fd52918223f87e424121bac6a086d7b0a46284 Reviewed-on: https://gerrit.openafs.org/12879 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 345a739b7bb6c9c142a2b0fe584fed6c44d6c655 Author: Andrew Deason Date: Tue Nov 13 11:09:52 2018 -0600 roken: Use srcdir for roken-post.h roken-post.h is a source file, not a generated file in the objdir. Specify $(srcdir) so we can work with objdir builds. Change-Id: I1d00ba1f28bea99770c2af56890fbf22ee764820 Reviewed-on: https://gerrit.openafs.org/13387 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit a28f9d28aef18936eb0ea02491ce64c72eeb1fe9 Author: Cheyenne Wills Date: Wed Nov 28 15:45:20 2018 -0700 Redhat: correct path to kernel module in dkms.config This fix corrects some annoying error and warning messages during dkms install or uninstall. Install: DKMS: build completed. openafs: Running module version sanity check. ERROR: modinfo: could not open /lib/modules/2.6.32-754.6.3.el6.x 86_64/weak-updates/openafs.ko: No such file or directory - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/2.6.32-754.6.3.el6.x86_64/extra/ Adding any weak-modules WARNING: Can't read module /lib/modules/2.6.32-754.6.3.el6.x86_6 4/weak-updates/openafs.ko: No such file or directory egrep: /lib/modules/2.6.32-754.6.3.el6.x86_64//weak-updates/open afs.ko: No such file or directory Remove Status: Before uninstall, this module version was ACTIVE on this kernel. Removing any linked weak-modules rmdir: failed to remove `.': Invalid argument WARNING: Can't read module /lib/modules/2.6.32-754.6.3.el6.x86_6 4/weak-updates/openafs.ko: No such file or directory egrep: /lib/modules/2.6.32-754.6.3.el6.x86_64//weak-updates/open afs.ko: No such file or directory openafs.ko: - Uninstallation - Deleting from:/lib/modules/2.6.32-754.6.3.el6.x86_64/extra/ - Original module - No original module was found for this module on this kernel - Use the dkms install command to reinstall any previous module version. Background: Commit 1c96127e37c0ec41c7a30ea3e4aa68f3cc8a24f6 standardized the location where the openafs.ko module is installed (from /kernel/3rdparty to /extra/). The RPM Spec file was not updated to build the dkms.conf file with the corrected location. From the documentation for dkms DEST_MODULE_LOCATION is ignored on Fedora Core 6 and higher, Red Hat Enterprise Linux 5 and higher, Novell SuSE Linux Enterprise Server 10 and higher, Novell SuSE Linux 10.0 and higher, and Ubuntu. Instead, the proper distribution-specific directory is used. However the DEST_MODULE_LOCATION is still used saving and restoring old copies of the module. The NO_WEAK_MODULES parameter prevents dkms from creating a symlink into weak-updates directory, which can lead to broken symlinks when dkms-openafs is removed. The weak modules facility was designed to eliminate the need to rebuild kernel modules when kernel upgrades occur and relies on the symbols within the kABI. Openafs uses symbols that are outside the kABI, and therefor is not a candidate for a weak module. Change-Id: I52a332036056a359a57a3ab34d56781c896a2eea Reviewed-on: https://gerrit.openafs.org/13404 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit 0bd55a02bb5707b1b8b26347d5cb6ad71765f622 Author: Michael Meffie Date: Thu Dec 27 09:32:35 2018 -0500 build: declare test targets as phony Modern versions `make` will not build the 'test' target since a directory exists with the same name. $ grep -C1 '^test:' Makefile test: cd test; $(MAKE) $ make test make: 'test' is up to date. Declare these targets as .PHONY to force make to build the test programs even when the 'test' directory is present. Also use '&&' to concatenate commands instead ';' to avoid running the second command when the first fails. Change-Id: Id561d7610f80b87b59c632801fa0a4b216feb42d Reviewed-on: https://gerrit.openafs.org/13419 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f6182922455aa0cbee19d138b0827eb87dc2b7ce Author: Andrew Deason Date: Mon Jan 14 17:12:27 2019 -0600 lwp: Avoid freeing 'stackmemory' on AIX32 Commit 55013a11 (lwp: Fix possible memory leak from scan-build) added some free() calls to some otherwise-leaked memory. However, one of these calls frees the 'stackmemory' pointer, which on AIX32 is not a pointer from malloc/calloc, but calculated from reserveFromStack(). To avoid corrupting the heap, skip this free call on AIX32. This commit adds another #ifdef to avoid this, which is unfortunate, but this is also how the free is avoided in the existing code for Free_PCB(). Change-Id: I6c4518f810e56c362ee744f250747fe8fc765b13 Reviewed-on: https://gerrit.openafs.org/13426 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d0dbd0f12119f0e874ba30adec81061ac6ae27c7 Author: Mark Vitale Date: Fri Oct 5 10:39:23 2018 -0400 rx: remove rx_atomic bitops The rx_atomic bitops were introduced with commit 1839cdbe268f4b19ac8e81ae78548f5c78e0c641 ("rx: atomic bit ops"). The last (only) reference to them was recently removed with commit 5ced6025b9f11fadbdf2e092bf40cc87499ed277 ("rx: Convert rxinit_status to rx_IsRunning()"). Remove the now unreferenced bitops. This commit is comprised of partial or complete reverts of the following commits: ae4ad509d35 rx: fix rx_atomic warnings under Solaris (partial) c16423ec4e6 rx: fix atomics on darwin (partial) 9dc6dd9858a rx: Fix AIX test_and_set_bit (complete) 1839cdbe268 rx: atomic bit ops (complete) Note: The rx_atomic bitops for Linux systems are known to be broken due to incorrect casting of rx_atomic_t into the unsigned long operand expected by the native Linux bitops. The failure modes include silent overruns on little-endian and incorrect results on big-endian. Do not merely revert this commit in order to bring these bitops back into the tree. Change-Id: I6b63519f63d370ccc8df816b4388487909c17dcd Reviewed-on: https://gerrit.openafs.org/13390 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit b2475c11f4d430402a82cb5b018dbccdaa0dccd8 Author: Andrew Deason Date: Thu Dec 20 14:29:47 2018 -0600 rx: Statically check rx_statisticsAtomic size Currently, rx_GetStatistics assumes that struct rx_statistics and rx_statisticsAtomic have the same size (we just memcpy between them). However, this is never checked, and rx_statistics contains many 'int' fields where rx_statisticsAtomic has rx_atomic_t fields. If these are not the same size, our rx stats will silently break, so add a static assert to make sure they are the same size. Change-Id: I889867f4a85530c30dd15d32d1822144ea128a95 Reviewed-on: https://gerrit.openafs.org/13414 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit fa3ce81178b23ee2d96f4e496484c23ed0ce7bfc Author: Andrew Deason Date: Thu Dec 20 14:37:31 2018 -0600 Revert "rx: fix rx_atomic warnings under Solaris" This reverts commit ae4ad509d35aab73936a1999410bd80bcd711393. While that commit did fix the mentioned warnings on Solaris, it also changed the size of rx_atomic_t. Our code in rx_stats.c assumes that an rx_atomic_t is 4-bytes wide, and so changing the size of rx_atomic_t broke our reporting for stats in the 'rx_stats' structure. To fix this, revert that commit. This reintroduces the mentioned warnings, but those warnings are reported for our atomic bit-op functions, which are unused and will be removed by another commit. Change-Id: Ie3e72cc06690d9f8de79e8f0274ea51079004c38 Reviewed-on: https://gerrit.openafs.org/13415 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 67c406e57a9a4409b3da811546660ac596888b2f Author: Michael Meffie Date: Thu Nov 15 13:49:21 2018 -0500 auth: update the auth test programs Fix build errors for the auth test programs. Close the configuration directory before exiting the testcellconf program so we can check for leaks. Add a call to afsconf_GetExtendedCellInfo to the testcellconf test program. Use libcmd to parse the testcellconf command line options. Add the -reload option to testcellconf to perform an optional reload test. The user must have file permissions to touch the CellServDB to perform the reload test. Change-Id: I1cb4cacf9a15ccf7066fb32bfe5f5d03ef64bfd7 Reviewed-on: https://gerrit.openafs.org/13394 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit d6f52d11c358f71b2c4357cb135e898de7c6277b Author: Mark Vitale Date: Mon Oct 29 16:48:14 2018 -0400 afs: avoid afs_GetDownDSlot panic on afs_WriteDCache failure If afs_GetDownDSlot() finds insuffcient free slots in the afs_freeDSList, it will walk the afs_DLRU attempting to flush and free eligible dcaches. However, if an error occurs during the flush to CacheItems (afs_WriteDCache()), e.g., -EINTR, afs_GetDownDSlot() will assert. However, a panic in this case is overkill, since afs_GetDownDSlot() is a best-effort attempt to free dslots. The caller (afs_UFSGetDSlot()) will allocate more dcaches if needed. Instead: - Refactor afs_GetDownDSlot() by moving the QRemove() call to after the afs_WriteDCache logic, so it accompanies the logic that puts the dcache back on the freelist. This is safe because we hold the afs_xdcache W lock for the duration of the routine. - If afs_WriteDCache() returns an error, return early and let the caller handle any recovery. Change-Id: Ifd0d56120095c9792998ff935776bbd339a76c8a Reviewed-on: https://gerrit.openafs.org/13364 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 59d3a8b86da648e3c5b9774183c6c8571a36f0c4 Author: Mark Vitale Date: Fri Nov 30 12:10:50 2018 -0500 vos: restore status information to 'vos status' Commit d3eaa39da3693bba708fa2fa951568009e929550 'rx: Make the rx_call structure private' created accessors for several rx_call members. However, it simply #ifdef'd out the packet counters and timestamps reported by 'vos status' (AFSVol_Monitor). This is a regression for the 1.8.x 'vos status' command. Instead, supply an accessor so 'vos status' can again be used to monitor the progress of certain volume operations. FIXES 134856 Change-Id: I91f5831b21f128bd8e86db63387a454c9e57bcdf Reviewed-on: https://gerrit.openafs.org/13400 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Mark Vitale commit d9d9571785dabc5c311111b1263fe0881b0ccda5 Author: Andrew Deason Date: Thu Dec 13 12:25:32 2018 -0600 afs: Reword "cache is full" messages Currently, there are multiple different areas in the code that log a message that look like this, when we encounter an ENOSPC error when writing to the cache: *** Cache partition is FULL - Decrease cachesize!!! *** The message is a bit unclear, and doesn't even mention AFS at all. Reword the message to try to explain a little more what's happening. Also, since we log the same message in several different places, move them all to a common function, called afs_WarnENOSPC, so we only need to change the message in one place. Change-Id: If1c259bd22a382ff56ed29326aa20c86389d06bc Reviewed-on: https://gerrit.openafs.org/13410 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 16b981ec6697b511c36c09adfeb8b79eaf2345b0 Author: Mark Vitale Date: Thu Nov 15 15:41:24 2018 -0500 afs: remove dead code afs_osi_SetTime afs_osi_SetTime() has been dead code since -settime support was removed with commit 1d9888be486198868983048eeffabdfef5afa94b 'Remove -settime/RXAFS_GetTime client support'. Remove the dead code. No functional change is incurred by this commit. Change-Id: Ie5559325b4c98d7e0786c75ae6507ab9c2c47376 Reviewed-on: https://gerrit.openafs.org/13393 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit aa80f892ec39e2984818090a6bb2047430836ee2 Author: Mark Vitale Date: Thu Nov 15 15:31:37 2018 -0500 Linux 4.20: do_settimeofday is gone With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038: remove unused time interfaces', do_settimeofday() is gone. However, OpenAFS only calls do_settimeofday() from afs_osi_SetTime(), which has been dead code since -settime support was removed from afsd with commit 1d9888be486198868983048eeffabdfef5afa94b 'Remove -settime/RXAFS_GetTime client support'. Instead of fixing afs_osi_SetTime() to use a current Linux API, remove it as dead code. No functional change is incurred by this commit. However, this change is required in order to build OpenAFS on Linux 4.20. Change-Id: I74913deb249de66b0da71539f2596c971f0fd99a Reviewed-on: https://gerrit.openafs.org/13392 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 3c454b39d04f4886536267c211171dae30dc0344 Author: Mark Vitale Date: Tue Nov 13 11:20:09 2018 -0500 Linux 4.20: current_kernel_time is gone With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038: remove unused time interfaces' (4.20-rc1), current_kernel_time() has been removed. Many y2038-compliant time APIs were introduced with Linux commit fb7fcc96a86cfaef0f6dcc0665516aa68611e736 'timekeeping: Standardize on ktime_get_*() naming' (4.18). According to Documentation/core-api/timekeeping.rst, a suitable replacement for: struct timespec current_kernel_time(void) would be: void ktime_get_coarse_real_ts64(struct timespec64 *ts)) Add an autoconf test and equivalent logic to deal. Change-Id: I4ff622ad40cc6d398267276d13493d819b877350 Reviewed-on: https://gerrit.openafs.org/13391 Tested-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit bfb2ebdfc2c0bfd252a14ddbe1681ab22b6733c5 Author: Andrew Deason Date: Mon Oct 15 16:10:59 2018 -0500 ubik: calloc ubik_dbase Instead of using malloc and initializing various fields to 0, allocate our ubik_dbase using calloc, to more easily ensure all fields are initialized. Change-Id: I5c2f345a82a2eb73d53ffc3e1b0fa408af6a8311 Reviewed-on: https://gerrit.openafs.org/13363 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 84b3e1c43685862c147603627a020a68650d6e1c Author: Mark Vitale Date: Fri Oct 26 09:12:44 2018 -0400 viced: fix typo in help for option -unsafe-nosalvage Change-Id: I4e72533747250cee1b7d8c091c63c78948be6c28 Reviewed-on: https://gerrit.openafs.org/13367 Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d058acb354cab9856303cc341a1f439e4f7f3454 Author: Mark Vitale Date: Thu Oct 25 10:27:41 2018 -0400 viced: correct option parsing for -vlru*, -novbc Commit a5effd9f1011aa319fdf432c67aec604053b8656 "viced: Use libcmd for command line options" modernized the option parsing for (da)fileserver, but introduced a few errors for the following options: -vlruthresh -vlruinterval -vlrumax -novbc Correct the errors. Change-Id: If57dfabaa8d4e456b63d47694d288bd8c4235ad2 Reviewed-on: https://gerrit.openafs.org/13365 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit a8219383946b821a907d75b02b7255ca1a162d23 Author: Andrew Deason Date: Sat Oct 20 16:56:01 2018 -0500 budb: Remove db.lock Ever since commit dc8f18d6 (Protect ubik cache accesses), the 'lock' field in struct memoryDB has been unused. Remove it from the struct definition. Change-Id: I90131421ae2e2322debf4249e7464126480832d1 Reviewed-on: https://gerrit.openafs.org/13362 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7eeec611811ad81f55de4befd70ed47466a5b248 Author: Andrew Deason Date: Sat Oct 20 16:56:57 2018 -0500 ubik: Remove version_cond Several areas in the code do something like this whenever the database version is changed: #ifdef AFS_PTHREAD_ENV opr_cv_broadcast(&ubik_dbase->version_cond); #else LWP_NoYieldSignal(&ubik_dbase->version); #endif However, ever since commit 3fae4ea1 (ubik: remove unused code), nothing in the tree waits for this condvar, so it currently doesn't do anything. Remove this unneeded code. Change-Id: I6903ed89f9dcee2ce154be8883d656d297c97902 Reviewed-on: https://gerrit.openafs.org/13361 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0f65b40b24599d58cf30bfd47fae83ab54e1416a Author: Andrew Deason Date: Wed Oct 17 16:35:36 2018 -0500 Remove one more automake VERSION reference The configure summary was still referencing the old automake-specific VERSION var. Use the autoconf PACKAGE_VERSION var instead, so this actually shows our version. Change-Id: I18007935d0235931f1d2e023abddee7356e8ac2d Reviewed-on: https://gerrit.openafs.org/13360 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit db38561dea2dc092dcd74082676b2a7c7f56b51c Author: Michael Meffie Date: Wed Apr 4 18:42:46 2018 -0400 autoconf: remove unnecessary mkdir during configure Remove an uneeded mkdir command to create the JAVA/libjafs object directory, since this directory is automatically created by the config.status when generating the JAVA/libjafs/Makefile. Change-Id: Ib02a38c5c23790cb07e5c2433fd4870e8763c3a3 Reviewed-on: https://gerrit.openafs.org/12994 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit eb47fa9879785a8a88ef041667845bb4d005b77e Author: Michael Meffie Date: Wed Apr 4 18:20:02 2018 -0400 autoconf: remove spurious no-op Change-Id: I27242481dc3039f6776deb89e31793deee7f2840 Reviewed-on: https://gerrit.openafs.org/12993 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit b1b3322a68d50318c44caeb7889fd181dc441149 Author: Michael Meffie Date: Wed Apr 4 18:13:24 2018 -0400 autoconf: fix pio checks name The autoconf macro to perform the positional i/o checks was misnamed as hpux checks (since there happens to be a specific check for hpux at the top of the macro). Change the macro name and m4 file name to be more accurately named. Change-Id: Ib85728fbfe67930cb5f9f1f0e34f7aa1195fdfc6 Reviewed-on: https://gerrit.openafs.org/12992 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 65b55bcc26f69f25c67518f672b34be73f3be370 Author: Michael Meffie Date: Thu Dec 21 11:59:38 2017 -0500 vol: avoid query for parent id when deleting disk header When a DAFS volume server removes a volume disk header file (V*.vol), the volume server invokes an fssync command to have the file server delete the Volume Group Cache (VGC) entry corresponding to the volume id and the parent id of the removed volume header. The volume parent id is unknown to the volume server when removing a volume disk header on behalf of a "vos zap -force" operation. In this case, the volume server issues a fssync query to attempt look up to the parent id from the file server's VGC. If this fssync query fails for some reason, volume server is unable to delete the VGC entry for the deleted volume header. The volume server logs an error and vos zap reports a undocumented error code. One common way this can be encountered is to issue a "vos zap -force" on a file server that has just been restarted. In this case, the VGC may not be fully populated yet, so the volume server is not able to look up the parent id of the given volume. With this commit, relax the requirement for the parent id when deleting VGC entries. A placeholder of 0 is used to mean any parent id for the given volume id. This obviates the need to query for the parent id when performing a "vos zap -force", and allows the volume server to remove any VGC entries associated with the volume id being zapped. Change-Id: Iee8647902d93a3c992fca4c4f3880a3393f0b95f Reviewed-on: https://gerrit.openafs.org/12839 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2f2c2ce62aa17ecac3651d64c1168af926f7458b Author: Andrew Deason Date: Thu Oct 11 00:18:17 2018 -0500 Remove automake autoconf vars Commit 4706854f (autoconf: updates and cleanup) removed our invocation of AM_INIT_AUTOMAKE, which defines the output variables PACKAGE and VERSION. Several files in our build system are still referencing @PACKAGE@ and @VERSION@, though, leaving them un-substituted. This most easily is seen as the AFSVersion version string remaining as "@VERSION@" when the tree is built without git, but it also affects some packaging in the tree. Remove references to @VERSION@ and @PACKAGE@, replacing them with their autoconf equivalents @PACKAGE_VERSION@ and @PACKAGE_TARNAME@. Change-Id: I6c6a09a46c4af4259009a4a60cfdaee63d6258c2 Reviewed-on: https://gerrit.openafs.org/13357 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d75bc6370f625479a67c7c0a50cce23c4d4a4ce5 Author: Andrew Deason Date: Fri Sep 28 17:12:40 2018 -0500 afs: Remove afs_xosi Since OpenAFS 1.0, all platforms in libafs have a lock called afs_xosi, which is acquired and released around calls like VOP_GETATTR on cache files. However, this lock doesn't appear to protect anything; on all platforms, the code that runs while the lock is held uses only calls VOP_GETATTR and accesses local variables (aside from afs_osi_cred, which we use similarly in many other places). The purpose of the lock has never been documented, and is not mentioned at all in the afs_rwlocks text file. The comment by the afs_xosi lock declaration suggests that the lock was originally introduced to protect access to 'tvattr', which perhaps was a global variable in the past. All uses of 'tvattr' are local now, though, so protecting access to it doesn't make any sense. So, remove afs_xosi, to remove the unnecessary serialization of VOP_GETATTR calls. Change-Id: Ib3764600ae0155057361418c86b49a3507bdcd94 Reviewed-on: https://gerrit.openafs.org/13350 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0548ee436d0f0f92a980d22e03149faedf38dc70 Author: Andrew Deason Date: Mon Oct 1 11:56:53 2018 -0400 afs: Free 'addrs' array Currently, 3 places in libafs allocate an 'addrs' array in a very similar way to loop through our list of servers: ForceAllNewConnections(), afs_LoopServers(), and PCallBackAddr(). Of these, only afs_LoopServers actually frees the array. ForceAllNewConnections and PCallBackAddr leak the memory, but these are only hit from infrequent pioctls that can only be run by root, so the impact is small. Fix ForceAllNewConnections and PCallBackAddr to free the array. Change-Id: Ic348e29cefa7c41cbcb30f738f943e8d022a97f0 Reviewed-on: https://gerrit.openafs.org/13355 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2aeabf8c5bca22b400653e2bc88b6f36d47b05ca Author: Marcio Barbosa Date: Sun Sep 30 17:38:53 2018 -0400 macos: packaging support for MacOS X 10.14 This commit introduces the new set of changes / files required to successfully create the dmg installer on OS X 10.14 "Mojave". Change-Id: Ia1238b454350777bbfbf3dfd2be0c6c523348928 Reviewed-on: https://gerrit.openafs.org/13349 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 72b2670a9e2e3937ed4e47485b9e9fa6953b5444 Author: Marcio Barbosa Date: Wed Sep 26 00:18:38 2018 -0300 macos: add support for MacOS 10.14 This commit introduces the new set of changes / files required to successfully build the OpenAFS source code on OS X 10.14 "Mojave". Change-Id: Ib7cbd531ad6db3340d59e76abdecbe75886a4d5c Reviewed-on: https://gerrit.openafs.org/13348 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit bd58bb85004a18bb6681ff2b0c13a04e23c4d9c4 Author: Marcio Barbosa Date: Mon Oct 1 17:44:22 2018 -0400 auth: check if argument of afsconf_Close* is null Currently, we do not check if the argument of afsconf_Close / afsconf_CloseInternal is equal to null. In order to avoid a possible segmentation fault, add the checks. Change-Id: I45635ad2d735505637072867edb7ff17da3c671a Reviewed-on: https://gerrit.openafs.org/13352 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie commit 0835d7c2a183f896096684df06258aefd297f080 Author: Michael Meffie Date: Fri Mar 16 09:25:18 2018 -0500 afs: make sure to call afs_Analyze after afs_Conn The afs_Conn function is used to pick a connection for a given RPC. The RPC is normally wrapped within a do-while loop which calls afs_Analyze to handle the RPC code and manage the server connection references. Among other things, afs_Analyze can mark the server as down, blacklist idle servers, etc. There are some special cases in which we break out of this do-while loop early, by putting the connection reference given by afs_Conn and then jumping out of the loop. In these cases, be sure to call afs_Analyze to put the server connection we got from afs_Conn, and to handle the RPC return code, possibly marking the server as down or blacklisted. Change-Id: Ic2c43f20d153376b93d79bbb5145914f8e478957 Reviewed-on: https://gerrit.openafs.org/13288 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 07ed94cfd817dc5a4e2d2712570087388fe7828f Author: Marcio Barbosa Date: Fri Oct 5 11:26:34 2018 -0400 DARWIN: replace macro exported by automake Commit 4706854f57043c8393baa922dd1974176e110a19 removed automake references from the source tree. As a result, VERSION (exported by AM_INIT_AUTOMAKE and obtained from Autoconf's AC_INIT macro) is not available anymore. Unfortunately, a reference to this macro can be found in src/afs/DARWIN/osi_module.c. Consequently, builds on OS X fail with the following message: osi_module.c:144:32: error: use of undeclared identifier 'VERSION' To fix this problem, replace VERSION by PACKAGE_VERSION (defined by AC_INIT). Change-Id: Ib3821d79c4cddd59c399985762e13dec755d8642 Reviewed-on: https://gerrit.openafs.org/13354 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f0bab78cbe4f59609fa18647a480cc6989948786 Author: Michael Meffie Date: Mon Oct 1 11:38:37 2018 -0400 ubik: do not reuse the offset variable for the sync site address The ubik SendFile function performs a sanity check of the host address before proceeding with the file transfer. Currently this check reuses the file offset local variable to hold the value of the sync site address, a 32-bit IPv4 address. Not only is this confusing, but also causes a signed/unsigned type mismatch when comparing host addresses. Instead of being so stingy with local variables, declare a new local variable of the correct type to hold the value of the sync site address. This separation is also a prerequisite for supporting larger address types in the future. Change-Id: I116fe210f418e6914afeff37c44d30bf795e2413 Reviewed-on: https://gerrit.openafs.org/13351 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d7ae7df42ced260471578dccc160f2f7a5bc686e Author: Andrew Deason Date: Mon Sep 24 15:41:23 2018 -0500 vlserver: Remove sascnvldb "sascnvldb" appears to be a variant of cnvldb that was used to convert vldb database blobs from even older versions than what cnvldb handles. However, it has never been built by default (some makefile rules reference the program, but it's never built unless the user explicitly runs 'make sascnvldb'), and it currently cannot build due to a variety of compiler errors. Remove the dead code. Change-Id: I5692d2cd058aa4ae9222ce25721001aabcca5eb7 Reviewed-on: https://gerrit.openafs.org/13345 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0796de43eaceb3a28799ad0bbe11e335a3f919bc Author: Mark Vitale Date: Fri Jun 22 16:52:08 2018 -0400 fsint: remove dead code The last references to these objects were removed with commit 3828c257ae33306bbdd3c6db9381601fe5b1b110 "dead-code-and-prototyes-20060214". A few mentions of CBS and BBS are left in the documentation as historical references: - doc/man-pages/pod1/rxgen.pod - src/kauth/AuthServer.mss Change-Id: Ia24eef7bb1509ff10d11de5c51e688e27f69417a Reviewed-on: https://gerrit.openafs.org/13324 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 77ae3dc899e89f327328c874628f100a765846c4 Author: Michael Meffie Date: Fri Apr 4 10:27:10 2014 -0400 cmd: improve help for programs without subcommands Some programs do not have subcommands (other than the standard "help", and "version" subcommands). The cmd library provides the "noopcode" mechanism for new subcommand-less programs, but older programs take advantage of the optional "initcmd" token to simulate subcommand-less programs. The "initcmd" token is optional to run the command, however it is required to display the command help. For example, running the xstat_cm_test program without any options gives a syntax error: $ xstat_cm_test xstat_cm_test: Missing required parameter '-cmname' ... Retrying with -help (or help, -h, --help), gives the rather unhelpful output: $ xstat_cm_test -help xstat_cm_test: Commands are: apropos search by help text help get help on commands initcmd initialize the program It is not obvious to the user how to get the command usage for the program, nor that the initcmd subcommand to "initialize the program" is actually is a placeholder to run the program. Instead, display the command usage when help is requested and initcmd is the only defined subcommand for a program. For example: $ xstat_cm_test -help Usage: src/xstat/xstat_cm_test [initcmd] -cmname + -collID + [-onceonly] [-frequency ] [-period ] [-debug] [-help] Where: -onceonly Collect results exactly once, then quit -debug turn on debugging output The libcmd library now supports an "noopcode", which should used for future subcommand-less programs, but converting old programs to remove the initcmd opcode could break scripts which actually specify the optional initcmd token. This commit adds a new libcmd flag called CMD_IMPLICIT which is used to denote built-in subcommands such as "version" and "help". Change-Id: Iee9cb2761254543f74166e5c240685f85b6915b6 Reviewed-on: https://gerrit.openafs.org/10983 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2daa413e3ec061e0653adbd1d6549f15e0659a62 Author: Andrew Deason Date: Tue Aug 7 17:27:24 2018 -0500 Avoid format truncation warnings With gcc 7.3, we start getting several warnings like the following: vutil.c: In function ‘VWalkVolumeHeaders’: vutil.c:860:34: error: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 63 [-Werror=format-truncation=] snprintf(name, VMAXPATHLEN, "%s" OS_DIRSEP "%s", partpath, dentry->d_name); Most or all of these truncations should be okay, but increase the size of the relevant buffers so we can build with warning checking turned on. Change-Id: Iac62d6fcfa46f523c34bf1b0ebc2770d3d67c174 Reviewed-on: https://gerrit.openafs.org/13274 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit fa6edf73d4bbe39012f3431c60584a282a823233 Author: Andrew Deason Date: Tue Sep 25 16:52:14 2018 -0500 vlserver: Remove 'register' argument Commit 4a531cb7 (death to register) removed the 'register' declaration from variables/arguments. But commit 3bf03502 (vlserver: Add a struct for trans-specific data) accidentally added one back in at around the same time, probably due to a rebase/merge mistake. Take the 'register' declaration back out. Change-Id: I73f206a57ab6b97195771e39556d2b0064be4cf3 Reviewed-on: https://gerrit.openafs.org/13346 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4a2b5101afda24b2d937e7350ca35b0b3d3c4af8 Author: Benjamin Kaduk Date: Wed May 30 19:38:57 2018 -0500 CellServDB update 14 May 2018 Update all three copies in the tree, and the rpm specfile. Change-Id: I572ff4e39ab757128f0082a4f447565e94b8dee5 Reviewed-on: https://gerrit.openafs.org/13134 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 02dede5d40a55421ab4f093c1c90b8f785a40ec1 Author: Andrew Deason Date: Mon Aug 20 14:53:35 2018 -0500 Log binding ip address and port during startup Many daemons currently have the ability to bind to a specific ip address using the -rxbind parameter. The behavior can be a little unintuitive, however, since we only bind to the ip address we find via NetInfo/NetRestrict processing, and only if we end up with a single ip address. Since that processing involves examining the set of ip addresses available, this can have confusing results if, for instance, a daemon starts up while an administrator is changing the local ip configuration. If a daemon binds to a different ip address than the administrator expects, this can be very confusing, especially since for most daemons we don't log our bound ip anywhere. To help alleviate this, change the startup code for all of our daemons to log what ip we are trying to bind to (or "0.0.0.0" if none), along with our local port. Change-Id: I18d3647c4d134177a0a17c6a64583d444558a9f6 Reviewed-on: https://gerrit.openafs.org/13272 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 794748af87134d0b89fbca3be6e0480a96a0655c Author: Michael Meffie Date: Tue Oct 10 22:57:01 2017 -0400 fsprobe: add fsprobe_Wait function Move the lwp code to wait in the fsprobe applications down to the fsprobe library. This is a non-functional change in anticipation of converting the fsprobe library and programs to pthreads. Change-Id: I2972b13e2e3eeb691c64c91b0640bbc97e7d0b21 Reviewed-on: https://gerrit.openafs.org/12747 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2c1a7e47336c8f8d14dd6c65d53925a9e0e87c66 Author: Michael Meffie Date: Mon Oct 9 22:23:31 2017 -0400 xstat: add xstat_*_Wait functions Add the xstat_cm_Wait and xstat_fs_Wait functions and move the code to wait for the xstat data collection to complete from the applications down to the xstat library. This is a non-functional change in anticipation of converting the xstat library and programs to pthreads. Change-Id: Ifd1d6bcda618c89b4ce46e1e64f33b0b30a89a72 Reviewed-on: https://gerrit.openafs.org/12746 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5ced6025b9f11fadbdf2e092bf40cc87499ed277 Author: Andrew Deason Date: Thu Nov 2 16:41:52 2017 -0500 rx: Convert rxinit_status to rx_IsRunning() Currently, all rx code examines the atomic rxinit_status to determine if rx is running (that is, if rx_InitHost has been called, and rx_Finalize/shutdown_rx hasn't been called). This is used in rx.c to see if we're redundantly calling our setup/teardown functions, and outside of rx.c in a couple of places to see if rx-related resources have been initialized. The usage of rxinit_status is a little confusing, since setting bit 0 indicates that rx is not running, and clearing bit 0 indicates rx is running. Since using rxinit_status requires atomic functions, this makes code checking or setting rxinit_status a little verbose, and it can be hard to see what it is checking for. (For example, does 'if (!rx_atomic_test_and_clear_bit(&rxinit_status, 0))' succeed when rx running, or when rx is not running?) The current usage of rxinit_status in rx_InitHost also does not handle initialization errors correctly. rx_InitHost clears rxinit_status near the beginning of the function, but does not set rxinit_status if an error is encountered. This means that any code that checks rxinit_status (such as another rx_InitHost call) will think that rx was initialized successfully, but various resources aren't actually setup. This can cause segfaults and other errors as the code tries to actually use rx. This can easily be seen in bosserver, if bosserver is started up while the local host/port is in use by someone else. bosserver will try to rx_InitHost, which will fail, and then we'll try to rx_InitHost again, which will immediately succeed without doing any init. We then segfault quickly afterwards as we try to use unitialized rx resources. To fix all of this, refactor code using rxinit_status to use a new function, called rx_IsRunning(), to make it a little clearer what we're checking for. We also re-introduce the LOCK_RX_INIT locks to prevent functions like rx_InitHost and rx_Finalize from running in parallel. Note that non-init/shutdown code (such as rx_upcall or rx_GetIFInfo) does not need to wait for LOCK_RX_INIT to check if rx is running or not. These functions only care if rx is currently setup enough to be used, so we can immediately return a 'yes' or 'no' answer. That is, if rx_InitHost is in the middle of running, rx_IsRunning returns 0, since some resouces may not be fully initialized. Change-Id: Ia14a6a725c9662b9db0adef48c33b48a93ffe051 Reviewed-on: https://gerrit.openafs.org/12761 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 00aa9200be86b187c903503e56b2af55639ea2b8 Author: Andrew Deason Date: Sat Sep 22 01:58:17 2018 -0500 SOLARIS: Fix libafs $(KOBJ) parallel make race Currently, our COMPDIRS make rule for SOLARIS libafs builds looks like this: ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}: for t in $(KOBJ) ; do # set some variables ; \ cd $$t ; \ $(MAKE) $@_libafs || exit $$? ; \ cd ../ ;\ done And Makefile.common has this: all: setup $(COMPDIRS) Where the 'setup' rule creates the $(KOBJ) dirs and sets up some symlinks. For parallel builds, this means that our commands in the ${COMPDIRS} target can be running in parallel with the 'setup' target, and so our $(KOBJ) dirs may not exist by the time we try to 'cd $$t'. For single-KOBJ platforms this actually largely works, since the 'cd' will fail, but then the subsequent 'make' will run (just in the wrong dir), but this can cause us to wastefully re-compile the same source files (and cause some possibly confusing error messages). For platforms with multiple KOBJs, this causes obvious problems, since we don't cd into each KOBJ dir. To solve this, just have the ${COMPDIRS}/etc rule depend on setup, so we know that 'setup' has finished running. Also change our way of 'cd'ing into each KOBJ dir to actually cause the rule to fail, to make any errors here more obvious and consistent. Change-Id: Id2e662f36ef47a6182716728167b2da4713893c6 Reviewed-on: https://gerrit.openafs.org/13344 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 68be8d7a1884fe678016b5ea20c16b3b124e8406 Author: Andrew Deason Date: Fri Sep 21 22:13:25 2018 -0500 SOLARIS: Fix platforms for KOBJ definition Currently, we define KOBJ to "MODLOAD32 MODLOAD64" for the following platforms: Which doesn't make any sense, since "all" includes sun4x_511 and sunx86_511. The previous commits that modified this line, e4c2810f (Remove support for Solaris pre-8) and c6a22d67 (SOLARIS: Do not build x86 kernel module on 5.11), clearly meant to change the platforms sun4x_511 and sunx86_511 to use the KOBJ on the next line, but omitted the leading "-" for the platform. This doesn't break anything, since the Makefile on these platforms expands to: KOBJ = MODLOAD32 MODLOAD64 KOBJ = MODLOAD64 So the first KOBJ line is effectively ignored. It's confusing, though, so fix this line so these platforms only get one KOBJ definition. Change-Id: Idea9fdee4ac5883428748c2a5fdfa9707406436a Reviewed-on: https://gerrit.openafs.org/13343 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit c1d39153da00d5525b2f7874b2d214a7f1b1bb86 Author: Andrew Deason Date: Thu Sep 6 13:42:11 2018 -0500 Run ctfconvert/ctfmerge for all objects Commit 88cb536f (autoconf: detect ctf-tools and add ctf to libafs) introduced running ctfconvert and ctfmerge for libafs on Solaris, but didn't add any CTF data for userspace code. This commit causes the same commands to be run for every binary that we build (if the ctf tools are available). To accomplish this, also refactor how we run ctfconvert and ctfmerge. The approach in commit 88cb536f would require us to modify the makefile rule for every executable to run RUN_CTFCONVERT and RUN_CTFMERGE, which is somewhat impractical. So instead in this commit, we modify all of our *_CCRULE and *_LDRULE variables to wrap the compiler invocation with the new CC_WRAPPER script. This means our *RULE variables change from something like this: FOO_CCRULE = $(RUN_CC) $(CC) $(XXX_FLAGS) -o $@ to something like this: FOO_CCRULE = $(RUN_CC) $(CC_WRAPPER) $(CC) $(XXX_FLAGS) -o $@ CC_WRAPPER expands to the script src/config/cc-wrapper, which just runs ctfconvert or ctfmerge on the relevant files after the compiler/linker runs. If the CTF tools are not configured, CC_WRAPPER expands to nothing, to limit our impact on other platforms. This commit was developed in collaboration with mbarbosa@sinenomine.net. Change-Id: Id19ba9d739edc68f01c2db7d5caa20758ec8144a Reviewed-on: https://gerrit.openafs.org/13308 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 78ed034603781a979687a45c08eb8b13e515e8bf Author: Andrew Deason Date: Tue Aug 7 11:17:43 2018 -0500 Call rx_InitHost once during daemon startup Currently, a few daemons calls rx_InitHost in different places, and under different conditions. For example, vlserver calls rx_InitHost only when we -rxbind to a specific ip address, and then also makes an additional rx_Init call. Other daemons always call rx_InitHost, or just call rx_InitHost sometimes and don't make an extra rx_Init call. To try to make the various daemons behave a little more consistently, change the startup code to always call rx_InitHost, and to only call it once. Note that rx_InitHost is the same as calling rx_Init with INADDR_ANY as the ip address, and calling rx_Init* after a previous rx_Init* call is effectively a no-op. Change-Id: Ifd15175349a7b4695e684ca82deb8a8af5063073 Reviewed-on: https://gerrit.openafs.org/13271 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 38a094137f067255c586dd5c85f3040d7a7c4486 Author: Andrew Deason Date: Fri Sep 21 17:16:52 2018 -0500 pthread.m4: Add missing 'test' to conditional Commit c5def62d (autoconf: update pthread checks) accidentally omitted a 'test' in one of the conditionals. This causes an ugly error message during configure: checking for pthread_attr_init in -lpthread... yes ./configure[31043]: x-lpthread: not found [No such file or directory] Replace the missing 'test'. Change-Id: I28b82594e43a4ab42a5eb9fcc78e0ce8c5517d8b Reviewed-on: https://gerrit.openafs.org/13342 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3fae4ea19a175aed7ff3f6e9c7fdf2aa2f1b5cb3 Author: Mark Vitale Date: Wed Nov 9 16:58:00 2016 -0500 ubik: remove unused code ubik_GetVersion and ubik_WaitVersion have been unused since at least OpenAFS 1.0. Remove them. No functional change should be incurred by this commit. Change-Id: Iee6952f35d8c34e9f05a4e6011f5795f7222fb08 Reviewed-on: https://gerrit.openafs.org/13325 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 809ee49b80d7bc0e720aaebe78fb9ecfd453065d Author: Andrew Deason Date: Fri Sep 21 12:11:46 2018 -0500 Remove alpha_dux/alpha_osf references Several files were still referencing the alpha_dux* and alpha_osf* sysnames. The code for these platforms has been removed, so get rid of this cruft. Change-Id: I042fcc29be322bf557829974242553bb6d5b2be4 Reviewed-on: https://gerrit.openafs.org/13339 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 42625220bb615e2fd7f0dc24e50a502e0596e546 Author: Andrew Deason Date: Fri Sep 21 12:03:37 2018 -0500 libafs: Remove .i Makefile rules Makefile.common.in defines a suffix rule to generate .i files from .c files, but we never actually need to do this. The rule originates from before OpenAFS 1.0, which also did not use the rule. Remove the unused definitions. Change-Id: I057b2aca7d17e3e85e93d886a65c954e8d9d708f Reviewed-on: https://gerrit.openafs.org/13338 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 930d8ee638112ca8bf27a9528c0a527cfab54c7d Author: Mark Vitale Date: Fri Aug 17 18:48:08 2018 -0400 volser: ensure GCTrans transaction walk remains valid Commit bc56f5cc97a982ee29219e6f258b372dbfe1a020 ("volser: Delete timed-out temporary volumes") introduced new logic to GCTrans(). Unfortunately, part of this logic temporarily drops VTRANS_LOCK in order to call VPurgeVolume(). While this lock is dropped, other volser_trans may be added or deleted from the allTrans list. Therefore, GCTrans should not trust the next pointer (nt = tt->next) which was obtained before the lock was dropped. One symptom observed in the field was a segfault while examining tt->volume. Neither tt nor volume were valid any longer, since tt had been set from a stale nt at the top of the loop. To repair, improve, and clarify this logic: - Refactor so nt is assigned correctly and as late as possible. - Add comments to explain the placement of the assigns to future maintainers. Change-Id: Ibd3a504bddd3622730aa349576341e20f2f27836 Reviewed-on: https://gerrit.openafs.org/13286 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 89b50fdec9ab2dafe24b873f25c2cdb71b154e44 Author: Marcio Barbosa Date: Sat Aug 11 15:51:05 2018 -0400 volser: add more logs for failures during restore In the current version of the volserver, some failures during volume restores are not logged. In order to help debugging, this commit introduces extra logs for possible failures during this process, so we guarantee that an error at any point during the restore causes a message to be logged. Change-Id: I3647155aeb3f10316d9d7fecb5b126efc909f7b4 Reviewed-on: https://gerrit.openafs.org/13252 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 7c27365ea24aed5787f6fc03f30f6085c78ece51 Author: Michael Meffie Date: Mon Oct 9 22:16:09 2017 -0400 afsmonitor: remove unused LWP_WaitProcess Remove the unimplemented once-only flag and the unused LWP_WaitProcess call. Change-Id: Idec5815f6f20019b9be4b973794d8b05cea7f6c9 Reviewed-on: https://gerrit.openafs.org/12745 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 95b0641ad8cfd0358576c6e1a93266fc59ecf710 Author: Mark Vitale Date: Thu Sep 6 14:09:26 2018 -0400 volser: combine GCTrans conditional clauses In preparation for a future commit, combine two conditional clauses in GCTrans(). No functional change should be incurred by this commit. Change-Id: Ib08d5b83dd26327124fe0119e6e5f459adc5f78a Reviewed-on: https://gerrit.openafs.org/13303 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit f62fb17b3cf1c886f8cfc2fabe9984070dd3eec4 Author: Michael Meffie Date: Tue Apr 19 20:46:33 2016 -0400 ubik: positional io for db reads and writes The ubik library was written before positional i/o was available and issues an lseek system call for each database file read and write. This change converts the ubik database accesses to use positional i/o on platforms where pread and pwrite are available, in order to reduce system call load. The new inline uphys_pread and uphys_pwrite functions are supplied on platforms which do not supply pread and pwrite. These functions fall back to non-positional i/o. If these symbols are present in the database server binary then the server process will continue to call lseek before each read and write access of the database file. This change does not affect the whole-file database synchronization done by ubik during database recovery (via the DISK_SendFile and DISK_GetFile RPCs), which still uses non-positional i/o. However, that code does not share file descriptors with the phys.c code, so there is no possibility of mixing positional and non-positional i/o on the same FDs. Change-Id: I28accd24f7f27b5e8a4f1dd0e3e08bab033c16e0 Reviewed-on: https://gerrit.openafs.org/12272 Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 8375a7f7dd0e3bcbf928a23f874d1a15a952cdef Author: Marcio Barbosa Date: Sat Aug 11 14:00:18 2018 -0400 volser: warn if older version of volume is restored Volume restores work by overwriting vnodes with the data in the given volume dump. If we restore a partial incremental dump from an older version of the volume, this generally results in a partly-corrupted volume, since directory vnodes may contain references that don't exist in the current version of the volume (or are supposed to be in a different directory). Currently, the volserver does not prevent restoring older volume data to a volume, and this doesn't necessarily always result in corrupted data (for instance, if we are restoring a full volume dump over an existing volume). But restoring old volume data seems more likely to be a mistake, since reverting a volume back to an old version, even without corrupting data, is a strange thing to do and may cause problems with our methods of cache consistency. So, log a warning when this happens, so if this is a mistake, it doesn't happen silently. But we still do not prevent this action, since it's possible something could be doing this intentionally. We detect this just by checking if the updateDate in the given header is older than the current updateDate for the volume on disk. Note: Restoring a full dump file (-overwrite f) will not result in corrupted data. In this scenario, the restore operation removes the volume on disk first (if present). After that, the dump file is restored. In this case, we do not log anything (the volume is not corrupted). Change-Id: Iac55cc8bb1406ca6af9a5e43e7d37c6bfa889e91 Reviewed-on: https://gerrit.openafs.org/13251 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit dc25b9f509385bef7e6f73f03a796ea033922300 Author: Michael Meffie Date: Fri Oct 27 23:25:10 2017 -0400 update: convert upserver and client from LWP to pthreads Build the upserver and the upclient with phreads instead of LWP and convert the IOMRG sleeps in the client to regular sleeps. Change-Id: I183765ef180f34d38b87a13ec49f16f4a60afcc8 Reviewed-on: https://gerrit.openafs.org/12754 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 066b3a9fd7a4d99e8aefe5cc20e57b31b137f979 Author: Pat Riehecky Date: Fri Jun 1 16:29:25 2018 -0500 Correct some redundant if() clauses A few if() conditions currently contain redundant syntax, due to typos. Fix the conditions to actually check different things, according to what the author probably originally intended. (via cppcheck) Change-Id: I7e46217e1f84fe65677ada345d227f31f1988fe6 Reviewed-on: https://gerrit.openafs.org/13157 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6892bfbd701899281b34ee337637d438c7d8f8c6 Author: Michael Meffie Date: Wed Apr 20 18:17:16 2016 -0400 ubik: remove unnecessary lseeks in uphys_open The ubik database file access layer has a file descriptor cache to avoid reopening the database file on each file access. However, the file offset is reset with lseek on each and every use of the cached file descriptor, and the file offset is set twice when reading or writing data records. This change removes unnecessary and duplicate lseek system calls to reduce the system call load. Change-Id: I460b226d81e4eb64dc87918175acab495aa698cd Reviewed-on: https://gerrit.openafs.org/12271 Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Reviewed-by: Marcio Brito Barbosa Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit da699c8b81e818ba97ff8115397d7f7afe0bf512 Author: Michael Meffie Date: Mon Sep 10 23:47:33 2018 -0400 klog.krb5 -lifetime is not implemented The klog.krb5 -lifetime option was copied from earlier versions of log and klog, which had the ability to set the krb4 token lifetime. However, the -lifetime option is not feasible the krb5 version, and so is not implemented in klog.krb5. Update the klog.krb5 man page to document the -lifetime option has no effect. Remove the code which unnecessarily checks the unused klog.krb5 -lifetime command line argument. The unused lifetime variable was discovered by Pat Riehecky using the clang scan-build static analyzer. Change-Id: I5f459ec46eaff87a69ccdf7de386a671d0944a5a Reviewed-on: https://gerrit.openafs.org/13309 Tested-by: BuildBot Reviewed-by: PatRiehecky Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 8f314560c9b00acb63e1929503f6bf2e43bb1ff6 Author: Michael Meffie Date: Tue Sep 11 12:03:30 2018 -0400 util: add defines for ktime never and now values Add preprocessor symbolic names for ktime values representing never and right now. The names are intended to be consistent with the ktime date never value definition. This commit does not make any functional change. Change-Id: Ia6735b585e50aeb018481f76552fbb4f607b8529 Reviewed-on: https://gerrit.openafs.org/13310 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 800318b43fdf461ad95cd7f3940718f3f0a609a7 Author: Andrew Deason Date: Thu May 10 16:22:52 2018 -0500 ubik: Buffer log writes with stdio Currently, when we write ubik i/o operations to the db log, we tend to issue several syscalls involving small writes and fstat()s. This is because each "log" operation involves at least one write, and each log operation tends to be pretty small. Each logged operation hitting disk separately is unnecessary, since the db log does not need to hit the disk at all until we are ready to commit the transaction. So to reduce the number of syscalls when writing to the db, change our log writes to be buffered in memory (using stdio calls). This also avoids needing to fstat() the underlying log file, since we open the underlying file in append-only mode, since we only ever append to (and truncate) the log file. To implement this, we introduce a new 'buffered_append' phys operation, to explicitly separate our buffered and non-buffered operations, to try to avoid any bugs from mixing buffered and non-buffered i/o. This new operation is only used for the db log. Change-Id: I5596117c6c71ab7c2d552f71b0ef038f387e358a Reviewed-on: https://gerrit.openafs.org/13070 Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Joe Gorse Reviewed-by: Benjamin Kaduk Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot commit 93fd6d31ce441c5ab394f31355584d17ef6e455a Author: Marcio Barbosa Date: Mon Sep 10 18:14:55 2018 +0000 autoconf: Use `uname -p` instead of $HOST_CPU for ctf tools Currently, we check if the ctf tools are present searching for them in a few directories. One of these directories (/opt/onbld/bin/$HOST_CPU) looks at the $HOST_CPU variable, which on x86 can be 'x86_64' or 'i386', but the only valid directories for the onbld tools are 'i386' and 'sparc'. So instead of $HOST_CPU, just use $(uname -p), which is only ever 'i386' on x86, and 'sparc' on sparc. [adeason@sinenomine.net: reword commit message] Change-Id: I972cf1cc0dda81f5ee454b14ddbe2830c82c838d Reviewed-on: https://gerrit.openafs.org/13275 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit fa55a3fe77b4adfce4071fe73f02687e65d4e027 Author: Michael Meffie Date: Sat Jun 9 05:16:02 2018 +0000 doc: the last partition name is /vicepiu The last valid partition name supported by OpenAFS is /vicepiu, not /vicepiv. Update the docs and man pages to say so. Change-Id: I6e1cce775d332d76f605a26f16502c651461994b Reviewed-on: https://gerrit.openafs.org/13177 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3588127191c3ebf2e411212bbea9a33a9081e009 Author: Michael Meffie Date: Sat Jun 9 04:39:49 2018 +0000 tests: partition name to id function tests Add unit tests for the utility functions to convert between partition names and partition ids. Change-Id: I4b12f9d611cb9f3ce49909cda5cbcedd3e6c3d10 Reviewed-on: https://gerrit.openafs.org/13176 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 70926959094497d440daf9a78e1e1ea5a7ddc9b8 Author: Ben Kaduk Date: Mon Dec 9 15:26:06 2013 -0500 Add rxgk_crypto_rfc3961.c rxgk wrappers around an external crypto library, in this case, our in-tree rfc3961 library. Primitives for encryption/decryption and MIC/VerifyMIC, ways to generate and free rxgk_key objects, etc.. Change-Id: I7525086043baf54f5c3019b3f5ab3495760c4236 Reviewed-on: https://gerrit.openafs.org/10565 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 6534b10a4180ec10bceebbc11405718e7969fa21 Author: Andrew Deason Date: Thu Jul 26 15:48:00 2018 -0500 Remove DUX/OSF code Remove code for DUX/OSF platforms. DUX code was removed from the libafs client in commit 392dcf67 ("Complete removal of DUX client code") and the alpha_dux* param files were removed in dc4d9d64 ("afs: Remove AFS_BOZONLOCK_ENV"). This code has always been disabled since those commits, so remove any code referencing AFS_DUX*_ENV, AFS_OSF_ENV, and related symbols. Change-Id: I3787b83c80a48e53fe214fdecf9a9ac0b63d390c Reviewed-on: https://gerrit.openafs.org/13260 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 8ad4e15ffc883c9a99f9636d7d8a5ed0a2fcc26a Author: Marcio Barbosa Date: Tue May 31 09:08:08 2016 -0300 venus: fix memory leak In GetPrefCmd, when we request server prefs from the kernel and our output buffer is not big enough, pioctl() will return E2BIG and we allocate more memory and try again. However, if the size of the output buffer reaches 16k bytes and this space is still not enough (or if pioctl fails and errno != E2BIG), we return without releasing the memory that was previously allocated. To fix this problem, free our output buffer when this happens. Change-Id: Ib34cb12629528ddf2a763386f0ac5494eb8be695 Reviewed-on: https://gerrit.openafs.org/12293 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit c553170bcf3b97ba3745f21040c8e07b128ef983 Author: Jeffrey Altman Date: Wed Jun 6 21:23:14 2018 -0400 rx: reset packet header userStatus field on reuse OpenAFS Rx fails to set the rx packet header userStatus field for most packets sent other than type RX_PACKET_TYPE_ACK. If the userStatus field is not set, its value will be random garbage based upon the prior use of the memory allocated to the rx_packet. This change explicitly sets the userStatus field to zero for all DATA and Special packet types. Background ---------- OpenAFS Rx allocates a pool of rx_packet structures that are reused for both incoming and outgoing Rx packets throughout the lifetime of the process (or kernel module). The rx packet header field userStatus is set by rxi_Send() to rx_call.localStatus. rxi_Send() is called from both rxi_SendAck() when sending RX_PACKET_TYPE_ACK packets and from rxi_SendSpecial() when called with a non-NULL call structure (RX_PACKET_TYPE_BUSY, RX_PACKET_TYPE_ACKALL, or RX_PACKET_TYPE_ABORT). rx_call.localStatus defaults to zero and can be modified by the application calling rx_SetLocalStatus(). The userStatus field is neither set nor reset when sending RX_PACKET_TYPE_DATA packets and all packets sent without a call structure. When allocated packets are reused in these cases, the value of the userStatus leaks from the prior packet use. The userStatus field is expected to be zero unless intentionally set by the application protocol to another value. The AFS3 suite of rx services uses the rx_header.userStatus field only in the RXAFS service and only as part of the definition for RXAFS_StoreData and RXAFS_StoreData64 RPCs. The StoreData RPCs use the rx_header.userStatus field as an out-of-band communication mechanism that permits the fileserver to signal to the cache manager when the RXAFS_StoreData[64] has been assigned to an application worker (thread) and the worker has acquired all of the required locks and other resources necessary to complete the RPC. This signal can be sent before all of the application data has been received. The cache manager reads the userStatus value via rx_GetRemoteStatus(). When bit-0 of the remote status value equals one and CSafeStore mode is disabled, the cache manager can wakeup any threads blocked waiting for the store operation to complete. Cache managers that perform a workload heavy in RXAFS_StoreData[64] RPCs will end up with an increasing percentage of packets in which the userStatus field is one instead of zero. Fileservers processing a workload heavy in RXAFS_StoreData[64] RPCs will likewise end up with an increasing percentage of packets in which the userStatus field is one instead of zero. Cache managers and Fileservers will therefore send DATA and call free special packets with a non-zero userStatus field to peer services (RXAFS, RXAFSCB, VL, PR). The failure to reset the userStatus field has not been a problem in the past because only the OpenAFS cache manager has ever queried the userStatus via rx_GetRemoteStatus() and only when issuing RXAFS_StoreData[64] RPCs. Failure to correct this flaw interferes with future use of the userStatus field in yet to be registered AFS3 RPCs and existing non-AFS3 services that make use of the userStatus when sending data to a service. Change-Id: I32c0bba93b8e5197036d92168956b6e2a95406fb FIXES: 134554 Reviewed-on: https://gerrit.openafs.org/13165 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2d8045d67686fbb80696b47b4a60e48e7e74fec9 Author: Mark Vitale Date: Tue Sep 11 15:59:41 2018 -0400 budb: SBUDB_FindLatestDump should check result of FillDumpEntry FillDumpEntry may return an error, but FindLatestDump doesn't check its result. Therefore, SBUDB_FindLatestDump may return invalid results. Instead, check the return code from FillDumpEntry and abort the call if it fails. Change-Id: If0b44ba2a12a76511129d77110ef669b00780ff0 Reviewed-on: https://gerrit.openafs.org/13312 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 91bab84e7a3b7de2591c475ba4912b0db8899f05 Author: Mark Vitale Date: Tue Sep 11 16:29:59 2018 -0400 butc: repair build error Commit c43169fd36348783b1a5a55c5bb05317e86eef82 introduced a build error by invoking TLog with an extraneous set of internal parentheses. Remove the offending parentheses. Change-Id: Ibc52501b01ecbe9f86262566446d63e66486272f Reviewed-on: https://gerrit.openafs.org/13311 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit d5816fd6cd1876760a985a817dbbb3940cf3bddb Author: Benjamin Kaduk Date: Tue Sep 11 10:51:01 2018 -0500 Fix typos in audit format strings Commit 9ebff4c6caa8b499d999cfd515d4d45eb3179769 introduced audit framework support for several butc-related data types, but had a typo ('$d' for '%d') in a couple of places, that was not reported by compiler format-string checking. Fix the typo to properly print all the auditable data. Change-Id: Ibefa9f8f1c0567bc6fe606327af26fcb0dbeadba commit 345ee34236c08a0a2fb3fff016edfa18c7af4b0a Author: Benjamin Kaduk Date: Sun Sep 9 10:44:38 2018 -0500 OPENAFS-SA-2018-001 backup: use authenticated connection to butc Use the standard routine to pick a client security object, instead of always assuming rxnull. Respect -localauth as well as being able to use the current user's tokens, but also provide a -nobutcauth argument to fall back to the historical rxnull behavior (but only for the connections to butc; vldb and budb connections are not affected). Change-Id: Ibf8ebe5521bee8d0f7162527e26bc5541d07910d commit 736364f1e3426b7b15836cd95ce25f0e516ce3f2 Author: Benjamin Kaduk Date: Thu Sep 6 18:50:39 2018 -0500 OPENAFS-SA-2018-001 butc: require authenticated connections with -localauth The butc -localauth option is available to use the cell-wide key to authenticate to the vlserver and buserver, which in normal deployments will require incoming connections to be authenticated as a superuser. In such cases, the cell-wide key is also available for use in authenticating incoming connections to the butc, which would otherwise have been completely unauthenticated. Because of the security hazards of allowing unauthenticaed inbound RPCs, especially ones that manipulate backup information and are allowed to initiate outboud RPCs authenticated as the superuser, default to not allowing unauthenticated inbound RPCs at all. Provide an opt-out command-line argument for deployments that require this functionality and have configured their network environment (firewall/etc.) appropriately. Change-Id: Ia6349757a4c6d59d1853df1a844e210d32c14feb commit c43169fd36348783b1a5a55c5bb05317e86eef82 Author: Benjamin Kaduk Date: Sun Sep 9 11:49:03 2018 -0500 OPENAFS-SA-2018-001 Add auditing to butc server RPC implementations Make the actual implementations into helper functions, with the RPC stubs calling the helpers and doing the auditing on the results, akin to most other server programs in the tree. This relies on support for some additional types having been added to the audit framework. Change-Id: Ic872d6dfc7854fa28bd3dc2277e92c7919d0d0c0 commit 9ebff4c6caa8b499d999cfd515d4d45eb3179769 Author: Benjamin Kaduk Date: Sat Sep 8 19:42:36 2018 -0500 OPENAFS-SA-2018-001 audit: support butc types Add support for several complex butc types to enable butc auditing. Change-Id: I6aedd933cf5330cda40aae6f33827ae65409df32 commit 50216dbbc30ed94f89bdd0e964f4891e87f28c0b Author: Benjamin Kaduk Date: Sat Sep 8 20:35:25 2018 -0500 OPENAFS-SA-2018-001 butc: remove dummy osi_audit() routine This local stub was present in the original IBM import and is unused. It will conflict with the real audit code once we start adding auditing to the TC_ RPCs, so remove it now. Change-Id: I3e74e01464af122f245c3b0fe8f3985e422d13b4 commit a4c1d5c48deca2ebf78b1c90310b6d56b3d48af6 Author: Mark Vitale Date: Fri Jul 6 03:14:19 2018 -0400 OPENAFS-SA-2018-003 rxgen: prevent unbounded input arrays RPCs with unbounded arrays as inputs are susceptible to remote denial-of-service (DOS) attacks. A malicious client may submit an RPC request with an arbitrarily large array, forcing the server to expend large amounts of network bandwidth, cpu cycles, and heap memory to unmarshal the input. Instead, issue an error message and stop rxgen when it detects an RPC defined with an unbounded input array. Thus we will detect the problem at build time and prevent any future unbounded input arrays. Change-Id: Ib110f817ed1c8132ea2549025876a5200c728fab commit 8b92d015ccdfcb70c7acfc38e330a0475a1fbe28 Author: Mark Vitale Date: Fri Jul 6 03:21:26 2018 -0400 OPENAFS-SA-2018-003 volser: prevent unbounded input to various AFSVol* RPCs Several AFSVol* RPCs are defined with an unbounded XDR "string" as input. RPCs with unbounded arrays as inputs are susceptible to remote denial-of-service (DOS) attacks. A malicious client may submit an AFSVol* request with an arbitrarily large string, forcing the volserver to expend large amounts of network bandwidth, cpu cycles, and heap memory to unmarshal the input. Instead, give each input "string" an appropriate size. Volume names are inherently capped to 32 octets (including trailing NUL) by the protocol, but there is less clearly a hard limit on partition names. The Vol_PartitionInfo{,64} functions accept a partition name as input and also return a partition name in the output structure; the output values have wire-protocol limits, so larger values could not be retrieved by clients, but for denial-of-service purposes, a more generic PATH_MAX-like value seems appropriate. We have several varying sources of such a limit in the tree, but pick 4k as the least-restrictive. [kaduk@mit.edu: use a larger limit for pathnames and expand on PATH_MAX in commit message] Change-Id: Iea4b24d1bb3570d4c422dd0c3247cd38cdbf4bab commit 97b0ee4d9c9d069e78af2e046c7987aa4d3f9844 Author: Mark Vitale Date: Fri Jul 6 01:09:53 2018 -0400 OPENAFS-SA-2018-003 volser: prevent unbounded input to AFSVolForwardMultiple AFSVolForwardMultiple is defined with an input parameter that is defined to XDR as an unbounded array of replica structs: typedef replica manyDests<>; RPCs with unbounded arrays as inputs are susceptible to remote denial-of-service (DOS) attacks. A malicious client may submit an AFSVolForwardMultiple request with an arbitrarily large array, forcing the volserver to expend large amounts of network bandwidth, cpu cycles, and heap memory to unmarshal the input. Even though AFSVolForwardMultiple requires superuser authorization, this attack is exploitable by non-authorized actors because XDR unmarshalling happens long before any authorization checks can occur. Add a bounding constant (NMAXNSERVERS 13) to the manyDests input array. This constant is derived from the current OpenAFS vldb implementation, which is limited to 13 replica sites for a given volume by the layout (size) of the serverNumber, serverPartition, and serverFlags fields. [kaduk@mit.edu: explain why this constant is used] Change-Id: Id12c6a7da4894ec490691eb8791dcd3574baa416 commit 124445c0c47994f5e2efef30e86337c3c8ebc93f Author: Mark Vitale Date: Thu Jul 5 23:51:37 2018 -0400 OPENAFS-SA-2018-003 budb: prevent unbounded input to BUDB_SaveText BUDB_SaveText is defined with an input parameter that is defined to XDR as an unbounded array of chars: typedef char charListT<>; RPCs with unbounded arrays as inputs are susceptible to remote denial-of-service (DOS) attacks. A malicious client may submit a BUDB_SaveText request with an arbitrarily large array, forcing the budb server to expend large amounts of network bandwidth, cpu cycles, and heap memory to unmarshal the input. Modify the XDR definition of charListT so it is bounded. This typedef is shared (as an OUT parameter) by BUDB_GetText and BUDB_DumpDB, but fortunately all in-tree callers of the client routines specify the same maximum length of 1024. Note: However, SBUDB_SaveText server implementation seems to allow for up to BLOCK_DATA_SIZE (2040) = BLOCKSIZE (2048) - sizeof(struct blockHeader) (8), and it's unknown if any out-of-tree callers exist. Since we do not need a tight bound in order to avoid the DoS, use a somewhat higher maximum of 4096 bytes to leave a safety margin. [kaduk@mit.edu: bump the margin to 4096; adjust commit message to match] Change-Id: Ic3fe2758a9c97ed02c6e6d05f0de0865959b5b04 commit 7629209219bbea3f127b33be06ac427ebc3a559e Author: Mark Vitale Date: Thu Jul 5 21:11:30 2018 -0400 OPENAFS-SA-2018-003 vlserver: prevent unbounded input to VL_RegisterAddrs VL_RegisterAddrs is defined with an input argument of type bulkaddrs, which is defined to XDR as an unbounded array of afs_uint32 (IPv4 addresses): typedef afs_uint32 bulkaddrs<> The <> with no value instructs rxgen to build client and server stubs that allow for a maximum size of "~0u" or 0xFFFFFFFF. Ostensibly the bulkaddrs array is unbounded to allow it to be shared among VL_RegisterAddrs, VL_GetAddrs, and VL_GetAddrsU. The VL_GetAddrs* RPCs use bulkaddrs as an output array with a maximum size of MAXSERVERID (254). VL_RegisterAddrss uses bulkaddrs as an input array, with a nominal size of VL_MAXIPADDRS_PERMH (16). However, RPCs with unbounded array inputs are susceptible to remote denial-of-service attacks. That is, a malicious client may send a VL_RegisterAddrs request with an arbitrarily long array, forcing the vlserver to expend large amounts of network bandwidth, cpu cycles, and heap memory to unmarshal the argument. Even though VL_RegisterAddrs requires superuser authorization, this attack is exploitable by non-authorized actors because XDR unmarshalling happens long before any authorization checks can occur. Because all uses of the type that our implementation support have fixed bounds on valid data (whether input or output), apply an arbitrary implementation limit (larger than any valid structure would be), to prevent this class of attacks in the XDR decoder. [kaduk@mit.edu: limit the bulkaddrs type instead of introducing a new type] Change-Id: Ibcc962ccc46aec7552b86d1d9fda7cc14310bc03 commit f5a80115f8f7f9418287547f0fc7fdb13d936f00 Author: Benjamin Kaduk Date: Thu Aug 30 10:38:56 2018 -0500 OPENAFS-SA-2018-002 butc: Initialize OUT scalar value In STC_ReadLabel, the interaction with the tape device is synchronous, so there is no need to allocate a task ID for status monitoring. However, we do need to initialize the output value, to avoid writing stack garbage on the wire. Change-Id: Id2066e1fe95fa1de02577dfd844697b1ae770f30 commit 7a7c1f751cdb06c0d95339c999b2c035c2d2168b Author: Mark Vitale Date: Tue Jun 26 06:01:16 2018 -0400 OPENAFS-SA-2018-002 ubik: prevent VOTE_Debug, VOTE_XDebug information leak VOTE_Debug and VOTE_XDebug (udebug) both leave a single field uninitialized if there is no current transaction. This leaks the memory contents of the ubik server over the wire. struct ubik_debug - 4 bytes in member writeTrans In common code to both RPCs, ensure that writeTrans is always initialized. [kaduk@mit.edu: switch to memset] Change-Id: I91184b4ed0c159982a883ebaa9634406400eae93 commit b604ee7add7be416bf20973422a041e913d20761 Author: Mark Vitale Date: Tue Jun 26 05:26:21 2018 -0400 OPENAFS-SA-2018-002 kaserver: prevent KAM_ListEntry information leak KAM_ListEntry (kas list) does not initialize its output correctly. It leaks kaserver memory contents over the wire: struct kaindex - up to 64 bytes for member name - up to 64 bytes for member instance Initialize the buffer. [kaduk@mit.edu: move initialization to top of server routine] Change-Id: I5cc430fc996e7e89d38a384d092b9d4fad248fa4 commit be0142707ca54f3de99c4886530e7ac9f48dd61c Author: Mark Vitale Date: Tue Jun 26 05:12:32 2018 -0400 OPENAFS-SA-2018-002 butc: prevent TC_DumpStatus, TC_ScanStatus information leaks TC_ScanStatus (backup status) and TC_GetStatus (internal backup status watcher) do not initialize their output buffers. They leak memory contents over the wire: struct tciStatusS - up to 64 bytes in member taskName (TC_MAXNAMELEN 64) - up to 64 bytes in member volumeName " Initialize the buffers. [kaduk@mit.edu: move initialization to top of server routines] Change-Id: I0337d233e1dced56e351ed00471c9738fcd3b9db commit 52f4d63148323e7d605f9194ff8c1549756e654b Author: Mark Vitale Date: Tue Jun 26 05:00:25 2018 -0400 OPENAFS-SA-2018-002 butc: prevent TC_ReadLabel information leak TC_ReadLabel (backup readlabel) does not initialize its output buffer completely. It leaks butc memory contents over the wire: struct tc_tapeLabel - up to 32 bytes from member afsname (TC_MAXTAPELEN 32) - up to 32 bytes from member pname (TC_MAXTAPELEN 32) Initialize the buffer. [kaduk@mit.edu: move initialization to the RPC stub] Change-Id: I30f4aa32801791913b397a58c36c86c019dc51ef commit e96771471134102d3879a0ac8b2c4ef9d91a61b8 Author: Mark Vitale Date: Tue Jun 26 04:39:44 2018 -0400 OPENAFS-SA-2018-002 budb: prevent BUDB_* information leaks The following budb RPCs do not initialize their output correctly. This leaks buserver memory contents over the wire: BUDB_FindLatestDump (backup dump) BUDB_FindDump (backup volrestore, diskrestore, volsetrestore) BUDB_GetDumps (backup dumpinfo) BUDB_FindLastTape (backup dump) struct budb_dumpEntry - up to 32 bytes in member volumeSetName - up to 256 bytes in member dumpPath - up to 32 bytes in member name - up to 32 bytes in member tape.tapeServer - up to 32 bytes in member tape.format - up to 256 bytes in member dumper.name - up to 128 bytes in member dumper.instance - up to 256 bytes in member dumper.cell Initialize the buffer in common routine FillDumpEntry. Change-Id: Ic057a6c906ce2acd39e0e4ea0a0ba1e100bba3e9 commit 211b6d6a4307006da1467b3be46912a3a5d7b20b Author: Mark Vitale Date: Tue Jun 26 03:56:24 2018 -0400 OPENAFS-SA-2018-002 afs: prevent RXAFSCB_TellMeAboutYourself information leak RXAFSCB_TellMeAboutYourself does not completely initialize its output buffers. This leaks kernel memory over the wire: struct interfaceAddr Unix cache manager (libafs) - up to 124 bytes in array addr_in ((AFS_MAX_INTERFACE_ADDR 32 * 4) - 4)) - up to 124 bytes in array subnetmask " - up to 124 bytes in array mtu " Windows cache manager - 64 bytes in array addr_in ((AFS_MAX_INTERFACE_ADDR 32 - CM_MAXINTERFACE_ADDR 16)* 4) - 64 bytes in array subnetmask " - 64 bytes in array mtu " The following implementations of SRXAFSCB_TellMeAboutYourself are not susceptible: - fsprobe - libafscp - xstat_fs_test Initialize the buffer. Change-Id: I2ef868dd9269db7004a21cf913b6787948357d10 commit b52eb11a08f2ad786238434141987da27b81e743 Author: Mark Vitale Date: Tue Jun 26 03:47:41 2018 -0400 OPENAFS-SA-2018-002 afs: prevent RXAFSCB_GetLock information leak RXAFSCB_GetLock (cmdebug) does not correctly initialize its output. This leaks kernel memory over the wire: struct AFSDBLock - up to 14 bytes for member name (16 - '\0') Initialize the buffer. Change-Id: I4c5c8d67816c51645c0db44dc8f19b1b27c02757 commit 9d1aeb5d761581a35bef2042e9116b96e9ae3bf5 Author: Mark Vitale Date: Tue Jun 26 03:37:37 2018 -0400 OPENAFS-SA-2018-002 ptserver: prevent PR_ListEntries information leak PR_ListEntries (pts listentries) does not properly initialize its output buffers. This leaks ptserver memory over the wire: struct prlistentries - up to 62 bytes for each entry name (PR_MAXNAMELEN 64 - 'a\0') Initialize the buffer, and remove the now redundant memset for the reserved fields. Change-Id: I29d70c7e4dd567b8b046037f29f71911b8a0593f commit 26924fd508b21bb6145e77dc31b6cd0923193b72 Author: Mark Vitale Date: Tue Jun 26 03:00:02 2018 -0400 OPENAFS-SA-2018-002 volser: prevent AFSVolMonitor information leak AFSVolMonitor (vos status) does not properly initialize its output buffers. This leaks information from volserver memory: struct transDebugInfo - up to 29 bytes in member lastProcName (30-'\0') - 16 bytes in members readNext, tranmitNext, lastSendTime, lastReceiveTime Initialize the buffers. This must be done on a per-buffer basis inside the loop, since realloc is used to expand the storage if needed, and there is not a standard realloc API to zero the newly allocated storage. [kaduk@mit.edu: update commit message] Change-Id: I79091fc63435ed2a795955f95bb867bc625ad398 commit 76e62c1de868c2b2e3cc56a35474e15dc4cc1551 Author: Mark Vitale Date: Tue Jun 26 02:33:05 2018 -0400 OPENAFS-SA-2018-002 volser: prevent AFSVolPartitionInfo(64) information leak AFSVolPartitionInfo and AFSVolPartitionInfo64 (vos partinfo) do not properly initialize their reply buffers. This leaks the contents of volserver memory over the wire: AFSVolPartitionInfo (struct diskPartition) - up to 24 bytes in member name (32-'/vicepa\0')) - up to 12 bytes in member devName (32-'/vicepa/Lock/vicepa\0')) AFSVolPartitionInfo64 (struct diskPartition64) - up to 248 bytes in member name (256-'/vicepa\0')) - up to 236 bytes in member devName (256-'/vicepa/Lock/vicepa\0') Initialize the output buffers. [kaduk@mit.edu: move memset to top-level function scope of RPC handlers] Change-Id: If64c02f36f10f52bfbab4b21ad1f60032c223c82 commit 70b0136d552a0077d3fae68f3aebacd985abd522 Author: Mark Vitale Date: Mon Jun 25 18:03:12 2018 -0400 OPENAFS-SA-2018-002 ptserver: prevent PR_IDToName information leak SPR_IDToName does not completely initialize the return array of names, and thus leaks information from ptserver memory: - up to 62 bytes per requested id (PR_MAXNAMELEN 64 - 'a\0') Use calloc to ensure that all memory sent on the wire is initialized, preventing the information leak. [kaduk@mit.edu: switch to calloc; update commit message] Change-Id: Iad623f2cc4c54b79f14a64b8714ba12579d05447 commit 03e804b629c17ca7a4e5789cf98b283c52bd59ed Author: Ben Kaduk Date: Thu Jan 10 11:57:00 2013 -0500 Configure glue for rxgk Add an --enable-rxgk switch to control whether the feature is used. For the sake of buildbot coverage, we still attempt to build the core subdirectory provided that a sufficiently usable GSS-API library is available, but do not install anything when rxgk is disabled at configure time. Future commits will use the configure argument to control the behavior of other rxgk-aware code in the tree. We provide a few new symbols to conditionally compile code for rxgk. The two new high-level symbols are: - AFS_RXGK_ENV: when defined, rxgk is available - AFS_RXGK_GSS_ENV: when defined, we can use GSS-API calls AFS_RXGK_GSS_ENV is turned on only for userspace pthread builds. For now, AFS_RXGK_ENV is only turned on for userspace pthread builds, and non-ukernel kernel builds. This effectively disables rxgk integration in any ukernel or LWP code, but this can be changed in the future by changing when AFS_RXGK_ENV is defined. Change-Id: Iab661d47aac77c1a238e809362015b869752df18 Reviewed-on: https://gerrit.openafs.org/10564 Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason Tested-by: BuildBot commit de43a0f8829e26b2c56347176d7938810a38469c Author: Michael Meffie Date: Thu Apr 12 23:18:55 2018 -0400 Suppress statement not reached warnings after noreturn functions Use the AFS_UNREACHED macro to suppress statement not reached warnings while building under Solaris Studio. These warnings are emitted for statements following functions declared with the noreturn function attribute. Change-Id: Ic18cbb3ea78124acbe69edc0eccb2473b46648fe Reviewed-on: https://gerrit.openafs.org/13010 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b7e9a9b28aaa024b6d6efc6ca74edc690500fc0d Author: Michael Meffie Date: Tue Apr 10 18:29:44 2018 -0400 lwp: add missing lwp prototypes for solaris Add missing lwp function prototypes for Solaris. This fixes the compile time warning messages: warning: implicit function declaration: LWP_NoYieldSignal Change-Id: I69c3660bb2631215cd296c08729c8e84d60660fd Reviewed-on: https://gerrit.openafs.org/13008 Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Tested-by: BuildBot commit ae4ad509d35aab73936a1999410bd80bcd711393 Author: Michael Meffie Date: Fri Jan 19 03:30:22 2018 -0500 rx: fix rx_atomic warnings under Solaris The Solaris implementation of the rx_atomic functions generate numerous complile time warnings due to an integer type mismatch. "rx_atomic.h", line xxx: warning: argument #1 is incompatible with prototype: The rx_atomic_t is an unsigned int under Solaris, however the Solaris atomic_set_long_excl and atomic_clear_long_excl functions take a ulong_t type Solaris does not provide 'unsigned int' variants of these two functions. Fortunately, ulong_t variants of all the atomic we need for rx are available, in current as well as older versions of Solaris, so convert the Solaris rx_atomic_t type to be a ulong_t and convert all of the Solaris atomic calls to the ulong_t variants to avoid integer type mismatches. Change-Id: Ib54ca4bb8b9f044684301f0fb7971aec223e5993 Reviewed-on: https://gerrit.openafs.org/12991 Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Tested-by: BuildBot commit 3915911bcea2ede55799a15cec614e8291952e1f Author: Michael Meffie Date: Thu Aug 9 16:24:41 2018 -0400 afs: declare nfs translator dispatch functions static Declare the nfs translator dispatch functions to be static to enforce they are not to be called from outside of the translator. Change-Id: I1c3d8917c080409424e21e377405472094941da0 Reviewed-on: https://gerrit.openafs.org/13277 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f8672d0c0f6f58e773ce0e6e4b2fc7b19a5e7ffe Author: Michael Meffie Date: Thu Mar 29 23:36:21 2018 -0400 afs: use void * for generic pointers in the nfs translator dispatcher Replace the use of char * and char ** with void * for representing generic pointers in the nfs dispatcher functions. This was done to fix a large number of compile time warnings, and allows us to remove a number of explicit casts. Also, remove the unnecessary char * casts of memset and memcpy arguments in the nfs translator dispatcher. This commit fixes a large number of Solaris Studio warning messages in the form: ... warning: argument #X is incompatible with prototype: Change-Id: I42e2d40b8112ada9417724282c0230f48a40324f Reviewed-on: https://gerrit.openafs.org/12989 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit dc2141bf56b43a9531335f581767d7766895b8d2 Author: Michael Meffie Date: Thu Mar 29 23:32:40 2018 -0400 afs: change afs_nfs{2,3}_dispatcher signature The fourth argument of the afs_nfs{2,3}_dispatcher functions is a pointer to a pointer to a exportinfo structure. However, this argument is not an output argument, so the extra level of indirection is unnecessary. A separate local variable is used as an output argument to the afs_nfsclient_reqhandler call within the dispatchers, which is not passed back to the afs_nfs{2,3}_dispatcher caller. In anticipation of other changes to fix warning messages, simplify the signature of the afs_nfs{2,3}_dispatcher functions to avoid taking the address of the exportinfo structure when calling afs_nfs{2,3}_dispatcher. Change-Id: I6fb1a190e6aab286bfac41df783688a0be46a21f Reviewed-on: https://gerrit.openafs.org/12988 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e7678fb5fb6725055b576b86f6ef994594f0bb92 Author: Michael Meffie Date: Thu Mar 29 23:15:47 2018 -0400 afs: fix missing afs_nfs3_dispatcher return value Fix a missing early return value in the function afs_nfs3_dispatcher. All callers check the return code of afs_nfs3_dispatcher and interpret values greater that 1 to be errors. Return 3 as an error code for this code path, which is the next available error code in afs_nfs3_dispatcher. This commit fixes the following Solaris Studio warning message: ... warning: function expects to return value: afs_nfs3_dispatcher Change-Id: I47b545bd57a46c03006b9f031da3647c8a530377 Reviewed-on: https://gerrit.openafs.org/12987 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Tested-by: BuildBot commit 388eaec3452ed4b18a95ee34efcbe4cf64814701 Author: Michael Meffie Date: Thu Mar 15 18:53:59 2018 -0400 roken: do not clobber __attribute__ The roken-common.h header defines an empty macro called __attribute__ when HAVE___ATTRIBUTE__ is not defined. This macro conditionally removes the `format' function attributes in the roken headers at compile time. Unfortunately, the empty __attribute__ macro will also clobber other attribute types encountered after the roken.h header inclusion. This is not an issue when building under gcc or clang, since the empty attribute macro will not be defined. However Solaris Studio supports a subset of the function attribute types, with `format' not currently supported. This means roken will define an empty __attribute__ macro, which prevents the use of other attribute types. This commit does not change the roken files directly because they are external. Instead, the processing of the roken.h.in file has been updated to undefine the __attribute__ macro at the end of the generated roken.h header. Change-Id: Iea5622ae175e7f82a60780838948178bd7f8b56f Reviewed-on: https://gerrit.openafs.org/12961 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 1711917e7ded7ebebae74d7bfeb8359a69db8869 Author: Andrew Deason Date: Fri Jun 29 14:48:58 2018 -0500 autoconf: Split out krb5/gss tests Move our krb5 and GSS-related autoconf tests into their own separate files, in src/cf/krb5.m4 and src/cf/gss.m4. Change-Id: I4202df5d810f2d3942fc4ffb3fd406869f68029b Reviewed-on: https://gerrit.openafs.org/13237 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 9d3ef9337fafe5dcf3865d3aced290be0f887c11 Author: Marcio Barbosa Date: Thu May 31 09:46:56 2018 -0300 autoconf: do not reference the missing script Currently, OpenAFS does not use automake. As a result, the missing script is not copied to the build-tools directory. Since this script is not present in the tree, am_missing_run is not initialized. Unfortunately, the current version still has a few references to this variable. In order to preserve a similar behavior, this commit replaces these references by AC_ERROR. While we are changing these, remove the AC_CHECK_PROGS calls for AR and STRIP, since libtool already checks these for us. Change-Id: I833dc6e8611dc7227db4ec77b0160dfa47b7e531 Reviewed-on: https://gerrit.openafs.org/12982 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a9644daa965fbf316943a07ad985b8ead2f4f31d Author: Peter Foley Date: Mon Feb 29 16:39:14 2016 -0500 Remove obsolete retsigtype Only relevent for pre-c89 K&R compilers. [mmeffie@sinenomine.net: avoid changes to src/external] Change-Id: I1b3bf14ddd50f1a6b3d50e0376abffffdb64fb81 Reviewed-on: https://gerrit.openafs.org/12203 Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 451602a5e3a503d46eaecb3738d259e46023afcd Author: Michael Meffie Date: Sat May 26 19:52:27 2018 -0400 autoconf: reformat long lines The autoupdate tool was run to modernize the autoconf macros but generates very long lines. Manually reformat the long lines to make them more reasonable. Change-Id: I6f08138aa7134d8110da885ea4375cebbe903575 Reviewed-on: https://gerrit.openafs.org/13125 Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit 2e23fceec872795a39b915b73e48eb77a5d65afe Author: Peter Foley Date: Mon Feb 29 13:28:28 2016 -0500 autoconf: autoupdate macros Run autoupdate on macros. [mmeffie@sinenomine.net: re-run autoupdate, no other edits] Change-Id: I8b45edea97cf2e065f23f02d2d7f6a0e7adcb8a5 Reviewed-on: https://gerrit.openafs.org/12202 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit f9c584a794c6a4c5d03fa1ee7f1b2b5e1309e7ee Author: Michael Meffie Date: Fri Apr 20 11:47:57 2018 -0400 autoconf: update curses.m4 Replace the obsolete AC_TRY_COMPILE with AC_COMPILE_IFELSE/AC_LANG_PROGRAM in the curses check for the getmaxyx macro. This change was done manually instead of using autoupdate because the program prologue argument for this particular check is an m4 macro, which will not expand to code when autoupdate adds m4 quotes to the AC_LANG_PROGRAM arguments. Change-Id: I85b65fb9b59b45d31286436a9f15110cec31bec8 Reviewed-on: https://gerrit.openafs.org/13021 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason commit c5def62d7be4891f534b753374acbf5b524701eb Author: Michael Meffie Date: Mon Apr 16 10:42:49 2018 -0400 autoconf: update pthread checks Replace obsolete AC_TRY_COMPILE with AC_COMPILE_IFELSE. Replace shell if/then conditionals with AS_IF macros. Reformat indentation and quoting. This change was done manually, since autoupdate copes poorly with the old, nested AC_TRY_COMPILE macros. Change-Id: I2c34d1426f154daff65999076821f49ddaa16a24 Reviewed-on: https://gerrit.openafs.org/13018 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa commit 4706854f57043c8393baa922dd1974176e110a19 Author: Peter Foley Date: Mon Feb 29 13:19:01 2016 -0500 autoconf: updates and cleanup Update autoconf macros to their modern equivalents, according to what the 'autoupdate' tool does. While we're here, remove automake references that aren't being used, and remove the obsolete AC_PROG_LIBTOOL in favor of AFS_LT_INIT. Change-Id: I71066d6d72f8b1d8663e26fec83ae23d7f73f059 Reviewed-on: https://gerrit.openafs.org/12199 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit e01053e04a207bc0a7cf07cc9924e37450540fb4 Author: Michael Meffie Date: Thu Jan 25 18:27:00 2018 -0500 SOLARIS: suppress -xarch=amd64 is deprecated warnings The -m64 flag to specify 64bit builds was introduced in Sun Studio 10, circa 2005. The old flag -xarch=amd64 was deprecated as of Sun Studio 12, circa 2007. Ever since Sun Studio 12, the compiler complains with a warning message when the old -xarch=amd64 flag is given: cc: Warning: -xarch=amd64 is deprecated, use -m64 to create 64-bit programs Update the cflags when building the Solaris kernel module for x86 to use the modern -m64 under Solaris 11 or later. Since Solaris 11 has been available since 2010, it is very unlikely a compiler on Solaris 11 would not support the modern -m64 flag. Change-Id: Ib13c00f1c69f34ab1905a8dd4a46c90895046f25 Reviewed-on: https://gerrit.openafs.org/12959 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit cc1724e6f5a8f485197aba6246c909869e58d0b2 Author: Perry Ruiter Date: Thu Apr 23 21:33:27 2015 -0700 afsd: Improve syscall tracing When afsd is started with the -debug flag, extensive debug output is generated including tracing for each syscall. Unfortunately the existing syscall tracing is not especially helpful. It dumps out two constants that we already knew at compile time, the first parameter of the syscall along with the syscall's return code. Specifically it does not tell you which syscall is currently being traced. Here's a current example of afsd -debug: afsd: cacheFiles autotuned to 581250 afsd: dCacheSize autotuned to 10000 afsd: cacheStatEntries autotuned to 15000 SScall(183, 28, 6860800)=0 SScall(183, 28, -847416368)=0 SScall(183, 28, 1)=0 afsd: Forking rx listener daemon. afsd: Forking rx callback listener. afsd: Forking rxevent daemon. SScall(183, 28, 0)=0 SScall(183, 28, 1)=0 ... This patch drops the compile time constants (183 and 28 in the above sample output) and replaces them with the name of the syscall being traced. Additionally the first parameter to a syscall is as likely to be an address as a decimal value so display it in hex. Here's an example of afsd -debug with these changes: afsd: cacheFiles autotuned to 581250 afsd: dCacheSize autotuned to 10000 afsd: cacheStatEntries autotuned to 15000 os_syscall(AFSOP_SET_THISCELL, 0x68bf80)=0 os_syscall(AFSOP_SEED_ENTROPY, 0x7fff9ce40c10)=0 os_syscall(AFSOP_ADVISEADDR, 0x1)=0 afsd: Forking rx listener daemon. afsd: Forking rx callback listener. afsd: Forking rxevent daemon. os_syscall(AFSOP_RXEVENT_DAEMON, 0x0)=0 os_syscall(AFSOP_BASIC_INIT, 0x1)=0 ... [mmeffie@sinenomine.net: avoid c99 array initialization.] Change-Id: I4f3d46d420d19abeddbf719efa04aef7e553d51f Reviewed-on: https://gerrit.openafs.org/11858 Tested-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1f29c9f05f53966df1bbd9ece479155f78f995e0 Author: Michael Meffie Date: Fri Mar 16 20:51:42 2018 -0400 autoconf: attribute type checks Check for function attributes by type and update src/afs/stds.h to conditionally include the attributes detected, instead of checking for specific compilers and compiler versions. This allows attributes to be used when building under Solaris Studio. Change-Id: I8a4dbc1b2cb6032d28176349481085bf6deb309c Reviewed-on: https://gerrit.openafs.org/12963 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 8ecc4976b83a034263b348d1b001dda378b26932 Author: Michael Meffie Date: Thu Aug 9 15:18:50 2018 -0400 opr: avoid empty nonnull argument index lists Commit 71dc077831d339fc5822f2c2c79b65afe14b12f8 changed the AFS_NONULL macro in opr.h to fix a build error on windows by adding an empty argument index list. However, Solaris compilers do not support empty parameter lists. Specify the argument index to allow so nonnull function attributes can be supported on Solaris. Change-Id: I3e629868374eb6484923c253da2cdd1d8eacdb2f Reviewed-on: https://gerrit.openafs.org/13276 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit f9b3cf888304d42c2a1a8472fdeeab68a7347859 Author: Michael Meffie Date: Sun Jan 14 09:38:26 2018 -0500 autoconf: check for format __attribute__ to avoid warnings Building with Solaris Studio generates a ludicrous number of warnings in the form: roken.h, line ...: warning: attribute "format" is unknown, ignored Modern Solaris Studio supports several GCC-style function attributes, including the `noreturn' attribute, however does not support the `format' attribute. Currently, configure defines HAVE___ATTRIBUTE__ when the `noreturn' attribute is available. roken headers conditionally declare printf-like functions with the `format' function attribute when HAVE___ATTRIBUTE__ is defined, leading to the warning messages when building under Solaris Studio. Unsupported function attributes generate warnings, not errors. Fix these warnings by defining HAVE___ATTRIBUTE__ if and only if the `format' attribute is supported by the compiler, instead of checking for `noreturn'. Note that the `format' type is currently the only attribute used by roken at this time. Change-Id: I569167333d65df2583befc19befa8d719b93d75a Reviewed-on: https://gerrit.openafs.org/12956 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b818854f19e33315d1b6453b72a55b54d740e976 Author: Michael Meffie Date: Fri Mar 16 20:41:35 2018 -0400 autoconf: import gcc function attribute check macro Import Gabriele Svelto's AC_GCC_FUNC_ATTRIBUTE autoconf macro to check for GCC-style function attributes. This macro is part of the GNU Autoconf Archive[1]. The imported file is distributed under an all-permissive license. [1] https://www.gnu.org/software/autoconf-archive/ Change-Id: I64ccd00717fa9606a26aeeeea9030f4fb4877cf8 Reviewed-on: https://gerrit.openafs.org/12962 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 0da5ac4d9fb2a9b46c7415403a3cd26e711554e2 Author: Andrew Deason Date: Tue Aug 7 17:08:26 2018 -0500 afs: Return memcache allocation errors During cache initialization, we can fail to allocate our dcache entries for memcache. Currently when this happens, we just log a message and try to disable dcache access. However, this results in at least one code path that causes a panic anyway during startup, since afs_CacheTruncateDaemon will try to trim the cache, and afs_GetDownD will call afs_MemGetDSlot, and we cannot find the given dslot. To avoid this, change our cache initialization to return an error, instead of trying to continue without a functional dcache. This causes afs_dcacheInit to return an error in this case, and by extension afs_CacheInit and the AFSOP_CACHEINIT syscall. Also change afsd to actually detect errors from AFSOP_CACHEINIT, and to bail out when it does. Thanks to gsgatlin@ncsu.edu for reporting the relevant panic. Change-Id: Ic89ff9638201faae6c4399a2344d4da3e251d537 Reviewed-on: https://gerrit.openafs.org/13273 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 0bc5c15029cf7e720731f1415fcf9dc972d57ef4 Author: Joe Gorse Date: Mon Jul 2 20:36:04 2018 +0000 LINUX: Update to Linux struct iattr->ia_ctime to timespec64 with 4.18 With 4.18+ Linux kernels we see a transition to 64-bit time stamps by default. current_kernel_time() returns the 32-bit struct timespec. current_kernel_time64() returns the 64-bit struct timespec64. struct iattr->ia_ctime expects struct timespec64 as of 4.18+. Timestamps greater than 31-bit rollover after 2147483647 or January 19, 2038 03:14:07 UTC. This is the same approach taken by the Linux developers for converting between timepsec64 and timespec. Change-Id: Icc1cf5d1a6679f5c749f8720f225a9b293f675fd Reviewed-on: https://gerrit.openafs.org/13241 Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit ee66819a0c1a9efa98b76a1c18af6233bda1e233 Author: Andrew Deason Date: Thu Jul 26 17:57:38 2018 -0500 libuafs: Stop clobbering CFLAGS Currently, in the libuafs MakefileProto for every platform, CFLAGS is set to a bunch of flags, ignoring any CFLAGS set by the 'make' command-line provided by the user. Since most of the rest of the tree honors CFLAGS, it is confusing and can cause errors when src/libuafs ignore the user-set CFLAGS. One example of this breaking the build is when building RHEL RPMs for certain sub-architectures of the current machine. If you try to 'rpmbuild --target=i686' on 32-bit x86 RHEL 5, we will build with -march=i686 in the CFLAGS, which will be used to build most objects and is used in our configure tests. As a result, our configure tests will say that gcc atomic intrinsics are available. But when we go to build libuafs objects, we will not have -march=i686 in our CFLAGS, which causes (on RHEL 5) gcc to default to building for i386, which does not have gcc atomic intrinsics available. This causes build errors like this: libuafs.a(rx.o): In function `rx_atomic_test_and_clear_bit': [...]/BUILD/openafs-1.8.0/src/rx/rx_atomic.h:462: undefined reference to `__sync_fetch_and_and_4' To fix this, change the libuafs MakefileProtos to not set CFLAGS directly; instead, set them in a new variable UAFS_CFLAGS. Makefile.common then pulls those flags into MODULE_CFLAGS, which is used in our *_CCRULE build rules. While we are here, also move the common set of CFLAGS set by each platform's MakefileProto into Makefile.common. Now, each MakefileProto only needs to set CFLAGS that are specific to that platform, which ends up being very few (since most platforms were using the exact same set of CFLAGS). Relevant issue identified and analyzed by mbarbosa@sinenomine.net. Change-Id: I1bd21a6e7669137be3e5edee86227fd37f841d62 Reviewed-on: https://gerrit.openafs.org/13262 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a85aab9dfe7c2ee9e025bc15d849de2dd0a48913 Author: Marcio Barbosa Date: Thu Jul 26 10:30:35 2018 -0700 redhat: actually remove unused AFS::ukernel man page 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. 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: 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] Change-Id: If43f083a1014216e2f9a2669bf9e834149a40944 Reviewed-on: https://gerrit.openafs.org/13257 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 9ff5f8f7601cc9761cc6a4ef0e8b7c8c2c8dddb5 Author: Andrew Deason Date: Fri Jul 27 13:36:15 2018 -0500 ubik: Save errno before logging The value of errno can change after a syscall, and ViceLog may issue syscalls (such as write()). So, make sure we save errno here before calling ViceLog(). Issue spotted by kaduk@mit.edu. Change-Id: I0f3308d64cd779bd97c97834ec2b270f5edd7ba6 Reviewed-on: https://gerrit.openafs.org/13263 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0e1c042615d1aeb919a22568cdd2b2ea42c677ba Author: Mark Vitale Date: Fri May 4 17:32:51 2018 -0400 ubik: improve logging for database synchonizations As an aid for debugging database synchronization issues, ensure that the logging is consistent and unambiguous for both the client and server sides of DISK_GetFile and DISK_SendFile. Add new error messages as required. In addition, rework the "recovery sending version to " message in urecovery_Interact. This message is misleading because the new version database is only sent to a DB server if its version is not up to date. Instead, move this message into the version check block immediately below it. Also reword it for clarity and promote its log level from 5 to 0. Finally, remove the now-superfluous "recovery stating local database" log message. Change-Id: If8bbaa1215cab9fd24b157a0ee57759b34e77e9c Reviewed-on: https://gerrit.openafs.org/13079 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit eac22d3e46c72c0e2b82f35c5187d50b6fa136a2 Author: Mark Vitale Date: Fri Mar 17 18:12:23 2017 -0400 ubik: urecovery_AbortAll diagnostic msgs As a troubleshooting aid for developers, add a few counters and a log msg so we know when transactions are being aborted (if any) by urecovery_AbortAll. Change-Id: I528df6d51acd5d10bb2de30f43b8d4415adc7f8a Reviewed-on: https://gerrit.openafs.org/12618 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie commit 8b0e312d043d435f0e55c6dc14f5446ffedc7ce4 Author: Mark Vitale Date: Mon May 8 21:11:27 2017 -0400 ubik: log important messages at default log level Many important ubik messages (e.g., errors, warnings, sync state changes) are logged at log level 5 (-d 5) or higher. Many sites are reluctant to run ubik servers at a logging level higher than the default due to the large number of extremely noisy informational messages at log level 5. Therefore, many important log messages are never seen. Instead, issue critical errors, warnings, and other important messages at log level 0 so that they are always seen, even at the default logging level. In addition, disambiguate the two "I am no longer sync-site" messages by adding a unique reason text to each. Change-Id: I057edf01e2502e39c5135836f1d0081d03559270 Reviewed-on: https://gerrit.openafs.org/12617 Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Michael Meffie commit 483cad0121d848836b4155817b86231ef21be27a 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 Change-Id: I4cdbd57b3336e78a9eb1e543ee6d09b33f5e6153 Reviewed-on: https://gerrit.openafs.org/13245 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 7523397333c0f8c6a08312434968d84b8ff56306 Author: Andrew Deason Date: Fri Jun 29 15:25:48 2018 -0500 afs: Make afs_osi_Free(NULL) a no-op 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. Change-Id: If7c7011795f66464eeb578eacfc943475b4d59f8 Reviewed-on: https://gerrit.openafs.org/13236 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e60766286b7a581dcdd14466884ea7fdcae10918 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. Change-Id: Idddf8b867500d1ee73ff51de9d8a173bb4cc8c68 Reviewed-on: https://gerrit.openafs.org/13240 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit ab61bcffefdd0a431a435def193cd9a46e3b8ab6 Author: Stephan Wiesand Date: Mon Jul 2 13:33:20 2018 +0200 redhat: speed up userland-only rpm builds When building with --define "build_modules 0", have configure skip the Linux kernel tests, which are slow and many. Change-Id: Ie318bf4939776c9a3f8594dcdd5be54b446f33dd Reviewed-on: https://gerrit.openafs.org/13239 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit babf419886d687f8359159f35e8b89aff5e166f8 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 Change-Id: I998f48bd88308d81779dd775b322590eda75d5c8 Reviewed-on: https://gerrit.openafs.org/13238 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 89e80c354c404dedc0e5197f99710db0e5e08767 Author: Andrew Deason Date: Thu Jul 5 17:16:48 2018 -0500 LINUX: Detect NULL page during write_begin 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. 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. 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 [...] Change-Id: I00908658ae43aa3c8e12f2a0b956016d4441016c Reviewed-on: https://gerrit.openafs.org/13242 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b1ad473be01162fe9b3835544a835c4dcf0fcb35 Author: Mark Vitale Date: Sat Jun 30 17:35:09 2018 -0400 rxevent: prevent negative rx_connection refCount 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. One reported symptom of this bug is a fileserver crash with: 'Assertion failed! file rx.c, line 1327.' Introduced by commit 304d758983b499dc568d6ca57b6e92df24b69de8 ('Standardize rx_event usage'). Change-Id: I67122ff84ac9b1b6445ad4005e76e5f8482fd7be Reviewed-on: https://gerrit.openafs.org/13228 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 328590dc5669cae3db6c509871b612b0384ea33d Author: Jeffrey Altman Date: Sat Mar 24 01:22:54 2018 -0400 volser: DoVolDelete returning VNOVOL is success When moving, copying or releasing volumes, do not treat a failure to delete a volume because the volume no longer exists as an error. The volume clone has flags VTDeleteOnSalvage | VTOutOfService assigned to it which means that the fileserver won't attach the volume and volume has its deleteMe field assigned the value of DESTROY_ME. Such a volume will be deleted the next time the salvager scans the partition. Once the transaction is complete the volume might be removed. Change-Id: I0bd38906e3836e0c96f3784a8bd9ad63f5b857c6 Reviewed-on: https://gerrit.openafs.org/12976 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0322dd56b20b2e2fd6eb7f217964174fb5d25cdd Author: Andrew Deason Date: Thu Jun 28 13:08:47 2018 -0500 afs: Change afs_AllocDCache to return error codes Currently, afs_AllocDCache can fail in 2 different situations: - When we are out of dslots on the free/discard lists - When we encounter an i/o error when trying to traverse the dslot lists But afs_AllocDCache cannot distinguish between these two cases to its caller in any way, since all we have to return is a struct dcache (and so we return NULL on any error). Currently, the caller of afs_AllocDCache in afs_GetDCache is determining which of these cases happened by looking at afs_discardDCList and afs_freeDCList, to see if they look empty. This is not great for at least a couple of reasons: - We are examining afs_discardDCList/afs_freeDCList after we drop afs_xdcache (but while still holding GLOCK) - If afs_discardDCList/afs_freeDCList are somehow changed while afs_AllocDCache is running, we may infer the wrong reason why afs_AllocDCache failed. (currently impossible, but this seems fragile) And in general, this check against afs_discardDCList/afs_freeDCList is rather indirect. It may be easier to follow if afs_AllocDCache just directly returned the reason why it failed. So do that, by changing afs_AllocDCache to return an error code, and providing the struct dcache in an output argument. This involves similiarly changing several called functions in the same way, to return error codes. We only define 2 such error codes with this commit: - ENOSPC, when we are out of free/discrad dslots - EIO, when we encounter a disk i/o error when trying to examine the dslot list Note that this commit should not change any real logic; we're mostly just changing how errors are returned from these various functions. Change-Id: I07cc3d7befdcc98360889f4a2ba01fdc9de50848 Reviewed-on: https://gerrit.openafs.org/13227 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4ab70de9641807bd06056f0c1ac79550453b9574 Author: Andrew Deason Date: Thu Jun 28 12:50:52 2018 -0500 afs: Make afs_AllocDCache static Nothing using afs_AllocDCache outside of afs_dcache.c. Declare the function static, to ensure that nobody else uses it, and to maybe allow for more compiler optimization. Change-Id: I4e4d1e77e20e853fc20b3d5c5289a5f4124de7a4 Reviewed-on: https://gerrit.openafs.org/13226 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e14ba54095ea44ca2d6e6833280a201186da91f8 Author: Mark Vitale Date: Fri Mar 17 21:42:31 2017 -0400 ubik: log when a server is marked down, and why In order to better manage voting and recovery, each ubik server tracks (in array ubik_servers) which of its fellow quorum members are 'up' or not. However, ubik currently logs only when a server is "back up"; that is, ubik_server->up transitions from 0 to 1. Add new log messages to identify the time and reason when a server is "marked down" (i.e., ubik_server->up transitions from 1 to 0). Also modify two existing messages to have consistent wording with the new "marked down" messages. Also change them to ViceLog (log level 0) so they will always be logged. Change-Id: I29ee93e96cb7b28b943171d1477671c540a10d78 Reviewed-on: https://gerrit.openafs.org/12616 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0839a3326858f7d7a0042614710dcf7316bb6018 Author: Mark Vitale Date: Thu Jun 14 14:38:54 2018 -0400 afs: remove dead code afs_CheckLocks has been dead code since openafs-ibm-1_0. No functional change incurred. Change-Id: I9d57cf3bbbddef182fb128f65b04465bfe0fb492 Reviewed-on: https://gerrit.openafs.org/13210 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b4b50118d889999042e23507df6eab6eb164b38b Author: Mark Vitale Date: Thu Jun 14 14:03:45 2018 -0400 vol: remove dead code PartitionID has been dead code since openafs-ibm-1_0. No functional change incurred. Change-Id: I93da25ef853716db7a0b7f945f8b19a15a055a43 Reviewed-on: https://gerrit.openafs.org/13209 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 9d0b2698ac7ab8bb689f30d819bbef08c05a8bf7 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. Change-Id: Ia24430e5069cd61c0557a07d1bd2c35a6872db8c Reviewed-on: https://gerrit.openafs.org/13219 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 907e09ff2b7e86005765a594db27e1df194ec204 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. Change-Id: I0499f789a493960b99052e00763703698b3f9517 Reviewed-on: https://gerrit.openafs.org/13216 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 94f1c1e2a7125e93ed49de31522be806af28626b 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. Change-Id: I8bd5e344c1b0e12e0c70e0340bacbc6a94984767 Reviewed-on: https://gerrit.openafs.org/13215 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 472d6b1ee2f7de415e0fa0f8be0636f86956b6fc Author: Michael Meffie Date: Thu Jun 14 15:01:18 2018 -0400 ubik: do not assign variables in logging argument lists Several logging statements in ubik contain an assignment statement within the logging function call argument list, which would set a variable as side effect of evaluating the function call arguments. These embedded assignments are problematic since the logging function calls have been replaced by ViceLog macros, which avoid the overhead of a function call depending on logging levels. Remove the embedded assignments within the logging argument lists so the variables are always set regardless of the logging level. Change-Id: Ifc0f32df2d01f9d8105b49e2c56a95758b184449 Reviewed-on: https://gerrit.openafs.org/13211 Tested-by: BuildBot Reviewed-by: Joe Gorse Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit e08b9c8d36da3f37efabfb3f94476108a5985d23 Author: Benjamin Kaduk Date: Thu Jun 14 20:37:46 2018 -0500 Remove the unused opr_AssertFailU() function Change-Id: Idb55adeea508d3376269bce998eb8b1c3e4cbd59 Reviewed-on: https://gerrit.openafs.org/13213 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 691757576fb6d60a34fef2c4bc50ae581b65ad76 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. Change-Id: Ia0bdaec891450fe9a3ca10badcaba68bea27c466 Reviewed-on: https://gerrit.openafs.org/13212 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 14da55719c9e9bff1f8e7e02c8a8d47c59fb7b4a Author: Pat Riehecky Date: Wed Jun 6 11:10:25 2018 -0500 mcas: Make sure 'padding' is null-terminated With 'padding' explicitly filled with all spaces string copy operations may result in unexpected values. Padding is extended by 1 and null terminated to avoid unexpected behavior. (via cppcheck) Change-Id: I8a9845ae87002018705ad23c2b089c8ef571b7bc Reviewed-on: https://gerrit.openafs.org/13164 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6e7db633efad1c88bb300089e3bd4c9feaea5f23 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. Change-Id: I12ddf2427d807f4ee7b07af1e1c498fc119a0f1c Reviewed-on: https://gerrit.openafs.org/13139 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 0b1edd96ac7a952148ec14f8baaf60c8d8bbc04f Author: Benjamin Kaduk Date: Thu May 31 19:00:03 2018 -0500 libafsrpc: export some more rx functions Change-Id: I6aea7eff7a5bc957896a5a7457a945dd0feaec88 Reviewed-on: https://gerrit.openafs.org/13138 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit f01ee714152a0a6247f2f456aa1f0a728d74373c 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. Change-Id: Ibd1da844f274398e9296f00241b1be48bb95e4fe Reviewed-on: https://gerrit.openafs.org/13137 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c12cfd7331727142cb928e08ec32a708d0cfd1e9 Author: Benjamin Kaduk Date: Sun May 27 22:54:01 2018 -0500 libafsauthent: export additional xdr_ functions 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: Iaac349cfaa1a07d5908a88e4c230874c6301471a Reviewed-on: https://gerrit.openafs.org/13131 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 12f4fd2901fee8bf27c2cec97efd3d242c6ff025 Author: Andrew Deason Date: Thu Apr 26 12:27:12 2018 -0500 afs: Stop looking for dcaches on Get*DSlot errors 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. This behavior was introduced in a few commits, including: - 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) 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. 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. 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. 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. 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. Change-Id: I3047da690d39c000ef59dfc0ad526ecc5e382104 Reviewed-on: https://gerrit.openafs.org/13034 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit bec329c1c81d96b5933527f7cdb3638f24833087 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. Change-Id: I331913ab882216e3f71cc44da91f7f7d33c34004 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 commit 0ff2364bd5e68c0a7587f8fbc552bf20b99d7039 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. Change-Id: I9b8dd6c861b8066822c44758566c05abd7dc1660 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 commit 35b6d2a6d5a1ca13544a217a35688e9a0f6b6ec6 Author: Andrew Deason Date: Wed Feb 28 18:25:46 2018 -0600 rxgk: Define some protocol constants rxgk_int.xg is missing a few constants mentioned in the respective protocol specs: - The RPC-L definitions for PrAuthName are defined, but no PRAUTHTYPE_* constants for the 'kind' field are defined. Define at least PRAUTHTYPE_GSS, which rxgk uses. - The rxgk spec indicates a size of 20 for the nonces used in rxgk challenge and response packets. Define a constant (RXGK_CHALLENGE_NONCE_LEN) for this value, to make it easier to define similarly-sized structures. - The rxgk-afs spec defines the time value of 0 as a special "never expires" value. Define a constant (RXGK_NEVERDATE) to represent it. Change-Id: I07e1a1b19d1c887fd3e1a1d0f270d5af7b8581b0 Reviewed-on: https://gerrit.openafs.org/12939 Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 27d7b8fe4603c39362983758fe6a749fa5ffa4e5 Author: Mark Vitale Date: Fri May 4 15:42:14 2018 -0400 ubik: make ContactQuorum_* routines static Most of the ContactQuorum_* routines are only used in ubik.c, so make them all static - except for ContactQuorum_DISK_SetVersion, which is called from disk.c. Change-Id: I7d1ccd839e01ea8ee8d768dd369a892773361b05 Reviewed-on: https://gerrit.openafs.org/13078 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 8b1e730c11a6ed7dc067ef185302bd57a69f6d1e Author: Mark Vitale Date: Wed May 9 16:50:55 2018 -0400 ubik: remove unused ContactQuorum_DISK_Write This function is not used; remove it. No functional change is incurred by this commit. Change-Id: I7e3bb26fb62b0e28c8703154eb3df384d4dbc32d Reviewed-on: https://gerrit.openafs.org/13077 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b9fe4d4290ad19faf3b5fb5dc0c3b1ee3ee5ab69 Author: Mark Vitale Date: Mon May 8 17:50:00 2017 -0400 ubik: disambiguate "Synchonize database with server" msgs Ubik issues the same message in two very different cases: - sync server issues DISK_GetFile to obtain the latest version - non-sync server receives DISK_SendFile from the sync server Modify the messages so they provide more information and are distinguishable from each other. Change-Id: I99e8adc7229260f478a0df15791216e090d2e113 Reviewed-on: https://gerrit.openafs.org/12615 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit fdc8adbf0904cbbc0590379c5cb702a15273b40c Author: Mark Vitale Date: Tue Jun 5 14:12:20 2018 -0400 xdr: remove dead code, whitespace from xdr_enum 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. No functional change is incurred by this commit. Change-Id: I9f725ab6aff6cafa911975e9edaed8f07c8a328a Reviewed-on: https://gerrit.openafs.org/13076 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit eb1d2ef203a2a99c908b3b89d9ea8337a91b944b Author: Mark Vitale Date: Wed Jun 6 15:23:26 2018 -0400 xdr: avoid xdr_enum memory overrun 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 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. Instead, modify xdr_enum to use xdr_int for its work. Change-Id: I671d55588d88e0640f365624b83bd04b53dc97cc Reviewed-on: https://gerrit.openafs.org/13075 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit ef6a1e8118a25b885889179739a3539a598068bc Author: Benjamin Kaduk Date: Sun May 27 16:23:16 2018 -0500 libafsauthent: export ugen_ClientInit* 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. Change-Id: I6577ef5f95d2b801c049befa9fddd3b605ff80f5 Reviewed-on: https://gerrit.openafs.org/13130 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 1974eac772157651594c1b76ea8f55e4567b3ec5 Author: Benjamin Kaduk Date: Sun May 27 16:03:12 2018 -0500 libafsauthent: Export more token-manipulation functions For both Windows and Unix. Change-Id: Icd90a2fd3f674b13dd44323d9bc20a8f1070a16e Reviewed-on: https://gerrit.openafs.org/13129 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 4008f83ca80c5ed7b612a13f760b4bb8b9866f2b Author: Benjamin Kaduk Date: Sun May 27 15:18:12 2018 -0500 libafsauthent: export ktc token 'Ex' routines for Unix We need these to handle the modern identity structures (they are already exported on Windows). Change-Id: I3a3f766e9c9a9fad96f2656c4f066a67cacee4a6 Reviewed-on: https://gerrit.openafs.org/13128 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit cdd1f16f5ef52093a8f7d3f87a45775d3c87b780 Author: Benjamin Kaduk Date: Sun May 27 14:18:07 2018 -0500 libafsauthent: export more afsconf_ functions 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. Change-Id: Id9bc394d631f9c00915520aff763af497ef2035b Reviewed-on: https://gerrit.openafs.org/13127 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit bcce41bd99b4361631b64cf4749d1dcf80df1cd7 Author: Benjamin Kaduk Date: Sun May 27 13:11:05 2018 -0500 Synchronize libafsauthent afsconf_ exports with windows The Windows library was exporting several more afsconf_* symbols than the Unix one; bring them into sync. Change-Id: Ifba074124a0a3cfeed256553d7dbedbebd3c2996 Reviewed-on: https://gerrit.openafs.org/13126 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 1dc9bb4e7362029db073250f23a09f949e1655de 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. Change-Id: I7edca660671b880a69f0c499d54adffbbe62d2b2 Reviewed-on: https://gerrit.openafs.org/13090 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e71985bce593e9dba43443e084eb726fcc5259e3 Author: Pat Riehecky Date: Fri May 25 12:03:35 2018 -0500 Remove pointless assignments scan-build identified these var assignements as being unused or redundant. Change-Id: I3b51e3e1503c0724a2cf1bab37e1c02f4ae533b2 Reviewed-on: https://gerrit.openafs.org/13086 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 9670937d5f12f1edc7bdcb588133f53ec1af2d6f Author: Pat Riehecky Date: Fri May 25 12:48:15 2018 -0500 Convert extended character set to unicode Change-Id: I9989f16ac670e007827ecfe8e02daf9b36d98d4e Reviewed-on: https://gerrit.openafs.org/13088 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 2b08d687b992f238fa59773ef2ff1710c520f861 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. Change-Id: I703bb3e633435f9c9a62717333a6027476b6bab8 Reviewed-on: https://gerrit.openafs.org/13087 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a411366f57dcf39cc17b6d61d8332e520dff57d1 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 Change-Id: I2b5e39fd8a3819e07077c2a4f28a9aa5ac432e1e Reviewed-on: https://gerrit.openafs.org/13081 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 759f29cfdfabed4dc5c1b96a0b2b79a3f83c08e3 Author: Michael Meffie Date: Mon Apr 25 11:19:10 2016 -0400 Windows: define AFS_IHANDLE_PIO_ENV for ihandle pio 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. 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. Change-Id: I39b078177bc5a2f1daf8a8f8e6bfb1c76e6dfaf7 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 commit 343234d221ae8388f55748f5c494a42d5d69bfa0 Author: Michael Meffie Date: Mon Apr 25 11:06:11 2016 -0400 ubik: convert ubik_print to ViceLog Use the server logging macros instead of the utility functions to avoid function call overhead, especially at logging level 25. The server logging macros perform a logging level check in-line to avoid the unnecessary ubik_dprint* calls. Change-Id: Ia86efad6257b764f0922957017fe8326f0de76d3 Reviewed-on: https://gerrit.openafs.org/12619 Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 8225518cd08b810bf3d8c74e27e3d3a753b6b30b 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. Change-Id: Ic8b2b7da852a3dc7e9984b63da70d0403845452e Reviewed-on: https://gerrit.openafs.org/13043 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 849ddd4fde0759e385cf3ed4054fc11c36a62fc3 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. Change-Id: Ib6f219e407b75a6052d6e29008977c8545b2aa36 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 commit 554c38473d1465af4c4613209229c274807fffd8 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. Change-Id: Ie3f3f7b0662451353834d2e3b5c3dd1131c1935e 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 commit b48fe6b57f13bacb368e27389ccd3f9c279822da 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. Change-Id: I95542172f28759852a76589d05845869cf7e9c9a 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 commit 3be1de0e823db7068e27b9c5c30a91673f058e52 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. Change-Id: I77941aa7fbbcb154c67769fe875474920d86d756 Reviewed-on: https://gerrit.openafs.org/13056 Tested-by: BuildBot Tested-by: Anders Kaseorg Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 70c4922980d1596155b4021cd72d6895c2371e23 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. Change-Id: I72c6f9402a46aff6fa2719c0b9e0974c7ff7b57e 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 commit 792dd44ac57032a3f2a4743c83c8a0208a08ecec 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. Change-Id: I8afd1d635534910739ec37d56201a86998962cfa 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 commit 845c8927ef20e245bb88bc783dc2e581b61fbaba 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. Change-Id: Ia6768098fb3c67475c8948c874b92b91bf17cdb7 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 commit e4c7321560acf0bd34eeee7d46269818d82fdb44 Author: Mark Vitale Date: Wed May 17 16:32:20 2017 -0400 ubik: death to orphaned signals ubik has a few very old "orphaned" LWP events that are signalled via LWP_NoYieldSignal, but have no matching waits (LWP_WaitProcess). 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. Remove the orphaned signals. No functional difference should be incurred by this commit. Change-Id: I66eba45975a829216e7af1927e51ec6aab63f570 Reviewed-on: https://gerrit.openafs.org/12620 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Mark Vitale Tested-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 55013a111394052a0253c87a744d03dfabd1be75 Author: Pat Riehecky Date: Wed May 23 15:42:09 2018 -0500 lwp: Fix possible memory leak from scan-build It is possible for LWP_CreateProcess to return early. When it does, it should free up any memory it allocated before leaving scope. Change-Id: Ib5644d36dc01bbac33804f4a039661ce2c78969d Reviewed-on: https://gerrit.openafs.org/13080 Reviewed-by: Andrew Deason Reviewed-by: Marcio Brito Barbosa Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 850c7c50dccbdebb8e0a44da4fc7840760d9e02d Author: Michael Meffie Date: Fri Apr 27 23:08:34 2018 -0400 util: check for trailing characters in partition names 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. 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). 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". 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. 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. 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. Change-Id: Iad9aee05fcf439cac9afcd89cf367be693261fbd Reviewed-on: https://gerrit.openafs.org/13039 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Andrew Deason commit c0f2c26e9298d12209fbb5e523ea3173202316e5 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. Change-Id: I553ce6cc8bc751b9ed789312f7efb4e0f737a52e Reviewed-on: https://gerrit.openafs.org/13038 Reviewed-by: Benjamin Kaduk Reviewed-by: Marcio Brito Barbosa Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Tested-by: Benjamin Kaduk commit f1d389e80367c7ea532441f9aa27a6cc3e2853a7 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. Change-Id: I068684782b22af788ce892c995a6d80f2d9fb2e0 Reviewed-on: https://gerrit.openafs.org/13069 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit b8617f08d1bf57a6b3fbba44e5b4de24dc84a9bb 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. Change-Id: I7611a7ca5aa5743be43aefafeda5ecf9a5d47598 Reviewed-on: https://gerrit.openafs.org/13068 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f045de21a45fcc8f71e2b30e826c22c8a7b4d0f2 Author: Jeffrey Altman Date: Fri May 11 15:44:24 2018 -0400 viced: SRXAFS_InlineBulkStatus set InterfaceVersion on error 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. 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. Change-Id: I5ca1b08cb32d01843a1c6dee87d8ba1d560396c8 Reviewed-on: https://gerrit.openafs.org/13067 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3cc22a442e1dad628f0b11a32c4037fc7174dde4 Author: Marcio Barbosa Date: Tue May 15 17:10:45 2018 -0400 ubik: clones should not request votes 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. 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: 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: $ bos removehost -server -host host1 $ bos addhost -server -host host1 -clone 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. Change-Id: Ic3569af8264dfff32f2a86b8dd99b922193f010a Reviewed-on: https://gerrit.openafs.org/12654 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 8e740aed774d4507e656e6ae743f6c6fe6c0e356 Author: Marcio Barbosa Date: Thu May 10 00:46:01 2018 -0300 afs: alloc openafs_lck_grp before osi_Init() on darwin 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, call MUTEX_SETUP() before osi_Init() on Darwin. Change-Id: Ib53118208d3ca7982e712768f334299e3d948805 Reviewed-on: https://gerrit.openafs.org/13065 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c16423ec4e678e5cb01dc99f4115065f8ef6caf7 Author: Marcio Barbosa Date: Mon May 14 16:46:26 2018 -0300 rx: fix atomics on darwin 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. 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+). Change-Id: Ia6cbc76daa7068625dc9f6dff385d0568d6503bd Reviewed-on: https://gerrit.openafs.org/13063 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 96a4bee20d42484148d163b85ca049dcc980a7a5 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. Change-Id: Ifc062d5665393aa6693eb0db63aa23e4feb44df4 Reviewed-on: https://gerrit.openafs.org/13061 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 46d5695a383b2b993fdd598b770f4e3c0e1a41f3 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. Change-Id: Ia5f180a5c709881c3e884629c02e9ff93729fa88 Reviewed-on: https://gerrit.openafs.org/13047 Reviewed-by: Benjamin Kaduk Reviewed-by: Michael Meffie Tested-by: BuildBot commit 22e64df8e043fa7bd78bff263866ee2bd6a6e13d 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. Change-Id: If570ecc7f0fd0aab8340b568fc6cb2e2d316f35a Reviewed-on: https://gerrit.openafs.org/13046 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 3ec0414f769c37a19410fbd9aefb086cb5b69e55 Author: Benjamin Kaduk Date: Tue May 8 18:04:21 2018 -0500 Use afs_DestroyReq in afs_PrefetchNoCache() Since commit 76ad941902c650a4a716168d3cbe68f62aef109f we use afs_DestroyReq() instead of osi_Free() directly. Also update the UKERNEL version of the function to afs_CreateReq() properly. FIXES 134533 Change-Id: I4a13f6232dbed12ee00ce219cb5f515529fff58c Reviewed-on: https://gerrit.openafs.org/13060 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit f6af4a155d3636e8f812e40c7169dd8902ae64be Author: Andrew Deason Date: Mon Apr 30 17:30:56 2018 -0500 LINUX: Return NULL for afs_linux_raw_open error 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. 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. 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: I1462ec43c76c0b07e9368b37a9dbaedf6b6f4409 Reviewed-on: https://gerrit.openafs.org/13045 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 54e84a98f9747bb5bb2ad4b8031115ad7684c914 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. Change-Id: I0800e5c743cedcbec628bfa8c8ea8978c2488c1c Reviewed-on: https://gerrit.openafs.org/13014 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit cfa74883e4996dfee2bd6ffaa3b967e5a7941e0b Author: Stephan Wiesand Date: Thu Apr 26 19:50:06 2018 +0200 redhat: PACKAGE_VERSION macro no longer exists 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. Change-Id: I363241f45c5261aaf2fa0619fb159022f6dbd56a Reviewed-on: https://gerrit.openafs.org/13031 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 076b73e06df8240f209470ea6ee19b66eb4166c3 Author: Stephan Wiesand Date: Thu Apr 26 19:33:31 2018 +0200 redhat: Make separate debuginfo for kmods work with recent rpm 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. 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. 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. Change-Id: I57178ed2c593551ede6f4ab2679dd0360dc362cf Reviewed-on: https://gerrit.openafs.org/13030 Tested-by: BuildBot Reviewed-by: Michael Meffie Tested-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 09f31d4c21328bcdc1dccdedf7df53d77c22e3e3 Author: Jeffrey Altman Date: Fri Feb 23 18:47:46 2018 -0500 rx: connection aborts send serial zero when no conn available 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). Serial number zero (0) can be an indication to humans reading packet traces that the sender has no knowledge of the connection. Change-Id: I1951284f810170bd130e4f1d8ed93b903cd66659 Reviewed-on: https://gerrit.openafs.org/12932 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit cacf2b646759132dbf21e9c04fb3cfc6c2f8f1f3 Author: Jeffrey Altman Date: Fri Feb 23 18:26:24 2018 -0500 rx: pass serial number to rxi_SendRawAbort The practice of stamping abort packets with the connection's next serial number was altered by a0ae8f514519b73ba7f7653bb78b9fc5b6e228f8. 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. Change-Id: I0fb516b2c596e675fa4bc44598a697de81d36d83 Reviewed-on: https://gerrit.openafs.org/12931 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3d3e7bc51aaf39b5ca04bfd36ff9017ab0622057 Author: Michael Meffie Date: Mon Apr 9 19:54:54 2018 -0400 autoconf: add kernel module to the summary Add the kernel module to the list of optional build items in the configure summary to indicate whether the kernel module build is enabled. Change-Id: I11d247ac66d8119910a90a0240b0ce5854449db4 Reviewed-on: https://gerrit.openafs.org/13005 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 85e9db22b265f9bb3745246fea3a07158b8a8c0e Author: Michael Meffie Date: Mon Apr 9 19:50:28 2018 -0400 autoconf: remove uss from configure summary Commit 00a33b26d74aa067086ddc340efb82184715857f (uss: always build uss) made the uss build unconditional. Remove it from the list of optional items in the configure summary. Change-Id: Ia249451c574974b4f0892c4d6d626c57404ea8ce Reviewed-on: https://gerrit.openafs.org/13004 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 833a81eeda6e48ea1ced92169434e843d054c44d Author: Michael Meffie Date: Mon Apr 9 16:42:41 2018 -0400 autoconf: remove more linux 2.4 references Remove old linux 2.2 and 2.4 references in the autoconf macros left over from the linux 2.2 and 2.4 days. Change-Id: Ie859d938fa1fee1d98a035b55e5e41120b66bc69 Reviewed-on: https://gerrit.openafs.org/13003 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 28ea20d03f8abd8109547d6825edad159748397a Author: Michael Meffie Date: Thu Apr 5 23:43:34 2018 -0400 redhat: remove the openafs-kernel-version.sh script 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. Remove the unused openafs-kernel-version.sh script from the package sources. Change-Id: I6494812004f7b59c786ff670ff37c2fdc354f371 Reviewed-on: https://gerrit.openafs.org/12996 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk commit 9f0164f4254da39c3c31e0268da58ce7a6ccda1d Author: Michael Meffie Date: Thu Apr 5 22:56:50 2018 -0400 redhat: remove extra kernel version check 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. 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. Change-Id: I45ded3b4f61ec60a64288b89c1d553df9fa7b867 Reviewed-on: https://gerrit.openafs.org/12995 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk commit 909d8358109445fdb316b68a8e55e17626cf17c9 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. Change-Id: I02c2150a04ef20c54da793926fb402b946311f9a Reviewed-on: https://gerrit.openafs.org/12964 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 154512831966d12c1e32e6271d4ab1440a25b96e Author: Stephan Wiesand Date: Wed Apr 4 17:09:39 2018 +0200 FBSD: param.h consistency 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. 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 Change-Id: Ibb7e6c4caaab7aa97b32eeec7aa0bbe998bb57f7 Reviewed-on: https://gerrit.openafs.org/12990 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 1a0d68676526a5031d7f06f44d58c6dbb2b65da7 Author: Marcio Barbosa Date: Thu Mar 29 15:52:12 2018 -0300 autoconf: remove check for lorder Currently, lorder is not being used. Remove the conditional that checks if this binary exists. Change-Id: I5ccee8b34f33ba0bda38a1d0478ff7a46f73f79c Reviewed-on: https://gerrit.openafs.org/12981 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 387ae9536888419d7b101513e04e1c644e3218d6 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. Change-Id: Ibcb34e4c8efde13d0600005772751d8aeb8154aa Reviewed-on: https://gerrit.openafs.org/12977 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Tested-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 60a006bdc43df42e40eb43f1e1af7fffe3e85763 Author: Ben Kaduk Date: Fri Dec 13 16:25:47 2013 -0500 Export {Get,Set}ServiceSpecific from liboafs_rx.la rxgk will use service-specific data. Change-Id: Id9e2d4b9920e771e1583b9362e61de6216c246b4 Reviewed-on: https://gerrit.openafs.org/10589 Reviewed-by: Daria Phoebe Brashear Reviewed-by: Chas Williams <3chas3@gmail.com> Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit f70ab59f88aa41074c9f075368137bd663cc8bce Author: Ben Kaduk Date: Mon Dec 9 14:42:13 2013 -0500 Add some time-related helpers RXGK_NOW(), a quick routine to get the current timestamp as an rxgkTime, and secondsToRxgkTime for the more general scaling factor. Change-Id: I0051b5c8e5ad61e35431d97454bf2741daba90cb Reviewed-on: https://gerrit.openafs.org/10566 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit f47cb2d4a957910c3e7d4b755f41ddef5dd103c5 Author: Michael Meffie Date: Sun Jan 21 18:38:11 2018 -0500 Suppress statement not reached warnings under Solaris Studio 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: while (1) { /* no breaks or gotos in this body */ } return 0; Suppress these warnings by conditionally removing such statements when building under Solaris Studio. Change-Id: Ib4f465bf9c00eff0d603e5bd643db7d3a5aa0ba0 Reviewed-on: https://gerrit.openafs.org/12958 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 306f0f3100e453e165032ae3bc9022b4a9a9a4c5 Author: Michael Meffie Date: Sat Jan 13 20:14:59 2018 -0500 afs: squash empty declaration warning Remove spurious semi-colon which generates a warning when building under Solaris Studio. "./src/afs/UKERNEL/sysincludes.h", line ...: warning: syntax error: empty declaration Change-Id: I022728ddfd4b8229db0a247de2470846c802a462 Reviewed-on: https://gerrit.openafs.org/12957 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e0066095e7f74653c2c08d1b00010ba59f4c2cf3 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 Change-Id: Ie791c45c48ffc15547864bee568f52f74ab6020f Reviewed-on: https://gerrit.openafs.org/12955 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 348dc87bb2eeb66d1e683dc91ee36724ee18f1af 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. Change-Id: Ia34c8028b07df203b3885157e2d46c6bb512f608 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 commit fe8a1f3a2b669057451cac358faa7320722dc053 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. Change-Id: I1d551ed8e5fcfd6bdc29c6c27eee4c2ae67e1a89 Reviewed-on: https://gerrit.openafs.org/10575 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 00e12efa29659c28f0fd7b6acbfb57d91a6ca477 Author: Andrew Deason Date: Tue Mar 6 22:04:28 2018 -0600 SOLARIS: Check for map_addr() without 'vacalign' 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. Change-Id: Id11c10cf849511635bd9490c97d978b4bdaa5e06 Reviewed-on: https://gerrit.openafs.org/12947 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 6082243e42525c738239fe429bcb64e0e4f22207 Author: Andrew Deason Date: Wed Mar 7 15:57:56 2018 -0600 hcrypto: Avoid arc4random in kernel 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. To to avoid this, undef HAVE_ARC4RANDOM when building hcrypto for the kernel, just like we do with HAVE_GETUID. Change-Id: I17472420b35e7be6b4f698082714c2e51bdb064b Reviewed-on: https://gerrit.openafs.org/12946 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3e9ea6107973ccc4fa3d405f5b5d76666bfd624f 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. Change-Id: I7d47c17f9d9401dc5dcc9676279bf1e4f53554c4 Reviewed-on: https://gerrit.openafs.org/12945 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5a8b68153124c3a9224f0b6993df9de9c6c54541 Author: Michael Meffie Date: Thu Feb 22 13:23:18 2018 -0500 venus: convert fs.c to safer string functions Convert string handling to safer functions to avoid buffer overflows. Change-Id: Ibb4f18d78724d87a002e2b0458cba2cceee8670c Reviewed-on: https://gerrit.openafs.org/12923 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit c84f36a9b8c6b6adb9c77bab1c814ccd3aaf6a5b 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); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: Iead8b153a62f2928fabaeee1ed126535f67d7d49 Reviewed-on: https://gerrit.openafs.org/12917 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 70b7f743550a8ce02292a12c4188deaf85b1a533 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. Change-Id: I36338804ee5d0ac2eb818c42cf2671497cd5967f Reviewed-on: https://gerrit.openafs.org/12922 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit cec45d59440f55316097cfd6652d2ea26cd55233 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); ^~~~~~~~ Change-Id: Iadf87a308ab6c500a8407a269bc0fd443ff0c735 Reviewed-on: https://gerrit.openafs.org/12916 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c44f6f7a8052bdd1fb021e07bb6ae142b61e6b5b 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. Change-Id: I62a3565fca20171be20481638c261c4659c68ab2 Reviewed-on: https://gerrit.openafs.org/12943 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit d0805d72b7a48dcaa7abe1aea136a8cd963d76c2 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. Change-Id: Id382132f6b400bf961dbaa52138a9abd0168118d Reviewed-on: https://gerrit.openafs.org/12944 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c818f86b79a636532d396887d4f22cc196c86288 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. Change-Id: I242276150ab2a506e1e9c5c752e3f17d36c98935 Reviewed-on: https://gerrit.openafs.org/12935 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 79f33b859aeb3c91f2cce7597fdc138978c4e1d9 Author: Benjamin Kaduk Date: Thu Mar 1 20:28:23 2018 -0600 afs_pioctl: avoid -Wpointer-sign 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. Change-Id: Ibd2679e6a4519db46f57693ff58221f18f6a2fe1 Reviewed-on: https://gerrit.openafs.org/12934 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit bd6a2484011dad6298c4ce97dd0cd68e0834baa5 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; Change-Id: I4f6a6e92aa0bd4282fab4743ea622815a009fecf Reviewed-on: https://gerrit.openafs.org/12924 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Michael Meffie commit 6d74e3d6a1becf86cec30efc2d01a5692167afe1 Author: Michael Meffie Date: Tue Feb 20 11:51:01 2018 -0500 afs: improve -volume-ttl error messages 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. 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. 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: I6b3ab7d38a60464017daf06f70080a90d2a7a429 Reviewed-on: https://gerrit.openafs.org/12918 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 278581c24a802834719e0d57f27978321556c9bb 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 Change-Id: Ifa8a0938f0c16e6099cd2923a71dd6466052a4d8 Reviewed-on: https://gerrit.openafs.org/12919 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit f82d1c7d5aeae148305e867c1f79c6ea2f9e0a2a 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. Change-Id: I87787e7ad0a85d52a01711bb75e2be1af9a868b8 Reviewed-on: https://gerrit.openafs.org/12906 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3ddae7d168ac08c46b4e31517fdb1f6ac1ae63ac Author: Andrew Deason Date: Thu Feb 15 18:40:07 2018 -0600 RHEL: Add aarch64/arm64 to spec file Change-Id: I2247f40a839e976605e80cf468d7a023598d5dc5 Reviewed-on: https://gerrit.openafs.org/12911 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e6c2624249a6ab96053c1d1134aec8e3f6bcee9e 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) Change-Id: Ib6b2871b111c392260ea80e26273201b09d4c402 Reviewed-on: https://gerrit.openafs.org/12909 Reviewed-by: Benjamin Kaduk Tested-by: Andrew Deason commit a66629eac4dda4eea37b4f06e0850641cb2a7387 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. Change-Id: I1b1ae546c01f018a9b4e198f918c2d9eb86015d6 Reviewed-on: https://gerrit.openafs.org/12908 Reviewed-by: Benjamin Kaduk Tested-by: Andrew Deason commit 4f7550dcaf9375046514cdd97cea0f667e955e9f 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 . Change-Id: I1ee239ded17d8fea3b91b70405215aa1b3f7a6e9 Reviewed-on: https://gerrit.openafs.org/11940 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit b792dea0f1f83673b0b045adf608412901b3024c 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. Change-Id: Ifd10786cd9ac6c9d5152b927e180b7362131f359 Reviewed-on: https://gerrit.openafs.org/11939 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0a896b93c86e86f5b438880ef1634b4e39ee5779 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. Change-Id: I9583c8e5adc4106848a437d81306000490787ef3 Reviewed-on: https://gerrit.openafs.org/11938 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit ed513bb516acdb28fc6bbf01714ef2e1df422a8a 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. Change-Id: I38e033caf7149c2b1b567f9877221ca8551db2ea Reviewed-on: https://gerrit.openafs.org/11937 Tested-by: BuildBot Reviewed-by: Ian Wienand Reviewed-by: Benjamin Kaduk commit f5794e029903db79f345f42582230a1fd0f7d823 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"); Change-Id: I19a3e9d930f1ca2085506957b4e96dff5bf1c22e Reviewed-on: https://gerrit.openafs.org/12893 Tested-by: BuildBot Reviewed-by: Ian Wienand Reviewed-by: Benjamin Kaduk commit 32d0493a7e4f74f5e5efdfde5eca29ed7d1bf3ec Author: Caitlyn Marko Date: Thu Feb 9 09:16:17 2017 -0500 SOLARIS: save kernel module function arguments for debugging Add the -Wu,-save_args compiler option when building kernel modules under Solaris 10 and 11 for the amd64 architecture. 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. [mmeffie: commit message update] Change-Id: I7ee50e5108a46685efa17d0380883c6d1702a5e4 Reviewed-on: https://gerrit.openafs.org/12798 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 88cb536f99dc58fdbeb9fa6c47c26774241a0cb6 Author: Marcio Barbosa Date: Mon Feb 5 21:16:17 2018 +0000 autoconf: detect ctf-tools and add ctf to libafs 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. 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. Note: at the moment, the Solaris kernel module is the only module benefited by this commit. Change-Id: If0a584377652a573dd1846eae30d42697af398d0 Reviewed-on: https://gerrit.openafs.org/12680 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c7c71d2429cf685f3ffad6b2e6d102d900edc197 Author: Ian Wienand Date: Fri Feb 2 10:52:26 2018 +1100 Add .gitreview git-review [1] makes it much easier to submit changes. Add a default configuration file. [1] https://docs.openstack.org/infra/git-review/usage.html Change-Id: I9615a81c9b199c86e8de2fedc710e3246deeac84 Reviewed-on: https://gerrit.openafs.org/12884 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 5e09a694ec2c0cd20f5dee500eff6bc3dd04c097 Author: Mark Vitale Date: Tue Jun 30 01:54:21 2015 -0400 SOLARIS: Avoid vcache locks when flushing pages for RO vnodes We have multiple code paths that hold the following locks at the same time: - 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] Change-Id: Iec11101147220828f319dae4027e7ab1f08483a6 Reviewed-on: https://gerrit.openafs.org/12247 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit 073522b3d49467af107d1143cfa015c53347e1e3 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 Change-Id: Id359c6d065c259601d14ee5c02b93647f86a0288 Reviewed-on: https://gerrit.openafs.org/12882 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3ca1352170f87994d42578c5bc75e52c4103bc69 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. Change-Id: I5a70a7c658ad0056cd10945bb730e84f0edfb730 Reviewed-on: https://gerrit.openafs.org/12880 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 88dc4d93f5ef080da8f56fac453f095e6c79d4a0 Author: Benjamin Kaduk Date: Mon Jan 8 22:28:24 2018 -0600 Add param.h files for recent FreeBSD Add files for FreeBSD 10.4, 11.1, and 12.0 (12-CURRENT), for i386 and amd64. Change-Id: I904f576914bb965a659750e6302f011acf66ba81 Reviewed-on: https://gerrit.openafs.org/12863 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk commit c390f368a5012f866c1b4ce46d6ac6af6cef2fd5 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). Change-Id: If38ecca7b2b3e40c186b7e9321ce017b4711139c Reviewed-on: https://gerrit.openafs.org/12862 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Reviewed-by: Benjamin Kaduk commit f5c289d00aaf7c5525b477da5b89f6675456c211 Author: Marcio Barbosa Date: Wed Jun 21 16:24:05 2017 -0400 ubik: check if epoch is sane before db relabel 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. Change-Id: I2408569e5de46d387f63cbc2fab05ea1264a505c Reviewed-on: https://gerrit.openafs.org/12640 Reviewed-by: Mark Vitale Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 50c1d1088d2adcbb37b6a9d23fdd63617b1267be 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. Change-Id: Ide7a695a69cb3229ad585d9e56c5ddc2efb76dd7 Reviewed-on: https://gerrit.openafs.org/12716 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk commit ef1d4c8d328e9b9affc9864fd084257e9fa08445 Author: Andrew Deason Date: Thu Jan 11 21:27:28 2018 -0600 LINUX: Avoid locking inode in check_dentry_race 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. Change-Id: Ide0f21145c83d6fbb34c637d8a36c8cd21549940 Reviewed-on: https://gerrit.openafs.org/12868 Tested-by: Benjamin Kaduk Reviewed-by: Benjamin Kaduk commit f599e1ce6354c42a9c0c8f7205ba8a03c35ea72b Author: Michael Meffie Date: Wed Jan 17 17:33:50 2018 -0500 redhat: fix conditional for kernel-debuginfo files directive 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. That is, when running rpmbuild with the options: rpmbuild --define "build_userspace 0" --define "build_modules 1" ... rpmbuild fails with: RPM build errors: Installed (but unpackaged) file(s) found: /usr/lib/debug/lib/modules/.../extra/openafs/openafs.ko.debug Fix this by moving the new %files directive out of the build_userspace conditional. Change-Id: I46e74b660048022a4cc4327835c6055402a34ccf Reviewed-on: https://gerrit.openafs.org/12874 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk commit 6a2b85cd4c00a08e165cb96d2cb56bf87c6324bc 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. Change-Id: I5ea4c9e3a0aeff1767ef561bdb8361781694ee28 Reviewed-on: https://gerrit.openafs.org/12844 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 3c2e39bab7d927aa5f20d02a5e327927a4b2b553 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. Change-Id: Ib3e7b1270826970c541a695230f4e3cd13cf9e3d Reviewed-on: https://gerrit.openafs.org/12843 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit c72622a244e561173e86ffe88ee3c9a8c823a76a 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. Change-Id: I70e7f846dea0055d00a60a47422aa73bff25c4c6 Reviewed-on: https://gerrit.openafs.org/12842 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0760feb7992e1e39f716c5f583fe7f6e85584262 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. Change-Id: I191009ad412852dcc03cd71a0982fe41a953301d Reviewed-on: https://gerrit.openafs.org/12853 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit decb4308d4e18ad9f6f181e3df5f737698dba7ad 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. Change-Id: I4ca53a4823b0ccd5bfd769867f6766bd05ea4ceb Reviewed-on: https://gerrit.openafs.org/12802 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit e443a9fb67dbc29e6cc36661a4ac6e91af113f23 Author: Benjamin Kaduk Date: Sat Dec 9 11:37:59 2017 -0600 Replace with 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. Note that afs/sysincludes.h (not afsincludes.h!) already includes rx/xdr.h ifndef AFS_LINUX22_ENV. This change should help systems running glibc 2.26 or newer, which has stopped providing the Sun RPC headers by default. While here remove some duplicate includes of rpc/types.h in the AIX-specific sources. The Solaris NFS translator bits cannot really be changed, since the system headers are used and have tight interdependencies. Update rxgen to not emit rpc/types.h inclusion. [mmeffie: squash 12801 to not emit rpc/types.h from rxgen] Change-Id: I0b195216affa06ab9e259cb0bab0c8286a1636d9 Reviewed-on: https://gerrit.openafs.org/12800 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit afbc199f152cc06edc877333f229604c28638d07 Author: Mark Vitale Date: Thu Nov 30 20:26:46 2017 -0500 LINUX: Avoid d_invalidate() during afs_ShakeLooseVCaches() 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(). 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] Change-Id: Icb6138ee5785e0ef82a9b85b1d2651dfd0830043 Reviewed-on: https://gerrit.openafs.org/12830 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 5076dfc14b980aed310f3862875d5e9919fa199d Author: Mark Vitale Date: Thu Nov 30 17:56:13 2017 -0500 LINUX: consolidate duplicate code in osi_TryEvictDentries The two stanzas for HAVE_DCACHE_LOCK are now functionally identical; remove the preprocessor conditionals and duplicate code. 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. Change-Id: I08faf204e6bd82c4401cdf6048d12cd551dd18fc Reviewed-on: https://gerrit.openafs.org/12792 Reviewed-by: Benjamin Kaduk Reviewed-by: Andrew Deason Tested-by: BuildBot commit 0678ad26b6069040a6ea86866fb59ef5968ea343 Author: Mark Vitale Date: Thu Nov 30 16:51:32 2017 -0500 LINUX: consolidate duplicate code in canonical_dentry The two stanzas for HAVE_DCACHE_LOCK are now identical; remove the preprocessor conditionals and duplicate code. No functional change should be incurred by this commit. Change-Id: I15cd4631d1932dcfb920313acb82fcbe570087e8 Reviewed-on: https://gerrit.openafs.org/12791 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 652cd597d9b3cf1a9daccbbf6bf35f1b0cd55a94 Author: Mark Vitale Date: Thu Nov 30 16:46:16 2017 -0500 LINUX: add afs_d_alias_lock & _unlock compat wrappers Simplify some #ifdefs for HAVE_DCACHE_LOCK by pushing them down into new helpers in osi_compat.h. No functional change should be incurred by this commit. Change-Id: Ia0dc560bc84c8db4b84ddcc77a17bab5fbf93af9 Reviewed-on: https://gerrit.openafs.org/12790 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 74f4bfc627c836c12bb7c188b86d570d2afdcae8 Author: Mark Vitale Date: Thu Nov 30 16:08:38 2017 -0500 LINUX: create afs_linux_dget() compat wrapper 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(). No functional change should be incurred by this commit. Change-Id: I2bb0d453417f37707018f6ba5859903c3d34c8ff Reviewed-on: https://gerrit.openafs.org/12789 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 367693bd7da2de593e3329f6acc4a4d07621fb97 Author: Mark Vitale Date: Thu Nov 30 13:45:27 2017 -0500 Revert "LINUX: do not use d_invalidate to evict dentries" 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 . Change-Id: Iafbef23a6070180c0e21eb01a2d59385ef52f55c Reviewed-on: https://gerrit.openafs.org/12788 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit f8247078bd33a825d8734b2c8f05120d15ab3ffd 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 . Change-Id: I2780fe68d352f0f1def198f21127ec944d1d2c1d Reviewed-on: https://gerrit.openafs.org/12787 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit fb1f14d8ee963678a9caad0538256c99c159c2c4 Author: Stephan Wiesand Date: Fri Dec 22 14:40:32 2017 +0100 Linux 4.15: check for 2nd argument to pagevec_init 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 . Change-Id: Ia5287b409b2a811d2250c274579e6f15fd18fdbb Reviewed-on: https://gerrit.openafs.org/12824 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Tested-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit be5f5b2aff2d59986dd8e7dd7dd531be24c27cb2 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. Change-Id: I34e734223927030f7ff252acb61120366a808ad6 Reviewed-on: https://gerrit.openafs.org/12823 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Tested-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 Author: Pat Riehecky Date: Thu Mar 12 14:33:10 2015 -0500 redhat: separate debuginfo package for kmod rpm Place the debuginfo for the kmod into its own rpm so that it doesn't have to track against the userspace packages. FIXES 132034 Change-Id: I60a753275d896a89c1f6896c653d78a4e1fe7e2c Reviewed-on: https://gerrit.openafs.org/11867 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit fd4eaebb60dbefc27be98015fee23a3cf5d9752d Author: Christof Hanke Date: Mon Dec 18 16:58:39 2017 +0100 Avoid gcc warning 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. Change-Id: I6acd3a1c06760abc8144c0892812c3bb50477227 Reviewed-on: https://gerrit.openafs.org/12813 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 6e57b22642bafb177e0931b8fb24042707d6d62f 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. Change-Id: Ib5ac88b87f348744864f4e33f1f222efbc852d41 Reviewed-on: https://gerrit.openafs.org/12743 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit e533d0737058940d59d93467c9b4d6d3ec2834e6 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". Change-Id: Id9da3cf959627a13d8cfd1d1d7412820e46ad63e Reviewed-on: https://gerrit.openafs.org/12742 Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit 804c9cbf501d4ca91b69ad8fd6d64e49efa25a47 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". Change-Id: I51928279d97c9d86c67db7de5eb7fc9d317fd381 Reviewed-on: https://gerrit.openafs.org/12741 Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit edc5463f3db4b6af2307741d9f4ee8f2c81cd98e 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. Change-Id: Id7cd3245b6a8eb05f83c03faee9c15bab8d0f6e8 Reviewed-on: https://gerrit.openafs.org/12808 Reviewed-by: Anders Kaseorg Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 894555f93a2571146cb9ca07140eb98c7a424b01 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 Change-Id: I37698ff166da47a57aa0d1962ae8effc74e30851 commit 4fa0ee620cfb9991ca9748b5ee116cc8e1e6c505 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. Change-Id: Iae55a99e35266aa763fb431f2acc4eba09fa5357 Reviewed-on: https://gerrit.openafs.org/12782 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 66b74e78ba5fea6a8236dcd3b8b46e1dfa6a0ac7 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. Change-Id: Ie3d0bc9474fdbc09be9c753f4d0192c8cca68351 Reviewed-on: https://gerrit.openafs.org/12781 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 3ce55426ee6912b78460465bcaa1428333ad1fbc 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 Change-Id: I4753dee61f1b986bbe6a12b5568d1a8db30c65f8 Reviewed-on: https://gerrit.openafs.org/12769 Tested-by: BuildBot Tested-by: Marcio Brito Barbosa Reviewed-by: Benjamin Kaduk commit 50a3eb7b7ee94bffaadc98429bd404164e89ec7f 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. Change-Id: I4f993b42e53e7e6a42fa31302fd1baa70e9f5041 Reviewed-on: https://gerrit.openafs.org/12762 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2ae84bf053fe66b73a2c77b5d71305bae2c17587 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. Change-Id: I674d389e61e42710ef340e202992748e66c5e763 Reviewed-on: https://gerrit.openafs.org/12772 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 01bcfd3e14f6ee1faa4b8ce5a7932de37d585fd3 Author: Benjamin Kaduk Date: Thu Nov 16 04:48:02 2017 -0600 rx: fix mutex leak in error case Reported by Mark Vitale Change-Id: I3269fbb0f87285bcb9af64f4ad81791177582e6d Reviewed-on: https://gerrit.openafs.org/12771 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a7a3108e602c83176c5578c9f28b6312f71aba78 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. Change-Id: I16885a4d37a0f094f0d365c54e8157ed92070c69 Reviewed-on: https://gerrit.openafs.org/12757 Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 304d758983b499dc568d6ca57b6e92df24b69de8 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. Also enable refcount checking unconditionally on unix, as this is a rather invasive change late in the 1.8.0 release process and we want to get as much sanity checking coverage as possible. Change-Id: I27bcb932ec200ff20364fb1b83ea811221f9871c Reviewed-on: https://gerrit.openafs.org/12756 Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit bdb509fb1d8e0fdca05dffecdbcbf60a95ea502e 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". Change-Id: I50f55fd532901147cfda1a5f40ef949bf3270401 Reviewed-on: https://gerrit.openafs.org/12755 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk commit 311f1d28a2f626350b33ad432e674055b62511bd 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 Change-Id: I3e29c61405d90d0b850bafe4c51125bef433452b Reviewed-on: https://gerrit.openafs.org/12760 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit e0c5ada214596d5adb6798682d5e280cc99f447c 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 commit 5ee516b3789d3545f3d78fb3aba2480308359945 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/ Change-Id: Ib668f8fdb62ca01fe14321c07bd14d218744d909 Reviewed-on: https://gerrit.openafs.org/12729 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit a71288a387095ccb4be83c1abae34ada80f53185 Author: Michael Meffie Date: Fri Jul 21 22:30:43 2017 -0400 redhat: avoid rpmbuild exclude directives 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. Change-Id: If64df382ef372aa1078f1703a34942a1930bdc88 Reviewed-on: https://gerrit.openafs.org/12733 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 4d247e1ae446c512031511273d556ef1fd32dca1 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. Change-Id: I09a2e36b60f9d47726a6a314a26db88e44575567 Reviewed-on: https://gerrit.openafs.org/12732 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 671db4ca5a76625d9b7133510cc1cbdda8a5d9b9 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. Change-Id: Id30a6174c532a9a00f850d6ca2722158293d5118 Reviewed-on: https://gerrit.openafs.org/12731 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a9810b829bdccfed4d1718b11cf4dd51f9565e00 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. Change-Id: Ia0dd4fa72dc8a87e2c835798b6fbe1213d71da5f Reviewed-on: https://gerrit.openafs.org/12730 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 68ec78950a6e39dc1bf15012d4b889728086d0b7 Author: Marcio Barbosa Date: Mon Aug 21 14:21:54 2017 -0400 ubik: avoid DISK_Begin on sites that didn't vote for sync 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. Consider the following scenario in a cell with frequent write transactions: Site A => Sync-site (up) Site B => Remote 1 (up) Site C => Remote 2 (down - unreachable) 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. To fix this problem, do not call DISK_Begin on remotes that did not vote for the sync-site yet. Change-Id: I27f5122a089064e7b83beba3533261d8a4e31c64 Reviewed-on: https://gerrit.openafs.org/12715 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Benjamin Kaduk commit 929e77a886fc9853ee292ba1aa52a920c454e94b 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. Change-Id: I392f2b17b4de7bd81d549c84e6f7b5ef05e1b999 Reviewed-on: https://gerrit.openafs.org/12728 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 0a9a6b57ce6e1c97fcc651c8cb74e66fc8422a1e Author: Anders Kaseorg Date: Fri Sep 1 23:37:07 2017 -0400 vol: Fix two buffers being one char too short 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)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: If212ebc29fa3fe10fe1e2f70dfb5f7509c269ae9 Reviewed-on: https://gerrit.openafs.org/12722 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 962f4838dc461567d896304f617a0923745d13d5 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. Change-Id: Iaab0d7652483a2a2b1f144f3e90b6d3b902c146d Signed-off-by: Seth Forshee Reviewed-on: https://gerrit.openafs.org/12714 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot 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 Author: Jeffrey Altman Date: Thu Jun 1 22:25:49 2017 -0400 vol: modify volume updateDate upon salvage change If the salvager changed the volume, set the VolumeDiskData.updateDate field so that 1. the change is visible via "vos examine" 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 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 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 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 Author: Marcio Barbosa Date: Tue Jan 31 11:43:18 2017 -0300 vol: detach offline volumes on dafs 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. 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. 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(). 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. Change-Id: Ifce07c83c1e8dbf250b88b847d331234bdaa9df5 Reviewed-on: https://gerrit.openafs.org/12515 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 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 Tested-by: BuildBot 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 Author: Marcio Barbosa Date: Thu Mar 2 18:01:48 2017 -0300 osx: build afscell only for active architecture The InstallerPlugins framework provided by the MacOSX10.12.sdk does not define symbols for architecture i386. As a result, the OpenAFS code cannot be built on OS X 10.12. To fix this problem, build the afscell xcode project only for active architecture. Change-Id: I2a2bd5694826b668fceb7402567fba1d0f128479 Reviewed-on: https://gerrit.openafs.org/12531 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit 2a13973985bc7e190364d208c590ec42dbccf81b Author: Michael Meffie Date: Thu Jun 11 13:14:27 2015 -0400 libafs: vldb cache timeout option (-volume-ttl) 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 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 Author: Benjamin Kaduk Date: Mon Dec 26 12:15:35 2016 -0600 afsd_kernel: remove gratuitous OS dependence 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. [mmeffie@sinenomine.net: print errno iff syscall returns -1.] 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 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 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 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 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 doc/man-pages/Makefile.in: mkdir man[158] in case we did regen.sh -q Fixes this error: $ 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-by: Chas Williams <3chas3@gmail.com> Reviewed-by: Perry Ruiter Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit a6e96a8f10df738eb9b69227d344a72eb830e02e Author: Michael Meffie Date: Wed Nov 30 08:48:06 2016 -0500 vos: fix vos release -verbose output Fix incorrect vos release -verbose messages introduced by commit 9f4684cd5fac5eacf571b882e965150943383170. 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 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit 5b28061fb593f5f48df549b07f0ccd848348b93c Author: Marcio Barbosa Date: Mon Nov 28 09:42:44 2016 -0500 afs: release the packets used by rx on shutdown 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. 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 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 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 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 Author: Mark Vitale Date: Mon Nov 21 13:25:40 2016 -0500 doc: correct help for 'bos getlog' -restricted mode Commit f085951d39c0d6c1e6a626177c30235704317600 introduced an error in the bos getlog helpfile. Modify the helpfile to describe the actual restrictions imposed by -restricted mode. 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. 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-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: BuildBot Reviewed-by: Benjamin Kaduk commit 43a66de66c40171fedcf0450e9fa93b47c0d9f2e Author: Michael Meffie Date: Fri Jun 5 10:09:54 2015 -0400 libafs: avoid resetting the dynroot volume every 10 minutes The dynroot volumes are synthetic, so do not need to be reset every time the background daemon checks the volumes. 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. Change-Id: Ib92157686c1d8b84a63d409cb148155705953b6d Reviewed-on: https://gerrit.openafs.org/11895 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot commit b3e85976936239e30d44da00bf28fbe8487f6998 Author: Mark Vitale Date: Thu Jun 18 15:54:28 2015 -0400 afs: document missing afs_Analyze parm rxconn was missing from the comments; add it. Change-Id: I8c0cf212ca2952d3a23c3bb5db1857dfd9a8f41e Reviewed-on: https://gerrit.openafs.org/12004 Reviewed-by: Perry Ruiter Tested-by: BuildBot Reviewed-by: Benjamin Kaduk commit dda47aab6179b6940aa994a0cd7b88a4b0942fe6 Author: Benjamin Kaduk Date: Mon Jul 4 20:13:31 2016 -0500 Add sysname IDs for FreeBSD 10.2 and 10.3 While here, de-conflict the numbers for 10.0/10.1 and 7.2/7.3 Change-Id: I87697587359a26258298f4710c7232bea417f807 Reviewed-on: https://gerrit.openafs.org/12321 Tested-by: BuildBot Reviewed-by: Mark Vitale 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 Author: Marcio Barbosa Date: Tue Jun 28 12:48:06 2016 -0300 venus: fix memory leak 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. Change-Id: I8491117ead626e70aac40343923d52284f274efd Reviewed-on: https://gerrit.openafs.org/12315 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 Author: Andrew Deason Date: Tue Apr 1 13:28:20 2014 -0500 vos: Remove redundant " done" messages In 1.4, a 'vos backup' command looked like this: $ vos backup root.cell -verbose Re-cloning backup volume 537351386 ... done Created backup volume for root.cell 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 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 redhat: remove leftover legacy kmod code from spec Commit ec706b21530240d7fb66bad2f08513eff8f7c335 removed support for Linux 2.4 and legacy kernel modules, but missed a few more occurances of the latter. Remove those too. Change-Id: I449f0303ec916d597f65790c6f6a564d2f58ce48 Reviewed-on: https://gerrit.openafs.org/11866 Reviewed-by: Jeffrey Altman Reviewed-by: Benjamin Kaduk Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa commit c5e8d594e6809aedac1e6615f65e7e63652528ba Author: Benjamin Kaduk Date: Sat Feb 13 13:02:55 2016 -0600 doc: set use.id.as.filename for chunk.xsl 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. 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. Change-Id: I6d3fa2b74e319d1375891170817760d027e82f03 Reviewed-on: https://gerrit.openafs.org/12189 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 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 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 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 Fix optimized IRIX kernel module builds 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. 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: Daria Phoebe 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 Phoebe 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 Phoebe 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 Phoebe 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 Phoebe 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 Phoebe 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 Phoebe 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 Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: ad71d031ec bd2cc32da9 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: e2d458c119 e79102e791 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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: Daria Phoebe 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 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 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 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 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 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7ded3209a2fbd8d0108f9322d708551e93b6ef76 Author: Jeffrey Altman Date: Sun Sep 19 09:20:01 2010 -0700 Rx: cleanup testclient and testserver test applications Permit testclient and testserver to be built on Windows as pthreaded applications. Remove warnings. Fix prototypes. Remove variable declarations for rx library variables defined in rx_globals.h. 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 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 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 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 Windows: Add new token interface with stub for ktc_GetTokenEx 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. Change-Id: I1c486af0beda10a2d846dc6bdff8c6195031dbe7 Reviewed-on: http://gerrit.openafs.org/2765 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 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 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 019ee226cbdf08f5d42298b8e8358660f839f77e Author: Simon Wilkinson Date: Sat Sep 4 15:29:03 2010 +0100 RX: Make rxi_Alloc return (void *) 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. 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 Calling BUG() panics the machine, so having a print statement with further debugging information after it doesn't help much. 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 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 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 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ee3538218d342bb74ab849763421b9ec075251b3 Author: Marc Dionne Date: Fri Sep 10 19:55:39 2010 -0400 vlserver: Set but not used variables 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 Spotted by gcc 4.6 Change-Id: Icd9e7da151b3a485c917ed5bd99eb26998dfa818 Reviewed-on: http://gerrit.openafs.org/2784 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 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 Tested-by: BuildBot Reviewed-by: Derrick Brashear 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: Daria Phoebe 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 Author: Michael Meffie Date: Thu Sep 9 15:22:29 2010 -0400 manpage correction for restorevol -file option The restorevol -file option specifies which file to read. 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 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 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 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 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: Daria Phoebe 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: Daria Phoebe 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 Author: Michael Meffie Date: Mon Mar 15 12:42:23 2010 -0500 ihandle positional read and write When available, use POSIX positional read and write calls in the ihandle package. Originally written by Derrick Brashear and Andrew Deason. Change-Id: I29a9d830872cb920e8ed5820e33d3cbcb7247460 Reviewed-on: http://gerrit.openafs.org/1562 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 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 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 759487038bbaccf59e49f973b627ee20f555e7b3 Author: Daria Phoebe Brashear Date: Mon Aug 30 12:32:58 2010 -0400 ubik recovery kill duplicate code if recovery wants to invalidate transaction unconditionally and has code duplication from urecovery_checkTid, just make checkTid do what we want Change-Id: I345560c496d4cb4506de6db79357b99c616ffbbe Reviewed-on: http://gerrit.openafs.org/2628 Reviewed-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bafa4d17530338122581d5b11eba367ebd445c30 Author: Michael Meffie Date: Thu Aug 12 00:14:03 2010 -0400 clean up stale defines in volser header The volserver does not use port 5003 any more. 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 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. 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: Daria Phoebe 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 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 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 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ec85304dd738935d8be3f8934b166f78a10995bf Author: Matt Benjamin Date: Sun Aug 29 17:33:03 2010 -0400 FBSD try-relax child vnode locking (recurse only) 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. 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 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 commit 753a316821bf23a53a7ebef9b52122c39ee88b83 Author: Marcus Watts Date: Mon Aug 16 23:52:36 2010 -0400 death to trailing whitespace if we're gonna clean up... Change-Id: I5ab03f29468577b62dacab41a67eadfd8c43f812 Reviewed-on: http://gerrit.openafs.org/2463 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a531cb7069f3ced1aae5a1948d708a7f24539df Author: Marcus Watts Date: Wed Jul 14 23:13:20 2010 -0400 death to register in soviet compilers, compiler optimizes you. stop providing dated (and annoying for debugging) register keywords. Change-Id: Ibcac0aa3f353fe531b9be0beedca919fb947bfab Reviewed-on: http://gerrit.openafs.org/2436 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b44562f5dcda72a78fa12b47f8862f0a3c231aee Author: Daria Phoebe Brashear Date: Thu Aug 12 00:33:58 2010 -0400 openafs 1.5.76 make openafs 1.5.76 Change-Id: I56ef6618ae6ff8d0ee2e06a145aed7d61f98d682 Reviewed-on: http://gerrit.openafs.org/2537 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 523fde439847e2a32aa446ce94c65436dceeb8f8 Author: Jeffrey Altman Date: Thu Aug 12 01:47:41 2010 -0400 Windows Change Log for 1.5.76 Change-Id: Ia5004d37fceb506ed7ca894f31a903d2b8cb66cb Reviewed-on: http://gerrit.openafs.org/2540 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 67ca70bfd3dcb2b5fc9d318b0be6817188302dc3 Author: Jeffrey Altman Date: Mon Aug 16 14:27:44 2010 -0400 Windows: Return error for SetToken PIOCTL_LOGON if not LocalSystem If the PIOCTL_LOGON flag is set and the user is not LocalSystem, return Access Denied. LICENSE MIT Change-Id: I25f042353fb8b70aba4fb01ba1a5b204470416f5 Reviewed-on: http://gerrit.openafs.org/2568 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ce2422000446eed0e4a6edf926df4fe93206508d Author: Jeffrey Altman Date: Mon Aug 16 10:09:22 2010 -0400 Windows: prevent buffer overrun in cklog The Windows version of klog.exe will overwrite the realm and password buffers if the command line input is too long. Generate an error and terminate the program instead. Change-Id: I80671adcf92e9140f14a943b2677a352d2223eee Reviewed-on: http://gerrit.openafs.org/2558 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 22f6306cc8651f08841c66cd222c27c70ec5a00f Author: Jeffrey Altman Date: Thu Aug 12 01:48:16 2010 -0400 Windows: Only Local System Account may set tokens for alternate ids Only permit tokens to be set for alternate ids from the system account. LICENSE MIT Change-Id: Ibeaf16950b0317db99dfebccb9534697a258db78 Reviewed-on: http://gerrit.openafs.org/2541 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5e8d0a7b5fc9711551d707ce3639e080450084a3 Author: Jeffrey Altman Date: Fri Aug 13 20:58:43 2010 -0400 Windows: Parse Freelance entries and enforce trailing dot but no trailing ws Make sure that there is a trailing dot and no trailing whitespace for both Mount Point and Symlink entries read from the Freelance registry key. LICENSE MIT Change-Id: I339d1bd2a8fc3e5f44362c65e872396adf64fdf6 Reviewed-on: http://gerrit.openafs.org/2555 Tested-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit e8bb948db17d7e4f734b9785f6f1b09c7efebde9 Author: Chaz Chandler Date: Wed Aug 4 11:17:03 2010 -0700 autoconf detection of label support acinclude.m4 now has struct label support detection and sets HAVE_STRUCT_LABEL_SUPPORT in afsconfig.h. Obviates complicated ifdefs in various src/afs/ and src/rx/ files. Must run regen.sh to generate new configure and afsconfig.h.in, then configure will detect label support and set afsconfig.h appropriately. Not sure what to do for Windows, but should be a step in the right direction. Fixes issue with compilation of libuafs on IRIX and sunpro by accurately detecting label support. Change-Id: I092eda47c4cfcc2517dc39f5e48b5038c413cb01 Change-Id: I2ff8449b28db645d9cfd27796b5f89e5c328a2b2 Reviewed-on: http://gerrit.openafs.org/2516 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 90b75531add729ecbcc46f2a6fb070993b96bcec Author: Marc Dionne Date: Thu Aug 12 16:33:04 2010 -0400 Linux: avoid oops in memcpy_toiovec With ADAPT_PMTU enabled, kernel_recvmsg can be called to receive errors. The call is made with no iovec supplied (we pass a NULL pointer), but with a size of 256. In the kernel, the memcpy_toiovec function tests for size > 0, and proceeds to check iovec->iov_len, which causes an oops. Fix by setting the size to 0. Change-Id: I3c672c2e67d0aa5af2bd54d0c14aaeae3bb3c530 Reviewed-on: http://gerrit.openafs.org/2546 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 08552ad8a94f7cc5908aabe8385711e09a6418e4 Author: Marc Dionne Date: Wed Aug 11 19:28:53 2010 -0400 Linux: Rework statfs super block operations configure test The configure test to detect if the statfs super block operation needs a dentry argument is based on vfs_statfs, and assumes that its signature matches the one of the operation. In 2.6.36 this is no longer true and the test fails. Rework the test to actually test the operation we're interested in. This change is required for 2.6.36. Change-Id: I5a712fb47e48c1bcc7ea2cfbf6c53c2b27627723 Reviewed-on: http://gerrit.openafs.org/2545 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fb01fbd7cd2d396df8a4605eaad9febc52ef3b61 Author: Marc Dionne Date: Wed Aug 11 18:55:29 2010 -0400 Linux: switch to evict_inode In 2.6.36, the delete_inode and clear_inode inode operations are replaced by evict_inode. Rename our current clear_inode to evict_inode, and add a few things that were previously handled by the generic delete_inode. This is required for 2.6.36. Change-Id: I68d75830b43df710ccce173ab36f3bb39074c59e Reviewed-on: http://gerrit.openafs.org/2544 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eaf3378f537935f6b9843886b43d8b6d38a91a92 Author: Marc Dionne Date: Wed Aug 11 18:20:59 2010 -0400 Linux: adapt to truncate sequence changes As part of changes to the truncate sequence, inode_setattr() no longer exists, and all filesystems have to define the setattr op so we can assume that it is not NULL. Introduce a compat inline function afs_inode_setattr that hides the tests and the different versions from the main code. Note that the existing test for the inode_setattr() return type will fail, but the value is no longer used in that case. This is required for 2.6.36 Change-Id: I2f5e8a0b660b48453d0152b6c4db64e57539f91a Reviewed-on: http://gerrit.openafs.org/2543 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d4018b2673e6532543984838290ffb891b970fea Author: Marc Dionne Date: Wed Aug 11 17:18:32 2010 -0400 Linux: use %pI4 if NIPQUAD is not available The definition of NIPQUAD has been removed from the kernel headers in the mainline kernel. Replace it by using the %pI4 format specifier which takes the IP address as a single argument. There should be no change in the output. This fix is required for 2.6.36. Change-Id: I269e5bd754b7aef49b005081eb6b3af1b2679293 Reviewed-on: http://gerrit.openafs.org/2542 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3121a07fbfd4bf3991a933b80a9ad8f4cda285ae Author: Daria Phoebe Brashear Date: Thu Aug 12 00:48:45 2010 -0400 disable pmtu error gathering don't enable kernel pmtu, don't collect errors. a report from Marc Dionne suggests there are still issues here Change-Id: Ib54fa522ba53efe50e8f08b27422ebfc8af7f9e5 Reviewed-on: http://gerrit.openafs.org/2538 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 03f76092bdb6c011e539a125729efe330227f8b2 Author: Jeffrey Altman Date: Thu Aug 12 00:48:44 2010 -0400 Windows: comparisons of nul strings should match When comparing nul strings in cm_strnicmp_utf8 and cm_strnicmp_utf16 the functions should return 0. LICENSE MIT Change-Id: I30c1321f42135a5e0160407467549b13cc92393f Reviewed-on: http://gerrit.openafs.org/2539 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 3daf18a3cbadd1db07839708cf45426003a2bca5 Author: Andrew Deason Date: Tue Aug 10 14:16:39 2010 -0500 viced: VNOVOL on deleted volumes When the volserver deletes a volume, the fileserver should respond to future access to that volume with VNOVOL and not VOFFLINE, since the volume doesn't exist anymore. Do this in DAFS via a new state, VOL_STATE_DELETED, and in non-DAFS by just setting specialStatus to VNOVOL. In the future we should also make sure the vp's for deleted volumes get freed after a couple of hours, but not yet. Change-Id: I6dec3e0a5e9e54f6ad09fad9f2355b513cce3bf6 Reviewed-on: http://gerrit.openafs.org/2533 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 72da1d2eb2567f9e5e1b3d5aebc73654785f99a6 Author: Andrew Deason Date: Fri Aug 6 14:32:16 2010 -0500 volser: Ignore duplicate file tags when restoring Currently, if the volserver encounters multiple file tags for a vnode when restoring a volume dump, it will create extra vnodes which are not recorded anywhere, and are leaked when the volume is removed. Instead of doing that, ignore any duplicate file tags that are encountered (which is what happens with other tags), and log a warning. Change-Id: I1ac76b0217096d013db355b899f1a53174d20eb5 Reviewed-on: http://gerrit.openafs.org/2531 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f7d298d367cc5deea00a44601f845f543993ef09 Author: Simon Wilkinson Date: Wed Aug 11 23:14:31 2010 +0100 LINUX: More flock fixes Turns out the we have two almost identical lock routines on Linux, one for POSIX locks, and one for flocks. Fix them both. Also, while we're at it, make the same fixes in the LINUX24 tree. Thanks to Andrew Deason for pointing out the oversight in the original patch (5abe706a7e237d3872db3638d947a14c935370d5) Change-Id: I59f0f1e12af36a97e490df36537ac17e8ed87303 Reviewed-on: http://gerrit.openafs.org/2535 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Jeffrey Altman commit 5a2ae98327520a6936d8bbe6b2a9128dc45a2406 Author: Daria Phoebe Brashear Date: Wed Aug 4 09:38:10 2010 -0400 fs discon support alternate uid this is a short-term hack. macos lacks pags, and anywhere without pags won't have tokens when fs discon online is run as root unless the tokens are explicitly set for root... which can be bad mojo. instead, allow a uid to be passed in. Change-Id: I44ebf9468976fa43d449f72d392fbb9e830e44d6 Reviewed-on: http://gerrit.openafs.org/2515 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e6aa0b38e9970ca10e498e03b0149f895edf9e73 Author: Daria Phoebe Brashear Date: Mon Aug 2 14:02:37 2010 -0400 macos disconnected vnode holding fix tweak how we hold vcaches to avoid issues with the underlying vnode having an iocount underrun due to races. Change-Id: I96526ed52c11aac1124a8cf66458ba3e25e7efb2 Reviewed-on: http://gerrit.openafs.org/2501 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5abe706a7e237d3872db3638d947a14c935370d5 Author: Simon Wilkinson Date: Wed Aug 11 17:25:36 2010 +0100 LINUX: Use correct type of error in flock code The flock code gets a kernel error code from afs_posix_lock_file() but then passes this error code through afs_convert_code (which sees that it is already negative, and returns EIO). Instead, we should just return afs_posix_lock_file()'s code direct to our caller. Change-Id: I28bbc2dc8535d28a4e9e9f564392fd4cbfa76569 Reviewed-on: http://gerrit.openafs.org/2534 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bc6fe06ae5829676b84028adc2aa088c8e69574f Author: Jeffrey Altman Date: Wed Aug 11 01:10:38 2010 -0400 Windows: cm_Analyze should treat VOFFLINE like VMOVED or VNOVOL Volume package bugs in the file server can result in VOFFLINE being returned to the client instead of VNOVOL or VMOVED. As a result the Unix CM treats VOFFLINE the same as VMOVED and VNOVOL. The Windows client has not. As a result, bugs in the file server can cause the Windows client to lose if the volume has in fact been moved to another server. As part of this change, the volume location list is updated prior to the volume status being applied to the server from which the error was received. LICENSE MIT Change-Id: I01036aa9d1999d0ba6822beb1b73500d365bf0b3 Reviewed-on: http://gerrit.openafs.org/2532 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 219ab91243b8c9c5ffbfa459047968145debee9c Author: Andrew Deason Date: Tue Jul 27 16:22:47 2010 -0500 salvage: update inodes array after CopyAndSalvage CopyAndSalvage makes a copy of the directory to salvage it. So, the new directory will have a new inode. Update the array of directory inodes to reflect this. Without this, we can fail to alter the copied/salvaged directory later on, since we will try to read/write to the wrong inode. Change-Id: I2466981e8ee54c5aecf1a166a37d8146b126de24 Reviewed-on: http://gerrit.openafs.org/2530 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9903f4805e27583a3483db412479fdc604fdd0b6 Author: Andrew Deason Date: Tue Jul 27 17:22:49 2010 -0500 salvage: Remove redundant 'code' declaration 'code' is declared at the top of SalvageVolume; no need to declare it again in a lower block. Change-Id: I9b48830c17e5043e6abcda4dd4dd3cc040031d9a Reviewed-on: http://gerrit.openafs.org/2529 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 56218cab39d522cb6911620bbf34d0236bfd3052 Author: Andrew Deason Date: Wed Jul 28 12:01:01 2010 -0500 salvage: Do not look at not-found root dir If we have not found any root directory, don't even look at 'oldrootdir' or 'rootdir', since they will be uninitialized at this point. Change-Id: Ia1a7037e06a223a7e1fbc48c0bfadd3b7aaa0e4b Reviewed-on: http://gerrit.openafs.org/2528 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1c002a5b5d29532b8c12097ad717c676a3285f28 Author: Andrew Deason Date: Wed Jul 28 12:00:37 2010 -0500 salvage: Zero corrupted header In the salvager, if we read in a corrupt header (either we get a short read or the magic is mismatched), make sure we zero out the contents, so we don't read garbage further on. Change-Id: Ifb4b9fc1b25d5eab470f0950a1d3bb240f75b0d3 Reviewed-on: http://gerrit.openafs.org/2527 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9da5e4700b81be7d78e4fc54bc4dd31d582be349 Author: Andrew Deason Date: Wed Aug 4 21:33:05 2010 -0500 tviced: Fix serialize_state.o objdir At least some makes treat ./serialize_state.c as only in the current dir, ignoring VPATH. So just specify serialize_state.c. Change-Id: I250886cb4bbfb955984b39c5a7d1a1acd5d9e0c4 Reviewed-on: http://gerrit.openafs.org/2524 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cdbf7827ef984be8342b284c7830c40dcef1335f Author: Andrew Deason Date: Wed Aug 4 17:08:37 2010 -0500 Eliminate $< outside of pattern rules The $< variable in makefiles is not portable when used outside of pattern rules. Replace each usage with the actual name of the file we want. Change-Id: Idc9309e7d7bd3b1bd93e8225507b8b53c9433d69 Reviewed-on: http://gerrit.openafs.org/2523 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 16bad29f0301db64c38bc66cb760c04399c0c7bb Author: Andrew Deason Date: Wed Aug 4 14:49:28 2010 -0500 Fix objdir install/dest targets Many 'install' and 'dest' targets were referring to source files without a srcdir prefix. Fix them so we can 'make install' / 'make dest' with objdir. Change-Id: Id76c5e326309baf8ec3f1213ecb2e40b19aea7d4 Reviewed-on: http://gerrit.openafs.org/2522 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 17a57cdafeac2b362e4edc50370962883f7ec052 Author: Andrew Deason Date: Wed Aug 4 14:01:51 2010 -0500 tubik: Fix objdir builds - Make netutils.c include afs/dirpath.h, so we don't have to find the correct include dir for "dirpath.h" - Fix dependencies in tvlserver, tbudb, and tptserver, and refer to sources in srcdir where appropriate Change-Id: Id9c2b3eefaa9d02ccb197a61341776444b958cdc Reviewed-on: http://gerrit.openafs.org/2521 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a5ff380e891db1c9ed0ec3875ce9b34d03976a8e Author: Andrew Deason Date: Wed Aug 4 13:59:35 2010 -0500 Fix afsd.fuse for objdir builds afsd_fuse.o could not find afsd_fuse.c for objdir builds. While we're here, make the afsd_fuse.o rule more closely match the rules close by. Change-Id: I675359134e2672cb36c9eb780edefb498d498bb1 Reviewed-on: http://gerrit.openafs.org/2520 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b832cdc1c7e462ca7c87ea16abdf694bac1bc272 Author: Andrew Deason Date: Wed Aug 4 11:19:35 2010 -0500 rxgen: Error out if cpp exits with error If we call 'cpp' and it returns with an erroneous exit code, exit with an error ourselves. Otherwise we will return success and generate empty results even if the input file is unreadable, for instance, which causes confusing errors later in the build. Change-Id: Ia12dc58eee0937a6bd529dcd6b552e253dbc40c8 Reviewed-on: http://gerrit.openafs.org/2519 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a4267ef14008daad45c1a64edf5649fc6bb333f0 Author: Daria Phoebe Brashear Date: Fri Jul 23 11:27:46 2010 -0400 namei decodevolume allow low volume ids the smallest thing which can be encoded is a single character; also allow it to be decoded, such that low numbered volumes are treated as valid. Change-Id: Ia5e694f7f73e1035af741bd23c7f50805910d0c4 Reviewed-on: http://gerrit.openafs.org/2470 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aa24d1392c31dc725a85ffe179adf6eca2fa683f Author: Jeffrey Altman Date: Thu Aug 5 15:07:47 2010 -0400 Windows: add flags field to smb_ioctlProc_t function signature Add a general framework to permit flags to be passed into the smb ioctl interface functions. This patchset does not define any such flags. LICENSE MIT Change-Id: I9a894a186c4ca455116ea79bdd6c3cc0d02a2dc3 Reviewed-on: http://gerrit.openafs.org/2525 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ed428869276d07e8dc886a1ee02893bb9cc09e1f Author: Simon Wilkinson Date: Sat Jul 24 14:21:52 2010 +0100 Unix CM: Remove erroneous comment Despite what the comment says, shutdown_axscache does have a caller, so just remove the comment lest it confuse people. Change-Id: I0491bf4f945c372d7ddbafb7a43390821c95a0c1 Reviewed-on: http://gerrit.openafs.org/2471 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f6a91a28ccd38cdaa917cbd140c567dbd1651322 Author: Jeffrey Altman Date: Thu Aug 5 01:43:24 2010 -0400 Windows: optimize buf_FlushCleanPages If the pages to be flushed are from a readonly or backup volume they can't be dirty. In this case there is no need to stabilize the pages before they are locked and recycled. Stablilization is performed on the cm_scache_t object so do not stabilize and unstablize for each cm_buf_t object. LICENSE MIT Change-Id: I6fa86cf0a33dc9f45d77911909e799c0fc6510cf Reviewed-on: http://gerrit.openafs.org/2518 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f08e953e62148bd2f9200040a8e34ef07b51b35d Author: Andrew Deason Date: Wed Aug 4 22:49:29 2010 -0500 Unix: docbook revision tag requires a date The docbook DTD requires a element to contain a element. So make a blank one even though we don't keep track of a date, so we can pass xmllint. Change-Id: I06e68b756d215ec3ce279561a05b5bc5fc418028 Reviewed-on: http://gerrit.openafs.org/2517 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0080e261cda46f53b952a0e5133fb94414f17a9 Author: Andrew Deason Date: Tue Aug 3 17:32:11 2010 -0500 Add DAFS docs to the Unix Quick Start guide Modify the sections dealing with creating the 'fs' bnode to also mention how to create the 'dafs' bnode, and add an appendix explaining DAFS and the differences between DAFS and non-DAFS. Change-Id: I026405dbc3838a9a0247b85cbdc508d6be93275d Reviewed-on: http://gerrit.openafs.org/2508 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ae1ac72783dee7cfd23538e95a1ad358a17373cc Author: Andrew Deason Date: Tue Aug 3 12:01:07 2010 -0500 HPUX: Add limits.h to sysincludes xdr_mem uses INT_MAX, so we need limits.h in the kernel for HP-UX. Change-Id: I5c75f9d3cb9cfd5da78cf625f042c1dee862dcd7 Reviewed-on: http://gerrit.openafs.org/2506 Tested-by: BuildBot Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8e5d6ce1506cc9e65ad51b1c5f76e0a29616231c Author: Daria Phoebe Brashear Date: Wed Aug 4 09:22:20 2010 -0400 fix unlabelled xdr field order on sun457 kernel for now alternate to 2503 (which we will push after branching) Thanks to Andrew Deason for discovering this issue. Change-Id: I3a43bb1eab1a753f099c9d21e440f6660c706e37 Reviewed-on: http://gerrit.openafs.org/2514 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7556326e012c74a21c2459c19cdf8317b5156f2a Author: Daria Phoebe Brashear Date: Wed Aug 4 09:04:34 2010 -0400 discon remove dirty vcaches from queue when discarding the discardall loop was not dequeueing vcaches, meaning we would loop. caught by Simon Wilkinson Change-Id: I80256ef5f91d7030e0cb11e78a79f137a217a29a Reviewed-on: http://gerrit.openafs.org/2513 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6d0b97c7ac89219c0b708d1afbd4d7b8c8ec717d Author: Daria Phoebe Brashear Date: Wed Aug 4 09:02:54 2010 -0400 reorder vcache references in discondiscardallshadows reset the vcache before we (nominally, it's still under a lock) discard it. remove superfluous shadow clearing. Caught by Simon Wilkinson Change-Id: I55b91fa4f2f92a8b6fd1f8117c2448f7a7d1d98a Reviewed-on: http://gerrit.openafs.org/2512 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 85e29294eef44fcc52b0583c70debcae452e829d Author: Daria Phoebe Brashear Date: Wed Aug 4 09:00:58 2010 -0400 discon getparentvcache leak fix don't leak an unref'd vcache pointer if we are returning an error (EAGAIN). thanks to Simon Wilkinson for catching this. Change-Id: I40c5aa0fd50e1f2c76b09ba073a7109bca706d8c Reviewed-on: http://gerrit.openafs.org/2511 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bfae6b76c4e27c77299df149a42aebb406c653e Author: Daria Phoebe Brashear Date: Wed Aug 4 08:42:16 2010 -0400 discon needs static_inline macro don't use static inline keywords in common code. Change-Id: I29cbe312e27c8fb75d2d07f720789a4a5b900fa5 Reviewed-on: http://gerrit.openafs.org/2510 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b82ac032a6ac99db18019bfedf4100c9354a140c Author: Daria Phoebe Brashear Date: Wed Aug 4 08:41:00 2010 -0400 darwin unused prototype we don't gave our own vn_rele. don't prototype it. Change-Id: I3a2d193c95a2d63c8d80054dd4600f949d1a01d2 Reviewed-on: http://gerrit.openafs.org/2509 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a5bcd61a16a3d6b0b458f4710c0d537cfee7743d Author: Andrew Deason Date: Thu Jul 29 14:47:03 2010 -0500 util: add afs_exec_alt Add the function afs_exec_alt to help programs easily execute an "alternate" version of themselves. For example, for programs that are built with/without DAFS support, or are built for 32-bit/64-bit structures, etc. Change-Id: Ibb2b7105d58476f84bd9f15987f8b7df37314b6b Reviewed-on: http://gerrit.openafs.org/2483 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6b6535279a558d0d25b95e4ab4038e7ac9699797 Author: Andrew Deason Date: Tue Aug 3 15:44:52 2010 -0500 tbudb: Use INSTALL_PROGRAM, not INSTALL -f "$INSTALL -f" is not portable. Use $INSTALL_PROGRAM instead. Change-Id: I5013476cc036350b0b61b6e3c01a86d303aa70b6 Reviewed-on: http://gerrit.openafs.org/2507 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit ba7d8d78104d870e9c1d984ac10843918513eef1 Author: Jeffrey Altman Date: Mon Aug 2 23:28:39 2010 -0400 Windows: Reduce complexity of Freelance Callback Logic Over the years the processing of the Freelance callbacks have added functionality that behaves much more like FetchStatus checks to a file server. If the data version of the object has changed, get the new data. Given that is the case, we can remove much of the original refresh logic that is rather race prone. Say goodbye to cm_fakeGettingCallback and cm_fakeDirCallback. LICENSE MIT Change-Id: I249c84201afc16611039b2ba0801a643fcf05f28 Reviewed-on: http://gerrit.openafs.org/2505 Tested-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit a03f1960da3a68cd8453960302be0319a7bb45ae Author: Jeffrey Altman Date: Mon Aug 2 16:06:39 2010 -0400 Windows: When processing pioctl paths ensure callbacks are obtained When processing a pioctl path with either smb_ParseIoctlPath or smb_ParseIoctlParent, cm_SyncOp(CM_SCACHESYNC_NEEDCALLBACK|GETSTATUS) must be called on the cm_scache_t object to ensure that it is up to date before we permit cm_Lookup or other operations to be performed on it. Add the cm_SyncOp() call to smb_ParseIoctlPath and smb_ParseIoctlParent to ensure it is done for all pioctl operations. LICENSE MIT Change-Id: I2fe5d5ec2567693155277b40929dedb8155d9ebf Reviewed-on: http://gerrit.openafs.org/2504 Tested-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit fccd35961f1f3324df7dbdea03790ee0b525d9f1 Author: Daria Phoebe Brashear Date: Mon Aug 2 14:51:39 2010 -0400 fs disconnected remove ifdefs disconnected is always on; remove the ifdefs around it Change-Id: Iaa982f83f7619fc0ad1162a64b68231e02eae916 Reviewed-on: http://gerrit.openafs.org/2502 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit deb96d3986bedc1defc921b88abb88e4aefb55e4 Author: Jeffrey Altman Date: Mon Aug 2 13:30:30 2010 -0400 Windows: docbook revision tag requires a date Even if we can't generate a date, we must include the date tag within the revision tag in order for the docbook dtd to be applied and pass xmllint. Change-Id: Ic58995ecd7b07a1163f0965e22bcd78769d4565e Reviewed-on: http://gerrit.openafs.org/2500 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c5ffaf7a3c179c77398e1d0a007b870a9c45e053 Author: Asanka Herath Date: Sat Jul 31 04:30:10 2010 -0400 Windows: Don't configure client when not installing client The 32-bit tools installer was displaying client configuration wizard pages. Since, the 32-bit tools share configuration with the AFS service, the 32-bit tools installer should not be attempting to change client configuration. Remove said wizard pages from the 32-bit tools installer. Change-Id: Ib52b5741d5d412b1aea1856e0304364ed928b2ba Reviewed-on: http://gerrit.openafs.org/2492 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 60878f4d2a6f5d02f067efead99d371eafe6668b Author: Asanka Herath Date: Sat Jul 31 13:07:44 2010 -0400 Windows: Fix MC options Newer versions of the Message Compiler included with Windows SDKs break when using the -s option. Remove it. Change-Id: I71bcd2d5aa000b11c44b77ce4687bc0f070699b0 Reviewed-on: http://gerrit.openafs.org/2495 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 5e946d5b6672d4dea7dd1c3ee669245b3d2ced92 Author: Andrew Deason Date: Fri Jul 30 15:32:53 2010 -0500 ptserver: Do not use cell for entry name len check Do not use the local cell name when determining if a new entry name is too long. This check assumes that foreign cells will use our local cell name (assumed to be our local Kerberos realm) in a certain way, and prevents creating users that will make those names too long. This is undesirable for several reasons. One is that the local realm name may not be the same as the local cell name (and we may have many local realms). Another is that we cannot reliably predict how foreign cells will construct foreign pt entry names, so preventing entry creation based on that may prevent names that will never cause any problems. This check also assumes that our names will be used as foreign entries in other cells, which may not be the case. So, remove the check based on the local cell name, and remove the pr_realmNameLen variable while we are at it, since this is all it is used for. Thanks to Jeffrey Altman for discussion, and for bringing this up in the first place. Change-Id: Ief4bc94d9ead61a1589797b5dc663a6473c9ed72 Reviewed-on: http://gerrit.openafs.org/2488 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 89afd3c21e816c29f497c10cf76673d009cdd919 Author: Jeffrey Altman Date: Sat Jul 31 00:21:06 2010 -0400 Windows: Do not reference cm_data.rootSCachep directly cm_data.rootSCachep is a global pointer to the cm_scache_t that represents the root.afs volume root directory. Throughout the code this cm_scache_t was being used without ensuring that a callback to the volume is in fact valid. Under most circumstances this would not be a problem. However, it is possible for a request to fail due to the lack of a callback at a critical moment. Add a new function cm_rootScachep() that attempts to ensure that a callback is present (if possible) prior to use the cm_scache_t object. LICENSE MIT Change-Id: I997dc05a2214788d32727c261947206a61cd8d32 Reviewed-on: http://gerrit.openafs.org/2491 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 78f99d4a025d3b369d3ad4939098ea868feb6cfc Author: Jeffrey Altman Date: Sat Jul 31 00:05:24 2010 -0400 Windows: Update root.afs scache dv when Freelance dir bufs are regenerated When the contents of the Freelance root directory changes the fake directory buffers are updated and a fakeDirVersion is incremented. The dataVersion of the cm_scache_t object is supposed to be updated on the next access by performing a fake get callback request. Unfortunately, this did not always occur because of a race. If another Freelance object is updated first, the root directory object would never successfully get a fake callback. This patchset ensures that the generation of the fake directory buffer content and the callback are obtained under the same set of locks thereby removing the race. LICENSE MIT Change-Id: Ic8c77fc3c652cd056f84db55ca6db32499bcb0c9 Reviewed-on: http://gerrit.openafs.org/2490 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 9ec343cf4292e178fa1e4a9757232dc983ea9ba3 Author: Jason Edgecombe Date: Sun Aug 1 21:39:56 2010 -0400 Factor out the common text in vos_addsite, vos_copy, and vos_zap Factor out some common options out of the man pages. LICENSE IPL Change-Id: Ic79e53a2d6464cc62d49987ab58d38c9898f372b Reviewed-on: http://gerrit.openafs.org/2496 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 78dcbd11d49bf9ae078639d067832fdf331daaa1 Author: Asanka Herath Date: Sat Jul 31 12:43:47 2010 -0400 Windows: Build preprocessed POD documentation Change-Id: I0b849bf52094a1b6ca0e45db5e2f92ff58b8efba Reviewed-on: http://gerrit.openafs.org/2493 Reviewed-by: Jeffrey Altman Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 39643598a216c2e892cd94ccb441180a4c4f949e Author: Andrew Deason Date: Mon Aug 2 00:44:37 2010 -0500 SOLARIS: let xlator load if amd64/nfssrv is loaded The NFS translator-enabled kernel module refuses to load if misc/nfssrv is not also loaded. We were only checking misc/nfssrv and misc/sparcv9/nfssrv, though, not misc/amd64/nfssrv. Check that, too, as it may be loaded on amd64 machines. Reported by Robert Milkowski. Change-Id: Idbb9c4136b87ffa4c72ca376738001fb6a3ca7d8 Reviewed-on: http://gerrit.openafs.org/2497 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c53513e834ab965daebb5ce433cd6b7dc88dab8e Author: Jeffrey Altman Date: Mon Aug 2 09:49:26 2010 -0400 Windows aklog: remove lstat preprocessor definition lstat is now defined globally in the build system. remove redundant definition. LICENSE MIT Change-Id: I91f90f571ffd2dfe1544ce17b50e5577acc5adbc Reviewed-on: http://gerrit.openafs.org/2499 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 571204f343014d5f84ddbcf4ad63a8ebd469f006 Author: Jeffrey Altman Date: Mon Aug 2 09:48:07 2010 -0400 Windows aklog: include afs/pterror.h pterror.h is required for initialize_PT_error_message LICENSE MIT Change-Id: Ie487c6b03ff6ca4cac30ccac9f2a67fdd89e6aaa Reviewed-on: http://gerrit.openafs.org/2498 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cf0d7fea04923b39ccae0e9083c525b91642f49d Author: Asanka Herath Date: Sat Jul 31 04:00:41 2010 -0400 Skip over 'fragments' directory when scanning for PODs The generate-html script scans the directories to compile a list of POD files. The list of candidates include the 'fragments' directory, which causes an error when the script attempts to open it as a file. Change-Id: If1208561f58f869ccba60f4a263bee5200dad1ed Reviewed-on: http://gerrit.openafs.org/2494 Reviewed-by: Jeffrey Altman Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit ebf36d27c66f18d8fa88ec8f7cacec3ef0c311d7 Author: Andrew Deason Date: Fri Jul 30 12:03:06 2010 -0500 ptserver: Allow longer foreign user names The ptserver was restricting all names to be less than PR_MAXNAMELEN - pr_realmNameLen - 1, so that the local realm and a '@' can be safely appended for foreign user registration. This check is overly restrictive for foreign users, since the local realm will never be appended to the user name (it already has the foreign realm name appended). So, just check for PR_MAXNAMELEN for foreign users. Original issue reported by Gunnar Krull. Change-Id: I34c5d908cc2c1b3abe87966115e6ada74c9a93a9 Reviewed-on: http://gerrit.openafs.org/2485 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 429feee73d977b7329ec258d5c1aa369b8f349c6 Author: Andrew Deason Date: Fri Jul 30 14:45:29 2010 -0500 Document krb.excl Change-Id: I0ac49b6d705190f877f6b09b69a3efe24b5c3d8e Reviewed-on: http://gerrit.openafs.org/2487 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b0a003fd8d3d1d34dbd6248bf1acec141954f080 Author: Ben Kaduk Date: Fri Jul 30 21:20:06 2010 -0400 FBSD: update ifa_ifwithnet usage FreeBSD 8.1 (and 9.0) now require a second parameter to ifa_ifwithnet. Fix the build by using the same macro as OBSD46. Change-Id: I22eac8722bef79b6349b9d879eb42d63450b362e Reported-by: Jan Henrik Sylvester Reviewed-on: http://gerrit.openafs.org/2489 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ea8be82b95972d46882e8e7fce91a1973c966049 Author: Andrew Deason Date: Thu Jul 29 13:02:47 2010 -0500 Document the 'vos offline' -busy and -sleep opts Change-Id: I68d374a206a398467e5980a87b3ca2ad41bf9653 Reviewed-on: http://gerrit.openafs.org/2482 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 11854c734adb7e184484c262d244401be6656eee Author: Andrew Deason Date: Thu Jul 29 12:43:25 2010 -0500 Remove bless-related options from vos manpages 'vos online' and 'vos offline' were documented as taking -bless and -unbless options, respectively. They do not actually take these options, and since adding that functionality, while useful, will require protocol changes, they are likely to take some time to appear. Change-Id: I91800e9637162e24873beac5d41f3ad456f25af8 Reviewed-on: http://gerrit.openafs.org/2481 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 56cf5a9f5f61207b449e9b62e9f926a7dc488575 Author: Andrew Deason Date: Thu Jul 29 10:36:56 2010 -0500 Install DAFS and non-DAFS fssync-debug Install the non-DAFS fssync-debug along with the DAFS dafssync-debug, since fssync-debug uses some structures that are specific to DAFS or non-DAFS. Change-Id: Ib7420857cd32f33fc3cc04f67baa1fcc90abc936 Reviewed-on: http://gerrit.openafs.org/2479 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 134f58cd8ca3d941bcea6e9f56d8fc7d0c91d7e0 Author: Daria Phoebe Brashear Date: Thu Jul 29 10:59:35 2010 -0400 macos prefs pane improved error handling NSScanner: nil string argument is a lame thing to see. so let's not. Change-Id: I972ed9ebe5a9f7ef5ae9ecbd0423a61bd5bfb5b7 Reviewed-on: http://gerrit.openafs.org/2478 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3a0efeebf63a721068165b3f55600c8eef9faab2 Author: Andrew Deason Date: Wed Jul 28 17:10:10 2010 -0500 viced: Correct unblessed attach2 errors Don't set the vp to NULL; instead just go to the general error handling code. When a volume is not blessed, we just want it to go offline, not go into an error state. Furthermore, we must free the volume header when nUsers is set to 0, so manually do so when we do not call VRequestSalvage_r. Change-Id: I3ccd61ac219e092a5c9ee52cd563d007bc20a1a1 Reviewed-on: http://gerrit.openafs.org/2476 Reviewed-by: Jeffrey Altman Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ec5f7f0e0284b38b86c32c2dfc842b08aca720ff Author: Andrew Deason Date: Wed Jul 28 17:47:21 2010 -0500 vol-bless: Detach, not put, volumes on completion vol-bless was just calling VPutVolume when it was done blessing or unblessing a volume. Instead call VDetachVolume, so we actually give the volume back to the fileserver when we are done if !nofssync. Change-Id: Idc1e0c32cf5c1c9d2c130fee4b2f1a5f61ab1c3a Reviewed-on: http://gerrit.openafs.org/2477 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit e2bce5f6c6cd8d2da40bd830640d87ebb9c0b6e9 Author: Marc Dionne Date: Mon Jul 12 19:28:24 2010 -0400 gcc 4.5: Sequence point warning fixes With gcc 4.5 the -sequence_point warning triggers some new warnings. Fix some of them by simplifying the arguments to some problematic macros. Change-Id: I6c4e2b09f3f9d07d342b7be0d6d8317673dddf34 Reviewed-on: http://gerrit.openafs.org/2474 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 43f3a074f09d34ce2da9bae2237b3a44cb4cac8b Author: Daria Phoebe Brashear Date: Mon Jul 26 16:15:46 2010 -0400 unix blacklistonce should default to fail if no fid return fail, rather than success, if no fid and thus no list of servers to resort, in BlackListOnce. will need a later change for vlservers reported by jhutz@cmu.edu Change-Id: I782781ed87a6de718a4cc3dbe2f948ef325af27c Reviewed-on: http://gerrit.openafs.org/2473 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 91eec4d85016b009a9661e98651dfbaa32618d3d Author: Andrew Deason Date: Thu Jul 22 13:43:17 2010 -0500 salvage: Zero root/readme vnodes before writing Previously we were writing out the root and readme vnodes with uninitialized 'lock' structures, when we create a new root dir for attaching orphans. Just use calloc so we ensure that everything is zeroed before writing it out. Change-Id: I3c7712254aaef8731be95ea63530af05438d96a6 Reviewed-on: http://gerrit.openafs.org/2469 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1ad26bc193f6b7693888054e4ddb96cf5fd260ee Author: Andrew Deason Date: Thu Jul 22 12:21:14 2010 -0500 autoconf: Force absolute INSTALL Force using an absolute path for install-sh. Autoconf normally prefers using a relative path, which confuses (at least) part of the libafs build system. Change-Id: I6962e61bb866362f674708e611ff22eb190a771a Reviewed-on: http://gerrit.openafs.org/2461 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit be469a890416eb139424890567037a17954a654c Author: Andrew Deason Date: Thu Jul 22 11:24:10 2010 -0500 Remove tsalvaged warning inhibition tsalvaged has no documented necessary warning inhibitions, and it appears to cause no warnings. So, remove the warning inhibition. Change-Id: Iac2f8e8657034b01ce705dddb5dab3f33c913f31 Reviewed-on: http://gerrit.openafs.org/2467 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a68abf7a4eeb0667fa067a73e4560b8666e7172a Author: Andrew Deason Date: Thu Jul 22 11:34:24 2010 -0500 AFS_INT64_FMT takes a afs_int64, not int64_t Cast to afs_int64, as int64_t can reduce to a different type than AFS_INT64_FMT's. Change-Id: I77ffe8813fbef284e6e91db25804d95d73898b54 Reviewed-on: http://gerrit.openafs.org/2466 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3d1fd051b6a5c6e3bf04663d88bc0366d7e7e854 Author: Andrew Deason Date: Wed Jul 21 17:30:39 2010 -0500 Log lex/flex detection errors in the config log When we detect if lex is flex, we run 'lex --version', which may complain to stderr if lex is not flex. Instead of printing such errors to the person running 'configure', redirect stderr to config.log along with stdout. Change-Id: I812805245a2638eda5885a41a6d70ffeff608c58 Reviewed-on: http://gerrit.openafs.org/2462 Tested-by: Andrew Deason Reviewed-by: Russ Allbery commit d64948ac30d3aefda098727a2158406144877654 Author: Daria Phoebe Brashear Date: Wed Jul 21 12:06:39 2010 -0400 vlserver - Don't overflow buffer with backup pattern based on a report from Hans-Werner Paulsen avoid adding regex anchors to a buffer which is already full when copying it to a like sized buffer. instead, leave extra space. Change-Id: I486c51779da285888fe38ed2aa5f30dd2d008a9a Reviewed-on: http://gerrit.openafs.org/2456 Reviewed-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e80bc73142188af82611f2174413091191be7818 Author: Andrew Deason Date: Wed Jul 21 12:01:57 2010 -0500 Remove an outdated inode comment block This comment is no longer true, and its existence now is just confusing. Change-Id: I3954bd82f11c5f48e3e9491a885087067b3d9d34 Reviewed-on: http://gerrit.openafs.org/2458 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e75eb34b9a38127b2f166a702e5a641847448823 Author: Andrew Deason Date: Wed Jul 21 12:17:33 2010 -0500 SOLARIS: do not ignore libafs build failures Change-Id: Ic5bc6cefd616736d81807bf6ac6d0226fcdb3df2 Reviewed-on: http://gerrit.openafs.org/2459 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 41d321e900ccb99120a49980c24d44f206075f17 Author: Russ Allbery Date: Wed Jul 21 10:36:21 2010 -0700 Don't cd around invocations of install-man install-man is a config.status-generated script, so Autoconf will substitute in the path to our install-sh script, but Autoconf prefers relative paths that are only valid in the directory in which install-man is generated. We therefore must avoid changing directories before calling install-man. Instead of cd, use relative paths including the directory and adjust the installation path accordingly. Change-Id: I8666257b9d74fa80cf7f136bd0ee6ff895897066 Reviewed-on: http://gerrit.openafs.org/2460 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f0a52e168c0f3495c7b168a63c149116219e3c1b Author: Andrew Deason Date: Wed Jul 21 11:34:39 2010 -0500 libafs: fix IOPEN for amd64 solaris Solaris afs_syscall_iopen was returning the fd in r_val2 for 64-bit architectures (for 5.7 and beyond). If we are little-endian, though, we want the return value in r_val1; otherwise we just always return fd 0. So, put the fd in r_val1 if we are little-endian. Change-Id: I8553c338625e9c50f846f4676b53ea8f054b7a73 Reviewed-on: http://gerrit.openafs.org/2457 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b3c16324edf9e26ef4eea63d214d9d18ecaba30b Author: Andrew Deason Date: Tue Jul 20 12:46:00 2010 -0500 ubik: Make ugen_ClientInit honor noAuthFlag ugen_ClientInit was still trying to use tokens to make an authenticated connection, even if noAuthFlag was set. Make it so we do not attempt authenticated connections with noAuthFlag, and suppress the "Could not get afs tokens" message if noAuthFlag was set. Change-Id: I1a0afbb8507307f09a3555e6a7ce0c197ddcc6ef Reviewed-on: http://gerrit.openafs.org/2454 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e46f10a0a0a930f318833a8a86b10c19744160c1 Author: Andrew Deason Date: Tue Jul 20 12:32:10 2010 -0500 bos: Do not assume DAFS just if DAFS bnode exists For salvaging purposes, we were assuming that if a DAFS bnode existed, we should perform a DAFS salvage. Since it is possible to have a disabled DAFS bnode alongside an enabled non-DAFS fs bnode, we should perform a regular non-DAFS salvage if the DAFS bnode is disabled. Do that. Change-Id: If4e6fa3b733e2e9684cd9942be56368d60bf6dee Reviewed-on: http://gerrit.openafs.org/2453 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit b0f16e6a564f305bb7751e946d85a4e70fa50625 Author: Andrew Deason Date: Tue Jul 20 12:06:57 2010 -0500 bozo: Clean up bnode parms for each bnode bosserver was remembering the parms for past bnodes, and just overwriting parms for new bnodes. This is a problem if we have a 'dafs' bnode followed by an 'fs' bnode, since the 'fs' bnode will get the 'dasalvager' parm, and bosserver will think it is its scanner program. So instead keep track of a separate array of the parms that we actually pass to bnode_Create, so we only pass parms that we saw for this specific bnode. Change-Id: Ic609e2156cfd8ecf5b83b3815c5dff235010aa00 Reviewed-on: http://gerrit.openafs.org/2452 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 901423b1e566a91b0c10ecb1da1a9886e0877adf Author: Jeffrey Altman Date: Tue Jul 20 00:05:18 2010 -0400 Windows: Build Demand Attach File Service This patchset permits the building of demand attach file server and volume server. Change-Id: I7ee81c69924cde5e8aec2067d73b51cba7e4423e Reviewed-on: http://gerrit.openafs.org/2450 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 939382c5c1622750665a9f543168bd3b8044583f Author: Daria Phoebe Brashear Date: Mon Jul 19 14:17:21 2010 -0400 vol AttachByName should mimic other volpkg errors if later callers will deem a volume offline, note it at attach time. additionally, log the cause. Change-Id: I4870e8f3bfd8d7e69e448d3a445be81435407f0f Reviewed-on: http://gerrit.openafs.org/2448 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eb6914dbb30b211653d6e66f23c31e81d410c9ae Author: Daria Phoebe Brashear Date: Mon Jul 19 16:56:58 2010 -0400 ShakeLooseVCaches needs to avoid CVInit vcaches the code refactoring missed this case. sadly, it means we can panic under heavy vcache contention. FIXES 127645 Change-Id: I41929df066b8e3d447ba72e77be6777a306b8bf8 Reviewed-on: http://gerrit.openafs.org/2449 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9c9b4bb8279f62bfd0888a8d7d081ba53ace3c4c Author: Daria Phoebe Brashear Date: Fri Jul 16 13:48:05 2010 -0400 document dasalvager split dasalvager and salvager documentation. refer both ways between docs. Change-Id: I33480cae671c3f50d47a5a4f8407a07f268164a1 Reviewed-on: http://gerrit.openafs.org/2442 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6f29ed951fca8f843e0a607fae97dd107f44d21c Author: Daria Phoebe Brashear Date: Fri Jul 16 13:39:22 2010 -0400 document davolserver split davolserver and volserver documentation. refer both ways between docs. Change-Id: Iac70ac8e1fb8bfcb7ebfdbed8e9d7870a2e69fee Reviewed-on: http://gerrit.openafs.org/2441 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 214f8ea022ad57d9f99346f4d24ed3c7409d8054 Author: Daria Phoebe Brashear Date: Sun Jul 18 11:45:06 2010 -0400 dafileserver synopsis missed this before, needed for dafs man page Change-Id: Ie9a309995638ea315198ea204cbc16e2cdc3fbe7 Reviewed-on: http://gerrit.openafs.org/2447 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c15a8c65ad232349b202fcf67a4f5037aaec02c8 Author: Daria Phoebe Brashear Date: Fri Jul 16 13:21:57 2010 -0400 document dafileserver split dafileserver and fileserver documentation. remove dafs-only switches from fileserver doc. refer both ways between docs. Change-Id: Ibcac8ed3f294c18436978f3cd4e52de305130198 Reviewed-on: http://gerrit.openafs.org/2425 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5142922d6ff019fc30d78c4a5eab29fa5fc1db30 Author: Andrew Deason Date: Tue Jul 6 12:42:40 2010 -0500 vos status: report human-readable last*Time Make 'vos status' print the lastReceiveTime and lastSendTime in a human-readable format, instead of just printing the number of seconds since the epoch as an integer. As suggested by Jeffrey Altman. Change-Id: I1348a45078e49ff631cb46323767f1c384a72084 Reviewed-on: http://gerrit.openafs.org/2338 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48758397aecb98672783d8d5960e638d76e5e19c Author: Andrew Deason Date: Tue Jul 6 12:38:21 2010 -0500 vos status: add lastActiveTime field Add a field in the 'vos status' output to report the last time a transaction was touched by a volser RPC. Change-Id: Ibfe11e16fc3d7f00134d840ec3ab9fb9263fbea1 Reviewed-on: http://gerrit.openafs.org/2337 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 36af430c29bdbfc1b4b5c1ad7568cbffab04899f Author: Andrew Deason Date: Tue Jul 6 12:36:27 2010 -0500 vos status: actually show created time The 'created' field in 'vos status' output was being reported as something else. Make 'vos status' actually report the time the transaction was created in that field. Change-Id: Ib890256f4b9f67cf0a37910dc3b3585eafdba4fc Reviewed-on: http://gerrit.openafs.org/2336 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dd3e0d0371608b0348435e94cc3c6c8f20d92b83 Author: Simon Wilkinson Date: Sat Jul 17 18:23:30 2010 +0100 dir: Add printf format checks to log salvage.c uses the Log() function defined by vol/common.c. At the moment, this isn't defined in a way that we can easily grab its prototype, so the code has an extern definition at the beginning. For now, just add format checks to this definition. Fix all of the fallout from this - we were casting to intptr, and printing with %x - use AFS_PTR_FMT as nature intended. Change-Id: I2110ebddbe207c307fcad00ab89e5818824a644d Reviewed-on: http://gerrit.openafs.org/2446 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8b5bf6ed9eb8404f8b9576c440d82a7691bcb77a Author: Simon Wilkinson Date: Sat Jul 17 18:06:39 2010 +0100 budb: Add printf format checks to logging fns Add format checking to the Log, LogError and LogDebug functions. Fix the resulting type errors. One of these in particular is a signficant bug, where we would try to print a hash table pointer as a string. Change-Id: I02d7bcd7ce63583d24dda4da40288af51a516583 Reviewed-on: http://gerrit.openafs.org/2445 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52c91be7ca3c834c470fc739696dffe5fd01c0fe Author: Simon Wilkinson Date: Fri Jul 16 23:20:27 2010 +0100 vol: Fix logging functions Fix the Log, Abort and Quit functions used by the vol package so that they are all defined in a common header file, rather than prototyped in each file which uses them. Use the appropriate macros to flag those functions which never return, and mark them all as taking printf style input. Fix all of the callers which had mismatched format strings and arguments. Change-Id: I78194f623360e13f055f8f37b3558c08a70acd1f Reviewed-on: http://gerrit.openafs.org/2444 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a495e0ff6b7f3ee07b77363fa513d24024199f38 Author: Simon Wilkinson Date: Fri Jul 16 21:58:33 2010 +0100 Linux: Load exportfs first The changes to use the exportfs interface to access cache files require that the exportfs module is loaded before our module. In 'normal' operation depmod, and modprobe, would take care of this for us, however our legacy installation format where we ship the kernel module outside of /lib/modules stops modprobe from working, and our init script uses insmod. So, explicitly load exportfs first. Note: I'm aware of just how much this sucks, and the fact that we really should just tidy up all of the packaging and init scripts around our kernel module - but this close to 1.6 branch is probably not the time for those kinds of changes. Change-Id: Icdc11482f4eb05419a806a2cd55852eaa5999638 Reviewed-on: http://gerrit.openafs.org/2443 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce109a8538e16090ee7960991ed1260aac54137a Author: Russ Allbery Date: Thu Jul 15 10:18:03 2010 -0700 Rename configure.in to configure.ac Rename configure.in and configure-libafs.in to use the *.ac extension instead, which is preferred by current Autoconf versions for input files to Autoconf. *.in can then be more consistently used for files that are input into config.status. Change-Id: I4d352560200e4dbb1a2dda3d5ab7c7c9a38b565f Reviewed-on: http://gerrit.openafs.org/2437 Reviewed-by: Derrick Brashear Tested-by: Russ Allbery commit a792acdadc8fe6e7354be4c23e60c795b3b4f109 Author: Russ Allbery Date: Thu Jul 15 17:21:26 2010 -0700 Add include method for POD documentation Add a preprocessor for POD documentation that handles a custom =include directive. Demonstrate how to use the preprocessor by factoring out all the standard PTS options into a separate POD fragment and including that fragment in all the PTS commands that take the standard options instead of including that documentation in each separate file. Change-Id: If5255efc6d3fc670b38a9898b3d7d3c60af04fcf Reviewed-on: http://gerrit.openafs.org/2440 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3e2c3c9a56fbffd0dc63183dcb053f942b6a2bf6 Author: Russ Allbery Date: Thu Jul 15 17:18:12 2010 -0700 Fix unterminated B<> sequence in bos addhost man page Change-Id: Ied06fbf8c0a9cc064b257daf6272cd5a5bd2e816 Reviewed-on: http://gerrit.openafs.org/2439 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b4411d37b43b0a934028af39fe8594bbd82e1733 Author: Russ Allbery Date: Thu Jul 15 16:29:27 2010 -0700 Flesh out the configuration documentation Remove obsolete configure options and document all remaining options other than some provided by Autoconf and some that are currently not very interesting. Document that, on modern Linux systems, configure can find the kernel build system and headers by itself and doesn't need the flag. Include some more information in README about changing the default installation paths, and mention that the da* versions of the file server and volserver also aren't stripped. Remove the generic GNU installation instructions, which aren't useful for OpenAFS. Change-Id: I56d0003ff0173749e9a5e04f1d0ed4d004787dfd Reviewed-on: http://gerrit.openafs.org/2438 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce0ba0e33581cb5f89902d342f56ceef09f1b78a Author: Russ Allbery Date: Wed Jul 14 17:32:35 2010 -0700 Add new demand-attach binaries to .gitignore Change-Id: I822153d890e736c2422f6bc0c0b29bb7c4240f9b Reviewed-on: http://gerrit.openafs.org/2434 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 674ec768828994b90dc14bf8487e04de5bdf7295 Author: Russ Allbery Date: Wed Jul 14 17:30:11 2010 -0700 Fix .version generation for make libafs_tree The first argument to the git-version script should be the root directory of the tree, not the .version file in that directory. Change-Id: I145d360dc79132fc1474e94893c999b35774d874 Reviewed-on: http://gerrit.openafs.org/2433 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01afbb03cc1b853d0909101e5145d0333669c344 Author: Russ Allbery Date: Wed Jul 14 17:29:34 2010 -0700 Move build support files into build-tools Now that we have a build-tools directory, move the various support files used by Autoconf and Automake into it as well to reduce clutter at the top level. Change-Id: Ieae317524d5354e3a6168507c569378f7913b05f Reviewed-on: http://gerrit.openafs.org/2432 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aeba16157ef8127aa0f0866d699972ef7efe7a0c Author: Marc Dionne Date: Wed Jul 14 22:43:01 2010 -0400 afspag version of rx_knet.o in order to correctly generate KBUILD_MODNAME, each object file needs to be built only once. in this case it matters because the pr_debug macro, called as a result of including errqueue.h, needs it and things which depend on it, and when it's built into 2 .kos, the wrong thing happens. Change-Id: I85be7a3322fd179ef75fe14a90c9e7592e542ed1 Reviewed-on: http://gerrit.openafs.org/2435 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ed71f147c709c96c1edd77a06b019a40896967be Author: Russ Allbery Date: Wed Jul 14 12:46:04 2010 -0700 Debian: Install the demand-attach versions of the binaries This will need more comprehensive packaging work later, but in the meantime, install the binaries so that make dpkg will complete successfully. Change-Id: Ic82feb92c05a3638365593c4e321ef5e45916ee2 Reviewed-on: http://gerrit.openafs.org/2429 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 624e827f8fe31dfd22230a2689496328224d6bf1 Author: Russ Allbery Date: Wed Jul 14 12:33:40 2010 -0700 Use the full version number for Debian packages Debian packaging can deal with the full version number that we generate using git-version, so base the version we put into src/packaging/Debian/changelog on that version instead of the LINUX_PKGVER that we use for other packaging. Change-Id: Ibf50854748b2b588c2f971d6bdadd4f66f648c5b Reviewed-on: http://gerrit.openafs.org/2428 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 03080af8cee0e2d74c3dadf7a07e3b42f658e263 Author: Russ Allbery Date: Wed Jul 14 12:27:30 2010 -0700 make dpkg should only build binary packages The source package we would get by running dpkg-buildpackage in the source tree without further preparation is basically useless, since it's a native source package for a non-native package and will contain any random dirty cruft in the current source tree. Since the purpose of make dpkg is to provide quick Debian packages for testing purposes, only build the *.deb files and don't bother to build the source package. Change-Id: Ia2643c7e8936b15e3447df589ed0236438b8341e Reviewed-on: http://gerrit.openafs.org/2427 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4323e2ea3307baa6f4c21ae359713cabae0216b4 Author: Russ Allbery Date: Wed Jul 14 12:25:55 2010 -0700 Update Debian packaging to 1.5.75-2 Fixes the duplicate run of make install during the package build process and updates the changelog to the current Debian packages. Change-Id: I20fa4cc24e17c3944de2b08e265e277ff5d5564f Reviewed-on: http://gerrit.openafs.org/2426 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a658736af649bd52a7710cbb428a804588b2fda5 Author: Michael Meffie Date: Wed Jul 7 14:25:46 2010 -0400 man: document bos addhost -clone Add the missing -clone option to the bos addhost man page. Change-Id: I0ead9acfd25d573b907f2617845c25c8c11df53c Reviewed-on: http://gerrit.openafs.org/2349 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit a1351d48410383090befd63b34407caf55b8f654 Author: Russ Allbery Date: Wed Jul 14 10:02:08 2010 -0700 Fix ktime test on 64-bit systems 0xffffffff is a bad representation for -1 when the size of the data type may vary. Rather than forcing everything to 32 bits and losing later on platforms with 64-bit time_t, change the table to use time_t and try to add a cast that will do the right thing. Change-Id: Id532c9b7a1fc215dc9fd532592fecb2ea45597a0 Reviewed-on: http://gerrit.openafs.org/2420 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1d8bb99db9ae66554760a5927268631916be5adf Author: Andrew Deason Date: Thu Jul 8 15:59:58 2010 -0500 RX: ignore all local 127/8 IFF_LOOPBACK interfaces Currently RX lists all non-127.0.0.1 interfaces in the interface list, even those that are specified as IFF_LOOPBACK, to accomodate certain special cases where IFF_LOOPBACK interfaces should be advertised. However, this makes us advertise e.g. a 127.0.0.2 lo interface. So instead, skip all interfaces that are both in 127/8 and claim they are IFF_LOOPBACK, as this will skip a stray 127.0.0.2, but should not confuse the special cases. Change-Id: I60a4ed5330252078e2f58894195f9b68ec70dcfa Reviewed-on: http://gerrit.openafs.org/2376 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4b7d224d17e5d11b4ea50a8dece763aaedf21d17 Author: Andrew Deason Date: Thu Jul 8 10:56:28 2010 -0500 Treat all 127.0/16 addresses as loopback Many places treat loopback addresses specially; they are skipped over when traversing local interface lists, and they are sometimes replaced with the public IP of the local hostname when interpreting user arguments. However, we only treated 127.0.0.1 as 'loopback'. Many systems can have more than one loopback interface, such as having an interface with the address 127.0.0.2. So, to catch these, treat everything in 127.0/16 as a loopback address or otherwise 'invalid' address. We still do not treat the rest of 127/8 like this, to still allow some 127.* addresses to not be treated as loopback if someone really wants to. Change-Id: I64724cc1ee366e5ef80a8d6e3008e30a7077a4b2 Reviewed-on: http://gerrit.openafs.org/2367 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ca352e0f922e28f3d66a1d2e7d165e4dc846e5b8 Author: Russ Allbery Date: Wed Jul 14 09:28:47 2010 -0700 Rewrite FUSE macro to skip FUSE if not found unless --enabled If no configure flags are given, build the FUSE afsd iff FUSE is found. If --enable-fuse-client is explicitly given, always try to build the FUSE client and abort if FUSE libraries could not be found. Change-Id: Icc0d5bbb03239470ad856d87bca600304f030591 Reviewed-on: http://gerrit.openafs.org/2419 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 260ae1b845a82501f957f3fb40f63b0e0f6d5e93 Author: Marc Dionne Date: Wed Jul 14 09:52:03 2010 -0400 Linux: use an int pointer for the size argument to getsockopt getsockopt expects an int pointer as the size parameter, both in the kernel version and our replacement compat inline function, which causes warnings because we give it a size_t pointer. Use an int variable instead. Change-Id: Ide77ac01610c2f32f87d833c0d130c79007a1a33 Reviewed-on: http://gerrit.openafs.org/2417 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a8b64dba013d5aa899d5ce29370bf1a52fb3fca9 Author: Jeffrey Hutzelman Date: Wed Jul 14 01:20:22 2010 -0400 Don't overflow a buffer on the server's stack at startup The servers like to log the command line it was invoked with. It does this by concatenating its arguments, separated by spaces, into a 150-character buffer on the stack of main(). That's just wrong. Use a dynamically-allocated buffer instead. Change-Id: Ibe398e5f449eec176f11f301090a1b68ef13e94b Reviewed-on: http://gerrit.openafs.org/2275 Tested-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear commit 8802b78040b37bad652b448dbc40af7745c16400 Author: Marc Dionne Date: Wed Jul 14 09:29:49 2010 -0400 rx_user.c: Remove unused variable There's an unused variable in the pmtu code in rx_user.c. Remove the "offender". Change-Id: I869b317d7e31b0f70b71f3e9ea2a0e0209709fcb Reviewed-on: http://gerrit.openafs.org/2415 Reviewed-by: Rod Widdowson Tested-by: Rod Widdowson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e503fc8b4ab1a37c447f78adcde92b6d84dd8658 Author: Daria Phoebe Brashear Date: Wed Jul 14 02:00:32 2010 -0400 linux rx pmtu fixes failed to get committed in earlier round of pmtu revamping. oops. Change-Id: Ie4b0e2e3c343b62abf9871fd41018d25b09d30d4 Reviewed-on: http://gerrit.openafs.org/2414 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 37994e573f14fb4cb1a1bbe74543fa297a4b2226 Author: Daria Phoebe Brashear Date: Wed Jul 14 00:44:11 2010 -0400 simple fuse enable change just turn on fuse by default. don't move anything Change-Id: I533aeda117159ed4bf37c550906b580125f7f729 Reviewed-on: http://gerrit.openafs.org/2413 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eae0fe48b9eb32412d5b5872a9a57aa0205057fb Author: Andrew Deason Date: Fri Jun 25 17:02:54 2010 -0500 Add -unsafe-nosalvage fileserver option Provide a runtime flag to the DAFS fileserver to allow for fast-restart-like behavior for DAFS. Call the flag -unsafe-nosalvage, and document it, warning against its use. Change-Id: I342c58745b7e2e1d1a2066b4fb08941b02c660f9 Reviewed-on: http://gerrit.openafs.org/2277 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c3fc948e34ad6c44df88e77e5a00e7d3119f627e Author: Simon Wilkinson Date: Tue Jul 13 21:53:22 2010 +0100 Check for crypt in external library Check to see if we need to explicitly include a library in order to get the crypt() function Change-Id: I9bd1d70e420d4d1656bd86cd3215525102fa6259 Reviewed-on: http://gerrit.openafs.org/2404 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c6f7bb80ee01f477743a3496507e082fb5760884 Author: Russ Allbery Date: Tue Jul 13 15:39:29 2010 -0700 Update Debian packaging to 1.5.75-1 This update now builds shared library packages for the libafsauthent and libafsrpc shared libraries. It should also fix problems with make dpkg due to debian/changelog being deleted on make distclean. Change-Id: I14ce0633edc1f0cc9e081eb7383b2f1e7bfc729f Reviewed-on: http://gerrit.openafs.org/2405 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 95f51b8670b08526c6a3395ffc0ec169932f2cc7 Author: Daria Phoebe Brashear Date: Tue Jul 13 15:14:00 2010 -0400 enable pmtu in configure by default if we can get a socket error to let us get pmtu discovery info, use it. Change-Id: I7756c1a00e6cb018146a5b0545bed828446e5483 Reviewed-on: http://gerrit.openafs.org/2400 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3610ba191fd058b485db62ed5a3eb64f882a850f Author: Daria Phoebe Brashear Date: Tue Jul 13 16:47:39 2010 -0400 demand attach build always always build demand attach. includes doubtless-broken windows support. installs dafileserver, dasalvager, davolserver. salvageserver keeps its (unique) name. Change-Id: Ia272dd2b0f72789b9e0f2a7712f9c206bb922095 Reviewed-on: http://gerrit.openafs.org/2403 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aa97bf5dd4c07be452e2473ffe0adbe680f73bd7 Author: Daria Phoebe Brashear Date: Tue Jul 13 23:51:52 2010 -0400 afs sunpro not always c99 old enough sunpro c won't be c99, and doesn't define a macro when it is c99. since there's no way to tell, be safe. Change-Id: Ib60ead7b702fe3ab203de83456d0f126afecc1ec Reviewed-on: http://gerrit.openafs.org/2411 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f5b6ce170757066ee5387d936efd51c11e18b2cf Author: Daria Phoebe Brashear Date: Tue Jul 13 23:36:30 2010 -0400 xdr sunpro not always c99 old enough sunpro c won't be c99, and doesn't define a macro when it is c99. since there's no way to tell, be safe. Change-Id: I1709827872b03c5365d9bb26b0ce9d86f038d882 Reviewed-on: http://gerrit.openafs.org/2410 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad1b79547be5a2ae37619e8b583838e6744ff664 Author: Russ Allbery Date: Tue Jul 13 15:57:25 2010 -0700 make dpkg should not depend on dest It's pointless to have make dpkg build the tree before running the Debian build rules, since the Debian build rules are just going to build the tree again. Change-Id: I2481b20a5ca23f8cb067ba609d4d3acd58738cc4 Reviewed-on: http://gerrit.openafs.org/2406 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b666166b6d81b5a8079030e66d527bd708afeede Author: Daria Phoebe Brashear Date: Tue Jul 13 14:31:41 2010 -0400 simple is-lex-flex autoconf test if we're flex, we may need to be lex-compatible. engage it if we're flex Change-Id: If9a39ca0bce3f4a68b742d1e8f0c679d3f79896e Change-Id: I7f245d579bcc46fdd0aa7202bbd45f3f9f647ebc Reviewed-on: http://gerrit.openafs.org/2399 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a0113e0f1272b8f2c57fa339dcaef0bd4770143f Author: Russ Allbery Date: Tue Jul 13 13:42:01 2010 -0700 Link libafsauthent with -lresolv if required libafsauthent includes auth/cellconfig.c, which uses res_search, so it requires -lresolv even if it isn't needed for gethostbyname. Add LIB_AFSDB to the link line for libafsauthent. Change-Id: Id83ceb8b261b8c7fb176e24cc138276282608513 Reviewed-on: http://gerrit.openafs.org/2408 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 57d727da233252477c16a34cf628f6764534b8bc Author: Russ Allbery Date: Tue Jul 13 13:42:01 2010 -0700 Link libafsauthent with -lresolv if required libafsauthent includes auth/cellconfig.c, which uses res_search, so it requires -lresolv even if it isn't needed for gethostbyname. Add LIB_AFSDB to the link line for libafsauthent. Change-Id: I4dafdf83db9a00e4e30bff7c59357c13bf7af961 Reviewed-on: http://gerrit.openafs.org/2402 Tested-by: Derrick Brashear Tested-by: Jason Edgecombe Reviewed-by: Derrick Brashear commit d815833f9db0f91511390251932cfe0a83189a23 Author: Daria Phoebe Brashear Date: Tue Jul 13 15:47:41 2010 -0400 disconnected fix prototype warning supporting disconnected in ukernel uncovered this warning from lack of a prototype Change-Id: I81d287a8e4466270906fe67f8a1f2f6406fec430 Reviewed-on: http://gerrit.openafs.org/2401 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52fe3b27489f113c0f7488c5b78fd95a18d44831 Author: Daria Phoebe Brashear Date: Tue Jul 13 14:29:38 2010 -0400 64bit macos new config.guess support new config.sub/config.guess call 64 bit macos something new. update our handling so we deal. Change-Id: Ieadd71b66e879ff58bf2c7f77173284c570e4252 Reviewed-on: http://gerrit.openafs.org/2398 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d29643b0553011cbe60dd127fd31c1847fe02ddb Author: Daria Phoebe Brashear Date: Tue Jul 13 13:06:02 2010 -0400 unix disconnected mode always per 1.6 release plan, enable disconnected always. eject ifdefs (and a stray printf that was hidden in one) Change-Id: I6a68cb8506878c28502e1742a48858f2e84958f5 Reviewed-on: http://gerrit.openafs.org/2397 Tested-by: Jason Edgecombe Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 27d415d2b82c7ddceb3f9ec779a65b4e2c5a8141 Author: Daria Phoebe Brashear Date: Tue Jul 13 12:41:15 2010 -0400 linux cache bypass by default can't eject the ifdef yet as this is not fully portable now. however, just enable it always. Change-Id: Ia7a49a10377f308740ebd42027ac9748b073016e Reviewed-on: http://gerrit.openafs.org/2396 Tested-by: Jason Edgecombe Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 191dbb439d4b54d485a50c2670daaaacab5b2369 Author: Jeffrey Altman Date: Mon Jul 12 14:42:12 2010 -0400 DAFS: variable declarations in C must be a top of block Two instances of variable declarations not being present at the top of a code block in src/vol/volume.c when building with AFS_DEMAND_ATTACH_FS. Fix them. Change-Id: Ic6b9c5a6bbbd8355a144fea38a6ca1dd2a2c747d Reviewed-on: http://gerrit.openafs.org/2388 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2cab6a75207d67e2fbbbf4418f46bf46277e3825 Author: Jeffrey Altman Date: Mon Jul 12 23:35:05 2010 -0400 Windows: Generate a valid block using mkvers.c The tag requires not only a but a . Change-Id: I3c5b7691d18381b1bf71bbd3d726bd284bf90919 Reviewed-on: http://gerrit.openafs.org/2390 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 2b85b8c31d96b0ac558acb1bf95fb7b21c66cb3c Author: Jeffrey Altman Date: Mon Jul 12 23:36:56 2010 -0400 Windows: Permit docbook validation using xmllint Add a "check" rule to each of the docbook directories that uses xmllint.exe (from Cygwin) to validate the docbook source against the DTD. Validation failures will halt the build. Change-Id: Ifcfcab11d5077381bfe7fa5e3767070a8d55cb21 Reviewed-on: http://gerrit.openafs.org/2391 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d4440319c3f954432056044fb55b2630594a46b7 Author: Jeffrey Altman Date: Mon Jul 12 23:40:01 2010 -0400 Commit DTD validation errors in the Windows Release Notes Correct errors detected using xmllint Change-Id: I75c936084f116addbb7918856fe958b596e91b03 Reviewed-on: http://gerrit.openafs.org/2393 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 6c78ce796262d62ad1641f5b28ea1bdbe78222cf Author: Jeffrey Altman Date: Mon Jul 12 23:40:52 2010 -0400 Correct DTD validation errors in the UserGuide Correct errors detected using xmllint Change-Id: Idd9e91ef463679cb58bdb622fd600e4020224e81 Reviewed-on: http://gerrit.openafs.org/2394 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Jason Edgecombe Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fb285880dad219a9992bd9bc29fd5bbb0ee34c8c Author: Jeffrey Altman Date: Mon Jul 12 23:38:56 2010 -0400 Correct DTD validation errors in the AdminGuide Correct DTD validation errors detected using xmllint. Change-Id: Ia255ac319a81966e63b702dd2b672ff3d6d8958a Reviewed-on: http://gerrit.openafs.org/2392 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 73716de680b336df1ca51fe60ce9526d9f43f2e7 Author: Simon Wilkinson Date: Mon Jul 12 12:04:20 2010 +0100 Linux: Use inode lock compat function We've now got a compatibilty function for locking and unlocking an inode. Use that in osi_file, rather than a local set of #ifdefs Change-Id: Ie64f0b758df0b90d0df2033d57729c8b09652c39 Reviewed-on: http://gerrit.openafs.org/2389 Tested-by: Jason Edgecombe Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cdef1c67aeaedffadf41069f46e0144f5f1b3a29 Author: Ken Hornstein Date: Tue May 4 14:04:59 2010 -0400 fix dumptool on macos make dumptool in test suite compile on macos again Change-Id: Id60f625ce53bc9695673b68c733fa653521a8122 Reviewed-on: http://gerrit.openafs.org/2387 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 78e4c7561b8092103da8c991b7d1c996b7eee194 Author: Daria Phoebe Brashear Date: Mon Jul 12 15:04:44 2010 -0400 rx getaddr loopback change fallout failed to git add, and so failed to push this back. Change-Id: Ic538ac13f3099cfb3b8a5561e332750421ddd093 Reviewed-on: http://gerrit.openafs.org/2386 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c44f640df369c74aac3a26b7001c257f4ad4e536 Author: Michael Meffie Date: Tue May 11 17:26:36 2010 -0400 xstat: fix large integer output Do not print large positive integers as negative. Change-Id: Ia7f96e64ee6ad0c58de0d03779b230623d60b114 Reviewed-on: http://gerrit.openafs.org/1949 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5cc6293c2cfc7b0a8746942fd048127bb7cbf10f Author: Andrew Deason Date: Wed Jun 23 16:08:13 2010 -0500 Provide man pages for more fssync-debug commands Provide man pages for the fssync-debug commands vgcadd, vgcdel, vgcquery, vgcscan, vgcscanall, vnode, and volop. Change-Id: If456a4cdfedbf5f2776c276bc20178319638c26a Reviewed-on: http://gerrit.openafs.org/2239 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6f75caf8e58521dc15ca793ec4767e5529516b43 Author: Michael Meffie Date: Mon Apr 19 10:00:52 2010 -0400 viced: host hash address collisions Attempt to resolve collisions when adding a host to the address hash table and another host with the same address:port is already present in the hash table. Retrieve the uuid for the host at that address and if the uuid matches the new host and not the old, remove the address from the old host and install the new host into the address hash. Change-Id: Id182f907f63be556c61ffb91777edd35f0aa950d Reviewed-on: http://gerrit.openafs.org/1786 Reviewed-by: Andrew Deason Tested-by: Michael Meffie Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 421cdc04de9716f994f3bdba17ad4d69494868a5 Author: Andrew Deason Date: Thu Jul 8 15:37:48 2010 -0500 Consolidate loopback address tests Many different places were testing if an address is a loopback address. Consolidate these into one function to make it easier to alter. Change-Id: I9c4465f3bdc4e840c83d69456504caaac1c544e7 Reviewed-on: http://gerrit.openafs.org/2375 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2e66c828b1224fb651ba66e7d7ec59da469f7993 Author: Andrew Deason Date: Thu Jul 8 16:40:07 2010 -0500 GetInodeSummary: free inode info In the salvager, GetInodeSummary stores some information about the relevant inodes into a file. Free the memory for that information after it's been written out, since we don't reference that memory again. Change-Id: I9578f941d2ea13240dd22d9b6e7a1f32217263c9 Reviewed-on: http://gerrit.openafs.org/2370 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 262a678d9b7b79f5261af2a8b36588f684e547ef Author: Matt Benjamin Date: Thu Jun 24 09:07:36 2010 -0400 An RPC test dispatch library for vice A library framework for remote testing against file servers, with the ability to establish multiple call/callback channel pairs within a single test process and dispatch requests arbitrarily on each. Thanks to Derrick for design and debugging help. Additional callback processing intelligence will follow in a future changeset. This version builds on Windows NT (but might need further adjustment). Change-Id: Ibea39e912b2a23ebf58e9e0931114572eccf6e78 Reviewed-on: http://gerrit.openafs.org/2229 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1701535fae6a78b72a2b637365a0bf2d77803b5b Author: Simon Wilkinson Date: Sat Jul 10 20:30:31 2010 +0100 Linux: Actually use freezer compatibility func We were calling try_to_sleep, rather than afs_try_to_sleep. Whilst try_to_sleep is present in all modern Linux kernels, on some older systems we need to fall back to our own implementation, which is what the afs_try_to_sleep function should do, but it can only do so if we call it. Change-Id: I900e50cf2754535e676d582bd3da82f1833bde52 Reviewed-on: http://gerrit.openafs.org/2384 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2aa16fba58c6d14c1bb3dd5dc2187338d89a2149 Author: Simon Wilkinson Date: Sat Jul 10 20:17:56 2010 +0100 Linux: Use freezer compatibility macros in RX Commit eef18466d920985c37ed8d22a6557b609c6225a6 introduced some compatibility macros for the refridgerator functionality. Use these in the Linux kernel RX code, rather than rolling our own. Change-Id: I4279e0b3ee92337cb992ff46895712630f681b7b Reviewed-on: http://gerrit.openafs.org/2383 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit af3292a06dbe2b4ecafb2cac5e76f23da697d93c Author: Russ Allbery Date: Fri Jul 9 16:46:21 2010 -0700 Update config.guess and config.sub to 2009-12-30 and 2010-01-22 Update to the latest versions provided by the Debian autotools-dev package. Change-Id: I503ed6bd4316af40f9d36be6010708cb4fef42e1 Reviewed-on: http://gerrit.openafs.org/2378 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4e02b143d2e632c8b515d83cc853d43e22a12617 Author: Russ Allbery Date: Fri Jul 9 16:42:26 2010 -0700 Make config.sub executable Autoconf apparently doesn't care because it runs it explicitly under a shell, but it's sometimes useful to run it manually to check something. Plus, executable shell scripts should be executable on general principles. Change-Id: I0663d91da643f7c0a77fe758ca63f1cc14e81180 Reviewed-on: http://gerrit.openafs.org/2377 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 839ea46465d9bf63fb69b561b1ffff940fd1044f Author: Russ Allbery Date: Fri Jul 9 18:09:32 2010 -0700 Terminate the DARWIN80 #if in afs_osidnlc.c The #if defined(AFS_DARWIN80_ENV) in src/afs/afs_osidnlc.c was never terminated, leading to build failures. Add an #endif. Change-Id: Ie2f324668becef8294b86cadec5cf5547731d2ad Reviewed-on: http://gerrit.openafs.org/2381 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9e2aba99124f777a209d30ea57cbe92e19130b1f Author: Russ Allbery Date: Fri Jul 9 18:06:47 2010 -0700 Fix ktime test for errors The variable passed into ktime_DateToLong must be initialized to 0 or, on error, we get the previous value and the tests fail. Change-Id: I5528a830981a85fb6737bb8cb5931ab95faffb13 Reviewed-on: http://gerrit.openafs.org/2379 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad470b2ed25cdf99f0388947913e392c2d8b67a9 Author: Russ Allbery Date: Fri Jul 9 18:08:12 2010 -0700 Include linux/freezer.h in rx_kmutex.c rx_kmutex.c calls refrigerator(), which is prototyped in linux/freezer.h, but was not including it, causing build failures on Linux 2.6.32-5 (Debian). Change-Id: I3867be6e7b8478d6fab8b97a4c923f979029517e Reviewed-on: http://gerrit.openafs.org/2380 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c62466ecabffbb8a8af7e18d1a0e8152685f859b Author: Andrew Deason Date: Wed Jul 7 15:43:26 2010 -0500 Use afs_sfsize_t for *_SIZE results Callers of FDH_SIZE and OS_SIZE should be storing the results in an afs_sfsize_t. Some were using regular 'int's and other things, which can screw up if the file is sufficiently large. Change-Id: Ibbc2067ed3b90edcbdd46cfa43da559fd6419f0b Reviewed-on: http://gerrit.openafs.org/2357 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c658bfaf884973aa47c8ce3072b96e6b7d8439c6 Author: Ben Kaduk Date: Fri Jul 9 00:38:16 2010 -0400 Remove incorrect critical section use in dnlc_lookup Critical sections may not be used with (non-spin) locks. As such, this code was wrong, and led to a panic. We don't see why there what synchronization they may have been providing, so just remove them and do not replace them. Change-Id: I5d81595a7059a91b9aad46ab0a634fa684f67325 Reviewed-on: http://gerrit.openafs.org/2373 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3ad8760f243998a78770e88f5c738c08df535201 Author: Michael Meffie Date: Sat Jul 3 18:54:15 2010 -0400 wiki url changed Update the various places we reference the project wiki. Change-Id: I56bcf038553eec02695667d737e0cd51e653b881 Reviewed-on: http://gerrit.openafs.org/2374 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dbcd822a484a0193539be2a96e4db39a003cc9e6 Author: Michael Meffie Date: Thu Jul 8 14:45:22 2010 -0400 build fix on older linux The commit d0abe56aa47d4561ba57527d53a2b0db2ea613c2 added a duplicate inclusion of freezer.h. Older versions of linux (circa 2.6.20) are missing include guards on freezer.h. Change-Id: I12c47cded7d06a3514a520b554bbcbd3328f0d2b Reviewed-on: http://gerrit.openafs.org/2369 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0a9585f9305ae0ebdf958a30e4581e3c24e0de1 Author: Alexander Redinger Date: Fri Jul 2 15:43:42 2010 -0400 SOURCE-MAP updates SOURCE-MAP now reflects state of current code tree, reformatted for readability and easier updating. Change-Id: I858156692c1e4c60ba4d5a75b684db2a079e2dba Reviewed-on: http://gerrit.openafs.org/2348 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5852a3f06a759cbb9e9d2a455c277ec2a44ba498 Author: sanket Date: Thu Jul 1 23:05:24 2010 +0100 vos: Don't call SubEnumerate twice Set a flag to say when we've called SubEnumerate, so that we don't end up calling it twice when in -format mode (Simon Wilkinson extracted this from a larger patch by sanket) FIXES 41031 Change-Id: I2cadd536cb6c9f389330d64ffbf35a16d673d2de Reviewed-on: http://gerrit.openafs.org/2320 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 887de6605150ccd0f0cd56b80d826b04dc7d1339 Author: Jonathan Billings Date: Thu Jul 8 09:23:28 2010 -0400 Update the Red Hat spec file to include fssync-debug man pages Include the new man pages in the base 'openafs' package. The package build process fails with unpackaged files without this update. Change-Id: Ie7a80a283bb95b492b56be0133c1bd811953c57e Reviewed-on: http://gerrit.openafs.org/2364 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c72cd42364206f4fe237d26e582cef86351f75a8 Author: Andrew Deason Date: Fri Jul 2 14:28:29 2010 -0500 Fix VPrintDiskStats_r logging VPrintDiskStats_r tried to log some information using separate Log() statements on the same line. This looks very odd when logged, since we add a timestamp to every Log() call these days. Fix it to print the line as one call to Log(). Change-Id: I19a5365c24208229201ba54ff04e793b5e50eee5 Reviewed-on: http://gerrit.openafs.org/2359 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9408bcaa62ae77b2f5a20b962fec2dbec460c1fe Author: Andrew Deason Date: Mon Jun 28 14:55:18 2010 -0500 viced: Remove stray \r The "File Server has started at" log message contains a trailing '\r' for some reason. Remove it (ctime will give us a trailing '\n'). Change-Id: I8f280abff9a7548f376f007021d74d3a21ac45cf Reviewed-on: http://gerrit.openafs.org/2358 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c790e7d0ca9f76749f761792234da91078eb573d Author: Russ Allbery Date: Wed Jul 7 14:04:37 2010 -0700 Remove a few erroneous NEWS entries for 1.5.75 FUSE was already in 1.5.74, and DAFS fast-restart was not in 1.5.75. Change-Id: I2e1b765c61ce4670800787dbcfd13c2c2af63f79 Reviewed-on: http://gerrit.openafs.org/2356 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4e87cb5c9260c7ddfa2ab22d9596c814817fc69c Author: Ben Kaduk Date: Wed Jul 7 22:10:44 2010 -0400 Fix build Previous commit to this file was not as tested as we thought. This one actually builds (well, except for the part where flex doesn't like et_lex.lex.l at the moment). Change-Id: I11d918adc50bb387c022d90cb0877a6a667e8252 Reviewed-on: http://gerrit.openafs.org/2362 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2c7a19b092c8b71fa142a6612a9a7a530c7c3d37 Author: Ben Kaduk Date: Wed Jul 7 20:47:55 2010 -0400 FBSD: sync with NFS for *pages vnops We've had per-cpu counter variables for a while, use the proper macros to adjust them. FBSD90 has had the page queue locks pushed down a level, so we don't need to lock them and should lock individual pages instead. This fixes mmap() on FreeBSD HEAD. Change-Id: I95d16097aaa65c1c99b4a686c05ac84fe9c11584 Reviewed-on: http://gerrit.openafs.org/2360 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bbce05150cae04b7cb2ab943308cdbf0d8dfdffa Author: Russ Allbery Date: Wed Jul 7 12:50:37 2010 -0700 Add NEWS entries for 1.5.75 Change-Id: I3510b03b6821ce266ebcf217b4bf7d6065a8aaa5 Reviewed-on: http://gerrit.openafs.org/2355 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a064446cf6987744ef614cbf37f43231bc207c7e Author: Andrew Deason Date: Wed Jul 7 12:52:10 2010 -0500 klog: refactor klog_prompter The ifdefs in klog_prompter were getting a bit confusing. Split out some logic into a separate "is this prompt a password prompt" function. As a result, we can build without KRB5_PROMPT_TYPE_PASSWORD defined, which happens to be the case on hp_ux11i. Change-Id: I1d5f794bfc33017f699478e367cde91a3e77d33c Reviewed-on: http://gerrit.openafs.org/2353 Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad2bc4a35d003a0a9fd0d116199f9ad5998ad112 Author: Andrew Deason Date: Wed Jul 7 11:40:20 2010 -0500 Fix shlibafsrpc des.c hp-ux special case '$$@ -I../des', not '-I../des $$@'. Change-Id: I322963b8f6ab31cfa76a91095be665ca59a3c9c3 Reviewed-on: http://gerrit.openafs.org/2352 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8492619f23024eeb1ad42294f055218ddc57aa0d Author: Andrew Deason Date: Wed Jul 7 10:23:27 2010 -0500 HPUX: correct PostPopulateVCache vfsp set Setting AFSTOV(avc)->v_mount is the linux/BSD way. avc->v.v_vfsp is the HP-UX (et al) way. Change-Id: If2cd1c1e74fcd0ca5ad981497abe7968d97cf0ed Reviewed-on: http://gerrit.openafs.org/2351 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0a8b1864d604353a980d1370d97546e12973b462 Author: Andrew Deason Date: Wed Jul 7 09:51:45 2010 -0500 HPUX: include proc_iface.h for proc_t We use proc_t in a typedef, and we need proc_iface to get proc_t. So, include it. Change-Id: I515abe43ae1d3b4a2c54ebe1b7192a91ed441117 Reviewed-on: http://gerrit.openafs.org/2350 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d154ea157b9c32b5cb421f12796ede733e091f4d Author: Andrew Deason Date: Tue Jul 6 14:02:56 2010 -0500 UINT_MAX requires limits.h We need to include limits.h to use UINT_MAX on some platforms, so include it in src/rxkad/v5der.c. Change-Id: I79343011e72080e58f07d53195488808d9e29121 Reviewed-on: http://gerrit.openafs.org/2339 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 16efa8e8c368df67efd91314fc81e38682d367eb Author: Daria Phoebe Brashear Date: Wed Jul 7 10:43:48 2010 -0400 kernel InitPeerParams has bogus branching and dup code several of the mtu configuration cases for the kernel version of InitPeerParams were bogus. clean up the function. (a forthcoming change reworks this anyway, but..) Change-Id: Ia4449d5cecc80cddae7d0f611186f48614b908ee Reviewed-on: http://gerrit.openafs.org/2343 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 84c52e1db63999988d8405d223cb28f2063004c3 Author: Andrew Deason Date: Tue Jul 6 14:41:13 2010 -0500 HPUX: make osi_procname a stub It is not immediately clear how to obtain the current process name on HPUX, and the current osi_procname definition breaks the build, so just make osi_procname a stub for HPUX. Change-Id: I8c825d53d7f25b1500b41629ba73f2fe1f48f00a Reviewed-on: http://gerrit.openafs.org/2341 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a022e9e5954f76900f1ca0fdb92c2f12b0036fb Author: Andrew Deason Date: Tue Jul 6 14:10:35 2010 -0500 Fix stray static inline 'static inline' should be 'static_inline'; keep the hp-ux compiler happy. Change-Id: Ibfb819571c608b9ca7c1437fde6898b405bccc4c Reviewed-on: http://gerrit.openafs.org/2340 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 262715d1d3fb672914fbe011663504a69fcf6046 Author: Daria Phoebe Brashear Date: Tue Jul 6 11:11:25 2010 -0400 fix newline conventions we had some CRLF files hanging out. fix them. Change-Id: Ie2aa707813967192f202aabc3b28808ae8f80da6 Reviewed-on: http://gerrit.openafs.org/2335 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit af5c302f0da739a70777980fd4ab7f9490ae51c3 Author: Daria Phoebe Brashear Date: Tue Jul 6 09:36:27 2010 -0400 rxkad heimdal cleanup don't assume every system have uint16_t and uint32_t; instead massage for use of native afs types. Change-Id: I8943f37ecf6dd5d1565ed295b6e6a2ca9eea5b6d Reviewed-on: http://gerrit.openafs.org/2334 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4ca1b0102542aec73ed5d06583f302eead94ba22 Author: Jeffrey Altman Date: Tue Jul 6 00:30:06 2010 -0400 Windows: update release notes for 1.5.75 Add: * better description of Win7 netbios name lookup bug * "fs newcell" changes * IdleDeadTimeout registry value * NatPingInterval registry value * ReadOnlyVolumeVersioning registry value Change-Id: Ibf5ff8145be94ab8a7a48a1a9bd87c7d60e8549b Reviewed-on: http://gerrit.openafs.org/2333 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit e6a8d4ab2c8bc37c958a12f74d8b2c6074aff025 Author: Jeffrey Altman Date: Fri Jul 2 13:55:05 2010 -0400 Windows: ChangeLog for 1.5.75 Change-Id: Iff322bf65d9d8b5af58d6f4b53630256504999cb Reviewed-on: http://gerrit.openafs.org/2332 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b2a404ffd94de936a073dc5836230bffc52b0729 Author: Daria Phoebe Brashear Date: Fri Jul 2 17:53:50 2010 -0400 make openafs 1.5.75 version number updates for 1.5.75 Change-Id: I05cf66281e497c3eff473a350abe480e6fcfd928 Reviewed-on: http://gerrit.openafs.org/2328 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4c0d47de22e1cb0258151e266f15d4a5bf239f33 Author: Ben Kaduk Date: Sun Jul 4 02:28:02 2010 -0400 FBSD: always close the rx socket when shutting down The soclose(rx_socket) call is needed in order to restart AFS. (Otherwise sobind() fails with EADDRINUSE.) While here, use the defined constant SHUT_RDWR instead of hardcoding '2' for soshutdown's second argument. Change-Id: Iba7cac3aec79764783628da28b12253d496a7680 Reviewed-on: http://gerrit.openafs.org/2331 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf8746dc43567a0a8f1d4075402eb9d2f741ec04 Author: Ben Kaduk Date: Sat Jul 3 22:58:39 2010 -0400 Do not recurse on the glock in rxk_NewSocketHost If sobind() failed, we would lock the glock before going to bad, which proceeded to lock the glock, panic()ing on the recursion attempt. Remove the unneeded first call. Change-Id: Ifa793735ebe64bde98156caa610c06612bdb92bd Reviewed-on: http://gerrit.openafs.org/2330 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b54c7ceefe884b57db76c929940afdfee86472e8 Author: Jonathan Billings Date: Wed Jun 30 15:09:39 2010 -0400 Removed kpasswd from openafs-file-list The executable %{_bindir}/kpasswd was included in the the 'openafs' base package. This change removes the kpasswd executable from the base package. It is still built and is installed in the 'openafs-kpasswd' package. I believe this was the original intent of the 'openafs-kpasswd' package. Change-Id: Idf49747d8a703bb959cdf758d489d640045f285f Reviewed-on: http://gerrit.openafs.org/2305 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d8cde43ed0fcdb1168deae2179e638667bab37ad Author: Daria Phoebe Brashear Date: Fri Jul 2 17:42:13 2010 -0400 update VAllocVnode logging move the log message i added to the correct place and put one where it came from. oops Change-Id: Ieb78d8cc076dbc2279922b0909546878b9ee005e Reviewed-on: http://gerrit.openafs.org/2327 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c8ce42242873e3b21443ad7a5d1e1bb5e7b28e60 Author: Andrew Deason Date: Tue Jun 29 13:19:11 2010 -0500 DAFS: Salvage VG on volume creation error When trying to create a volume (either an entirely new volume or a clone), request a demand-salvage on that volume group if we hit an unexpected error. This can allow some situations to automatically rectify themselves if, for example, a volume is missing its .vol header, but still otherwise exists and causes an error during a clone. Change-Id: I22b3e9028685395a8e621962138dee9f5f2ec822 Reviewed-on: http://gerrit.openafs.org/2286 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6b041b7cb0d29815495b2559f24f4ff4979eb129 Author: Andrew Deason Date: Tue Jun 29 14:44:31 2010 -0500 DAFS: Allow FSSYNC salvages on unknown volumes Allow salvage requests over FSSYNC (FORCE_ERROR with the FSYNC_SALVAGE reason code) that are requested on volumes that we do not know to exist. This can be helpful if a salvage is requested on a volume that someone attempted to create but failed, indicating that a partially-created volume may be in the way. Log an additional message when we do this, as it should not be a normal occurrence. Change-Id: I6e1bbe35111a41c489fe85cad36e6a8a6f323a5a Reviewed-on: http://gerrit.openafs.org/2285 Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ff072a08b5c5204a27d3807ad592db84e87c697d Author: Marc Dionne Date: Fri Jul 2 09:13:50 2010 -0400 Linux: cache bypass: fix FCSBypass tests Add some parentheses around the tests for FCSBypass. Without them, the test will not always give the intended result. Change-Id: I94cb2b2c95c702981fce9cff066b620bce652ee1 Reviewed-on: http://gerrit.openafs.org/2324 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b23d86e430d9a077d94c6bc768216eb75bfb1faf Author: Marc Dionne Date: Fri Jul 2 09:10:06 2010 -0400 Linux: cache bypass: warning fix in afs_bypasscache.c Cast the printf argument to int to match the format specifier. Change-Id: I4300c8a407c99c40e116a6e166a76112fb92d254 Reviewed-on: http://gerrit.openafs.org/2323 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c66ba55bd882de677e425a9b9f7f29215a05b647 Author: matt@linuxbox.com Date: Fri Jun 18 14:27:07 2010 -0400 cache-bypass explicitly reference pages involved in background i/o Formerly, we assumed that any page eligible for background i/o could be effectively pinned by lock_page. Persuant to concern expressed by Simon that such pages might be eligible to be released by the kernel after readpages returns, call get_page to increment the refcount on each page before dispatching a background read (and matching put_page when the i/o is completed). Change-Id: Ib3a63e56e6b902b4eb5deb769847e7f17ce2c9ff Reviewed-on: http://gerrit.openafs.org/2215 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 63304d6b2b895404e3a1a194232f3a48e448e75d Author: Andrew Deason Date: Tue Jun 29 12:30:10 2010 -0500 DAFS: Log attempted salvage requests Log in FileLog (or VolserLog, or the log of any program that requests salvages) when we request a demand-salvage to occur. Change-Id: I2444480287a1647c2d3e25039467167e28e17f38 Reviewed-on: http://gerrit.openafs.org/2284 Reviewed-by: Derrick Brashear Reviewed-by: Tom Keiser Tested-by: Derrick Brashear commit febd69f74b96638a696292624f797a0ef46622da Author: Simon Wilkinson Date: Thu Jul 1 20:18:33 2010 +0100 Build: Let configure pick our lex and yacc Let the autoconf magic pick our lex and yacc implementations, rather than hardcoding possibly wrong values in osconf.m4 FIXES 1394 Change-Id: I692eb8568780c78cfe6ba2e5b0fddca6fe6c142c Reviewed-on: http://gerrit.openafs.org/2316 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 417d2c8f9585c5e3ce17512a1ae8ca596a676c03 Author: Simon Wilkinson Date: Tue Jun 29 21:45:36 2010 +0100 Build: Rework git version detection Rework the git version detection script to handle some issues that have been pointed out. 1/ Make it work properly with objdir builds 2/ Don't try to work out if the tree is dirty if git describe failed 3/ Use the configured VERSION as a fallback if we can't obtain proper version information during a make Change-Id: I39494e1c18cf4eacbb55386334da7128fbe96310 Reviewed-on: http://gerrit.openafs.org/2283 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a155d71914791702762d8abd947cf609e1b4bea0 Author: Andrew Deason Date: Fri Jun 25 16:22:28 2010 -0500 vol: Move destroyMe check outside of inUse check The destroyMe conditional does not depend on the result of VShouldCheckInUse(), so move it outside of that block. Change-Id: Ieb4c97ae9f76b4369680629f18eecd1dfc06682f Reviewed-on: http://gerrit.openafs.org/2276 Reviewed-by: Derrick Brashear Reviewed-by: Tom Keiser Tested-by: Derrick Brashear commit d730f7ceb586ac12d5f04dc5ab294f5d4f449334 Author: Daria Phoebe Brashear Date: Tue Jun 29 20:49:41 2010 -0400 VAllocVnode error handling avoid growing a volume index too large. handle errors other than just by dropping a core Change-Id: Id1bf7a1a40672b6b960cc0d7a1cd54f48ab0b50a Reviewed-on: http://gerrit.openafs.org/2291 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a309e274632993c5aeec04c6e090f5ac95837a40 Author: Rainer Toebbicke Date: Wed Jun 23 13:08:47 2010 +0200 Do not call afs_FlushVCBs with afs_xvcache held In afs_AllocCBR, use dynamically created afs_cbr structures when running out of preformatted ones, rather than calling afs_FlushVCBs under, potentially, the afs_xvcache lock (which would be held across the RPC, difficult to drop and re-acquire under the current hierarchy). Modest modernization of the number preformatted afs_cbr structures, rule-of-thumb, not pretending any research. Change-Id: I9427427d5dab7d4639822c370bdded0418f67d9e Reviewed-on: http://gerrit.openafs.org/2243 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bdf6192509ca79baacda8ddf79112647bd3c0791 Author: Daria Phoebe Brashear Date: Fri May 14 16:03:32 2010 -0400 bosserver force corefiles override system resource limits so we get corefiles Change-Id: I50f228d709090c8275bed2fc2958653c43a0a026 Change-Id: I5b5e8c6a5e02ed0b28610949eb81f6345357969e Reviewed-on: http://gerrit.openafs.org/1959 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 4516e3777413f795ab09440bf300681750ed92fa Author: Marc Dionne Date: Fri Jul 2 09:28:05 2010 -0400 Linux: cache bypass: remove warning print before panic This warning printf has some issues - it prints out pointers as ints with %d (which causes warnings), and if the intention was to print the referenced values, they wouldn't be set yet at that point in the function. Since the purpose is not clear and it has issues, just remove it. Change-Id: Ied69c390818f9dff235bdaa31af42996aaa39af3 Reviewed-on: http://gerrit.openafs.org/2325 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 95a814a26fae63e75fac99e2c8d586bd4725f204 Author: Marc Dionne Date: Fri Jul 2 08:55:44 2010 -0400 Linux: cache bypass: warning fixes in afs_pioctl.c Fix two minor warnings in afs_pioctl.c: - gcc complains that threshold may get used uninitialized. the warning looks bogus, but initialize it to keep gcc happy. - PSetCachingBlkSize is declared but never defined. Change-Id: I3ac84d665f60ba51fef2d52f2bd8d90e0a7bc3b3 Reviewed-on: http://gerrit.openafs.org/2322 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bd6b25049331c07ccdeb806d82f73d71221b78f1 Author: Marc Dionne Date: Thu Jul 1 16:07:40 2010 -0400 Linux: cache bypass: deal with the afs_serverHasNo64Bit case Deal correctly with the case of a server with no 64-bit fetch support. In that case, the code needs to fallback to the standard FetchData call, similar to what happens in afs_fetchstore.c. Move existing check out of 64-bit-only branch so servers already known to be non-64-bit and not merely those newly discovered so execute the non-64-bit FetchData. Change-Id: I505ce6d88072bc3ee5208863717395a78f8562fa Reviewed-on: http://gerrit.openafs.org/2319 Reviewed-by: Matt Benjamin Tested-by: Marc Dionne Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit b0ed5a7facb1951f2f4ef8ed3da29a6a80cb7d49 Author: Rainer Toebbicke Date: Wed Jun 23 15:10:46 2010 +0200 Protect truncate_inode_pages when called from osi_VM_FlushPages truncate_inode_pages requires the mapping to be protected using i_mutex / i_sem, which is not held whereever osi_FlushPages is called. Change-Id: I2ca59cf75633368efb7f6a17fd01c7c517a8f609 Reviewed-on: http://gerrit.openafs.org/2244 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 202ca802c30bfa6779fae0bd686da0ca96fc224d Author: Marc Dionne Date: Thu Jul 1 15:22:47 2010 -0400 Linux: cache bypass: avoid unused variable warnings Some variables are only used for AFS_64BIT_CLIENT code, so make their declaration conditional as well. Also, initialize 'code' while we're at it. The compiler has a legitimate complaint that it could be used before it's set, for instance if we have AFS_64BIT_CLIENT but afs_serverHasNo64Bit is true. Change-Id: Ic04b07fffa9668123a9029bb42415a7c701c2339 Reviewed-on: http://gerrit.openafs.org/2317 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f004a5c7ecd35e5b26cafd62c322e3184e811e64 Author: Marc Dionne Date: Thu Jul 1 15:38:32 2010 -0400 Linux: cache bypass: warning cleanup in afs_daemons.c Remove unnecessary warning for the UKERNEL case. This file will always get compiled with UKERNEL. Remove an "if 1" ifdef that was probably used while debugging to make the function non static. Change-Id: I5ba5bbb4bd2b782c605699028cf3ad2c7e8cd41f Reviewed-on: http://gerrit.openafs.org/2318 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 232024676d396ab771d6d228158d606240114bb0 Author: Simon Wilkinson Date: Wed Jun 30 08:29:28 2010 +0100 Linux: Fix pagevec use in cache-bypass Cache-bypass was still using the old style pagevec manipulation functions, and so won't build on newer kernels. Update it to use the same pagevec functions as the generic readpages code. FIXES 127505 Change-Id: I9d8acaf3165bbdf24068bd9145a2369cd0c87e4d Reviewed-on: http://gerrit.openafs.org/2298 Reviewed-by: Matt Benjamin Tested-by: Marc Dionne Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit 368c44b537d6940482ceefe2ef8e1fd7fd099783 Author: Andrew Deason Date: Thu Jul 1 11:57:59 2010 -0500 Document fs -human Document the new -human switch for 'fs diskfree' and 'fs listquota'. Change-Id: Ic4b4f9d7492c887085ab6da4c802cfc75fd4d08e Reviewed-on: http://gerrit.openafs.org/2314 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5fe4161270f774c8f7938c432ac84a5edcaf4c33 Author: Ben Kaduk Date: Thu Jul 1 12:47:55 2010 -0400 FBSD: do not recurse on the afs_xvcache write lock afs_ShakeLooseVcaches grabs the write lock before calling osi_TryEvictVCache. The latter calls vgone(l), which sometimes calls into VOP_CLOSE, which again trys to acquire the write lock, leading to deadlock. Drop the write lock and reaquire it in TryEvictVCache as a fix. While here, set *slept to 1 since we drop the glock. This churn was enough that the gcc no longer cached the value of AFSTOV(avc), which gets set to 0 in VOP_RECLAIM, so the subsequent VOP_UNLOCK dereferenced a null pointer. Cache the vnode pointer in a local variable for the entire function instead of using AFSTOV() everywhere. Change-Id: Ic826e7888cb400c19857c58cb6ed88b9bdd0dddc Reviewed-on: http://gerrit.openafs.org/2315 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b126561c8decdd306b37063c16d06364fc9f928b Author: Andrew Deason Date: Thu Jul 1 11:52:21 2010 -0500 fs diskfree displays 'total' not 'kbytes' Correct the fs manpage to show that 'fs diskfree' shows a header called 'total' to represent the total disk space, not 'kbytes'. Change-Id: Id827ec81dcfd79ab28eed3bc392524a378f0069d Reviewed-on: http://gerrit.openafs.org/2313 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c29f03efab46fac2f89f69cad66b114f42398ba6 Author: Andrew Deason Date: Thu Jul 1 11:22:13 2010 -0500 fs: Correct human-readable output alignment 'fs lq' output separates its space values by whitespace, but 'fs df' does not, which was causing the human-readable output for 'fs' to not be properly aligned with the output headers. Modify HumanPrintSpace to take up exactly 10 characters (9 for the value, 1 for the exponent), and have the callers print out an extra space if appropriate. Change-Id: Ied81e73e1e84df34e63fdf0c80ad86341bea0cd4 Reviewed-on: http://gerrit.openafs.org/2311 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1c92f7cc8da20b3e7f0e7564e69b06a3f4930b7a Author: Tom Keiser Date: Thu Jul 1 02:07:54 2010 -0400 nuke configure options from AIX param files Remove antisocial behavior whereby the AIX param files silently turn on the FAST_RESTART and BITMAP_LATER config options. Change-Id: Ic7f77bd6c7aefe0f17b6d8796ce204cc8a5ad4c2 Reviewed-on: http://gerrit.openafs.org/2309 Reviewed-by: Simon Wilkinson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 582878a75858a341f674f833609f08b6d3bf839a Author: Daria Phoebe Brashear Date: Wed Jun 30 15:35:38 2010 -0400 update ticket5 from heimdal includes updated instructions for updating. note that gen_glue.c in lib/asn1 has a bug which omits a needed newline in the "const struct units * asn1_%s_units(void);", line. FIXES 127554 Change-Id: Ibc880bf51419d51de40b33d8c43122e592971b0b Reviewed-on: http://gerrit.openafs.org/2306 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e61800b992b5d54edb3656925a884753f02fc686 Author: Andrew Deason Date: Mon Jun 28 13:48:00 2010 -0500 Remove --enable-fast-restart configure option FIXES 127526 Change-Id: I80a18fe083a0d52dad9d4e2d5b14bf667c44630b Reviewed-on: http://gerrit.openafs.org/2278 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3330b9d17b2767318eef6222aceabdee47bbc703 Author: Tom Keiser Date: Wed Jun 30 18:40:20 2010 -0400 DAFS: fix VOL_HDR_IN_LRU state bit tracking For the case where the cached vp->header can be re-used by GetVolumeHeader(), we have not been re-setting the VOL_HDR_IN_LRU state bit. Although this has not affected correctness (this bit is merely used to aid in debugging), we should be resetting it in all relevant cases... Change-Id: I2ad2b8c5070470beb067efdcda6f76f6b72c006c Reviewed-on: http://gerrit.openafs.org/2308 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d8072a846cbce75fb17b0865523923722254ca56 Author: Andrew Deason Date: Wed Jun 30 12:59:24 2010 -0500 fs: HumanPrintSpace is void HumanPrintSpace never returns anything; declare it void. Change-Id: I336deb991e298b5132667a9bd7311b521fc082c3 Reviewed-on: http://gerrit.openafs.org/2304 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e10e29bc5bf53cb6fa30fa8580d8b25d00b5aed7 Author: Andrew Deason Date: Wed Jun 30 12:53:13 2010 -0500 vlclient: Remove incorrect whitespace fix Commit e59a0ff9934f8ea44ecb02e9fdaa81a29bd04b61 generated a warning since we try to assign NULL into a character. Just remove this code, since removing trailing whitespace was already handled by commit df18c9e895e75e77ed466dea3b06ef2a0a07260a. Change-Id: I915c0678a2f6893e09cf049bf71c519be554369f Reviewed-on: http://gerrit.openafs.org/2303 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3f5144b3edfca5187ce417da8929eea86c930ef0 Author: Ben Kaduk Date: Wed Jun 30 00:40:09 2010 -0400 Disable red zones for amd64 FBSD kernel code The kernel has been compiled with -mno-red-zone since at least FreeBSD 5.0; when we compile libafs.ko with red zones enabled and interact with the red-zone-less kernel, we get occasional stack corruption, which manifests itself in a variety of unpleasant ways. The flags we pass to gcc for our module build currently differ substantially from those used during a kernel build (or modules built with the kernel); I hope to transition to a module build process involving bsd.kmod.mk in the relatively near future. Change-Id: I406e264c1f96e1d893b9d12b561f48a3cbfdf57c Reviewed-on: http://gerrit.openafs.org/2297 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cf34a3e896c940813a05fe663764389a88715a70 Author: Evan Broder Date: Wed Jun 30 09:52:15 2010 +0100 Add human-readable printout to fs df This patch adds a -human option to fs df, which causes it to printout all of its values in "human-readable" form (i.e. rounded to roughly the nearest power of 1024). FIXES 124529 Change-Id: I98e4c872abec5784c6ec600d5d977c36f4a8b0ac Reviewed-on: http://gerrit.openafs.org/2301 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e59a0ff9934f8ea44ecb02e9fdaa81a29bd04b61 Author: Max Cohan Date: Wed Jun 30 09:30:49 2010 +0100 fix & enhance vlclient command-line handling Corrects an EOL bug in vlclient and adds a more user-friendly handling of request for help (i.e., '-help' now works) FIXES 125036 Change-Id: I70f6523d538e34a02536e482f99916293a195df5 Reviewed-on: http://gerrit.openafs.org/2300 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1fdce07cd9b6763ebd3c3b4327fc2c3831802533 Author: Steven Jenkins Date: Wed Jun 30 09:06:29 2010 +0100 Fix VLog so that actual levels are used Fix VLog() so that it actually uses the loglevels and does not set all log messages to level 5. FIXES 125035 Change-Id: Ia9f42a814be182215cedadb6a4837347ace32f41 Reviewed-on: http://gerrit.openafs.org/2299 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1566e42a69935467a5869391ed20860d416fcdd Author: Ben Kaduk Date: Wed Jun 30 00:29:41 2010 -0400 FBSD: in reclaim, print the failed vnode If we fail to flush a vnode, in addition to printing a diagnostic message, also print information about the vnode; fs getfid can frequently confirm which vnode(s) are problematic, which may be useful in debugging the failure. Change-Id: Ia6e93f436f9dcd2d634c46856ede5effbf79e9cb Reviewed-on: http://gerrit.openafs.org/2296 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e8da9bf95460042ca6f91dc60008c5256e03de0f Author: Ben Kaduk Date: Wed Jun 30 00:27:11 2010 -0400 Actually invalidate the buffer in FBSD's FlushPages Chaskiel added a commented-out call to vinvalbuf() in revision bd707fb7e6 back in 2002; adding in what the current call should be does not seem to cause any problems for me. Change-Id: I2450fbaaa51b5baf2781e8a6572065e5f69b44ed Reviewed-on: http://gerrit.openafs.org/2295 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 46727481ec5c47c2d3402acb572bf0d6167690ec Author: Ben Kaduk Date: Wed Jun 30 00:21:10 2010 -0400 FBSD TryToSmush locking fixup We need to hold the interlock when we check v_flags, so do so. TryToSmush is sometimes called with the vnode already locked, as the current code appears to hold the vnode lock for the current working directory (which is probably a bug). Check if the lock is already held (panic if someone else has it!), and unlock as appropriate when we're done. Change-Id: Id09ef1e10632c7f63b590271a6339a069176deac Reviewed-on: http://gerrit.openafs.org/2294 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3688073993b57c4cd13f257294acd192e82012cf Author: Ben Kaduk Date: Wed Jun 30 00:12:59 2010 -0400 Correct whitespace in FBSD/osi_vm.c I'm about to touch this, and the whitespace was bothering me. Change the six-space indentations to match the rest of the code. Change-Id: I35a12c82f8b2b4644e58cf1f19f021282e43dc77 Reviewed-on: http://gerrit.openafs.org/2293 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 659959bea90181a08ed8e76a120b44cec3ff0b8d Author: Ben Kaduk Date: Sun Jun 20 18:49:58 2010 -0400 Correct FBSD-version conditionals for VFS locking The locking around some interfaces has changed with time. Make our preprocessor checks match the reality of when the changes were made. Change-Id: If933dd636bb908af27852897e9c77ed600759674 Reviewed-on: http://gerrit.openafs.org/2292 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c772142111d7c6554ff8de3ee00e7618b20e55fa Author: Daria Phoebe Brashear Date: Tue Jun 29 14:33:06 2010 -0400 stop abusing OPTMZ in aklog instead, abuse XCFLAGS less. sigh Change-Id: Ieda727bf62704f31ba4c1aebe3c5b8aa62c2dfed Reviewed-on: http://gerrit.openafs.org/2282 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7b1bfb4caa800de398c7955cc75adda2a64fdd99 Author: Daria Phoebe Brashear Date: Tue Jun 29 14:32:38 2010 -0400 klog warning fix fix warning-found uninitialized variable in klog.krb5 Change-Id: Id4c78e2ceef82fcc7fbb6cdae7b6d07d74495547 Reviewed-on: http://gerrit.openafs.org/2281 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d6f5e5e64b3f1b00560bbfeb6fa8dd85814b5b03 Author: Rod Widdowson Date: Tue Jun 29 18:30:39 2010 +0100 Fix checked build of vldb_check Checkin http://gerrit.openafs.org/#change,2027 appears to have caused issues with the checked build for vldb_check. This fixed is by reflecting the structure change into vldb_check Change-Id: I12343be8a3a31cb2f6474115a8d9137dadd4ae2d Reviewed-on: http://gerrit.openafs.org/2280 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5158766dce97570e51fc3abb2c8b3405fe7c299e Author: Simon Wilkinson Date: Sat Jun 26 19:35:18 2010 +0100 Use git describe to determine build version This patch makes the configure and build system use the output from 'git describe' to determine the version of the software being built. This means that all that is necessary to create a new release is to tag the repository - removing the double sources of version information. There are a couple of fallbacks for systems which do not have git available for builds. Firstly, if a file called '.version' exists in the top level of the repository, then the version information is pulled from this file. The intention is that those packaging up git checkouts for onwards distribution will use 'git describe > .version' before producing their tarballs. Secondly, if we cannot find any version information then the version will default to 'UNKNOWN' This all mirrors the way that many others have integrated git with automake and friends - although the implementation is independent. Change-Id: I7fa4605e52181d60657ad794ca8efdb5a9fb1449 Reviewed-on: http://gerrit.openafs.org/1824 Tested-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery commit 020c2284250cd26eb3b45fdbd7b96a84c0c58f5f Author: Andrew Deason Date: Mon Jun 28 11:03:28 2010 -0500 LINUX24: crfree typo crfree, not crfee. Change-Id: I4a2d4bd4e37e409b62d587b22c36f4a6d02e9c32 Reviewed-on: http://gerrit.openafs.org/2272 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 15b8e32c177ce286237a3049a6f8f4f0dd7399dc Author: Andrew Deason Date: Mon Jun 28 10:43:55 2010 -0500 LINUX24: remove pagecopy and other 2.6-only code The client background readahead code and 'readpages' implementation were only written for 2.6 kernels and used 2.6-specific constructs. Remove them, along with references to the 'pagecopy' code, and some other 2.6-only cruft in osi_vnodeops.c. Change-Id: I2e939e98bd72cd7b275b0f7a389607ee5dc94efa Reviewed-on: http://gerrit.openafs.org/2271 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5539e2b55d7413ca86e7ea26f45c796506e6a553 Author: Andrew Deason Date: Mon Jun 28 11:24:04 2010 -0500 LINUX: Remove LINUX26 conditional in proc2cred afs_osi_proc2cred contained a 2.4 implementation; remove it, since we can assume at least 2.6. Change-Id: I605856e920508cf49a975e5375ade87e00598763 Reviewed-on: http://gerrit.openafs.org/2274 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8143e99a2c6ec137313cb9405670c7791b21962a Author: Andrew Deason Date: Mon Jun 28 11:17:50 2010 -0500 LINUX24: Remove BDI references afs_backing_dev_info was still referenced in a couple of places in the LINUX24 code. Although they are properly ifdef-guarded, these lines were never getting built, so remove them. Change-Id: I55ffca5dad99124b9d451925c9fcf15b7060bb9b Reviewed-on: http://gerrit.openafs.org/2273 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cdf8e7de1658aaafe2958c28b7e1fd9bf92f4499 Author: Andrew Deason Date: Mon Jun 28 10:46:22 2010 -0500 LINUX24: NEED_IOCTL32 fixup The NEED_IOCTL32 symbol needs to protect the entire if block, not just the conditionals. Change-Id: Ie33860b1d5677cec19ed19aa1ccc1ce0a26824ff Reviewed-on: http://gerrit.openafs.org/2270 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 26cd8a302c0f91ed9cafd377e1f8dcc473a48917 Author: Andrew Deason Date: Mon Jun 28 10:42:05 2010 -0500 LINUX24: cr_ref is a regular int cr_ref is a regular integer, not an atomic_t, so we need to just assign '1' to it directly. Change-Id: I3533c79a67f7be35724cc81553d24bfecb7b81d3 Reviewed-on: http://gerrit.openafs.org/2269 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 773b4968e450601910c838232e2b281b1db176a6 Author: Andrew Deason Date: Mon Jun 28 10:33:38 2010 -0500 LINUX24: Remove group_info macros/functions The LINUX24 code has a macro and a function abstracting 'struct group_info' access. But 'struct group_info' does not exist in 2.4, and nothing calls these, so get rid of them. Change-Id: Ic38f5be27d55da9fdf6ce7889d4df6afd1464c0f Reviewed-on: http://gerrit.openafs.org/2268 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 16f19e79d1a6a13a3e07ae9be3aab50f28c06045 Author: Rod Widdowson Date: Wed May 26 16:18:26 2010 +0100 Make file offsets in vldb layout unsigned ints vlserver.h has a few cases where links through the vldb are being stored as afs_int32s. These are file offsets and should be unsigned. This commit fixes just these declarations. The code still compiles (because they are silently cast all over the shop), but it starts the tidy effort. Change-Id: Iba14bd28cb43a6ca6401be4252bb45135d8b3a55 Reviewed-on: http://gerrit.openafs.org/2027 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 233253809e978b7487956e9bd56957a848459821 Author: Simon Wilkinson Date: Sun Jun 27 15:15:33 2010 +0100 Make make_libafs_tree.pl use strict and warnings Turn on the perl use strict and use warnings options in the make_libafs_tree script to better catch programming bugs. Change-Id: Ide358d40eda3cde9dd0261af11993560da71143a Reviewed-on: http://gerrit.openafs.org/2266 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b59af55f80b2339a93ba985d496b2e9052f29b60 Author: Marc Dionne Date: Fri Jun 25 20:06:08 2010 -0400 Linux: Use filehandles for all 2.6 kernels This generalizes the use of the exportfs API and file handles to open disk cache files for all 2.6 kernels. Code outside of src/afs/LINUX (ex: afsd) can assume that file handles are used for all 2.6 kernels and can use AFS_LINUX26_ENV to check. Within src/afs/LINUX/osi_file.c, NEW_EXPORT_OPS can be used to determine if the old exportfs API (pre 2.6.24) or the new one applies. All traces of the LINUX_USE_FH define are removed. FIXES 127530 Change-Id: I6803101c56981f9f674cef581f7299656723fdf3 Reviewed-on: http://gerrit.openafs.org/2260 Tested-by: Marc Dionne Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit e7b59fb0255f5823ddf4252008281d09d7418bdb Author: Matt Benjamin Date: Sun Jun 27 20:00:37 2010 -0400 linux trivially track host signedness in afs_prototypes.h track host signedness in definition of afs_nfsclient_reqhandler, which changed in 7d1bbee02a80f045a6ae4e30410798f4785906a8. Change-Id: If85cbbb36c138fbe6ded93ba7c1c2af31825f5bb Reviewed-on: http://gerrit.openafs.org/2267 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7005aec9a4a187065048985756f618043d7ec1ed Author: Andrew Deason Date: Fri Jun 25 15:03:23 2010 -0500 libafs: correct export_reqhandler prototype The export_reqhandler function pointer takes an afs_int32*, not an afs_int32 as the fourth argument. Change-Id: I89ef9cfd23a5b673cbbb29fc710236cfe1e3c7cf Reviewed-on: http://gerrit.openafs.org/2257 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7d1bbee02a80f045a6ae4e30410798f4785906a8 Author: Andrew Deason Date: Fri Jun 25 14:17:49 2010 -0500 Use unsigned addresses in the NFS exporter Use unsigned IP addresses in the NFS exporter code in libafs. This modifies the distributed headers exporter.h and nfsclient.h. Change-Id: Ieaddf21e487ae416d7b003223566c999c64279aa Reviewed-on: http://gerrit.openafs.org/2256 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0265d5c1eb04eeb354d89d638758b84fd458b267 Author: Andrew Deason Date: Fri Jun 25 13:52:16 2010 -0500 Use unsigned IP addresses in bu* Use unsigned IP addresss in bubasics, bucoord, and butc code. This alters the public tcdata.p.h, but stays away from wire RPCs or variables used directly with those RPCs. Change-Id: Ica96172399cafbc2c347f725a966cf1db7ff1128 Reviewed-on: http://gerrit.openafs.org/2255 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 38db9afbe9b2201b97f08b3068577a1270071cb9 Author: Andrew Deason Date: Fri Jun 25 12:43:50 2010 -0500 vlserver: Use unsigned addresses Use unsigned IP addresses in vlserver code. This alters some structures in the public cnvldb.h header. Change-Id: I62725ad98d2c4e8bfe610ae9a6132fd0f54cc4aa Reviewed-on: http://gerrit.openafs.org/2254 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b65b462c58858f513f872a500d18ebe3706d5682 Author: Marc Dionne Date: Fri Jun 25 19:33:51 2010 -0400 Linux: remove some 2.6 specific code from 2.4 Remove some code that will never be compiled or used in the afs/LINUX24 directory. This includes code depending on AFS_LINUX26_ENV, and on LINUX_USE_FH which is never set in 2.4 and is going away soon anyway. Change-Id: I972262b45d3518d996756b5dc9f6e6c01450e5cc Reviewed-on: http://gerrit.openafs.org/2259 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce2162ec99b5ac1a262b99bad3b71c51ee82faff Author: Simon Wilkinson Date: Sat Jun 26 17:39:20 2010 +0100 Autoconf: Update AC_INIT macro use Update the way that we use the AC_INIT macro to match current autoconf conventions Change-Id: Ib1ce2acd879683ff8ff178cfbd9776277ba7460f Reviewed-on: http://gerrit.openafs.org/2265 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ff959f4a2e28a4c44f4962f5077da1148748d28b Author: Simon Wilkinson Date: Sat Jun 26 15:59:21 2010 +0100 RPM Packaging: Make file types clear Make it clear that makesrpm.pl takes the bz2, rather than gzip'd, versions of the OpenAFS distribution. Change-Id: Ifb99448df5c7060186da1f13ee9c38ba95373376 Reviewed-on: http://gerrit.openafs.org/2264 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b64031310d740c9173bacd04f1a6202a2bd5cf65 Author: Simon Wilkinson Date: Sat Jun 26 15:55:29 2010 +0100 RPM Packaging: All debug kernels are bad We can't build against any of the recent Fedora debug kernels, because they have options enabled that make criticial symbols GPL-only. Just skip all debug kernel variants, rather than having to explicitly list each new Fedora release as it comes out. Change-Id: I8ed4c04b10facc79fd5a68888ddb10b368b49bef Reviewed-on: http://gerrit.openafs.org/2263 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 33872fbe570a4b86adb0ea2d5e407ca1ec9cf00e Author: Simon Wilkinson Date: Sat Jun 26 15:54:05 2010 +0100 RPM Packaging: Add support for Fedora 12 and Fedora 13 Add support for building for Fedora 12 and 13, both i386 and x86_64 Change-Id: I2bb6e86ac81eeae720b8dbf185927f6e55be826c Reviewed-on: http://gerrit.openafs.org/2262 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 370872207820e08eb58f497b4a0a49c28b18077d Author: Simon Wilkinson Date: Sat Jun 26 15:35:07 2010 +0100 RPM Packaging: Skip comments in configure.in Skip comments in the configure.in file, so we don't end up using the commented out version information. Change-Id: I14bef1d448b77c915aa04b3fe555b270ce20ac67 Reviewed-on: http://gerrit.openafs.org/2261 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fc76d416bb4f37bf55bd088f4b9893f52e097990 Author: Andrew Deason Date: Mon Jun 14 11:01:06 2010 -0500 Remove semicolon from AFS_NORETURN AFS_NORETURN had a trailing semicolon, which will confuse potential future additional attribute markers, if used after AFS_NORETURN. Remove it. Change-Id: I21fd6b874728b8ca74d0e8abd783cd5015f63e97 Reviewed-on: http://gerrit.openafs.org/2258 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 19531fb40013bce9584e1f4873724d4fa1aa6bf4 Author: Andrew Deason Date: Fri Jun 25 11:38:37 2010 -0500 ptserver: Remove IP_WILDCARDS symbol ptserver defined the symbol IP_WILDCARDS to enable the use of wildcarding in machine entries. It is always enabled, so just remove the symbol and always use the wildcard code. Change-Id: I7d45de5ef1bb0d2c95f1e1ea86fd4418cf3ddd62 Reviewed-on: http://gerrit.openafs.org/2253 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9796686c19152f8e3ccfd6b2d41a46976a3a271b Author: Andrew Deason Date: Fri Jun 25 11:30:15 2010 -0500 ptserver: Use unsigned addresses Use unsigned IP addresses in ptserver code. This alters some prototypes in the public ptuser.h header. Change-Id: Id121f32cb0b6acd575822d37bbd814636023e9ae Reviewed-on: http://gerrit.openafs.org/2252 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fbe5c7f7073324fc80ee0a80ca97e8c1980a3c95 Author: Andrew Deason Date: Fri Jun 25 09:48:38 2010 -0500 rx: Use unsigned addresses RX sometimes uses afs_int32 to represent IP addresses; make it use afs_uint32. This alters some structures in rx.h and some prototypes in rx_prototypes.h. Change-Id: I97df8a5de8f5e0355ab2056825de68bb7122e439 Reviewed-on: http://gerrit.openafs.org/2251 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3bff5ca0b69a23c709123338400e53bb3c00d9e8 Author: Andrew Deason Date: Thu Jun 24 10:19:21 2010 -0500 volser: Use unsigned addresses and volume IDs Fix code and header files in src/volser that use afs_int32 for server IP addresses instead of afs_uint32 (the worst offenders being UV_* functions). Also fix an instance of afs_int32 being used for a volume ID, and remove 'struct volser_dest' instead of fixing it, since it is completely unused. Change-Id: I1008ed158855c2a22b4605b5a037f5e68731529e Reviewed-on: http://gerrit.openafs.org/2249 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f91925aa06757c93f3b2061492f25740390296c4 Author: Matt Benjamin Date: Thu Jun 24 08:51:06 2010 -0400 windows add rx_Get/SetServiceSpecific to libafsrpc module exports Add rx_GetServiceSpecific and rx_SetServiceSpecific to afsrpc.def using the next available ordinals (267 and 268). Change-Id: I31af43e9706b922ef765a51f50f583f492ce375a Reviewed-on: http://gerrit.openafs.org/2245 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit f9c9b78a2c3e7167f22af6af813a3902af4e5e3d Author: Simon Wilkinson Date: Thu Jun 24 16:00:22 2010 +0100 Linux: Check return code from VerifyVCache in mmap afs_linux_mmap wasn't doing anything with the return code from afs_linux_VerifyVCache. Change the code so that it matches the other callers of afs_linux_VerifyVCache Change-Id: I83b949bf3b9579e5dd2e20b487862566c1d7c730 Reviewed-on: http://gerrit.openafs.org/2247 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4c89b6417fc488552ca319a895046118cc1f679c Author: Andrew Deason Date: Wed Jun 23 17:42:30 2010 -0500 Remove stale warning suppressions butc/dump.c and ubik/beacon.c have had their warnings fixed and their suppressions removed. Remove the warning suppression for tbutc/dump.c and tubik/beacon.c, as well. Change-Id: Ie3cae93932797ef5a55403f3548518af6da267f0 Reviewed-on: http://gerrit.openafs.org/2242 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 24e1c7e30fe25d80ec362d887b52b0f3f50ac8b0 Author: Jeffrey Altman Date: Wed Jun 23 12:56:17 2010 -0400 Windows: Cleanup of src/config/NTMakefile src/config/NTMakefile had the following issues: * duplicate entries for headers in $(INCFILES) * no clean: rule for $(INCFILES) * no clean: rule for $(DESTDIR)\util_cr.exe * $(INCTOOLS) dependent upon $(INCFILES) but the order is reversed in the install: rule Change-Id: I2707009d60b303ab897ed25d9245d893fa342a8e Reviewed-on: http://gerrit.openafs.org/2238 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Matt Benjamin Tested-by: Matt Benjamin commit a4b6ac7a4a51c5655d91b971e4cb7d69f7ffc2b7 Author: Matt Benjamin Date: Wed Jun 23 10:26:12 2010 -0400 windows don't include assert.h (and afs support headers) in util_cr.c Don't include afsconfig.h and afs/param.h in util_cr.c, nor assert.h. The assert was included but was in fact not used in the file, and can be ommitted, per jaltman. The OpenAFS includes are then not needed. An incorrect cast is also changed, due to jaltman. Change-Id: I3e1ad7a1d24473d6ad3ce2e401133b25b0a4c795 Reviewed-on: http://gerrit.openafs.org/2234 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 5e4c33f5634b85464945524f3b1c7022c3e921ed Author: Andrew Deason Date: Wed Jun 23 17:47:43 2010 -0500 Indicate that fssync unix sockets are the default Using unix domain sockets for FSSYNC has been the default for some time now; make it clear from the configure help output that this is the case. Change-Id: Ibe8b41361242d6cea035b7710910d7d693f60a85 Reviewed-on: http://gerrit.openafs.org/2241 Tested-by: Andrew Deason Reviewed-by: Russ Allbery commit 3a82ec0f8383446da2f15512895b280339602190 Author: Andrew Deason Date: Wed Jun 23 16:23:15 2010 -0500 ubik: Remove api for reading during write locks This reverts commit eaeff661c26b0f5a504a547952ea1d0f0241b539. The code using this API will not be in 1.6. Remove this interface for the 1.6 branch, as it is known to have issues. FIXES 127520 Change-Id: I3dfef084282b0ca8ec968872b433e60f615a9c44 Reviewed-on: http://gerrit.openafs.org/2240 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 53febebc8a69c3231fb2c7094294f59b747a6ec9 Author: Ben Kaduk Date: Fri Jun 18 00:05:14 2010 -0400 Try to flush vnodes in FBSD's unmount, bailing if necessary vflush() actually returns something! Check if we get EBUSY, and don't continue if so. Also, actually call vflush on FBSD80_ENV. Note that we currently leak refs on our root vnode, so this means umount will fail unless it uses -f, for now. Change-Id: I8f02ebfa127409f0e8567f3efa7eccf491147cbd Change-Id: Iaa4666f1004b49b69a82c778a3de60633fac880f Reviewed-on: http://gerrit.openafs.org/2214 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 73a3990f44b9aefe9281fae6ab69523a069b4adb Author: Daria Phoebe Brashear Date: Tue Apr 27 13:22:37 2010 -0400 mariner log messages for creating and removing files give a hint to event listeners that files are being created and removed Change-Id: I6202184424607e97b7d103a6e7033f950c203cce Reviewed-on: http://gerrit.openafs.org/1852 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c39aee89c0649561041e7d955dd3db40629f2570 Author: Rainer Toebbicke Date: Mon Jun 21 12:02:46 2010 +0200 Don't hold on to the afs_xvcache lock while creating a symlink Holding the afs_xvcache lock over the RPC while creating a symlink is a severe blow to performance as look-ups from other tasks likely require the lock. Drop the lock and rely solely on the fileserver to detect a clash with a same entry created simultaneously. Change-Id: Ia6de353bd9dc003addf5f3be7a8f3e769247a513 Reviewed-on: http://gerrit.openafs.org/2233 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bd3f8adfe02aa09eedeec3cff824745eb749e473 Author: Andrew Deason Date: Wed Jun 23 10:13:39 2010 -0500 vldb_check: Interpret VLOP_* vlentry flags The flags for each vldb entry can have various VLOP_* bits set to show that the entry is locked, and for what reason. In vldb_check, output these bits symbolically instead of mentioning them in "errorflags". Change-Id: Iee7797bc701742e778391c07936eb771139bc8e9 Reviewed-on: http://gerrit.openafs.org/2236 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ee3d62becab62e2ec083ebe4d1834f232270a525 Author: Andrew Deason Date: Wed Jun 23 09:58:38 2010 -0500 vos: Interpret VLOP_* lock flags When a volume is locked in the VLDB, we are given flags for the reason why the lock was set. Make vos interpret and output this reason. This adds output to any vos command that previously printed that a volume was LOCKED. It now outputs, for example, Volume is currently LOCKED Volume is locked for a delete/misc operation Change-Id: Ie3a6f804a3e3a551840975c3689b24d3916891df Reviewed-on: http://gerrit.openafs.org/2235 Tested-by: Andrew Deason Reviewed-by: Jason Edgecombe Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9c0d9cf1e411265c56a74d76dd418bc533afdde8 Author: Rainer Toebbicke Date: Tue May 4 12:06:55 2010 +0200 patch cbd_printCBcrash - harden callback debugging Create callbackup dumps with updates locked out and add bounds checking and loop detection to the cbd program. Change-Id: I927937aef33dca261877b8f2605239f3d4763a8a Reviewed-on: http://gerrit.openafs.org/1902 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e489c44328b12637162f0a62f92f1f9b95279428 Author: Rainer Toebbicke Date: Tue May 4 14:11:30 2010 +0200 Do not corrupt volume linktable when special file already exists Upon volume creation, when a special file unexpectedly exists, e.g. due to a failed cleanup, do not blindly assume that it is the link table. Otherwise the latter's magic will get silently overwritten. Change-Id: Iba05ae771e04272a3dab5534fcfc24cda5ee7df5 Reviewed-on: http://gerrit.openafs.org/1903 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 95636c6fac3c67d0c14dfb5f53c594f942aa9b78 Author: Andrew Deason Date: Fri Nov 27 17:56:19 2009 -0500 Make ubik use unsigned addresses The ubik code currently treats IPv4 addresses as both signed and unsigned 32-bit ints. Make some instances use unsigned ints to make ubik more consistent and squash a couple of warnings. Note that this slightly alters the signatures of the public ubik functions ubeacon_InitServerListByInfo, ubeacon_InitServerList, ubik_ServerInitByInfo, ubik_ServerInit, ubik_ParseClientList, and ubik_ParseServerList, to use unsigned addresses. Change-Id: I27b6170d4de0080bf66d51a6b5332e65685ddef8 Reviewed-on: http://gerrit.openafs.org/875 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8db0c3823590e0bb7b41a9d0f48ed333067bab7e Author: Andrew Deason Date: Mon May 17 15:44:50 2010 -0500 Mention that -fakestat fakes local cellular mounts The afsd man page says that -fakestat only fakes stat information for cross-cell mount points. Technically it fakes stat information for all cellular mount points, local or foreign. Most people shouldn't care, but note the difference, since some places do have local cellular mount points. Change-Id: I9bc61a0284b7d04439578a4fc5a6adf791217463 Reviewed-on: http://gerrit.openafs.org/1979 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 8c633162b98f4aebd3449684574f8a35c9e0fa58 Author: Davor Ocelic Date: Sun Jun 20 15:38:14 2010 +0200 Provide manpage for fssync-debug and most subcmds This is another patch in the series to provide manpages for dafs-related commands. Most (if not all) documentation is coming from source documentation and DAFS articles/presentations. The primary motivation behind this is to comply with Debian guidelines requiring all binaries to have respective manpages. This patch has been sitting here for months, so it's good time to finally submit it. Note that fssync-debug also supports some vcg* commands, for which I was not able to find any documentation I could use. So, they are still left to be documented. Change-Id: I9d067766e2a90b26646edc87f15a4f533c5c8d44 Reviewed-on: http://gerrit.openafs.org/2220 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 20bf8feacddea0000578bacf5789e288d99596c5 Author: Daria Phoebe Brashear Date: Tue Apr 27 23:48:36 2010 -0400 no fs sa /afs in dynroot mode change the quick start guide so people stop asking why they can't set the ACL on /afs. Change-Id: Iffc6c95564e99c01cef1b2b54d6b35e9bd01f38c Reviewed-on: http://gerrit.openafs.org/1872 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52ac633da7735c297fa8c43bf9098a6fe0f5beb2 Author: Andrew Deason Date: Fri Jun 11 17:40:18 2010 -0500 vol: break callbacks when needsCallback is set The needsCallback vol header field indicates that a volume has been altered by a non-fileserver program somehow, and that callbacks for the volume should be broken. So, when we attach a volume that has this flag set, break callbacks if we can. If we are not the fileserver, tell the fileserver over FSSYNC to break callbacks if we can. Change-Id: I1b1a4042f0381e8291a407b54ce9478877dacdca Reviewed-on: http://gerrit.openafs.org/2211 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 899e0385efb0d0ed9d126bdfc0db2602b225db8b Author: Daria Phoebe Brashear Date: Tue Jun 22 11:52:48 2010 -0400 rx mtu ping timing tweaks avoid potentially sending pings too often. if we aren't desperate, push out grow mtu pings to just inside call timeouts. Change-Id: Ieb28700fd02894f3308123c8f64a1ec5ae7989d9 Change-Id: I3a3557680f5486474165567786f9a2da58f34519 Reviewed-on: http://gerrit.openafs.org/2228 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6ed90d5c2d8ebce40aa9d623d9875b0aecf4d986 Author: Marc Dionne Date: Tue Jun 22 17:37:15 2010 -0400 Fix CHush test The compiler flagged this with a warning, and depending on the flags that are set, the test may not give the expected result. Use parentheses to get the intended precedence. Change-Id: If0311aae70d6e71b69e247e5b66e0dd558c2c958 Reviewed-on: http://gerrit.openafs.org/2232 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d8237165f73fec8eb51a96417c4cb5e9fbc09d65 Author: Daria Phoebe Brashear Date: Sat Jun 19 11:26:49 2010 -0400 afsd -dynroot-sparse mode for hushed cells if an admin specifies -dynroot-sparse (instead of dynroot) come up with just local cell and cell aliases showing. cell list is configured as normal. fs newcell works as normal. document it. Change-Id: Ie644ed0f9923a85da5451eafaa114ddf36daa671 Reviewed-on: http://gerrit.openafs.org/2217 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 19869b100cc144422f2e5e845773d92082a32e40 Author: Daria Phoebe Brashear Date: Mon Jun 21 01:06:38 2010 -0400 test suite warning safety make test suite compile without warning Change-Id: I4e4b63d6ce2ae73e5458913aa81308b2691044a9 Reviewed-on: http://gerrit.openafs.org/2223 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bb0274398a0e9f6aff7714014e3eefbd77df827 Author: Andrew Deason Date: Fri Jun 11 17:39:32 2010 -0500 salvaged: Break volume callbacks on vol change The salvager code can change a volume in many ways as it fixes errors. We should break callbacks on the volume whenever we change it, as clients may have callbacks on whatever we changed. So, for the salvageserver, send an FSSYNC command to the fileserver to tell it to break callbacks for that volume. FIXES 127030 Change-Id: I1cd869371167df7d4e55ac14400865fb0a9c5154 Reviewed-on: http://gerrit.openafs.org/2210 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1f2b84f1b64625af449070eccb64639d6a8f0a12 Author: Ben Kaduk Date: Sun Jun 20 18:54:26 2010 -0400 Simplify preprocessor logic in afs_pioctl We had identical code in two branches of an if/elif/else path. Merge them together. This allows two DARWIN80_ENV blocks to be coalesced; reindent them correctly while we're here. Change-Id: Icaa047994ec970ee8187a7811ee69de2f36a0503 Reviewed-on: http://gerrit.openafs.org/2222 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit df38462c64c244d97a56e9bbd0902173adb091a1 Author: Andrew Deason Date: Fri Jun 11 17:18:07 2010 -0500 Set VolumeChanged when we create a new root dir Set the VolumeChanged flag when we create a new root directory in a volume when salvaging, since doing so changes the volume. Change-Id: Ic6cd0b0d6f9b52f2006a114269321a38d312ab9b Reviewed-on: http://gerrit.openafs.org/2212 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 591f9b6de9ab3dc5c17ad41af0241527f7f04b31 Author: Andrew Deason Date: Mon Jun 21 17:28:10 2010 -0500 vldb_check: ntohs ubik header size The 'size' field in the ubik header is only 16-bits wide. So, we must use ntohs to convert it, not ntohl. Without this, vldb_check would emit false-positive "Ubik header size is 0" warnings. Change-Id: Iaa06b6dc58b7812b359d6096c112e1f3897c60e2 Reviewed-on: http://gerrit.openafs.org/2226 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a1efd664b08c96952d987ab8d7b5fd42c0a5526 Author: Andrew Deason Date: Mon Jun 21 15:47:06 2010 -0500 ubik: Do not hide ReplayLog errors For some reason, the ReplayLog code was printing encountered errors in the replay log as debug messages. Print them out as regular log messages instead, since these are errors that at least warrant visibility, if not more action. Change-Id: Ifba22278e2f5f33010b87eebfc484ccd3745f916 Reviewed-on: http://gerrit.openafs.org/2225 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eec0d94f519b3e27f255b9b7a637df043951424e Author: Andrew Deason Date: Fri Jun 18 17:20:22 2010 -0500 ubik: ntohl on reading the replay log When attempting to read the replay log, ubik was not ntohl'ing all integers that were read in from the log, causing the log to appear invalid on little-endian systems. Fix it. This problem manifests as apparent corruption in the database on top of ubik when a commit is occurring when we are shut down, or a disk error is encountered during a commit. Change-Id: I82e04c59d0f55aa2105b02feb6ee332ea85eb4f3 Reviewed-on: http://gerrit.openafs.org/2224 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5f66bed5eb46b992600b7b8e3ae108d0570ac220 Author: Davor Ocelic Date: Sun Jun 20 15:27:06 2010 +0200 Update manpage links, fix doc typo in fssync-debug Change-Id: I93a4fc4c998e489c6bdc736f0f4172c752d9f030 Reviewed-on: http://gerrit.openafs.org/2219 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 307fb143617e0ad59220275c83dc4ea84e495852 Author: Daria Phoebe Brashear Date: Sat Jun 19 13:08:43 2010 -0400 update macos readmes no more APSL source is used. also, reboots are not required. Change-Id: I61217b557c6193c922bc1b72b41e076e81db49e5 Reviewed-on: http://gerrit.openafs.org/2218 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f8981f18dfdd5ae9efd03b9d247238dd83f46506 Author: Ben Kaduk Date: Thu Jun 17 00:27:51 2010 -0400 Fix aklog segfault In auth_to_cell(), we only strdup() into the linkedcell argument if there is a linkedCell in the current cellconf. However, in main(), we free linkedcell if it is non-NULL, but it is allocated on the stack and could contain garbage. free() chokes on such garbage, causing aklog to abort(). If we copy nothing into linkedcell, set it to NULL so that we do not attempt to free the bogus pointer. Change-Id: I92905a5f17021ce1bc41909f5ceb1b0344456d93 Reviewed-on: http://gerrit.openafs.org/2213 Reviewed-by: Jeffrey Altman Reviewed-by: Russ Allbery Tested-by: Benjamin Kaduk Reviewed-by: Derrick Brashear commit 196d2c7f9e3250008bf6aed2e172ec6d54e4ffb7 Author: Simon Wilkinson Date: Fri Apr 23 18:39:14 2010 +0100 Linux: Remove the BKL Recent investigations suggest that we no long require the BKL on Linux. As an experiment, remove it. Change-Id: I764fe1f6e9761ada5a0a86ba59450c0615bb1e78 Reviewed-on: http://gerrit.openafs.org/1823 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 77ebaaf639c325a8a51afdc70832ea7ed73d02a8 Author: Russ Allbery Date: Tue Jun 15 18:59:22 2010 -0700 Remove configure remnants of Digital UNIX / Tru64 client Remove the configure flag to specify the location of the Digital UNIX kernel headers and some setup for the kernel module build. Note in README that Digital UNIX / Tru64 is supported for servers only. Change-Id: I983f74068b1a1ae76d9a2b2549a8a141dba4e075 Reviewed-on: http://gerrit.openafs.org/2207 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1a50290e6e43f2eef323cfaffdfa3fc54bfdf5c Author: Chaz Chandler Date: Mon Jun 14 00:21:50 2010 -0400 IRIX: Implement makesname() makesname() make a semaphore name for use in -type routines on IRIX. It takes as input a pointer to an allocated string buffer (sname) of size METER_NAMSZ, a string prefix (prefix), and a vnode number (v_number). When complete, sname is returned, pointing to the beginning of a NULL-terminated string containing the new name, with a maximum of (METER_NAMSZ-1) characters plus the NULL. The name is a concatenation of the string at 'prefix' and the ASCII representation of the number in 'v_number'. Note: Due to IRIX's use of uint64 to represent vnumber_t and a maximum semaphore name length of 15 (METER_NAMSZ-1), this function cannot be guaranteed to produce a name which uniquely describes a vnode. makesname() is already called from afs_vcache.c but not (or no longer) available / implemented elsewhere. Change-Id: I4331c161b68b39a4c067691c97363b637d13ff15 Change-Id: Ia0a615426dc05e01a98e53e89ec3bae3726cac34 Reviewed-on: http://gerrit.openafs.org/2155 Reviewed-by: Chaz Chandler Tested-by: Chaz Chandler Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear commit 7759e837953fdaf4027474190b865cacb4d1b0fb Author: Chaz Chandler Date: Mon Jun 14 00:18:29 2010 -0400 IRIX code cleanup Fixes a few small errors in IRIX-specific code sections Change-Id: I83e0ca1510eb2d122b9b001f5793f63dabc6ddf1 Reviewed-on: http://gerrit.openafs.org/2154 Reviewed-by: Derrick Brashear Reviewed-by: Chaz Chandler Tested-by: Chaz Chandler commit 10ada52c26ac3aa13112a91ad201dd3203bb70f8 Author: Andrew Deason Date: Tue Jun 15 12:19:25 2010 -0500 Do not assume non-valid addrs in addr hash table As part of host state verification, we were calling h_stateVerifyAddrHash to verify that all addresses for a host were in the address hash table. The problem with this is that interface addresses that are not marked as 'valid' are intentionally not in the addr hash table. So, any time there was a non-'valid' interface address in the host state, we stood a very good chance to fail to verify the state. Instead, if we have a non-'valid' address, try to verify that it is _not_ in the addr hash table (or at least, is not pointing at the host with the non-'valid' interface addr), since they're not supposed to be in there. Change-Id: I02fb0f516fa3ef384471d19bb1b970cfd8aff874 Reviewed-on: http://gerrit.openafs.org/2205 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4481a22dc7fa48c7a057f27828da44ab0b4dbf26 Author: Andrew Deason Date: Tue Jun 15 10:58:58 2010 -0500 Make h_stateVerifyAddrHash log port on errors When h_stateVerifyAddrHash logs that an error in state verification occurs, it was only logging the address of the host causing the problem. Log the port, too, since there could be multiple hosts with the same address. Change-Id: Ideee34f075948a0cb7cc1014920be5e120bdc6ef Reviewed-on: http://gerrit.openafs.org/2204 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6dc50767f88795858783fe9dbbdf90901f1fd684 Author: Russ Allbery Date: Thu Jun 3 19:50:14 2010 -0700 Fix aklog warnings when building with Heimdal Fix various warnings in the aklog and klog code when building with Heimdal. Use krb5_get_init_creds_opt_alloc if it's available rather than allocating the struct off the stack, since the _opt_init function is deprecated. Change-Id: Ieff986121de9078e9402b0a51a8855655330caba Reviewed-on: http://gerrit.openafs.org/2082 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9784847fedee9540a210f272e3c38862ba1903ea Author: Russ Allbery Date: Tue May 25 22:19:14 2010 -0500 Rework the Kerberos Autoconf probes Previously, building with Kerberos support required either passing a flag to configure giving the location of a krb5-config script, or manually setting variables specifying the Kerberos libraries and header path. Replace that code with code that checks for Kerberos libraries automatically and builds the Kerberos code if any were found, with support for doing direct library probing if there is no krb5-config script. Add several platform-specific overrides directly into the configure support, so we should be able to build out of the box on Mac OS X 10.3, HP-UX, and AIX Kerberos with the new probes. The Kerberos Autoconf macros are now the versions that come with rra-c-util and are tested with multiple other packages, so both OpenAFS and those packages will be able to benefit from further portability improvements. Update README for the new building instructions, documenting how to configure the Kerberos probes if they can't automatically figure out the location and flags for Kerberos on your system. Change-Id: Ia35bb0dbc6b94c6b4dfe8165388447dbfcb31a29 Reviewed-on: http://gerrit.openafs.org/2026 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 581aafaa698e395bfcfb7b82b595fbdef4b11279 Author: Andrew Deason Date: Tue Jun 8 17:28:39 2010 -0500 GetVolume: do not wait for offlining volumes In non-DAFS GetVolume, previously we waited for a volume with vp->goingOffline set to go offline before we return. However, the fileserver afsfileprocs.c case can treat the "going offline" case and the "is offline" case identically, so there is no reason to wait. So make the fileserver call a new GetVolume variant that does not wait. Without this, all of the threads in the fileserver can potentially be tied up by waiting for a volume to go offline, if the volume is taking a long time to go offline due to an offline request following a client slowly accessing the volume. Change-Id: I58ae11e585852130154389d8df0567432cd0c2df Reviewed-on: http://gerrit.openafs.org/2124 Reviewed-by: Derrick Brashear Reviewed-by: Tom Keiser Tested-by: Derrick Brashear commit d7c79cec8295dd34fb97e6f22bfcc69dccb9f4c4 Author: Andrew Deason Date: Tue Jun 15 12:33:48 2010 -0500 afscp: Correctly advertise local addresses afscp was reporting its local address list in net-byte order, and then giving that list as a response to RXAFSCB_WhoAreYou. Instead, convert the addresses to host-byte order, since XDR takes care of endianness foo. Change-Id: I5d7d57f811ccaeada235e694ec5f343c1ac535b7 Reviewed-on: http://gerrit.openafs.org/2206 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0b958626014b9fabb7bd4c4b925838462dc09d82 Author: Jeffrey Altman Date: Tue Jun 15 07:32:11 2010 -0400 mkvers.c - remove afsconfig.h, afs/param.h and assert.h assert() is not used within mkvers.c. afsconfig.h and afs/param.h have dependency problems in src/config/ Change-Id: I2012a01c87cbd993a70df76ee3384b43ff037b29 Reviewed-on: http://gerrit.openafs.org/2203 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c3d55face7e3a2e1d0f6253e686cc9b1e84d4dfc Author: Andrew Deason Date: Mon Jun 14 13:28:37 2010 -0500 Fix tptserver and tvlserver install rules Commit 00c37e8634b97dba3431804cea467a046be525d5 introduced a few usages of 'ifeq' in cross-platform Makefiles, breaking the build when not using GNU make. Fix this by making the tptserver and tvlserver 'install' and 'dest' targets behave more like the 'ptserver' and 'vlserver' ones, and correct the ptserver 'install' target while we are here. Change-Id: Ia3fd9149c0f18a96a9899a5dfde41e53a45102b7 Reviewed-on: http://gerrit.openafs.org/2160 Tested-by: Andrew Deason Tested-by: Benjamin Kaduk Reviewed-by: Benjamin Kaduk Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7620e48414e7826f50a5dba86c5544512ac8a879 Author: Andrew Deason Date: Tue Jun 8 17:19:46 2010 -0500 Cleanup and doxygen-ify the comments for GetVolume Change-Id: I54788acd83779b986e78575bde11347952293be6 Reviewed-on: http://gerrit.openafs.org/2123 Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a62de618552bd3a3ccb5d1988fd3b5b82cb5124f Author: Russ Allbery Date: Mon Jun 14 15:28:20 2010 -0700 Build util tests properly with make check If one runs make check without previously running make at the top level first, it didn't build the util test programs properly. Recurse into subdirectories for make check as well, and add the check, test, and tests targets to tests/util/Makefile.in Change-Id: Idc2caf4cf83a48da350e724aba2ac1228795085d Reviewed-on: http://gerrit.openafs.org/2162 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9316f209eda47362d7b96464b1fff4bd5b086da7 Author: Jeffrey Altman Date: Mon Jun 14 14:13:11 2010 -0400 Windows: ensure that afsconfig.h and afs/param.h are included The recent addition of AFS_NORETURN broke the Windows build because afsconfig.h and afs/param.h were not included everywhere. Make sure that they are. Change-Id: I5962fe1178f73273f5b3c1d269b1a125fba2d2c6 Reviewed-on: http://gerrit.openafs.org/2159 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 9579d09533d4f94c38bb4755c6df90552483b7b6 Author: Jeffrey Altman Date: Mon Jun 14 13:36:32 2010 -0400 Windows: fix definition of lstat() macro The lstat() macro definition has to take into account the version of the compiler and the size of time_t. Change-Id: Id7ad8c3956bba9832cc028db628cfabe58a1d8d9 Reviewed-on: http://gerrit.openafs.org/2158 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 9b1f0e90bf0b7bb6c2d018bb9a65986f4039e4ef Author: Jeffrey Altman Date: Mon Jun 14 13:35:12 2010 -0400 Windows: define errno_t on compilers older than 1400 Visual Studio older than 1400 (VS8) does not define errno_t. LICENSE MIT Change-Id: I27c0892d8ba4a371417f635b0d6e5677fa655422 Reviewed-on: http://gerrit.openafs.org/2157 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit eaeff661c26b0f5a504a547952ea1d0f0241b539 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: I5604fa3cc8a334606f5e3535aed6f6cedcb5f167 Reviewed-on: http://gerrit.openafs.org/2103 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b8177960d4e376011adf379b87d8b8ba051c0fd0 Author: Daria Phoebe Brashear Date: Sun Jun 13 22:05:27 2010 -0400 arm darwin port make things buildable on arm darwin Change-Id: I88af2b82e9ed356fd57aa8f05dfee71d7fa6cd8a Reviewed-on: http://gerrit.openafs.org/2153 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f790747143372e307dd285b08c270650dd9c5c12 Author: Daria Phoebe Brashear Date: Sun Jun 13 11:03:25 2010 -0400 ktc newpag stub when environ is not supported on macos systems where we can't get the environment, just return from ktc_newpag Change-Id: I9a169d0bf035c40d727a386bb3d2070eea225ed4 Reviewed-on: http://gerrit.openafs.org/2150 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8af23688c0a2250f64e6a7b8794fde77ae9394b4 Author: Daria Phoebe Brashear Date: Sun Jun 13 10:57:38 2010 -0400 darwin afsd include cleanup remove mach port stuff from non-kernel version (it's for DiskArb) remove sysconf, iokit, corefoundation, dns_sd from kernel version. Change-Id: Ibdf9d8a71f5f0fee659d0c05eea4811617c2b34f Reviewed-on: http://gerrit.openafs.org/2149 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cc9d358cd83c0e542b57ac6c25cb27824b638c32 Author: Marc Dionne Date: Sat Jun 12 19:43:05 2010 -0400 Linux: Fix RCU_READ_LOCK test The names of some configure defines changed with the recent autoconf cleanups. This one was missed and was left with the old value. Change-Id: Ibce5e36b8ae6becdfa61bf6e9c440b3d9a6fa272 Reviewed-on: http://gerrit.openafs.org/2130 Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear commit 1486563b2b6dc3b7d1f598aa963bd4e0f84bdb52 Author: Daria Phoebe Brashear Date: Sun Jun 13 10:54:50 2010 -0400 afsd mill dup sys/mount.h include we include sys/mount.h twice. don't. Change-Id: Ifc872488086a00d32b564d60a5f9a8b374e8f752 Reviewed-on: http://gerrit.openafs.org/2148 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3514c22d061171a1557509a728bc1fd523c9b956 Author: Daria Phoebe Brashear Date: Sun Jun 13 09:49:32 2010 -0400 generated file target in order to cross compile, allow a way to generate generated files on the host Change-Id: I9639f350b179dbeb3d45802e8685da88a3b06c83 Reviewed-on: http://gerrit.openafs.org/2147 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit de75d9d8aa490935ec65947fc6d82a19f936b119 Author: Daria Phoebe Brashear Date: Sun Jun 13 01:51:30 2010 -0400 buildtools target if you wish to cross compile, you want these things. arrange to be able to build just them Change-Id: I6bee40b61a16722c402832bba39d2e88dcabec25 Reviewed-on: http://gerrit.openafs.org/2145 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d26f5e158cffa313d0f504e7ba3afc1743b5d1ef Author: Daria Phoebe Brashear Date: Thu Jun 10 14:47:24 2010 -0400 unix cm activate mtu pings set an error code so idle dead time is enforced on sending. needed in order that MTU pings be activated. Change-Id: I8cf1ca81e6519b440fc679e85f327f338400c29a Reviewed-on: http://gerrit.openafs.org/2116 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c7f9307c35c0c89f7ec8ada315c81ebc47517f86 Author: Daria Phoebe Brashear Date: Thu Jun 10 14:37:39 2010 -0400 rx mtu ping handling engage mtu pings. only occur while a call is active but results are cached per-peer. requires idle dead time to be in use, or does not activate. (needed to time out the call, otherwise, keepalives will succeed and the call will thus not hit regular "down server" timeout) Change-Id: Ic29b1b5713fb6debde14f4adfd5019ee80cc9e3c Reviewed-on: http://gerrit.openafs.org/2115 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c62cb89abb494630c12994f702d6986de2a38fe5 Author: Daria Phoebe Brashear Date: Thu Jun 10 11:41:23 2010 -0400 path mtu don't track nonsequenced packets for the purpose of mtu discovery, we need a sequence number to correlate if a large packet is acked. don't track sequence number 0 packets. a later change adds the mechanics needed for MTU pings Change-Id: I83d4466115bbd45acdc2777bfbef0ff393dd5a3f Reviewed-on: http://gerrit.openafs.org/2114 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit be035b08248fa3e1f31f6911e9dc877eb5d53f82 Author: Daria Phoebe Brashear Date: Thu Jun 10 11:37:35 2010 -0400 rx checkcall kill extra indirection on call for conn we already set a local variable, conn, to call->conn. use it instead of dereferencing call->conn repeatedly Change-Id: I5d38edc1d3507a717598140393094b1ba22ced46 Reviewed-on: http://gerrit.openafs.org/2113 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear commit 658d2f47281306dfd46c5eddcecaeadc3e3e7fa9 Author: Daria Phoebe Brashear Date: Thu Jun 10 11:34:39 2010 -0400 idle dead time track less retransmits don't count as sends for idle "send time" purposes. neither do ping acks. disallow both in computations. Change-Id: I599bb1111189efd21580d357c31c043f2315f910 Reviewed-on: http://gerrit.openafs.org/2112 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear commit ab45d1adc11c756f426baa076ab423b4e969b5d5 Author: Daria Phoebe Brashear Date: Thu Jun 10 11:24:09 2010 -0400 unix cm log path mtu warning when retrying if RX_MSGSIZE is analyzed and we'd retry, so indicate to our users Change-Id: I77aba5dffd4280e0ee43383cadb34aca4042cbd6 Reviewed-on: http://gerrit.openafs.org/2117 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f2f3c24b2c374e4c7e2b53cacc4959f592b8310b Author: Matt Benjamin Date: Sun Jun 13 18:16:37 2010 -0400 mcas fix gc_get_tag return type The return type from gc_get_tag is char * LICENSE BSD Change-Id: If15259858b84f71d969f1e7713371f3de4e0c3a5 Reviewed-on: http://gerrit.openafs.org/2151 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 77684b64dbf721a9a5d41aa1c70fd175fd27b329 Author: Matt Benjamin Date: Sun Jun 13 18:24:48 2010 -0400 mcas cleanup inc/dec macros fix type of intermediate value used in CAS operations, and reformat slightly. LICENSE BSD Change-Id: If49be8e020e0f735d67290440b1a74caccf90bf0 Reviewed-on: http://gerrit.openafs.org/2152 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9baec50e7bfa0d900bc33d91a277f24e72889e40 Author: Simon Wilkinson Date: Sat Jun 12 10:42:43 2010 +0100 libadmin: Don't dereference NULL pointer in cmd If DoBosHostList ends up being called without the -server argument in its command structure, then a printf will attempt to dereference a NULL pointer to the -server field. Caught by clang-analyzer Change-Id: I1114406d03b265f4d780efd8e84fea53013cb51c Reviewed-on: http://gerrit.openafs.org/2143 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 904c9fbebab97b760dd853fa393e1c576c7db00c Author: Simon Wilkinson Date: Sat Jun 12 10:35:34 2010 +0100 fs: Can't use store behind data if pioctl errored If the call to a pioctl returns an error, it's possible to reach the end of the storebehind function and try and print an old, or bogus, value from the pioctl data block. Caught by clang-analyzer Change-Id: I1209c0c24730273510fbad98a75a429917836605 Reviewed-on: http://gerrit.openafs.org/2142 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6dd07af215e2cc75cb7c902b5a06920a5ee5235c Author: Simon Wilkinson Date: Sat Jun 12 10:26:09 2010 +0100 viced: CopyOnWrite2 shouldn't return undefined val Unless CopyOnWrite2 encounters the condition where (rdlen != length) || (wrlen !=length) it will never set a value for the 'rc' return code, and so return with an undefined value. Looking at the code, it looks like rc should be 0 in all other situations, so this patch provides a default value. Caught by clang-analyzer Change-Id: If3e528f3d66abb3dde6da2304084f7698c05b863 Reviewed-on: http://gerrit.openafs.org/2141 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0deaa4d58cdd0af2b402e06df1edd0cf4d49074c Author: Simon Wilkinson Date: Sat Jun 12 10:25:07 2010 +0100 Formatting fixes Reformat the CopyOnWrite2 function to match our current coding style Change-Id: I9483c2d391932d675c6c76d6edbb2b8f519b2568 Reviewed-on: http://gerrit.openafs.org/2140 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e35e0b732db1132de4b5f9af050cf6939792ef8e Author: Simon Wilkinson Date: Sat Jun 12 00:23:22 2010 +0100 vol: open() needs mode if called with O_CREAT If open() is called with a the O_CREAT flag, then it requires a 3rd argument, containing the mode with which to create the file. On DARWIN (when we always use O_CREAT), and on other platforms where the first call to open returned E_NOENT, we weren't doing this, and so were presumably getting a random mode of whatever garbage was on the stack. Caught by clang-analyzer Change-Id: Ic173e582e0d46f6d4cf8801dc7a6b4b393db5063 Reviewed-on: http://gerrit.openafs.org/2139 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c880fe7740864daca59b93d35055c1973d9382a9 Author: Simon Wilkinson Date: Sat Jun 12 00:16:11 2010 +0100 audit: result is only used on AIX The 'result' variable is only used on AIX - only bother assigning it when we're building there. Caught by clang-analyzer Change-Id: I06848837282ff3f318474f55f2ee013255ad37c8 Reviewed-on: http://gerrit.openafs.org/2138 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 713b65adaa756b5a66ccb0620d5f2bc50642f2f1 Author: Russ Allbery Date: Sat Jun 12 16:07:52 2010 -0700 Avoid off-by-one error when saving the password in klog When klog saved the password entered by the user to allow attempts at multiple AFS principals without reprompting, it copied the whole buffer according to the declared reply length into local storage. This was done without regard to the local allocated storage size, and was then nul-terminated without regard to the allocated storage size. Both klog and Heimdal use a size of BUFSIZ for the reply buffer by default, which meant that klog on Heimdal was writing past the end of the allocated structure when nul-terminating the password. Store our allocated buffer size in the struct and only copy at most one fewer than that many characters, and then nul-terminate accordingly. (The assumption that BUFSIZ is always long enough is still bogus, but that's larger surgery.) Change-Id: Ic8d4357aad2f8dfa0fffe9849d2546a88ecd246a Reviewed-on: http://gerrit.openafs.org/2129 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bc8f2bfb1cc78458729ca29c6623adff80237018 Author: Marc Dionne Date: Sat Jun 12 20:43:25 2010 -0400 Linux s390x: replace AFS_64BIT_KERNEL with AFS_LINUX_64BIT_KERNEL The s390x param.h file defines AFS_64BIT_KERNEL, but this looks to be AIX specific, and some Linux headers expect AFS_LINUX_64BIT_KERNEL. This causes many errors because we end up trying to use struct flock64 instead of struct flock. Change-Id: I39a4a94fa895143172c1ee75ff71c2015232156f Reviewed-on: http://gerrit.openafs.org/2131 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0efea8e2b1162ef88ef27daeffa1acb69c850566 Author: Simon Wilkinson Date: Sun Jun 13 01:44:27 2010 +0100 bucoord: Use mkstemp properly Use mkstemp wherever we have it available, to silence warnings about mktemp's safety. When we do use mkstemp, use it properly. It doesn't return void, it returns an open filehandle. Convert this filehandle into a FILE *, rather than throwing it away, and leaking an open file descriptor. Caught by clang-analyzer Change-Id: Ib5864f684c6d5a8686e0a872364a645c90a29390 Reviewed-on: http://gerrit.openafs.org/2144 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad3aa5205b8c4f645881276e4a9b7ce9066c3e96 Author: Simon Wilkinson Date: Fri Jun 11 23:59:49 2010 +0100 comerr: Don't leak CFStringRef If str is NULL on entry to _intlize, than it will leak the CFStringRef that it constructed a few lines earlier. Fix this. Caught with clang-analyzer Change-Id: I6d62e7792918da95e4fed1c676d14ad9124d93fa Reviewed-on: http://gerrit.openafs.org/2137 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5388e1425d361a52728ce113fb31fb27f7e5539c Author: Simon Wilkinson Date: Fri Jun 11 23:50:29 2010 +0100 libadmin: Don't use undefined value If IsValidCellHandle returns false, then we can jump to fail_pts_GroupMemberRemove, and end up using a value for ids.idlist_val which hasn't been defined. Fix this. Caught by clang-analyzer. Change-Id: I030d155f9ad2481250e84c31d4d7d26cb39a9c61 Reviewed-on: http://gerrit.openafs.org/2136 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6c645092eeb9c44d45d5ceab264a360eef7f2536 Author: Simon Wilkinson Date: Fri Jun 11 23:49:34 2010 +0100 Add support for clang compiler attributes Rearrange the way that we define compiler attributes so that we can define them for clang, too. Don't assume that clang will support all of the attributes that gcc does, so split them up into separate sections. Change-Id: Ic6233f5c63a07b3ef99a85ae3be9e45e28387127 Reviewed-on: http://gerrit.openafs.org/2135 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8faceb4ba4c66069a03fc03a57d8b0af03dfbefc Author: Simon Wilkinson Date: Fri Jun 11 23:46:29 2010 +0100 Add AFS_NORETURN macro and use it Add the AFS_NORETURN macro which can be used with gcc compatible compilers to indicate that a particular funciton prototype will not return control to the caller. This both improves code quality, and helps with static analysis. Use this to flag afsmon_Exit, db_panic, osi_Panic, Abort, Exit and the error handlers for osi_Assert and our local assert fn all as being noreturn. Change-Id: Ic6c4ae319af3d6f7665c9ee5072b556c01850982 Reviewed-on: http://gerrit.openafs.org/2134 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 07bd99c9d52712b0282d709d294d33d382dcbe81 Author: Simon Wilkinson Date: Fri Jun 11 23:33:07 2010 +0100 rxgen: Remove inlist from autogenerated code The 'inlist' variable is only used by code that is #if 0, and never emitted by the rxgen source. Remove the definition, and assignment, to this variable. Caught by clang-analyzer Change-Id: Ife162d392a47c48e1eebd75fe2c0af9524cd758a Reviewed-on: http://gerrit.openafs.org/2133 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 09e17c245220203b7fc14cb5908f8475d79a0707 Author: Simon Wilkinson Date: Fri Jun 11 22:25:35 2010 +0100 Changes to build with clang on Mac OS 10.5 clang defines __x86_64__ and doesn't define __i386__ when building on a 64bit Leopard machine. Change the defines in param.h so we can build on this platform. Change-Id: Icfc16ca83162e8148d4261207c05d90d12cbabc2 Reviewed-on: http://gerrit.openafs.org/2132 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 084a7f1beb9925372d3d4e0af1a2e3f388bc4a53 Author: Russ Allbery Date: Thu May 27 17:17:43 2010 -0500 Document vos listaddrs -host and -uuid Document the -host and -uuid flags to vos listaddrs. They were mentioned in the SYNOPSIS, but not in the OPTIONS section of the manual page. Change-Id: I96e6b67b7239d9455060fd0c76b8d44f41a010a2 Reviewed-on: http://gerrit.openafs.org/2083 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 2af0cca23b79da3961618640f9b0b2cccbd80bc9 Author: Simon Wilkinson Date: Sat Jun 12 22:59:23 2010 +0100 Linux: Fix set_cr_group_info and cr_group_info Commit dc85abca renamed set_cr_group_info to afs_set_cr_group_info and cr_group_info to afs_cr_group_info, but didn't catch all call sites. In particular, those in the NFS translator, in non-keyring code paths, and in the 2.4 code, were missed. Thanks to Adam Megacz for the bug report on openafs-info. Change-Id: I71f8cc27d499c98d164d05e02f7d5b2c5d4c1933 Reviewed-on: http://gerrit.openafs.org/2127 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dcd3e1fa111d3b6dfeb5965a487285119619f362 Author: Andrew Deason Date: Thu Jun 10 11:51:57 2010 -0500 Do not set inUse for non-fileserver non-DAFS Setting inUse in a volume header to anything besides 1 is a DAFS-specific change. For non-DAFS, non-fileserver programs do not touch inUse. Since inUse is not cleared for non-fileserver non-DAFS, make sure not to set it for non-fileserver non-DAFS. Change-Id: I4d50299d4dc4fd8757906ba493d182b386dd9b1b Reviewed-on: http://gerrit.openafs.org/2122 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit df18c9e895e75e77ed466dea3b06ef2a0a07260a Author: Andrew Deason Date: Fri Jun 11 16:51:02 2010 -0500 vlclient: work with non-space whitespace Make vlclient work with non-space whitespace separating arguments. This also makes it cope with a trailing newline that fgets() gives us, making this more intuitive to use. Change-Id: Ida4da9f997ac073a5afa6c95e1b3cec180c18e1a Reviewed-on: http://gerrit.openafs.org/2126 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 6bc2b1af64a12a0cd3b3792803b71e92099425af Author: Daria Phoebe Brashear Date: Fri Jun 11 15:06:24 2010 -0400 dafs state analyzer shouldn't require trailing spaces in commands the tokenizer didn't null out \n, but the strcmps for commands didn't deal, so this basically works badly interactively. all commands not recognized. Change-Id: Ifa7f8c0204a83d27f8876af8de94cb338499cdc0 Reviewed-on: http://gerrit.openafs.org/2125 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f4fb6cd4bf4bbfffef4cd3a9a36b3f5c23d447a9 Author: Andrew Deason Date: Thu Jun 10 10:29:39 2010 -0500 Remove afsio warnings and errors Fix a few warnings and errors in afsio, so it can compile: - inlcude rx/rx_prototypes.h, not rx_prototypes.h - only declare 'code' in SRXAFSCB_TellMeAboutYourself, and the global rx_mtu in AFS_NT40_ENV, since they're only used on NT40 - remove declarations of the unused variables 'host' in HandleLocalAuth, 'i' in readFile, and 'i' in writeFile Change-Id: If39420cca791669200ccb4d3f46aa5ac7eb89c7d Reviewed-on: http://gerrit.openafs.org/2121 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48d3fd9eedc122dec2c7b76f97078c56a77af89b Author: Matt Benjamin Date: Thu May 27 19:14:20 2010 -0400 windows cm_BeginDirOp add flags (nobuildtree) Add a flags argument to cm_BeginDirOp, and define a flag CM_DIROP_FLAG_NOBUILDTREE which asserts that the operation being synchronized does not require scp->dirPlus to be constructed. Change-Id: Ibc4345574da3c1e7717c83b64a83260f70a3b06c Reviewed-on: http://gerrit.openafs.org/2053 Reviewed-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman commit 60e5d85fd089af9b1efff6ac5b8577c14a04e021 Author: Simon Wilkinson Date: Fri Jun 11 10:48:37 2010 +0100 RX: Can't assert a void result We can't assert(MUTEX_DESTROY(blah) == 0) when the MUTEX_DESTROY macro already returns void (and asserts), as it does in the pthread case. This fixes the build failure introduced by 53c9258cd7300c03be3f3e50003cad3dfc59baf3 Change-Id: I0b7a30e785de3437f0c1e264b4a63c87f63b6783 Reviewed-on: http://gerrit.openafs.org/2120 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 53c9258cd7300c03be3f3e50003cad3dfc59baf3 Author: Matt Benjamin Date: Tue Jun 8 18:29:13 2010 -0400 rx service specific data Adds rx_GetServiceSpecific and rx_SetServiceSpecific to the rx_service interface, conforming to the equivalent calls in the rx_connection interface. For consistency, the implementation strategy is the same. The intended use is to more cleanly support server multiplexing within an RPC-based test dispatch library. Change-Id: I6a8968484efe2c858857008321996e67328bb75c Reviewed-on: http://gerrit.openafs.org/2097 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 157a274b8b1f6c39751d876354e1d8453d66b864 Author: Andrew Deason Date: Wed Oct 21 22:16:38 2009 -0500 Break origin's callback for RXAFS_Rename target When we RXAFS_Rename something, the status of the renamed FID can sometimes change, and thus we break callbacks on it. Currently, however, we do not break the callback for the originating client, even though the status of the target changes and we do not return an AFSFetchStatus to the caller. Since the callback is not always broken for the target, it may not be immediately obvious to client implementations to implicitly break the target's callback. Since we do not have an explicit protocol specification saying that the callback is implicitly broken, break the callback for the origin client as well, to be safe. Change-Id: I97d90518a240f852013d1d63fccef663c8b0e998 Reviewed-on: http://gerrit.openafs.org/709 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 92d67bee7aae20498eefb77c06b0a085c5d069ce Author: Andrew Deason Date: Wed Sep 9 15:56:26 2009 -0500 Avoid unnecessarily updating .. in SAFSS_Rename Currently the .. entry for a directory is always recreated on a Rename operation, even if the parent directory does not change. Now, avoid altering the directory at all (including no COW nor DV bump nor vnode modify time update) when we don't need to. Change-Id: I53478ec05e2fc6362836043476ff67e2c41b7feb Reviewed-on: http://gerrit.openafs.org/436 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b9ef2051c5affe597995df530a386baaa9807a9e Author: Jeffrey Altman Date: Wed Jun 9 13:55:14 2010 -0400 Windows: Revise SMB QuerySecurityInfo for MS10-020 MS10-020 (http://support.microsoft.com/kb/980232) has caused many problems for implementors of SMB 1.0 servers and applications that call GetFileSecurity() without checking the return code to determine if the call succeeded. The gist of the vulnerability was that the SMB redirector would pass any buffer it received to the application regardless of whether or not it was valid. MS10-020 protects the applications by strictly validating the SMB response data structure and the data in the security descriptor that is returned. The problem for SMB 1.0 server implementors is that there have been at least three different protocol descriptions for NT_TRANSACT_QUERY_SECURITY_DESC published over the last decade and all of them are incomplete. Therefore, just about no one but Microsoft has an SMB 1.0 server implementation that produces the exact out that they are expecting to validate. The end result is that in an attempt to protect applications from crashing due to invalid input being passed in directly caused dozens of applications to crash by not returning any security descriptor data at all. Even when the applications didn't crash they might not have been able to save their data. Cisco WAAS and NetApp DataOnTap systems were most adversely affected and they have had CIFS protocol licenses for many many years. To fix OpenAFS here is what needed to be done: 1. Instead of returning a security descriptor that gives ownership to the NUL SID, give it to the Everyone SID and set the flag that states that everyone has full access. 2. Validate the input parameters. In particular, check to ensure that the SMB file descriptor is valid and the file has not been deleted. 3. Enforce the maximum output data and parameter counts. 4. Handle buffer overflow and buffertoosmall conditions in the manner that Microsoft expects them to be handled. In particular, note that the parameter data which is returned in the SMB Data Region is not counted in the Data Count. Even if MaxData is 0, we can still return parameters values as long as MaxParm is large enough. LICENSE MIT Change-Id: I95034bc6f24a282decc507edcffb93bc58b986be Reviewed-on: http://gerrit.openafs.org/2110 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Reviewed-by: Jeffrey Altman commit 368ba0478c79d3ab00b0440ca763babd7583b30e Author: Daria Phoebe Brashear Date: Mon Jun 7 00:29:06 2010 -0400 further constrict nat pings one more constrainment of nat pings on unix Change-Id: I8b3db989b0e16a79cd63795147145c5e0ab55e6e Reviewed-on: http://gerrit.openafs.org/2091 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52ffc6a152fea98c5a4232c9345e7bd89b1c00b7 Author: Russ Allbery Date: Wed Jun 9 14:12:49 2010 -0700 Add additional documentation for the new test suite Add a copy of docs/writing-tests from C TAP Harness as HOWTO and add a README with some additional explanations more specific to OpenAFS. Change-Id: Ic5b04805db6b00bcb82862ad8d2ebe466f2c266b Reviewed-on: http://gerrit.openafs.org/2109 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 00c37e8634b97dba3431804cea467a046be525d5 Author: Andrew Deason Date: Fri May 21 11:47:42 2010 -0500 Install pthreaded ptserver and vlserver When --enable-pthreaded-ubik is specified, install the pthreaded versions of ptserver and vlserver instead of the non-pthreaded versions. Previously, the pthreaded versions were getting built but not installed with 'make dest' or 'make install'. Change-Id: If2f08342df4c94c1cce3001614d9e050222bf0f6 Reviewed-on: http://gerrit.openafs.org/2102 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d159cd955f4639334a963d92d82cd90318be5999 Author: Andrew Deason Date: Fri May 21 11:19:53 2010 -0500 Move FreeBlock prototype to vlserver_internal.h FreeBlock is only used in internal vlserver code and should not be called by anything else; it should not be prototyped in a public header. Move its prototype to go along with the other vlserver internal prototypes. Change-Id: Id66f046c76a9d4c454bbd6fd6e65c75dbeccf68e Reviewed-on: http://gerrit.openafs.org/2101 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7912910fd85ed28fdda8a034225ea041f554fea9 Author: Andrew Deason Date: Wed Jun 2 15:06:51 2010 -0500 Define updateUbikNetworkAddress static updateUbikNetworkAddress is static, and its prototype says so. The actual implementation of the function lacks 'static', though. Add it. Change-Id: Ida8e54cecabfffb2adbeb5f12d233668897893f8 Reviewed-on: http://gerrit.openafs.org/2100 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6ee6125f7178d9d2f93a8cb10532412bf0e295fc Author: Russ Allbery Date: Tue Jun 8 18:51:16 2010 -0700 Fix the trailing #endif comment in tests/tap/basic.h Change-Id: I3a7dbda8d2792229365df4266ca43cbb4bc815bf Reviewed-on: http://gerrit.openafs.org/2099 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 74a332e7ee69256c232e4f583f7c10e238cd3ac5 Author: Russ Allbery Date: Tue Jun 8 18:40:11 2010 -0700 Add okv function to the TAP test library Add an okv() varient of the ok() function that takes the arguments as a va_list instead of as a variable argument list. This makes it easier to reuse ok() when writing other tests. Change-Id: Icaeaaf9d6bd9d54bfd886a75961d98367ee0fb9a Reviewed-on: http://gerrit.openafs.org/2098 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 53304359a77442cf3dd3f9f2dc8543a1d16af668 Author: Jeffrey Altman Date: Mon Jun 7 18:18:39 2010 -0400 Windows: Detect if AFSCache is memory mapped to a new address The Windows AFSCache paging file contains pointer addresses that are only valid if the file is memory mapped at a specific memory address. If the file is mapped at a new address, the pointer values will be invalid and the service will crash with an invalid memory access. Check for address consistency and force the cache to be rebuilt if the consistency is lost. LICENSE MIT Change-Id: Ie7fb64659f808f09279445f47c2f1385be0a53f0 Reviewed-on: http://gerrit.openafs.org/2095 Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 8d18d4773a256b5bb567752e7f923b7713107cb0 Author: Andrew Deason Date: Tue Jun 8 10:38:07 2010 -0500 Solaris: lookup "" like "." At least on some versions of solaris, we can get passed an empty string to afs_lookup, if the root directory is in AFS (e.g. after a chroot). Interpret this as the same as looking up the "." entry; otherwise we return ENOENT, implying that the "/" directory does not exist, even if its subdirectories do. FIXES 127356 Change-Id: I84283e78fbf33b946afaf3c80ef4a1a679e8fc93 Reviewed-on: http://gerrit.openafs.org/2096 Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b89a9e4fa001b453a3ef5f041ac7978ba696b8e3 Author: Andrew Deason Date: Tue May 18 11:39:21 2010 -0500 libafs: consistently hold vnode refs Make all common libafs code call AFS_FAST_HOLD to hold an afs vnode reference, instead of sometimes calling VN_HOLD(AFSTOV(tvc)) directly. Make AFS_FAST_HOLD always call osi_vnhold, and have each platform define osi_vnhold for their platform-specific quirks (as it was doing before). This way, if a platform has an osi_vnhold that is special somehow (on solaris, we bump a VFS refcount if the vnode refcount goes from 0->1), it will always be called on vnode references. Change-Id: I7bb2b5ac116c8e86f6c6c0d40f414523870275a3 Reviewed-on: http://gerrit.openafs.org/1987 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eee8bc9cf9fa53488abd973249b8b61bc3f61956 Author: Andrew Deason Date: Mon Jun 7 11:42:02 2010 -0500 AIX: make osi_procname a stub 'curproc', 'curthread', or other such conveniences do not exist on AIX, so the current osi_procname implementation breaks the build. Determining the current process name on AIX is, while possible, difficult and error-prone. Since we only need the process name for informational messages to users, don't bother trying to determine it, and just return the empty string so we can build. Change-Id: I452a9786d809c3dee3da519cd3d6ca053f8d7ab8 Reviewed-on: http://gerrit.openafs.org/2094 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 54fbf60cdd62469cff724b445d01c15ba756e3df Author: Andrew Deason Date: Mon Jun 7 12:18:53 2010 -0500 Make lib/afs.exp in sys_depinstall The AIX libafs uses lib/afs.exp to build, and libafs depends on sys_depinstall. So, make lib/afs.exp in addition to include/afs/afs.exp in sys_depinstall. Change-Id: I8788a49cd4a5e7545f0f1f45572cdfb0f014c3db Reviewed-on: http://gerrit.openafs.org/2093 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a4bca7737682d23577c1f50c053438c657e85018 Author: Andrew Deason Date: Mon Jun 7 12:13:11 2010 -0500 AIX: declare code in osi_TryEvictVCache osi_TryEvictVCache was missing 'code's declaration. Declare 'code'. Change-Id: Ife5b9bfaea4d6a88bcbd82b862e26afcee1c149f Reviewed-on: http://gerrit.openafs.org/2092 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 85997ac89fd44e6658291adcd1a064ff77235566 Author: Jeffrey Altman Date: Sat Jun 5 19:34:29 2010 -0400 Windows: remove src/NTMakefile NTMakefile was moved from src to the top level. A second copy in src just gets out of sync. Change-Id: I9474fab56cee46c3acb1758aee62729c1cfadd7b Reviewed-on: http://gerrit.openafs.org/2088 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 24ff8eb0dd64d2fe948899a7273293b0eb79600c Author: Jeffrey Altman Date: Sat Jun 5 19:29:59 2010 -0400 Windows: Cleanup .exp .res .manifest and others Fix the cleanup procedure to work when the tree has not previously been built. Delete .exp, .res, and .manifest files from the $(OBJ) tree. Perform cleanup on all language directories. Change-Id: I2a24c69293066f012cb869fe67dbacb5ffdc2d43 Reviewed-on: http://gerrit.openafs.org/2087 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 380f9a46a3feda44621cfe94d93a9c70d3e9ff7f Author: Jeffrey Altman Date: Thu Jun 3 12:04:15 2010 -0400 Windows: Update fs newcell and add VIOCNEWCELL2 The Windows version of "fs newcell" did not accept any parameters and behaved quite differently from the Unix version. Instead of permitting new cell information to be added, the Windows version simply forced the existing cell information to be reacquired. This update adds a new pioctl, VIOCNEWCELL2, to support the implementation of a Unix-style "fs newcell". The functionality added here differs from the Unix version in the following ways: 1. "fs newcell" with no arguments is still accepted in order to maintain compatibility with prior Windows behavior. 2. "fs newcell -cell -dns" instructs the cache manager to add the new cell but obtain the vldb server info from DNS. 3. "fs newcell -cell ... -registry" instructs the cache manager to add the new cell and also save the cell configuration data in the registry for use the next time the service restarts. 4. The -vlport and -fsport options are accepted although the -fsport value is currently unsupported by the cache manager. LICENSE MIT Change-Id: If62cc8e1c6cc8ba2defb4cd72dae8a87b4d915e0 Reviewed-on: http://gerrit.openafs.org/2080 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman commit 82e999bf847ef88d357d86015a90cedb47eeb8ac Author: Jeffrey Altman Date: Thu Jun 3 11:59:45 2010 -0400 Windows: Freelance Import CellServDB Add a new registry option that permits automatic generation of Freelance mountpoints for every cell listed in the CellServDB info (file and registry). "FreelanceImportCellServDB". This functionality is only triggered when the afsd_service is started. The operation is performed in the background by the daemon thread after the firewall configuration is set. LICENSE MIT Change-Id: Ic6cc0738f8c185d77f9cf69d4997b8044522e50e Reviewed-on: http://gerrit.openafs.org/2079 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman commit 1faf08ccc7704f43cbe57cd54b6458db347bcf91 Author: Jeffrey Altman Date: Fri Jun 4 00:46:39 2010 -0400 Windows: engage path mtu discovery for rx Change-Id: Ice32ca652dfcf1c14577c696eaca074f61a62675 Reviewed-on: http://gerrit.openafs.org/2085 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit ab5b2d2274bcb031ee2d0f8042ab45e15f3c428c Author: Jeffrey Altman Date: Fri Jun 4 00:45:21 2010 -0400 Windows: enable circular buffer management for rx socket input LICENSE BSD Change-Id: Ibbcb6171738b4f6adfb267b5782b53ae7170b0e9 Reviewed-on: http://gerrit.openafs.org/2084 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 7c167febd559de70ec8abd74a34bbc15f44945fd Author: Russ Allbery Date: Sat May 29 16:45:04 2010 -0500 Comprehensive edit of Admin Guide chapter two (first 20%) Update and revise chapter two (Issues in Cell Configuration and Administration) of the Administration Guide for current AFS and current computing concepts. Remove references to an AFS-provided login utility and discuss local login configuration for Kerberos more generically. Further clarify the role of ssh in ensuring the user has access to files in AFS during remote login. Improve the inode and namei discussion slightly. Update the setuid discussion for the new default of disabling setuid for cells and for the known security flaws in enabling setuid. Modernize terminology for DNS around cell naming and remove the descriptions of TLDs. We can now assume our target audience knows this stuff. Move index terms into the appropriate section for what's being indexed in a few more cases. Lots of other, more minor wording changes and updates. Change-Id: Id8b1ace5afca6b8b7b2082a9a0779a4b91c89dcd Reviewed-on: http://gerrit.openafs.org/2065 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 67e837374649d4def8df6371f104c8b2af928e2a Author: Daria Phoebe Brashear Date: Tue Jun 1 13:10:32 2010 -0400 rx mtu discovery constrainment code this code makes us work in the face of a sub1500 mtu network. a subsequent commit is needed to make it more effective: attempts to grow the mtu must be scheduled so we aren't forced to heavily brute-force on failure to discover the exact mtu immediately; for performance, we do want to grow to the real mtu. Change-Id: If876c134efd4b0952035193ef00a6e780f7adc64 Reviewed-on: http://gerrit.openafs.org/2069 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 8be3eee95ebd7c387c4745d2abc0f4907df6aaf7 Author: Simona Poilinca Date: Fri Jun 4 00:42:38 2010 -0400 Windows: convert cm_config.c to use strsafe library Replaced the unsafe string functions with the safe versions available in microsoft's strsafe library. Change-Id: Id9e9acf7eaa1b045d91b972b37a411c7a94ed3ac Change-Id: I377fe4e2e5bac904f5dd28916f1244262e1933c2 Reviewed-on: http://gerrit.openafs.org/1778 Reviewed-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman commit dbef3c8b0bd5bab21943071c455b4bf2436507e5 Author: Asanka Herath Date: Thu Jun 3 23:58:42 2010 -0400 Windows: Support building a lite-client installer If LITECLIENT is defined when invoking the WiX based MSI installer build, we will build a light-weight client installer MSI. This minimizes the size of the installer for users who only need client functionality from OpenAFS. The light-weight client excludes: - Server components - Control center components - Administration utilities - Debug symbols Lite-client installer can also be built by invoking target wix-lite from the root NTMakefile. Change-Id: I544cdb7170d17358eb235f3c476c468dbae62776 Reviewed-on: http://gerrit.openafs.org/2034 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 1e0c6d22d7c44aad6aa0a0051e094a3558045dd2 Author: Rainer Toebbicke Date: Wed Jun 2 18:12:36 2010 +0200 "fs checkservers" during cache creation can crash client Many pioctl calls pass as soon as the afs_resourceinit_flag is set, which happens relatively early, alas before the cell name is set. PCheckServers and others need the latter and dereference NULL. Easiest: set the cell name as soon as it is known and the dynroot initialisation piggy-backed to it can be done. Change-Id: I9985f2c4a0afddfed04b85338108b3d6e97b64e6 Reviewed-on: http://gerrit.openafs.org/2072 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a069b18dfbc2e1a4834df9cc7c477d65a05b342c Author: Russ Allbery Date: Wed May 26 13:15:30 2010 -0500 Document in SalvageLog(5) the per-partition salvager logs Document that salvager creates separate logs per partition when doing a full server salvage and then appends them all to SalvageLog when it completes. Change-Id: I2ffa8c79ef83b590f90bb014fc318559deae7113 Reviewed-on: http://gerrit.openafs.org/2035 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit a546f1cd58abcdc129035cf4614c4b55f1e1b1f8 Author: Jeffrey Altman Date: Thu Jun 3 11:54:04 2010 -0400 Windows: Fix usage of cm_FreeServerList cm_FreeServerList will set the input variable to NULL if the contents of the list could in fact be freed. If they could not be freed, the individual entries are marked for deletion and will not be subsequently used. Do not set the list variable to NULL after calling cm_FreeServerList otherwise memory can be leaked. LICENSE MIT Change-Id: Ia3cacd760d7395a2dd6b063643a8aa86f9e468b9 Reviewed-on: http://gerrit.openafs.org/2078 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 64e08dca0bdbb32ec98218a0b0fcd486108af6c1 Author: Jeffrey Altman Date: Thu Jun 3 11:51:17 2010 -0400 Windows: Reduce number of Nat Ping Connections Instruct rx library to only perform NAT pings on file server connections that are actively in use and which are anonymous. LICENSE MIT Change-Id: I6b74e8070f2c522ed13e0c06ea7a304cce525ab9 Reviewed-on: http://gerrit.openafs.org/2077 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 7e9c978b1c9d47a9da0e7f3b6cb7982596eb4cda Author: Jeffrey Altman Date: Thu Jun 3 11:49:14 2010 -0400 Windows: Fix cm_IoctlSkipQueryOptions buffer management When cm_IoctlSkipQueryOptions advances the input buffer pointer it must also reduce the available input length. LICENSE MIT Change-Id: I4e0d673e3ff5d8621e715d33d73616a22211a8a9 Reviewed-on: http://gerrit.openafs.org/2076 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 51d954a75c4343d1bc06fc784484894dd9bdb398 Author: Jeffrey Altman Date: Thu Jun 3 11:47:46 2010 -0400 Windows: do not request KEY_WRITE privilege if not required When querying the registry cellservdb info the KEY_WRITE privilege is not required, therefore do not request it. LICENSE MIT Change-Id: I050717be3afb5df979897ffbef65987160a65149 Reviewed-on: http://gerrit.openafs.org/2075 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 019174fdda5bb6eb376ea78e20db74c7e1f77fab Author: Jeffrey Altman Date: Thu Jun 3 11:44:33 2010 -0400 Windows: warning removal cast away size_t larger than afs_uint32 warnings use variables with the proper signed vs unsigned state in order to avoid signed vs unsigned comparison warnings disable deprecated string function warnings LICENSE MIT Change-Id: I78a3786a0766979c8d83cc5dbd06f91e70b0ee47 Reviewed-on: http://gerrit.openafs.org/2074 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 3ff85264903aef41e63c5a86674ec66857db69f4 Author: Daria Phoebe Brashear Date: Thu Jun 3 15:50:46 2010 -0400 darwin notify don't recurse on vcache lock afs_vop_access->afs_VerifyVCache2->afs_GetVCache->afs_FetchStatus-> afs_Analyze->afs_NotifyUser can recurse and try to notify us. Don't worry about it; we're best-effort. we lack a lock primitive to see if we own this lock. Change-Id: Ibc0c8a8164a95f0d268e5f1f42a62c3a28c4ab9d Reviewed-on: http://gerrit.openafs.org/2081 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a2f3be5265a9e8a7f2cf0dd751a9ab82d289cef8 Author: Andrew Deason Date: Thu Jun 3 09:54:28 2010 -0500 up: refuse multicharacter arguments The 'up' command currently silently accepts and discards extra characters when specifying arguments. This can produce rather confusing behavior such as mistyping '-v -1' as '-v-1' resulting in the '-v' switch being honored, but the '-1' being ignored. The same thing occurs for specifying '-v1', even though the usage message implies that you can combine arguments. So instead, report an error message for any arguments specified that are longer than 2 characters, since they are never valid. Change-Id: I64846b53248ea1d06d03b6ac1fdb4317ba04b03b Reviewed-on: http://gerrit.openafs.org/2073 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit d263fb1507a8c679fd92b5bd2b6af2f1fb8b3cbf Author: Asanka Herath Date: Wed May 26 12:34:08 2010 -0400 Windows: Fix midl options for generating stub code MIDL is used to generate server stub code for implementing SMB RPC. Fix the invocation of MIDL so that MIDL can locate include files and respect AFSDEV_AUXMIDLFLAGS. Change-Id: I31e90897c8f0d8db6746dbc94a3fe4de53aab060 Reviewed-on: http://gerrit.openafs.org/2033 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 57d7b5ccf0ddda5a7887d7e84211c3e767a407e6 Author: Daria Phoebe Brashear Date: Tue Jun 1 12:13:42 2010 -0400 rx allow setpeermtu to take a peer modify setpeermtu to work when a peer is passed in. modify existing callers. note solaris caches a whole host's pmtu, so use that on all peers at the host. Change-Id: Iba05fffd47a7c7b63742d6c539be4fe248336fb7 Reviewed-on: http://gerrit.openafs.org/2068 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ca2bce169e1742e25846ea516e6796de6ac6a282 Author: Daria Phoebe Brashear Date: Tue Jun 1 12:08:57 2010 -0400 rx setpeermtu should handle a host correctly right now, when no port is passed, we don't correctly tweak the mtu for all peers on a host. do that here. Change-Id: Ia07f592bf001415d8a76bd3326f2dc6aa0641809 Reviewed-on: http://gerrit.openafs.org/2067 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 24b7d39c5f18ca60067e5ab9c8d9c08e9c695789 Author: Daria Phoebe Brashear Date: Tue Jun 1 12:04:43 2010 -0400 aklog no krb524 kill warnings if you're disabling krb524, these variables are unused. make them not be part of such a compile Change-Id: Ib10e8fc82614b7a821daa7c77540ce246551cb0a Reviewed-on: http://gerrit.openafs.org/2066 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit af1dbcf0c9d29d2dfaf87c7f6fe64018927626ad Author: Russ Allbery Date: Thu May 27 16:40:21 2010 -0500 Add warnings for Authentication Server commands For each command only useful with the Authentication Server, add warnings that the Authentication Server is obsolete and will be removed in a future version of OpenAFS. Encourage people who care to update uss to work with a modern Kerberos KDC, recommend kinit and aklog or klog.krb5 over klog, and warn that klog will be of limited use without an Authentication Server. Change-Id: Idc78ba548134b83ac1eea0fb81a5bc38a431bb38 Reviewed-on: http://gerrit.openafs.org/2052 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f05d22c1b9bc21f0baa415444cf4f05aa1de5e0b Author: Daria Phoebe Brashear Date: Fri May 28 08:49:37 2010 -0400 prune further list of connections we natping on if it had tokens before, again, still not worth a nat ping. nor for the vlserver. Change-Id: I30281801b604b67b418b8a54a1889c54c8f6e4db Reviewed-on: http://gerrit.openafs.org/2058 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 67f1a94234e122a7dfef9808171285e456af5da8 Author: Rod Widdowson Date: Thu May 20 18:27:11 2010 +0100 Rewrite vldb_check -fix vldb_check -fix was very 'topical' in nature. It showed signs that each sucessive corruption had been treated as a one off needing a specific fix. This made the code difficult to understand and incomplete: for instance a single volume on the wrong hash only was not corrected. Further there was some rather unfortunately code which would under certain circumstances stamp the last volume at various places across the file. This checkin removes all the old code and replaces it with a 'systematic' fix. During the last scan across all the volumes, all four of the hash chains are rebuild from the ground up. We can then get rid of the outer 'Mung Until Now Good' iteration and further we benefit from a linear run time. Tested by building several different forms of broken-ness in all three chains and then fixing it. Now with improved logging and correct non insertion of nonexistant elements and clean compiled with extra warning. Change-Id: Id39d806c9c90f67c6967bd99460ba9842a043158 Reviewed-on: http://gerrit.openafs.org/1991 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 16c4b6e6c06ef2e7cfe77bca0811af9001665805 Author: Rod Widdowson Date: Wed May 19 10:45:57 2010 +0100 Add bounds checking prior to IOs in vldb_check vldb_check would just read where it was sent. This means that if a hash entry was beyond the end of file the read would fail and halt the program dead. This change adds checks for that so we can go limping on. There is no code to fix this sort of corruption. I have another (preexisting) checkin to do that which will happen once I can get a clean test run. This checkin also removes a some pointless debugging printfs. Change-Id: Ib285e113c8db024de41ffaf6c11ceb2979d07041 Reviewed-on: http://gerrit.openafs.org/1990 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 20c2acfb2b2c5e6ab36c14726dce6197202f6d4a Author: Russ Allbery Date: Fri May 28 09:42:24 2010 -0500 Reformat chapter two of the OpenAFS Administration Guide Purely reformatting to make the document more maintainable. There are no content changes. Change-Id: I349c8e86de925cbed6e09be529a22e0a08b227f6 Reviewed-on: http://gerrit.openafs.org/2059 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 2e2494d6dbc3b4584c50b87073a2b7c7a0d13604 Author: Russ Allbery Date: Fri May 28 19:15:52 2010 +0000 Add a sample test program to the new test suite Add a modified version of src/util/test_ktime to the new test suite as an example of how to write a test program with the new harness. Change-Id: Ifbceff1905f9f0dd686c2a2d2edc2f8796e7918f Reviewed-on: http://gerrit.openafs.org/2063 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 194c3f10d4c4d571e5d734baf2dd27331624c084 Author: Russ Allbery Date: Fri May 28 11:35:28 2010 -0500 Import C TAP Harness 1.2 as a testing harness Creates a new top-level tests directory that will be used for all future automated test code eventually. Import runtests and the basic TAP library from C TAP Harness 1.2. Add top-level check and test targets that build the full source tree and then the new tests directory, and then runs runtests on the test list. Change-Id: I896f8ae488cd1dfa8529a10b4b479e45e7c67afe Reviewed-on: http://gerrit.openafs.org/2062 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f7cb812d07ba854e69ca8d971cd88d93afe6e01e Author: Russ Allbery Date: Fri May 28 11:34:37 2010 -0500 Add src/tests/OpenAFS/Dirpath.sh to .gitignore Change-Id: I027d71ead7c75037bdc070932659c3f7da69dc0a Reviewed-on: http://gerrit.openafs.org/2061 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2db48258392cd24f17d0de2b46fceb9039f59953 Author: Russ Allbery Date: Fri May 28 11:03:50 2010 -0500 Clean up warnings in the tests directory Build repair.o with strict aliasing disabled because it addresses the same data structure via two different structs at the same time. Fix various other, more minor warnings. Several fixes here require more Autoconf glue to work properly, but that's deferred to future work (such as some HAVE_* defines that we don't probe for and the handling of non-native 64-bit integers in some of the code). Change-Id: I721a9fb952d2cf485d2df8e5672e5e5f5d9d6159 Reviewed-on: http://gerrit.openafs.org/2060 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4d89ce0a89e9b9e2709e6f6d730f245b5bce744b Author: Marc Dionne Date: Fri May 28 17:48:12 2010 -0400 Linux: 2.6.35 - fsync no longer takes a dentry In 2.6.35, the fsync file operations drops the dentry argument. Add a configure test and cope. Change-Id: Iaf660808d52688a4a8fd53a76d8d055602f746b9 Reviewed-on: http://gerrit.openafs.org/2064 Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear commit e4596a9d07d99ce17fcf8ae7be6e5e1c2a134e8a Author: Rainer Toebbicke Date: Fri May 28 13:41:41 2010 +0200 Typo made sysctl table invisible AC_CHECK_LINUX_STRUCT for the check for ctl_name in ctl_table instead of AC_CHECK_LINUX_FUNC. Change-Id: Ia0e0de5d62ce7f702a3f1d7a5cd4d19ef726095c Reviewed-on: http://gerrit.openafs.org/2057 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0e9d4bc6f261fc8da2a20d1d236993082f70cecc Author: Daria Phoebe Brashear Date: Tue May 18 13:41:38 2010 -0400 viced: kill console use don't open /dev/console in the fileserver. if you want this, let syslog do it. Change-Id: I1d7c0fb4a8582b6c781acdb9ae0764b64dc1c301 Reviewed-on: http://gerrit.openafs.org/1986 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ac971a6c854e466ae412389da04f91298d01f707 Author: Russ Allbery Date: Thu May 27 11:45:06 2010 -0500 Comprehensive edit of chapter one of the Administration Guide Update and revise chapter one (An Overview of OpenAFS Administration) of the Administration Guide for current AFS and current computing concepts. Replace the Kerberos Server terminology with Kerberos KDC and add additional details about the relationship between AFS and a Kerberos KDC. Remove some remaining Authentication Server references. Add some details about the Protection Server management of the mapping from Kerberos principals to AFS IDs. Remove some now-obsolete distinctions and concepts between mainframes and workstations and recommendations for server systems. Reorganize the order in which the servers are discussed to follow a somewhat more natural order. Be clear that the Backup Server is optional and that there are other methods available to back up AFS. Mention backing up to disk as well as tape in a few places. Change-Id: I57ce083a84ca2a44f7a4383d80b05508e6448284 Reviewed-on: http://gerrit.openafs.org/2045 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 760b43baa807a9c84bf2796d9f6c969819098e2c Author: Russ Allbery Date: Thu May 27 09:57:42 2010 -0500 Reformat chapter one of the OpenAFS Administration Guide Purely reformatting to make the document more maintainable. There are no content changes. Change-Id: Ic3fb32ef68c14418b3ac6bab92fda759db89b394 Reviewed-on: http://gerrit.openafs.org/2044 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5f2c6bd341674618d14658d0f642465b0f0259b9 Author: Russ Allbery Date: Wed May 26 23:23:10 2010 -0500 Add k_haspag to libkopenafs Add the k_haspag function to libkopenafs, which returns true if the current process is in a PAG and false otherwise. The implementation currently duplicates code from the ktc_curpag function since the latter calls the regular pioctl() interface and hence introduces an Rx dependency that we're avoiding for libkopenafs. This should be refactored to avoid the code duplication at some point, but that will require building a utility library that can be reasonably linked into libkopenafs and is therefore deferred for future work. Change-Id: Ib97322ef24dc3a4e48cb45090c516c95b71e9fc7 Reviewed-on: http://gerrit.openafs.org/2041 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e29bd1f8d1734c45d244df45202a4b8eb47208c1 Author: Andrew Deason Date: Wed May 19 15:04:45 2010 -0500 libuafs: Add uafs_Init compat function Recent libuafs changes changed the libuafs initialization API. Add a uafs_Init wrapper for compatibility in case someone is using the old way. Change-Id: I30611479e0c281526dc52ac6a1969ae526886537 Reviewed-on: http://gerrit.openafs.org/2047 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3da8b3773f4caa85cf7ef58016a053560b87ca59 Author: Russ Allbery Date: Thu May 27 14:53:57 2010 -0500 Make all the default target in libadmin samples and test Change-Id: Idae0c8a6bf1b057d52c1d385daab5193083b63f6 Reviewed-on: http://gerrit.openafs.org/2051 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fe8db2a6979b96f5ff622c0fe9d42f6694555419 Author: Russ Allbery Date: Thu May 27 12:33:57 2010 -0500 Clean up warnings in libadmin/bos/afs_bosAdmin.c Use the correct data structures for BOS timestamps. Use afs_int32 for the expressed timestamps for executables since that's what the BOS RPC says it's using for right now; we should change this, but when we do, warnings will catch this use along with the others. Cast some const char *'s that are passed into BOS functions that take char *'s. Change-Id: Iff3a6c42241953ed086f8e739cdb344a41a44635 Reviewed-on: http://gerrit.openafs.org/2050 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a65d755e5e862b9077439c151dc238fe4ef62725 Author: Russ Allbery Date: Thu May 27 09:41:38 2010 -0500 Clean up the introduction to the Administration Guide Provide a more useful abstract and remove the (outdated) specific list of supported platforms and the M.m version number placeholders. Update the list of associated documents to match their current titles, and provide a better description of the Reference Manual. Reformat the parent document and preface for easier maintenance in the future. Change-Id: I42ce78274ed7c4ca7a2f0b9c5ec2e6f7a786adb8 Reviewed-on: http://gerrit.openafs.org/2043 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit cc071714fad5ab3a1c27782963fbd8d4d63437dc Author: Andrew Deason Date: Sun May 16 19:47:04 2010 -0500 libuafs: Remove afsd symlink in setup Remove the 'afsd' symlink in the build setup, along with the other symlinks. Otherwise, we try to recreate it every time and fail, since it already exists. Change-Id: I8fd70d6c29695f92a5a800bea34630221d142370 Reviewed-on: http://gerrit.openafs.org/2046 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 314ae59401820ab7a2dae10263959ea055bf6bd7 Author: Daria Phoebe Brashear Date: Thu May 27 10:58:03 2010 -0400 background daemon don't wipe code before it gets used the bop allocation will clear the bop structure on reuse. don't clear the error code early. Change-Id: Ie32bef854d28a575387e2488f10c302486dfd20b Reviewed-on: http://gerrit.openafs.org/2042 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c0408db079f58b11d9c53c9e67c556cac142bcbf Author: Russ Allbery Date: Wed May 26 16:07:43 2010 -0500 Flesh out NEWS for recent work Add entries to NEWS for all development releases back to 1.5.36, which is the point at which I got bored, taken from the release announcements to openafs-announce. Try to use a relatively readable and consistent formatting for all the entries and convert the old entries to the new format (mostly). Further history can be added from the release announcements when I or someone else gets bored. Change-Id: Iaf9171c82ca74cd98be3745d9c1965efc39d889a Reviewed-on: http://gerrit.openafs.org/2036 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit c679486e554864df4c98feacc6f759cccb0b69fa Author: Russ Allbery Date: Wed May 26 14:45:22 2010 -0700 Update Debian packaging to 1.5.74.1-1 Change-Id: I828f21edffce67eaba6cfdd76e66e754a58e52a0 Reviewed-on: http://gerrit.openafs.org/2037 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0d66561a0b21572676ee1729a6e925d2f491ab6f Author: Russ Allbery Date: Wed May 26 22:04:48 2010 -0500 Fix compilation of the imported config_file.c parser Include additional missing header files for proper function prototypes, define TRUE and FALSE, and declare krb5_clear_error_message as unused so that the config_file.c will compile and pass --enable-checking. Make the build depend on krb5_locl.h. Change-Id: I25a35098aa81c9d2a0efea48257dcb958602c785 Reviewed-on: http://gerrit.openafs.org/2040 Tested-by: Russ Allbery Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 19dee933a0ca1d824edb697e43f29628cce06f55 Author: Marc Dionne Date: Wed May 26 17:50:43 2010 -0400 scout.c: only declare width once The width variable was declared twice, for the whole function and also within the for loop, leaving the first one unused and triggering a warning and a failed build with enable-checking. Change-Id: Idd061aa0e9eff1f158bfdbd67a20fe5876570089 Reviewed-on: http://gerrit.openafs.org/2039 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit dc8f18d6f5003712bc9ef989363137a84953df07 Author: Andrew Deason Date: Wed Mar 31 11:40:42 2010 -0500 Protect ubik cache accesses Currently, ubik application cached data could be updated and read by different threads simultaneously. Add a mechanism in ubik for protecting accessing and updating the cached data. This adds the function ubik_CheckCache to do this, and removes ubik_CacheUpdate as an exported function (since it's not safe). Update all callers to use the new mechanism. In ptserver, remove the 'initd' variable; just rely on cachedVersion and ubik_CheckCache to tell us when to re-read the database. Remove db.lock in buserver and cheader_lock in kaserver, which served similar (though not completely threadsafe) protection as ubik_CheckCache. Add the ubik database lock cache_lock to protect the application cache. Change-Id: I857a67d410e2c539197c5212c3b114c3fd0403c2 Reviewed-on: http://gerrit.openafs.org/1546 Reviewed-by: Derrick Brashear Tested-by: Russ Allbery commit 5698becffffb49ff49f69ce202032ae0bd9e9f7a Author: Russ Allbery Date: Wed May 26 16:47:49 2010 -0500 Fix syntax error when supergroups are not enabled 1f22cab broke non-supergroups builds due to incorrect brace placement. Move the correct closing brace outside of the #ifdef. Change-Id: I2ed3f8f57b35f0030e26306f7e791ea6b5158c9a Reviewed-on: http://gerrit.openafs.org/2038 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 916699ed412f865a80106ed4968fd2ede12d16f4 Author: Asanka Herath Date: Wed May 26 12:31:39 2010 -0400 Add /dest and /obj to .gitignore These are build directories used on Windows. Change-Id: I20c37ae4ada78949c3a09d618476286f64f9b682 Reviewed-on: http://gerrit.openafs.org/2032 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Russ Allbery commit 5f70221b2c9eb08afbbb6e0c43f6c0276cebbcf3 Author: Russ Allbery Date: Wed May 26 12:20:57 2010 -0500 Remove references to IBM AFS Change references to the documentation sets that we still ship to reference the OpenAFS manuals instead of the IBM AFS manuals. Remove references to the IBM AFS/DFS Migration documentation, since that doesn't appear to be available anywhere any more, replacing them where relevant to more generic references to the DFS documentation. Add links to docs.openafs.org for mentions of the manuals in SEE ALSO, and standardize on one link format. Replace a few references to the IBM AFS Release Notes with the actual information in those notes, or drop the reference if it doesn't seem particularly useful. Change-Id: Ie9666842f1315891c6a9c37c0424200f4b78bff7 Reviewed-on: http://gerrit.openafs.org/2031 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit deca334a5c9773f1b873b6260353c5c6cbab0af7 Author: Daria Phoebe Brashear Date: Thu May 20 11:27:10 2010 -0400 avoid nat ping for authenticated connections this is a cheap way to ensure one nat ping per server. basically, only do it for the one unauth connection we have. Change-Id: I4583112d7b4a10a0e8f524795527d99a5b2adf51 Reviewed-on: http://gerrit.openafs.org/2010 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9f9ffb7822bf85fc24d29b63c09c124b1e9875af Author: Russ Allbery Date: Wed May 26 11:33:29 2010 -0500 Remove references to AFS Product Support in -oktozap salvager and salvageserver's documentation of -oktozap says to not use without consultation with AFS Development or Product Support, left over from the IBM product. Remove those references and add a caution more in line with open source. Change-Id: I136dc145caf3e8e3a992c239e1a46d86f96580ed Reviewed-on: http://gerrit.openafs.org/2030 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 1f22cab96abd1ec83ea5c0d9c3fc1a405385b8ea Author: Russ Allbery Date: Wed May 26 11:28:57 2010 -0500 Remove -rebuildDB flag to ptserver The -rebuildDB flag was documented to rebuild the Protection Database at startup, but it was accepted and ignored in the ptserver source, doing nothing. Remove the documentation and the option recognition in ptserver. Change-Id: I36f30f38464b602cb4739a958663a6feb5fe27bf Reviewed-on: http://gerrit.openafs.org/2029 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 46192481ec162c68491c43635c16047d1b03ecf5 Author: Russ Allbery Date: Wed May 26 11:25:39 2010 -0500 Remove documentation of kaserver -fastKeys -fastKeys wasn't accepted by the kaserver binary, but was still mentioned in the usage message and the kaserver man page. Remove the remnants of the flag. Change-Id: Ifb3ae49ea0cab80c325a77b0eb1062944697b53d Reviewed-on: http://gerrit.openafs.org/2028 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c3f85a084b5b07d4c289cecda92d319e9d94cb7f Author: Simon Wilkinson Date: Tue Apr 27 22:53:47 2010 +0100 Add an OpenAFS config file parser This adds a Kerberos INI style config file parser to OpenAFS, using the parser contained in Heimdal as a base. Currently, it only exports a very small number of functions, but exporting further functions is simply a matter of adding additional shims to hide the Kerberos context and other specifics. Note that we don't want to just use the parser as a library because firstly, we don't want OpenAFS to have a Kerberos dependency (as other crypto mechanisms will, and do, exist). Secondly, MIT and Heimdal use a different API here, so we would have to shim anyway. Also, our own parser means that we don't need to worry about passing in the krb5 context, and all of the issues that that presents. Change-Id: Ic0a5ddf03266c454827c6505d5f6ffefcddd2614 Reviewed-on: http://gerrit.openafs.org/1935 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 55945926f99affdbe3461fa9a1aff751c5ad3c03 Author: Michael Meffie Date: Wed May 19 12:37:35 2010 -0400 scout: adjustable column widths Adds new command line option to scout so users can set the number of characters to display without truncating. Change-Id: I69f159549d7f5b4cfee26c276ad34705f504ee2b Reviewed-on: http://gerrit.openafs.org/1951 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 54b3fbe775077c4c4f832a14fae2d046de97fd9a Author: Daria Phoebe Brashear Date: Tue May 25 18:21:32 2010 -0400 dumpstuff nbytes can't exceed 32 bits the read returns a 32 bit type; we can't possibly need to write 64 bits. (ssize_t is 32 bits on macos and so this ends up being a bad shift) Change-Id: I4d8f99b0c752a2c75ce65b9cfa1b3cb0d484cc7f Reviewed-on: http://gerrit.openafs.org/2024 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0875e29832d496532720812f6ece54813a7a893d Author: Russ Allbery Date: Tue May 25 14:37:05 2010 -0500 Synchronize LICENSE files We have two LICENSE files, which had been somewhat independently modified. Resynchronize them, remove trailing whitespace, and convert from ISO 8859-1 to UTF-8. Change-Id: Ia3dba0e328e7f026362e2e8efda206c34ce4e768 Reviewed-on: http://gerrit.openafs.org/2025 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c8261c63f9e804b62172b48d676d5be03620de2a Author: matt@linuxbox.com Date: Mon May 24 20:26:46 2010 -0400 windows handle NONODE case uniformly in cm_BPlusDirDeleteEntry Fix handling of a NONODE case in cm_BPlusDirDeleteEntry. Previously in this case, the routine referenced uninitialized memory. Change-Id: Ic3e3520b4c28ccc52e04486777bdcf0c5e54ef1f Change-Id: Id57a72112caf55b4b84ed64f709b8b73c72b7866 Reviewed-on: http://gerrit.openafs.org/2017 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit f7bca6eefdacf2adb6e60bc3eb04fb5b05dae277 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 64651b4be5be1eaacd4388c428cb936cb8be34b5 which is described as switch-from-svn-to-git-1210-g64651b4 This commit imports the Heimdal configuration file parser. Change-Id: I9e061c439f9aabd4f09c876811bd1033d3f25f22 Reviewed-on: http://gerrit.openafs.org/1934 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b7eb19f81d83400ae05749c2fd244476e53d2bf3 Author: Daria Phoebe Brashear Date: Tue May 25 00:03:16 2010 -0400 fs getserverprefs needs a larger buffer it's very easy for the size of server preferences to be too large for the default buffer. cope. Change-Id: I0535edf784eb9e9a309dc17e571719e204b9d29b Reviewed-on: http://gerrit.openafs.org/2021 Reviewed-by: Russ Allbery Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e917fc5c474e11e47b656295d73514ca9ec45626 Author: Simon Wilkinson Date: Sun May 16 22:48:52 2010 +0100 Autoconf : Kill dead code Remove unused autoconf macros - they're not being called, and so have bitrotted, and are just cluttering up the tree. Change-Id: Ib2d1fc5121b6845cf0b500e5aef8ca822be58ad3 Reviewed-on: http://gerrit.openafs.org/1971 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 5219a6b33b8ea7a793d5b0797026abd7b187f85e Author: Simon Wilkinson Date: Thu May 20 11:57:20 2010 +0100 Linux: Disable syscall probes if we have keyrings If we are building for are kernel with keyrings, and we can guarantee that we can make use of those keyrings, then we no longer need to probe for the syscall table at all. Change our default behaviour so that when these two conditions are true, syscall probing is disabled. Both --enable-linux-syscall-probing and --disable-linux-syscall-probing can be used to override the autodetection and force things one way or the other. We have to check that we can use the keyrings because there was a window in the 2.6 kernel series where keryings were available, but the key_type_keyring definiton (which we use to create the session keyring) wasn't exported. In that situation, we attempt to traverse the process table and use the type of init's session keyring. This traversal is fragile, and if it fails, keyring PAGs will be disabled. So, we still want to be able to fall back to patching the syscall table, if we can, in this case. FIXES 125215 Change-Id: I11ba5c68fe37609bbd6b9c9f7e7c699334f42ebc Reviewed-on: http://gerrit.openafs.org/2002 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 13dba17d5a845475e8c68ae00c4b77fee12d48c6 Author: Andrew Deason Date: Thu May 6 15:40:36 2010 -0500 vol, volser, and viced type fixes Correct many uses of incorrect types for file offsets, sizes, etc. in the volume server, fileserver, and the volume package. Thanks to Tom Keiser who pointed out the incorrect types and suggested solutions. Change-Id: If4aedfe0cc06d05b3775069ae1285d4c330976cd Reviewed-on: http://gerrit.openafs.org/1920 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Russ Allbery commit 8a869e0ef99a10f5f26d4f65a96fba5a6440ce93 Author: Russ Allbery Date: Mon May 24 22:21:29 2010 -0500 Add libafs_tree to .gitignore Change-Id: Iff4a22319be1659f123a3a8b62c27a39d957bc29 Reviewed-on: http://gerrit.openafs.org/2020 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f924010fbcdcf7e8800165cdcdc4acfedc7225b6 Author: Russ Allbery Date: Mon May 24 22:03:49 2010 -0500 Fix libafs_tree's cross-architecture support The results of libafs_tree are supposed to build on any platform that shares the same basic kernel code, but this had broken in two ways: libafs_tree was including a pre-built afs/param.h, which needs to be regenerated on different architectures, and the Linux kernel build makefile was being pre-generated despite having some architecture-specific options. Copy over more of src/config and postpone generation of afs/param.h and generation of libafs/Makefile to the libafs build. Remove the substitution of AFS_SYSNAME from make_libafs_tree.pl; it was unused and now definitely shouldn't be used since it will break the architecture-independence of the resulting tree. Change-Id: I2730d3745cc67cf5f3ae61cf4643842f87865a80 Reviewed-on: http://gerrit.openafs.org/2019 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8aa5328bd539f88d4e090959e5bd95a19992bcff Author: Russ Allbery Date: Mon May 24 21:34:53 2010 -0500 Postmoderize use of AC_CHECK_TYPE Use AC_TYPE_SSIZE_T to handle the ssize_t check (introduced in Autconf 2.60). Use AC_CHECK_TYPE, not AC_CHECK_TYPES, to check for sig_atomic_t and socklen_t, and define them in afsconfig.h if they're not present on this platform. Do not define them in stds.h, since stds.h is an installed header file and cannot rely on Autoconf defines. Change-Id: I80e1a00efc84420002a95d6cafc25ea70befa49d Reviewed-on: http://gerrit.openafs.org/2018 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48d3ec164bf76708c10d817e7601105cc2798153 Author: Russ Allbery Date: Mon May 24 14:28:01 2010 -0500 Update fs {get,set}serverprefs documentation for DNS Mention in the fs getserverprefs and fs setserverprefs documentation that VL servers may also come from DNS AFSDB and SRV records. Document that SRV record information is not (yet) properly used. Change-Id: I223efedf4d00ac1b57b3dce74a807790691abdbf Reviewed-on: http://gerrit.openafs.org/2015 Tested-by: Russ Allbery Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6916146b466676bc95df000ca4c367ea7c971133 Author: Daria Phoebe Brashear Date: Tue Apr 27 13:16:20 2010 -0400 report server address when known for afs warnings if we have the server info, give an address with the error. we could probably give the program name too, as for flock warning, but... Change-Id: I508572357c8c7027003900156dbb1a09ace04731 Reviewed-on: http://gerrit.openafs.org/1851 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2f0998ff13fe55e74011bd32317697274f807cc5 Author: Daria Phoebe Brashear Date: Mon May 24 16:12:24 2010 -0400 getcapabilities avoid panic when cell is not filled for a new server, getcapabilities is not safe, as cell may not be filled. Change-Id: I0926034c1d9e9c8c08e7ca993de1bcef9c0de8cf Reviewed-on: http://gerrit.openafs.org/2016 Reviewed-by: Russ Allbery Reviewed-by: Simon Wilkinson Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dd7b9235e677f92d928f0db40afaab9a1c3ee580 Author: Rod Widdowson Date: Tue May 18 14:48:38 2010 +0100 Read volume at correct address when looking for broken forward links. vldb_check was reading a volume at the index rather than the file offset to read the volume. This was giving rise to phantom warnings since the hash was usually 0. The possibility of a broken flink is determined in another manner which is why in normal case we are not flooded with warnings. At the same time make the error message slightly more coherent. Change-Id: I35f237772819f6418eb9f8d77e0902bca28c4134 Reviewed-on: http://gerrit.openafs.org/1983 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3313e7499642c39b0be1574102b8cdf6bfa565b5 Author: Simon Wilkinson Date: Sat May 22 09:40:05 2010 +0100 Autoconf: Tidy up resolver retrans retry test There's no need for the retrans retry test to be a TRY_RUN test, TRY_COMPILE will pick up the existence of the '_res' structure and its elements. Also, clean up the use of the cache variable to set the result. In the old implementation a true test result would print '1', not 'yes', a false result would result in bad output in the config.log, and a cross compiling output would give #define HAVE_RES_RETRANSRETRY no which will give unexpected results with #ifdef tests. Change-Id: If78c1b01ee89242c67f87238ca502ce43718c6a2 Reviewed-on: http://gerrit.openafs.org/2014 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ffb6cbfc1ee41ac83a27c094d82bd1c68ef4861c Author: matt@linuxbox.com Date: Sat May 22 19:40:03 2010 -0400 windows map lstat to _stat (mrafsStyleLogs) Provides function macros mapping lstat to _stat, in Windows param files (i386, amd64, i64). change per jaltman Change-Id: I414422f26114fc270dff0b5915765bf3906a400e Reviewed-on: http://gerrit.openafs.org/2013 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3015ef6c594fa999c29e390a76c384eed09619d4 Author: Russ Allbery Date: Sun May 9 17:58:33 2010 -0700 Update bos addkey/listkeys and KeyFile man pages for asetkey Clearly prefer asetkey to bos addkey in the KeyFile, bos addkey, and bos listkeys man pages. Reference asetkey list and asetkey delete as alternatives to bos listkeys and bos removekey. Distinguish between Authentication Server cells and Kerberos v5 cells and mention the preferred afs/ principal format. Add some cautions around matching enctypes and salts when synchronizing keys with a v5 KDC. Update man-pages/README for completion of this task, clean up some other wording, and remove some other now-irrelevant information. Change-Id: I29b83a61cbdb08de508bdb313524a307e385044b Reviewed-on: http://gerrit.openafs.org/1938 Reviewed-by: Jeffrey Altman Reviewed-by: Andrew Deason Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 5ae464b185115e3537bbef862d893190bb56ab05 Author: Ben Kaduk Date: Fri May 21 21:39:16 2010 -0400 Do not lie about needing Giant Catch up to 2005. Giant has not been needed for vnode page operations for quite some time now. Change-Id: I59c7b4fb1f7cd4133d459d801db9bb6d9cef866f Reviewed-on: http://gerrit.openafs.org/2012 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit adb901ac887043747360c4c9bb3fc51523f8c56e Author: Marc Dionne Date: Wed May 19 16:49:07 2010 -0400 Linux: remove unused label The out label is no longer used and triggers a warning. So just remove it. Change-Id: Ic701b82fcd4f93ddf3673dbc16618201314f6fb3 Reviewed-on: http://gerrit.openafs.org/2000 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a48a6c2a62e3511ec5652295ffee61122c1d6cbf Author: Simon Wilkinson Date: Wed Feb 24 21:39:10 2010 +0000 More warnings cleanup Remove uneccessary warning inhibition in vol/ Update README.WARNINGS to match the current state of the tree Change-Id: Ic1e5c74e0e7c2ccce0519b1572034f3666aa75e9 Reviewed-on: http://gerrit.openafs.org/1392 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf2e4dd23e751540666c0c7961e47d4b5d06667b Author: Simon Wilkinson Date: Wed May 19 18:11:58 2010 +0100 Linux: Use positional r/w, not llseek The Linux read/write file operations take a position. Use this position to determine where we're reading or writing in a file, rather than using the vfs_llseek() operator to set the file position argument. This avoids a potential race condition, as well as simplifying this code. Change-Id: I82b4a109f9871fa2ce5b308bc32923b1bf910920 Reviewed-on: http://gerrit.openafs.org/1993 Reviewed-by: Andrew Deason Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3d686e41948cce63c95b1f2f69011019dad42607 Author: Daria Phoebe Brashear Date: Wed May 19 10:57:31 2010 -0400 dafs: don't restart for new binaries using mrafs scanner time if binary restart times are enabled, dafs restarts every time due to a flawed comparison. fix it. Change-Id: I7eff4eb6406dc7eef12c75491191566a906a4adf Reviewed-on: http://gerrit.openafs.org/1992 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e57c3b7bf6723016308497bd9377eb2de9ab6c14 Author: Simon Wilkinson Date: Thu Apr 29 19:06:37 2010 +0100 Unix CM: Use macros for process name and id access This patch uses the new osi_procname() macro to obtain the process name for setpag() warnings on BSD and Darwin, and osi_curproc() to obtain the process identity, simplifying the code. Change-Id: I1f8a4d4bbcdb09eaeea3712b1fffd1aaa3cd2fa7 Reviewed-on: http://gerrit.openafs.org/1878 Reviewed-by: Derrick Brashear Reviewed-by: Matt Benjamin Tested-by: Derrick Brashear commit 4dab5984b7a221ef4e0b871411f58f6f33116547 Author: Daria Phoebe Brashear Date: Tue May 18 10:42:28 2010 -0400 mrafs logs don't clobber existing logs if a restart happens too quickly, we can wipe existing log files in mrafs log mode. cheat. assume we won't have too many sub-second starts. Change-Id: I86d652410d0f18609d305decff54f122e2b87f10 Reviewed-on: http://gerrit.openafs.org/1984 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 42a280f50daf6e4dc65873150c4738aacf2c3a86 Author: Ben Kaduk Date: Wed May 19 01:44:44 2010 -0400 Do not sleep in FBSD's getevent() Calling osi_AllocSmallSpace drops the glock, which allows a race condition that caused a rather fast deadlock on multiprocessor systems. Use afs_osi_Alloc_NoSleep instead. Change-Id: I9a328567a31fe0e4f77e7548fed31b7e4ff36f50 Reviewed-on: http://gerrit.openafs.org/1989 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c433f3d8eeb81d5c5091d104e53bf48a6d25e747 Author: matt@linuxbox.com Date: Mon May 17 21:28:56 2010 -0400 linux PageCheck may be PageFsMisc Define the PageCheck family of functions using PageFsMisc equivalents if those are found. I encountered a need for this on Centos 5.5 (2.6.18-8.el5xen), but it may be more general. Change-Id: I365a769614fd7514e0c0223bf1854cce09f759f7 Reviewed-on: http://gerrit.openafs.org/1982 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 41dd0be8e30dc4edf7e3c087736dc41d625cecc5 Author: Daria Phoebe Brashear Date: Tue May 18 13:06:44 2010 -0400 darwin afs.conf: growlagent example provide an example usage of the growl agent Change-Id: Ic680008784a85d877049dee429d8f77f5ce8f5f7 Reviewed-on: http://gerrit.openafs.org/1985 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0abe56aa47d4561ba57527d53a2b0db2ea613c2 Author: matt@linuxbox.com Date: Sun May 16 19:58:39 2010 -0400 linux include osi_compat.h in rx/LINUX/rx_knet.c Does include osi_compat.h in rx/LINUX/rx_knet.c Change-Id: I0d8c0a6931c7594c424edeb03000695a7cb50ba0 Reviewed-on: http://gerrit.openafs.org/1981 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5ea24a7c5534b4fda7904284d21d34b6e52a3f27 Author: Simon Wilkinson Date: Mon May 17 20:15:46 2010 +0100 Fileserver: Don't sync every 10 seconds The patch which moved our calls to fsync into the background, added a sync prior to each batch of fsync calls. This is an incredibly bad idea. POSIX says that sync "shall cause all information in memory that updates file systems to be scheduled for writing out to all file systems". On Linux this means that we in effect perform an fsync() on every open filehandle on the entire system, and in addition flush all superblocks and journals out to disk. This makes the following fsync() calls superfluous - sync() will have already written out all of the data. Add to this the fact that the fileserver is doing this every 10 seconds, and this becomes a major performance bottleneck, particularly if the machine uses a journalled fs - as any disk operations will end up blocking whilst the journal is written to disk. Change-Id: Id06cb99ae83af2e4a82e7b20fb14b8457dc16883 Reviewed-on: http://gerrit.openafs.org/1977 Reviewed-by: Andrew Deason Reviewed-by: Rainer Toebbicke Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 54bf41004b901ca090d63e239768588fa90bc806 Author: Jeffrey Altman Date: Mon May 17 16:01:03 2010 -0400 rx: work harder to notice and handle MorePackets request in particular, we did badly at handling kernel requests for more packets, but other cases did not properly keep packet stats either. attempt to globally better handle demand for more packets. Change-Id: I88837fed880f582444221ec53d280ca4070b607d Reviewed-on: http://gerrit.openafs.org/1978 Tested-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Hartmut Reuter Reviewed-by: Derrick Brashear commit af6b80f25726dbafc8bf3b2aaf15309e7f3d41fa Author: Simon Wilkinson Date: Mon May 17 08:40:49 2010 +0100 Autoconf: Use AC_CACHE_CHECK AC_CACHE_CHECK has been available since Autoconf 2.5 (released in 1995), and provides a simpler mecahnism for performing cached checks than AC_CACHE_VAL does. Modify all of our simple AC_CACHE_VAL calls to use AC_CACHE_CHECK. Change-Id: I490f5e6ae5a3fdc1ada88aba9cd22c89d415a376 Reviewed-on: http://gerrit.openafs.org/1974 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 249e3f9c21ffc280892fdd0e006e3e3a2a1e0300 Author: Daria Phoebe Brashear Date: Sat May 15 09:30:57 2010 -0400 afsprefs: clarify restart requirement don't make the red text make it seem like a restart is always needed Change-Id: I9c533ac4e25f623ad62183a42ff279c1d77fd5fe Reviewed-on: http://gerrit.openafs.org/1961 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 644162ae3de315adbf6d9e3cd4d647f87174cb42 Author: Rod Widdowson Date: Wed May 12 15:48:25 2010 +0100 Clean up logging from vldb_check. vldb_check used to say "%: Volume '' not found in hash " for two sorts of failures - If the volume really wasn't in a hash chain of that type at all - If volume's next pointer (for the hash type) pointed to a volume with a different hash. In both cases it would then print out some confusing (and spurious) information about the next element in the chain, prior to applying the same fix (of zeroing the next pointer). This change fixes the error message. Change-Id: I5eb6ae1a461628d401b997dde4bab53a0cc7571d Reviewed-on: http://gerrit.openafs.org/1955 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01d08c0ce879487226d78f423588b27b18d888f7 Author: Rod Widdowson Date: Sat May 15 16:25:26 2010 +0100 Stop overanxious htonl in vldb_check -fix vldb_check -fix is corrupting the server entries (Number, Partition, Flags). This is because it is doing a htonl on what is a char field. The read code already has a comment "make sure not to ntohl these, as they're chars, not ints". This change strips the corresponding htonl from writeheader (and puts in a similar comment). Change-Id: I5902be0f1e928521bfcb5ec66edd227c08ea2bdc Reviewed-on: http://gerrit.openafs.org/1964 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2736eb7b090bcec9756c55f312cc97a4521f8b02 Author: Simon Wilkinson Date: Sun Apr 25 20:36:06 2010 +0100 Demand Attach: Volumes and vnodes are different fssync-debug attempts to copy sizeof(Volume) bytes into an object defined as a Vnode, a sure fire way to make things go boom. gcc on Snow Leopard picks this up as a buffer overflow, and warns about it. Fix the problem by only copying sizeof(Vnode) bytes. Change-Id: Iadcda0b465f9a9f310dcbe4d3862ea479e052674 Reviewed-on: http://gerrit.openafs.org/1834 Reviewed-by: Tom Keiser Reviewed-by: Alistair Ferguson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6fd1db1a86e830b3758772a79f25c30080c4dd06 Author: Simon Wilkinson Date: Sun Apr 25 20:23:27 2010 +0100 Demand Attach: Simplify __VVGC_entry_cl_add The __VVGC_entry_cl_add was giving an uninitialised variable warning for empty_idx, because it was using a separate variable, empty_found as a sentinel for when empty_idx was holding a real value. Simplify all of this by removing the sentinel, and making empty_idx being -1 mean 'not found', and a real value imply found. Change-Id: I6c485993df1ff8dfd27824234c811af998ff94fa Reviewed-on: http://gerrit.openafs.org/1833 Reviewed-by: Tom Keiser Reviewed-by: Alistair Ferguson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 44da0b32ee192017a080e26037e4f4b18e90717c Author: Simon Wilkinson Date: Sun Apr 25 20:14:02 2010 +0100 Demand-Attach: Remove dangerous trailing else Change 9aa09f5e634db8a8b2dedf3a749f2a90ef206e2f introduced a dangerous trailing else into the VScheduleSalvage_r function: #ifdef A if (foo) { ... } else #endif #ifdef B if (bar) { ... } #endif something_else() In a situation where we have A && !B, then something_else() ends up only being run when foo is false. Given that something_else() is VOL_LOCK, this will not end well. In the real world, we hit this problen when we build the volume package with SALVSYNC_BUILD_CLIENT and !FSYNC_BUILD_CLIENT - in other words, whilst building the fileserver. Change-Id: I97e07a6e730df8ac480d295b4cf30b0695ace511 Reviewed-on: http://gerrit.openafs.org/1832 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cea3bf909ab4b0807ef9f7d93235b4daeb1290dc Author: Ben Kaduk Date: Mon May 17 00:22:32 2010 -0400 Enable PutVCache for FBSD80 and higher Matt's patches in a123bd8ccd brought in support for FBSD 7.0, but also disabled several calls to afs_PutVCache() for FBSD80 and higher. Matt says that that patch was focused on 7.0, so the 8.0-related bits may not be relevant. I have run with the PutVCache calls enabled, and if anything, my system seems more stable with them. Change-Id: I8d906848e977d4974e4dcdc151964bb2ac3116b6 Reviewed-on: http://gerrit.openafs.org/1969 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ed2f4f8d3d92761d38b1ebfba8187e5e02745be1 Author: Ben Kaduk Date: Sun May 16 00:43:35 2010 -0400 Kill FBSD4X with fire We haven't even pretended to work on the 4.X series for quite some time, and keeping this code around just makes things (slightly) harder to read. AFS_FBSD_ENV is now equivalent to AFS_FBSD50_ENV (though the latter should not be used). Leave the fbsd_4 sysnames in afs_sysnames.h for archival purposes. Change-Id: Ibebda92967ca26c3dd4bf0b2cc6a66ae3a94d0ff Reviewed-on: http://gerrit.openafs.org/1968 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 0b3e411bfcd1ffc719c41a3f62137f75b17a09ab Author: Simon Wilkinson Date: Sun May 16 23:14:11 2010 +0100 Autoconf: Use AC_CHECK_MEMBERS AC_CHECK_MEMBERS has been available since autoconf 2.50, which was released in 2001. Use this, rather than rolling our own mechanism to check for structure membership. Change-Id: Ic63bfdd6c448ce3cf2ed13d8f1f36d02e18bd223 Reviewed-on: http://gerrit.openafs.org/1973 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aa7273233d39be552897d2180426820a3755deed Author: Simon Wilkinson Date: Sun May 16 22:56:13 2010 +0100 Autoconf: Use a standard test for socklen_t Use the standard AC_CHECK_TYPES mechanism to check for the existence of socklen_t, and to typedef it as an int if it's not found, rather than growing our own. Change-Id: Ib5aeb600750558167f63833dd4a7480dbe312b8a Reviewed-on: http://gerrit.openafs.org/1972 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0f36d82e896b7f3783ef11ec4196e5009aee162a Author: Ben Kaduk Date: Sat May 15 17:11:15 2010 -0400 Do not try to increase the refcount of a NULL vnode osi_lookup is not guaranteed to give us a valid vnode, so check before calling VN_HOLD(). Change-Id: I3d2a4d441f6991c08beccb6b10a428f5746db146 Reviewed-on: http://gerrit.openafs.org/1967 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c0afd1419de3fb8cab44ac212d0a85a9998c7cba Author: Andrew Deason Date: Sat May 15 23:12:33 2010 -0500 Solaris: do not call VFS_RELE with GLOCK VFS_RELE can call afs_freevfs, which grabs GLOCK. Thus, don't call VFS_RELE with GLOCK held or we can try to recursively acquire GLOCK and panic. This is currently unlikely to occur (sans vfs refcount unbalances) without support for forced unmounts, since the last vfs ref will usually come from the caller of afs_unmount(). But it still may be possible. Change-Id: I152bd13abc2e90f258f98194833c50c3a2846904 Reviewed-on: http://gerrit.openafs.org/1966 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 7e32fbea90821d5321352cb86b18533fb34f0409 Author: Hartmut Reuter Date: Fri May 14 13:25:44 2010 +0200 Don't use afs_linux_storeProc with memory cache, it only works with disk cache. Change-Id: I54585c61c66af7160d0ddbcbc1251fa42fbf44d8 Reviewed-on: http://gerrit.openafs.org/1958 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9562721b89a2a7a7f32a165762d7fba8540006a9 Author: Andrew Deason Date: Wed May 12 13:59:06 2010 -0500 Solaris: stop NetIfPoller on shutdown The NetIfPoller code that is enabled on AFS_SUN510_ENV never gets shutdown properly. The current code looks as if it was intended for NetIfPoller to recognize the appropriate termState and just return, but we never wait for it, and so we can complete the shutdown sequence without NetIfPoller ever knowing that we are shutting down. This can cause the machine to panic, as we keep attempting to run NetIfPoller even after libafs has been unloaded. Since NetIfPoller is fired by default every 30 seconds, we probably do not want to wait for it to fire during shutdown. Instead, just destroy the necessary timeout and task queue, which will wait for NetIfPoller to complete if running, and will just prevent it from running in the future otherwise. Change-Id: I25f9536d2713baf524a2450400c428ac506525f1 Reviewed-on: http://gerrit.openafs.org/1957 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 7730769ccfebd2a268503b6e618609722cc3b4a5 Author: Jeffrey Altman Date: Wed May 12 11:27:17 2010 -0400 Windows: move afsconfig.h / param.h to afscred.h move the inclusion of afsconfig.h and param.h to afscred.h so that they are included everywhere and so that the conditional use of _USE_32BIT_TIME_T is applied consistently by afscred.h. LICENSE MIT Change-Id: Id8c595509ec381ff6df6186e4d1c809413782a59 Reviewed-on: http://gerrit.openafs.org/1956 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 135042cd8c1beee7c045ce3b0b86272bf85a5464 Author: Jeffrey Altman Date: Wed May 12 10:25:01 2010 -0400 Windows: netidmgr_plugin must include afsconfig.h In order to properly use afs headers afsconfig.h must be included first in afsfuncs.c. Update the makefile to specify the correct include paths. Since this results in the afs assert.h being used, we must include the lib file that includes the AssertionFailed function. LICENSE MIT Change-Id: I46f76410ea16eeffeb8406ef4e89120a3255366a Reviewed-on: http://gerrit.openafs.org/1954 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 54f66f3722a6ddc0c35f5ab509c317f7278c0373 Author: Jeffrey Altman Date: Wed May 12 10:24:03 2010 -0400 Fix missing semicolon in non-AFS_NAMEI_ENV builds vol/nuke.c Change-Id: Ibfd37180199aecf6f79fbc84e2f035678e826d17 Reviewed-on: http://gerrit.openafs.org/1953 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 96868e5cda94ba3a11a8cbf3df98e7032198b239 Author: Jeffrey Altman Date: Wed May 12 10:22:07 2010 -0400 Windows: fix consistency of afsconfig-windows.h Windows is a AFS_NAMEI_ENV platform Windows (as of WDK 6) defines socklen_t as signed int Change-Id: I0aa549309d19c745e4df50d510c19f3174b1f2eb Reviewed-on: http://gerrit.openafs.org/1952 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 0dd5159163e464e35ccc73eb79225ea9fc0cd872 Author: Daria Phoebe Brashear Date: Fri May 7 10:32:09 2010 -0400 inlinebulk analyze errors afs_Analyze was not being called on inlinebulk errors if the error potentially required a retry. do so. Change-Id: I60fc0a7553f9ce592c40c7aecb60346e138468f0 Reviewed-on: http://gerrit.openafs.org/1926 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 34b0fef60a555de11590631fce1e92454457fc72 Author: Jeffrey Altman Date: Sat May 8 21:38:05 2010 -0400 Rx: prevent rx_rpc_stats mutex from being a global bottleneck Prior to this patchset, the 'rx_rpc_stats' mutex was superior to both the 'peer->peer_lock' and the 'rx_peerHashTable_lock'. That meant that the 'rx_rpc_stats' was being held across many operations that walk the peer hash table. For example, rxi_ReapConnections, rx_disablePeerRPCStats, and rx_shutdown. Since every RPC issues a call to rx_IncrementTimeAndCount, the reap connections event would effectively bring all RPC processing to a halt. This patchset moves 'rx_rpc_stats' later in the hierarchy and restructures rxi_ReapConnections, rx_disablePeerRPCStats, and rx_shutdown so that not only doesn't the 'rx_rpc_stats' mutex need to be held across the entire function but the 'rx_peerHashTable_lock' does not need to be held while complex operations on the peer object are taking place. rxi_ReceiveDebugPacket is also fixed to hold the rx_peerHashTable_lock and peer_lock at appropriate times while completing its function. Change-Id: I1a11798f1bb2a8f03316c6c455954bd6b8d1459b Reviewed-on: http://gerrit.openafs.org/1928 Tested-by: Jeffrey Altman Reviewed-by: Dan Hyde Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit f793bc07e12b86561bc05eab9eb37dda55d792f5 Author: Jeffrey Altman Date: Wed May 12 00:58:30 2010 -0400 Windows: Add support for NetWkstaGetInfo levels 101 and 102 On Windows 7, NetWkstaGetInfo levels 101 and 102 are queried. Add support to the WKSSVC RPC Pipe service. LICENSE MIT Change-Id: Ia780ee69834c01c2d0c2965ae2c65f80d504a923 Reviewed-on: http://gerrit.openafs.org/1950 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 953a2049a9a451a1f4015a64f8c5153044beba13 Author: Jeffrey Altman Date: Mon May 10 09:07:50 2010 -0400 Windows: Prevent overflow during percent used calc in Explorer Shell Ext In the Volume Info and Partition Info dialog boxes, percent used was overflowing the variable due to using too small a variable and multiplying before dividing. FIXES 126846 Change-Id: I9a8a9275d22675cfb53c9e520758f2c4d6606954 Reviewed-on: http://gerrit.openafs.org/1939 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 63ed515374bb0f7fea9436a7346382d65c6efa6f Author: Jeffrey Altman Date: Sun May 9 10:50:07 2010 -0400 Windows: Freelance vs ACLs If the user attempts to list acls or set acls on the freelance root.afs volume, generate a meaningful error. Change-Id: I6e5b147bf0cdd98ec0224a723098f5bbcb37b1e1 Reviewed-on: http://gerrit.openafs.org/1931 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit ed0fa83863308653381896cccddb0fc931a02dde Author: Jeffrey Altman Date: Sun May 9 20:49:05 2010 -0400 Windows: use system CreateUuid instead of afs variant The afs_create_uuid function on Windows results in duplicate uuids being produced. Windows provides its own CreateUuid function. Use it when afs_create_uuid is called. Change-Id: Id7f14b13c003fb845d90b09c3ca40cf258a53dbc Reviewed-on: http://gerrit.openafs.org/1937 Tested-by: Jeffrey Altman Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman commit afaecee40f4ae07bdf6c1419e70bdecbd5aa9526 Author: Jeffrey Altman Date: Sun May 9 10:15:30 2010 -0400 Make afsio be useful on Windows and fix bugs On Windows, the stdin and stdout handles default to text mode which corrupts data piped through them. At the start of readFile and writeFile, the mode is now set to binary. The ProbeUuid callback is supposed to determine if this client is the same as the one being requested. Since we are advertising a new uuid in TellMeAboutYourself and WhoAmI, we should perform the uuid check and return a valid answer in order to avoid confusing the file server. Add support for TellMeAboutYourself. On Windows, return valid interface information. Always print verbose output to stderr. Display MB/sec to three decimal places. In readFile, always perform a AFSFetchStatus operation otherwise we have no idea what the file size is. On Windows, the path separator is backslash. Change-Id: I174eda991383301d01fe5d6431d459b6ea01a0be Reviewed-on: http://gerrit.openafs.org/1930 Tested-by: Jeffrey Altman Tested-by: Hartmut Reuter Reviewed-by: Jeffrey Altman commit 6d48026f86794ecf4dba70cc3f8f5ebd685c5255 Author: Jeffrey Altman Date: Thu May 6 17:12:48 2010 -0400 Windows: RXAFS_InlineBulkStat errors must be processed via cm_Analyze RXAFS_InlineBulkStatus does not return errors such as EACCES, VNOVOL, VNOVNODE, VOFFLINE, VBUSY, VIO, VMOVED, etc. as an RPC return code. Instead they are returned in the status info errorCode field for each file. Traditionally, the error associated with the first FID in the query list has been returned to the caller of cm_TryBulkStatRPC(). However, the error has never been processed through cm_Analyze() which means that the per-vnode processing for VNOVNODE and the volume global processing for VMOVED, VNOVOL, etc. has never been performed. As a result, failover to other .readonly volume instances cannot occur, volume moves will not be handled, and files that have been deleted are not detected. This patchset makes the following changes: 1. If an inline bulk operation has been performed and the inline errorCode is a volume global error, then that error replaces the RPC return code within the cm_Analyze() processing for the RPC. This will affect whether or not a retry operation is performed. 2. The variable 'inlinebulk' is reset to 0 at the top of the cm_Analyze() loop in case failover from an inlinebulk capable file to an inlinebulk incapable file server takes place. 3. The FID that is passed into cm_Analyze() is not a real fid. Instead it consists of the cell and volume but vnode = 0. This ensures that the error (if any) is not applied to the directory object. 4. If an inline bulk operation was performed, prior to performing the cm_MergeStatus() operation a vnode a check is made to determine if an error was returned for that vnode. If so, cm_Analyze() is called with no connection, a fake cm_req_t, the fid, and the error. This permits cm_Analyze() processing to be performed on the file. LICENSE MIT Change-Id: I91b10faae085b52ba753b3942215951e2122b937 Reviewed-on: http://gerrit.openafs.org/1918 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit dea064a5090dfdc0011dd4254f7d801b4b77cf9e Author: Michael Meffie Date: Tue May 11 15:54:53 2010 -0400 Linux: missing configure test Add the kmem_cache_create test for dtor to the configure to build again on older versions of linux. Fixes, osi_vfsops.c:264: error: too few arguments to function ‘kmem_cache_create’ Change-Id: I1c1aa63e8dbe2df6c9b889edaa66708d7db01847 Reviewed-on: http://gerrit.openafs.org/1948 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7237efdabc75049a70af4bb079dd7b2dd439dd17 Author: Simon Wilkinson Date: Thu May 6 22:22:50 2010 +0100 Remove intptr.m4 We now require an autoconf version of at least 2.60. This version supplies AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T, so we no longer need to have our own. Change-Id: I362324d1cfb39efb01c3f6f2d95eb7f4ed041998 Reviewed-on: http://gerrit.openafs.org/1919 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 88d13f1f58546460201aded9335acb411bc49d1a Author: Daria Phoebe Brashear Date: Tue May 11 11:40:09 2010 -0400 vnode alloc bitnumber returns bitnumber fix function return types to match a bitnumber (int) and comment the function appropriately Change-Id: I9542c02b1aa7aacdd0596675992bb1e8a1708572 Reviewed-on: http://gerrit.openafs.org/1941 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 134b599c3ad475685dd0a7251d192e38966fef4c Author: Andrew Deason Date: Wed May 5 13:51:23 2010 -0500 vlserver: prevent duplicate IPs via ChangeAddr Add a safety check in VL_ChangeAddr/ChangeIPAddr to check if we are adding a duplicate server IP in the database. Return VL_MULTIPADDR when we try to do that. Change-Id: Iaff2792b90f4152dac5a1ab4c1072ef56fef518b Reviewed-on: http://gerrit.openafs.org/1927 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f2ac483c2bdb018c4f225d2781f15b7926d5063b Author: Jeffrey Altman Date: Sun May 9 20:46:11 2010 -0400 Windows: define HAVE_SSIZE_T The windows param.*.h files define the ssize_t type. Therefore, we must define HAVE_SSIZE_T in order to avoid a collision with the ssize_t typedef in afs/stds.h. Change-Id: Ie34cb565f09acfffe985476d24dbca917b05c5db Reviewed-on: http://gerrit.openafs.org/1936 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 8aa46c5a66bfb18c4ef8452ad7d124af556a7813 Author: Simon Wilkinson Date: Sun May 9 19:40:58 2010 +0100 Add a list of files to import from Heimdal Add an initial list of files to import into OpenAFS from Heimdal. Currently this is just the list that are required to support our new configuration file parser. Change-Id: I785bacc603121f587378fcfbe93e585290c8ab7f Reviewed-on: http://gerrit.openafs.org/1933 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 43f4e3a51248683aeff77da94410a95baba3d83e Author: Simon Wilkinson Date: Sun May 9 19:37:52 2010 +0100 Add a tool to import external repositories This commit adds a tool to aid with the importing of external git repositories. import-external-git.pl allows a developer to easily update the src/external portion of the tree to the latest release of externally developed software. It's currently intended to support our use of Heimdal functions, but could be extended to support any project whose code we wish to use in the kernel, and which has a git repo. Change-Id: I6d91474c5de67e57fb73ff4d59c5afe9bb14c240 Reviewed-on: http://gerrit.openafs.org/1932 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 13ebb6412b4603be50de30789ba048bef485171b Author: Jeffrey Altman Date: Sat May 8 22:41:39 2010 -0400 Windows: fs.c requires size_t len not int len Missed one case of an 'int len' being passed into StringCbLength. Also, remove one instance of 'int len' that was not used at all. LICENSE MIT Change-Id: I457d4ae98adf9d4ca0c1b7dcb74470d9bbc85a54 Reviewed-on: http://gerrit.openafs.org/1929 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fd9ab5cb7c7346ad443072767a360d902578e87b Author: Russ Allbery Date: Thu May 6 12:30:23 2010 -0700 Include common param file for Linux alpha builds The sysname for Linux Alpha is alpha_linux_26 (or 24 or 22) with an extra underscore before the version, unlike all the other Linux sysnames. Allow for that case when deciding whether to include the common Linux param header. Change-Id: Icab3a9214d0bd020b846734cce27da6c1bdeab56 Reviewed-on: http://gerrit.openafs.org/1915 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b811e4f91e756643dc2c7da7179ba63e2e0f5803 Author: Ben Kaduk Date: Fri May 7 00:47:53 2010 -0400 Define osi_procname for FBSD The kernel linker doesn't like to load modules with unresolved (implicitly-defined) symbols (understandably). Make it happy. Change-Id: I23fdbb9c9e07a0c583580f5c5eee577a04fae278 Reviewed-on: http://gerrit.openafs.org/1925 Reviewed-by: Simon Wilkinson Reviewed-by: sanket Reviewed-by: Derrick Brashear Tested-by: Benjamin Kaduk commit 7ba5c7263d60230f54a3229d1ffd89a3c76b416d Author: Ben Kaduk Date: Thu May 6 23:31:26 2010 -0400 Actually fix build for FBSD80 after vcache refactoring One more s/tvc/avc/ Change-Id: Ie99310bb08da5bf7aaee022e9c0ca43d1a33c3db Reviewed-on: http://gerrit.openafs.org/1923 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit de68cdef9ef647bfa59aa6f330c5202afce1d100 Author: Ben Kaduk Date: Sun Apr 4 19:34:24 2010 -0400 Add entries for FBSD 8.1 and 9.0 Though neither have been released, yet, RELENG_8 and HEAD are starting to get changes that we need to conditionalize on. Change-Id: Ia3af3c38abe4d0d01e0cef974771b45a97d3d9aa Reviewed-on: http://gerrit.openafs.org/1691 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 07098dc6708472cf5624b368d63efbdef7d409b8 Author: Simon Wilkinson Date: Thu May 6 15:00:00 2010 +0100 Modernise use of AC_CHECK_TYPE Prior to autoconf 2.13, AC_CHECK_TYPE took two arguments, the type to check and the a default type to use if that type wasn't defined. This usage has been deprecated since 2.13, and the AC_CHECK_TYPE macro itself now behaves differently. Whilst there is a compatibility mode, the autoconf documentation discourages its use. We also have an occurence of a slightly more modern AC_CHECK_TYPE, where we explicitly #define a default value if one isn't provided. The autoconf manual also discourages this form, however, in favour of using AC_CHECK_TYPES, and placing suitable typedefs in an external header file. Modify our code so we do things in the recommended way. Change-Id: Ie28067f2c90e9a3aa25cfde45ef081da2d380ee1 Reviewed-on: http://gerrit.openafs.org/1914 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 972a4072827fb2ec680354d5adebc2c5cca06939 Author: Simon Wilkinson Date: Thu May 6 14:58:52 2010 +0100 Always include afsconfig.h in autogenerated files Modify rxgen and compile_et so that the files they output always contain afsconfig.h before afs/param.h. This avoids problems where afs/param.h, or headers included from it, rely on having the results of configure tests available. Change-Id: I0198500a17abd31ee1057d6780cbe5a5e1bc8c59 Reviewed-on: http://gerrit.openafs.org/1913 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dc9bef83b0fa416bd1bd5a1524aa4a697873b91a Author: Antoine Verheijen Date: Thu May 6 09:10:38 2010 -0600 OpenBSD: Use osi_obsd_Free() for all releases of OBSD Use osi_obsd_Free() in afs_osi_Free() for all releases of OpenBSD, not just releases from 4.4 onward. Otherwise, afs_osi_Free() will use AFS_KFREE, which does not exist, since OBSD/osi_machdep.h is not included, resulting in unresolved symbols when trying to load the kernel module. Change-Id: Ic9632c9df347cc17e122b6302ef14e63fa5b68b4 Reviewed-on: http://gerrit.openafs.org/1910 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8fe309e6b67297e7d59bc001af62e0847cabce78 Author: Antoine Verheijen Date: Thu May 6 09:09:19 2010 -0600 OpenBSD: Use FREE instead of KFREE In OpenBSD releases prior to 4.2, use the system (kernel-specific) FREE macro to release space in the kernel module, not KFREE. The latter does not exist and results in unresolved symbols when trying to load the kernel module. (This was undoubtedly a typo.) Change-Id: Id66704ab4d0928e2ce1234de16bb74fe22f4f9c7 Reviewed-on: http://gerrit.openafs.org/1909 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8e27248698766e3d97e18363c5c4729a4e02add7 Author: Simon Wilkinson Date: Thu May 6 14:55:59 2010 +0100 Always include afsconfig.h Our coding standards say that OpenAFS source files should always have #include #include at the start of the file. Including just param.h, or having these includes in a different order can produce unexpected effects, because param.h includes sysnames.h, which in turn includes stds.h, which may rely upon having the results of configure tests available. Fix the obvious places in the Unix build which get this wrong. Change-Id: I081f04dab30a6bbb49fe71d3ac2d7c11e231e2f5 Reviewed-on: http://gerrit.openafs.org/1912 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3e449fcceed35200fa76ed586b6ab8cf60a8ec0f Author: Marc Dionne Date: Wed May 5 18:15:05 2010 -0400 Fix typo: LockType -> lockType Fix simple typo that causes a build error. Change-Id: I85f2899850383746094b7e9bab81dea13c2caeab Reviewed-on: http://gerrit.openafs.org/1908 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8b6550a09026e299dbaa48356aca02d1d5b1803c Author: Daria Phoebe Brashear Date: Sun May 2 19:06:43 2010 -0400 fcntl write lock on readonly file error fix apparently we return EROFS where we should return EBADF. Fix the error the client gets; the RPC is unchanged (and indeed shouldn't be changed) Change-Id: I738f1ee36f39d03bf018c0f91c7de9c8ed8cc9a9 Reviewed-on: http://gerrit.openafs.org/1895 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5c192d15ac611cd44b0f3f65796a5b10b7246c56 Author: Daria Phoebe Brashear Date: Wed May 5 15:50:07 2010 -0400 afsdump scan kill warnings make prototypes for all initialize error table functions appear Change-Id: Icc72f5218a2f6e0444a325c7fc9a0c1c34843344 Reviewed-on: http://gerrit.openafs.org/1907 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 98d20e250d9043c11e4644e574b5a60e9534a4f4 Author: Daria Phoebe Brashear Date: Tue May 4 11:39:19 2010 -0400 freebsd vcache splitting fallout fix the vcache splitting to work again Change-Id: I8833fc6655dcb79329835664d38f5330645b45f8 Reviewed-on: http://gerrit.openafs.org/1904 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1e69ec9cfef0bc571d1b91432354f486d49480b5 Author: tharidufernando Date: Sat Apr 10 09:01:16 2010 +0530 Windows: Secure C String usage in src\WINNT\afsd\fs.c The use of strlen, strcat, strcpy, strncpy and sprintf in src\WINNT\afsd\fs.c does not effectively protect against buffer overruns and string truncation errors. This patchset replaces their use with StringCbLen, StringCbCat, StringCbCopy, StringCbCopyN, StringCbCopyEx and StringCbPrintf respectively from strsafe.h. The functions sscanf, fscanf and scanf do not check for the size of the parameters so it is prone to buffer overruns. These functions can be replaced by sscanf_s, fscanf_s, scanf_s when the Visual Studio compiler version is 1400 or greater. Also memcpy will be replaced by memcpy_s which will check for the size of the destination buffer. In all cases, failure conditions are handled. Patchset development was mentored by Asanka Herath and Jeffrey Altman. Change-Id: I01e9dfc616641c220b57d2871e3e140406df3653 Reviewed-on: http://gerrit.openafs.org/1736 Tested-by: Jeffrey Altman Reviewed-by: Tharidu Fernando Tested-by: Tharidu Fernando Reviewed-by: Jeffrey Altman commit fb50f2478c0402eb3062208e173ebe33d00ac9c4 Author: Jonathan A. Kollasch Date: Sat Apr 10 10:55:17 2010 -0500 NetBSD 5.0 support. Change-Id: I5b9c5b8204ef729d9719f195ddbaf83c5f9cb4b5 Reviewed-on: http://gerrit.openafs.org/1738 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7084e5ff7df7ed5ad15f60bae262fc844248ae28 Author: Andrew Deason Date: Mon May 3 14:57:28 2010 -0500 Solaris: shutdown in freevfs, not unmount Call the afs shutdown sequence (afs_shutdown()) in the VFS_FREEVFS handler, instead of in the VFS_UNMOUNT handler. This way we shutdown when the last reference to our vfs goes away, instead of when we are unmounted. That doesn't make much of a difference right now, but doing so will be required for supporting forced unmounts. Change-Id: I4158865b139d05e2955e4809b93628df27b83922 Reviewed-on: http://gerrit.openafs.org/1899 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fc8ab5cfd6592f9a9df24706a8f5dcc1e41f2b33 Author: Andrew Deason Date: Thu Apr 29 17:47:15 2010 -0500 Solaris: prevent AFS umount while busy Return EBUSY from unmount if someone still references stuff in AFS. This prevents kernel panics that can occur on shutdown if we umount while there is a file in AFS open. Normally a process can hold a file in AFS open, AFS is unmounted, and the file is closed, triggering our code which explodes if called after we're unmounted. This adds VFS_HOLD/VFS_RELE calls whenever we 'create' a vcache, or retire an old one, to keep track if anyone has an open reference to us. Change-Id: I95d8cf7e7e4d32a05bee97e06832a530b40af217 Reviewed-on: http://gerrit.openafs.org/1880 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 34b7fd4a4989fe5d0484e00ae9582d2f29d98d9c Author: Andrew Deason Date: Thu Apr 29 16:00:26 2010 -0500 Solaris: return ENOTSUP for force-unmounts We don't support forced unmounts yet, so indicate as such. Change-Id: I3a130a4a8d31eeffd012352f656c2b4e42b46f27 Reviewed-on: http://gerrit.openafs.org/1879 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9be76c0d312e9d4ba879d2f82a7c556bf8025da7 Author: Simon Wilkinson Date: Sat Nov 7 00:16:28 2009 +0000 Refactor afs_NewVCache afs_NewVCache was a twisty turny maze of #ifdefs and duplicated code. This makes a number of sweeping changes to simplify this code, and to move platform specific elements out into their own directories. *) ShakeLooseVCaches is refactored so that the same code can be used both for platforms that support dynamic vcaches, and those which don't. *) afs_NewVCache, ShakeLooseVCaches, and afs_AllocVCache are all modified to remove platform specific code, and to call platform specific functions. *) A new platform file 'osi_vcache.c' is created to hold a number of platform specific vcache operations: *) osi_TryEvictVCache handles the decision of whether a vcache can be evicted or not, and does so if required *) osi_NewVnode allocates a new vnode *) osi_PrePopulateVCache does the necessary population of the vcache, before it's threaded onto the VLRUQ and associated hash tables. *) osi_AttachVnode handles attaching an OS vnode to our vcache, where that is necessary *) osi_PostPopulateVCache handles the vcache population that must occur after we're on the VLRUQ and have a vnode attached. Change-Id: I368e5fb500d012b44141aa8f8cf0516e63e58f57 Reviewed-on: http://gerrit.openafs.org/1881 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5e09bcd936f60a9b3f6547299ab2baf98111bba6 Author: Michael Meffie Date: Mon May 3 15:51:40 2010 -0400 pts mem -expandgroups and -supergroups examples Examples of the pts mem -expandgroups and -supergroups options for the man page. Change-Id: Idea0509797212397eff87aa5975eaf5364c8414c Reviewed-on: http://gerrit.openafs.org/1896 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5e24220c3d500c971e876e6805e3e46b91bad2e6 Author: Antoine Verheijen Date: Mon May 3 15:04:20 2010 -0600 OpenBSD: Fix bug in setpag() when group list is empty In OpenBSD, the PAG uses the 2nd and 3rd group slots in the task's group list. If an application sets en empty group list (such as Samba does), any existing PAG is lost and any new one is NOT set because the existing code will set the new group count to 2 instead of 3, and it leaves the first group entry as garbage (whatever random value the memory contained), thereby totally messing up the task's group list. This patch fixes it so that it behaves as expected. Change-Id: Ia718d55cbaad8ed372fba926dbfcb5db52ea684a Reviewed-on: http://gerrit.openafs.org/1898 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0ec2239b730bc9b1f8f819ef398d24bb7f1dff4e Author: Antoine Verheijen Date: Mon May 3 14:32:13 2010 -0600 Fix pattern to detect i386-based OpenBSD system type When the pattern to detect OpenBSD system types (via MKAFS_OSTYPE) was split into two separate ones for amd64 and i386 architectures, the pattern for i386-based systems was not set quite right. As a result, i386-based OpenBSD systems are no longer detected properly at this stage, resulting in an error of "cannot find input file: src/libafs/MakefileProto..in" during configure. This patch corrects the pattern. Change-Id: I67079af74117fa3cdc765f19944e23223709ae6b Reviewed-on: http://gerrit.openafs.org/1897 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 98d9d6cf83904d1422a96bb0646f560646d62114 Author: Asanka Herath Date: Tue Apr 20 15:06:41 2010 -0400 Windows: Show configuration pages for all types of MSI installations The OpenAFS MSI installer wizard used to not show any configuration pages for "Typical" and "Complete" installations. Setting the workstation cell and logon options during installation required selecting the "Custom" option. Many users choose the "Typical" option during installation, and thus would never see the configuration pages. Therefore, for these users, the workstation cell was being set to the default. This patch makes the workstation cell and logon option configuration pages visible to all types of installations (except silent installations which show no UI). Change-Id: Ie3bc040607a8d6b636c884bfcb919d0fc69b0e06 Reviewed-on: http://gerrit.openafs.org/1797 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 49c4200a9e313d775a90cc3b6c3b79b18e8e0367 Author: Tom Keiser Date: Thu Mar 11 10:38:31 2010 -0600 Provide a queue_NodeInit() interface Provide a queue_NodeInit() interface for the rx queue package. Change-Id: I85f6caf3605b9a88113ff4d904012ed2aa12a679 Reviewed-on: http://gerrit.openafs.org/1860 Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cec1b09ff77f8009ceac73cf744584427df81397 Author: Jeffrey Altman Date: Sun May 2 15:30:27 2010 -0400 Windows: Restructure cm_LookupInternal addition of Freelance entries cm_LookupInternal creates Freelance mount points and symlinks when queries cannot be found in the Freelance root.afs directory. If the search name is a full cell name for which vldb information can be obtained, then a mount point is added. If the search name is a left-most substring or the full cell name with a dot appended to it, then a symlink was created. This approach created a very poluted Freelance name space. This patchset makes the following changes: 1. Do not create symlinks with a dot appended to the cellname 2. Do not create symlinks where the left-most substring is not a full dot separated component of the cellname. 3. Permit lookups to succeed when we would have created a symlink in the past without creating the symlink. LICENSE MIT Change-Id: I4573a2f13d4843878c3f5efc546df29a5023accc Reviewed-on: http://gerrit.openafs.org/1894 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 71f91cd93cb6e8c7430ddab7e5b9e0220070730e Author: Jeffrey Altman Date: Sun May 2 15:26:39 2010 -0400 Windows: Permit BPlus tree lookups within cm_ApplyDir BPlus tree lookups are much faster than searching through the native directory format on Windows because the case sensitive hash tables cannot be used successfully. Permit BPlus trees to be used except when called with cm_BPlusDirFoo as the action function because cm_BPlusDirFoo is used to build the BPlus trees from the native directory format. LICENSE MIT Change-Id: I3f6f5ba7113e206c76fafd1ec83822adc7f42f9e Reviewed-on: http://gerrit.openafs.org/1893 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ebbd415f28dded52d92ed13f66d058707ef3d36f Author: Jeffrey Altman Date: Sun May 2 15:05:40 2010 -0400 Windows: Prevent cm_FreelanceAddSymlink from creating a symlink ending in a dot Symlinks are ending up in the Freelance root.afs directory that end with a dot. Make sure it cannot happen. LICENSE MIT Change-Id: I8a19c0cf6c2a68c22839e15641206f7e9db8b15b Reviewed-on: http://gerrit.openafs.org/1892 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ec35612ce9072119eab2bb3fc6f76420ed8e9077 Author: Jeffrey Altman Date: Sun May 2 15:03:52 2010 -0400 Windows: normalize error codes from cm_FreelanceAddSymlink Return all error codes from the end of the function. LICENSE MIT Change-Id: I7703c90884820ed7eb1f43183d80c7df038cfb8b Reviewed-on: http://gerrit.openafs.org/1891 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit da2db6234221494956eca71ed3693c0a2bbf4a67 Author: Jeffrey Altman Date: Sun May 2 14:48:00 2010 -0400 Windows: Force rebuilding Freelance directory in AddMount and AddSymlink cm_FreelanceAddMount and cm_FreelanceAddSymlink is supposed to return the allocated FID of the entry that was added. However, cm_NameI is called to perform the lookup without forcing an update of the Freelance fake directory. As a result the entry may not be found. Force an update prior to calling cm_NameI() by using cm_clearLocalMountPointChange() and cm_reInitLocalMountPoints() if required. LICENSE MIT Change-Id: I08147b2ec61c810fdc718964362315af67d485b8 Reviewed-on: http://gerrit.openafs.org/1890 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit f8efae8c7072593ae519539790838055783affff Author: Jeffrey Altman Date: Sun May 2 14:17:43 2010 -0400 Windows: normalize return codes from cm_FreelanceAddMount Instead of returning an undefined CM error code, -1, which might end up being confused with an Rx error, return legal CM_ERROR_xxx values. LICENSE MIT Change-Id: Ie78e4e9cf00fa938806c8b355f54169a5691ff04 Reviewed-on: http://gerrit.openafs.org/1889 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 1ff924e7229451e4f789bb83a301d23d75761eaf Author: Jeffrey Altman Date: Sun May 2 14:03:23 2010 -0400 Windows: use cm_noteLocalMountPointChange whenever fakeDirVersion is changed cm_noteLocalMountPointChange() is meant to be used when fakeDirVersion is changed. It previously wasn't used because cm_noteLocalMountPointChange() would obtain the cm_Freelance_Lock. Now that cm_noteLocalMountPointChange() can be called while holding the lock, use it everywhere. LICENSE MIT Change-Id: I737f4572773a93a656ca0f58e07a55d250c368a1 Reviewed-on: http://gerrit.openafs.org/1888 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 3a48bf73d3087bf6d40f119b491d718e6b7e8284 Author: Jeffrey Altman Date: Sun May 2 13:56:24 2010 -0400 Windows: add locked parameter to cm_noteLocalMountPointChange If cm_Freelance_Lock is held set the 'locked' parameter to TRUE. This avoids a requirement to drop the lock only to have it be obtained when cm_noteLocalMountPointChange. LICENSE MIT Change-Id: Ic1e8a008639b33769a088c3b24ef7a7e7b09fb12 Reviewed-on: http://gerrit.openafs.org/1887 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit f2b98e27f8dd03ba45a3d88053458aa7bcd932bd Author: Jeffrey Altman Date: Sun May 2 13:21:12 2010 -0400 Windows: remove unused code from cm_FollowMountPoint The variable 'tlen' is set to the length of the mount point target string but is never used. Remove it. LICENSE MIT Change-Id: I1e53831eff90962c93720831a210faa019e38d67 Reviewed-on: http://gerrit.openafs.org/1886 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 4810026677d9527c8005184b2dd4bca610496657 Author: Jeffrey Altman Date: Sun May 2 13:11:14 2010 -0400 Windows: initialize to zero Freelance fake root directory The Freelance fake root directory buffers were not zero-filled. This results in random behavior that can cause the service to terminate unexpectedly. LICENSE MIT Change-Id: If4e42f74bf07a7296319f3a73f8c7628de4e1fd8 Reviewed-on: http://gerrit.openafs.org/1885 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 612bb07ae118f71f5ce6330c87425e175b2a8564 Author: Jeffrey Altman Date: Sun May 2 13:04:42 2010 -0400 Windows: make cm_BPlusDirFoo public Make cm_BPlusDirFoo so that the function pointer can be referenced from cm_ApplyDir. LICENSE MIT Change-Id: Ic58ce47dbcd9d6348666b1767941d861cd860df5 Reviewed-on: http://gerrit.openafs.org/1884 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 1b4b0b7576475daf540be15ef759e9a999671a1b Author: Jeffrey Altman Date: Sun May 2 09:21:48 2010 -0400 Windows: correct "fs quota" pioctl validation check The validation check for the response from the GetVolumeStatus pioctl is incorrect. The response is not simply a VolumeStatus structure but also several C strings appended to it. LICENSE MIT Change-Id: Ieb0c0cd166f85e073431890f51f735958776eb74 Reviewed-on: http://gerrit.openafs.org/1883 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 715670cbe968ee499a29f9477626962dd74c01dd Author: Jeffrey Altman Date: Sun May 2 09:16:29 2010 -0400 Windows: getAFSServer wrong variable used in uncompiled code In the uncompiled implementation of getAFSServer, the unmodified 'cellname' is used in the send_DNS_AFSDB_Query call instead of the properly constructed 'query' variable. LICENSE MIT Change-Id: I9de506a2986872ab88aeea158aa43133efc75d50 Reviewed-on: http://gerrit.openafs.org/1882 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 4f7bf8fb432ead9d0252e462cb627ab457c5b849 Author: Jeffrey Altman Date: Wed Apr 28 12:33:03 2010 -0400 Windows: FlushFile ioctl should call cm_FSync, not buf_CleanVnode When flushing a file, we need to commit the file length changes as well as the dirty buffers. Call cm_FSync instead of buf_CleanVnode which is called by cm_FSync. LICENSE MIT Change-Id: Id21e49e0559d20fce3e1d65cb73496a8b6cb1fa1 Reviewed-on: http://gerrit.openafs.org/1875 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1844719127f9e1202f6e1823a64f12286d9a2e1c Author: Jeffrey Altman Date: Wed Apr 28 12:21:00 2010 -0400 Windows: add 'locked' flag to cm_FSync and call when dropping write locks cm_FSync should be called when releasing file server write locks. This ensures that all dirty buffers are stored before the lock can be acquired by another client. Since cm_Unlock holds the cm_scache_t->rw exclusively when calling cm_FSync, add a 'locked' parameter to cm_FSync to avoid an unnecessary release and reacquire of the rwlock. LICENSE MIT Change-Id: I70bbeffc24ec4238461281bab4006b3a57b275e2 Reviewed-on: http://gerrit.openafs.org/1876 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Asanka Herath Reviewed-by: Asanka Herath Reviewed-by: Jeffrey Altman commit a1cbbccce3cb615b43535721f8990f6019aa27ec Author: Marc Dionne Date: Wed Apr 28 19:07:32 2010 -0400 Warning fix: cpp hates apostrophes The compiler complains when the text in a #warning contains a single apostrophe: error: missing terminating ' character Change the text to avoid it. Change-Id: Ibf1f4d2cb922b313545ed228a2a8d4eb6b134178 Reviewed-on: http://gerrit.openafs.org/1877 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 94c15f62d3e82c4a4cf2ac7c4e247b4c5658eb2b Author: Matt Benjmain Date: Wed Apr 28 06:19:16 2010 -0400 netbsd: rebase cm at NetBSD 4.0 Rebases the NetBSD client port at OpenBSD, which was originally based on an original NetBSD client port by John Kohl. The platforms remain closely connected. At latest milestone, the port builds as a NetBSD LKM, which was loadable and can mount /afs (but much work remains past this point). Change-Id: I1381a60078794da03a82e7bf6e78127da82d61ee Change-Id: I8e07e82796f6981c99d22ff50dd5b284aad88a9f Reviewed-on: http://gerrit.openafs.org/1874 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7f399f2caca1b614687b55393c8b8d7330fb4220 Author: Daria Phoebe Brashear Date: Wed Apr 28 02:02:05 2010 -0400 upstream dumpscan changes pull in code changes from upstream for dumpscan Change-Id: Ib1bcba7a420d19c1bf27b2a5405aaee786e6cbd6 Reviewed-on: http://gerrit.openafs.org/1873 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d02f9a0b0b95ac6ada6be0b2b9a1e164f75a425d Author: Simon Wilkinson Date: Wed Apr 28 01:13:30 2010 +0100 Linux: Register number sysctls only when desperate The AFS sysctl interface was trying to register numeric system calls whenever the kernel would let it. This is anti-social, as we've never had sysctl numbers allocated to us. In kernels newer than 2.6.24, this misbehaviour is detected and punished. In recent kernels, the binary interface has gone away entirely. Since 2.6.19, the kernel has supported allocated unnumbered system calls. These are only available via /proc/sys (and not the using the legacy, binary, API), but they're really the only interface available to us. Change the sysctl registration code to use unnumbered calls whenever they are available. Unnumbered calls aren't available in 2.4.x, so completely remove that code there. Change-Id: I882117ca2250894f479292026fed84ff0b5e7972 Reviewed-on: http://gerrit.openafs.org/1871 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1c6d709cba64cda7bce0f5f91ab30a1e7bb8983 Author: Marc Dionne Date: Tue Apr 27 20:00:23 2010 -0400 Linux: specify void argument for afs_try_to_freeze inlines The new freeze inlines take no arguments, but need to be declared as taking (void) to prevent warnings that it is not a proper prototype. Change-Id: Ife675e69f566fabaee4bc41f2cc4fa9a20e816db Reviewed-on: http://gerrit.openafs.org/1870 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 009b547195eed40f7fa2fede24068c90e30c33e5 Author: Marc Dionne Date: Tue Apr 27 18:36:46 2010 -0400 Linux autoconf: fix name for struct cred test The new macro scheme changes the name of the tested define. Update the code to match. Change-Id: I0e9f04692d8fbb6e9452a9b169c191ce7148349b Reviewed-on: http://gerrit.openafs.org/1868 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d88b0b9a7b673cb828af6b68e5a9c48052b96a48 Author: Marc Dionne Date: Tue Apr 27 18:25:15 2010 -0400 Linux autoconf typo The test for the new export ops has a typo which makes the test fail where it should succeed: eops -> _eops Change-Id: I97dd0707b911c51f6394ada426a98e06a83ad35e Reviewed-on: http://gerrit.openafs.org/1867 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6c53cd7ad3980bd38b4d522a55d439e99608eb11 Author: Tom Keiser Date: Thu Mar 25 12:08:51 2010 -0500 Add some directory package doxygen comments Change-Id: I75c358f08c71b2de722de03bb65fb8696657d57f Reviewed-on: http://gerrit.openafs.org/1861 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b7a94ae11de37e22655073f55fe829427c38c832 Author: Simon Wilkinson Date: Tue Apr 27 22:16:24 2010 +0100 Linux: autoconf fallout grap != grab - fix spelling of grab_cache_page_write_begin Change-Id: I4032bff80b6d1d7568af8f9de59a56c0bd6a661a Reviewed-on: http://gerrit.openafs.org/1859 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c598e34fc36a5c5eb82b2b81f4caba66068d59b7 Author: Matt Benjmain Date: Tue Apr 27 12:06:48 2010 -0400 netbsd: remove old (non-original) NBSD port Prepare for rebase of NBSD port at the current OBSD port, which is descended directly from the original NBSD port and more closely resembles it. Change-Id: I9ff67ebea04534ac5ddc11c0aa1d65028067806a Reviewed-on: http://gerrit.openafs.org/1858 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 14195f0f48d52dd3a81c52c4a3bc2078857d0f86 Author: Marc Dionne Date: Sat Apr 24 22:12:27 2010 -0400 Linux: Remove unnecessary crhold on incomplete kernel credentials When credentials debugging is active in the kernel, sanity checks in various credentials functions such as get_cred or put_cred require that they are called with full fledged kernel credentials. This can be a problem with recent kernels in osi_Init where we build our own credentials and try to "crhold" them. Getting a reference doesn't make much sense anyway since we're using a statically allocated structure that we never try to free or modify. As a minimal fix, just don't call crhold when we're using the kernel credentials structure. Change-Id: If4f843ad33526c6a42f1cf67c57763593ffa50ac Reviewed-on: http://gerrit.openafs.org/1828 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 014821d281cac7815ac7908a853191b17bf2a868 Author: Daria Phoebe Brashear Date: Mon Apr 26 17:43:16 2010 -0400 flush changes on LOCK_EX unlock right now, flock with LOCK_EX, on unlock, triggers an async store. make it sync, but also, make sure to ask to have any in-memory data sent to us (e.g. VM_StoreAllSegments); unlike Solaris VMSYNC_INVAL, we don't want to invalidate the pages, just get copies written back. LOCK_SH did not, does not and AFAICT should not trigger writes. Change-Id: Id4a72f73b685b5566bb31f6f610f22d806899280 Reviewed-on: http://gerrit.openafs.org/1846 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fa70575af3dd5b8e1467dd516413b6d153a9963a Author: Daria Phoebe Brashear Date: Mon Apr 26 16:41:29 2010 -0400 allow file length to be updated unless we're writing right now, merely having the file open O_RDWR, or mapped, precludes a length update from being reflected. Change-Id: I7f732b053c392aa6cc1c8ad6de8e0f4bd6468728 Reviewed-on: http://gerrit.openafs.org/1841 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0c7cb6051fdc930d03df53b294fcbe5eaa6bbaff Author: Simon Wilkinson Date: Tue Apr 27 19:31:55 2010 +0100 Linux: Reorder the tests As a final change to the Linux autoconf stuff, reorder the list of tests so that it's more easy to see what's being checked for, and to prevent multiple copies of the same thing being added. Change-Id: I84ca132e178b45ac25ebd48e71193bdd84965770 Reviewed-on: http://gerrit.openafs.org/1857 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2ce28370cf2d3a16d84664463731b1148447edb0 Author: Simon Wilkinson Date: Tue Apr 27 18:57:30 2010 +0100 Linux: Don't preprocess osi_vfs.h Before we did inodes properly, we needed to pre-process osi_vfs.h, in order to merge our inode structure with the Linux one. Ever since we moved to native inodes, that preprocessing has been disabled, and we've just copied osi_vfs.hin to osf_vfs.h Skip this pointless step, permanently rename osi_vfs.hin to osi_vfs.h, and remove the unused support scripts. Change-Id: I5e21eccf2242080cd8b994bd1654260bfb531420 Reviewed-on: http://gerrit.openafs.org/1856 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a8cc8dbbe53a4764dcd355cf1080f497cb8f5d2e Author: Simon Wilkinson Date: Tue Apr 27 17:49:19 2010 +0100 Linux: Don't waste autoconf checks on cpp defines If something is a #define, then there's no point in doing a test compile to check for its presence. Instead, just do #if defined(X) Remove the tests for for_each_process and prev_task. Change-Id: Id8a9fddf2571cccd5d61982d4662bce2009c8f43 Reviewed-on: http://gerrit.openafs.org/1855 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a89d6b029d059d01b8bbfc18b9ee6e3f5a964b85 Author: Simon Wilkinson Date: Tue Apr 27 17:41:22 2010 +0100 Linux: Add general autoconf macro for Linux kernel Add AC_CHECK_LINUX_BUILD() to do a standardised Linux build, which takes a "checking" message, the autoconf variable to use to cache the results, headers and code to run, preprocessor variable to define, and a description of that variable. Reimplement all of our existing check macros in terms of this one, resolving many typos along the way. Change-Id: I41988c83fcdbfbf8152f6dd0e7c4bd16c7a04240 Reviewed-on: http://gerrit.openafs.org/1854 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 02f2c7cb3734d44dc90b77d631909373daefacd3 Author: Simon Wilkinson Date: Tue Apr 27 13:02:20 2010 +0100 Linux: Add autoconf macro for structure checks Add a new autoconf macro for doing structure element checks, and modify all simple structure checks to use it. This introduces a standard name form - STRUCT_structure_HAS_element, so there are some changes in the code to make use of this standard form. Change-Id: Ife967322503ae6f428e76845000de04f26929e65 Reviewed-on: http://gerrit.openafs.org/1853 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6fc3ac36701cd64736b784e99184c504fa4226f4 Author: Simon Wilkinson Date: Mon Apr 26 23:54:05 2010 +0100 Linux: Macroise kernel function autoconf tests We spend a lot of time in autoconf checking to see if kernel functions are available. Rather than copying and pasting the same code everytime we do so, create a macro to do function tests, and use that macro. This results in standardised naming, so change all of the places that use autoconf results to use the same standardised names. Change-Id: I36212e6c28c4b8455f859da1bbf3e456a2aabc07 Reviewed-on: http://gerrit.openafs.org/1849 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eef18466d920985c37ed8d22a6557b609c6225a6 Author: Simon Wilkinson Date: Mon Apr 26 22:13:39 2010 +0100 Linux: Tidy up freezer code Linux now provides try_to_freeze(), which can be used to replace all of our refrigerator code. This has been in the tree for a long time, and actually predates many of the changes we've been modifying our code to work with. So, use try_to_freeze wherever we can, and keep a simpler compatibility function for kernels which are too old to have it. Change-Id: Iec50f83382f46d2b17b43da815a75755ea916bc6 Reviewed-on: http://gerrit.openafs.org/1845 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ef8bd5a29b937a1211540aa60398ee966470a712 Author: Simon Wilkinson Date: Mon Apr 26 21:34:17 2010 +0100 Linux: Simplify header file checks Provide an autoconf macro to perform tests for the existence of Linux kernel header files. Use this to standardise the naming of header file presence #defines, and to simplify the linux tests. Change-Id: I49629679db56c5f9a39487bd78fc2e59d5da0269 Reviewed-on: http://gerrit.openafs.org/1844 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a0259edcac06554688145302468e7696713744aa Author: Matt Benjamin Date: Tue Apr 27 13:03:36 2010 -0400 Rename afs_nbsd_* functions in OBSD The OBSD cm port prefixes function names with afs_nbsd_, an artifact of its origin in the original NBSD cm port. Make the prefix afs_obsd_. Change-Id: Id412fe0f752a147e2a9afda904db220ea6efd736 Reviewed-on: http://gerrit.openafs.org/1850 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f5036d6314d4161ab57f7f6bcc074e535289c1eb Author: Simon Wilkinson Date: Mon Apr 26 23:36:38 2010 +0100 Overzealous .gitignore under rxkad The .gitignore in rxkad ignores sboxes.h and fcrypt.h, since they used to get copied there from the domestic subdir. Now that they actually live under rxkad, they souldn't be ignored. (with thanks to Marc for the commit message) Change-Id: I1dd6766e75c15ca7f5604601bbe5b4e67f4fffa6 Reviewed-on: http://gerrit.openafs.org/1848 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c761f3ddde786e4ced1022ec5570d4cb2ce15169 Author: Marc Dionne Date: Mon Apr 26 18:15:16 2010 -0400 Overzealous clean target under rxkad The clean target under rxkad removes sboxes.h and fcrypt.h, since they used to get copied there from the domestic subdir. Now that they actually live under rxkad, they souldn't be removed. Change-Id: I867496dd0d3dd997d402ebfbfc6272447b1af98e Reviewed-on: http://gerrit.openafs.org/1847 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4768ed68d0831d208f4ebeead06e0b4e422f728e Author: Daria Phoebe Brashear Date: Mon Apr 26 15:55:57 2010 -0400 dcache dirty pages flag is solaris only note that IFDirtyPages is Solaris-only, so there's no confusion. may be worth visiting to see if and how the code should be minimized or adapted for elsewhere Change-Id: I7dfe4760eb4038d23a920c2e23f33d93e604bbca Reviewed-on: http://gerrit.openafs.org/1840 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 90c970d3b60bb28a21b2861b75469281b5c464a5 Author: Simon Wilkinson Date: Fri Apr 23 17:07:40 2010 +0100 Linux: Don't hide memory management Given that we now only switch from user space into kernel space in one place, don't hide the mechanism we use to do so behind macros. This makes it much easier to visually confirm the correctness of the code. Change-Id: Ie52e071c81a9178c792be1eaa7e36d8453ebb319 Reviewed-on: http://gerrit.openafs.org/1820 Reviewed-by: Simon Wilkinson Reviewed-by: Dan Hyde Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad306046291c5c67178251d349f1250fef895ae2 Author: Simon Wilkinson Date: Fri Apr 23 17:10:15 2010 +0100 Linux: The kernel module always runs in the kernel There's no situation where we'd be including osi_machdep.h and not be building for the kernel, so just remove the case that disables all of the locks if __KERNEL__ isn't defined. Change-Id: I1141c37cf0cd517191dee7ca2404e109d4053c29 Reviewed-on: http://gerrit.openafs.org/1821 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 51c1eb362da866e28a9fb9a6f5d9d412aac7e8c2 Author: Daria Phoebe Brashear Date: Mon Apr 26 00:21:30 2010 -0400 fix other oldtvix typo i failed to push this to commit 0dac8f93af5262472bc5bdf94dbb605a24da59d0, and so, well, here's the real fix. sorry. Change-Id: I6799ecb207f246ac3e4c48b1de55268d2fba4d23 Reviewed-on: http://gerrit.openafs.org/1837 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0dac8f93af5262472bc5bdf94dbb605a24da59d0 Author: Marc Dionne Date: Thu Apr 22 17:22:37 2010 -0400 Initialize oldvtix Initialize the variable to avoid compiler complaints that it could be used uninitialized. Use a sentinel value and issue a warning if we try to use the variable and we haven't set it to a useful value. Change-Id: I037be2ad8e0b55d06b50aafdeca5012764640f16 Reviewed-on: http://gerrit.openafs.org/1810 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1798fe6da1d40c083bc10fe101a73b5f67b6fa0d Author: Simon Wilkinson Date: Fri Apr 23 18:03:49 2010 +0100 Linux: Use kernel network helper functions Linux has various network helper functions available, which are guaranteed to do the right thing in terms of setting address space limits, not dereferencing NULL pointers, and the like. Use these, where they're available, rather than rolling our own. kernel_sendmsg and kernel_recvmsg appeared in 2.6.8. Change-Id: I1cd91afd2182ad936756bbc4cf692262499c16e4 Reviewed-on: http://gerrit.openafs.org/1822 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 06f8a6232b7ad56a82dc94384dc950411107f48a Author: Simon Wilkinson Date: Fri Apr 23 18:38:02 2010 +0100 Linux: Remove old code from RX kernel implementation The RX implementation was split into LINUX and LINUX24 along with the kernel, but the old 2.4 and 2.2 only code was never removed from the LINUX/ directory. Do so now. Change-Id: I80300a1390e297298f4af3c06086e25d0acf8c1a Reviewed-on: http://gerrit.openafs.org/1819 Reviewed-by: Derrick Brashear Reviewed-by: Marc Dionne Tested-by: Derrick Brashear commit d6d82659d0b68aad201916b6323591ff497486f8 Author: Simon Wilkinson Date: Fri Apr 23 16:54:39 2010 +0100 Linux: Don't pass f_pos down to the filesystem In 2.6.8, Linux shifted from passing f_pos directly to the read and write routines, and started passing a copy. This helps reduce, but does not remove, the race issues with f_pos itself. Make this change for us. Take the opportunity to remove the uneccessary macros, and tidy up some casting. Change-Id: I3b4cdf1e6e8127cbe0055829605268953c4397a6 Reviewed-on: http://gerrit.openafs.org/1818 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bd95ded9cfd95c4498896cbbadff6af3b752c43d Author: Simon Wilkinson Date: Fri Apr 23 15:59:46 2010 +0100 Linux: Removed unused define VFS_STATFS isn't used in the Linux 2.6 case, and is wrong anyway. Remove it in an attempt to clarify some particularly muddy water. Change-Id: I404429e3eeb87146bfdced5625b56857ba2ab9fd Reviewed-on: http://gerrit.openafs.org/1817 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 20d08fb0ec7190bac622e9ac8a17f97b7feef1cb Author: Simon Wilkinson Date: Fri Apr 23 15:07:58 2010 +0100 Linux: Don't roll our own llseek llseek is a little more complex than just setting the pos field of the file structure. Where vfs_llseek is available to us (it has been since 2.6.8) use that directly. If vfs_llseek isn't available, then use either the filesystem's llseek method, or default_llseek (available since 2.6.0), to ensure we get the proper locking. Change-Id: I26bcbff984c7164be1724eee7a46cbe6e02bc510 Reviewed-on: http://gerrit.openafs.org/1816 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5afa2965b2c4eab2a32dbd4ff036a835eb903e75 Author: Daria Phoebe Brashear Date: Sat Apr 24 17:05:47 2010 -0400 cachemgr store file too big error exit via usual path have just one path for exiting on errors so we do everything this means we will EndCall, instead of not, in the EFBIG case Change-Id: I2df025eee4bd5173ed4f80a73f9a9a347e7257d2 Reviewed-on: http://gerrit.openafs.org/1827 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fbbfb51e7d997a40bf7d57150f69bfb055831a07 Author: Simon Wilkinson Date: Sun Apr 25 22:07:04 2010 +0100 Move rxkad/domestic/* into rxkad/ directory proper Historically, the fcrypt code lived in its own directory, named 'domestic', so that ACLs could be used to prevent nasty foreigners from getting access to it. Now that those days are gone, having the domestic directory just complicates builds. Remove it, and reunite fcrypt with the rest of the tree. Change-Id: I2d1f66463121bbb391260b613913d76c27931429 Reviewed-on: http://gerrit.openafs.org/1836 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 37d2e8bfa8aa83ed592bd25cd3c7fd58f178de9a Author: Simon Wilkinson Date: Sun Apr 25 19:11:06 2010 +0100 Improve shared library building support This change removes the need to maintain two forms of symbol export lists, instead generating the simpler lists required by AIX and Mac OS X from the more complex Linux and Solaris mapfile. It can only handle simple mapfiles at present, any more complex files (for example, those which contain versioning information) will require changes to the translation script. The now unused .exp files are removed, and a dependency on the .map file added to the library build line. This change adds support for export lists to Darwin for the first time. Doing so identified a number of symbols in libafsrpc that are required by libafsauthent, which were not being exported. Export these symbols, and bump the minor revision of the shared library. Change-Id: Ibd1d02bb89b85500dc2a010e6cde1f4b81efe050 Reviewed-on: http://gerrit.openafs.org/1831 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0d7197f92517446be422150e32e0e07118a88271 Author: Simon Wilkinson Date: Sun Apr 25 11:31:36 2010 +0100 Linux: Remove prototype warning inhibition The Linux kernel builds used to add -Wno-strict-prototypes to the CFLAGS. Now that we've got prototypes for pretty much everything, remove this line so we can see any real warnings that might occur. Change-Id: I71b97bd3d19259f6ec6a55cfe095f5f4bf1ab78f Reviewed-on: http://gerrit.openafs.org/1830 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 36ea3e1ffe3fb7fc625cdb9cdca2d98ce8297a2b Author: Simon Wilkinson Date: Sun Apr 25 10:55:23 2010 +0100 Fix make clean and make distclean Fix these make targets so they actually clean the tree. Reorder the list of file deletions in distclean so that it exactly mirrors the creation order in configure.in, which should hopefully make it easier to keep this all in sync in future. Add all of the missing files in packaging, and the shared library build tools, to this list. Make kauth and vol clean remove ka-forwarder and fssync-debug, respectively. Change-Id: Iae13419f1cb21058882c0b0e0c283e3c947e33c9 Reviewed-on: http://gerrit.openafs.org/1829 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1a0912ffc2e4ec76a599e8d817c8e084799e464d Author: Simon Wilkinson Date: Sun Apr 25 21:52:20 2010 +0100 Really kill des_stub Some bits of des_stub were lingering on. Get rid of it completely. Change-Id: I853135621a757c78cdb50117500f056ade0e6ab5 Reviewed-on: http://gerrit.openafs.org/1835 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d77c69504bed925ab420c5bac84d7ef23aff4417 Author: Simon Wilkinson Date: Sat Apr 24 17:34:02 2010 +0100 Fix objdir builds Change f2db78a346112f5320efc6f0b6b9fe4ae0d893d3 included hard references to compilation sources with no srcdir prefix, and so broke objdir builds. Fix this so that we can build outside the source tree again. Change-Id: Iaae2d4a1047cc2ac0f5f4aae92cadc1f2a0d09e2 Reviewed-on: http://gerrit.openafs.org/1826 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf53b0882b7ef3d6e25500e968d007f464be5c04 Author: Daria Phoebe Brashear Date: Fri Apr 23 14:40:45 2010 -0400 macos growl agent warning parser fix warnings start at offset 5, not 6 (warn is shorter than fetch or store) Change-Id: Ibaa1239b0f9797da149cb05b3f871611b13833c8 Reviewed-on: http://gerrit.openafs.org/1825 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8b0164cd9ef7fd9db8acb0f53c1e4efb00d931af Author: Daria Phoebe Brashear Date: Fri Apr 23 11:56:08 2010 -0400 openafs 1.5.74.1 so it can be tagged and non-unversioned builds of the mac client changes can be seeded for testing Change-Id: Ibaa231d356bf667b13e271c9868c6ce0182bd2a6 Reviewed-on: http://gerrit.openafs.org/1814 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f5086e38922b88ec753d4ca632d89cc51913819e Author: Daria Phoebe Brashear Date: Fri Apr 23 11:02:32 2010 -0400 macos launchd be more patient right now we would wait 20 seconds for shutdown (the default), get impatient and be useless. be less useless. Change-Id: I8c6bc9b7546352cfa73d461b7cdddd2b5b5d7889 Reviewed-on: http://gerrit.openafs.org/1813 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d4e66ef219c88cdb17f2e860027cf6752ea21b17 Author: Simon Wilkinson Date: Thu Apr 22 22:24:11 2010 +0100 Unix: Modify disk cache versioning This change increments the disk cache version number, and adds a structure size record to the disk cache header. All old disk caches will be replaced when the client is started. With the various changes made to unify our file handles, and to support large file handles on Linux, the size of the 'fcache' structure was modified earlier in the 1.5 series. However, fcache is also the building block of the CacheItems file, so these changes inadvertently broke users upgrading from 1.4. In addition, as the disk cache inode is now a union of many different structures, the structure size is now potentially volatile across both kernel, and OpenAFS revisions. Up the version number so old disk caches are invalidated and won't crash users who are upgrading. Also take the opportunity to add an item to the header which stores the size of struct fcache used by the disk cache. If the size on disk doesn't match that expected by the kernel module, truncate the cache and start again. Change-Id: I2ee8863d0bfaaaba34272c9e139638e17669a53e Reviewed-on: http://gerrit.openafs.org/1811 Reviewed-by: Andrew Deason Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cfc9b34856c6649a44e9fe762f9b0c0f09d7c653 Author: Marc Dionne Date: Thu Apr 22 19:39:21 2010 -0400 Warning fix: cast to expected type Cast argument to match the expected type from the format string. Change-Id: Iddec912ff8a27f46d872fc3101677913adfb537a Reviewed-on: http://gerrit.openafs.org/1812 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 30f2dded7340a776f2d41a17cee944ef83665648 Author: Andrew Deason Date: Thu Apr 22 11:54:06 2010 -0500 Update nextVnodeUnique before checking inUse When attaching a volume, update the nextVnodeUnique field for the volume, before we do any checks on the volume; for example, checking inUse, which may result in a demand-salvage if we are running DAFS. If we do not do this, we can schedule a demand-salvage without setting nextVnodeUnique, and VUpdateVolume_r will update the volume header uniquifier to nextVnodeUnique+200, when nextVnodeUnique is not set. So, we will always set the uniquifier to 200. Fortunately, the salvage should usually fix the uniquifer anyway. So, set nextVnodeUnique before doing any of those checks, to avoid screwing up the uniquifier when taking the volume offline. Change-Id: Ib211bbf5e93efbebcb679259944e7abf211aa6e1 Reviewed-on: http://gerrit.openafs.org/1809 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 3a0e2a725306504302d5efd254a027d865860093 Author: Andrew Deason Date: Thu Apr 22 13:21:52 2010 -0500 Prefer EndCall errors in StoreMini Partially revert b1eb6a7a3f80500f0187cc6a1dd2013e1a5e154a, so we do not mask the rx_EndCall error with a EndRXAFS_StoreData error (for example, if EndRXAFS_StoreData returns RXGEN_CC_UNMARSHAL, and rx_EndCall returns VBUSY). We need to agree on how to do this throughout the tree, but for now, just fix StoreMini. Change-Id: I4913946089fd0857506d9186f85c5c8115a5b95d Reviewed-on: http://gerrit.openafs.org/1808 Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 77468e3a0820d32cc8a1b2b6c4601ba83803f727 Author: Simon Wilkinson Date: Thu Apr 22 18:02:08 2010 +0100 Linux: Tidy up packaging Remove the fuzz setting - we're no longer patching the build, so we don't need it. Change-Id: Ic56b4d9efed40aedb425d9852018907736ef957f Reviewed-on: http://gerrit.openafs.org/1807 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0d0e7699c9f789214205fe6837cded1a4c95f9c0 Author: Simon Wilkinson Date: Thu Apr 22 17:56:25 2010 +0100 Linux: RedHat packaging updates for RHEL6 Update our bundled spec file and related tools so they can be used to build OpenAFS on the RHEL6 beta. - Make kmodtool recognise el6 as having "modern" kernel naming conventions - Replace %{PACKAGE_VERSION} (which seems to have disappeared) with the standard %{version} macro Thanks to billings and phalenor on IRC for their testing efforts. Change-Id: I6538af56f365952b98c2dcbafb1c043435449e63 Reviewed-on: http://gerrit.openafs.org/1806 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 219276bab080640d0f024eba344073bdffaf6c1f Author: Andrew Deason Date: Thu Apr 22 09:59:30 2010 -0500 Resolve symlinks for 'fs rmmount' 'fs rmmount' is the only 'fs' command that does not resolve symlinks for its pioctls for some reason. Make it resolve symlinks. Thanks to Arne Wiebalck. Change-Id: Ifb6bdf0b381abd2e157d93d7eea4d853e1b3a689 Reviewed-on: http://gerrit.openafs.org/1805 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7d9e6dbbf1c81d31645957906c9b3b0caa803ca7 Author: Daria Phoebe Brashear Date: Wed Feb 17 00:48:03 2010 -0500 byte-range lock warning should include pid is is the same pid cmdebug would print. just include it in the logged byte-range lock warning. FIXES 126438 Change-Id: Idd83a4c4a56edf43ab257b3a7f08e1bbb774f04a Reviewed-on: http://gerrit.openafs.org/1333 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2a8c554a4553c32359cecf268fd12029c9d6d85d Author: sanket Date: Sat Apr 17 19:44:25 2010 +0530 Adding osi_procname macro to different platforms osi_procname(procname, size) is added to different platforms to obtain the processname in the string procname( preallocated ) with size size Change-Id: Iab8fed3e99839cee7c07a2de6144af9b09af3a57 Change-Id: Ib4e45564ae942e74c331444969a462427f5e7cf3 Reviewed-on: http://gerrit.openafs.org/1771 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3239cb830082ed995391bdda86d61daba9bed1a1 Author: Daria Phoebe Brashear Date: Wed Apr 21 18:45:33 2010 -0400 macos bulkstat again revamp this to avoid various issues with vnode references, and to avoid potentially finding CVInit vcaches but not reclaiming Change-Id: I6cb8d73b66c449a104799082259c97ede7e32e9b Reviewed-on: http://gerrit.openafs.org/1802 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 54226e9ad45003f4f54b1a7ba2b13003dcf1edb7 Author: Russ Allbery Date: Mon Apr 19 22:01:27 2010 -0700 Fix UCONTEXT detection on ppc_linux26 via include order param.linux26.h defines USE_UCONTEXT for all Linux platforms for glibc 2.4 and higher, but it does this by testing __GLIBC__ and __GLIBC_MINOR__. These are defined by features.h, which is included by any system header. At least one system header must be included before those are defined. lwp/process.c was including and before any other headers, leading to those macros being undefined. Most of the Linux architectures either have their own implementation or were explicitly defining USE_UCONTEXT in the per-architecture param file, but ppc_linux26 was relying on the default. Fix this by reordering the includes to include the various system headers before and add a comment explaining why. This previously worked in earlier versions because the old param.ppc_linux26.h file included , which included "stds.h", which included a system header prior to the check for ucontext. The new generic param file reverses that order. Change-Id: I214e54f684afdef07e6e2dec5b6e6e4d255ab4ec Reviewed-on: http://gerrit.openafs.org/1791 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 80f05473428969ff71d1791cda8cb09d30223724 Author: Andrew Deason Date: Wed Apr 21 12:41:21 2010 -0500 Recover from afs_GetVolSlot errors afs_GetVolSlot can panic in a few different ways, such as failing to read from or write to VolumeInfo. Instead of panic'ing, return an error to the application. Adjust callers to deal with getting a NULL volume returned. Based on a patch by Mike Meffie. Change-Id: Ibb301fed795ee9ee5906b8e7973945a06218b8f1 Reviewed-on: http://gerrit.openafs.org/1801 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6bde63c46502ef8a70f4e9ceefbff7404c6d0ef8 Author: Russ Allbery Date: Tue Apr 20 20:46:32 2010 -0700 Add RFC 5864 to the protocol documentation directory Add a copy of RFC 5864 (DNS SRV Resource Records for AFS) to the protocol documentation directory for reference. As permitted by the IETF Trust License Policy section 3(e), I release this document under the MIT/X Consortium license included in this copy of the document. LICENSE MIT Change-Id: I8e22aac07b4cedbe18b8375213a7866cf98a1386 Reviewed-on: http://gerrit.openafs.org/1799 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e8d6d9dfd7c49fc1017d0b7f370e0ba3f3baedb8 Author: Russ Allbery Date: Mon Apr 19 21:18:57 2010 -0700 Install afsd.fuse and man page if built If --enable-fuse-client is passed to configure and afsd.fuse is built, install it into the same directory as afsd and install afsd.fuse.8 as a symlink to the afsd.8 man page. Add documentation of afsd.fuse to the afsd man page. Change-Id: I7d0cd3992a8466e626af2191c713e5623cc40d84 Reviewed-on: http://gerrit.openafs.org/1792 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f3fc021808f73ae770ac1ee25e90df632201b217 Author: Anders Kaseorg Date: Wed Apr 21 04:09:03 2010 -0400 Add src/afsd/afsd.fuse and src/libuafs/afsd to .gitignore Change-Id: I4b7e5261d92944ed871a1113b0f4a651357f9fcf Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/1800 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7321493788411419cd4c2817b97cfcd8227b849c Author: Andrew Deason Date: Sun Apr 18 18:49:18 2010 -0500 Add documentation for fs callback xstats Change I572ff682de4cc7ef27bb46dd028d3d797b873841 added the fileserver callback xstats collection to afsmonitor. Provide some documentation for these fields, along with the other fields displayed by afsmonitor. Change-Id: I21618047519fbb28f6707ff9ba95a17fe27e0f3c Reviewed-on: http://gerrit.openafs.org/1783 Tested-by: Andrew Deason Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear commit 0428e5fd9523148b4c9ab59701a19ad521549662 Author: Daria Phoebe Brashear Date: Tue Apr 20 19:59:53 2010 -0400 kauth admin tools ubik prototyping kill off ubik_Call (but not CallIter, yet) Change-Id: I7af515b4e1c55c493c304a8ffd5c74cb96cd3b97 Reviewed-on: http://gerrit.openafs.org/1793 Tested-by: Derrick Brashear Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 1662aa04d70631fd77eaeef8899f0056ce6773f8 Author: Jonathan Billings Date: Tue Apr 20 15:53:21 2010 -0400 Updated dkms.conf to remove MPS=$SMP from make * Removed the logic to set $SMP based on CONFIG_SMP from /boot/config-$kernelver * When using --with-linux-kernel-packaging in the configure line, dkms no longer needs MPS=$SMP in the make line. Change-Id: Ib65782050cae9f439ad5fed5c7bbbc403e556b4f Reviewed-on: http://gerrit.openafs.org/1798 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9ab56bb0c8c95de188b1120221ca2ad1b6fdddb9 Author: Jonathan Billings Date: Tue Apr 20 12:13:11 2010 -0400 Added explanatory comments for restorevol move Since restorevol is placed in %{_prefix}/afs/bin by make dest, we need to fix it so it ends up in %{_bindir} to be used in the base package. Change-Id: I31f2602868230416525a84a9d716230f08cb34ab Reviewed-on: http://gerrit.openafs.org/1796 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 8cca2e64ef6005d2ee050fee5641b16ae43117a9 Author: Jonathan Billings Date: Tue Apr 20 12:00:21 2010 -0400 Fixed more locations to reflect recent changes Moved restorevol man page to base package Moved state_analyzer man page to server package Change-Id: I714dd6eca86def48fefc0206c93038ae71415cc9 Reviewed-on: http://gerrit.openafs.org/1795 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 8f952a3ebda3567630c94d60877c5c926df98d08 Author: Jonathan Billings Date: Tue Apr 20 11:50:59 2010 -0400 Fixed RedHat SPEC file to reflect updates in code Moved the restorevol binary from /usr/afs/bin to /usr/bin Added the new state_analyzer.8.gz man page Change-Id: Ibf4133034b1945d58843162cb45bdd485e8c34a1 Reviewed-on: http://gerrit.openafs.org/1794 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit d80382efc5b0e3c8d32688a94c7ff7c68882cb59 Author: Russ Allbery Date: Mon Apr 19 21:36:09 2010 -0700 Remove special-case call sequence for KAM_SetPassword on s390 For Linux s390 (but not s390x), an additional argument was passed to KAM_SetPassword between the kvno and the encryption key. This doesn't seem to match the rest of the code and is now, with stricter prototyping, preventing the code from compiling. Remove it and use the same call sequence on s390 as everywhere else. Change-Id: I750f64212e80d4bed4500e316ad7d354608866d7 Reviewed-on: http://gerrit.openafs.org/1790 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 63b6bb1ee7d52ba11c817fbfbbda5704d21669dc Author: Andrew Deason Date: Mon Apr 19 14:48:14 2010 -0500 Use AC_PREREQ We use AC_USE_SYSTEM_EXTENSIONS, which was introduced in autoconf 2.60. To allow for less confusion and perhaps a more clear error message, specify that we require using at least that version. Change-Id: I42a3f4e889ad443d8d8cd3ba0c085c67606b8be3 Reviewed-on: http://gerrit.openafs.org/1784 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit e6f6c3493e4c6d0ea620f34bd764925f9d004a2c Author: Russ Allbery Date: Mon Apr 19 14:00:31 2010 -0700 Fixes and clarifications to vos setaddrs man page Add a caution explaining how the file server addresses are registered and pointing users at NetInfo and NetRestrict plus restarting the file server for the normal case. Mention what version of OpenAFS introduced this command. Drop the note about the version of OpenAFS that added the -encrypt flag, since the whole command is newer than that. Reference vos listaddrs -printuuid specifically to get the UUID. General formatting and wording cleanup: use terminology more consistently, continue a long example line, wrap long lines, fix a spelling error, and add cross-references to NetInfo and NetRestrict. Change-Id: Idd6175339dc0feb1b777963bbb09731e42b83522 Reviewed-on: http://gerrit.openafs.org/1787 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1a29506a2c387b1046b2e9e8966af693567099a5 Author: Russ Allbery Date: Mon Apr 19 14:55:16 2010 -0700 Update Debian packaging for 1.5.74 Include the Debian changelog entry for 1.5.74-1 and install the new vos setaddrs man page. Change-Id: I4cc9e0590cb47d0ae885d7116f5bafd469f43cae Reviewed-on: http://gerrit.openafs.org/1788 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fe48d1777f88dc5ec8e56b2e68a2a491fe3edb45 Author: Daria Phoebe Brashear Date: Mon Apr 19 14:02:14 2010 -0400 macos disable bulkstat there's still a bug Change-Id: I23e02f9a05e001f0082b757c4a1dd78186fe6977 Reviewed-on: http://gerrit.openafs.org/1782 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5df92c083eb96b5b1496124715998ab9bfe9ef69 Author: Daria Phoebe Brashear Date: Sun Apr 18 13:45:51 2010 -0400 macos bulkstat don't double reget refs if another code path already got back the refs from finalizevnode, don't do it again Change-Id: I7e06ceeb2c7e71b1be94fd0fccb6e28c37457b24 Reviewed-on: http://gerrit.openafs.org/1776 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b64a0af473aea79dd7a198210e0283016433546e Author: Daria Phoebe Brashear Date: Sun Apr 18 13:35:09 2010 -0400 bulkstat restore bulkfetching state for reused vcaches when i introduced NewBulkVCache I elided this case. Set it here. Change-Id: Id88425b0ee662ecc23dd43cf7fa253ab61b02945 Reviewed-on: http://gerrit.openafs.org/1775 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6c49c21f9734d01ba6bf00f3a8e41460ff377868 Author: Jeffrey Altman Date: Sun Apr 18 18:34:18 2010 +0100 Windows: Preserve volume location info in case of comm fail The cache manager refreshes volume location information every two hours. If during a refresh the communication with the vldb server fails, the previously known volume location information should continue to be used. The previous behavior in which the volume location information is discarded first and then the update is performed can result in unnecessary client failures when a temporary disruption in communication with the vldb server occurs. Instead, wait until we have a successful response from the vldb server before the previous server list is discarded. LICENSE MIT Change-Id: I7c63c4f673a7a1360a74611c356329f31f9ceec3 Reviewed-on: http://gerrit.openafs.org/1769 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 91bef849e58ff45fbcac3107fbc7c19d2bc88b7e Author: Jeffrey Altman Date: Sun Apr 18 18:20:52 2010 +0100 Windows: correct locking in cm_FreeServerList The cm_serverLock must be held when checking the state of the list head. LICENSE MIT Change-Id: I1134a6617d4c1e38b95512b1fdc41c5f5857ea7a Reviewed-on: http://gerrit.openafs.org/1774 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 2beda68d4ad84e3e853a320bfb9d610b33f77902 Author: Jeffrey Altman Date: Sun Apr 18 12:38:27 2010 +0100 Windows: prevent infinite idle error response The idle error value (if any) is stored in the cm_req_t object. Since the value is never cleared, the same value can be returned for all requests that make use of the same cm_req_t object. Change the behavior to only return an idle error once and then clear it. LICENSE MIT Change-Id: Iac9ff8e56e856c2f0e440a34ac39ccd68de37c77 Reviewed-on: http://gerrit.openafs.org/1773 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 1239acfb44d13d92b38b8b0c95ec5c480a4e2253 Author: Jeffrey Altman Date: Sat Apr 17 15:21:32 2010 -0400 Windows: Increase the memory map version Since the cm_buf_t data structure changed, update the memory map version number so that the cache will not be reused. LICENSE MIT Change-Id: If01997ebd90c8f004d7cf4ba92f46fe4b9f570bf Reviewed-on: http://gerrit.openafs.org/1772 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 690b5c814e13bfc4652043474d2dcf48e4c8468d Author: Daria Phoebe Brashear Date: Sat Apr 17 10:14:50 2010 -0400 openafs 1.5.74 make 1.5.74 versions Change-Id: I320cdbab2961dcf2a17bb71e8d4283aaf38941ce Reviewed-on: http://gerrit.openafs.org/1768 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit a9018b3132c92400bc87d7f3cf88b547d20f3ece Author: Jeffrey Altman Date: Sat Apr 17 11:13:21 2010 -0400 Windows: 1.5.74 change log Important changes affecting the Windows distribution for 1.5.74 Change-Id: I980a66a2ab4a90c580249641fc22e3c7a91097dc Reviewed-on: http://gerrit.openafs.org/1770 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 3ad9c5583845986979a25d615a9640770a3bf9f6 Author: Jeffrey Altman Date: Fri Apr 16 22:42:34 2010 -0400 Rx: make conn_call_lock and conn_data_lock usage consistent The rx_connection.flags field is protected by the conn_data_lock but the conn_data_lock is not held everywhere the conn flags field is altered. This produces a race that can result in a deadlock when waiter flags are inadvertently prevented from being cleared. The conn_call_lock usage in rx_EndCall which was removed in Change e169708681eb1bbbb31951b95f68e861a4b01c7e must be restored. If rx_EndCall never obtains the conn_call_lock it can't ensure that the thread in rx_NewCall actively checking the calls will not end up blocking when there is now a call channel that can be reused. This usage of conn_call_lock can be removed only if a true producer/consumer model is implemented. Change-Id: Id093fd6c4a42afb833c775411be0cd406abf4ef7 Reviewed-on: http://gerrit.openafs.org/1766 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f6d2a279b9f4899f2ab072d949f0d4ff11a517f6 Author: Jeffrey Altman Date: Fri Apr 16 22:52:20 2010 -0400 Windows: cm_UpdateCell must hold cell lock across server random cm_UpdateCell fails to hold the cell lock across the server randomization. As a result the vlserver list can be destroyed while randomization is taking place. LICENSE MIT Change-Id: I7753e7e9f8a7d536ce0e2082aaca7b62ab745504 Reviewed-on: http://gerrit.openafs.org/1767 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 249f80fe747d03a84d42e78272dfe291084cacf8 Author: Jeffrey Altman Date: Thu Apr 15 21:43:44 2010 -0400 Windows: CM_SCACHESYNC_STOREDATA for non-files have no buffers Do not add QData objects with null cm_buf_t pointers to the cm_scache_t bufWritep queue when synchronizing directory changes. If a callback is required while the directory change is being pushed it can result in a deadlock. LICENSE MIT Change-Id: Id66c52ed794ceec44011167659e41a0b61898625 Reviewed-on: http://gerrit.openafs.org/1761 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 168f69db1995c0bce4daad2e4af1558282c2f80c Author: Jeffrey Altman Date: Fri Apr 16 00:31:58 2010 -0400 Windows: define new event log messages for cm_Analyze VBUSY, VRESTARTING, etc. Add MSG_SERVER_REPORTS_VBUSY, MSG_SERVER_REPORTS_VRESTARTING, MSG_ALL_SERVERS_BUSY, MSG_ALL_SERVERS_OFFLINE, and MSG_ALL_SERVERS_DOWN. Add event message throttling. Only permit one copy of a message to be generated every five seconds if the message will duplicate the prior message. This often occurs when a server or volume becomes inaccessible and there were a large number of requests queued on it. Integrate these new messages into cm_Analyze processing for VBUSY, VRESTARTING, ALLDOWN, ALLOFFLINE, and ALLBUSY errors. LICENSE MIT Change-Id: Ib30595ded23724810e294133fa75873e20ffbf0b Reviewed-on: http://gerrit.openafs.org/1762 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5a253b19117e4f42c0db91ca3a45843462c0266c Author: Jeffrey Altman Date: Fri Apr 16 00:09:25 2010 -0400 Windows: wait for I/O on buffers to complete in cm_SetupStoreBIOD cm_SetupStoreBIOD constructs a list of dirty buffers for a file that are to be written to the file server. When constructing the list, if when determining the first dirty buffer we come across a buffer that is already actively involved in an I/O operation, call buf_WaitIO() to wait until the buffer is no longer busy before continuing. This reduces lock contention and synchronization conflicts. LICENSE MIT Change-Id: Icd79b9578b7411b138f14257bcb885249960eab0 Reviewed-on: http://gerrit.openafs.org/1760 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 349f533351a8a13a7fa2a14edd9139714064c82d Author: Jeffrey Altman Date: Thu Apr 15 23:58:21 2010 -0400 Windows: split cm_buf_t.flags field to ensure proper locking It turns out that for all these years the locks protecting the cm_buf_t flags field have been racy. Some of the flags were protected by the cm_buf_t mutex and others by the buf_globalLock. This patchset splits the flags field so that the appropriate lock will be used exclusively to protect a common set of flags. LICENSE MIT Change-Id: I85c98c85244c987df30a811d405f7d897e407ba2 Reviewed-on: http://gerrit.openafs.org/1759 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f02d34315ed260e716c49ca9adeaa2635e334e60 Author: Marc Dionne Date: Fri Apr 16 19:34:35 2010 -0400 Remove unused variable in vos.c Remove an unused variable introduced by a recent commit. Change-Id: I04432d87a27b656807430f041f84d6ada2632434 Reviewed-on: http://gerrit.openafs.org/1765 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit a20326646dead6256637229b6456c380177a28ca Author: Daria Phoebe Brashear Date: Fri Apr 16 11:49:43 2010 -0400 work around finder setting modes on symlinks we could mask the mode setting on symlinks, however, it would be nice to change the fileserver to allow mode setting on symlinks in some (safe) cases. preserve our ability to do so. Change-Id: Iba69965c607530bcf2210b508c7aa37403c47477 Reviewed-on: http://gerrit.openafs.org/1764 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2a35e3a0286882eb91d4caddcb0054c413fb7db3 Author: Harald Barth Date: Fri Apr 16 01:45:35 2010 -0400 Add vos setaddrs command and man page The vos setaddrs command sets the IP addresses for a server entry in the Volume Location Database (VLDB). Specify one or serveral hosts. All existing hosts in the VLDB entry are replaced with the new entries on the command line. Change-Id: I3c26e49c4a6e2aebae363017d074329ac265132a Reviewed-on: http://gerrit.openafs.org/1744 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ef960553d7102ddab1ba6c85d51cba79b8fef7b5 Author: Jeffrey Altman Date: Fri Apr 16 09:32:42 2010 -0400 Convert param.rs_aix61.h EOF from CR-LF to LF The src/config/param.rs_aix61.h source file was stored in the repo with CR-LF end of line. This is causing problems for Windows Git which converts CR-LF to LF for storage in the repo. Change-Id: I8937322ac368ac275d3dbc6bcccf2808d3db061f Reviewed-on: http://gerrit.openafs.org/1763 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 4eef3b62657504c0c1cec718332dbdf4e200b20e Author: Simon Wilkinson Date: Thu Apr 15 20:52:11 2010 +0100 Tidy up UKERNEL includes UKERNEL is just another userspace build - there's no need to maintain completely separate header file lists in each object file for "userspace" and "ukernel". Tidy this up to improve the readability of these sections of code. Change-Id: I69f476a0b8aae1204cd4207c7c656ec7e07184df Reviewed-on: http://gerrit.openafs.org/1758 Tested-by: Andrew Deason Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0607e8a4a19183798c656bf29aaa3f8aa75ac078 Author: Jeffrey Altman Date: Wed Apr 14 23:21:37 2010 -0400 Rx: restore thread safety to rx_NewCall Thread safety in rx_NewCall requires that only one thread be actively allocating or recycling a call at a time. Since we are no longer holding the conn_call_lock across the entire transaction we need to have another synchronization mechanism. Add a new rx_connection flag, RX_CONN_MAKECALL_ACTIVE, which when set indicates that a thread is actively obtaining a call. If any other threads see this flag set, they will wait until being signalled that the thread has completed its activity. In addition, because the call->lock may be dropped when processing rxi_ResetCall(), we must hold a reference to the call once we begin using it. Otherwise, the call may be garbage collected behind our back. Change-Id: Ie97757f812d7043203ffcaf399400789cda39da1 Reviewed-on: http://gerrit.openafs.org/1755 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b2773aa121d3c1c31ac39ac652566f54cfc4bd1b Author: Daria Phoebe Brashear Date: Wed Apr 14 12:10:31 2010 -0400 macos and bsd readdir type guessing fix right now we never return a link hint. we know here it's a link. say so. Change-Id: Iab81b83fc8de714ad52c99c86153159aa6f641f3 Reviewed-on: http://gerrit.openafs.org/1753 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 74698fbcdbf2a9adfcdd152952e18a10f2c6e80f Author: Daria Phoebe Brashear Date: Thu Apr 15 00:13:43 2010 -0400 darwin bulk race needs an iocount if another user raced with us, we need an iocount back since finalize will have dropped one. Change-Id: I93b2bb5b6004b39436684e78c4620f4d7d9d0c8e Reviewed-on: http://gerrit.openafs.org/1756 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 72aab36e10b2349cb22197fda09a330feed68ac7 Author: Daria Phoebe Brashear Date: Thu Apr 15 01:29:31 2010 -0400 snowleopard fuse fallout didn't notice in testing that 64 bit version of afsd got slaughtered. put it back. Change-Id: I3a6588df36a31ab014d79faf4ed5646339f6f84b Reviewed-on: http://gerrit.openafs.org/1757 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ab2005d719d2184a1645fdc33f49e73275d91353 Author: Marc Dionne Date: Tue Apr 13 19:35:39 2010 -0400 Replace unsafe use of gets() Build tools compain that this is dangerous - replace gets() with a bounded fgets(). Change-Id: I3bd1854a1dc4a11c801cabb987ab680fa978bd20 Reviewed-on: http://gerrit.openafs.org/1750 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3f101a9ef49dbb31f516d08b82c716548b66882e Author: Daria Phoebe Brashear Date: Wed Apr 14 18:33:47 2010 -0400 drop afs_xserver lock during GetCapabilities new contact to a fileserver can trigger an InitCallBackStateN RPC to us, which our agent will need afs_xserver to handle. don't hold it; we only need it to fill in capabilities. racing here is ok. Change-Id: Ie0aaea3ab462e421bd31ba3b703d8cd0cb0d61df Reviewed-on: http://gerrit.openafs.org/1754 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 55a24ddd4231782bf4a76c8fabade00c67845501 Author: Russ Allbery Date: Tue Apr 13 16:32:49 2010 -0700 Autogenerate a Debian changelog for correct package versioning The Debian packaging infrastructure takes the package version from the most recent entry in the changelog file. Change the changelog file to a template and add an entry to the top that will be set to the current version of OpenAFS, with a Debian revision that will sort before any official package. Change-Id: Ic7fb1d30be10210b7d032cdc49a963410997db82 Reviewed-on: http://gerrit.openafs.org/1749 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 38a80c33233852d47a124a26fe7428543df6a10f Author: Andrew Deason Date: Thu Apr 8 14:50:18 2010 -0500 Add a FUSE implementation for afsd This adds afsd.fuse, which allows for mounting AFS via FUSE (via libuafs), instead of via the OpenAFS kernel module. Change-Id: Iaafe4a5f3034fed943e2e73f79ac95580946f9a8 Reviewed-on: http://gerrit.openafs.org/1725 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0dbe0fba4f4249be11524f8e2d3a1e115591cd18 Author: Andrew Deason Date: Tue Apr 6 17:07:33 2010 -0500 Use afsd code in libuafs Share the same CM code for the kernel client as in libuafs, so we don't duplicate code for initializing the cache and other things. In order to do this: - Remove some libuafs global variables that share name and functionality with those in afsd, and declare some static - Remove uafs_Init(), and move the ukernel-specific code in it to osi_Init(); replace with uafs_Setup(), uafs_ParseArgs(), and uafs_Run(), which just call into afsd functions - Remove libuafs' cache initialization code (CreateCacheFile, SweepAFSCache, etc); instead just use afsd's - Add uafs_mount(), to perform the 'mount'ing step that takes place in the normal kernel CM - Add afsd_uafs.c for the glue between afsd and libuafs Note that this now requires libcmd for libuafs. Change-Id: I62306a18ad255680031494caf1720b29e22856d2 Reviewed-on: http://gerrit.openafs.org/1724 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 507b08a6964bd9bf98784959aaa43796283a2d09 Author: Jeffrey Altman Date: Mon Apr 12 14:45:14 2010 -0400 Rename uvldbentry spare1 to matchindex In the nvldbentry structure 'spare1' was renamed to 'matchindex'. Do the same for uvldbentry as that is what the field is used for. Change-Id: I2d1200b1044f6ae9b4523eb603a21b0484b046c7 Reviewed-on: http://gerrit.openafs.org/1741 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ea44842df8f5098798e3b8ffb1b6ff62cbfcc246 Author: Marc Dionne Date: Tue Apr 13 18:58:11 2010 -0400 Fix new UKERNEL warnings on 64-bit Commit 830cb48c enabled new warnings when building UKERNEL, which causes builds with --enable-checking to fail. These are 64-bit specific warnings from int to pointer conversions and one printf warning. Changes: - cast printf argument to (int) in afs_usrops.c - use (iparmtype)(uintptrsz) to convert 32-bit integers to pointers - move the definition of uintptrsz to src/afs/afs.h so its available to other source files, and remove the original definition in afs_syscall.c Change-Id: Id0a5fd762cf10a741f89e3a2ed0a85556137df49 Reviewed-on: http://gerrit.openafs.org/1748 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d773b01a61d2f7dbf8362ddbad8e31887841de20 Author: Andrew Deason Date: Tue Apr 13 13:53:13 2010 -0500 Add support for pkg-config m4 macros Include pkg.m4, so we can use pkg-config macros in autoconf even if pkg-config is not installed. Change-Id: Ie81307beb84499297e251f0f90781d544044a235 Reviewed-on: http://gerrit.openafs.org/1747 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6bccc0aee0b8a0b0a0b665064c746b8e3fb22843 Author: Andrew Deason Date: Tue Apr 13 12:59:30 2010 -0500 Squash afs_GenericStoreProc warning code is potentially unitialized. Initialize it. Change-Id: I9c8a787d9f7f05ea88752063f1b31e0be61e28ba Reviewed-on: http://gerrit.openafs.org/1746 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 830cb48cbdd6fb41f7db8b50429ca7441a963518 Author: Andrew Deason Date: Tue Apr 13 12:41:31 2010 -0500 libuafs: Add $(XCFLAGS) to CFLAGS on all platforms Only darwin had $(XCFLAGS) in the libuafs build for some reason. Add it to all platforms, so they get e.g. -Wall if so configured. Change-Id: Ifab39af3abf087932feb1b9085ccb26baaec3164 Reviewed-on: http://gerrit.openafs.org/1745 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6b549bdba641d883609d9d33ceba957395fff37a Author: Michael Meffie Date: Mon Jan 11 21:16:06 2010 -0500 DAFS: avoid volume lock contention during initialization Avoid the excessive volume lock contention during startup to improve the time to pre-attach a very large number of volumes. The parallel attach worker threads avoid the volume lock while scanning the partitions for volumes and send batches of volume ids to the main thread to be preattached under the volume lock. FIXES 124489 Change-Id: Ieb33a3bdd5b06349abd9c3dd994c620021cd6194 Reviewed-on: http://gerrit.openafs.org/1092 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 523d39f020f551e59b0f369c8480fa13b90db277 Author: Felix Frank Date: Wed Mar 3 22:41:15 2010 -0500 Fileserver capabilities support for the UNIX client The attached patch has the client perform a GetCapabilities RPC on fileservers it encounters. It uses an additional server flag bit to keep track of the servers that have been queried already. In the case of afs_CeckServers(), GetTime RPCs are largely replaced by GetCapabilities. GetTime is performed on a server if and only if afs_setTime is nonzero and either (a) no setTimeHost has yet been determined or (b) the server in question has been designated as setTimeHost The GetServers() function could thus be simplified even further wrt. the setTime mechanism, but doing so would imply more rewriting (violating the KISS principle; a followup patch should deal with that). When a client is asked to reset callback states, it also resets the "capabilites known" bit. Thanks go to Simon Wilkinson, Jeffrey Altman and Jeffrey Hutzelman for input regarding logic and implementation details. FIXES 124972 Change-Id: I4e22db3c5ca71f00e8c77f337e38daa0fa5b9124 Reviewed-on: http://gerrit.openafs.org/1640 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3f09a3cbd30feea0add9e288380a32bba8230e0f Author: Jeffrey Altman Date: Mon Apr 12 08:58:20 2010 -0400 Rx: avoid out of order lock acquisition in rx_NewCall Sha-1 33010ef25e716f2ec2df17cc113f4ef8f67e3a74 broke the lock order conventions between the conn->conn_call_lock and the call-lock. This patchset corrects the ordering and handles the synchronization issues that might occur when the call->lock is dropped within rx_NewCall. Change-Id: Ic05837e2491a1e738e7585cf2ee6cda20775229b Reviewed-on: http://gerrit.openafs.org/1740 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit edbfcbdf0efa01fde56c9f8d857b495a86f24a14 Author: Andrew Deason Date: Mon Apr 12 12:39:00 2010 -0500 Do not turn off AFS_HAVE_STATVFS for UKERNEL Many param files turn off AFS_HAVE_STATVFS for UKERNEL. We obviously still have statvfs() available whether we are running with UKERNEL or not, so modify param files to enable it for UKERNEL if it was enabled for non-UKERNEL. The only places using this define are afsd and vol/partition.c, the latter of which will not be affected. Change-Id: I1f276c88cbe0ca401580a564be664a7fc6739fde Reviewed-on: http://gerrit.openafs.org/1743 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f77c078a291025d593f3170c57b6be5f257fc3e5 Author: Andrew Deason Date: Thu Apr 8 16:37:51 2010 -0500 Split afsd into afsd.c and afsd_kernel.c Move the parts of afsd.c that depend on using the kernel module into afsd_kernel.c. Keep in afsd.c code that can be used with libuafs drivers. Change-Id: I22c4dd698e8c12c42dabd85ea38226ffd8746d11 Reviewed-on: http://gerrit.openafs.org/1723 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b28cdd0a0e59290d8cdbf73de26ce8f34b068a61 Author: Matt Smith Date: Sat Apr 10 01:36:59 2010 -0500 Fix problems from afs_osi_gcpags reorganization Corrections to mistakes made during the reorganization of afs_osi_gcpags.c to per-OS directories. Includes fixes to LINUX24 and whitespace corrections. Change-Id: Ie9d1637b00dacc0f58e90df0e4fb2505a571bc1b Reviewed-on: http://gerrit.openafs.org/1737 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8d9bb0defb3f63640d557b377fa937d0db0de013 Author: Michael Meffie Date: Fri Apr 9 22:31:24 2010 -0400 afsmonitor: fix segv on exit Fix crash during afsmonitor shutdown when monitoring multiple fileserver or clients. Change-Id: I5fa5cb7d89dbdfcc5f97541a0e0c6b0836d558b1 Reviewed-on: http://gerrit.openafs.org/1735 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 35b90a6f526f3724d88acd95c9d4594ec9b3c736 Author: Michael Meffie Date: Fri Apr 9 21:03:09 2010 -0400 afsmonitor: show busy counts Update afsmonitor to display rx_nBusies, fs_nBusies, sysname_ID, and fs_GetCapabilities, which where claimed from spare fields long ago. Add a new group name called Busies_group to show just the busy fields. Change-Id: Id096c8bd8ba148def425a75e06250f7d5319672b Reviewed-on: http://gerrit.openafs.org/1734 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dc915673f23bf18c0eda9bf947422f6b5360fdb7 Author: Marc Dionne Date: Fri Apr 9 20:19:19 2010 -0400 Fix UKERNEL build error - include afs/afs_osi.h Commit d0f2ffca breaks the build on my system because afs/afs_osi.h no longer gets included for the UKERNEL + !KERNEL case. This causes many errors as a result of missing definitions such as afs_kmutex_t. Pull out this include into a separate ifdef based only on "KERNEL". Change-Id: Idafa7702550eb8cb2c7693f4173e482b15702d7e Reviewed-on: http://gerrit.openafs.org/1733 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6de3486c2c78cfbb2e9a9038593b60cfccf671a6 Author: Matt Smith Date: Fri Apr 9 13:32:46 2010 -0500 Move contents of afs_osi_gcpags to per-OS files Moved the relevant chunks from src/afs/afs_osi_gcpags.c to osi_gcpags.c located in each of the OS subdirectories. Also updated libafs and libuafs to reflect these changes. Change-Id: I537d92952718ef3b3bb0583daf7993288716652c Reviewed-on: http://gerrit.openafs.org/1727 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 185a6a474ccaf15c1abb708bcdfe27857454cef4 Author: Andrew Deason Date: Thu Apr 1 13:55:51 2010 -0500 Correct incorrect type-punning fixes Commit 549002c906795f978eebf81c706995116a04a8ff attempted to resolve a few type-punning-related warnings, but did so using unions. Unions are not guaranteed to work correctly with type-punning on non-gcc, so partially revert and reimplement. Change-Id: I6a49184284809c929bc45b5de5b32b8323467505 Reviewed-on: http://gerrit.openafs.org/1679 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4c68f58827913129947bc44978e7469b3271c3c6 Author: Michael Meffie Date: Thu Apr 8 13:27:36 2010 -0400 afsmonitor: add fs callback xstats collection Adds the capability to afsmonitor to display and process thresholds for fileserver callback xstats collections. The callback counters are placed to the right of the full perf data. When afsmonitor is started without a configuration file, the callback xstats data is retrieved and displayed, since by default afsmonitor will show every field. When a configuration file is given, poll the fileserver only for the collections needed to display information requested by the 'show fs' commands. Change-Id: I572ff682de4cc7ef27bb46dd028d3d797b873841 Reviewed-on: http://gerrit.openafs.org/1731 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7214af16a9cc23632f2a00d035e6c0afec887e55 Author: Michael Meffie Date: Fri Apr 9 11:46:10 2010 -0400 afsmonitor: avoid showing full perf stats garbage Unfortunately, the full perf stats contain timeval structures which do not have the same size everywhere. Avoid displaying gargbage, but at least try to show the overall stats. Change-Id: I9245b333ac15212194490e1a3f11b7c98dfaadda Reviewed-on: http://gerrit.openafs.org/1730 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 76a1088782f363cc784f7a8fe2aa3906558ec559 Author: Daria Phoebe Brashear Date: Fri Apr 9 15:21:08 2010 -0400 ukernel osi prototypes header and add statvfs to it so we stop getting a warning Change-Id: I585f559f083203214d298062862434f9f381808b Reviewed-on: http://gerrit.openafs.org/1729 Tested-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear commit f54785bdedea5aad8d6d918b4ad4e99fca9836e1 Author: Andrew Deason Date: Thu Apr 8 15:35:12 2010 -0500 UKERNEL: allow creation of non-detached threads Make usr_thread_create create a non-detached thread by default, and just have callers call usr_thread_detach if they want it detached. The only current caller of usr_thread_create already calls usr_thread_detach. Also add usr_thread_join to make it possible to join a created thread. Change-Id: Iad581c45d36dc43e94c950a5ca6a41dea8dc4b2f Reviewed-on: http://gerrit.openafs.org/1722 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2f03d4e6e25d0db4986120e1d2ec6a200b0d0d39 Author: Andrew Deason Date: Tue Apr 6 16:57:27 2010 -0500 Use AFS_CACHE_VNODE_PATH for UKERNEL Use the AFS_CACHE_VNODE_PATH cache mechanism for UKERNEL, to be compatible with new kernel caching code, and simplify the cache code a little bit. Change-Id: Ifc44790db08a336cca0032a1d05eedf70d2b24b8 Reviewed-on: http://gerrit.openafs.org/1721 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0f2ffcaa3728bbcccf63b37ab1a52e8b45ede96 Author: Andrew Deason Date: Fri Aug 14 16:17:11 2009 -0500 Make osi_GetTime work on 64-bit libuafs libuafs was previously using an implementation of osi_GetTime (and thus clock_GetTime) that required 32-bit time_t's to work properly. Instead, just use the non-kernel osi_GetTime for UKERNEL, since we're just in userspace either way. Change-Id: I4f2d060f7e2aaeaaa3fe164aca6bee5333de4583 Reviewed-on: http://gerrit.openafs.org/1714 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d29a2443f028c04d09817ca0f6b62b0ae23c6af7 Author: Andrew Deason Date: Thu Apr 8 17:22:35 2010 -0500 afsd: squash inode format warning Coerce the inode into an int, so we can predictably print it when we print debug info. Change-Id: I81533b66b632eb0fed3a9e37480feaf2fa92d510 Reviewed-on: http://gerrit.openafs.org/1720 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 269d7cc02ad65af5caf0369a07eab54052378ce8 Author: Andrew Deason Date: Thu Apr 8 17:26:09 2010 -0500 UKERNEL: prototype uafs_Shutdown Prototype uafs_Shutdown in afs_usrops.h, so users of libuafs can stop the CM. Change-Id: I63e0106f7bfb5fff9a3ff1936005f6e24855efec Reviewed-on: http://gerrit.openafs.org/1719 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 54b78ce087776342a4abb301fcb3fe8e58180621 Author: Andrew Deason Date: Thu Apr 8 12:15:34 2010 -0500 UKERNEL: Use real vnode type constants In UKERNEL, make VDIR be S_IFDIR, VREG be S_IFREG, etc. This makes fakestat work correctly, since the va_mode of faked mountpoints are OR'd with VDIR. Change-Id: I7ac1dc7ae1d7cefade9bf92d8169db80977a5c76 Reviewed-on: http://gerrit.openafs.org/1718 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d6345e824514d7f301b43b99e5f8067d66770ed7 Author: Andrew Deason Date: Tue Apr 6 17:00:58 2010 -0500 UKERNEL: check for null afs_CurrentDir on shutdown During shutdown, do not release afs_CurrentDir if we don't have one. Change-Id: I809a23f36929a02cb63753d66627357615cbaf9e Reviewed-on: http://gerrit.openafs.org/1717 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b822971a3ee6bd2dc0024b30b255f8f83e23637c Author: Andrew Deason Date: Thu Apr 8 14:49:53 2010 -0500 UKERNEL: add uafs_statvfs Change-Id: Iedd7882f4a57cd89d145f1c61c5f85181187db03 Reviewed-on: http://gerrit.openafs.org/1716 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f7b192364227be1d1db58097d72b049f8ebc0777 Author: Andrew Deason Date: Fri Aug 14 16:26:16 2009 -0500 Prevent uafs_readdir/closedir segfault Check for the NULL case in uafs_readdir/closedir, so we don't blindly dereference the given pointer. Change-Id: Iaefce9bf2e5135a60e9739f866a1f27333f06e28 Reviewed-on: http://gerrit.openafs.org/1715 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 50f248d160a34cd83363d97a1a5f0ff8beb83299 Author: Russ Allbery Date: Thu Apr 8 14:54:23 2010 -0700 Update Debian packaging files The Debian packaging files in the tree were ancient. Update to the packaging files from the just-uploaded 1.5.73.3-1 version, which should build and correctly install the current development source. The current packaging files no longer use a hard-coded version in debian/rules, so remove the configure machinery for creating it. The correct way of handling the version number is to generate a new changelog entry. That work will come in a subsequent patch. Change-Id: I187fe7cc3f4ca38de6165d58274841d300b6cdf1 Reviewed-on: http://gerrit.openafs.org/1713 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cf432e38459b963e74f46a4833626b2c03f2fad7 Author: Russ Allbery Date: Thu Apr 8 13:23:11 2010 -0700 Add OpenAFS-debug.*.plist to .gitignore Change-Id: I6f931cb19997c8743223ee42d4072ad632c3bad4 Reviewed-on: http://gerrit.openafs.org/1712 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f2af7a6ffcead3ffd1f2ae9fac5fc682c6c8c7ac Author: Michael Meffie Date: Wed Mar 10 08:48:38 2010 -0600 pts mem -expandgroups option Improve support for supergroups in the pts membership command with a new option called -expandgroups. This option will recursively show the complete membership of users and groups. The expanded members of a group are all the users which are members of all of the group's sub-groups. The expanded groups of a user are all the groups which are supergroups of the users's groups. Change-Id: I811a4e5e73632e5e205fe10f3f3a36a98464d49e Reviewed-on: http://gerrit.openafs.org/1601 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5b44b5dfe0d7aee14f87df9a6b8c5e582473d0fe Author: Michael Meffie Date: Wed Mar 17 19:16:50 2010 -0400 pts mem -supergroup option Improve pts support for supergroups with an option to list the supergroups of a group. Change-Id: I4fe1cd131cd334386bc16ce733e01e29e0511d4f Reviewed-on: http://gerrit.openafs.org/1600 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fdb9429eafda330bfdf1feefeb1a9ff61c7746b7 Author: Simon Wilkinson Date: Wed Apr 7 00:29:44 2010 +0100 Linux: kmap() not page_address() Using page_address() will return NULL if the page is in highmem. To avoid this, we must kmap() the page we're getting the address of, and kunmap() when we are done. If the page isn't in high memory, then kmap() is equivalent to page_address(). Change-Id: I42abfadaf3101bf5ad41bd7e5f720ba2583c4ee5 Reviewed-on: http://gerrit.openafs.org/1705 Reviewed-by: Russ Allbery Tested-by: Russ Allbery Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit 75cf37f9449e2c75236028b603918d22cd278ef9 Author: Russ Allbery Date: Wed Apr 7 11:53:23 2010 -0700 Explain in CellServDB man page that server lines can be omitted It's possible to use AFSDB records only to locate the VLDB servers but still list the cell in the client CellServDB so that the client is aware of it and populates it into dynroot. Describe doing this in the man page. Change-Id: I714cd515dc4b72a6e358bbd8f9332d4ddce5a5fc Reviewed-on: http://gerrit.openafs.org/1710 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit be44999904dccffc6de5626362a77babbda0688f Author: Andrew Deason Date: Wed Apr 7 10:35:53 2010 -0500 Fix typo in bos_create manpage Change-Id: I1ea456e47eccc0a74f042898ef8a3bcde3aacf15 Reviewed-on: http://gerrit.openafs.org/1709 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4ebd6098dfbf76ebc5ede7a2e9d7222936265a03 Author: Rod Widdowson Date: Wed Apr 7 11:14:32 2010 +0100 Make tests/afcp compile cleanly It didn't compile because it includes changing that to afs_consts.h makes it happy. Change-Id: I3a21e6ab2b99d8f4ebbc55922163b0695a6187f3 Reviewed-on: http://gerrit.openafs.org/1708 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8d41bc24c51018a25eac49b3403cbb276713e1ad Author: Russ Allbery Date: Tue Apr 6 16:31:37 2010 -0700 Reallocate memory in aklog for the AFS ID string aklog was previously writing the magic AFS ID string into previously alloated memory with sprintf, but the variable in question was only as long as the username, so this code could overwrite memory and lead to heap corruption. Free previously allocated memory and use afs_asprintf to format the AFS ID string instead. Change-Id: I7649864817340764c39c176606a9a543c10983c9 Reviewed-on: http://gerrit.openafs.org/1706 Tested-by: Russ Allbery Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a763edc3a490f6c837d4272468803c36f8febda2 Author: Russ Allbery Date: Tue Apr 6 15:27:51 2010 -0700 Make src/rx/rx.c not executable Change-Id: If471b579e6f1bf4f69a37f6edcc34e9546766df2 Reviewed-on: http://gerrit.openafs.org/1704 Tested-by: Russ Allbery Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7d395f1754649b70311895c37962cd1770cb9f73 Author: Russ Allbery Date: Tue Apr 6 17:46:13 2010 -0700 Improve demand-attach fileserver bos documentation Add a caution to the fileserver man page explaining that traditional and demand-attach require different configurations, and also mention that there are two different server implementations. Add an example of a bos create command for creating a demand-attach File Server to the fileserver man page. Add a caution to the bos create man page that a traditional fs node won't work with demand-attach and vice versa. Document the necessary arguments for the dafs type. Clarify in EXAMPLES which bos create commands are traditional and which are demand-attach. Add an example of changing from a traditional to a demand-attach configuration. Change kaserver to ptserver in the example of a simple process. Change-Id: I4077246b69edf6e1ddc7c0761ac8e1006d471c24 Reviewed-on: http://gerrit.openafs.org/1707 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 10884e7354e6d5a3b7869e115cc90424410cfd12 Author: Jeffrey Altman Date: Mon Apr 5 11:24:16 2010 -0400 Windows: WinTorture Verbose mode display all logged messages In verbose mode, wintorture should send to stdout all logged messages. LICENSE MIT Change-Id: I4e173c35fcf6b1284d31149d773308b9f9c9a773 Reviewed-on: http://gerrit.openafs.org/1696 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit eb25c5b1c3b7d7e25ce00bafc08fa2d92acc4afa Author: Jeffrey Altman Date: Tue Apr 6 15:07:47 2010 -0400 Windows: Support new Cygwin docbook stylesheet location Make the computation of the docbook stylesheet location based upon testing for directory existence now that versions of cygwin 1.7.2 and place the stylesheets in a new location. Change-Id: I844ae35a34eab73ee033bba875e68f71dc54f26b Reviewed-on: http://gerrit.openafs.org/1702 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 10b4833d29025c01e8eeea1c5b3411bda9a4cbc5 Author: Jeffrey Altman Date: Tue Apr 6 15:06:55 2010 -0400 Windows: permit documentation to be built without binaries Add a dependency to the documentation rule on config so that the documentation can be built without the entire source tree Change-Id: I81d18fa9ec32c4d7d9799db2b1eac57c1d83df75 Reviewed-on: http://gerrit.openafs.org/1701 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 0bc5b666b1c4a46d2dd797415dc7d25a460bbf59 Author: Jeffrey Altman Date: Tue Apr 6 14:29:26 2010 -0400 Windows: tag is listitem not llstitem Latest version of docbook picked this error up. Change-Id: I2e6248d27e56c0074b0f80124733b79d7d1b51f0 Reviewed-on: http://gerrit.openafs.org/1699 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b9f014bdbf1ff009dba56f138a6c618281539d9a Author: Daria Phoebe Brashear Date: Tue Apr 6 14:42:44 2010 -0400 make openafs 1.5.73.3 another point release Change-Id: I3430d62a4088e0b6f930b0b6cd2507f96226adea Reviewed-on: http://gerrit.openafs.org/1700 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit da4a70eabfab3ad0d1db0f7cc60b7a4f2a8c04f1 Author: Daria Phoebe Brashear Date: Tue Apr 6 09:57:24 2010 -0400 macos bulkstat avoid reclaiming vnodes when a vnode has gone CVInit, don't use it as a vlru pivot. Change-Id: I0b874c141069a23a9724d360a7864b0271c36e15 Reviewed-on: http://gerrit.openafs.org/1698 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 170a12c6eacab152bea9576bfcdb9cf9c0bea8ce Author: Daria Phoebe Brashear Date: Sun Apr 4 10:37:48 2010 -0400 avoid macos bulkstat vlru when no non-dead vnodes exist if we can't find a candidate to be the vlru item to manipulate past, simply don't do the vlru update FIXES 126868 Change-Id: I5c053d1934b0787ab7f2021c70a776e54208d345 Reviewed-on: http://gerrit.openafs.org/1690 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2b42e781681a3024f3e50685a51293bd87d08f59 Author: Daria Phoebe Brashear Date: Mon Apr 5 00:42:04 2010 -0400 panic generation update something weird, e.g. panic(cpu 0 caller 0x5c91c3d0): buf@/Users/shadow/Source/openafs/src/rx/rx_kcommon.c:1348 which came from an osi_Assert. not sure yet what the deal is, but attempt to make this less ambiguous and less likely to conflict with other macros. Change-Id: Iac27e89fc655d2b1ba6d04936e137060d8abd9c4 Reviewed-on: http://gerrit.openafs.org/1693 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 03bb2c9d40859ce5d1205e7c8503a80c8192f5e4 Author: Jeffrey Altman Date: Mon Apr 5 13:19:49 2010 -0400 Windows: cm_UpdateVolumeLocation !append exts to num vol names cm_UpdateVolumeLocation will append ".readonly" to a volume name if the base name cannot be located. However, this should not be done if the base name is numeric. LICENSE MIT Change-Id: Id61b8803eed51d124b612ffba8b185a4b4982c1d Reviewed-on: http://gerrit.openafs.org/1695 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 33010ef25e716f2ec2df17cc113f4ef8f67e3a74 Author: Jeffrey Altman Date: Mon Apr 5 13:35:42 2010 -0400 Rx: Remove conn_call_lock contention between rx_NewCall and rx_EndCall Add a new call state, RX_STATE_RESET, which permits us to remove the conn_call_lock contention between rx_NewCall and rx_EndCall. It is no longer necessary for rx_NewCall to hold conn_call_lock across rxi_ResetCall which can block. rx_EndCall is therefore always free to complete without unnecessary delays caused by rx_NewCall. Change-Id: Ie169708681eb1bbbb31951b95f68e861a4b01c7e Reviewed-on: http://gerrit.openafs.org/1697 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 568a4078563e2cb9bd89409486e361357cc18450 Author: Aditya Sarawgi Date: Mon Apr 5 22:55:48 2010 +0530 Replace kmodstat by kldstat FreeBSD uses kldstat instead of kmodstat to get the stats of the dynamically loaded kernel modules. Change-Id: I3f658469e60f48b50a81e6ab5bcc507186fd8c5a Reviewed-on: http://gerrit.openafs.org/1694 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f61d2ba1c9953136c8e27667407a800ff9b7a89b Author: Jeffrey Altman Date: Thu Apr 1 23:33:16 2010 -0400 Fix usage of RX_CALL_TQ_WAIT flag The usage of RX_CALL_TQ_WAIT flag was not consistent within both rx.c and rx_rdwr.c. When a thread is waiting on the transmit queue it must not only set the RX_CALL_TQ_WAIT flag but also increment the call->tqWaiters count. Upon waking up, it must decrement call->tqWaiters and only clear RX_CALL_TQ_WAIT if the tqWaiters count reaches zero. Change-Id: I7de01d27f073cddd9651fbcd9cd2038e56ac35cf Reviewed-on: http://gerrit.openafs.org/1685 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 00a0351ae0b0850f0191d5df2d9478fbc8e4f30a Author: Daria Phoebe Brashear Date: Thu Apr 1 21:33:49 2010 -0400 rx_ClearTransmitQueue should signal waiters when flushing if we flush, play it safe and signal tq waiters. Change-Id: I945649c2e440c78c5c5a62da70236a67dc190228 Reviewed-on: http://gerrit.openafs.org/1682 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit fc02ed1065ea4d3f2a55ace2b994a459ba4a5d8a Author: Daria Phoebe Brashear Date: Mon Apr 5 00:41:28 2010 -0400 macos panic decoder update make it able to decode prerelease and point release panics Change-Id: Ibf28a7df7f0a21ff8f297d548a6b853a5e296064 Reviewed-on: http://gerrit.openafs.org/1692 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ec74299c7c0f6e705e6ba2329001b92f9941868e Author: Daria Phoebe Brashear Date: Fri Apr 2 01:29:22 2010 -0400 macos 32 bit platform user address transform make the ioctl32 translator work as expected, e.g., create proper user addresses. Change-Id: Ia690dee5f9978d679e942a9954f2123df4a96bc2 Reviewed-on: http://gerrit.openafs.org/1687 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f9799b856183017274876ed09b1da2c069b5177d Author: Daria Phoebe Brashear Date: Fri Apr 2 01:32:06 2010 -0400 make 1.5.73.2 fix aklog for 32 bit macos, make freebsd vaguely more useful Change-Id: I53bb88f11eedb365e4430aed468cb9c84442d44b Reviewed-on: http://gerrit.openafs.org/1688 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 836c5bcfaf33ec118e209b066639c5196efedf47 Author: Daria Phoebe Brashear Date: Thu Apr 1 23:17:53 2010 -0400 freebsd switch back to condvar-based sleep add TimedSleep for condvar-based sleep. this should be revisited; mac and freebsd should be able to share this. possibly several other platforms. Change-Id: I918f45a689dd129119477cc63820f5c802e182d2 Reviewed-on: http://gerrit.openafs.org/1684 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 687652c74a050e28d1c0cffb24e58545257a13c8 Author: Daria Phoebe Brashear Date: Fri Apr 2 01:01:23 2010 -0400 macos installer pane warning fix didEnterInstallerPane is void, not BOOL. make it so. Change-Id: I934129684c839fa304bbfb7745833f5a7739e111 Reviewed-on: http://gerrit.openafs.org/1686 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit af5923c0507f45fc4124ed9ae5ac5ed014923034 Author: Andrew Deason Date: Thu Apr 1 16:42:25 2010 -0500 tubik: Correct use of flags_cond and version_cond Waiters of flags_cond and version_cond were not doing so correctly; the correct way is to acquire a lock prior to their respective checks, and atomically drop/acquire that lock with pthread_cond_wait. Otherwise, we could miss a wakeup if a flag changed between our check and when we wait. To make this possible, make versionLock a normal pthread mutex in AFS_PTHREAD_ENV, so it is a lock we can pass to pthread_cond_wait. Make the waiters pass versionLock to pthread_cond_wait, and eliminate flags_mutex and version_mutex. Change-Id: Id33a72182b907d069e342cb049e23868ab2f7eb9 Reviewed-on: http://gerrit.openafs.org/1681 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5a7d6da52573aeb5ca062e3458ea7c375ed28054 Author: Andrew Deason Date: Thu Apr 1 15:33:24 2010 -0500 Kill afs_inet_ntoa Replace all calls to afs_inet_ntoa with the threadsafe afs_inet_ntoa_r. afs_inet_ntoa was being used in a few places that may be threaded (ubik), and in general should be avoided in case the relevant code becomes threaded. Remove the definition of afs_inet_ntoa to prevent anyone from using it. Change-Id: I163d3f58fdd3d28077780963ced9995247682d78 Reviewed-on: http://gerrit.openafs.org/1680 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 73dd2783d7b73350ca047bf0bea2895e152eca71 Author: Daria Phoebe Brashear Date: Thu Apr 1 23:11:42 2010 -0400 freebsd glock assertions assert we don't try to recurse on the glock Change-Id: Iecf0f869e4a541a0b5322def47c944dec310ae3e Reviewed-on: http://gerrit.openafs.org/1683 Reviewed-by: Benjamin Kaduk Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8844c339608d92c6a69364f84fcd14366cea9f13 Author: Andrew Deason Date: Thu Apr 1 13:18:41 2010 -0500 fssync-debug: fix strict-aliasing problems We cannot type-pun pointers like that. Instead, declare a new struct on the stack, and copy the memory into it. Remove the CFLAGS_NOSTRICT suppression on fssync-debug.o. Change-Id: I25b48399417e009dc94bfebd513c0ee6feea282a Reviewed-on: http://gerrit.openafs.org/1678 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a83e7ea4d86352d89f270be93db77a0774aaea3f Author: Simon Wilkinson Date: Wed Mar 24 12:40:35 2010 +0000 Fix formatting issues in src/afs This patch changes formatting in src/afs to be return_type fn_name(args) { } ... as in the rest of the code. Change-Id: Ib6e792d0795a83ea6fcf35df4413dec6492a4cc0 Reviewed-on: http://gerrit.openafs.org/1645 Reviewed-by: Rod Widdowson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 91450a968df15b6134ab2cef49e5f4a3679735c8 Author: Ben Kaduk Date: Wed Mar 31 22:28:10 2010 -0400 Set a storeOps storeproc for the memcache case Finish fixing the bug from 34ffc9cd that 57d8e454 only partially fixed -- set a storeOps.storeproc element in rxfs_storeMemOps as well as in rxfs_storeOps. This eliminates a NULL/uninitialized memory dereference. Change-Id: I9fe0fb147222b8f7a5a76c9ada9ca93f53ce1fa7 Reviewed-on: http://gerrit.openafs.org/1677 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 709315400c9735a2360e01c927e5a3816a5dc2d3 Author: Ben Kaduk Date: Wed Mar 31 11:27:38 2010 -0400 Fix build for FBSD80 The change to a dynamically-allocated group list came before the change to allow the maximum size of that group list to be set as a tuneable at boot. The 8.0 release happened to come between them, so we must treat both cases. (Note that AFS_FBSD81_ENV is not yet defined anywhere; that will come later.) Change-Id: I87a0e2cff3c42de60d512fe5653abe0161afc789 Reviewed-on: http://gerrit.openafs.org/1676 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0b475c0c5f784c296ee7acba622353653d2b4504 Author: Ben Kaduk Date: Wed Mar 31 00:49:02 2010 -0400 Update to the new thread world order for FBSD Since FreeBSD 5.0, system calls have taken a thread argument instead of a proc argument. Finish catching up. Also remove the retval argument, which is not in the system sysent definition, and is unused. Since we took our sweet time getting around to it, we can also remove large swaths of FreeBSD 4.X-only code from the area. Fix the vop_*_args struct definition comments that had changes in addition to proc-->thread while we're here. Change-Id: Ib469e77655a6c04bfbfe1e5fab54f6f3a6119a85 Reviewed-on: http://gerrit.openafs.org/1675 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ef2604e4532d6712b3d91a98a4d1f1f070de487d Author: Ben Kaduk Date: Tue Mar 30 23:35:13 2010 -0400 Include limits.h for FBSD Needed to pick up INT_MAX in the KERNEL case, for stopping the XDR madness, among other things. Change-Id: Ibcf2681b450f6a3603418991951f5144ab677d28 Reviewed-on: http://gerrit.openafs.org/1674 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6a261db9a6bb1ac4b0bb2b88efe2e3e718970ab3 Author: Daria Phoebe Brashear Date: Tue Mar 30 16:28:27 2010 -0400 openafs 1.5.73.1 with rpm and macos versions which hopefully work for packaging (well, the macos does) Change-Id: I42016db95ddaff6f76e1f0954eb06cfd743f18cf Reviewed-on: http://gerrit.openafs.org/1670 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 053522f534f73f9843a68334158ff98a48d9578e Author: Ben Kaduk Date: Tue Mar 30 20:34:02 2010 -0400 Make GCPAGs_perproc_func cleaner for FBSD case Partially rewrite 2cf1f10a to reduce code clutter. Instead of accessing pproc->p_ucred directly in afs_GCPAGs_perproc_func(), push this access into a FBSD-specific afs_proc2cred() function. This is not quite right, since we do not lock the proc mutex, but in the same way as the old version and with more reasonable preprocessor conditionals. This also eliminates a probably-needless call to osi_Panic. Change-Id: Ib403132f31cc13f8c4581cb89ecc8938d0a0dd88 Reviewed-on: http://gerrit.openafs.org/1672 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c0f1970909d691d551273deee9b63bda50896ae6 Author: Jonathan Billings Date: Tue Mar 30 16:35:50 2010 -0400 Updated RedHat RPM spec file to include unreferenced files Added the libkopenafs libraries and headers to the authlib package. Added the afs_compile_et binary to the devel package Removed the reference to .../man5/afszcm.cat.* because it is already caught by the earlier reference to .../man5/afs* glob. This caused a warning during the package build process. Change-Id: I64a037a8534ac3d2c6b0aa22249d6827e08af9b1 Reviewed-on: http://gerrit.openafs.org/1671 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ae19c2d2464417a9454ef46ab3d63ae23024676d Author: Jonathan Billings Date: Tue Mar 30 16:06:07 2010 -0400 Move restorevol to bin from sbin in make dest Adds to the changes made in d6df1a8cec39edf7c0d2598921c735ac6aca70d7 so that 'make dest' installs restorevol into bin. Change-Id: I9c7f302ad9a2f25e9a362ea96dbbf0d91a7d9b04 Reviewed-on: http://gerrit.openafs.org/1669 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit da9b39c0a474c134f6e7c2bfd978bb7a70e770d0 Author: Daria Phoebe Brashear Date: Tue Mar 30 11:43:33 2010 -0400 darwin notify avoid reentrant vfs context panic if we own the context, don't get it again. Change-Id: I1f574bc3dda764c7a9552f1adf0f64e50afc1d7d Reviewed-on: http://gerrit.openafs.org/1668 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 283c0f5347a71ce2d4a1e22c8379f4f89b21489a Author: Russ Allbery Date: Mon Mar 29 22:17:31 2010 -0700 Update VCS instructions for Git Rename README.CVS to README.GIT and update the references from CVS to GIT. Refer readers to the wiki for the detailed instructions and information about Gerrit. Change-Id: Ia1826110c4b974ab36a64555ca44e6c5ce74f7ef Reviewed-on: http://gerrit.openafs.org/1667 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2f4a1897bfb2db8655a4eb2f87785753df1c5698 Author: Davor Ocelic Date: Mon Mar 29 16:54:43 2010 +0200 Minor state_analyzer manpage corrections Done according to adeason's comments on http://gerrit.openafs.org/#change,1655 Change-Id: Ia5b28473fa37ad2a877a5a56b1b7f1c4893e8db1 Reviewed-on: http://gerrit.openafs.org/1666 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 001a61a6180bb1c70401c40c8cd1d38d804eba8c Author: Rod Widdowson Date: Wed Mar 24 16:59:15 2010 +0000 Render the IP address for the "Ubik: Lost contact with sync-site" log message in the same way that all other IP addresses are (via afs_inet_ntoa, rather than stripping the buytes out in a manner which assumes a specific endianism). Done more as a way to test my understanding of the GIT/GERRIT technology with a small non-important checkin. Change-Id: I177e1288e8e23087aeebb7abe4ed63a7c2b88ccb Reviewed-on: http://gerrit.openafs.org/1649 Tested-by: Rod Widdowson Reviewed-by: Rod Widdowson Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7c6f94b365169cd643cbe03a23d14b2e35d429af Author: Ben Kaduk Date: Mon Mar 22 22:35:51 2010 -0400 Catch up to dynamically-sized cr_groups in FBSD80 In FreeBSD 8.0 and later, (struct ucred)->cr_groups is a pointer to a dynamically-allocated array, and NGROUPS is now 1024 by default (tuneable at boot). Don't put a gid_t[NGROUPS] on the stack for the FBSD80_ENV case. Also avoid keeping a function-local ucred structure (in afs_osi_proc2cred()), by bypassing that function entirely (though this accesses the process credentials directly, which may require locking; thread credentials accesses can be safely done lock-free). Add an osi_Panic() to ensure that it stays that way. Don't pretend that we have a useful afs_osi_cred to export. Don't blindly overwrite NGROUPS past cr_groups. Change-Id: I76295164a24bddf2782ab2fa662acd0e1b4855d6 Reviewed-on: http://gerrit.openafs.org/1665 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 326ff2aa68082a804ffef7fb1187a26962be924e Author: Davor Ocelic Date: Wed Mar 24 22:45:20 2010 +0100 Initial; add state_analyzer manpage Change-Id: I5dd43e6ea5764421a6e44f372f4e9c9576de627e Reviewed-on: http://gerrit.openafs.org/1655 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5d5da6eb4d5db9323ad0b89417d17ea577a0eb98 Author: Jeffrey Altman Date: Sat Mar 27 16:13:27 2010 -0400 Windows: buffers whose offsets are beyond EOF should be zero filled and locally allocated When a buffer is being allocated for an offset that exceeds the file length as known to the file server, that buffer should be zero filled and it does not require server validation. Previously all buffers were populated with a FetchData call. This is wasteful of time and server resources when there is a valid callback registration because the serverLength is known to be valid. LICENSE MIT Change-Id: I13f9a8dbd6387c3ba71638a682e995d7a7d0862f Reviewed-on: http://gerrit.openafs.org/1664 Tested-by: Jeffrey Altman Tested-by: Asanka Herath Reviewed-by: Asanka Herath Reviewed-by: Jeffrey Altman commit 1bb3522983ec7ee8e99ca28bb744601f1c15837c Author: Claudio Bisegni Date: Wed Mar 24 23:27:05 2010 +0100 GUI Update for Kerberos Ticket Renew Now the NSEditText for Renew Time is replaced by NSStepper for Days:Hours:Minutes:Seconds Change-Id: If696f456faada6762def192ab0887539d55bc5d4 Reviewed-on: http://gerrit.openafs.org/1656 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5436264d0c1347e0f8ed8f650d5fc4cc4dd0dd71 Author: Daria Phoebe Brashear Date: Sat Mar 27 12:45:40 2010 -0400 aklog pt error table warning fix include the header file that prototypes the pt error table Change-Id: Ibd1a7cb04d8084a50d3a429fa69cfb2967874c9b Reviewed-on: http://gerrit.openafs.org/1663 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c44a69b3379a736274be3045d77d5946efa64869 Author: Daria Phoebe Brashear Date: Thu Mar 25 09:01:23 2010 -0400 aklog more error tables initialize the rest that we might need Change-Id: If4e02add67994ae5397c60de3e64c072c3512a2e Reviewed-on: http://gerrit.openafs.org/1661 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7d69cfbc20f1354b1dd9094b5ad496c8beaa5c58 Author: Chas Williams - CONTRACTOR Date: Thu Jan 7 18:35:37 2010 -0500 LINUX: you dont need to memset() after allocating credentials If you wanted to create a blank credential, you wouldn't want to make it uid = 0. Anyone allocating a credential SHOULD properly fill in all fields making this blanking operation moot. Regardless, this memset() is before the allocation failure test and would/could panic. Change-Id: Ia182a874a5e1bf28a2cd94898f67d81e5588d58c Reviewed-on: http://gerrit.openafs.org/1080 Tested-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4b3f3169cb89c80acc0cc70d51cf47ed32c22ab2 Author: Jeffrey Altman Date: Thu Mar 25 01:23:23 2010 -0400 Windows: afslogon.dll vs windows 7 In Windows 7 the GINA is no longer used. As a result, when a non-Heimdal realm is used for logon, the LogonDomain field is no longer populated during the NPLogonNotify call. Instead we must obtain the Kerberos realm from the UPN specified in the Username field. Change-Id: I838e0a5b19d560dd2fed6ccccf1e136fe1c4e0c2 Reviewed-on: http://gerrit.openafs.org/1660 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fda5f9a37364b09ef0965d5512989f44aed880d7 Author: Jeffrey Altman Date: Thu Mar 25 00:40:29 2010 -0400 Windows: aklog must reset viceId to 0 before pr_CreateUser call If the viceId is not reset to 0, the ptserver believes the client is attempting to request the anonymous id value and fails the registration request with permission denied. LICENSE MIT Change-Id: I82cc6105ad9d08b2f460b0c08cf7de500cea8537 Reviewed-on: http://gerrit.openafs.org/1659 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 114ed05d8d163eed1622750dc024c69a513bc9d8 Author: Jeffrey Altman Date: Wed Mar 24 22:07:29 2010 -0400 Windows: output pt error messages as strings Build and link in ptserver/pterror.c so that aklog can output pt error messages as strings. LICENSE MIT Change-Id: I93d966e0e62bb693612c6310781aadbfa6c09988 Reviewed-on: http://gerrit.openafs.org/1658 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit af415156080a979b30375f11482465e6cf7a1d91 Author: Daria Phoebe Brashear Date: Wed Mar 24 14:49:11 2010 -0400 growl agent should handle port busy if the port can't be bound, die cleanly. FIXES 126812 Change-Id: I6523f18c2b5f5bacfbd11d08736b9af14fa666e2 Reviewed-on: http://gerrit.openafs.org/1651 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 37eeead346a6933e9d2af2d5da1cb8f9fcf311c1 Author: Daria Phoebe Brashear Date: Wed Mar 24 17:18:24 2010 -0400 avoid double-free cell name canonicalization if we free the cell name, so note it so we don't try again. FIXES 126813 Change-Id: I4149fac057c587123f6bf6da8a42a4cd5e590716 Reviewed-on: http://gerrit.openafs.org/1654 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 165bd14126ea4ec2cf6563f865ab9d6bd7477d77 Author: Simon Wilkinson Date: Wed Mar 24 16:48:35 2010 +0000 Linux : Apply more dget_parent() pixie dust Replace another dentry->d_parent->d_inode lookup with a dget_parent() - accessing d_parent directly is potentially racy. Change-Id: I2c21cd6ef5c1b4b601c830836590705b397915e4 Reviewed-on: http://gerrit.openafs.org/1647 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 81e03e005aa73ba6c58e3aadfea91e685df1ece3 Author: Daria Phoebe Brashear Date: Wed Mar 24 12:54:30 2010 -0400 afsdump warning killing a couple legit bugs here but mostly i used my parentheses shaker. Change-Id: I645a239ca584fbb5759d885d42c058c757a35731 Reviewed-on: http://gerrit.openafs.org/1648 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6fc97184468348187675f723f79ebb32433d25d2 Author: Daria Phoebe Brashear Date: Wed Mar 24 00:19:56 2010 -0400 make 1.5.73 relnotes release notes for 1.5.73 Change-Id: I4fd8d0b40f97311f42ee77f9245bd9e9cb87188f Reviewed-on: http://gerrit.openafs.org/1642 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e4dfa3a48228f7d465c406831ad0d7eaa31bd5e2 Author: Daria Phoebe Brashear Date: Mon Mar 22 23:44:52 2010 -0400 openafs 1.5.73 version strings make windows and unix 1.5.73 Change-Id: Ice7fb6bab06ab6b5a1e6d5309f13d242289d2b0a Reviewed-on: http://gerrit.openafs.org/1620 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fc145e7162ef5b2280f25840c8bcb5649bdafa72 Author: Booker Bense Date: Fri Mar 5 10:11:41 2010 -0500 Updating UserGuide with Kerberos v5 authentication This patchset contains updates to the OpenAFS UserGuide that explains how to authentication OpenAFS using kinit/aklog and uses language describing Kerberos outside the context of the kaserver. References to applications such as telnet have been replaced with more modern equivalents such as ssh. Change-Id: Ifae779b04a26beb9be9cf58b450958acdc477c06 Reviewed-on: http://gerrit.openafs.org/1521 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 37f3aabd9f6f41dd722014ace146014b1340c0a1 Author: Asanka Herath Date: Fri Mar 19 22:13:41 2010 -0400 Windows: Use a timestamp for the minidump filename Set the name of the minidump file to : %TMP%\afsd---
-__.dmp This prevents new minidump files from overwriting older ones. Change-Id: I057963bedf618eb23720f17d62c8473790569273 Reviewed-on: http://gerrit.openafs.org/1633 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 1146d25df63cbf90b4a31e001227f5bd59acd6ea Author: Asanka Herath Date: Thu Mar 18 21:13:35 2010 -0400 Windows: Monitor requests and gather diagnostics before a timeout This patch monitors SMB requests that are being serviced and automatically enables logging if a request takes longer than one minute to complete. If the requst hasn't completed by the two minute mark, the code generates a minidump. Once a minimump is generated, no more minidumps will be produced for another 5 minutes. SMB monitoring can be enabled/disabled using the new registry parameter 'SMBRequestMonitor.' Change-Id: I5aae22f6bfa635cec4a803089b483698641080eb Reviewed-on: http://gerrit.openafs.org/1632 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 7ca634f7f8bf63ff62a5aed24c6251d4e7ee774b Author: Daria Phoebe Brashear Date: Tue Mar 23 21:49:26 2010 -0400 add missed release notes these are the release notes available via the web but not here. Change-Id: Ieb4af99a4d6a1dfdaabccdac79d03f7d328de675 Reviewed-on: http://gerrit.openafs.org/1641 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 766c7e4cdf10f040304a7141cc126cd4d4a321ed Author: Jeffrey Altman Date: Tue Mar 23 18:01:45 2010 -0400 Windows: changelog for 1.5.73 Change-Id: I83ab533c7ec52b82e76a857f3ac4a12e1d8b1939 Reviewed-on: http://gerrit.openafs.org/1636 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 58990545c12b0ebf746b8c8cd6a21993f5b1e9f0 Author: Jeffrey Altman Date: Tue Mar 23 19:00:27 2010 -0400 Windows: cm_attrs_t requires inclusion of cm_vnodeops.h Include cm_vnodeops.h before reference to cm_attrs_t. LICENSE MIT Change-Id: Ic6d2a505d4f30c75d16d5c99eef306af7563ba4c Reviewed-on: http://gerrit.openafs.org/1639 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 88305c306530bb17cd850f9a2582f83ba8ff7fb3 Author: Jeffrey Altman Date: Tue Mar 23 18:57:19 2010 -0400 Windows LWP and UNIX LWP do not have the same lwp_cpptr structure Windows LWP uses Windows Fibers. There is no 'stack' field. Change-Id: I8ebc7b355642f9e3ad6f2953345b9858ab9c151a Reviewed-on: http://gerrit.openafs.org/1638 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 7f1441b9e64bac9931abeffca4b37a9d8d8565eb Author: Marc Dionne Date: Tue Mar 23 18:36:17 2010 -0400 Warning fix: print burstWait fields burstWait is a struct clock with two int fields, but we try to print it as a %u. Print the fields separately like we do for timeout. Change-Id: I42ab3e4557af96cacae00b89841b1fcdfa832d4b Reviewed-on: http://gerrit.openafs.org/1637 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 71b3dd155cc958ae818cc37b96c976a2965e2640 Author: Marc Dionne Date: Tue Mar 23 17:49:22 2010 -0400 Fix #ifdef typo Fix ifdef typo. The compiler complains that the variable is undefined. Not sure what effect this may have had on the intended preprocessor output. Change-Id: Idef3f4ac42a96a096be25d31ff416f7a23560d70 Reviewed-on: http://gerrit.openafs.org/1635 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b835b487377304338ce97e82b8541eb3ab7c511d Author: Marc Dionne Date: Tue Mar 23 17:32:11 2010 -0400 Define __USE_XOPEN conditionally Only define __USE_XOPEN if not already defined. In this part of the code it might now already be defined since we enabled AC_USE_SYSTEM_EXTENSIONS. Change-Id: I0651658d82550ee9be593d281bf50205815f9ef7 Reviewed-on: http://gerrit.openafs.org/1634 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b0a3d581a6cd20f3ac77212685b1645431bcb7ef Author: Asanka Herath Date: Sat Mar 20 16:46:05 2010 -0400 Windows: Make default mode bits configurable Mode bits aren't directly exposed by the Win32 API. We were leaving them to default to 0777 when creating new files and directories. This patch introduces two configuration parameters; 'UnixModeFileDefault' and 'UnixModeDirDefault' which are DWORD registry entries that are used to set the initial mode bits. If the values are set to 0, then the behavior is identical to what we had before. Change-Id: I7822141aab1e12cc8e151be771f779284fa68465 Reviewed-on: http://gerrit.openafs.org/1602 Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit afa12e265dbf4c7dd83b85b2b6f532992da46e5f Author: Daria Phoebe Brashear Date: Tue Mar 23 16:06:38 2010 -0400 remove vnop needs discon lock right now, the discon lock never happens over a remove. fix that. restructure the code to allow one unlock and exit. Change-Id: I88fefa30c9ba8ad4a4ccce1a5b02e9fb8403b99d Reviewed-on: http://gerrit.openafs.org/1629 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 464b99b8ffa4ee8c7a33cd34609ba2f6885f6b01 Author: Claudio Bisegni Date: Mon Mar 22 23:35:22 2010 +0100 Develop Kerberos renew system for ticket - In Preference pane has been added a tab called "Option" where are showned the option for kerberos renew - In AfsBackgrounder has been implemented the NSTimer that will call the krb5 renew action according to user preference value Change-Id: Ica4b705018722488613ac09586e60c69303d1076 Change-Id: I79ce1334d99f926544e865fbb563a1ffecaa969c Reviewed-on: http://gerrit.openafs.org/1606 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6f52f9493a99974b88b7526287c8e291786e52b8 Author: Daria Phoebe Brashear Date: Tue Mar 23 16:53:31 2010 -0400 kill MultiBreakVolumeCallBack too this is also now unused. kill it. Change-Id: Ie2f3edef4dc74ee874eb5aedaf2c0d2ee548ae6d Reviewed-on: http://gerrit.openafs.org/1631 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 368e07f7367252d8877e86b3a3df9c559622e90e Author: Andrew Deason Date: Tue Mar 23 14:27:28 2010 -0500 Remove BreakVolumeCallBacks prototype BreakVolumeCallBacks was a dead function that was removed from viced. Remove the prototype for it. Change-Id: I12a4d69719163d3e7be7dcae6f39df17b245c807 Reviewed-on: http://gerrit.openafs.org/1628 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6448d4edc8fc7e8ca581f608e2b98a257bd20251 Author: Andrew Deason Date: Tue Mar 9 14:48:36 2010 -0600 vos: correct syncvldb -verbose server byte order 'vos syncvldb -verbose' outputs the before/after VLDB entries for altered entries, but the 'after' output shows server addresses in NBO. EnumerateEntry expects server IPs to be in NBO, so correct one location where they were passed in HBO. Change-Id: I332fe83b45b2b595e091c8eb9bdc57d89d5e36a8 Reviewed-on: http://gerrit.openafs.org/1550 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 189a99e8944c338ec57168cb88f6c700abbc2370 Author: Russ Allbery Date: Thu Mar 18 13:18:27 2010 -0700 vldb_check man page should say -vheader, not -pheader The option was given correctly in SYNOPSIS but not in the OPTIONS section. Thanks, Rod Widdowson. FIXES 126771 Change-Id: Ibd9694c066b6750ad04273c22e66c84fb7b4a1c6 Reviewed-on: http://gerrit.openafs.org/1589 Reviewed-by: Rod Widdowson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 51362aba7b22a44cb601fb5c7d8800d55cd4f7b6 Author: Daria Phoebe Brashear Date: Tue Mar 9 14:13:50 2010 -0500 make tryevalfakestat really not block turns out this VerifyVCache can end up hitting other lockers. move it out of the try path. Change-Id: I073318a44b4da519413905b677fd439f1edd6c54 Reviewed-on: http://gerrit.openafs.org/1547 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4d1bc8e9980660e2952a231e97a0dedd8596e86c Author: Daria Phoebe Brashear Date: Mon Feb 15 16:34:43 2010 -0500 viced remove dead BreakVolumeCallBacks function this is no longer used. trash it. Change-Id: I0ad5aa203924c6a16afd68bc8ef55663951917c3 Reviewed-on: http://gerrit.openafs.org/1315 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9af8d46e7794c323a69bed4a84dd73d5a8d05a8c Author: Andrew Deason Date: Wed Mar 10 14:15:58 2010 -0600 vos: Avoid LWP stack overflow error on SIGINT vsproc's method of longjmp'ing out of a signal handler can thoroughly confuse LWP. At the very least, the information on our stack becomes incorrect, since we're no longer using the stack supplied by LWP. At the very least, we seem to (almost) always fail the sanity check checking for stack overflow. To prevent the test from happening, NULL the stack pointer before the longjmp so we can attempt recovery. FIXES 33360 Change-Id: Ie910cb1cc8564ac119c3b751fd8295bf312a3ce7 Reviewed-on: http://gerrit.openafs.org/1559 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf2d0db680f16394df6f0b9c4ee0c0738862276c Author: Andrew Deason Date: Wed Mar 10 11:58:04 2010 -0600 vos: Use IOMGR_SoftSig for signals When vsprocs tries to longjmp from the signal handler, use IOMGR_SoftSig first, so sleeping processes are woken back up. Without this, IOMGR can bail out since it finds no processes READY when we attempt to do anything with RX. Change-Id: I9089bc4d003786d4a2205cd97f722fbf85fd1aa8 Reviewed-on: http://gerrit.openafs.org/1558 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fe3ff8e91237f35fed33d6d417830e0fe44c6479 Author: Andrew Deason Date: Tue Mar 9 18:07:18 2010 -0600 vos: Mark longjmp-used variables as 'volatile' vsprocs tries to do error recovery by calling longjmp from a signal handler. Although this is quite error-prone since we call a ton of non-async-signal-safe functions, make it a bit more likely to work by marking variables that are used after the longjmp as volatile. This reduces how often (depending on the platform) these values will be completely worthless after a longjmp since they were cached in a register or similar. FIXES 125535 Change-Id: I8566f8cffde6cfdffd99a11d637645494e0a0514 Reviewed-on: http://gerrit.openafs.org/1557 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f2db78a346112f5320efc6f0b6b9fe4ae0d893d3 Author: Russ Allbery Date: Mon Mar 22 15:00:39 2010 -0700 Fix strict aliasing problems or add -fno-strict-aliasing Create a new CFLAGS_NOSTRICT Autoconf substitution variable which is set to -fno-strict-aliasing if we're using gcc to compile. Add @CFLAGS_NOSTRICT@ to the C compiler flags for source files that have significant strict-aliasing issues. Fix minor strict-aliasing issues elsewhere in the tree by using memcpy to copy the data into a properly typed variable. Change-Id: I43afdb5e33e06cb249b7db385a65daf8d2133a19 Reviewed-on: http://gerrit.openafs.org/1617 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 129b6954a6f491c6f3c3e417055bdc68d4726408 Author: Andrew Deason Date: Mon Mar 15 12:41:11 2010 -0500 Use AC_USE_SYSTEM_EXTENSIONS Instead of defining various symbols like _XOPEN_SOURCE, _BSD_SOURCE, and the like, just use autoconf's AC_USE_SYSTEM_EXTENSIONS to define all of the appropriate symbols for us. Deal with some fallout by removing some of the existing defines. Change-Id: I1c1968c89cc2dfda1293fd2566dac8e266325a72 Reviewed-on: http://gerrit.openafs.org/1582 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ac85550c9008baeba5cfdb400afb660fa85b6917 Author: Daria Phoebe Brashear Date: Thu Mar 18 20:17:02 2010 -0400 aix mount failure unlock and seterror set an error usefully and drop the vfs lock Change-Id: I9d901b50722c09e1b131077f0b19e2831e6a44c8 Reviewed-on: http://gerrit.openafs.org/1590 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 42a3eaae931e209377f765d736e64a802b5e9731 Author: Daria Phoebe Brashear Date: Wed Feb 24 14:16:48 2010 -0500 update link order librx needs libsys on irix to get afs_syscall libsys needs librx for xdr_mumble for rmtsys Change-Id: I2e4d9771807546c14f8b16b8805c222d79aab8c1 Reviewed-on: http://gerrit.openafs.org/1386 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7293ddf325b149cae60d3abe7199d08f196bd2b9 Author: Simon Wilkinson Date: Thu Feb 18 00:04:22 2010 +0000 XDR: Stop the madness We currently attempt to align our XDR implementation with what may be provided by the host system. This leads to a huge amount of parameter fudging, and general pain and misfortune. However, the only place that we still actually use the system XDR is for UKERNEL builds. Change this so that we use our XDR everywhere. Fix all of our type and function definitions so that they're standard. Remove the warning inhibitions. Change-Id: I53f4539e50eacb4e0691d8d3d6546bbfb7438358 Reviewed-on: http://gerrit.openafs.org/1340 Reviewed-by: Chaz Chandler Tested-by: Chaz Chandler Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-by: Simon Wilkinson commit 162cf1c51d167c43da49539c3956f5b94ba3c5e3 Author: Russ Allbery Date: Mon Mar 22 12:56:09 2010 -0700 Use sigset_t and sigfillset instead of memset Rather than using an arbitrary array memset to ones as our signal mask, use the POSIX sigfillset function and eliminate the static variable. Fixes strict aliasing errors with --enable-checking and gcc 4.4.3 on Linux x86. Change-Id: Ic3e0499d03657d94f60808ed12e090dc62cce6fc Reviewed-on: http://gerrit.openafs.org/1616 Tested-by: Russ Allbery Reviewed-by: Andrew Deason Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9dbe48ac2d14742d2acefb9cb4138b810a1a128e Author: Russ Allbery Date: Mon Mar 22 12:42:48 2010 -0700 Move non-executable stack assembly code to end of file The non-executable stack annotation used for Linux works by adding an additional section to the generated object. The annotation added in 9bfd03d723a9cf17673f40513a7adde1d503bcbc was added to the beginning of each assembly file. This caused build failures on Linux s390 because the remainder of the assembly code was then put in that section, which was discarded during linking. Add the annotation to the end of each assembly file instead, following the instructions at: http://www.gentoo.org/proj/en/hardened/gnu-stack.xml Change-Id: I5bd2d8d0ac31932b59757dcec0a942c459d61cac Reviewed-on: http://gerrit.openafs.org/1615 Tested-by: Russ Allbery Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 393820794c45b72a530b30bfd96aac982310eb7e Author: Daria Phoebe Brashear Date: Sat Mar 20 10:59:20 2010 -0400 multibreak callbacks add host marking to deal with refcounts, we have to mark hosts in a way other than holds. do so. all other h_Enum callers don't use this feature. FIXES 126497 Change-Id: I0fc008495b93d2c361d476c7fcb6b355c0dab825 Change-Id: I61128261b2e8c64fafbf7425d6a65dd48fd7e177 Reviewed-on: http://gerrit.openafs.org/1599 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a724dc31d85b082d7337dd0fa399df72dc5d9afc Author: Daria Phoebe Brashear Date: Sun Mar 21 13:49:21 2010 -0400 salvage variable initialization root vnode creation change caused a new warning i missed. fix it now, set rootvnode to NULL Change-Id: I06fe7a60f2fcc48c498249142220f65291188baa Reviewed-on: http://gerrit.openafs.org/1610 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 38fd7259202d098fe7b142438fddc0b5270efa50 Author: Daria Phoebe Brashear Date: Sun Mar 21 13:48:48 2010 -0400 aix vfs table entry in rc script add an entry to the aix vfs table so umount works Change-Id: I29a27ca350b948da0283ae09df0acd30eb6384c4 Reviewed-on: http://gerrit.openafs.org/1611 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 32ebc44f42aad7dd77d42d07bfd891e8be6f1fff Author: Andrew Deason Date: Wed Feb 3 13:02:23 2010 -0600 Create missing root directory when ORPH_ATTACH When we are salvaging with ORPH_ATTACH, orphans are normally attached to a volume's root directory. If the volume is missing a root directory, however, nothing is attached, and the volume can appear empty or unusable. So, to make it possible to get a useful volume out of a volume that lost (only) its root directory, create a new root dir, and attach orphans to that root. FIXES 94658 Change-Id: I946a60485b5793952707f44ac369ee243e8dc076 Reviewed-on: http://gerrit.openafs.org/1235 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 88a40ffd3b82f3ca1a1b2d57f32859a9d57b922e Author: Daria Phoebe Brashear Date: Sat Mar 20 10:40:32 2010 -0400 comment assumptions in lih0_r previously, we checked for (!held && !h_OtherHolds_r(host)) now, we want to confirm only we hold it, so comment that that's how this works Change-Id: I98a65fbb4f2d0532054c71699dc2168e4592668b Reviewed-on: http://gerrit.openafs.org/1598 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c9761464e7d8f1446862a3c94d900c74403b0f07 Author: Daria Phoebe Brashear Date: Sun Mar 21 12:49:34 2010 -0400 aix krb5 error message handling handle krb5 error messages for aix in aklog and lam plugin Change-Id: Iac96dc62e7889d375db111d5c96d86cf09715ab6 Reviewed-on: http://gerrit.openafs.org/1609 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a68104340b5d3768e533a7503deb068fdf06d72b Author: Daria Phoebe Brashear Date: Sun Mar 21 11:42:15 2010 -0400 panic prototype for aix 6 aix does need a prototype for the lame version of the function Change-Id: I636b734bb725c425b2b4c6e4ae3e9473e087c21d Reviewed-on: http://gerrit.openafs.org/1608 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c4537f0442ac7ecbf8c946de45004992e17d535f Author: Simon Wilkinson Date: Wed Mar 17 11:56:12 2010 +0000 Don't count root session keyrings against quota AFS PAM modules can call setpag() as root, regardless of the UID being authenticated. This leads to the session keyring being created using roots quota - on some systems (RHEL5) this quota is both small, and of a fixed size. Modify our keyring allocation code so that when a keyring is created by root, we don't do any quota checks. Change-Id: I2ee151ec1166a78475047bffd2c1d31f45e8dbdf Reported-by: Rainer Toebbicke Reviewed-on: http://gerrit.openafs.org/1577 Tested-by: Rainer Toebbicke Reviewed-by: Derrick Brashear commit e2134caed1812d523dc7c07a5307fd3ec53485f5 Author: Daria Phoebe Brashear Date: Thu Mar 18 15:27:35 2010 -0400 macos fsevents hinting add support for faking it. no exported interface exists, sadly. currently does only authentication events, and is best-effort only, however for people who get tokens after viewing directories in finder, this is a drastic improvement. also adds needed setting to afssettings plist FIXES 23781 Change-Id: I46d5a6cf103c30a2134decccc929e1ef85a26726 Reviewed-on: http://gerrit.openafs.org/451 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 65dcd0a7dabea704973d7f67c1733d2a47559f1b Author: Jeffrey Altman Date: Sat Mar 6 17:32:57 2010 -0500 afsadminutil: translate krb5 error messages on Windows util_AdminErrorCodeTranslate() is used to translate error code messages within the libadmin library set and is used by translate_et. This has in the past not translated krb5 error codes. This patchset conditionally adds support for using krb5_get_error_message() or error_message() on the Windows platform if KFW is installed. This is accomplished by adding new functions to afsutil.lib: initialize_krb5() fetch_krb5_error_message() which are used within util_AdminErrorCodeTranslate() only if AFS_KRB5_ERROR_ENV is defined. Support for Unix is not provided at the present time because doing this "right" will lead to a dependence on kerberos libraries from this library, which we might want to avoid. Change-Id: I7caf7b8e41cfd806f4defc175aa45afb165ec244 Reviewed-on: http://gerrit.openafs.org/1531 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 7595adc20b9ae1807cf720c72917eb6d133c765f Author: Andrew Deason Date: Fri Mar 19 09:31:04 2010 -0500 volume_inline.h does not need sys/file.h src/vol/volume_inline.h does not need sys/file.h; at one point, it was using macros from sys/file.h for locking constants, but now we use the lwp/lock.h constants. So, include that instead. Also, only include it for DAFS, since we only use the constants in the DAFS case. Thanks, Jeffrey Altman. Change-Id: I114b438d7fb1fbb3a35bdfa0717ac334c7f80355 Reviewed-on: http://gerrit.openafs.org/1596 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman commit e55f39053a7a26648ad94fae7fa7eaf4e9fb0725 Author: Daria Phoebe Brashear Date: Fri Mar 19 01:13:26 2010 -0400 macos uninstall redux the rest of the uninstall changes. git add, sigh Change-Id: I69e4f4a870e08b1796b4546776e373f0a82e0e8e Reviewed-on: http://gerrit.openafs.org/1594 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9c39116015ffd53e532656146ab984c4294bdf65 Author: Daria Phoebe Brashear Date: Fri Mar 19 00:57:13 2010 -0400 update macos uninstaller make the uninstaller cope with the new receipts format and location FIXES 125634 Change-Id: I6cf0cd3e979a34115f391477657ec37f0c3d8faa Reviewed-on: http://gerrit.openafs.org/1593 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 105481d3348a93d33695fb705f9fa5c8af210e7e Author: Dan Hyde Date: Tue Feb 2 10:37:47 2010 -0500 VOL_LOCK needed when traversing DiskPartitionList VLockPartition sets VOL_LOCK, opens (perhaps creating) the lock file for a partition, and flock's it. VUnlockPartition, sets VOL_LOCK, and closes the lock file fd. VLockPartition is called from the salvager. Nothing ever calls VUnlockPartition. VPFullUnlock is called every 30 seconds, does NOT set VOL_LOCK, and happily closes any lock file fd it finds, breaking any lock set with flock. Other routines use the VOL_LOCK when traversing DiskPartitionList. Change-Id: I683547f574b1f760e72014f5d44ce3987f07b5df Reviewed-on: http://gerrit.openafs.org/1213 Reviewed-by: Dan Hyde Tested-by: Dan Hyde Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 028240329c09b6a311cb85736f41d75f7ee7a01f Author: Ben Kaduk Date: Wed Mar 17 01:55:41 2010 -0400 Catch up with FBSD80's removal of thread argument to VFS calls FreeBSD SVN rev 191990 removed the thread argument to filesystem-dependent VFS calls. Curthread is always assumed. There is a __FreeBSD_version bump that we could check if we felt like being precise, but FBSD80_ENV is probably good enough. Change-Id: I4534f01999b61eaeaa014c41473c693e6d432fef Reviewed-on: http://gerrit.openafs.org/1587 Reviewed-by: Derrick Brashear Tested-by: Benjamin Kaduk commit 4bcd24e190ae1a69e7acd60d2e74d5c5a9383e63 Author: Daria Phoebe Brashear Date: Mon Mar 15 13:15:34 2010 -0400 aix vnode hold simplification instead of special-casing aix's AFS_FAST_xxx *and* calling VREFCOUNT_INC for AIX, make it all consistent; side effect, remove now-superfluous AIX ifdef'd code Change-Id: Ic6a91429aad26e17fd9e12884ba0eba86564c377 Reviewed-on: http://gerrit.openafs.org/1572 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 46099b6d0b3f3ecec58b679518c9a267f71dfd49 Author: Daria Phoebe Brashear Date: Wed Mar 17 14:25:38 2010 -0400 regain glock on storedata error exit if we bomb out with EFBIG, we must regain the GLOCK before returing Change-Id: I3aec92f90abd665d86dcf413dad0e9cbb251a0af Reviewed-on: http://gerrit.openafs.org/1584 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit da68c39de16257b329f470c42c2d4cd8165340f6 Author: Daria Phoebe Brashear Date: Wed Mar 17 13:23:30 2010 -0400 kill apsl afssettings and fstab replace both afssettings with something patterned from webdav's (BSD-licensed) mount program with general plist reading code. the lists of valid oid objects of course have to be the same. eject old darwins. add the new one. fstab with something from freebsd umount Change-Id: I28f6765475314b9b78102c762daec19cda4988c3 Reviewed-on: http://gerrit.openafs.org/1583 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b772bd7e3c1305710eb3c18b2fe4108e467bd383 Author: Evan Broder Date: Tue Nov 3 23:50:39 2009 -0500 Increase the maximum number of sysnames Change-Id: I8438ca19649730260370d8b00fb0157e808abe31 Reviewed-on: http://gerrit.openafs.org/778 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3cffaee790feef2b80915e9a247e0d5c3c1948da Author: Andrew Deason Date: Fri Feb 19 17:13:01 2010 -0600 DAFS: Replace partition locks with volume locks In DAFS, replace uses of the VLockPartition_r partition-level locks with the approprivate VLockVolume*NB volume-level locks (and sometimes FSYNC_VerifyCheckout). This allows for greater parallelization of volserver attachment / volume creation, for volume operations to occur during salvages, and for multiple salvages on a single partition to occur simultaneously. More architectural details of volume-level locks can be found in the changes to doc/arch/dafs-overview.txt. Change-Id: I4e8ef4c864002d7e7c976691824c53dfa9cfaf91 Reviewed-on: http://gerrit.openafs.org/1406 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 57984286f3d96cb2dbf0038dbc67d2f3c069e22e Author: Andrew Deason Date: Fri Feb 19 17:02:08 2010 -0600 Add code for locking individual volumes on disk This adds the necessary APIs and associated changes to lock (on disk) an individual volume on a particular partition. Nothing yet calls these new functions. Change-Id: Ibfa00293e7411f3f48eabdecb13b7e80e126a1ff Reviewed-on: http://gerrit.openafs.org/1405 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e42e0912d774cbfc309250052631c6e60c83164d Author: Ben Kaduk Date: Tue Mar 16 17:07:04 2010 -0400 Avoid panic on shutdown with memcache and INVARIANTS When running with memcache, the filesystem cache is not initialized, so the file-local struct vnode *volumeVnode is never set to non-NULL. However, shutdown_cache() unconditionally calls vrele(volumeVnode), which triggers a KASSERT that the argument to vrele() is non-NULL. For certain kernel configurations, this results in a panic. Change this so that vrele() is only conditionally called if the volumeVnode is non-NULL. Change-Id: I80235f0d45ae11f26e9a09854bb34439f89bbb40 Reviewed-on: http://gerrit.openafs.org/1576 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c9a4e11bbac143f7e44af4eb1e6fae1653679e33 Author: Ben Kaduk Date: Thu Mar 11 00:13:12 2010 -0500 Allocate and free backing store for event mutices Actually get memory for the event mutex. With this and a locking tweak, afsd actually starts (with memcache; the UFS cache still has some locking issues). Note that struct mtx is small enough that we may want to just include it inline in afs_event_t and avoid having to do a separate allocation/free step. However, Derrick wants to merge the FBSD and DARWIN versions of this file, so stick with the more compatible version for now. I find that without the memset(), mtx_init() will (sometimes?) complain that the mutex is already initialized. The glock should ensure serialization here, though, so that we only allocate and initialize one mutex per event. Also remove an unnecessary cast while here. Change-Id: Ib304f4301a478a82f0fb8c9ae3bfee98a2a28acd Reviewed-on: http://gerrit.openafs.org/1560 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d9cf88428aa542d1cd304e82f02333eced0194ae Author: Daria Phoebe Brashear Date: Mon Mar 15 14:31:49 2010 -0400 rx nat event connection reference hold a conn ref for the nat ping event. don't renew if the connection is being garbage-collected. Change-Id: I45ebf7b8d0362e409094666f186e6b4d58cc906a Reviewed-on: http://gerrit.openafs.org/1573 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit be2c1ea5ef4a7afb315c2220c4de4b73cfb10894 Author: Marc Dionne Date: Mon Mar 15 21:34:28 2010 -0400 growlagent: remove generated Makefile with make distclean Add the growlagent Makefile to the list that gets cleaned with the distclean target. Change-Id: I6c3385f3b839c436efb50d0fc7239c181e027be6 Reviewed-on: http://gerrit.openafs.org/1575 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8ba939e12636d573404d2777505a61608a4f3bd8 Author: Antoine Verheijen Date: Mon Mar 15 13:49:31 2010 -0600 Remove return of value for afs_MarinerLogFetch() afs_MarinerLogFetch(), a void routine, attempts to return a value. While gcc (amongst others) merely issues a warning about this, the Sun Studio C compiler gets cranky (at least on x86) and treats it as a hard error, thereby aborting the build. Since there actually is no value to return, this update simply removes the attempt. Change-Id: Ic89fb05380a25a433f9c3b9fa57962f215348d95 Reviewed-on: http://gerrit.openafs.org/1574 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6bfca9c06c1ddcf2cb238a821463dce91e4f2146 Author: Daria Phoebe Brashear Date: Wed Mar 10 02:03:25 2010 -0500 freebsd per-event mutexes use the same system for event mutexes macos does. this time for sure. Change-Id: I18be653607490ba42f40a0b069460ece2f6ab416 Change-Id: I7e0a2f6042ef7f31612072c6625579de42b17f9b Reviewed-on: http://gerrit.openafs.org/1554 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk Reviewed-by: Derrick Brashear commit 19670781ba6d3d9258786319e98003e7afd887df Author: Andrew Deason Date: Tue Feb 9 13:03:06 2010 -0600 vlserver: make rxinfo threadsafe The vlserver has a function 'rxinfo' used for printing out information about an RX call for logging purposes, which used a static string. Change it to use a caller-passed buffer, so it is safe to use in multiple threads. Change-Id: I186010792e743bc9676ddd5b4c99f011b64988e6 Reviewed-on: http://gerrit.openafs.org/1545 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Reviewed-by: Dan Hyde Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 81b7f1b010789cc6a345454c677e69bf2e5c8a3b Author: Daria Phoebe Brashear Date: Mon Mar 8 15:58:42 2010 -0500 afsdb lookup shouldn't leak memory on realname lookup when looking up the "real" cell name, avoid leaking memory. the strdup is inside a loop and would leak memory for each host returned above one. Change-Id: I36cc9bd27ddc831121f47046daaab11f752012fe Reviewed-on: http://gerrit.openafs.org/1538 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dfa356732fd10073c3b777ccf48f753fcd528c93 Author: Michael Meffie Date: Sun Feb 28 13:02:40 2010 -0500 squash warning in db_verify Fix warning from the prdb_verify -rebuild with supergroups fix, fa2536c02cf26f7db30bf623e95f42be88138d14 Change-Id: I584cba07287660c9e560a2ba931545cbc5b4843f Reviewed-on: http://gerrit.openafs.org/1570 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 808cebbf45101c512480350ce373ac95c08fa57b Author: Jeffrey Altman Date: Sat Mar 13 11:47:51 2010 -0500 Windows: warnings removal for afskfw.c Use StrSafe string manipulation functions in place of most instances of strcpy, strcat, sprintf, etc. With the use of StringCbCopy, StringCbCat, StringCbPrintf, etc. there is no longer a need to manually assign a NUL to the end of a C string buffer as was required with strncpy or strncat. There is one strcpy instance remaining due to the inability to know what the length of the destination buffer. The API needs to be altered to make the destlen available and that is not an appropriate change for this patchset. A deprecated warning is a reminder to revisit this in the future. Several int to unsigned int type changes to avoid signed vs unsigned warnings. Shuffle the order of header files to avoid macro redefinition warnings. LICENSE MIT Change-Id: I4b5d15b60918cc8dc6ab205f1a7d45e17d14de43 Reviewed-on: http://gerrit.openafs.org/1567 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 17f9444be39cb520efa09011f0f18db5b90e87f3 Author: Jeffrey Altman Date: Sat Mar 6 17:30:17 2010 -0500 Windows: afskfw - conditionalize use of krb5_get_error_message for KFW 3.1 and earlier KFW 3.1 is supported by OpenAFS but does not contain krb5_get_error_message or krb5_free_error_message. As a result it must be loaded at run-time and conditionally used. LICENSE MIT Change-Id: I803b4af726605dc49baf2c2d45fae3ecafe2ccf9 Reviewed-on: http://gerrit.openafs.org/1529 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d4340c0da4574d61f25d7ebfba6afb352d1113bf Author: Jeffrey Altman Date: Sat Mar 6 17:32:22 2010 -0500 Windows: netidmgr - conditionalize use of krb5_get_error_message for KFW 3.1 and earlier KFW 3.1 is supported by OpenAFS but does not contain krb5_get_error_message or krb5_free_error_message. As a result it must be loaded at run-time and conditionally used. LICENSE MIT Change-Id: Ic2ad16bb5c2d905e30ec814951b5253e2ef888da Reviewed-on: http://gerrit.openafs.org/1530 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5026d73c8624e3eb36908ce16cc2bb6509eb4e37 Author: Daria Phoebe Brashear Date: Thu Mar 11 12:10:38 2010 -0500 macos dropbox fix for finder sadly this can mean we lie and say delete will work when it will fail, but finder looks for KAUTH_VNODE_DELETE_CHILD along with KAUTH_VNODE_ADD_SUBDIRECTORY and KAUTH_VNODE_ADD_FILE, not as one-offs. Change-Id: I4079b89e188992ee33594cad5bd15f7bf6106203 Reviewed-on: http://gerrit.openafs.org/1561 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f1bfc6674e143a29ca6cc68621c22a6b8dd2cd36 Author: Daria Phoebe Brashear Date: Tue Mar 9 16:51:56 2010 -0500 dkms configure correctly push the correct configure options for dkms Change-Id: I18e33c693fa4c32e39cee08844312e67cb280443 Reviewed-on: http://gerrit.openafs.org/1551 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2d7e83dccc4c7c90221ece5bc5f46e0620068b03 Author: Andrew Deason Date: Wed Mar 10 10:16:04 2010 -0600 Squash pthreaded vos warnings Trying to build vos in src/tvolser can produce a warning, at least on amd64_linux26, since we cast to an int of the wrong size in SendFile and ReceiveFile. Use intptr_t like we do everywhere else instead. Change-Id: Ic624bf90ab7338b63f8177b762e1deddbe7fb73d Reviewed-on: http://gerrit.openafs.org/1556 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit d32b40ee7db535d36f4c167c7c3a2ea5855f6bf3 Author: Simon Wilkinson Date: Wed Mar 10 15:40:50 2010 +0000 Don't always use the local cell for db clients Commit d008089a79ef268bbca91d660a840f32cb416865 broke things so that we were always trying to use the local cell, rather than the one specified by the user. Fix this so that the command line cell is used, unles -localauth is specified, which restores the existing behaviour. FIXES 126716 Change-Id: I2ce34e764780d5a22c67474d5ae1076d52b04113 Reviewed-on: http://gerrit.openafs.org/1555 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 5383e6a330e45d3a2e6fb1ff0f80e4a50d2763ec Author: Simon Wilkinson Date: Tue Mar 9 22:17:05 2010 +0000 Update RPM CellServDB Update the CellServDB in the RPM packaging to 2010-02-28 Change-Id: I03d062a6c9b53edd6865932df5a93b42cd46e708 Reviewed-on: http://gerrit.openafs.org/1552 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 63fe055ecd13c93a3a6070a15a745ace2e420817 Author: Andrew Deason Date: Fri Mar 5 17:07:47 2010 -0600 udebug: Fix byte ordering of last yes host Udebug gets the last 'yes' host in HBO, but afs_inet_ntoa wants it in NBO. So convert it to NBO. Change-Id: I5524d8086d5ac08875306fee923cb297c971cda8 Reviewed-on: http://gerrit.openafs.org/1549 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 97b69af9255d2aca0f858588cc957c05690e387e Author: Andrew Deason Date: Tue Mar 9 11:43:42 2010 -0600 vldb_check: do not ntohl u_chars vldb_check was ntohl'ing fields like serverNumber when reading in a VL entry. Since this is a u_char, ntohl'ing will just always result in 0, not the actual value. Remove the ntohls so we read in VL data correctly. FIXES 126661 Change-Id: If5117e1750d6dacd9bbe18bc936e0a1ba3d44340 Reviewed-on: http://gerrit.openafs.org/1548 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 861cdf82de9f7fbaa28e87c5f26e97ddc30f3f9a Author: Andrew Deason Date: Fri Feb 19 17:04:29 2010 -0600 Add FSYNC_VerifyCheckout Add the function FSYNC_VerifyCheckout, which can be used to verify that a previous checkout of a volume is still known by the fileserver, and hasn't been forgotten about (by e.g. the fileserver restarting). Change-Id: Ie3ec63d155fe16ca4929b370bbe55850075cec83 Reviewed-on: http://gerrit.openafs.org/1404 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit aa8c114454f0825adcf03bd29377c052a3e4719a Author: Andrew Deason Date: Tue Feb 23 15:43:11 2010 -0600 Add DAFS documentation overview for developers Add some developer documentation for DAFS. This isn't comprehensive or extremely detailed, but is intended to provide a larger-picture overview of some of the pieces of DAFS. More detailed docs are intended to exist in source comments (doxygen and such), and should already be there for the most part. Change-Id: I167b52c3bfb9e6b4b7111b3548ca8b1dafe305ea Reviewed-on: http://gerrit.openafs.org/1376 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 797fe86a8e6f7b6306e9dc2c3de1432e5fcbc0c2 Author: Andrew Deason Date: Fri Feb 19 16:48:30 2010 -0600 Add VLockFileReinit Add a VLockFile function, VLockFileReinit, to close all locks on that particular lock file. Change-Id: Ie1e4af21a486fb0451b6d613117027a522c9bb5a Reviewed-on: http://gerrit.openafs.org/1358 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7d7e2f2af801b734c1cb7fd3f84be419ad851348 Author: Andrew Deason Date: Fri Feb 19 16:48:06 2010 -0600 VLockFile: add a couple of asserts Add a couple of asserts to make some mistakes very obvious, such as passing in an invalid 'locktype' or unlocking more times than locking. Change-Id: Ie6e707ea515d5a6527dedc8875f0a4694b7b93c9 Reviewed-on: http://gerrit.openafs.org/1357 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 9aa09f5e634db8a8b2dedf3a749f2a90ef206e2f Author: Andrew Deason Date: Fri Feb 19 15:17:56 2010 -0600 Schedule all salvages via VScheduleSalvage_r Change I03ecf6302436c35fec705cd6c84a40b7cdbf6f97 allowed non-fileserver programs to schedule salvages via FSSYNC, making the FSSYNC call directly in VRequestSalvage_r. This isn't as safe as making the call in VScheduleSalvage_r (as is done when the fileserver schedules a salvage via SALVSYNC), since we may not have relinquished all of our handles and such for the volume by the time the salvager starts. So instead, make this path a bit more like the fileserver, and make non-fileserver programs actually make the FSSYNC call in VScheduleSalvage_r. Consequently, make VScheduleSalvage_r conditionally hit FSSYNC or SALVSYNC. Add a VCheckSalvage to attach2 failures, so non-fileserver salvage requests actually get scheduled. Also, reorganize the attach2 error handling a bit to make this a bit easier. Change-Id: I786a7953e860a132575caad8fe12168f6841442b Reviewed-on: http://gerrit.openafs.org/1356 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b550276579f929512a5fa3cf1d9482df914f67be Author: Andrew Deason Date: Thu Feb 18 14:22:39 2010 -0600 Add FSSYNC debug logging Add logging for what FSSYNC commands are being received by the fileserver, so it is possible to see what's going on with FSSYNC. Log at level 125, since this isn't interesting unless you knows some FSSYNC details, and it can get quite verbose. Change-Id: Ia067d3ba5084a919332989aac437ae4d4082e2e4 Reviewed-on: http://gerrit.openafs.org/1349 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit faefa0dc8e40e9e4c81a30a6fe687173b3327725 Author: Andrew Deason Date: Wed Feb 24 09:47:03 2010 -0600 Move *SYNC string translation out of fssync-debug Move the routines for translating ProgramType codes, and SYNC command codes, response codes, etc out of fssync-debug, and into header files anyone can use. These routines are useful especially for SYNC-related debug or error logs. Change-Id: Idc5ffe0dd798a9f18ca733e94d0bb4d740ad0836 Reviewed-on: http://gerrit.openafs.org/1390 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e67e4405b713840dc4b4fec2337462948c55aa4f Author: Andrew Deason Date: Thu Feb 18 12:21:45 2010 -0600 Do not rely on vol header for V*VolumeHandles_r VCloseVolumeHandles_r and VReleaseVolumeHandles_r were using V_id to get the id of the volume; just use vp->hashid so we can call these even if we lack a header. Change-Id: I0f0bc0ae82a7b86135aebe194c79a223a6f25094 Reviewed-on: http://gerrit.openafs.org/1348 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 804a29034ffcabaf0009b3f41d4acd4f9ba0b056 Author: Daria Phoebe Brashear Date: Tue Mar 9 11:02:13 2010 -0500 darwin report kext load address also report unload. in event of panic after module is unloaded (which *shouldn't* happen but i have evidence it might) you can retcon where the module was Change-Id: I07f89d2393605c4b7cac853cbe09b5a4a52ea4cd Reviewed-on: http://gerrit.openafs.org/1544 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2724e9ee8544ad5bf598e6552ab9a42ed615aa88 Author: Ben Kaduk Date: Mon Mar 8 23:38:15 2010 -0500 Export prototypes for osi_fbsd_{alloc,free} for use in rx Include prototypes for osi_fbsd_alloc() and osi_fbsd_free() in osi_machdep.h, since afs_prototypes.h is not included when compiling the rx code. afs_osi_Alloc_NoSleep is #defined to be osi_fbsd_free, and is used in the rx code; if the prototype for the latter is not included, then int is assumed for all parameters and return values, which breaks the calling convention for 64-bit pointers. Change-Id: I3d7575525f159097d1f8ca9ecb22af9f27b63111 Reviewed-on: http://gerrit.openafs.org/1541 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0eb19d67f6848cd0216d079d66487b5c1b2a95fb Author: Ben Kaduk Date: Sat Mar 6 15:37:50 2010 -0500 Use correct types for UFS devices For the FreeBSD 5.3 release, UFS (and everything else) took a "dreaded s/dev_t/struct cdev */" change; we need to keep up with this when comparing mountpoints' devices. Change-Id: I47d3f874be05b16fc2da89dac2bb1b64c573ab8e Reviewed-on: http://gerrit.openafs.org/1540 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b6a3d7c9da9a0bfcd3e24698e083919ef72de768 Author: Ben Kaduk Date: Sat Mar 6 15:20:18 2010 -0500 Use the correct API for msleep() in FBSD's afs_osi_TimedSleep() msleep() does not take a struct timespec*, it takes its timeout value as a multiple of the kernel's HZ parameter (tuneable at startup). Since the afs_osi_TimedSleep interface is documented to take a timeout in milliseconds, we must correct for the (sometimes) different units (currently HZ defaults to 1000). We prefer to multiply the timeout by HZ before dividing by 1000 so as to not lose precision; overflow is assumed to be unlikely. Change-Id: Ic101f3bf54213eebe249cb6c40a6d8cbd3d722f0 Reviewed-on: http://gerrit.openafs.org/1539 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 430c68eb2ada1559c0b775e2e82cbf9c98a25b99 Author: Ben Kaduk Date: Sun Feb 28 17:07:15 2010 -0500 FBSD build finishes for me Declare the fd variable. Also a preprocessor tweak, as e2b65732 seems to have gotten the sense of the AFS_FBSD50_ENV check wrong. Change-Id: I7e498a8276586af5afe0483380d00ef83266c316 Reviewed-on: http://gerrit.openafs.org/1526 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 84eee2ed411cab64b136ccea3a6c29f1313e2ecc Author: Daria Phoebe Brashear Date: Mon Mar 8 14:06:50 2010 -0500 afsconf srv lookup fill cellname pull out the cellname from the reply Change-Id: I8e0dbb5b82e353ecd29a9cce25eaee1255062cd9 Reviewed-on: http://gerrit.openafs.org/1537 Tested-by: Derrick Brashear Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 7aca59c2f6c8097fbc0cafab18fe4cdfe28e89c2 Author: Antoine Verheijen Date: Wed Mar 3 11:57:29 2010 -0700 Begin support for OpenBSD 4.7 Add config param header and sysname number for OpenBSD 4.7 (currently in beta). Change-Id: I6537bd352becd9a8c3937e95f79911c8bc08bcfb Reviewed-on: http://gerrit.openafs.org/1533 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a31bbd3123dd7bd5c0f73c1bcd89548d489930a8 Author: Antoine Verheijen Date: Sun Mar 7 14:50:06 2010 -0500 OpenBSD: eliminate use of VREF() macro OpenBSD 4.7 (currently in beta) removes the (dummy) VREF() macro from the system header files. For at least as far back as OpenBSD 3.6, all this macro does is expand to a call to a system routine by the same name in lower case. This patch therefore replaces the single OpenBSD use of VREF() with a direct call to the routine to which it expanded. Change-Id: I44888ed1ba7ba8e7150202798def10bed2ab3158 Reviewed-on: http://gerrit.openafs.org/1532 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2f9df771bbe418b9d1a3797a844c6965d0c1325f Author: Ben Kaduk Date: Sat Mar 6 14:51:17 2010 -0500 Be type correct in osi_ThreadUnique() for FBSD Formerly, in AFS_FBSD50_ENV, we used curproc for the ThreadUnique value; however, curproc (#defined as curthread->td_proc) is a struct proc *, not an actual pid. (As such, it suffers from a 32/64-bit mismatch on 64-bit systems.) Use the correct value, curproc->p_pid, instead. Change-Id: If07ef3b0814c0fee63b62d2f36fa94d6e45573b9 Reviewed-on: http://gerrit.openafs.org/1528 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cb37b133d4f186c6325ea16ad01210fe45145492 Author: Ben Kaduk Date: Sun Feb 28 20:08:52 2010 -0500 FBSD module loads now Actually declare the global afs_global_owner, in afs_osi.c. This allows all symbols to resolve, so that the loader will accept the module. There are still significant issues, though. Change-Id: I705178cfa152f4ceaf59f008f53c1f62fb92826f Reviewed-on: http://gerrit.openafs.org/1527 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit db13984fb2dd2f882be36b7055d89c5e1c992021 Author: Jeffrey Altman Date: Fri Mar 5 09:49:12 2010 -0500 Windows: use krb5_get_error_message instead of error_message krb5_get_error_message() can return more descriptive errors based upon the context in which the error occurred by extracting the cached error message from the krb5_context. Since aklog has a krb5_context, use that instead of error_message(). Use GetProcAddress to load krb5_get_error_message and krb5_free_error_message function pointers because versions of KFW prior to 3.2 do not export them. LICENSE MIT Change-Id: I12043ec1890bcf0f4d9566f35bb1228e579c49fe Reviewed-on: http://gerrit.openafs.org/1520 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d9410aba89c5a257635fa33dbd78db2c0cb32ac8 Author: Simon Wilkinson Date: Sat Mar 6 00:13:06 2010 +0000 Linux: Make keyring destructor remove all tokens The keyring destructor on Linux was only destroying the first unixuser structure found for the PAG being destroyed. In environments where each PAG contains tokens for multiple cells, this led to us leaking unixuser structures, and eventually grinding to a hault due to the length of the resulting hash chains (and some horrific O(n-squared) performance in the PAG statistics code). Add a utility function for the keyring destruction function to call which will mark as deleted all unixuser structures for a particular PAG, and use it. Change-Id: I355465c43cc2cf9d70f613d6f97cd65552260157 Cc: Eric.Hagberg@morganstanley.com Reviewed-on: http://gerrit.openafs.org/1524 Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit b7b0b4dea74e829ce0e36edd87a881a6f11df472 Author: Simon Wilkinson Date: Sat Mar 6 11:21:06 2010 +0000 Linux: Fix builds on RHEL4 RHEL4 has a very old 2.6 kernel (2.6.9), which predates the start of the Linux git tree. When I started using page_offset, I mistakenly assumed that everything in the initial commit to that tree was available in all 2.6 versions we care about. That isn't the case, sadly. Secondly, the new readpage code uses zero_user_segments, which has only been available in the mainline kernel since 2.6.25 (RHEL5 appears to have a backport) Implement local wrappers for both of these functions when configure can't find them in the kernel we're building for. These functions have been created independently of the Linux tree. page_offset is a copy of the code we used before we replaced it. zero_user_segments() is a first-principles implementation of the function (which zeros a pair of memory ranges within a single page) FIXES 126678 Change-Id: I622aec4d653567d5234e7a127b981e97468bbe7c Reviewed-on: http://gerrit.openafs.org/1525 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 80481fb14ea9301b0f6b3503d07ecaef39aef0d8 Author: Marc Dionne Date: Fri Mar 5 17:54:42 2010 -0500 Linux: replace invalidate_inode_pages This helper has been deprecated for a while, and gets removed with 2.6.34. Replace it with invalidate_remote_inode, which has been around for all of 2.6's life, according to Chaskiel in RT #124377. Change-Id: I8658b454e1c997c041f654ba55d06f713ea25459 Reviewed-on: http://gerrit.openafs.org/1523 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e4ac68692d7c5db84d9edfaa45c36440e4f98e4d Author: Jeffrey Altman Date: Fri Mar 5 09:47:43 2010 -0500 Windows: use krb5_get_error_message to translate krb5 errors in afskfw library Use krb5_get_error_message to translate krb5 errors to strings in the afskfw library. This provides error translations to afscreds and afslogon.dll. LICENSE MIT Change-Id: Idd4c15b3719be517a79947f6af52a4bdf50b1155 Reviewed-on: http://gerrit.openafs.org/1519 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 99875245107ba25c9a43210d8c123be379d7ce8f Author: Jeffrey Altman Date: Fri Mar 5 09:46:08 2010 -0500 Windows: use krb5_get_error_message in netidmgr_plugin Use krb5_get_error_message to translate krb5 error messages to strings. LICENSE MIT Change-Id: Ia2fd5d655e4b0fa894ce724d4c123d2df433bb32 Reviewed-on: http://gerrit.openafs.org/1518 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 198096887ba88b4ab6acf3bc5ef79399a16f8152 Author: Jeffrey Altman Date: Fri Mar 5 09:43:13 2010 -0500 Windows: Add krb5 error message functions to loadfuncs header Add krb5_get_error_message and krb5_free_error_message to loadfuncs-krb5.h so that they can be used in conjunction with LoadFuncs to obtain function pointers when available. LICENSE MIT Change-Id: Ice7c2f6384c480570fcec4810bd86f4d0c525227 Reviewed-on: http://gerrit.openafs.org/1517 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 03d529681c1e3fb2211250f0a75c52832a0712b9 Author: Jeffrey Altman Date: Thu Mar 4 16:23:36 2010 -0500 Windows: reset local mount point count during freelance re-initialization When a re-initialization is taking place, be sure to reset cm_noLocalMountPoints to 0 in case someone deletes the "Freelance" registry key out from underneath the service. LICENSE MIT Change-Id: I2c3edd0d617d8fb7d670036510ca2a22eece0e6d Reviewed-on: http://gerrit.openafs.org/1514 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit eaccbc942e6f82f4549dc6c4e5d30d27fe4b0c39 Author: Simon Wilkinson Date: Fri Mar 5 15:40:55 2010 +0000 Linux : Don't leak GLOCK when writing CellServDB Don't leak the GLOCK when we're iterating over the CellServDB in response to a read of /proc/fs/openafs/CellServDB Change-Id: I2ed08b9d7f93c7513b49708d009e8acaa478b5f8 Reviewed-on: http://gerrit.openafs.org/1522 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e49f42f2830945be940d28f145eab1db1d92d713 Author: Daria Phoebe Brashear Date: Thu Mar 4 16:07:14 2010 -0500 add growl agent for macos a userspace monitoring helper for mac users Change-Id: If81c0b9d2c7606e81f271465491f0a0eb5db62b3 Reviewed-on: http://gerrit.openafs.org/1513 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 08aec0182a888f38fa50ca4e1dbd9ed83e022a2a Author: Daria Phoebe Brashear Date: Thu Mar 4 14:16:04 2010 -0500 darwin afshelper fix startup check make the launchd check run as root without whining about passwords repeatedly Change-Id: Ib4bac7c9ddf1837a8e86bf17a8a66b6ba1247272 Reviewed-on: http://gerrit.openafs.org/1511 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ee340811a6f225d1cc81f651530fb9bfc892e916 Author: Daria Phoebe Brashear Date: Thu Mar 4 12:23:14 2010 -0500 evalmount copy out volid for sure make sure we really have a volid and avoid dereferencing tvp if there's none Change-Id: Iec6e7cba4d43e2d9c9af296bd6a1574e290bd118 Reviewed-on: http://gerrit.openafs.org/1512 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 92428f6f59c872be1e8b57681a984362ef0d58ed Author: Daria Phoebe Brashear Date: Tue Mar 2 23:14:47 2010 -0500 macos shutdown consistent behavior on every other platform, we check for afs unmounted before allowing shutdown. do the same here. Change-Id: Ic8c287be3ae39ad2d2ecb633748813f7f07b16e3 Reviewed-on: http://gerrit.openafs.org/1507 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5faeff77b0c9f551cd6d36daa2cbc12a41d8508d Author: Daria Phoebe Brashear Date: Tue Mar 2 06:53:53 2010 -0500 add user warning facility via mariner for macos existing mariner clients treat fetch$ and store$ special and otherwise just blat out a string. use this to our advantage Change-Id: Ib218918abe6038a08af58ea58405b2856ba1da9f Reviewed-on: http://gerrit.openafs.org/1505 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 73ea71b2d37443edd0d86b819e0a43ab3cf26df9 Author: Daria Phoebe Brashear Date: Tue Mar 2 06:42:41 2010 -0500 support mariner messages sans vcache if a mariner message is passed in without a vcache, print it as-is Change-Id: I1791102826db3cde484e0809ba79d54f22220be1 Reviewed-on: http://gerrit.openafs.org/1504 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c0056a01d70e7fd14de97d9f37c847f2680a0f7a Author: Daria Phoebe Brashear Date: Tue Mar 2 06:36:02 2010 -0500 rewrite marinerlogfetching marinerlogfetching and marinerlog have a lot of code duplication. fix that. Change-Id: I52624ab8d1a6310c92a580990c45cc9313ea7a1c Reviewed-on: http://gerrit.openafs.org/1503 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 958f7a28303175c1b4fcf2605afd0d19918f53fe Author: Daria Phoebe Brashear Date: Tue Mar 2 06:28:52 2010 -0500 restore mariner storing message sometime after afs 3.3, the mariner log "storing" message was lost in code restructuring. restore it. Change-Id: I7832718973bf6378e643aea5391a0fd4940b5d3f Reviewed-on: http://gerrit.openafs.org/1502 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 73f0f34bd4b5c4335d721238d8072fb8c3eb8fa7 Author: Daria Phoebe Brashear Date: Tue Mar 2 06:14:19 2010 -0500 de-printf the cache manager put most printfs into either afs_warn or comment out entirely move a couple uprintfs to afs_warnuser (and allow them to trigger on macos) Change-Id: If67a09287fcfbe44cc76961dd59d2aad3299e887 Reviewed-on: http://gerrit.openafs.org/1501 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5fae0f0b9afd2396458d3dd9496a90eebd0cc626 Author: Jason Edgecombe Date: Sat Feb 13 11:31:09 2010 -0500 Add a section on how to tune the AFS cache using xstat_cm_test The cache tuning section covers how to use xstat_cm_test to measure the cache miss percentage. LICENSE BSD Change-Id: I895dbbecd7e16d44e18fa65e5e1aa1da5c567a06 Reviewed-on: http://gerrit.openafs.org/1308 Tested-by: Jason Edgecombe Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 62bb20951e125274b29183f95481e7a519efe791 Author: Marc Dionne Date: Fri Feb 26 17:00:58 2010 -0500 Remove duplicate make targets in tubik, cleanup dependencies Eliminate a few duplicate targets in the tubik Makefile, and clean up some dependencies that could cause the same source file to be compiled by different threads simultaneously when building in parallel. At least on my current gcc this would consistently result in a gcc internal error. The duplicate targets generate make warnings. Change-Id: I807debae67c04b00a88ec798b966628e10c5f316 Reviewed-on: http://gerrit.openafs.org/1506 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f73145a3e4478a32d9a12266888b241a6c5a9dee Author: Daria Phoebe Brashear Date: Tue Mar 2 05:59:30 2010 -0500 darwin vfsops ansification kill off the old k&r prototypes in osi_vfsops.c Change-Id: Ifd9bb9bd7f303f0f05f0776bb94222c3b138e808 Reviewed-on: http://gerrit.openafs.org/1500 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cfa2f3bac1a6c04c026110c2cf2150750eb49ddc Author: Daria Phoebe Brashear Date: Tue Mar 2 05:54:12 2010 -0500 afs_util don't use printf afs_warn and printf are ideally not interchangeable. fix it. Change-Id: Ib1b064549ef723fcac61e5ad89abe53a8ad76a51 Reviewed-on: http://gerrit.openafs.org/1499 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ede82a2eb1c8180a117dbe78b3c42959f0efe0ec Author: Daria Phoebe Brashear Date: Sat Feb 27 15:30:06 2010 -0500 BOP_MOVE and userspace move EXDEV helper turns background daemons into afsdb helper-like processes, which can exit and do work. for macos, add BOP_MOVE and implement mv in afsd: (macos EXDEV move is cp+rm, literally) run cp + rm and pass the return back in. if it fails, just give the client the error it had already Change-Id: Ia0d5d49725f6aa28b5c58d0b7c61cc22329a3bc1 Reviewed-on: http://gerrit.openafs.org/1371 Tested-by: Derrick Brashear Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit b7b51cb22c56cb7304a9d6c9c9b12eaaa470db49 Author: Claudio Bisegni Date: Mon Mar 1 20:41:48 2010 +0100 OSXPreferencePane checkAfsStatusForStartup method modification for search /afs volume for determinate if afs is on has been transfered into checkAfsStatus. checkAfsStatusForStartup method is used to check when afs start axitn system startup. Anyway these are only workaround we must use osx api or afs api to make this job. Change-Id: If9be5a91418eccc0c58a69b566af140d619d3057 Reviewed-on: http://gerrit.openafs.org/1492 Reviewed-by: Claudio Bisegni Tested-by: Claudio Bisegni Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f0ce809181d19e865817200dab4fb8370bceeb59 Author: Daria Phoebe Brashear Date: Sat Feb 27 20:09:42 2010 -0500 macos prefs pane more reliable running indicator instead of grepping ps output, look for AFS in df output. not happy with this either but it's way more reliable. Change-Id: I73ff53bc1cc24c9484011a870546b6334ff66b49 Reviewed-on: http://gerrit.openafs.org/1410 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d2645b0ba07148926aeba319f33db048dce66a07 Author: Ben Kaduk Date: Sun Feb 28 16:42:22 2010 -0500 More help for the FBSD build Remove extra #endif that was introduced in 6c628445. Change-Id: I8c42bfb15aadacc2b7d5a1d07e70b1181fc2f65c Reviewed-on: http://gerrit.openafs.org/1491 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 19eeb297c8eb1df6267cd392e92e4b9afb1827cb Author: Ben Kaduk Date: Sun Feb 28 16:15:05 2010 -0500 Make build progress farther Add a prototype for afs_global_owner in the AFS_FBSD50_ENV case. Change-Id: Ie9104af3e02e08cc46c479ff56f9e09aa3603e74 Reviewed-on: http://gerrit.openafs.org/1490 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 375fdd4f866398a9d931408d0c40e6e782e291e1 Author: Marc Dionne Date: Sun Feb 28 11:08:11 2010 -0500 Don't pass NULL to strcmp A recent gcc update gives me a series of warnings from the NULL argument to strcmp. We should be passing an empty string instead of a NULL pointer. I suspect this was unintentional from a search/replace operation in commit 8229e668. Change-Id: I9677d80d32e5bd54ca1b560788a430c8cf40dae9 Reviewed-on: http://gerrit.openafs.org/1489 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8ade30f3f14cb88151f2f5f47f044831c9ccc0ae Author: Jeffrey Altman Date: Sat Feb 27 21:54:47 2010 -0500 Windows: rx lowlevel nat ping sha1 d24078658d183ea2e72e61c1888e9900bac0ec32 added support for a low-level nat ping using rx version replies. Export rx_SetConnSecondsUntilNatPing from afsrpc.dll. Add NatPingInterval registry value to HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters to permit Nat Ping to be enabled. The default value is 0 seconds. Change-Id: I5122ea81e1a61934eba3c836632039c76f6c45e3 Reviewed-on: http://gerrit.openafs.org/1487 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 8b898af1b34054d18f8a33b4a9c608614fec15b5 Author: Daria Phoebe Brashear Date: Sat Feb 27 23:00:31 2010 -0500 magic mount parser fix parse vnodes from magic mount objects correctly Change-Id: Id46afa7e6b1fa260d56ce54c8bffe2662b7c447d Reviewed-on: http://gerrit.openafs.org/1488 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 42d3d08b2285812ded74856c8e7d8f8253c3cab6 Author: Daria Phoebe Brashear Date: Sat Feb 27 17:48:19 2010 -0500 macos prefs pane krb5 auth setup when we configure krb5-at-login, don't inadvertantly reorder the list. replace inline. FIXES 126628 Change-Id: I23de38dadeae6a01d6f97d84e7bb6d9e75e99510 Reviewed-on: http://gerrit.openafs.org/1408 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d459825b233a55d51e2218f2546e28eb12468316 Author: Daria Phoebe Brashear Date: Tue Feb 23 19:45:21 2010 -0500 irix syscall arg fix for rx rx uses the afs syscall to get network info in userspace. fix things to pass a useful set of args in Change-Id: I541f90d43ff79ba7a026832403d485b7738a53b8 Reviewed-on: http://gerrit.openafs.org/1379 Reviewed-by: Chaz Chandler Tested-by: Chaz Chandler Reviewed-by: Derrick Brashear commit fb79f1265826ae7eee6c70b62e9ef0caf3105958 Author: Daria Phoebe Brashear Date: Sat Feb 27 11:52:03 2010 -0500 institute afsdb dns lookup timeout if we can don't be willing to wait more than about an rx timeout period for afsdb retries. Change-Id: Idca642ff7abe6b9233c7501b0f06fd353567bb04 Reviewed-on: http://gerrit.openafs.org/1407 Tested-by: Derrick Brashear Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit d24078658d183ea2e72e61c1888e9900bac0ec32 Author: Daria Phoebe Brashear Date: Wed Feb 24 22:34:28 2010 -0500 rx lowlevel nat ping for rfc 4787, do a minimal impact nat ping. this uses an rx "version request" reply debug packet, which will simply be discarded by the receiver, to keep the port mapping open. Change-Id: Ic2180bfa5c467e33c72e3f19d62488bd6a2dc61a Reviewed-on: http://gerrit.openafs.org/1393 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 23e600ae10db87da1c112b313631fcdbbc89d697 Author: Andrew Deason Date: Thu Feb 18 11:36:10 2010 -0600 Convert ObtainSalvageLock to the VLockFile API Make ObtainSalvageLock use the VLockFile API, to consolidate platform-specific locking code, and to make it possible to acquire a shared lock on the salvage lock file. Create the ObtainSharedSalvageLock function to acquire such a lock. Change-Id: Ieadd77ac8d4030b31c48fff1c98712a6c95f93ad Reviewed-on: http://gerrit.openafs.org/1347 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b6408585b51322600460f0cbdf251a12a2391680 Author: Marc Dionne Date: Fri Feb 26 16:15:37 2010 -0500 Enable parallel build for tubik Allow tubik to benefit from parallel make. Change-Id: If4e7e1a603ef88f03bcc271ec6d742ba3387c61a Reviewed-on: http://gerrit.openafs.org/1402 Reviewed-by: Simon Wilkinson Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 00d56c519be35f690e4cf26eddc8143304d38bdd Author: Daria Phoebe Brashear Date: Wed Feb 24 00:57:23 2010 -0500 background daemon genericization previously only "just enough" of the background daemon request object was exposed. expose the rest of the generic pointers Change-Id: Ifcadf53675598bc102208700ff34a768474174ec Reviewed-on: http://gerrit.openafs.org/1384 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5b12214cef06758fee19a6e7afc4e461e7303574 Author: Daria Phoebe Brashear Date: Wed Feb 24 00:59:16 2010 -0500 hush another afsd warning we can't prototype call_syscall fully yet, but at least hush some warnings Change-Id: I4e5f77037700f82ebfa87bd4fee4f52a59e3479a Reviewed-on: http://gerrit.openafs.org/1385 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3d81e4c1f00735e5a8b0f4217f80e84a96ba91bf Author: Daria Phoebe Brashear Date: Thu Feb 25 16:58:31 2010 -0500 darwin vnops code cleanup simplify ifdef structure by moving code around. remove dead code and nonsensical code (darwin80 inside !darwin80) no actual code changes here Change-Id: Ifa7a5afa3bff731d73e7b4a5ee861c2cb48b71a3 Reviewed-on: http://gerrit.openafs.org/1382 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 518b3abb737fd02245c4400491388d15f5cb9e1f Author: Daria Phoebe Brashear Date: Wed Feb 24 00:30:28 2010 -0500 darwin afscall syscall should set retval because of how the ioctl based syscall works, passing back a real return value should be done this way, as it is for the other other afs syscall subcalls. matters for userspace handlers. Change-Id: I894b4bd633ce4823b1ce906861251fcbb3949af2 Reviewed-on: http://gerrit.openafs.org/1381 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 93e9964039a1b627f991e796495be49ea0b6fdb1 Author: Daria Phoebe Brashear Date: Thu Feb 25 16:52:02 2010 -0500 macos bulkstat cleanup after racing stats if someone else stats it before we finish, make sure we clean up after ourselves properly Change-Id: I4a7257a403cccb02a114c60f5bb340dba6bb16cb Reviewed-on: http://gerrit.openafs.org/1399 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 726e1e13ff93e2cc1ac21964dc8d906869e64406 Author: Rainer Toebbicke Date: Wed Feb 24 12:02:08 2010 +0100 Do not leak information on partial success in RXAFS_InlineBulkStatus Initialize all RXAFS_InlineBulkStatus return parameters in case portions remain unset on FetchStatus failures. Also ensure VolSync info is set even if the first FetchStatus fails. Change-Id: I8c502d25ef1362675fed2871dbd8c3c4e76af55b Reviewed-on: http://gerrit.openafs.org/1396 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 70c975728382557669d6f76b1b465efc54c3e216 Author: Daria Phoebe Brashear Date: Wed Feb 24 00:41:48 2010 -0500 correct magic vnode volumename parsing if /afs/.:mount/cell:volume:vnode is passed in, don't pass the :vnode into the volume id lookup Change-Id: If877b467cd37f06dcb090c34560bf76f8e4b0d10 Reviewed-on: http://gerrit.openafs.org/1383 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d1923139e6d0fbe00dcde483810e56abef8bf66b Author: Daria Phoebe Brashear Date: Wed Feb 24 00:19:20 2010 -0500 irix kill efs and start pruning pre-65 we haven't built on irix 6.4 in a while. likewise, no efs anymore. just remove the extra code Change-Id: I559f4bca5bf52f9a0344472ccf60b93751282a2b Reviewed-on: http://gerrit.openafs.org/1380 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 14ff060627f5c4b64121f9f7978966bc53486e18 Author: Daria Phoebe Brashear Date: Tue Feb 23 23:57:14 2010 -0500 irix cachemgr inode abstraction correction if the XFS function takes a dcache_id_t, pass that and not its child Change-Id: Ic68ae440be0df05320fe0a0b24e2ffa8e4de45b9 Reviewed-on: http://gerrit.openafs.org/1378 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8940eb9dcf79e803449eb437d1f7076ceddba021 Author: Daria Phoebe Brashear Date: Wed Feb 24 16:02:26 2010 -0500 freebsd initglock endif fix when initglock hit freebsd it was broken. fix it. make it obvious that such is being done Change-Id: Iac716302061be91a43f168c9a1fe56cdbbb4227d Reviewed-on: http://gerrit.openafs.org/1391 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 142883cae8de203822c8be4f975e691b57be2834 Author: Daria Phoebe Brashear Date: Wed Feb 24 11:13:23 2010 -0500 remove dropbox attribute leak fix change 6ec18461649d3e4f44b2476f886bcc480c456500, avoid leaking stat info, appears to have side effects on at least macos, crashing the system coreservicesd. revoke the change until the exact behavior we want is better understood. Change-Id: I2a270750f9cef5ac6ecf1144d86988f030f78efe Reviewed-on: http://gerrit.openafs.org/1388 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7f4a67b8f0e91f013c840fe15b9cd0e0fb672d36 Author: Andrew Deason Date: Thu Feb 18 11:52:33 2010 -0600 Make VLockFile not DAFS-specific The VLockFile API does not require DAFS functionality, so make it available to non-DAFS code, as well. Change-Id: I3d9bebb5d4034f0af739ccee37f64e2254be38cb Reviewed-on: http://gerrit.openafs.org/1346 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c43625d91bc104759666629e5a78dff7f74a14fd Author: Andrew Deason Date: Thu Feb 18 14:41:24 2010 -0600 VLockFile: init fd to INVALID_FD, not zero Zero is a valid file descriptor; initialize lockfile fd to INVALID_FD instead, so we know it's invalid. Change-Id: Iacb549ec4ed821763d20cb0e4f25882b4151bf3a Reviewed-on: http://gerrit.openafs.org/1345 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cbf5f6341c389b0ae85f797ee7c73ba430a8b8f1 Author: Andrew Deason Date: Thu Feb 18 11:42:27 2010 -0600 VLockFile: Do not close fd on lock failure When we fail to acquire a lock in _VLockFd, do not close the fd if we fail to acquire the lock for any reason, since VLockFile does that for us already. There also may be other locks on that file, and we clearly do not want to release them when just one lock fails. VLockFile takes care of the necessary refcounting and fd closing, so don't do it in _VLockFd too. Change-Id: I65f27837dad033e0e84faf4aa0fb71ff26feda83 Reviewed-on: http://gerrit.openafs.org/1344 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c5e5790661cebdf2b45c7218d238bf18af01f99c Author: Daria Phoebe Brashear Date: Mon Feb 15 16:12:44 2010 -0500 viced avoid global pruclient during acl ops acl_Internalize and acl_Externalize used the global pruclient use the ones we use elsewhere in viced FetchAcl/StoreAcl also Change-Id: Ia2b8d29035ed48a6aab8c9df243c9082bfacd201 Reviewed-on: http://gerrit.openafs.org/1314 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c7c742afa07d3056b153fbe2529d709804532f03 Author: Chaz Chandler Date: Tue Feb 23 17:20:39 2010 -0500 add limits.h to sysincludes.h on IRIX xdr_mem.c wasn't including limits.h on IRIX when KERNEL was declared, so i INT_MAX was undefined. this adds limits.h to sysincludes.h so it's included for all other places where it might be needed. Change-Id: I718f5bf4dc5d82e2ce74ecc30ab3bf5492b82e29 Reviewed-on: http://gerrit.openafs.org/1377 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 91e50aa81bdeecbdf351088b3b5510fe3c8e848e Author: Anders Kaseorg Date: Sat Feb 20 13:36:22 2010 -0500 Linux: autoconf.h is moving in 2.6.33 In 2.6.33, is moving to . Signed-off-by: Anders Kaseorg Change-Id: Ib97031728b89cf8e17581f3c425216ae4b5538ec Reviewed-on: http://gerrit.openafs.org/1351 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 660c7a3952f36fc892e12aa6b11eda3295b1416d Author: Anders Kaseorg Date: Sat Feb 20 13:28:59 2010 -0500 Linux: Use kbuild to check for UML is automatically included by kbuild; you aren’t supposed to include it directly. That breaks in 2.6.33 because is moving to . Signed-off-by: Anders Kaseorg Change-Id: I56c90dfe90ef72408620793fcd4e927ea3d8f468 Reviewed-on: http://gerrit.openafs.org/1350 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 99e704c791bbedd9aa3fc1a0feb9493b0eaefd7d Author: Anders Kaseorg Date: Sat Feb 20 20:52:06 2010 -0500 Adjust afs_lockctl to compensate for byte-range lock fixes As of commit 49b7bbdd3b45df694fadbef48f9ed99d9bfe07b9, l_len is no longer 1 less than it should be. Update afs_lockctl to expect this. Signed-off-by: Anders Kaseorg Change-Id: I3fb7665457d489e56564b14933795084a0958d6f Reviewed-on: http://gerrit.openafs.org/1353 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d3abbebcb0651c5d2c7a3094270fd4f86bea3c1e Author: Anders Kaseorg Date: Sat Feb 20 20:28:42 2010 -0500 Linux: Fix conversion of whole-file locks An overflow bug in commit 49b7bbdd3b45df694fadbef48f9ed99d9bfe07b9 caused whole-file locks to be treated as byte-range locks, which fail to be propagated to other machines. Fix this by setting l_len = 0 for locks that range to the end of the file. FIXES 126561 Change-Id: Ie2dc9d04f33559c73b3b86b64152c549b785f8ad Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/1352 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2cd1335257f069d534603c755fa18c4ee2cb4b5e Author: Andrew Deason Date: Wed Jan 27 15:08:34 2010 -0600 Abstract /vicepX header traversal The code for examining all of the headers on a vice partition now exists in two places: the VGC scanner, and the salvager. Create the VWalkVolumeHeaders function that contains the common logic so it's in one place, and take a couple of function callbacks for the differences. Change-Id: I12c71b3344ffbd0b22ddf5418f9ff0509734f42b Reviewed-on: http://gerrit.openafs.org/1264 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit eb7d90fd0db68ea49ec1820adda599b5922c7de2 Author: Andrew Deason Date: Mon Feb 15 16:22:56 2010 -0600 Allow GetSomeSpace_r to select an optimal host Previously GetSomeSpace_r would never find an 'ideal' host for which to clear callbacks, since lih0_r and lih1_r required a non-NULL rock to do anything. Remove the requirement for the passed-in host rock to be non-NULL, and make lih*_r more threadsafe, by passing in a parameter struct for the rock. Also attempt to make the GSS_r code a bit more clear with some descriptive variable names and such. FIXES 126451 Change-Id: Id754f4fa4b830896c5b03fc7ba0906950991a3b7 Reviewed-on: http://gerrit.openafs.org/1317 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 380bd77c328d8d83a007cd97f6564fcb5b990a73 Author: Andrew Deason Date: Tue Feb 16 11:08:38 2010 -0600 h_TossStuff_r: make sure host does not go away When h_TossStuff_r h_NBLock_r's a host, it is not only possible for someone else to grab a hold on the host, but in theory it's also possible for someone to hold a host, release it, and for the host to be deleted again (assuming some callers hold HOSTDELETED hosts, which they should not be doing). To make this safety check a bit more robust, hold the host in h_TossStuff_r before h_NBLock_r'ing, to ensure that it does not go away while we're waiting for H_LOCK. Change-Id: I018a611143d6dccba79cc627803cce74aa830c77 Reviewed-on: http://gerrit.openafs.org/1330 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 1e731a22ae954900af036d1ade014a07418ae4ea Author: Daria Phoebe Brashear Date: Mon Feb 22 13:58:58 2010 -0500 analyze warning fix initialize variable. warnings caught this in the other compiler Change-Id: Iae2ae5c1aefe29603bbf5d9952f65b0119f4db9b Reviewed-on: http://gerrit.openafs.org/1363 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1e744d5e56106093924869924fffde3a9093d140 Author: Andrew Deason Date: Mon Feb 22 11:56:07 2010 -0600 Prevent deadlock if fs_stateSave panics fs_stateSave can call ShutDownAndCore(PANIC) if it detects host list corruption. Right now this will deadlock the shutdown thread, since we're still holding a read lock on the FS state when we do so, and ShutDownAndCore will attempt to acquire a write lock. Do two things to make this a bit better: -- Unlock the FS state before calling fs_stateSave, sine we're no longer looking at the FS state (the 'state' in fs_stateSave refers to the host list and callback lists, not the state locked by FS_STATE_*LOCK) -- If ShutDownAndCore detects that it was called inside of ShutDownAndCore, skip shutting down the volume and host packages, since they have already been shut down Change-Id: I24a994ff85a6d866a5800b777c0cf5ab2ba466e4 Reviewed-on: http://gerrit.openafs.org/1362 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b8c3c6add90ea3face9a16ff04a1024be3d8f32d Author: Andrew Deason Date: Fri Feb 12 17:44:31 2010 -0600 Check for HOSTDELETED before h_Hold_r A few places h_Hold_r a host and later drop and reacquire H_LOCK without checking if the hostFlags contains HOSTDELETED. This can cause a race with h_TossStuff_r where we later reference a host that is about to be freed or already has been freed. Add checks for HOSTDELETED in these places, and skip over the deleted hosts. FIXES 126454 Change-Id: I5a61831f5afdbc908b82e4cf63cf14a34a36e275 Reviewed-on: http://gerrit.openafs.org/1305 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4dfbbd34ce66c09593a0b1a88831ec0f36848fe8 Author: Andrew Deason Date: Fri Feb 12 16:30:44 2010 -0600 Correct the h_Enumerate_r hostList safety check Ide1e5aca7c2c4a4af3f62bc07821db694f2f9999 added safety checks for a few traversals through hostList, including the traversal in h_Enumerate_r. Unfortunately, h_Enumerate_r may not hold H_LOCK over its entire traversal (h_Release_r can drop and reacquire it), so the value of hostCount is not guaranteed to stay the same. A host may be deleted during the loop, or right near the end, decreasing hostCount to below our current running 'count' of hosts, triggering the panic unnecessarily. Also, we break out of the loop if the H_ENUMERATE_ISSET_BAIL test succeeds, making the panic also incorrectly trigger then. So instead, remember the value of hostCount, and ensure that we've actually exceeded that count in the post-loop check. Change-Id: I7c13bbf111b592df6860e5852807fa463c3ebd7e Reviewed-on: http://gerrit.openafs.org/1304 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 45aceee9842265fb0ccdb5e8f3f6d32c8d2b99ea Author: Andrew Deason Date: Mon Feb 15 10:55:33 2010 -0600 h_TossStuff_r: check held-ness after lock h_TossStuff_r checks if a host is held or locked by another thread before trying to delete the host. Unfortunately, it checks if it is locked before checking if it is held, and the lock check drops H_LOCK. Thus, another thread could hold the host while we don't have H_LOCK, and we could delete a host that is being held. Although it is a bug if any thread holds a host that is being deleted, some instances of this still exist, so make the check more robust. Reverse the order of the tests, so we detect if someone held the host while the lock check dropped H_LOCK. Also log when this happens, as it indicates a bug occurring. FIXES 126454 Change-Id: I8fa972c430e63fc46ca4fadcc3429173ac91a947 Reviewed-on: http://gerrit.openafs.org/1312 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48908e2a932420fe67fe1065d55f7e458b5cd1c2 Author: Daria Phoebe Brashear Date: Mon Feb 22 12:15:15 2010 -0500 analyze paranoia don't pass a null pointer to FindVolume in case one shows up Change-Id: I76258d8f8ca18c536e3faa776df3e06005fe2bc2 Reviewed-on: http://gerrit.openafs.org/1360 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01f42cad663cc860e451f694f973ca46f03289ff Author: Daria Phoebe Brashear Date: Sun Feb 21 17:15:26 2010 -0500 idledead client dont interrupt writes allowing failover is nonsensical, there's nothing to fail to. keep trying to write. if we want to change this, we need to handle it better than just this. Change-Id: Ibed4c63182f44ed9e659895e4868b4192d004688 Reviewed-on: http://gerrit.openafs.org/1355 Tested-by: Stephan Wiesand Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fa8601f9c579746d7247bdbe159fbd3affe8e3de Author: Rainer Toebbicke Date: Fri Feb 19 10:26:57 2010 +0100 Init ih_synced for new ihandle One small step towards a valgrind-tolerant universe: ih_synced indicates that an inode should be synced which better be deterministic. Change-Id: Id6a09a07c6f90c59445b82fdceeba3c905cbae7e Reviewed-on: http://gerrit.openafs.org/1343 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ae0e8fc066c6046052d82bf4df2800faccdd3fb2 Author: Marc Dionne Date: Thu Feb 18 21:20:20 2010 -0500 Avoid dprintf conflict Rename dprintf to afs_dprintf to avoid potential conflict with system headers on some platforms. Change-Id: I2aef6a55c00ddf8a312531cc1203b3baaca4cd73 Reviewed-on: http://gerrit.openafs.org/1342 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a9951410e1cb1a713f9d26a24d6b3cf485f94ac6 Author: Simon Wilkinson Date: Thu Feb 18 23:09:40 2010 +0000 Linux: bdi doesn't always have a name The 'name' element of the backing_dev_info structure is new in 2.6.32 - add yet another configure test, and #ifdef to protect our setting of it. Change-Id: I0a3e411e571e05771619381bf621d299482c695b Reviewed-on: http://gerrit.openafs.org/1341 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1b4f1648e925dab43cbad53c31d56be355de233a Author: Simon Wilkinson Date: Wed Feb 17 13:46:23 2010 +0000 Unix: Fix objdir builds Make some changes to the Unix build system so that object directory builds work again. In particular, change the way that we call xcodebuild on Darwin, so that source and binary can live in different places. Change-Id: Ib2ab6182deaf7f344603cb5618707d3f212a5b86 Reviewed-on: http://gerrit.openafs.org/1339 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 84167a86d407165a7b7007431f6cd0f95e7420d5 Author: Simon Wilkinson Date: Sun Feb 14 00:45:19 2010 +0000 Add xdrmem and xdrlen to shlib builds Another day, another set of forgotten build objects ... Change-Id: I1e449e0c71bd60ca4605cd5d0770f596fc2ac64f Reviewed-on: http://gerrit.openafs.org/1338 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d750c28ac23535524c9406ead4fa479451ff0e12 Author: Andrew Deason Date: Wed Feb 17 12:05:53 2010 -0600 Add support for amd64_obsd46 Change-Id: I41a9ad46cac3af1e02c64683e893c9547598e867 Reviewed-on: http://gerrit.openafs.org/1337 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1e53da39f57777792eb9431a6c553db3e1f6b96c Author: Andrew Deason Date: Wed Feb 17 12:56:51 2010 -0600 Include stdint.h when using intptr_t Some platforms such as OpenBSD require including stdint.h before you can use intptr_t. So, include stdint.h (if it is available) whenever we use intptr_t. Change-Id: I6da005755752e8d52f62e78d15103b19a951e50a Reviewed-on: http://gerrit.openafs.org/1336 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 62016280224d6532f0807e9637b3c38cf025c7fe Author: Daria Phoebe Brashear Date: Wed Feb 17 13:26:43 2010 -0500 kill macos prior to panther we haven't had a 10.2 machine to build on in quite a while... might as well pull it, it probably doesn't work anymore Change-Id: Iad809e83dadb0e7fa8c61b3f37f574a571042fc8 Reviewed-on: http://gerrit.openafs.org/1335 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f96ca93b733ef27cd8a58fcc7462ce4a2f4b2f4a Author: Andrew Deason Date: Wed Dec 2 13:37:27 2009 -0600 salvager: avoid needing temp files to stay around The salvager makes use of a couple of temporary files to store some information while doing a salvage. Instead of referring to these files by path name everywhere, pass around file handles instead. That way we can unlink the files immediately, and they will be deleted on close. This removes one of the roadblocks to allowing multiple salvages on the same partition to occur at once (since otherwise other salvagers would remove the temporary files on startup), and also makes it much less likely that old temporary files will be left lying around in the first place. Change-Id: Idfc696c2c75e21db717c720bd950af6e2766b9aa Reviewed-on: http://gerrit.openafs.org/1263 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 60e8dcb4e66c6edc90a0448221b7d1818bd5cafb Author: Andrew Deason Date: Thu Feb 4 16:47:19 2010 -0600 DAFS: Maintain viced volume group hierarchy cache When salvaging a volume (with DAFS or not), it is required to read the volume headers of all volumes on the partition, so we know what volumes are in the same volume group as the salvaged volume. Currently with DAFS, this requirement can make demand-salvages very slow, since each demand-salvage must read each volume header on the partition. So, instead of having each demand-salvage read the volume headers itself, have a demand-salvage request the required volume group hierarchy information from the fileserver. The fileserver will scan the partition's volume headers, and will keep the hierarchy cached in memory. Any modifications to this hierarchy from volume creation/deletion will update this volume group cache (VGC) via FSSYNC commands. This results in a dramatic salvaging speedup when many demand-salvages are requested, and eliminates the cases where DAFS salvaging can be significantly slower than non-DAFS salvaging. FIXES 124488 Change-Id: Ie9ae655593ad8a90ca6ad8f63e6b6e799f283988 Reviewed-on: http://gerrit.openafs.org/880 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ab32b23806b840a67e9423865d594992b41a0602 Author: Andrew Deason Date: Thu Feb 4 16:08:48 2010 -0600 Add a general file-level locking API Add an API for acquiring and releasing file-level locks. This abstracts away the platform-specific aspects of file locking, and also makes the locking work when several threads attempt to acquire a lock within the same process. This commit just adds the functions and datatypes; nothing actually uses them. The users will be added in (hopefully nearby) future commits. Change-Id: I6bffb6a7dd47ffb5c8a9942b16cd5ef6bc7eb62e Reviewed-on: http://gerrit.openafs.org/1237 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8f1e1199a2ef65ac0c5f00dcb30aeb8114c95551 Author: Daria Phoebe Brashear Date: Tue Feb 16 13:10:09 2010 -0500 linux bdi allocate memory allocate bdi with osi_Alloc (and free with osi_Free) seems to fix an oops FIXES 126514 Change-Id: I667391710c5fd2b6712117471247f1cd7c20aa9b Reviewed-on: http://gerrit.openafs.org/1332 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 86acebb1233b82e82fbb5b0d7106ff13864a9111 Author: Simon Wilkinson Date: Sat Feb 13 01:14:07 2010 +0000 aklog: Refactor token management operations Pull the token management operations (get, set and compare tokens) out into their own functions. Again, this is purely a refactoring exercise - no behaviour changes are anticipated as a result of this change. Change-Id: I9c64a319fcaa2edeb492c7822f9bae64c91cc20c Reviewed-on: http://gerrit.openafs.org/1326 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 725f0a63a36545fa9a6dae50362a936fd4b77ab2 Author: Simon Wilkinson Date: Fri Feb 12 23:38:09 2010 +0000 aklog: Refactor token acquisition code This change refactors all of the rxkad specific token acquisition code out of the common auth_cell loop, and into a number of functions of its own. There should be no functional changes. Change-Id: I61314588ba4db6b85db03314d4524322f74c9230 Reviewed-on: http://gerrit.openafs.org/1325 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 267ccb986c850b2a8f4431fa210b6c7f1c09021b Author: Simon Wilkinson Date: Fri Feb 12 11:54:17 2010 +0000 aklog: Use a function to print debug statements aklog was scattered with things like if (dflag) { printf("Oh no, the world is ending\n"); } Simplify these by adding a dprintf() function, which only prints its arguments if dflag is defined. Use this throughout the code. Change-Id: I673942e9ea6a8b96ea9d11a608cfaeaf00098b88 Reviewed-on: http://gerrit.openafs.org/1324 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7cdc89edca112870f5e9dcb27cbb4cd5551ae7a4 Author: Simon Wilkinson Date: Wed Feb 17 14:01:14 2010 +0000 aklog: Actually use new get_realm_from_cred fn An earlier patch added the new get_realm_from_cred function, but failed to update the callsite to use it. Fix that. Change-Id: I9e9d7545b20df041400d140e80c7f018b033043e Reviewed-on: http://gerrit.openafs.org/1334 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f7b5d7153cbac34b9411728c1c53d9c0064f5857 Author: Simon Wilkinson Date: Fri Feb 12 11:13:16 2010 +0000 aklog: Tidy realm handling Assorted small changes to the way realms are handled by aklog: * Remove static buffers when realms are passed between functions * Add cleanup for all dynamically allocated strings to auth_to_cell * Create an extract_realm helper function to handle extracting realm information from principals. * Add a function to handle extracting realm information from decoded tickets Change-Id: I320389033f4862d30774b40103e536fd5bac841b Reviewed-on: http://gerrit.openafs.org/1323 Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f8c6bfffd3a32f41d24a171026b985974a5cc7b3 Author: Simon Wilkinson Date: Fri Feb 12 10:29:00 2010 +0000 aklog: Dispose of the pointless confname string confname makes a static copy of the AFSDIR_CLIENT_ETC_DIRPATH string. As pr_Initialize takes it as const, there's no need to maintain our own copy, and so this is superfluous. Remove it. Change-Id: I64b13aae80b15f6b7511a040f39467bca76186b8 Reviewed-on: http://gerrit.openafs.org/1322 Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 60ea6a23ab98698351de4b0592dd5df2ac8eebc0 Author: Simon Wilkinson Date: Fri Feb 12 10:19:26 2010 +0000 aklog: Clean up cell handling Clean up the aklog get_cellconfig routine, so that it is no longer reliant upon global variables. * Tidy the handling of local_cell, and use dynamically allocated, rather than fixed length buffers. * Use the cell name contained within the afsconf_cell structure, rather than a local copy * Access linked cell information from afsconf_cell, rather than explicitly returning it * Don't use globals for linkedcell Change-Id: I6ad42c70dcac7f285997be7c95a77dc67bf63679 Reviewed-on: http://gerrit.openafs.org/1321 Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 05d667e59bbf5e32efa08d5dd7156db20a56f9d9 Author: Simon Wilkinson Date: Fri Feb 12 09:48:44 2010 +0000 aklog: Cosmetic cleanup Fix indentation so that code lines up correctly, Fix function declarations so they match the house style. Remove some dead code and comments Move comment blocks so they're above the code that they're describing. Remove unused 'lastcell' string Change-Id: Ief924675384e28885e4b7b88c4d5932279c9b26e Reviewed-on: http://gerrit.openafs.org/1320 Reviewed-by: Marc Dionne Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 481098e04c686c351fee02221fbe6d890dc1a767 Author: Simon Wilkinson Date: Sun Feb 7 21:51:55 2010 +0100 Unix CM: Tidy up the statistics interface Sort out the function call statistics interface. Whilst it's still wretched, this makes it a little less so. *) Add some warnings at the start of the afs_CMStats structure about what needs to be done when adding things there *) Remove the conditionals around the CacheBypass counters, so that stats clients don't need to be built with the same options as servers *) Add all of the stats entries added after IBM to the xstat_cm_test routine *) Add a warning to xstat_cm_test if the data returned from the server differs in size to the local stats structure. Change-Id: If1ffb68c84bca972f685ae619febba8c6f8b5e17 Reviewed-on: http://gerrit.openafs.org/1319 Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fa2536c02cf26f7db30bf623e95f42be88138d14 Author: Jason Rogers Date: Mon Feb 15 17:19:12 2010 -0600 prdb_verify -rebuild with supergroups fix This change eliminates the redundant iteration over the supergroup[] array in DumpRecreate. By iterating over both this array and entries[], duplicate au lines are created and the count variable becomes incorrect. Furthermore, the au lines created in the supergroups[] section were incorrectly in the form of au instead of au . FIXES 126500 Change-Id: I087772b63934406273f153f4b8a581d965f1e4d5 Reviewed-on: http://gerrit.openafs.org/1316 Reviewed-by: Michael Meffie Tested-by: Michael Meffie Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear commit 4bc04a79e75ffa5ad852dfb475bfcb3b263b4e57 Author: Daria Phoebe Brashear Date: Fri Feb 12 16:46:33 2010 -0500 macos bulkstat support add KPI-based bulkstat support for macos Change-Id: I6d9afa968db5930d392a6298dc5094f3cb500a1b Reviewed-on: http://gerrit.openafs.org/1303 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a0c8c3da0d059df7bc0c6fad98ad55e7cc2f9aed Author: Daria Phoebe Brashear Date: Mon Feb 15 23:51:52 2010 -0500 xdrmem for ukernel fix up the build for ukernel when warnings are enabled Change-Id: I2520f77e043f2e75297ef66a4c44b6e456d30892 Reviewed-on: http://gerrit.openafs.org/1329 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 000c665881f8941d62d236550727f886298e54e2 Author: Simon Wilkinson Date: Sun Feb 14 00:45:19 2010 +0000 Unix CM: Add xdrmem and xdrlen to kernel builds Add the new xdrmem and xdrlen XDR sources to kernel space. Make some changes to the xdrmem header file to permit it to build in kernel space. Change-Id: I2ab32f67287df28d4ffded651d3d49d1211dd40e Reviewed-on: http://gerrit.openafs.org/1328 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8cf4b945b93bfb7ba09a73fcec32a898efbc3ee2 Author: Simon Wilkinson Date: Sun Feb 14 00:38:47 2010 +0000 Add xdrlen and xdrmem to pthread build Add xdrlen and xdrmem to libafsrpc, so they're available to pthreaded binaries. Change-Id: I55ed54a3fb87865d286bf2019858afb037c967ea Reviewed-on: http://gerrit.openafs.org/1327 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 06f6dc8dc70c0c9cdd875896eadf158b88a429ac Author: Simon Wilkinson Date: Sat Feb 6 14:20:34 2010 +0100 Remove the old new token interface ktc.c has had for a long, long time a 'new' token interface, which was only enabled if KERNEL_KTC_COMPAT is set. However, this is never defined in our tree, relies on a syscall that just won't work on platforms such as Linux, and won't support any of the new token formats we're planning. So, just remove this interface from our code - it's in version control should we want to revisit it in the future. Change-Id: Iab3dd04498799f061449a50bdac39c6407a9fdd7 Reviewed-on: http://gerrit.openafs.org/1318 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 79ad82ccde98391ba59dc1234c10def78520b680 Author: Adam Megacz Date: Sun Feb 14 17:30:42 2010 -0800 Have bosserver catch SIGTERM and shut down gracefully. Many modern process supervision systems (runsv, daemontools, sysvinit) expect to be able to terminate a process gracefully by sending it a SIGTERM; although SIGQUIT is nominally used for this purpose it seems to have fallen into disuse as a matter of practice. Therefore, to integrate as smoothly as possible with the outside world, bosserver should catch SIGTERM and interpret it as a request to shut down gracefully. When used with process supervision (runsv or daemontools), the previous behavior would cause bosserver to die but leave its children running, and then bosserver would get restarted by the supervisor. The result is a situation where there would be two copies of every bnode process. Mayhem ensues. Change-Id: I8690fba0af6c2b9f9613527254af915be9e76dfc Reviewed-on: http://gerrit.openafs.org/1310 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8ea6c727aa60dc60d5bc18a476f673554aaffff5 Author: Jason Edgecombe Date: Sat Feb 13 09:16:22 2010 -0500 Some minor rewording and grammatical tweaks of the CellAlias man page Added some text that the CellAlias file is only used on Unix. LICENSE BSD Change-Id: I913d6a0774240ffc16cf92cfa92c4b2d06f41fd6 Reviewed-on: http://gerrit.openafs.org/1307 Tested-by: Jason Edgecombe Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c892043b9545ce6c87a062546b9cdab48f32186e Author: Daria Phoebe Brashear Date: Fri Feb 12 16:37:19 2010 -0500 add bulk newvcache method let NewVCache return a vcache which is already configured for bulkfetching takes the bulkstatus "sequence number" and sets the flags and length Change-Id: Ife67c3deccda2ceefb4a0f1c98a837a3b6401cd2 Reviewed-on: http://gerrit.openafs.org/1302 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9a2741d001d89e7e828b547a05e9d89cd59733b0 Author: Marc Dionne Date: Fri Feb 12 19:23:52 2010 -0500 Initialize variable that can potentially be used uninitialized Some compiler versions complain that "code" might be used uninitialized here. If opening the configuration files fails, conf would be null and the condition would indeed test an uninitialized variable. Change-Id: I1d4da49a5afc94ac6617201110be84a0e5548f38 Reviewed-on: http://gerrit.openafs.org/1306 Reviewed-by: Simon Wilkinson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 029b470e673ecc2d4448aa6a46fd10b6d8de4e7e Author: Daria Phoebe Brashear Date: Fri Feb 12 16:16:56 2010 -0500 darwin vn hold dead code removal pull out the unused code which tries to cope with a failed vnode hold. if we become able to do so, we can do so later Change-Id: Ib53f469feaba4c6ec6b15730315e87e75f8f9eb8 Reviewed-on: http://gerrit.openafs.org/1301 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e78f6f33b53798e4c742641746d3df9e7435eeff Author: Daria Phoebe Brashear Date: Wed Feb 10 15:57:48 2010 -0500 irix stdarg printing use icmn_err facility to print error (and panic for osi_Panic) note that solaris vcmn_err is basically the same, but there may be issues per some commenters. Change-Id: I56e825e16d69a232a2cdc5108071a00858ecf45c Reviewed-on: http://gerrit.openafs.org/1287 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 769be238b07897e94e77fa9b7743a53d8f887535 Author: Andrew Deason Date: Thu Feb 4 13:00:47 2010 -0600 Document FSSYNC commands Provide some explanation for the various FSSYNC commands, and what they are there for. Change-Id: I572300b66cc8b6a1b0f2aa185edd198c237f7225 Reviewed-on: http://gerrit.openafs.org/1236 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 344ba58a0785dff50dba8d232895ff7399abb92e Author: Daria Phoebe Brashear Date: Fri Feb 12 00:07:02 2010 -0500 irix test kernel cleanup add missing paren for irix test kernel case Change-Id: I1374cac568f5632c3bc29f492a47ea665abb9ef7 Reviewed-on: http://gerrit.openafs.org/1300 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 135c5668f9197aae6d29b1575e76323dd147f521 Author: Jeffrey Altman Date: Thu Feb 11 21:45:40 2010 -0500 Windows: Prevent explorer shell extension from crashing if symbolic link add fails The explorer shell extension was passing the wrong parameters to the MessageBox API when a symbolic link add failed. The end result was stack corruption. FIXES 126406 Change-Id: I59b8b71d947525adccbd817cd5b6d4de5bf082b7 Reviewed-on: http://gerrit.openafs.org/1298 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 3b15ac44990095a694e5f9707c5de5619fdf22d1 Author: Daria Phoebe Brashear Date: Thu Feb 11 00:30:54 2010 -0500 remove erroneous disabling of darwin rx event scheduling hook the hook added to force reschedule to be noticed was disabled in the course of testing. re-enable it. Change-Id: Id9018b66c9adfc39709b3739510987402dc1fb18 Reviewed-on: http://gerrit.openafs.org/1294 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 23848b4b742e13b8630f8ff25f5ed63094e6d01d Author: Jeffrey Altman Date: Wed Feb 10 23:57:57 2010 -0500 Windows: 1.5.72 Change-Id: Ifef2538d2020e9ecb17bc1ac7176c99f2651a96a Reviewed-on: http://gerrit.openafs.org/1292 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 70052370b7d7d87da9474bc02bfb8f6d330a3824 Author: Daria Phoebe Brashear Date: Wed Feb 10 23:41:58 2010 -0500 make unix 1.5.72 update version for next release Change-Id: Idb0eeac9e5883f99ba787a41ab38081fcdabd855 Reviewed-on: http://gerrit.openafs.org/1291 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b5cf121d6bfa5d8539354ca455c2de68534c598f Author: Daria Phoebe Brashear Date: Wed Feb 10 22:12:04 2010 -0500 set minimum darwin kernel rx sleep never be willing to sleep less than 500ms. additional tweaks to the rx scheduler may be needed however before we always slept for 500; now we'll sleep longer if no events are pending (but not forever) Change-Id: I7fdb02dd7a383131fffcfae532d71c8fbeb97545 Reviewed-on: http://gerrit.openafs.org/1290 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bcdb5220e2db2bf0cd22c6316682046425048d87 Author: Simon Wilkinson Date: Tue Feb 9 19:53:40 2010 +0000 Linux: Use current_creds() if stashed creds fail If we can't use our stashed credentials (because SELinux hates us, most likely), then fall back to trying the processes current credentials instead of just oopsing. Change-Id: Ib3676ff66f8400e86cccb97fb207a5f094ceb4ad Reviewed-on: http://gerrit.openafs.org/1283 Tested-by: Derrick Brashear Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit 762c8b41edf3bec9dc4dfc7ec972af3a432b2b1a Author: Jeffrey Altman Date: Wed Feb 10 16:45:33 2010 -0500 Remove warnings in src/ptserver/ptclient.c 1. Signed vs unsigned warnings. 2. Casting of struct prentry * to struct prdebugentry * for ubik_PR_DumpEntry call. 3. Casting of char * to struct in_addr *. 4. ANSIfication of PrintHelp() and skip(). 5. Inclusion of ptuser.h to avoid missing prototypes. Change-Id: I7d4c10c5df784c1b9fecc83e21d92bdc0b7ca0ae Reviewed-on: http://gerrit.openafs.org/1288 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 734bb14468cb071e22b45895e7bad21dda70fb2a Author: Daria Phoebe Brashear Date: Wed Feb 10 13:52:43 2010 -0500 tweak osi_Panic until all platforms can grok stdarg for now, just move it to the end of the file Change-Id: I7bab901be76fabb75f688096e9637caada883816 Reviewed-on: http://gerrit.openafs.org/1286 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 64c24e84f9a0a96deac62cb3377577eadd582811 Author: Daria Phoebe Brashear Date: Tue Feb 9 23:45:23 2010 -0500 remove osi_Panic prototype on irix just don't prototype this on irix Change-Id: If9f6e6ef1eb4fcfcfbc81f7d69af00f72acfd517 Reviewed-on: http://gerrit.openafs.org/1285 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fe246be823772262eb7f89415d5b8fb11798dc42 Author: Daria Phoebe Brashear Date: Tue Jan 5 01:50:49 2010 -0500 darwin rxevent sleep instead of polling use an interruptible sleep (and wakeups on shutdown or schedule) instead of polling, on macos Change-Id: I25934efac63ccaf9015f79c6711d09c693f0ad51 Reviewed-on: http://gerrit.openafs.org/1066 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0f083feb0415f7ab68ecdcd58fde2c9856043e6 Author: Daria Phoebe Brashear Date: Tue Feb 9 15:07:09 2010 -0500 reclaim CCore1 vcache state and the one place it was used it seems to have been used wrong anyway it's a relic from osf1 Change-Id: Iae72030dcbb812422431d3d23737f6c8fb5f0ca3 Reviewed-on: http://gerrit.openafs.org/1284 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7b6ccc1b9199d3787ea5457860fcb1c873a19a5c Author: Jeffrey Altman Date: Tue Feb 9 00:42:41 2010 -0500 Windows: Permit Windows to build Recent changes added a new dependency of afspioctl.lib to all server binaries. Export new afsconf_ functions from libafsauthent.dll Fix afsconf_* usage in afsio.c Change-Id: I03e377a3d28b4efbea4a799e6ca63606eab699c9 Reviewed-on: http://gerrit.openafs.org/1273 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a1616e2c93b0922a47958d2c4dc8db41202adca0 Author: Andrew Deason Date: Thu Feb 4 16:26:21 2010 -0600 Consolidate code for reading/writing vol headers The code for reading in and overwriting/replacing volume headers is duplicated many times throughout the volume package. Consolidate the code into the functions VReadVolumeHeader, VWriteVolumeHeader, VCreateVolumeHeader, and VDestroyVolumeHeader. This makes it easy to change the semantics of how headers are read/written, though this commit should not change them. Change-Id: Id395ee25fc2db92de9301b9cdbe18f30830e18d3 Reviewed-on: http://gerrit.openafs.org/1238 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3913aa55eed10f9d6316910ef950f5c3242e20d7 Author: Rainer Toebbicke Date: Mon Feb 8 15:18:04 2010 +0100 afs_TruncateAllSegments() make sure correct afs_size_t comparison is used when selecting dcache entries for truncation Insure that afs_TruncateAllSegments() uses the correct [64-bit] comparison when deciding whether to truncate chunks: alen - AFS_CHUNKTOBASE(tdc->f.chunk) for a file > 2GB would fail to be recognised negative with an "afs_int32 newSize", even with alen = 0 and big tdc->f.chunk. Change-Id: Id77109fb8238234dae725bd876f70ea0fbd403fc Change-Id: If0120e21a52316e536d03241c83e8f0d36614c13 Reviewed-on: http://gerrit.openafs.org/1252 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 880d35f8370ffc978bbcff3b3218f31a945d8555 Author: Daria Phoebe Brashear Date: Tue Feb 9 13:54:30 2010 -0500 ensure secObj is initialized in afs_ConnBySA NULL it so we don't compare against garbage Change-Id: Id80ab21a9a227ec8fd09dbc9a822fd1ce873b333 Reviewed-on: http://gerrit.openafs.org/1281 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6c628445ebc3203ddcb8167914d61ef3711380c7 Author: Daria Phoebe Brashear Date: Thu Feb 4 03:22:15 2010 -0500 provide afs_osi_TimedSleep this interface works how osi_Wait *should*, except on some platforms Wait appears to wake up all waiters(!) by using a single wait channel in the backend. rather than change that and risk problems, introduce an interface using the same system of events we use for osi_Sleep Change-Id: Ic91726b138bd2512282896ec48c542063ef000cf Reviewed-on: http://gerrit.openafs.org/1233 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01d8b61c7f7a9b5bb7c38f62ae432986d2ef3bee Author: Daria Phoebe Brashear Date: Wed Feb 3 10:16:53 2010 -0500 internationalize comerr reuse the Heimdal method for internationalizing comerr. as a side effect provide heimdal-compatible com_right. LICENSE BSD Change-Id: I6e699125ad3af1d402f14f9462e434c30ad4d1fd Reviewed-on: http://gerrit.openafs.org/1225 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d9af80b0bbc1a43a8da02cadb2d8841fe54bf0de Author: Simon Wilkinson Date: Sat Feb 6 14:04:50 2010 +0100 Unix CM: Make cache bypass build again My recent afs_pioctl changes broke the build when cache bypass is enabled. Fix this. Change-Id: I515ff3c743d8f63c086ead86991ad6cd9faaab93 Reviewed-on: http://gerrit.openafs.org/1280 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6011b3a325b64b2f9527b3e492b77b879ce2ec0b Author: Simon Wilkinson Date: Fri Feb 5 13:49:27 2010 +0100 Unix CM: Just use Bogus for VenusLogging The VenusLogging function no longer exists - instead of having a stub the returns EINVAL, just use the existing Bogus stub (which returns EINVAL) instead. Change-Id: I9cc1746577c19ff2e4087e16e8e2b56c0070c75d Reviewed-on: http://gerrit.openafs.org/1279 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6361d650490ead617e7acd9e798ba65dd872195f Author: Simon Wilkinson Date: Fri Feb 5 12:18:42 2010 +0000 Unix CM: Wrap afs_pioctl.c at 80 columes Much of the documentation in afs_pioctl.c spanned many many lines. Wrap it all at 80 columns for a more pleasant reading experience. Change-Id: Iae15a792a4cd6fa54eda65d43157ca3f7910ca2b Reviewed-on: http://gerrit.openafs.org/1278 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e2b65732c09c4d1097fd54addf6596aaba9043c4 Author: Simon Wilkinson Date: Thu Feb 4 17:27:32 2010 +0000 Refactor afs_ioctl code The ioctl code was a nightmare of #ifdefs. This patch reworks it so that there is a single function for each operating system, which makes it much easier to see what's going on. Eventually it should be possible to move these reworked functions out into the osi directories Change-Id: I61f70b23ad0c7ea137e6aa843be6f75c83c02843 Reviewed-on: http://gerrit.openafs.org/1244 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 92946910e205252c23e435ff8fef2a3f29ea9592 Author: Simon Wilkinson Date: Thu Feb 4 16:08:26 2010 +0000 UKERNEL: End the #define u insanity UKERNEL redefines the character 'u' to do a function call. This hurts other kernel developers in all sorts of interesting ways. Remove the definition, and instead explicitly reference the get_user_struct() function in those places that we need to. Change-Id: I64be2eb527c779df0a3d4508444ed68f3634667d Reviewed-on: http://gerrit.openafs.org/1243 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d5622d03196762bd8a60404fea98b4bb044e076d Author: Simon Wilkinson Date: Thu Feb 4 15:09:34 2010 +0000 Add rx security index enum Add a enumerated type for rx security indexes, initially containing the values reserved for null, kad, gk, and k5. Start to use this type, and related names, rather than hard values throughout the code. Change-Id: Ic71e5da28b4270abf7b6688b2c6438f17268f1da Reviewed-on: http://gerrit.openafs.org/1242 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d914ad4c75716b4870e22e8b43629057e35e2eee Author: Andrew Deason Date: Mon Feb 8 15:03:08 2010 -0600 salvager: alias -f to -force DAFS added the -forceDAFS flag, which made the '-f' flag ambiguous, when it used to be short for '-force'. Restore the previous meaning of '-f' to reduce backwards incompatibility. FIXES 124916 Change-Id: Ieb864b35a91000960f9d9c503c28db56602df13e Reviewed-on: http://gerrit.openafs.org/1254 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8459dc317bc6393d23f1afee0b211bcbdb9a5601 Author: Simon Wilkinson Date: Thu Feb 4 12:23:58 2010 +0000 Unix CM: Simplify #ifdef ladder in lock.h Hugely simplify the ifdef ladder in lock.h, by using #elif, rather than multiple levels of nested ifdefs Change-Id: I8fc730242decab0a0f864a9814c6c47c9974b496 Reviewed-on: http://gerrit.openafs.org/1241 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8e1d140d107b46ac0a88c544289b8d29f1542ede Author: Simon Wilkinson Date: Thu Feb 4 12:18:30 2010 +0000 Unix CM: Indent #ifdef ladder in lock.h The ifdef ladder in lock.h was a pain to read. Indent it to make it clearer. Change-Id: I673a85785e1e6207dae55616845d5cb982694189 Reviewed-on: http://gerrit.openafs.org/1240 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 04adcfc78b038303d273f64ba756e9ecda478436 Author: Simon Wilkinson Date: Wed Feb 3 16:00:47 2010 +0000 Unix CM: Reorganise security object code Reorganise the code which creates a client security object for the Unix CM into its own function. Change-Id: Ic92ca4022b000c5cd48bbe6318bf83379626e890 Reviewed-on: http://gerrit.openafs.org/1239 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad4adb4aa2e458b744474931b0458d2146fb6f3a Author: Simon Wilkinson Date: Tue Feb 9 16:26:57 2010 +0000 Initialise ptuser to NULL Fix fallout from d008089a79ef268bbca91d660a840f32cb416865 - sc wasn't being initialised when it was declared, and some code paths would fail to set it. This led to the == NULL check failing, and a new rx connection being created with an invalid pointer as a security context. Disaster ensued ... Change-Id: Ibae3c72408d1145bc771bd07e573427d9f427679 Reviewed-on: http://gerrit.openafs.org/1277 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6219c84243706ed46b922c2e037cceab2684d645 Author: Antoine Verheijen Date: Mon Feb 8 14:57:51 2010 -0700 OpenBSD: don't use AFS_GLOBAL_SUNLOCK on single processor system Put back the header directives that only turns on AFS_GLOBAL_SUNLOCK when compiling for multiprocessors system. When enabled on a single processor OpenBSD system, it is possible to put the entire system into a lengthy (minutes) lock state when performing multiple AFS activities. The system behaves MUCH better when AFS_GLOBAL_SUNLOCK is not set (no problems encopuntered). This whole locking mechanism needs a bit more examination on OpenBSD before this is useful in single processor mode. Change-Id: I19813b78ad8d705b4f043ccb3a38c83e278972e9 Reviewed-on: http://gerrit.openafs.org/1276 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5f39ae64bafe1e2073ff419fe62c2d5a86fc98f5 Author: Antoine Verheijen Date: Mon Feb 8 15:33:38 2010 -0700 OpenBSD: allow for more graceful shutdown A shutdown or unmount of AFS on OpenBSD will invariably result in a kernel panic. This is because the afs_unmount() routine does not (can not?) force vnode releases if the vnode is still busy. However, it continues on nonetheless and dies a horrible death a little later. This update causes a return from afs_unmount() with EBUSY if all the vnodes weren't released. This results in error messages on shutdown but the overall process continues more reliably and reboots, for example, work. There is likely a better solution to this but at least this is no worse than a system crash and it doesn't require console (or power button) intervention so it should do until I have the chance to explore further. Change-Id: Ia70f83bda748ea3d0b81b341a292e83121446567 Reviewed-on: http://gerrit.openafs.org/1275 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d06bc699f2e3848da8ce9a7fa20ac99db630bd1b Author: Antoine Verheijen Date: Mon Feb 8 15:23:03 2010 -0700 OpenBSD: fix lookup of network interfaces Starting with OpenBSD 4.2, the interface list returned by sysctl using NET_RT_IFLIST contains multiple versions of the data. This really messes up the rx_getAllAddr_internal() routine that returns a list of valid interfaces for the system (to the point where none are returned). This change adds a routine that cleans up the data returned by sysctl so it returns only a single (the most current) version of the data. That stops afsd (among others) from being cranky when it starts up. Change-Id: Ief1df0d2c3eb241c45b439a785ddb67d3afe992c Reviewed-on: http://gerrit.openafs.org/1274 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1d2735c0a85ab0544cf60be9f832cab2d0e434cf Author: Jeffrey Altman Date: Tue Feb 9 00:40:20 2010 -0500 Windows: add xdrlen Adds xdrlen.c to librx.a and libafsrpc.dll Exports xdrlen_create from libafsrp.dll Change-Id: I Change-Id: Ia3754f73f44f2c842b7aefa3104c8143f8a2b78d Reviewed-on: http://gerrit.openafs.org/1272 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 03ac7bd100d93f2f47b5e3724c61e3d93a9eca56 Author: Antoine Verheijen Date: Mon Feb 8 15:07:09 2010 -0700 OpenBSD: move AFS memory type offet The internal malloc memory types for IPv6 (M_IP6OPT, ...) conflict with the type numbers used to designate AFS memory (M_AFSFID, etc.). This change moves the AFS memory type to a new number that does not conflict. This is not a serious issue but can create real confusion when trying to debug or track memory issues, among other things. Change-Id: Icccaa7c06443cab008013414cb3c2ab4ea08889e Reviewed-on: http://gerrit.openafs.org/1271 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4221d7acc8595a052dbc5fbb4366050c00d6ef37 Author: Antoine Verheijen Date: Mon Feb 8 16:01:46 2010 -0700 Fix segmentation fault in vsu_GetVolumeID When determining the volume type of a volume, vsu_GetVolumeID() checks to see if the volume name ends in '.backup' or '.readonly' by backing up the appropriate number of characters from the end of the name. It does not, however, check to see if it skips past the beginning of the volume name. This can result in a segmentation fault (which it has for me on many occasions during a vos release) depending on where memory is allocated or how/if memory is protected. This patch corrects this behaviour by checking the volume name string length prior to doing the string comparison. Change-Id: Ia27fcac76b86ae2707663caa6bff365a4e8dd0da Reviewed-on: http://gerrit.openafs.org/1269 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 267c22e77197ebeed1a4d61041a60cd99dac7dcd Author: Chaz Chandler Date: Mon Feb 8 20:59:10 2010 -0500 irix label changes rx subdir no label support in non-c99 irix cc, xdr_len.c and xdr_mem.c changed accordingly Change-Id: I9f9780254cd7e80649d40b3df6bcdd84a2f90404 modified: src/rx/xdr_len.c modified: src/rx/xdr_mem.c Reviewed-on: http://gerrit.openafs.org/1266 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 87af0e4cb603218417a04e203b5182929f7c5a0e Author: Chaz Chandler Date: Mon Feb 8 21:42:35 2010 -0500 fix AFS_ASSERT_GLOCK on irix and aix irix and aix do not have a vararg version of osi_Panic, fixed AFS_ASSERT_GLOCK macro definition in afs/afs_osi.h for those two platforms Change-Id: I0b541d2c1edad1364ef1c91dec84b9d4319c4e62 modified: src/afs/afs_osi.h Reviewed-on: http://gerrit.openafs.org/1267 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ab17ebef16a04180b2ede8c8ed07cd9c1871ae42 Author: Antoine Verheijen Date: Mon Feb 8 15:45:25 2010 -0700 Add support for OpenBSD 4.6 Add config param header and sysname number for OpenBSD 4.6. As well, add an additional parameter to a call to ifa_ifwithnet() when looking up the MTU for an interface to indicate that the call should use the default routing table. With the advent of OpenBSD 4.6, the system has started to make provisions for multiple routing tables which included a change to the calling sequence for this routine. Change-Id: Idb53efef0e229ca26bd587f2f8cd9df8a0248227 Reviewed-on: http://gerrit.openafs.org/1265 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 80151fdfcacf8c2d673bf79ac9276b30979de976 Author: Steven Jenkins Date: Mon Feb 8 14:38:49 2010 -0600 tubik: Initialize mutexes and cvs Initialize some mutexes and condition variables for pthreaded ubik. FIXES 124977 Change-Id: I95833c5e277183e3c912e1b2fde2b02f88cff0c9 Reviewed-on: http://gerrit.openafs.org/1253 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a5c733d0cfd61cb34ca99446c546629d059fc968 Author: Daria Phoebe Brashear Date: Sat Feb 6 22:36:18 2010 -0500 darwin vnodeops cleanup remove dead code, and retabify Change-Id: Ia11ec13773688a0fd7987dc777905364e1354e15 Reviewed-on: http://gerrit.openafs.org/1251 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 80a1130612a68d14e1beda90013bd90d5523aa25 Author: Daria Phoebe Brashear Date: Sat Feb 6 19:48:44 2010 -0500 macos package allow backrev in order to go back versions, tell the install not to enforce "no backrev" Change-Id: Ifb4bee86344560d63c9b8ab3cd789f25ed8629b8 Reviewed-on: http://gerrit.openafs.org/1249 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7e14ccf1cd1598a8ae851fcb942578141675e49c Author: Daria Phoebe Brashear Date: Fri Feb 5 20:40:22 2010 -0500 fetchstore reorg shift the functions around to avoid forward decl Change-Id: I50a8280674745a5ccf0f01863ce5d0351f62366b Reviewed-on: http://gerrit.openafs.org/1248 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 57d8e4544713170dc31afede27a1d6e2f94f5b95 Author: Daria Phoebe Brashear Date: Fri Feb 5 19:54:22 2010 -0500 set storeproc for non-linux forgot to push this with 0683c04a Change-Id: Ifce009ed8b2877befc364b831a185126bf692ede Reviewed-on: http://gerrit.openafs.org/1247 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b80efa48f48ddfafe0ad2bdb9d00b6774de17357 Author: Daria Phoebe Brashear Date: Fri Feb 5 15:01:31 2010 -0500 decode-panic deal with kextload kextload won't handle -arch. deal appropriately. Change-Id: Iac7dac9b484e44b9610da028027aadbd94cfe151 Reviewed-on: http://gerrit.openafs.org/1246 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 521b3363aa1aa5530a83be3a7c55302c557e7818 Author: Jeffrey Altman Date: Fri Feb 5 13:45:48 2010 -0500 Windows: Remove use of AFS_AFSDB_ENV from kauth/user_nt.c AFS_AFSDB_ENV was removed from the rest of the source tree. Now remove it from kauth/user_nt.c so that DNS lookups can be performed from the ka_ authentication routines. FIXES 126366 Change-Id: I99cf6ada8b672398c0cfc6c8251cfc8dfdae9a31 Reviewed-on: http://gerrit.openafs.org/1245 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 0e8beecff3bffc0aa6f10d342cd4d100412ca29f Author: Daria Phoebe Brashear Date: Wed Feb 3 21:46:06 2010 -0500 macos prefs pane spelling fix spelling of link to the usual unix spelling Change-Id: Id8464a22c049200526c6ffe471ea6dc6d4b0ed9a Reviewed-on: http://gerrit.openafs.org/1230 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 604471a3f881a7895cda218a823692a63044dd2e Author: Marc Dionne Date: Wed Feb 3 21:34:24 2010 -0500 Don't clear afs_stats_cmperf too early during shutdown Commit 21cbf7fee0a089d94f62baa7df2422e7bc8293f7 activated some previously unused cleanup code. Part of this clears afs_stats_cmperf, but these stats are used later to check for leaks of chunks allocated with afs_AllocSmallSpace and afs_AllocLargeSpace. The result is a message about unfreed blocks in the syslog with negative counts. Since the structure is already cleared later in the shutdown process, just remove this instance. Change-Id: I6bf2ab37752d2623d072469fb87fa6d06e85b9ec Reviewed-on: http://gerrit.openafs.org/1229 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 682db4d64d550af86dc5a09786e050c6a98ffb0c Author: Daria Phoebe Brashear Date: Wed Feb 3 19:01:28 2010 -0500 fakestat should preclude afsdb lookups too macos tries to look up ._foo stuff. correctly identify those (mvstat 2, not 1) and also use tryEvalOnly to preclude AFSDB lookups Change-Id: I490fe98d695c4d230210bc4e4645ea20cd4d8fa2 Reviewed-on: http://gerrit.openafs.org/1228 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8419da9ffec8297759e2e4198eb3963d1d1ed843 Author: Daria Phoebe Brashear Date: Wed Feb 3 16:49:23 2010 -0500 macos installer scripts shouldn't echo remove the other echoes from these scripts Change-Id: I46b43aabc0f6080f776e2ec610d748920bc18d3b Reviewed-on: http://gerrit.openafs.org/1227 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bea0fbf816744330863974d7ccb2d89cc2ccae0 Author: Daria Phoebe Brashear Date: Wed Feb 3 16:40:29 2010 -0500 format fallout this was missed somehow in my verification. fix it now. Change-Id: I35b16ed8dcb35b153d7bfb2360673a0f1323f03e Reviewed-on: http://gerrit.openafs.org/1226 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d72846bb0a0650f96362ba190fa8f1fed90ba7d5 Author: Simon Wilkinson Date: Wed Feb 3 00:37:20 2010 +0000 Fix fs storebehind on files with 2 or more servers fs storebehind didn't allocate a large enough buffer for its call to VIOCWHERIS. This meant that when it was called on a file with more than one server (one in a readonly volume), it would error out with E2BIG, rather than a more appropriate message. Fix this, by using the generic 'space' buffer for the VIOCWHERIS call. Change-Id: Ida0d40175f07ad528720ca700db5b5027b975095 Reviewed-on: http://gerrit.openafs.org/1224 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 718f85a8b69a78ac77beb5c8471af20657be2a53 Author: Simon Wilkinson Date: Wed Feb 3 00:31:32 2010 +0000 Fix pioctl input and output handling Pioctl input and output handling was being handled in an adhoc manner, with little or no detection of input and output buffer overflow. Whilst overflow is difficult to provoke on a real system, due to the size of the buffers being allocated for output, the code was difficult to read, and fragile to maintain. This patch adds an XDR like abstraction for marshalling and unmarshalling pioctl data. Whilst the real XDR can't be used and maintain backwards compatibility, this gives a similar elegance. Input and output pointers are replaced with instances of struct afs_pdata, which store both a pointer to the current position in the data stream, and a note of where the stream ends. All access to a data stream is now performed through a set of helper functions, which handle the reading and writing of integers, strings, and arbitrary blocks of bytes. An 'inline' function is provided for those cases where direct access to the stream is required. Change-Id: I6ed2e8e80cebde2abc6a517f4dbef09042b47037 Reviewed-on: http://gerrit.openafs.org/1223 Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a1fd212bc6b05d4b6fe74b9c0e5258165cea41d4 Author: Simon Wilkinson Date: Wed Feb 3 00:25:17 2010 +0000 Make twiddle build Update the twiddle utility (for manipulating rx settings in the Unix CM) so that it builds with error checking enabled. Also, add the binary to the gitignore file in that directory. Change-Id: I5c19832579db139e5c558b3488d7c49fdb7c08c4 Reviewed-on: http://gerrit.openafs.org/1222 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e501c45c4ab30bb8409d0dd1e4c7ebabed1e9669 Author: Simon Wilkinson Date: Sat Jan 30 22:28:47 2010 +0000 Add xdr_len, to work out required buffer size Currently, code which uses xdr_mem needs to take a guess at the buffer size required, allocate that guess, and error out if the data being encoded actually exceeds the guess. This adds a new XDR mechanism - xdr_len, which can return (using xdr_getpos) the length of the buffer required to XDR encode a given structure. Change-Id: I6e04c051118a26441caebdbcb2b5768d3c4389b6 Reviewed-on: http://gerrit.openafs.org/1221 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fa033c6beae5a8c912ea440385e1b7d16c1443d3 Author: Simon Wilkinson Date: Sat Jan 30 21:56:57 2010 +0000 Add xdr_mem to the Unix build A number of forthcoming attractions require xdrmem, which is currently not part of the Unix build. Fix it so that it builds without warnings, and add it to the standard RX build. Change-Id: I5a21b2c7cd837c317f16dc35bf12cdac69d10167 Reviewed-on: http://gerrit.openafs.org/1220 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0b234aa57f6b3de37bd167d1efad1c8987db7bc2 Author: Simon Wilkinson Date: Sat Nov 7 23:48:14 2009 +0000 Add printf format checks to the rest of tree Add printf format checks to the remaining va-arg printf-style functions in the tree. There are no error fixes required from this change. Change-Id: If774532a3ac5d8b611ec9f47576e933a57907185 Reviewed-on: http://gerrit.openafs.org/796 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a150df6107c07955a3a2fd97ddb94d401649e4e1 Author: Simon Wilkinson Date: Sat Nov 7 23:43:25 2009 +0000 Add printf format checks to rx Add gcc printf format checks to rxi_DebugPrint() and osi_Panic() Deal with the small amount of fallout. Change-Id: Ic356028613087bda02beb9907886421d80a227c3 Reviewed-on: http://gerrit.openafs.org/795 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d008089a79ef268bbca91d660a840f32cb416865 Author: Simon Wilkinson Date: Fri Jan 29 17:52:17 2010 +0000 Add interface to select client security objects Add a pair of interfaces to support the selection of a security object by the client. The idea of these interfaces is to abstract out the job of selecting an interface from the client code itself, and into a common library. This reduces duplicated code, and makes it easier to add new security objects in the future. Change-Id: I2bf411e6b56534070c827d009d36fa8a618c4511 Reviewed-on: http://gerrit.openafs.org/1219 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d302f1e193f631abb1c17253e8e3558f9c4a528c Author: Simon Wilkinson Date: Sat Nov 7 21:19:42 2009 +0000 Add printf format checks to the cache manager Add printf format checking to the afs_warn and afs_warnuser functions and fix the fallout. Change-Id: I81ed776308a31706bf307246c470ee409797f044 Reviewed-on: http://gerrit.openafs.org/792 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8229e668deee3eb00a295a8c9ea96a66b7049687 Author: Simon Wilkinson Date: Sat Nov 7 22:31:08 2009 +0000 Add printf format checks to afs_com_err() Add gcc printf format checks to the afs_com_err() functions Deal with the fallout, in particular change callers which pass an empty format string to pass NULL instead - the com_err functions already permit this alternate use. There's a couple of real bugs here - in one case, we attempt to print a NULL pointer, rather than a security index, and in the other we supply a NULL format string, rather than the string we meant to print. Change-Id: Icd48f92a4447d4af3dba9a4caa2ff73c1657ad47 Reviewed-on: http://gerrit.openafs.org/794 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 68463b6ab9c664303692ac264871723c27bfc524 Author: Simon Wilkinson Date: Sat Nov 7 21:21:00 2009 +0000 Add printf format checks to util's log functions Add gcc printf format checks to all of the logging functions defined in src/util/afsutil.h Deal with the fallout, in particular create cast functions to go from VolumeId and VnodeId to (unsigned int) Change-Id: I28181b73cfeac22cf869d34e75a8335e65125e36 Reviewed-on: http://gerrit.openafs.org/793 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dac001a0a04f54a76f254200ee24ab09f5ad22f7 Author: Simon Wilkinson Date: Fri Jan 29 15:12:42 2010 +0000 Don't pass tokens around the backup system The backup system has a global ktc_token, which is used to work out when its credentials are about to expire. This leads to an unfortunate dependency throughout the code on the format of this token. Replace this with a global time_t which stores the expiry time, and copy the required field from the token into this when we get the token. This limits the exposure of the token, and simplifies the code. Change-Id: Ia2929c2c0a4c1ba9ca5db881865f33af5a732d2f Reviewed-on: http://gerrit.openafs.org/1218 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a82f8591a174f22529f1fa9a1a68c4030abd56c9 Author: Simon Wilkinson Date: Thu Jan 28 23:50:54 2010 +0000 Common interface for server security objects Add an interface for creating arrays of server security objects. This collects all of the various daemon code for initialising security objects into one place, reducing duplication and making it easier to add new objects in the future. Change-Id: I9df20afccdbac4a610cb5bde32f01069272f27a2 Reviewed-on: http://gerrit.openafs.org/1177 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 61af204cf386deaeebf295dda5f9b58ea25fa225 Author: Simon Wilkinson Date: Tue Feb 2 22:13:45 2010 +0000 Document the extra options to fs getcacheparms Write some documentation for the -files and -excessive options to fs getcacheparms Change-Id: I769f8c0cf6d9d100a1687ae73a337132befb2449 Reviewed-on: http://gerrit.openafs.org/1217 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7533adaf34ef76324b971a211bcbf3fba5b40627 Author: Simon Wilkinson Date: Tue Feb 2 15:59:12 2010 +0000 Add a set of strings for the InstallationCheck InstallationCheck needs a strings dictionary to turn its errors into human readable content. Add such a dictionary, and use the correct product name and version for each Mac OS X release. FIXES 126322 Change-Id: I8401a1163ea078e690152215c20db6970969ee04 Reviewed-on: http://gerrit.openafs.org/1208 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 289d06650d0e3c7c0a308a275cf229d671135bf5 Author: Andrew Deason Date: Mon Jan 25 16:56:13 2010 -0600 Squash pthreaded ubik warnings Fix/ignore some warnings with --enable-pthreaded-ubik: - ubik/ubik.c: move rx_stackSize decl to non-pthread code, since it's only used there - budb/db_dump.c: move 'code' decl to non-pthread code, since it's only used there - ubik/recovery.c: move return to outside the ifdef, so we still have a return statement in the pthreaded case - Add -Wno-error to beacon.c in tubik, to match the ubik case Change-Id: I614f2425c36e77bb1a08838b45166d8edb080c73 Reviewed-on: http://gerrit.openafs.org/1211 Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6beb32f0e059d1dbfbf82260a9103665aba88565 Author: Andrew Deason Date: Mon Jan 25 17:05:09 2010 -0600 Use -A and -u in pthreaded ubik rxgen Use -A for rxgen in tvlserver and tptserver to generate ANSI code, so we don't generate warnings. Also use -u in tubik rxgen, so we generate the ubik_* functions that new code uses. Change-Id: Id13168e65e36aeebf48610c28e7b3df2164fc073 Reviewed-on: http://gerrit.openafs.org/1210 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 61afb03fddcb21bfc83b277074784b31bc6739bb Author: Andrew Deason Date: Mon Jan 25 17:08:36 2010 -0600 Build utst_client for pthreaded ubik Build utst_client in src/tubik, as it is in src/ubik. Change-Id: I655445905efbaaa9e578a9e2061091679813a768 Reviewed-on: http://gerrit.openafs.org/1209 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c0724584680562330347026ee9ec72f74066bc51 Author: Simon Wilkinson Date: Tue Feb 2 15:47:02 2010 +0000 Don't echo from the InstallationCheck script Return codes from InstallationCheck are turned into errors by the GUI - don't echo them out to stdout as well. Change-Id: Iee9c1ff4687ea42ab8c18566493a8a92b6d51fed Reviewed-on: http://gerrit.openafs.org/1206 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 642e380ac10f1f249dc75b3656a6b82c3df9ace4 Author: Simon Wilkinson Date: Fri Jan 29 14:17:46 2010 +0000 Remove internal vldbClientInit prototype vldbClientInit is used by other modules in the backup suite, and is already prototyped in bucoord_prototypes.h. So, remove it from the internal header. Change-Id: I2688426189c3aeaacc8db4f815ede466caa5dde0 Reviewed-on: http://gerrit.openafs.org/1205 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 248da50aa56f19bdc8b2b322f5e17b3d2a363dce Author: Daria Phoebe Brashear Date: Tue Feb 2 00:36:58 2010 -0500 icl 64 bit platform rationalization be consistent about how we apply 64 bit longness. right now we were doing 3 different things. oops. Change-Id: Ie48816852d5db916e3023ae6e3cd2f6298802668 Reviewed-on: http://gerrit.openafs.org/1200 Tested-by: Derrick Brashear Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 44147f3c0265ed257fcc8dc459a7fbad224ebc14 Author: Daria Phoebe Brashear Date: Tue Feb 2 00:16:54 2010 -0500 icl trace code deduplication right now we have 2 copies of the same code for dealing with traced objects. it's the same code! make a function, and call it 4 times. Change-Id: I1c8b6d7b2cff59108eada1522ba1ec76efeba421 Reviewed-on: http://gerrit.openafs.org/1199 Tested-by: Derrick Brashear Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 837fb322e57c80aac5e5dee43fc7220727c1049f Author: Simon Wilkinson Date: Fri Jan 29 14:13:47 2010 +0000 Fix USS to use volser prototypes Fix the uss_vol.c file to use the volser prototypes. This clears up the list of the warnings in this file, so drop the warning supression from the Makefile, and remove the entry from README.WARNINGS Change-Id: I9e4ec8bdfa39e3a7adafea454a4c6d96c5fc9d0f Reviewed-on: http://gerrit.openafs.org/1204 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0d17a5a209ae80d880720fcd85b7555853605178 Author: Simon Wilkinson Date: Tue Feb 2 13:14:28 2010 +0000 xdr_proc_t really is different on linux26_i386 i386 Linux uses a register based calling convention within the kernel, but uses the stack for va_args based functions. This means that the hack of prototyping xdrproc_t as a va_args function doesn't work, as you end up with arguments being in the wrong place. Restore the Linux only xdrproc_t prototype that 167e1aa21f5bbea1272b239dc6518a7bdbfc3ee6 removed, add a warning to explain why its there, and modify xdr_free() so that it works without error. Change-Id: I789d387b01fcb892b187fe05f961f01c2c1f55e4 Reviewed-on: http://gerrit.openafs.org/1202 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cad1df43d89d829f36c9aa72e648bab827a2ea53 Author: Simon Wilkinson Date: Mon Feb 1 14:12:05 2010 +0000 Darwin: Stop CM builds when errors occur Make the kernel module build on Mac OS stop when errors are encountered, instead of just ploughing on regardless Change-Id: I489357c04cb7c78663f593af2c2adbc50ebfffff Reviewed-on: http://gerrit.openafs.org/1203 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7d3398f48d15fc4e334e4f1acbf6b7156f0ab522 Author: Marc Dionne Date: Mon Feb 1 19:31:05 2010 -0500 Linux: warning fix in osi_file.c Cast printed variable to avoid a warning about a mismatch between %d and long int. Change-Id: I3245cbb5e4780a258e8756b4210c1078f4fbc51c Reviewed-on: http://gerrit.openafs.org/1195 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c75396e23a50a144de6d08d57304c1803722ead2 Author: Simon Wilkinson Date: Tue Feb 2 00:03:04 2010 +0000 Linux: Fix breakage in llseek error handling Commit 7a5cee30cc5f0e6d5780387633ce2b46608fd5fb changed the way that errors from llseek are dealt with. Unfortunately, it is missing some all important bracing, and so we end up going down the error path, even when the llseek succeeds. My fault. Sorry. Change-Id: I03061ba0663b610a8fb73a08d257f6d786795076 Reviewed-on: http://gerrit.openafs.org/1194 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a97fffc08a02ad8583c7f7b50d41fe07c93520b8 Author: Jeffrey Hutzelman Date: Mon Feb 1 16:59:14 2010 -0500 call afs_osi_suser correctly in PNewUuid we were using the wrong level of indirection on acred. fixed. Change-Id: I00ab1a97b42717adc2d9d26e885b91c44103ab1d Reviewed-on: http://gerrit.openafs.org/1190 Reviewed-by: Jeffrey Hutzelman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 43bcd4db710cec13e14e3e53a3e5ce1f995153d7 Author: Daria Phoebe Brashear Date: Mon Feb 1 00:00:39 2010 -0500 make 1.5.71 for unix version updates for unix Change-Id: Ia7901e3969b3afb72b870e7bfaf1be931c2fb0c5 Reviewed-on: http://gerrit.openafs.org/1185 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e1fd1f60d37bdb37e79883045caf17b7ecbd07ba Author: Jeffrey Altman Date: Sun Jan 31 23:27:32 2010 -0500 Windows: ChangeLog and Version Number for 1.5.71 Change-Id: I0969e2b3fcff98489aef1b0e660ef12149a4b96c Reviewed-on: http://gerrit.openafs.org/1184 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0683c04a61ab8946fe715500888a983172298972 Author: Chas Williams Date: Wed Jan 6 16:48:41 2010 +0000 Unix CM: Always use ->storeproc() Always use ->storeproc() and avoid branching "do or do not -- there is no try" Change-Id: Idbcf0c80930d6a433b4c921b44db28cb6fbbf9bb Reviewed-on: http://gerrit.openafs.org/1073 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d52213fcc5dae5095d660e1861f77e90c07bb2ab Author: Daria Phoebe Brashear Date: Sat Jan 30 13:54:20 2010 -0500 rx idledeadtime don't track window wait if we're in writer mode and waiting for more window, don't consider it idle. Change-Id: Id1e80f297929eef363ffe88bfe181b74bb331515 Reviewed-on: http://gerrit.openafs.org/1182 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b85929698b496baee34c7d9e0a7ad654a7f5ae33 Author: Simon Wilkinson Date: Fri Jan 29 17:47:12 2010 +0000 Darwin: Don't use ARCHFLAGS to determine arch The Darwin build uses ARCHFLAGS to control the architectures it builds binaries for. However, this causes problems for standalone builds which just do ./configure && make. So, if ARCHFLAGS is undefined, ask gcc which architecture it thinks that it is building for, and use that. Change-Id: If9e7dc3c41ded5ac0593ae20ddd741690914a699 Reviewed-on: http://gerrit.openafs.org/1181 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8b395497d5a464c57c65ba73ca757d47e4ff109a Author: Daria Phoebe Brashear Date: Fri Jan 29 12:59:59 2010 -0500 macos prefpane fat binary arch selection correction don't choose 64 bit arches for the prefpane if we're not on macos 10.6 sadly, this is the best i can do to conditionalize Change-Id: I31fb2e10fbef5c66a27e0170e8925513a1b63050 Reviewed-on: http://gerrit.openafs.org/1180 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1d57791d4eadd3e0bc5de5b8654e7964b662b3e Author: Daria Phoebe Brashear Date: Thu Jan 28 11:35:56 2010 -0500 linux cache file open fail print error if we're going to oops, print a little more info about why. in this case, knowing why dentry_open failed would help Change-Id: I78a3c97d67c7c29110de975465cce0edd6367496 Reviewed-on: http://gerrit.openafs.org/1173 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 167e1aa21f5bbea1272b239dc6518a7bdbfc3ee6 Author: Daria Phoebe Brashear Date: Fri Jan 29 00:03:07 2010 -0500 xdrproc_t probably not really different on linux26 for some reason we prototype it differently. makes xdr_free sad. Change-Id: Icd6060acd922314fc400aa2fe360c662ec705fa6 Reviewed-on: http://gerrit.openafs.org/1179 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 008eb3c011d58375180f150b1591a0c0c4d07a24 Author: Chaz Chandler Date: Thu Jan 28 23:59:12 2010 -0500 further irix updates updating for non-c99 and for no vprintf in the irix kernel Change-Id: Id7239dae35ff195007c615319522827d06395f8f Reviewed-on: http://gerrit.openafs.org/1178 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 054e853922b98984ed25b5482fb4f5cd4e5efdf5 Author: Daria Phoebe Brashear Date: Thu Jan 28 18:12:44 2010 -0500 afsd missing close brace fallout from the open-by-path-only unification Change-Id: I06f6a7bbb45368b5ab8c336e93ffae11af6b3fac Reviewed-on: http://gerrit.openafs.org/1176 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2ca0c2828d48cd377e9cfc2e325a1ff6011ce18b Author: Daria Phoebe Brashear Date: Thu Jan 28 00:35:36 2010 -0500 ignore generated macos packaging description file added ignore for OpenAFS.Description.plist as it is now generated Change-Id: Icbad9f8bbbdd5be6604838366d14f648eec05ee4 Reviewed-on: http://gerrit.openafs.org/1171 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a340dc7981cb75cee66defd4cec5becdb4b7dfea Author: Daria Phoebe Brashear Date: Thu Jan 28 14:22:53 2010 -0500 irix cc defaults to pre-c99 no xdr labels for irix Change-Id: I4e1ca001d62a0a3d1f2f6ddef4b6419d1b2b2c13 Reviewed-on: http://gerrit.openafs.org/1174 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fca5ace4da5e685fdf665ff8f6e70bcab76eeaae Author: Daria Phoebe Brashear Date: Thu Jan 28 14:25:32 2010 -0500 irix can't have vprintf in the kernel vprintf doesn't exist for irix either. deal Change-Id: I60f78feaf36dbbb086e2ea9e6f7a839c76074647 Reviewed-on: http://gerrit.openafs.org/1175 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9e4477fbfb212bcaaa6c9324ed992dd769502737 Author: Jeffrey Altman Date: Tue Jan 26 10:23:03 2010 -0500 Windows: drop cm_Freelance_Lock before call to cm_FreelanceAddMount The cm_Freelance_Lock must not be held before calling cm_FreelanceAddMount(). cm_InitLocalMountPoints() was violating this requirement. It is safe to drop the lock because the only time the lock would be dropped is if the "Freelance" registry key does not exist. This should only be true during the initial startup of the application the first time afsd_service.exe executes on the machine. At this point in time there is only one thread that is executing that could be initializing the Freelance mount point list. LICENSE MIT Change-Id: Ib49cf8bc830836c8e08446073e64ccf30086d354 Reviewed-on: http://gerrit.openafs.org/1164 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 3a986e9b8aeacf1a23f6f06e301999d4a2dd2cb5 Author: Jeffrey Altman Date: Wed Jan 27 14:09:19 2010 -0500 Windows: export xdr_serverList and xdr_Capabilities from afsrpc.dll Required by new xdr_free() usage. Change-Id: I585947f110204c9043f92fc573d5d7263a46fd64 Reviewed-on: http://gerrit.openafs.org/1170 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit a3812f211a56c0d6e0a7ff8a97f157707d3d8c28 Author: Marc Dionne Date: Tue Jan 26 19:48:24 2010 -0500 Linux: don't count pag keys against root's keyring quotas Keys associated with PAGs are created with root ownership for security reasons, which means that they count agains root's keyring quotas. The default configuration used by most distros restricts root to the same quotas as a regular user, so a single user can potentially fill up the quota and prevent new pags from getting created system-wide. This can also be an issue for busy multi-user systems where the default maximum number of keys (200 currently) can easily be reached. Change-Id: I37e3f3d881facff9b14f2057b404d4b441e72305 Change-Id: Id1ef2d5a7109d8ee7c08aa81dfd98ecf951c8ba8 Reviewed-on: http://gerrit.openafs.org/1167 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c51e2661835b4499f1125eb2d677a06260159dbc Author: Daria Phoebe Brashear Date: Wed Jan 27 12:58:49 2010 -0500 init pthread mutexes only if an initializer exists and windows has none Change-Id: Iaff3047abde197791e3fbb42c12066f896e540d1 Reviewed-on: http://gerrit.openafs.org/1169 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 900dc5b31baea50370fba93b1f96002ad6652c8d Author: Daria Phoebe Brashear Date: Wed Jan 20 11:38:43 2010 -0500 switch to always attempting cache-config-by-path solve the "are we built for linux fh or inode" problem: just always use path. Change-Id: I076ee495b29e4a2dc964ce04001f86e100528fb6 Reviewed-on: http://gerrit.openafs.org/1133 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f02f2e80267fb45c22ab199dee0e0c15425674b6 Author: Simon Wilkinson Date: Wed Jan 27 02:30:09 2010 +0000 XDR memory management fixes Change the xdr_free function so that it matches in signature and behaviour the xdr_free that is available in other xdr packages, and update all callers. Don't use xdr_alloc where the data we're allocating isn't freed by xdr. The only place where xdr_alloc is required is in server stubs when filling OUT parameters. Change-Id: Ice231f163726afc374cb25a89302e3d82fa1e093 Reviewed-on: http://gerrit.openafs.org/1168 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0559a23d38f98280e2eb1c1e2fc91ae7a1798537 Author: Daria Phoebe Brashear Date: Tue Jan 26 13:32:03 2010 -0500 initialize pthread mutexes to avoid compiler common variable stupidity instead of worrying about ranlib versus ranlib -c, -fno-common, etc, just initialize the variables if an initializer exists Change-Id: I6ed28df4d2134f84359a1bc55706e75d54e6e083 Reviewed-on: http://gerrit.openafs.org/1166 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f3da1f9e1af4daa5b6f3ec46bad3db5226377fc4 Author: Daria Phoebe Brashear Date: Mon Jan 25 16:49:53 2010 -0500 rx ResetCall should wait if it says it will We set TQ_WAIT... and then don't bother to wait. uh. Change-Id: Ia7d3e52c8880db53fcf26b7d79ad349720018701 Reviewed-on: http://gerrit.openafs.org/1160 Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit f0b1d7ccbbc4056338dde92c8b131ad2070351ad Author: Daria Phoebe Brashear Date: Mon Jan 25 16:02:23 2010 -0500 rx avoid discarding packets while tq is busy we don't check here that no one else is working the tq *after* getting the lock. do so. Change-Id: I91d1ac020334b038a6a045734911335299613875 Reviewed-on: http://gerrit.openafs.org/1159 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 14e050033f40272a919bb54e981d8165d927240a Author: Daria Phoebe Brashear Date: Tue Jan 26 12:27:11 2010 -0500 viced detailed stats should record stored bytes correctly if we get an error reading data, don't subtract it from the length stored statistic Change-Id: I2fec260a9f677c0747ff2c6f975745ccb1e58447 Reviewed-on: http://gerrit.openafs.org/1165 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 73392259ec523fd9648e2c589d491050066d84d7 Author: Daria Phoebe Brashear Date: Mon Jan 25 12:36:25 2010 -0500 darwin80 if changes cleanup fix the indirection here to be correct. ifnet_list_get needs a pointer to a pointer for the ifnet structure Change-Id: I81bd7c383c63cc1e312fcfd482d7162d50f6f1d3 Reviewed-on: http://gerrit.openafs.org/1158 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0b7669d937ca7a34b69163963be8cbfa6db31094 Author: Daria Phoebe Brashear Date: Mon Jan 25 10:44:54 2010 -0500 darwin rx if structure fix link kernel to correct ifaddr symbol for withnet Change-Id: I384974bef73b9cc44eba7ddba43f28f65c03f39b Reviewed-on: http://gerrit.openafs.org/1157 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e58f77fe56b69e82ab82698b93ee011d272676cf Author: Daria Phoebe Brashear Date: Sun Jan 24 11:25:00 2010 -0500 pagsh dependencies don't get to include system libs we'll never be able to "build" -lresolv revert this part Change-Id: I2b1caa5bffc3d826412967fb70d9eadf8223f1f8 Reviewed-on: http://gerrit.openafs.org/1154 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7a5cee30cc5f0e6d5780387633ce2b46608fd5fb Author: Simon Wilkinson Date: Mon Jan 25 00:02:11 2010 +0000 Linux: Handle llseek failure If llseek fails, then we return immediately, potentially leaving the wrong address space configured for this process, and without resetting the processes saved limits. Fix this by creating a common exit point for osi_rdwr, and using it. Change-Id: Ifff8cb0155f92a4130d21828d5ee2d2a55c09195 Reviewed-on: http://gerrit.openafs.org/1155 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a16e6f396464bd860d08b9fec1f37f96ea8ac30a Author: Daria Phoebe Brashear Date: Sun Jan 24 10:09:41 2010 -0500 unix 1.5.70 make 1.5.70 for unix Change-Id: I84ed384e9cd38e49a2c002a4ffe19a6ff5ba633d Reviewed-on: http://gerrit.openafs.org/1153 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aacc766252aacadf8f6e3ab234ba77bfeb61714e Author: Jeffrey Altman Date: Fri Jan 22 14:24:17 2010 -0500 Windows: 1.5.70 ChangeLog updates Version number updates Change-Id: I16fd2d2ef507cc862417eef8d221ea5ba58567a1 Reviewed-on: http://gerrit.openafs.org/1146 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 0caf14224a9153bb488be9e52d67892a2c441a5a Author: Marc Dionne Date: Fri Jan 22 20:03:58 2010 -0500 Linux Keyrings: don't ignore error code from session keyring creation Creating a session keyring can fail, for instance if the user's keyring quotas are reached (number of keys/keyrings or data size). Instead of ignoring errors, return them so they can be passed back to the caller. FIXES 126230 Change-Id: I745abeef4b3b8e4c3ab1b90667c6a5478c1e0ad2 Change-Id: I4b0ce6423ee493fbbcbdac1c580e3a157d3c11f4 Reviewed-on: http://gerrit.openafs.org/1151 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8462b1a1b2272eab004ed266a1bd9ffaf51266f3 Author: Marc Dionne Date: Fri Jan 22 20:05:34 2010 -0500 Add missing dependencies for pagsh in Makefile Make pagsh and pagsh.krb depend on the libraries that are used to link them, and on the source file pagsh.c Without this dependency, modifying pagsh.c would not trigger a rebuild of the executable. Change-Id: I9ed20ce69f10916f97d6c335be9bb8374fb9ecd1 Reviewed-on: http://gerrit.openafs.org/1150 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1eb6a7a3f80500f0187cc6a1dd2013e1a5e154a Author: Simon Wilkinson Date: Fri Jan 22 20:11:21 2010 +0000 Don't throw data away in afs_StoreMini afs_StoreMini had some interesting error handling. Instead of returning the error code from StoreData, it would return the error from EndCall, potentially masking the StoreData error. When it encountered an error it would discard all of the cached data. StoreMini's only caller is afs_StoreAllSegments. If StoreAllSegments is called from DoPartialWrite, then it squashes the error code. This combination could lead to the user's data being disposed of, without an error being reported. Fix all of this by not invalidating segments in StoreMini. Make StoreMini static to make it clear its only used by StoreAllSegments, and fix the error handling in StoreMini so that StoreData errors always take priority. Change-Id: I41f0c753655fac343485d2a473ad70b6ae96bb78 Reviewed-on: http://gerrit.openafs.org/1147 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 637e1eac97c2e9c0f0354cfff1a83deddb4ae24f Author: Simon Wilkinson Date: Fri Jan 22 21:50:44 2010 +0000 Revert "Fix afs_AccessOK for dropbox case" This reverts commit 3f89c0feae89e9a255afb8a7f08995412a3f1b79. That change broke the expected semantics of a drop box, by opening up read() access to users to whom it would usually be denied. The expected dropbox behaviour is that whilst anyone can write a file there, only those who are specifically given r permissions may read it. Change-Id: I025cef7cad1031fbed1e914d58a0a515561f3f78 Reviewed-on: http://gerrit.openafs.org/1149 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d9cef89c93d33985c43c0bf5d28d96955bb0e457 Author: Daria Phoebe Brashear Date: Thu Jan 14 15:41:23 2010 -0500 abstract rx if structure access change things to use accessor macros styled after the mac KPI where feasible, and make access consistent. Change-Id: I284101b370666e1aeb8e42bc1a651a2781a9af78 Reviewed-on: http://gerrit.openafs.org/1101 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f02ab3339d01bca414fe705f3a990a1db146f29b Author: Russ Allbery Date: Fri Jan 22 10:59:14 2010 -0800 Enable weak enctypes for klog.krb5 if supported by Kerberos The same as cb4b62a40352ccebae3a299f4327fa70fc7a0c5c, but for klog.krb5. Current versions of both MIT Kerberos and Heimdal disable DES enctypes by default, but DES enctypes are still required for AFS service tickets. Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES enctypes. If neither is found, assume that the Kerberos libraries are old enough that DES is enabled by default. Change-Id: I99c93621c847f6edcc485207f5b6b99b2370b347 Reviewed-on: http://gerrit.openafs.org/1144 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear commit 3f89c0feae89e9a255afb8a7f08995412a3f1b79 Author: Andrew Deason Date: Thu Jan 21 20:42:33 2010 -0500 Fix afs_AccessOK for dropbox case afs_AccessOK did not check for if we have 'i' rights on a directory, nor if we were the owner of a file, if we were only checking PRSFS_READ or PRSFS_WRITE. Thus, it does not correctly address the 'dropbox' permissions case (if you are the owner of a file and have insert permissions, you get implicit 'r' and 'w'). Fix this to check for 'i' and ownership when we need to, so the dropbox special-case check works as intended. FIXES 126216 Change-Id: Ib629bc30b73bc3965e777747067259451f0adff6 Reviewed-on: http://gerrit.openafs.org/1143 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cb4b62a40352ccebae3a299f4327fa70fc7a0c5c Author: Russ Allbery Date: Thu Jan 21 15:41:49 2010 -0800 Enable weak enctypes for aklog if supported by Kerberos Current versions of both MIT Kerberos and Heimdal disable DES enctypes by default, but DES enctypes are still required for AFS service tickets. Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES enctypes. If neither is found, assume that the Kerberos libraries are old enough that DES is enabled by default. Change-Id: Ib5231bb7c2fe88f4c424628394ed08122d5710a1 Reviewed-on: http://gerrit.openafs.org/1141 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ddc64898e7b3a26e6514be63ef01672fe67cb851 Author: Marc Dionne Date: Thu Jan 21 17:53:42 2010 -0500 afs_vnop_attrs: syntax error in conditional expression Add a missing && in a 2-line condition. Not sure how this could have compiled successfully on the affected platforms. Change-Id: I2e8b791c6d8cd09795be1ef52c078ebfa5a3e53b Reviewed-on: http://gerrit.openafs.org/1140 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 14ffee4bbc1c8df93110ae1b86edb2a172aae091 Author: Jeffrey Altman Date: Thu Jan 21 20:05:25 2010 -0500 Windows: AFS_AFSDB_ENV preprocessor symbol no longer exists The decision to add AFS_AFSDB_ENV to make code consistent was a mistake. The preprocessor symbol no longer exists. AFSDB is broken in 1.5.69. Change-Id: I7ea147b824f3a67e2039abee8b2513af175fcc5d Reviewed-on: http://gerrit.openafs.org/1142 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 0342cdb2d3710f7d56a5b93ca8aedf7b2df835fc Author: Jeffrey Altman Date: Thu Jan 21 17:38:43 2010 -0500 Windows: add build and clean rule for bc.h Add a dependency rule to build bc.h before it is installed Add cleanup rules to delete bc.h and other installed files. Change-Id: I9a40fd64aff048bfc87b9fd823ae7499816cb3e5 Reviewed-on: http://gerrit.openafs.org/1139 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d8bda273b09ed7d7b7395390f58891913e5fafdc Author: Jeffrey Altman Date: Thu Jan 21 16:43:18 2010 -0500 Windows: Windows v6.0 SDK does not define __RPC__out The Windows v6.0 SDK does not define __RPC__out in the rpcsal.h header file. The preprocessor symbol was added in the v6.0A SDK update. In case the v6.0 SDK is used with the 6000 WDK, add a symbol declaration. Change-Id: Iecce566e906977f41be00efb458753acd09f7949 Reviewed-on: http://gerrit.openafs.org/1138 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 7a5d90b7735e4047eb926dc03dbaafce556bccfe Author: Jeffrey Altman Date: Thu Jan 21 15:34:49 2010 -0500 Undo labeling of elements of rx structures for Windows Change I006bbbdb8923dbb72a97fde931a1b23e303375c2 broke the Windows build. Restore the unlabled assignments for Windows since Windows always uses the AFS xdr implementation. Change-Id: I2eadc624d84f4100281424993b7287a330d6c753 Reviewed-on: http://gerrit.openafs.org/1136 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 18ace069417cde36b2af8439c375fd247ed4d8aa Author: Jeffrey Altman Date: Thu Jan 21 15:30:23 2010 -0500 Install bucoord/bc.h to permit Windows to build Change I0a0ae92d3c7ba75e4a331bf59ea9c031763cc704 broke the Windows build. Fix it. Change-Id: I08db225790a37eee3e4fd778eacabc7168abee77 Reviewed-on: http://gerrit.openafs.org/1135 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7f1046896ee14d3e7ee6975e70cd1a9bb9f24736 Author: Marc Dionne Date: Wed Jan 20 21:03:08 2010 -0500 Warning cleanup: implicit function declarations in butc and bucoord Cleanup some prototype related warnings under bucoord and butc: - Copy a few prototypes from bucoord_internal.h to bucoord_prototypes.h, since they are used in other source directories - Install bc.h under include/afs, and include it in tcmain.c - Include bucoord_prototypes.h in tcmain.c - Add a prototype for GetResponseKey - Remove warning inhibition for tcmain.c, and entry in README.WARNINGS - Remove warning inhibition for bucoord/dump.c (no entry in README) Change-Id: I0a0ae92d3c7ba75e4a331bf59ea9c031763cc704 Reviewed-on: http://gerrit.openafs.org/1134 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 21cbf7fee0a089d94f62baa7df2422e7bc8293f7 Author: Daria Phoebe Brashear Date: Wed Jan 20 11:15:29 2010 -0500 simplify ufs cache mechanisms available instead of having use_fh for linux, vnode_path for solaris and darwin, use the same mechanism for both. for darwin/solaris we cache the path (tested via gop_lookupname) instead of an fh, freeing the path at shutdown. Change-Id: Id22052db0803264bdaba6b870d9e511953e348bc Reviewed-on: http://gerrit.openafs.org/1132 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 1b7836e44f33c8dccc486aa49a25e9fe5a2d5aed Author: Daria Phoebe Brashear Date: Tue Jan 19 01:29:11 2010 -0500 batch panic decoding for MacOS add support for decoding (nominally) any panic for MacOS. Limited testing. Requires hdutil from http://www.dementia.org/~shadow/dmgutil-0.1.tar.gz to extract files from DMGs. now with support for cross-version debugging, when run on 10.6 (e.g. with kextutil) Change-Id: I5d9db005e3014e22f916070f8af25271a28615ea Reviewed-on: http://gerrit.openafs.org/1125 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit be916b0f009e3c643da5cd928907a28629cc9726 Author: Daria Phoebe Brashear Date: Mon Jan 18 19:25:02 2010 -0500 macos set don't backup attribute on cache files hint to time machine that cache files should not be backed up Change-Id: I098c9231139b91ff093be74d8a39f94c185d478c Reviewed-on: http://gerrit.openafs.org/1122 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 04e6ddb60bf3ce4ddfe7a5d6e4950fb25d2a3f86 Author: Simon Wilkinson Date: Wed Jan 20 13:13:58 2010 +0000 Fix so that UKERNEL can keep using system xdr This fix modifies the way that the RX XDR operations are declared so that UKERNEL can continue using the system provided XDR glue, rather than using our own (as is the case in userspace, and in normal kernel modules) Change-Id: Ib6abad376c7f7a7f0f5c2314efe80f5b7b44f842 Reviewed-on: http://gerrit.openafs.org/1131 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f18a6c36b38ed8422eb6ed5e43cebaa3d212917c Author: Simon Wilkinson Date: Sun Jan 17 18:34:03 2010 +0000 Label elements of rx structures Label all of the assignments to the xdr_ops structure. This allows the rec, stdio and mem variants to continue to function, even when the ordering of the elements has changed in the header. Change-Id: I006bbbdb8923dbb72a97fde931a1b23e303375c2 Reviewed-on: http://gerrit.openafs.org/1126 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5dddb87eb362c824dee4b0340a95ca929c71d26f Author: Russ Allbery Date: Tue Jan 19 17:43:35 2010 -0800 Avoid executable headers in local include tree sys_prototypes.h, afs_AdminErrors.h, and afs_Admin.h were being installed into include/ in the build tree via ${INSTALL} instead of ${INSTALL_DATA}. rx_prototypes.h was executable in the repository. Install header files non-executable and make rx_prototypes.h non-executable for cleanliness. Discovered by Lintian because the executable permissions were duplicated by make libafs_tree. Change-Id: I609b62f69d1fecc2cdbba7e7442d93e9675c2fa0 Reviewed-on: http://gerrit.openafs.org/1129 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 340d3be82aa6d1fbaa0c775fe743f86e5a7335ed Author: Jeffrey Altman Date: Mon Jan 18 22:23:54 2010 -0500 Windows: Help text update for Network Identity Manager Provider Update the NetIdMgr provider help text to better describe its functionality. (Or at least not be incorrect.) Change-Id: I5d6b18f15cab7c48751666e754223ee68fb18d11 Reviewed-on: http://gerrit.openafs.org/1124 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit e010c8e9379bd2fa9b08a142e57cee56c123791c Author: Asanka Herath Date: Mon Jan 18 16:47:31 2010 -0500 Windows: Add a context menu for the AFS icon The OpenAFS plug-in for Network Identity Manager displays an icon in the notification area that displays status information about the AFS service and tokens. Add a context menu to the icon so that users can open the NIM application and get help for the plug-in from the notification icon. Change-Id: I704934b4f4eab72a18c54ef2a7a7dc3ca248ba78 Reviewed-on: http://gerrit.openafs.org/1121 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b0ff95e2ee26f04dd7b03172acca075ddcd963a8 Author: Jeffrey Altman Date: Sat Jan 16 11:07:23 2010 -0500 Windows: Version number update for 1.5.69 Change-Id: I8af0167649cfeec95e5a5e5a72faeaccdeb92102 Reviewed-on: http://gerrit.openafs.org/1115 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e33a7346a6b9153daf593ae4c084ce3839f822cf Author: Jeffrey Altman Date: Sat Jan 16 11:05:57 2010 -0500 Windows: ChangeLog for 1.5.69 Change-Id: I078f719c6e769cfcb7997bb8b67403de480255f9 Reviewed-on: http://gerrit.openafs.org/1114 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 97d0d22e34dbb1e927c90695e55ee582c51f9e64 Author: Daria Phoebe Brashear Date: Mon Jan 18 19:59:28 2010 -0500 make 1.5.69 for unix set version number for unix Change-Id: I2273e97ec43fd172e6f486ab6226cc6376885163 Reviewed-on: http://gerrit.openafs.org/1123 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cc47e765912e1a5dedddb6ef00ca8b8c8d567f0e Author: Daria Phoebe Brashear Date: Sun Jan 17 01:10:28 2010 -0500 create debugging kext package for MacOS this creates and installs a debugging kext package for macos. it also always installs the decode-panic script (which can be used even without the debug kext) Change-Id: Iff03de66cd3df2690f03333e6629d21660364cd1 Reviewed-on: http://gerrit.openafs.org/1120 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9f79dde2c804e943c2d6f7deaa00c6997b991691 Author: Marc Dionne Date: Sat Jan 16 17:40:52 2010 -0500 More pam warning cleanups - test_pam.c Clear up a few more warnings in the pam code. The changes here are very similar to the ones in the previous patch and use the same configure test: - use PAM_CONST to conditionally declare pam_message as const - cast a few arguments to putenv, which expects a non-const pointer Change-Id: I6c98623c35f4453f34c1d48b8b7d6ff1bfbc1e0c Reviewed-on: http://gerrit.openafs.org/1116 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fdee40d8eac5466dff3969183debd422df60c269 Author: Marc Dionne Date: Sat Jan 16 16:29:10 2010 -0500 up.c: remove unused variable pageSize Variable pageSize is declared and set to the system page size using getpagesize(), but the value is not used anywhere. getpagesize() doesn't necessarily have a prototype declared in unistd.h with recent glibc, which can generate a new warning and trip up an enabled-checking build. Instead of trying to put in a workaround, just remove the unused variable. Change-Id: I6a9519eb2642bb0479edd1cf1195ce3f751c72bb Reviewed-on: http://gerrit.openafs.org/1117 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 41ae68f2986709daecd1b00a91919df8b2d9581f Author: Marc Dionne Date: Sat Jan 16 18:57:24 2010 -0500 uss: Fix IP address parsing and cleanup warnings In uss_vol_GetServer(), the IP address octets are scanned into "char" variables, and later cast to afs_int32 to build the address. sscanf gives warnings because it's expecting an int pointer, and testing shows that this code doesn't work as expected - the first 3 octets are always parsed as 0. Use afs_int32 variables instead, which works, eliminates warnings and simplifies the code. Note that this code does not seem to be reachable currently. It was probably meant to be used by planned additional uss commands. Change-Id: I646d4cbfa8ac0d0c50f98a334ac3fe387d6d361b Reviewed-on: http://gerrit.openafs.org/1119 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad48e6fb1f8749a059696612ad503aea28c4707d Author: Asanka Herath Date: Fri Jan 15 15:39:12 2010 -0500 Windows: Query the MTU value from the registry The syscfg_GetIFInfo() call uses the interface info returned by GetAdaptersAddresses(). Also manually query the MTU value in the registry for any interfaces bound to the same adapter and use the smallest such MTU as the value returned by syscfg_GetIFInfo(). Change-Id: I8a1d487b51f6674ff6ebbf6b1f20d37b1e278279 Reviewed-on: http://gerrit.openafs.org/1105 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 806423be3c55f3de91c2b836d2088eeb0f4e4665 Author: Simon Wilkinson Date: Sat Jan 16 15:35:34 2010 +0000 Don't double free call structure If the rx_Read() of the number of bytes in the FetchData64 response fails, then it sets code, and disposes of the call structure. However, the length safety check that was added in c7b92a3018044f7aca4d9a77644e5c06ef64d1e9 executes regardless of whether code is set, and the call has already been freed. So we end up calling rx_Error with a NULL call structure, and panic. Change-Id: Ia2e341b7a9a2ddc1d656e8b8a31698c0d1771d5e Reviewed-on: http://gerrit.openafs.org/1112 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3c57a1a85a2b3299b7b38557c95ff79a77dc3252 Author: Simon Wilkinson Date: Sat Jan 16 02:15:36 2010 +0000 Linux: Add missing prototype 6e65ffbb6c520bf1c28356206410363d8eb36d78 added osi_get_group_pag. On most platforms this is static, but on Linux it's provided by the OSI layer. Add a prototype so the compiler doesn't go boom. Change-Id: I106fa5d5299f8ed486e70cea2ea8681b43a81a33 Reviewed-on: http://gerrit.openafs.org/1110 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f5cfa4cf7345e3d36c44f9bc01e0c70762e366b9 Author: Simon Wilkinson Date: Sat Jan 16 02:09:34 2010 +0000 Unix CM: Fix negative file length case, again As originally noted in f6f9ee5402f1718f330a00ec89fb34b05c3cd360 some fileservers return a negative length, typically when a client is attempting to fetch data that is past the extents of the file, the CM needs to retain this negative length, and handle it correctly. c7b92a3018044f7aca4d9a77644e5c06ef64d1e9 added safety checks for the fileserver returning a length larger than that asked for by the client. Sadly, this check does a comparison between a signed, and an unsigned, variable. This leads to it incorrectly classifying negative responses as being too large. Add a cast, and a comment, to fix this. Change-Id: I2ca67f55204c565667d5cd91cde3d520f8d9b10c Reviewed-on: http://gerrit.openafs.org/1109 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit df702210275453e0d2362b0e142d82bfaf14406c Author: Jeffrey Altman Date: Fri Jan 15 09:06:05 2010 -0500 Rx: Correct AFS_NT40_ENV rx_GetIFInfo max MTU assignments On UNIX, the rx library values for rx_maxReceiveSize and rx_MyMaxSendSize are sent by the cache manager directly. In Windows, they are set by rx_GetIFInfo() which had two errors. (1) The comparison of rx_maxReceiveSize and maxsize were reversed which prevented rx_maxReceiveSize from ever being set to the interface MTU. (2) rx_MyMaxSendSize was never assigned a value. As a result, two problems occurred. (1) The remote peer was never told about the local MTU. (2) The local peer ignores the MTU. From 1.3.60 to 1.5.33, OpenAFS for Windows installers provided a registry default RxMaxMTU of 1260. This caused the cache manager to call rx_SetMaxMTU() which in turn set both rx_maxReceiveSize and rx_MyMaxSendSize in effect masking these errors. Change-Id: Ib05927d7985052e233ff6f4bd170a939eb05c320 Reviewed-on: http://gerrit.openafs.org/1107 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c5d9f23cde1a024835582536e56cf4ea1652b7a8 Author: Jeffrey Altman Date: Fri Jan 15 09:18:50 2010 -0500 Rx: Do not drop call lock in rx_WriteProc* and rx_ReadProc* rx_WriteProc and rx_ReadProc has special fast logic that handles the most frequent case. This code was called without obtaining the call lock. However, each of these functions must obtain the call lock for the queue_IsNotEmpty() test and must re-obtain the call lock if the rxi_XXX variant is required. Dropping the lock and re-obtaining it is more expensive than holding it across the memcpy. Therefore, we shouldn't drop the lock until we are done. Change-Id: Icca679567994e91bbbf3afec72b863d986f86582 Reviewed-on: http://gerrit.openafs.org/1108 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Jeffrey Altman commit c1b74af7504e699ac831c81d0d7556ca36239298 Author: Jeffrey Altman Date: Fri Jan 15 09:00:41 2010 -0500 Rx: Remove last remnants of DJGPP support DJGPP code just clutters the AFS_NT40_ENV specific code but is never built. Change-Id: I90192bb5cf35239fdbbeaa28f85d1381162f3bae Reviewed-on: http://gerrit.openafs.org/1106 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d4c97c0017be80c798206767c750e0855ee6c015 Author: Marc Dionne Date: Thu Jan 14 18:56:49 2010 -0500 src/pam warning fixes The second parameter to pam_conv() should be a const pointer on recent systems. Make it so to eliminate a couple of warnings. A configure test is added to deal with some systems where pam_conv() might not be const. Cast a few assignments to cell_ptr in afs_auth.c and afs_setcred.c since the argv parameter is const. Change-Id: I5757310c94a6f26ca7dab656edaa416d16e32e2a Reviewed-on: http://gerrit.openafs.org/847 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 62e4bf7ddd99d6958cde8dc3639ff4305fb66556 Author: Asanka Herath Date: Thu Jan 14 19:15:03 2010 -0500 Fix typo in AdminGuide -> Change-Id: If0f8183f59f038b1b5e033d5ebd2607b5091f6da Reviewed-on: http://gerrit.openafs.org/1103 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit d4f6ece19b05f2233e53f2d3c59f92316ec5ec3a Author: Dan Hyde Date: Wed Jan 13 14:38:47 2010 -0500 volmonitor keep vtrans lock VolMonitor must maintain the VTRANS lock the whole time it is walking the allTrans list. Failure to do so can cause core dumps trying to access memory that has already been free'd. Two versions of this change were coded and tested. The other version used the VTRANS lock only around a THOLD, but needed a TRELE, too. Timing tests were run counting the number of vos status, vos listvol, and vos backupsys operations that could be performed during a fixed number of vos status operations. The THOLD/TRELE version caused other vos operations to run about 5% slower. FIXES 126110 Change-Id: I7e749d30c955867faacafa978d7d643dee648ca3 Reviewed-on: http://gerrit.openafs.org/1098 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 64778fd7bece52360482f9a51f19b34dac1d2678 Author: Simon Wilkinson Date: Tue Nov 17 20:46:17 2009 +0000 Kernel is always defined When we build the kernel module, either in the real or the ukernel case, KERNEL is defined. So, remove the #ifdefs around our locking primitives, so that things are a little bit clearer. Change-Id: I60893cc630d8cd4dd6cb11cdc44e8bf4f2f9f863 Reviewed-on: http://gerrit.openafs.org/838 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1a027a3ee151c7f77bbfa74c8002c8ff4b406985 Author: Simon Wilkinson Date: Tue Nov 17 19:52:15 2009 +0000 Move GLOCK initialisation to platform directories Rework the GLOCK initialisation code so that it's moved out into platform directories, rather than all being done in osi_Init. Change-Id: I1aae76ba12cd4e45f54881f5573ed1713159b64b Reviewed-on: http://gerrit.openafs.org/837 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 39b59269e5b7715c5a3017fb5e0a3e5222129ac5 Author: Chas Williams Date: Tue Jan 5 00:22:19 2010 +0000 rewrite afs_MemWriteBlk() using afs_MemWritevBlk() this avoids the code duplication of extending/shrinking cache entries Change-Id: Ieeae668caa506e934f92edf193b99dabdba2eabe Reviewed-on: http://gerrit.openafs.org/1062 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9984a95687ab23fea422bbf2b01d92caf33a24a1 Author: Chas Williams Date: Tue Jan 5 00:18:36 2010 +0000 Quick fix for readpages when using memcache Just don't do readpages if we're using memcache Change-Id: I6b8b45f291d106ad1303d5bea1caf7f910b7ecf4 Reviewed-on: http://gerrit.openafs.org/1061 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 18459cd32abe9aba75d46910f9a676e4a535e0da Author: Chas Williams - CONTRACTOR Date: Thu Jan 7 18:07:43 2010 -0500 afsd: decprecate -mem_alloc_sleep flag (and related code) On most platforms, afs_osi_Alloc_NoSleep() is already afs_osi_Alloc(). I have tested this on Solaris (the major exception) and haven't seen any problems. Change-Id: I0e8bfd76b2bd25889c1491633a3a6d50aceac510 Reviewed-on: http://gerrit.openafs.org/1079 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1544243167b0f294f080866710b3f29dec133f02 Author: Andrew Deason Date: Mon Jan 11 13:36:32 2010 -0600 Always check VInitVolumePackage2 return code Some programs were not checking the return code of VInitVolumePackage2. Although some programs do not care so much if we fail to properly init the volume package (SYNC debug tools), at the very least log/print an error, so it doesn't silently fail. Other programs are changed to exit when VInitVolumePackage2 fail, so e.g. salvages don't accidentally cause corruption on 'logging'-mounted UFS partitions. In any case, ensure the return code is always checked anywhere it is called. Change-Id: I164d5920a5ea2dd7e5ed9ad4ccc578e9bdf0db0b Reviewed-on: http://gerrit.openafs.org/1090 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 9b23804a82ea12b5d46e6ee2667ec05bed502081 Author: Simon Wilkinson Date: Wed Jan 13 17:28:24 2010 +0000 Remove weekly bosserver restarts Change the default so new installations of the bosserver have no weekly restarts. Update the manpage and XML documentation to reflect this change. FIXES 126138 Change-Id: Ic22b750a602f6d2a22be881f5e1b04cd4fa132ae Reviewed-on: http://gerrit.openafs.org/1097 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6e65ffbb6c520bf1c28356206410363d8eb36d78 Author: Simon Wilkinson Date: Sat Dec 19 23:58:54 2009 +0000 Linux: Rework PAG to group conversions The change to using a single group for PAGs on Linux led to a load of special cases throughout the code. This patch moves the OS dependent parts of this into the LINUX/ platform directory, and rearranges that file so that there is a clear distinction between the one and two group sections of the code. Change-Id: Ib6e6f081519b23494dcf731b4be689c006180c68 Reviewed-on: http://gerrit.openafs.org/1007 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d2ddc3b6cfb1bc05fa045360bc09d708fe9cf611 Author: Jeffrey Altman Date: Mon Jan 11 14:35:12 2010 -0500 Windows: remove signed vs unsigned error in smb_Init Use UINT_PTR instead of INT_PTR. LICENSE MIT Change-Id: Id10cd7b7a18688c9eee68e3eac9c20348519fd37 Reviewed-on: http://gerrit.openafs.org/1089 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 6789f170d64695907970f01c22ac6eb8c7b14d15 Author: Jeffrey Altman Date: Mon Jan 11 14:21:11 2010 -0500 Windows: Protect buffers in smb_WriteData from simultaneous writes smb_WriteData does not properly use CM_SCACHESYNC_WRITE to protect buffers from simultaneous writes. Instead of simply testing CM_SCACHESYNC_WRITE at the top of the while loop, the flag must remain set until the entire write completes. cm_SyncOp is now called once and cm_SyncOpDone is only called upon final success or error. In addition, as 'count' is unsigned, the test for count < 0 is replaced with count != 0. LICENSE MIT Change-Id: I82c8dc20e62079b13bf305e906f4744756aa0ac2 Reviewed-on: http://gerrit.openafs.org/1087 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 513a7e48a2e586bd687af75084cfdf955f37b42f Author: Jeffrey Altman Date: Mon Dec 21 12:35:12 2009 -0500 Windows: fs examine owner and group are signed Change the owner array to be signed for displaying owner and group within fs examine output. LICENSE MIT Change-Id: I807e3f1b3c07eb26c1782d6b76cd49977467ce33 Reviewed-on: http://gerrit.openafs.org/1017 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 57aac9734c12d12b12cb0f2c83a5d97c093a979e Author: Jeffrey Altman Date: Mon Jan 11 13:59:12 2010 -0500 Windows: do not call cm_SearchCellByDNS if AFS_AFSDB_ENV is not defined cm_SearchCellByDNS is only available when AFS_AFSDB_ENV is defined. Do not call it when it isn't. LICENSE MIT Change-Id: I203ab775513bd75ff6a547c557579c0bc095d555 Reviewed-on: http://gerrit.openafs.org/1086 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman commit 35ed0439e32b6aeffc4aee2601a08e0406302cbc Author: Jeffrey Altman Date: Mon Jan 11 13:51:42 2010 -0500 Windows: buf_Recycle should clean up flags and reset version The CM_BUF_EOF and CM_BUF_ERROR buffer flags and the buffer dataVersion should be reset within buf_Recycle() instead of by the caller of buf_Recycle(). LICENSE MIT Change-Id: I643da102553200b20f5ecc23ec43974581663a8e Reviewed-on: http://gerrit.openafs.org/1085 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman commit edc39892cbf60eb2f918180f0b4c217ac3bd6dab Author: Jeffrey Altman Date: Sat Jan 9 00:26:37 2010 -0500 Windows: do not leak scp->dirlock if cm_BPlusDirBuildTree fails In cm_BeginDirOp, the scp->dirlock would be leaked if cm_BPlusDirBuildTree() failed. This would either result in a panic later on if lock order validation is active; or as an inability to process subsequent requests on the directory. LICENSE MIT Change-Id: I03afd0c9e6296c0f43ae39e5a7b1ff29a1619a43 Reviewed-on: http://gerrit.openafs.org/1083 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman commit 6a96e0bf92e0a454e9d4fccf61402c033f374722 Author: Jeffrey Altman Date: Mon Dec 21 12:29:10 2009 -0500 Windows: alter nmtest CreateFile modes Change -r to open the file for FILE_SHARE_READ Change -w to open the file for FILE_SHARE_WRITE Change -w to open the file twice. Once for sequential access and once for random access. LICENSE MIT Change-Id: I295a7e7408e7e7eac06901108a726fe9e94bf18f Reviewed-on: http://gerrit.openafs.org/1016 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman commit 6f4ed82da9d941ac303eb2f886f95d97828119bc Author: Jeffrey Altman Date: Tue Dec 8 09:38:53 2009 -0500 Windows: return ENOMEM from cm_BPlus functions on malloc failure There are several cm_BPlus functions that do not return an error code on malloc failure. LICENSE MIT Change-Id: I3a3d78cc6d6844c78e51fa81ebf330f5af88a7a5 Reviewed-on: http://gerrit.openafs.org/900 Tested-by: Jeffrey Altman Reviewed-by: Rod Widdowson Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman commit 987f3bf9c7420bb555eccde3b7407080a760b641 Author: Simon Wilkinson Date: Sun Nov 22 23:31:00 2009 +0000 Use dget_parent to handle getting inode of parent We can't safely do dp->d_parent->d_inode to access the parent inode of a given dentry. Instead, use dget_parent() to get safely get a reference on the parent dcache, and access the inode using that reference. Dispose of this reference with dput() as appropriate. Change-Id: Ic4f2159f68f95744bca08ebc99ecd5f45dc46966 Reviewed-on: http://gerrit.openafs.org/1075 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 90f91f4464f5785290040436b2d8cbe4b8ed5810 Author: Matt Benjamin Date: Mon Jan 4 21:31:27 2010 -0500 freebsd: CM changes targeting RELENG_8 Force all vnodes onto the fs mount queue when allocated. This fixes a long-standing vnode recycling problem. Don't call vgone() on a vnode whose refcount is 0. Always destroy vnodes in VOP_RECLAIM. This is work in progress towards fixing old reclaim bug mentioned in Rees comment. Hold vnode returned from gop_lookupname_user in afs_pioctl_syscall, to avoid it going inactive before we're finished. Also unlock it if necessary. Don't use custom vop_lock impl when AFS_FBSD80_ENV. Remove duplicate conditional code in vnode pretty-print (old cruft). Also don't format fid members as hex. Revert vn_lock exclusve in osi_VM_StoreAllSegments (fixes deadlock introduced by me in a 2009 changeset). Remove unused variables in osi_VM_StoreAllSegments. Change-Id: I9fd146d6f405382a20a75523ec2b75c62ac6d17a Reviewed-on: http://gerrit.openafs.org/1068 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7c24f660474dea82a96e6c65883e53c9ad77379f Author: Andrew Deason Date: Thu Dec 17 13:59:57 2009 -0600 DAFS: avoid saving fileserver state when panicing When ShutDownAndCore is called with dopanic=1, avoid trying to save fileserver state. When we are panic'ing it is very possible that the thread that called ShutDownAndCore is one of the background threads we are waiting for, or that the calling thread is holding H_LOCK. Since we are panicing, the fileserver state is probably not consistent anyway, so just avoid trying to save state altogether, and avoid a possible deadlock. Change-Id: If727808bfdfda74a4ec0e65b27ef9c77fbee4aae Reviewed-on: http://gerrit.openafs.org/997 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit fe07f017f75b2ce0f783bbd8f31eb5b1bcd7c61b Author: Andrew Deason Date: Fri Nov 6 14:05:16 2009 -0600 DAFS: Allow non-fileserver to schedule salvages Allow non-fileserver programs to schedule salvages through the fileserver via FSSYNC (VOL_FORCE_ERROR with the FSYNC_SALVAGE reason code). Also make the volserver schedule salvages this way when it encounters the appropriate errors. FIXES 124484 Change-Id: I03ecf6302436c35fec705cd6c84a40b7cdbf6f97 Reviewed-on: http://gerrit.openafs.org/787 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 9a08865c36013e7e2c6b564588f5a2a6b2a9fd1e Author: Simon Wilkinson Date: Fri Jan 8 17:29:16 2010 +0000 Revert "Linux: Replace invalidate_inode_pages" This reverts commit 40719534d5d906f97a6ae7d28a00289270daf2a6. RHEL5 kernels publish the invalidate_mapping_pages symbol as EXPORT_SYMBOL_GPL, so we can't use it with them. For now, revert this change - we can live with the deprecated warning at present... Change-Id: I22875683e643c4184bb2c1e06f37d4c6eb9ea0be Reviewed-on: http://gerrit.openafs.org/1082 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 165571947be770645900bb8d55ba7b6a3c58f8fd Author: Daria Phoebe Brashear Date: Mon Jan 4 17:57:30 2010 -0500 linux kernel lacks uintptr sadly only recent kernels include uintptr_t. change the cast to use unsigned long Change-Id: Ib69f7aa0f2d316c5ea8bdc960b15ee0f89f96250 Reviewed-on: http://gerrit.openafs.org/1059 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 708dc955012334fc9ada5fad576cfecd33edb326 Author: Chas Williams - CONTRACTOR Date: Thu Jan 7 17:48:15 2010 -0500 UNIX CM: remove the last remaining reference to afs_rxglobal_lock Somehow this was missed earlier. Change-Id: Iebebdb90cb42cc9ef716409af435509916e4ab58 Reviewed-on: http://gerrit.openafs.org/1078 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f72207d8c48bfa087bd677e3966e82952c25fd83 Author: Chas Williams - CONTRACTOR Date: Thu Jan 7 17:35:20 2010 -0500 LINUX/: ifdef for GFP_NOFS conditionals Remove the conditionals in the linux 2.6 tree for GFP_NOFS. This feature has existed since the beginning of the 2.6 tree. This makes the code easier to read. Change-Id: Ib42af012c57912f72effb836743ab8f1ddc30486 Reviewed-on: http://gerrit.openafs.org/1077 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fcce9a4727d80762552c10075b03a48ecd40edac Author: Daria Phoebe Brashear Date: Sun Jan 3 19:01:47 2010 -0500 darwin module prototype and cleanup tidy up the osi_module and osi_misc prototyping, and the error checking and returns at module load time. side effect: also use the afs3_syscall prototype for the BSDs. Change-Id: I373f44f3b5999dc05ba23f09c74149aaf237edcc Reviewed-on: http://gerrit.openafs.org/1056 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8f689aec1499fa0c8d1b49cff1a51a9f0dcd8890 Author: Dan Hyde Date: Wed Jan 6 10:49:39 2010 -0500 volmonitor copy link before calling free Copy tt->next before TRELE(tt) calls free(tt). We have a core file from a VTRANS_OBJ_LOCK(tt) assert failure, with tt pointing into glibc's malloc data structures. Change-Id: Id52b774520c59c224b58f5d507cc490dafea5ca1 Reviewed-on: http://gerrit.openafs.org/1069 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Thomas L. Kula Reviewed-by: Michael Meffie Reviewed-by: Dan Hyde Reviewed-by: Derrick Brashear commit c37b9230c5ce845483d573efbb19e41d5b5cc48f Author: Simon Wilkinson Date: Wed Jan 6 15:43:18 2010 +0000 Linux: Mark our super block as not updating access time We don't update access times, so mark our mount options as such. FIXES 126084 Change-Id: Ic1591b943288dae45267676046f78e02c306ec08 Reviewed-on: http://gerrit.openafs.org/1071 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e34702ef89649df47745121f45df32bec1f2fccb Author: Simon Wilkinson Date: Wed Jan 6 15:12:32 2010 +0000 Linux: Use the correct ATIME flag Since Linux kernel 2.4.0, MS_NOATIME has been a super block flag, and S_NOATIME has been the corresponding inode flag. Use the correct flag when we're opening cache files. FIXES 126084 Change-Id: I69cbcd651584cc86568c51793dd3f6d3e8644709 Reviewed-on: http://gerrit.openafs.org/1070 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b2433a3e4cf08e2c489100ea6c7a676712e25369 Author: Daria Phoebe Brashear Date: Tue Jan 5 00:14:26 2010 -0500 cachemanager additional cleanup integrate support for additional cachemanager cleanup. free volume, server, unixuser objects. cleanup messages printed at shutdown. zero/null/init additional locks and structures. FIXES 126069 Change-Id: Id00219b679a0b4ad15ca06fc16335b0e4282e0eb Reviewed-on: http://gerrit.openafs.org/1065 Tested-by: Derrick Brashear Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit c03980f710a9b169f68ce72a2f00b1a414c0ad2d Author: Daria Phoebe Brashear Date: Mon Jan 4 13:44:48 2010 -0500 macos code signature for afsd this is a dodge; we should sign with a real certificate and distribute signed binaries. until we more formally exist, this allows application firewall to at least cope better with us. Change-Id: I84d18f72f7b9a42f4eb41f86e2e6dc1ae54f662a Reviewed-on: http://gerrit.openafs.org/1057 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6e82a621e6ddfe6b38c42f8302168b2b58502522 Author: Andrew Deason Date: Fri Dec 18 12:17:41 2009 -0600 Refuse to attach inode partitions with UFS logging Partitions with the 'logging' UFS mount option are known to cause corruption when using the inode fileserver backend. So, if we detect that we are attempting to attach a 'logging' partition, refuse to attach it. Change-Id: I0ee23b9935ac6ffc66e6228fe03d6bbfb5d64574 Reviewed-on: http://gerrit.openafs.org/999 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 94ff83fee835f6d6c43d1907daee7c0e1567ff52 Author: Marc Dionne Date: Mon Jan 4 19:37:40 2010 -0500 Linux: don't oops on writeback if vcache has no stashed credentials When doing writeback, use current credentials if we can't find stashed credentials in the vcache entry. This is normally stashed in afs_open, so it's not clear how we get to that point, but that's not a reason to trigger an oops. Change-Id: I60937e3f9e360e68ea84205570c05cabb47ef08e Reviewed-on: http://gerrit.openafs.org/1063 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 747a8c0642aeaef814d953d16968fb5026e1ec69 Author: Michael Meffie Date: Tue Dec 29 13:40:15 2009 -0500 viced: allow alternate addresses on the same hash chain again Revert the logic meant to prevent duplicate entries in the host address hash table so hosts with multiple addresses can be stored in the same hash bucket again. Add a new log message to show when the host cannot be stored in the hash table because of an address-port pair collision with a host already in the hash table. Change-Id: I24bf48b912dcf3062201691b446372d78de9bc14 Reviewed-on: http://gerrit.openafs.org/1046 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit daff4006627fc88be85dade3d72aa45e57a6804a Author: Simon Wilkinson Date: Tue Jan 5 00:14:06 2010 +0000 Fixes for supergroups on Darwin 64bit Some fixes needed to make supergroups build on 64bit Mac OS 10.5 Change-Id: I1aea100b138a8212010dd9f511377c993589977f Reviewed-on: http://gerrit.openafs.org/1060 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e4eb19cdc03c4f31ed1d4cefcd01163036ed8c6d Author: Jeffrey Altman Date: Wed Dec 30 11:32:58 2009 +0000 Unix CM: Use xdr_free to free memory allocated by XDR In src/afs/afs_volume.c VL_GetAddrsU() returns memory allocated by the xdr package. In 1.4 there was no method of freeing this safely. On the head there is using the xdr_free() function. FIXES 124937 Change-Id: I72b8333e02e0e58dd16d25e9ed258a2551cdef9d Reviewed-on: http://gerrit.openafs.org/1047 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 54c4ce48bf4883ee4f1cb8db8899d754baef9c34 Author: Matt Benjamin Date: Wed Dec 30 19:19:09 2009 -0500 freebsd: fix afs_root signature (RELENG_8) Track removal of thread id param, which had become redundant. Change-Id: Ifa8ddce411373a1aee01b577bf7e5a268e644dd7 Reviewed-on: http://gerrit.openafs.org/1055 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a5d054668a8ec5f0cff2e446512a7d027fc65343 Author: Marc Dionne Date: Thu Dec 31 11:08:32 2009 -0500 Build fix: restore centry in ptutils.c The declaration of centry is needed when supergroups are not enabled. Restore it within the ifdef so that we don't get an unused variable warning if supergroups are enabled. Change-Id: I0e7916b7898cdd5c47accb7f185764bbb1f2e94d Reviewed-on: http://gerrit.openafs.org/1054 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4d6d7866689a2c005a055c580b8a54d7c9412386 Author: Russ Allbery Date: Wed Dec 30 16:22:37 2009 -0800 Remove warnings from supergroups code on x86 Prototype functions where necessary, remove unused variables, fix mismatches of data types (char * != void *), initialize variables the compiler can't tell are initialized, compare integers against 0 and not NULL, and wrap assignments used as conditions in an explicit comparison. This removes all warnings that fail --enable-checking on x86 with --enable-supergroups. 64-bit will still have warnings. Change-Id: I5ab6e317a280bea29cb44b97f2805a00e387577f Reviewed-on: http://gerrit.openafs.org/1050 Tested-by: Russ Allbery Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 1526593621f78efaf2b37e4ac25a2944b6099920 Author: Russ Allbery Date: Wed Dec 30 20:30:27 2009 -0800 Correct spelling errors in man pages Correct several spelling errors in the man pages detected by Debian's Lintian package checking tool. Change-Id: I3834a12776ec5e27b04d80fbfcc43ffe71cf1790 Reviewed-on: http://gerrit.openafs.org/1051 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 64cacab28ba7b9692db0b494e2d4399c535bd1ae Author: Matt Benjamin Date: Tue Dec 22 19:48:02 2009 -0500 freebsd: track RELENG_8 Fixes to re-enable build and load of kernel module on FreeBSD's RELENG_8. Includes the following changes: Remove cred pointer argument to vop_getattr and vop_setattr. Restore VSUID and VGUID defines, but move to osi_machdep.h. Fixup calls to vinvalbuf, create a macro to avoid too many ifdefs. Revert incorrect definition of gop_lookupname_user. Avoid uninitialized use of 'code' variable in vop_access, and track new a_accmode member name. Remove cred pointer in VFS_STATFS. Avoid including sys/ioctl.h in kernel mode (formerly had no effect, it's now an error). Avoid using an empty file as an object file in shlibafsrpc link. Replace suser() calls with calls to priv_check, using defined OpenAFS privileges (thanks due to Ben Kaduk). Change-Id: I96fc29599a797b975630c8fa5b8b84798b3740a6 Reviewed-on: http://gerrit.openafs.org/1023 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e4708157ea55ef79d1c3a5387859618bdba90395 Author: Simon Wilkinson Date: Sun Dec 27 11:28:43 2009 +0000 Linux: Check for multiple silly renames We don't want to do multiple silly renames of the same dcache entry, so add a check for that occuring, and just return EBUSY if we're trying to do so. Change-Id: Ic1cb4061d89bf87926995162f1ac410375bddcb5 Reviewed-on: http://gerrit.openafs.org/1035 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ec352e0bfd6f324c6b95a3b1e816809c24004e84 Author: Simon Wilkinson Date: Sun Dec 27 11:06:01 2009 +0000 Abstract out Linux sillyrename function In order to keep the dcache happy, the Linux client has its own sillyrename function. Abstract this out from afs_linux_unlink into a function of its own (afs_linux_sillyrename) so we can make use of it from other vnodeops. Change-Id: I298251c400dfc22efb3bacaa72612b28a5409112 Reviewed-on: http://gerrit.openafs.org/1034 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 35d5b6c4e101c92e2c242bb75029db24eb1aa7d7 Author: Simon Wilkinson Date: Sat Dec 26 18:22:32 2009 +0000 Remove unused configuration tests Remove configure tests that are no longer used by the build. Testing for unused features just slows down the configuration process. Change-Id: I18e161e8e608a69801c53980e545c3077a7578d7 Reviewed-on: http://gerrit.openafs.org/1033 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 16a824222ba1ecdee4734659d76680bf4f61695a Author: Simon Wilkinson Date: Thu Dec 24 18:19:01 2009 +0000 Remove HAVE_STRUCT_BUF test Ever since b1edf891d717ee8e08c0d93738a204cff09cf68f was committed, we've not needed to test to see if the OS provides struct buf - we can just declare it as a structure without providing a definition in all circumstances. Change-Id: I81ebad0dcda91229883f44b657e8113ec832668d Reviewed-on: http://gerrit.openafs.org/1032 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f54588201488fe1038f52546853c7c2082ff069a Author: Simon Wilkinson Date: Thu Dec 24 15:35:47 2009 +0000 Remove --disable-full-vos-listvol-switch option Remove the --disable-full-vos-listvol-switch configuration option, and the corresponding #ifdefs. Full output from vos listvol is now always enabled. Change-Id: Ib4900cc0a8532b3db31d13d34fe59946b34e86ed Reviewed-on: http://gerrit.openafs.org/1031 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5364fada4e4eb48dcb72cd0802b8486bee3228c9 Author: Simon Wilkinson Date: Thu Dec 24 15:14:46 2009 +0000 Remove --disable-afsdb Remove the --disable-afsdb option from configure, and the corresponding AFS_AFSDB_ENV #ifdefs from the code. This means that the AFSDB code will always be built, but whether it used or not can still be controlled by runtime options in the cache manager. Change-Id: I1378c4626568e02345c7c400804747c446078c7e Reviewed-on: http://gerrit.openafs.org/1030 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0fce88e07934899eb2dfcff87ec289e0d4f683eb Author: Daria Phoebe Brashear Date: Tue Dec 29 11:29:09 2009 -0500 clean up axscache at shutdown modify allocations in axscache code to be able to be tracked. at shutdown, clean up allocations. Change-Id: I1fbde0fe49cf0cdeea451dac58718a90f1c87e66 Reviewed-on: http://gerrit.openafs.org/1037 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d11ca53be7d80096c21b777ec04e1874bed870d9 Author: Andrew Deason Date: Wed Dec 30 11:44:39 2009 -0500 Make DAFS 'bos salvage' work in restricted mode bosserver currently has code to specifically allow 'bos salvage'-initiated salvages to run when in restricted mode. This only specifically tests for running salvager, though, and so fails when 'bos salvage' is run against a DAFS fileserver and tries to run 'salvageserver -client' instead. Test for 'salvageserver -client' as well, so we can run 'bos salvage' for DAFS fileservers in restricted mode. Change-Id: I27052a440ea8d6347a9d86e4a1f1a7131a277b0b Reviewed-on: http://gerrit.openafs.org/1048 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 12f35e84934015251ec4e0171d302e7f10f894c2 Author: Simon Wilkinson Date: Thu Dec 24 14:34:42 2009 +0000 Remove --disable-largefile-fileserver Make largefile fileservers the only option. Remove all of the AFS_LARGEFILE_ENV ifdefs, and tidy up some code as a result of this change. Change-Id: I126f7dc5505bbdb28c9337dcd2e81403045707f4 Reviewed-on: http://gerrit.openafs.org/1029 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Tested-by: Andrew Deason commit f085951d39c0d6c1e6a626177c30235704317600 Author: Simon Wilkinson Date: Thu Dec 24 13:00:53 2009 +0000 Turn on bos restricted code Remove the #ifdef's around the bos restricted mode code. This makes restricted mode available as part of the standard build, but a server will not go into restricted mode unless the relevant command line options are specified, or bos setrestricted is run. Document bos_setrestricted and bos_getrestricted, and the new '-restricted' command line option. Add a note to the man pages of all of the commands whose behaviour is affected by restricted mode. Add 'setr' and 'getr' aliases for setrestart and getrestart so that these documented shortcuts continue to work (otherwise they'd be ambiguous against setrestricted and getrestricted). Note that setre, setres, and setrest will not work once this patch is applied. Change-Id: Ie69d21493ea5f78757f0a3d478de43fdaabd3c31 Reviewed-on: http://gerrit.openafs.org/1028 Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bd4c636e9169cc098696916a40da1301c3100d88 Author: Russ Allbery Date: Wed Dec 30 20:33:14 2009 -0800 Update .gitignore for copied rxkad files src/rxkad/Makefile copies fcrypt.h and sboxes.h from the domestic subdirectory, so ignore the copies in the src/rxkad directory. Change-Id: I263c8f5ea45c3c6b32bc377f6451424477d255a2 Reviewed-on: http://gerrit.openafs.org/1052 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c45e2b374b7fd03863e82e013fee6bc8821717a1 Author: Simon Wilkinson Date: Tue Dec 29 22:48:39 2009 +0000 Linux: #if BLAH should be #if defined(BLAH) As the subject says, using #if BLAH gives warnings. Fix them in osi_ioctl.c Change-Id: Iee3da68cd29e84bd201a1ee657d3f80ca9b2f5d5 Reviewed-on: http://gerrit.openafs.org/1041 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit dab6cbadd666f83ebaf597b5fe228525ad65bed3 Author: Michael Meffie Date: Wed Dec 30 13:02:31 2009 -0500 missing brace in afs_get_sb Fix a syntax error when GET_SB_HAS_STRUCT_VFSMOUNT is not true so we can build on older versions of linux. Change-Id: I85aac803f68c3f3729abd32dfcecbc20ccac8ab9 Reviewed-on: http://gerrit.openafs.org/1049 Reviewed-by: Simon Wilkinson Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 187630ed3e2fa65c8c49143da0b99b91450a6c5e Author: Simon Wilkinson Date: Tue Dec 29 17:06:42 2009 +0000 Unix: Rename aklog_main.c as aklog.c Now the reasons for having aklog_main.c separate from aklog.c have gone, rename the file so we've just got aklog.c Change-Id: I32e34be246a5357be25ab93328d434c396483042 Reviewed-on: http://gerrit.openafs.org/1038 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit da8c26533d101f5e90d7c2d829441c0f2c48a63b Author: Simon Wilkinson Date: Tue Dec 29 17:03:50 2009 +0000 Unix: Merge aklog with aklog_main Historically, aklog was split into aklog.c (which just contained a wrapper) and aklog_main.c, which did all of the hard work. Now that we've purged all of the Windows code from aklog_main.c, we can merge them both into the same file, so do so. FIXES 20884 Change-Id: Ifdcb33f4eb2b26703c833056882d95f7f0f654b1 Reviewed-on: http://gerrit.openafs.org/1036 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6ec18461649d3e4f44b2476f886bcc480c456500 Author: Daria Phoebe Brashear Date: Thu Dec 17 15:33:42 2009 -0500 avoid leaking stat info if a file is already CStatd we just copy out the information without doing access checks. add an access check. Change-Id: I94d1dc118189b19759d8e9635988c40f38026cbb Reviewed-on: http://gerrit.openafs.org/995 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 6c9d49d096017f15306d0c9256f6dc2d933f001e Author: Andrew Deason Date: Tue Dec 29 15:45:51 2009 -0500 Return a cell name from afsconf_LookupServer Previously, afsconf_LookupServer could not meaningfully return a cell name, since a char* was passed in for realCellName, and afsconf_GetAfsdbInfo was expecting the value of the pointer to change. Change afsconf_LookupServer to take a char**, and pass realCellName by reference, so we can get a cell name back. Change-Id: Ib945fcb4be482ee155cdd1dcd62fe577c002082d Reviewed-on: http://gerrit.openafs.org/1039 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 87de027fa430f67bd92153feedfc3fbab54c4c64 Author: Simon Wilkinson Date: Tue Dec 29 21:56:36 2009 +0000 Fix ioctl32 inclusion on Sparc 64 ioctl32.h only became available in Linux 2.5.44, so reduce the scope of the include. It went away again, in Linux 2.6.22. In its short life, it only ever provided prototypes for registering translation handlers, and for sys_ioctl. Only include it where we call those handlers, and when we call them, to remove compilation errors for Sparc64. Change-Id: I7816bd8b1e18ead68f7e5078e684d60bf59ac470 Reviewed-on: http://gerrit.openafs.org/1040 Reviewed-by: Russ Allbery Tested-by: Russ Allbery Reviewed-by: Derrick Brashear commit 99d007067329e451b99058e94f7a76e37b3dbdcd Author: Simon Wilkinson Date: Wed Dec 30 01:39:26 2009 +0000 Documentation: Fix asetkey syntax To set a key, use "asetkey add", not just "asetkey" FIXES 125430 Change-Id: Ifa381ec95f9253bcc5c7a1d374fbf88408f82f67 Reviewed-on: http://gerrit.openafs.org/1045 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 40719534d5d906f97a6ae7d28a00289270daf2a6 Author: Simon Wilkinson Date: Tue Dec 29 22:58:56 2009 +0000 Linux: Replace invalidate_inode_pages invalidate_inode_pages is now marked as deprecated in the kernel headers. Use the equivalent call to invalidate_mapping_pages() which has been available since Linux 2.5 Change-Id: I58de20e16874bb06991320b26bc6ce63685b8bb4 Reviewed-on: http://gerrit.openafs.org/1042 Reviewed-by: Russ Allbery Tested-by: Russ Allbery Reviewed-by: Derrick Brashear commit acd1bcf7267ea800ee4e3a19761105482a24f7b6 Author: Simon Wilkinson Date: Wed Dec 30 01:04:23 2009 +0000 Documentation: vos dump -verbose outputs to stderr vos dump -verbose sends its logging to stderr, not to stdout (where it would potentially collide with the dump data itself). FIXES 124911 Change-Id: I515c50df59d2f376787969df59b6e01e244ecbc7 Reviewed-on: http://gerrit.openafs.org/1044 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 10c00e1f17ceb0c74c074593d09633b6c0e51278 Author: Simon Wilkinson Date: Tue Dec 29 23:20:36 2009 +0000 rxgen: Remove stray debugging statement A stray "Printing ex_req" slipped into the last set of rxgen changes. Remove the unnecessary debugging statement. Change-Id: I2dda4138d70bf3429122f58bbbae996b84baefac Reviewed-on: http://gerrit.openafs.org/1043 Reviewed-by: Russ Allbery Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 9f1c90a6e0004bda153e9e077dc68381b2beec13 Author: Andrew Deason Date: Thu Dec 24 13:32:14 2009 -0500 Move TOP_INCDIR/des dependency to prelude Make TOP_INCDIR/des a dependency of the 'prelude' target, not all of the 'dest'-ish targets. Without this, things like 'make tviced' fail since we never create the TOP_INCDIR/des directory, but 'des' needs to copy headers into there. Also, remove the other redundant INCDIR/LIBDIR deps in the 'dest'-y targets, and put them in 'prelude'. Change-Id: I1beb1a0c8b93a7bf17af71792ab38590d03c9976 Reviewed-on: http://gerrit.openafs.org/1027 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1f23ff72e9d0b555c44dca90a92c6379e5d52f3a Author: Andrew Deason Date: Thu Dec 17 15:16:50 2009 -0600 Check viced FetchData length for cache bypass Same fix as change I413393a7bacbf207332d7f904cf396c79b77b6b5, but for the cache bypass code. Change-Id: Ic181e257f7d0e1892bd10bf14d8d5571b4804d63 Reviewed-on: http://gerrit.openafs.org/1000 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 9651fd726f8cc5d7b2ebdadf48b7e22bf25d1715 Author: Andrew Deason Date: Wed Dec 23 15:23:30 2009 -0500 Fix warnings in fs.c with --enable-cache-bypass Fix some warnings in src/venus/fs.c so we can compile with --enable-cache-bypass and --enable-checking: -- Include ctype.h so isdigit gets a prototype -- Make BypassThresholdCmd have the proper signature -- Remove the unused 'size' variable Change-Id: I09afc6c04c990476226d1c2a751e23d3d39085b6 Reviewed-on: http://gerrit.openafs.org/1025 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2c0a9ab3c361ade9218c2f458d86165de8eadc76 Author: Simon Wilkinson Date: Tue Dec 22 21:46:43 2009 +0000 Solaris: Don't access lbolt directly Recent changes in OpenSolaris have removed the 'lbolt' variable. However, the ddi_get_lbolt accessor (which has been present since Solaris 10) can be used to get access to the same value. So, use it. Change-Id: I7a72bab14b0226fb25adb642f3621512e02ca216 Reviewed-on: http://gerrit.openafs.org/1022 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dd9ab4b84c0bad163ccef8c3d24554e19f005cb1 Author: Simon Wilkinson Date: Tue Dec 22 21:42:19 2009 +0000 Solaris: Don't directly fiddle with the groups structure Solaris doesn't let us directly play with the groups structure anymore. Instead, there is a crsetgroups accessor which can be used instead. So, use it. Change-Id: I4d5b99110318630c8a7744812476e1941c117381 Reviewed-on: http://gerrit.openafs.org/1021 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0f0f6cd613fe1084af948f1765a5e7e0772b117d Author: Simon Wilkinson Date: Tue Dec 22 21:38:00 2009 +0000 Solaris: Be more flexible about compilers OpenSolaris doesn't have its C compiler in /opt/SUNWspro/bin/cc, but we still have to be careful to avoid gcc, as that can't build the kernel module. As a short term stop gap, add a PATH_PROG test which looks in both /opt/SUNWspro/bin and /opt/SunStudioExpress/bin for cc. We probably should look in more places, and in the long run, we should probably be taking whatever autoconf gives us (for userspace, at least) Change-Id: Ie31cf1bf474650a081fc101a2aa40cfa6bd39423 Reviewed-on: http://gerrit.openafs.org/1020 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b631f5d64c629f5cda8ca02d859a089dca0a71fe Author: Simon Wilkinson Date: Tue Dec 22 21:34:23 2009 +0000 Look for aclocal in more places Some operating systems (cough, OpenSolaris, cough) have multiple versions of aclocal installed, and don't populate the 'aclocal' name. If 'aclocal' isn't present, then try using 'aclocal-1.10' before we give up in disgust. Change-Id: Iad6daf1038942aeee13f38cb0c00c58da621cfd1 Reviewed-on: http://gerrit.openafs.org/1019 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2ec18e9f7adb8a5916e54cd9f45e5e6db6408de9 Author: Andrew Deason Date: Tue Dec 22 09:49:21 2009 -0500 Fix typo in afs_linux_cred_is_current 987816dfa852750caca8c64c44174a5333ae0e3b introduced a stray 'cred' in one of the afs_linux_cred_is_current definitions. Remove it so we can build without STRUCT_TASK_HAS_CRED. Change-Id: I7ef94c1c3d15a2a744755d8a20ec2b0c92cd5349 Reviewed-on: http://gerrit.openafs.org/1018 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 846f772601114dc57ddba934fbdca2b2f2a4aa31 Author: Michael Meffie Date: Thu Dec 10 16:13:45 2009 -0500 Prefix global defines Prefix constants relocated to the common afs_consts.h header to void naming collisions. Change-Id: Ib657e00385002c957b40b36058f260c6cabd108c Reviewed-on: http://gerrit.openafs.org/905 Reviewed-by: Mickey Lane Tested-by: Mickey Lane Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2b8e09315c6f08f3972754b3ea0b6847b1f12d25 Author: Michael Meffie Date: Thu Dec 10 11:37:34 2009 -0500 Consolidate duplicate definitions Housekeeping change to consolidate some common definitions. Create a new common header called afs_consts.h. This allows us to remove the afscp.c dependency on afs.h (so src/tests will build again.) Rename the max filename definition in the update server package to MAXFNSIZE to avoid a name conflict with MAXSIZE. The global defines will be prefixed with AFS_ in a second patch. Change-Id: I2b8d555a244cc92d889618de4eec4a99550d7c7f Reviewed-on: http://gerrit.openafs.org/855 Reviewed-by: Mickey Lane Tested-by: Mickey Lane Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bbd7a211761db6bd9c9412037a35d3024af26cc Author: Marc Dionne Date: Sun Dec 20 08:30:07 2009 -0500 Linux: fix sysctl for 2.6.33 The sysctl patch for 2.6.33 was a bit overzealous and ifdef'ed a few lines that it shouldn't have. Change-Id: I7033259e567a06ce05b968366e810c5b2688c271 Reviewed-on: http://gerrit.openafs.org/1011 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 36f97969f39637042a54c0d45877a48cc9dfcac1 Author: Marc Dionne Date: Sat Dec 19 22:22:05 2009 -0500 Linux: utsrelease.h is moving In kernel 2.6.33, utsrelease.h has moved to include/generated. Adapt the configure code to consider that location, and clean up that section's indentation. Change-Id: I5061043ff7f46875a39953b11c472693650c7485 Reviewed-on: http://gerrit.openafs.org/1009 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 846c28282fb4ccd2136e3e27b60b9363ea7f759e Author: Simon Wilkinson Date: Sat Dec 19 21:53:54 2009 +0000 Fix PAGs for all platforms without Linux keyrings The changes in 7b272177de4c6f78db7f2315f4e30e85ab7660bb sadly break all platforms which aren't Linux. This is because the logic in PagInCred doesn't handle the non-Linux case at all. Fix this so that we call afs_get_group_pag whenever we're not running on Linux. The code also doesn't match the comment - Linux kernels which don't have keyrings should use afs_get_group_pag(), regardless of whether STRUCT_TASK_HAS_CRED. It's unlikely this bit would ever bite anyone though, kernels with cred support almost certainly require keyrings. Change-Id: I5373da51151229dc13b6dc60c3cf10700f0f881a Reviewed-on: http://gerrit.openafs.org/1006 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 987816dfa852750caca8c64c44174a5333ae0e3b Author: Simon Wilkinson Date: Sat Dec 19 20:21:36 2009 +0000 Linux: Simplify keyring compatibility code This introduces a few inline functions in osi_compat.h, to reduce the number of #ifdefs in the main chunk of code. In particular, we gain * afs_linux_key_alloc : to handle all the different key_alloc signatures * afs_linux_search_keyring : to handle our two different mechanisms for searching a keyring * afs_linux_cred_is_current : will return true if we're using native credentials, and the passed creds are also those of the current task Change-Id: I138f3533a7e8e88e04e4b5508158e003882d63ee Reviewed-on: http://gerrit.openafs.org/1005 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cda45cc7a11495c1acc5a5ebbac1474f3eb5a6bd Author: Simon Wilkinson Date: Sat Dec 19 15:40:49 2009 +0000 Linux: Don't panic when keys aren't found This fixes two potential problems in our session keyring lookup code, which can lead to panics in situations where we're using the new struct cred based code. The first is that if there is no session kerying installed for the current task, we'll attempt to do a lookup on a NULL kerying and oops. The second is that if the keyring_search returns EPERM, then we can end up unmasking that error code, and return NULL, rather than an error. Change-Id: If0e2804408ec17b00f352980cee6a8e56704d93f Reviewed-on: http://gerrit.openafs.org/1004 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 994ef0e7cab95e2fc6f47fc8838490112e432ffd Author: Simon Wilkinson Date: Sat Dec 19 14:48:32 2009 +0000 Linux: Flush vcaches when a mount fails GetVCache (well, really NewVCache) creates a new vcache, with an attached inode, and links it into the VLRU queue, regardless of whether it is successful in populating that vcache or not. The attached inode, on Linux, contains a reference to the super block of the filesystem. If the created vcache is for the root, however, and populating that vcache failes, then mount fails, and the super block is disposed of. This leaves us with a vcache in the VLRU queue which contains a reference to a non-existent inode. When ShakeLooseVCaches comes along a few minutes later, it attempts to discard this inode. However, doing so fails because the inode no longer has a valid super block. Avoid this trauma by ensuring all vcaches are disposed of before the super block goes away, in the event of a mount failure. Change-Id: I68864f1ea401d24adba76164905a17de6ab3e6ce Reviewed-on: http://gerrit.openafs.org/1003 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit c7b92a3018044f7aca4d9a77644e5c06ef64d1e9 Author: Andrew Deason Date: Thu Dec 17 14:59:44 2009 -0600 Do not trust FetchData length from fileservers Currently the Unix CM implicitly trusts that the length from a FetchData request from a fileserver will always be less than the requested length. If the fileserver sends more data than requested, we can use up more cache space than we intended, possibly exceeding the cacheinfo cache limits. Add a check for this, and return EIO to the caller if the fileserver responds with too much data. Change-Id: I413393a7bacbf207332d7f904cf396c79b77b6b5 Reviewed-on: http://gerrit.openafs.org/996 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 244397335e41bb83e4dba12bc30a7b4ec6fc6218 Author: Andrew Deason Date: Fri Dec 18 12:21:35 2009 -0600 platform target depends on cmd and vol The 'platform' target depends on cmd and vol, since on solaris non-namei, we build fs_conv_sol26.c, which depends on some volume structures, and uses libcmd. So, have Makefile.in accurately reflect that dependency so we can build. Change-Id: Ic7038f252dd069522ebfc8e72b9743c01c97d99c Reviewed-on: http://gerrit.openafs.org/998 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9faaa2fed8c8dd0ae1c9288b1e1130bec78dc9f8 Author: Daria Phoebe Brashear Date: Thu Dec 17 09:48:06 2009 -0500 kernel ioctl32 conversion typecasting cast types to avoid a pointer from integer warning when using pointer types for sizing Change-Id: Idac76608e5352c65a13d07bfadb66d78f9db0ffd Reviewed-on: http://gerrit.openafs.org/988 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3df80a163874c841f32c4c523fba641142e6d698 Author: Andrew Deason Date: Fri Oct 16 17:12:35 2009 -0500 Add the 'vos endtrans' command Add a command to vos to explicitly end volume transactions. These can happen if (for example) we segfault or the user ctrl-C's in 'vos' before/after a volume operation, but before we AFSVolEndTrans. Change-Id: Ie34ee1fdff917b56900f456c7cf8b1329533a7da Reviewed-on: http://gerrit.openafs.org/870 Reviewed-by: Dan Hyde Reviewed-by: Alistair Ferguson Tested-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2a69aa22c1278d62008863aabe6833954b4466c0 Author: Claudio Bisegni Date: Fri Dec 11 22:03:39 2009 +0100 OpenAFS Preference Pane Now the preference pane is fat compiled. Change-Id: I5c54555d00b16d85f01286719bbc41ea5f1fb67d Reviewed-on: http://gerrit.openafs.org/906 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6f439ff7edc0e333d477bf7c65b291dae5d993c2 Author: Andrew Deason Date: Fri Nov 6 14:03:52 2009 -0600 Expand ProgramType enumeration The ProgramType values volumeUtility and salvager are overloaded. Expand the ProgramType enum to include more specific program types, and adjust conditionals to match. Also, instead of determining all behavior by checking programType, add some flags to be passed in to VInitVolumePackage to determine e.g. whether or not we can use the FSSYNC channel. This makes it easier to see the intent of some conditionals, and reduces the number of times a caller must lie about what program it is. Change-Id: Ic9852a35bb16a6b1f4b0aa9766de63178ecea56f Reviewed-on: http://gerrit.openafs.org/786 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 34ffc9cd7d7eed62229704ad0e1d327f076ea7b6 Author: Simon Wilkinson Date: Fri Nov 20 15:08:25 2009 +0000 Linux: Use splice to speed up cache storeback This patch adds a new cache store function for Linux, which uses splice() and direct access to the page cache, rather than doing data copies to a temporary buffer between rx and afs. It removes one copy, and some context switching, from the write codepath. One side-effect here is that it will delay storebehinds from returning control to the user. Instead of returning once the first 4k has been successfully transfered, we will wait until a cache chunk has been transmitted. This is currently unavoidable, as we can't take the GLOCK within a splice actor. Change-Id: I5b0284d67febccf099710589908fad18b808332c Reviewed-on: http://gerrit.openafs.org/903 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 292ec075d2beea2d718caa3f50929e125b1b97c1 Author: Simon Wilkinson Date: Fri Nov 20 15:03:37 2009 +0000 Rework cache store back This patch reworks the code to store data from the cache to the server, such that the entire store loop can be replaced. The idea here is that a platform which wishes to provide a different store loop, in particular one which doesn't rely upon multiple data copies, may do so simply by plugging in a new function. Change-Id: I6573c6a5c3e93a1259266e7e1a2b7bd17357203f Reviewed-on: http://gerrit.openafs.org/902 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 886801b069fab1e6fc94003221dcfe18e05ac376 Author: Marc Dionne Date: Wed Dec 9 19:06:18 2009 -0500 Linux: deal with ctl_name removal The binary sysctl interface will be removed in kernel 2.6.33 and ctl_name will be dropped from the ctl_table structure. Make the code that uses ctl_name conditional on a configure test. Change-Id: Iba0f107f299c6515e4e560d7596e6187bd68e399 Reviewed-on: http://gerrit.openafs.org/904 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 33a87fce6b46515c7e9e057858141cfb0c601d81 Author: Simon Wilkinson Date: Tue Dec 8 15:21:54 2009 +0000 pt_util runs on database servers Fix the pt_util manpage to reflect the fact that it is run on database servers, not fileservers. Change-Id: If2a8e5b65ef925c50eb9bfebea4e0d30c20f0970 Reviewed-on: http://gerrit.openafs.org/901 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 62a21819a1b57d006c73f84362494794651d1a37 Author: Jeffrey Altman Date: Sat Dec 5 10:51:27 2009 -0500 Windows: cm_BPlusEnumAlloc should not fail for zero entries If cm_BPlusEnumAlloc returns NULL, the caller assumes a memory allocation error. If the enumeration consists of zero entries, allocate a structure that stores zero entries. LICENSE MIT Change-Id: I8ed3811a1b3a0e4262749e110027c5d5812338b6 Reviewed-on: http://gerrit.openafs.org/892 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2bffe725c5ebb785257555286567f128e0911cb7 Author: Jeffrey Altman Date: Sat Dec 5 10:53:03 2009 -0500 Windows: cm_BPlusDirBuildTree can fail It is possible that cm_BPlusDirBuildTree can fail. For example, the server could be marked down after a callback is obtained but before all of the directory data buffers have been fetched. cm_BeginDirOp must check for the failure, destroy the tree, and return the failure code to the caller. Otherwise, a tree with no entries may be created and marked with the current data version. LICENSE MIT Change-Id: I26fbfceaf68389a1906797b12721c49172b027ec Reviewed-on: http://gerrit.openafs.org/893 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 019ae5240691f27beaf583084fc81f4efb84b166 Author: Daria Phoebe Brashear Date: Sun Dec 6 23:44:53 2009 -0500 macos avoid dotunderbar lookups in fakestat mode cocoa tries to lookup ._ files for every object, possibly generating AFSDB queries and other fun. avoid them Change-Id: Id70b6335d4dddcb6d5628a9883b2c81193bb39d7 Reviewed-on: http://gerrit.openafs.org/896 Reviewed-by: Rod Widdowson Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 61ba8e5a88f0fa09a212b89b375167f0b4e1c70d Author: Daria Phoebe Brashear Date: Mon Dec 7 15:43:33 2009 -0500 add newline to lockprocs_prototypes.h gcc was unhappy about the lack of trailing newline. add one. Change-Id: Ie9c93bd9ed8c923ea8069fe49e7f5ddb20c28f80 Reviewed-on: http://gerrit.openafs.org/898 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3cb49f57a34b42c9efdc24797efda053cd88be80 Author: Andrew Deason Date: Tue Nov 24 16:09:42 2009 -0500 Dump all hostFlags in hosts.dump Currently only certain flags are dumped in hosts.dump. Also dump the value of hostFlags itself, so we get more information from a host dump. Change-Id: I2d265b85e057c2d44938e1d92f4c102048c4bf1f Reviewed-on: http://gerrit.openafs.org/869 Tested-by: Andrew Deason Reviewed-by: Dan Hyde Reviewed-by: Alistair Ferguson Tested-by: Alistair Ferguson Reviewed-by: Derrick Brashear commit 5529bf9b6b6b69bbe244f1185e4842e3eca732f5 Author: Andrew Deason Date: Sun Dec 6 14:56:20 2009 -0600 Make HandleClientContext take an afs_ucred_t 5d5d18071608d9782a5d936f79215048af641410 missed one occurrence of AFS_UCRED. Make HandleClientContext take an afs_ucred_t instead of AFS_UCRED, so afs_pioctl.c builds again. Change-Id: I04c831ad262cade5da0f90fb8860174657dae4bf Reviewed-on: http://gerrit.openafs.org/895 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 03b5994d7bec0088d0edbfc83f5820c089ac9599 Author: Simon Wilkinson Date: Sun Dec 6 14:25:08 2009 +0000 Remove AFS_USEBUFFERS The AFS_USEBUFFERS code has been disabled for all supported platforms since the initial OpenAFS code drop. Simplify the buffers code by removing it entirely. Change-Id: Iab6b2d54361eca1a1446b4804b3d6533d75f2831 Reviewed-on: http://gerrit.openafs.org/894 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit ae1926fa95dea39dce2166583d2948c22d59f2c1 Author: Daria Phoebe Brashear Date: Fri Dec 4 19:53:21 2009 -0500 Windows: Version update for 1.5.68 1.5.6800 = 1.5.68 Change-Id: Id3bdc21e5f72ebe2047cb70c2496df2ba7300b4b Reviewed-on: http://gerrit.openafs.org/891 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit adf9baebc81dd0a1a88007a1982b889d9eefe72e Author: Daria Phoebe Brashear Date: Fri Dec 4 11:52:29 2009 -0500 unix 1.5.68 update version numbers for unix Change-Id: Ic8a42a9ca1cfc74ab2d8f8d2ac0442efa716a84b Reviewed-on: http://gerrit.openafs.org/888 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 1ad30c2ea8cd2139a14ebe698117f1dc08fb4cf4 Author: Daria Phoebe Brashear Date: Fri Dec 4 15:31:10 2009 -0500 rx packet dumper not in kernel don't compile the rx packet dumper when in kernel Change-Id: I8484f3ed80d3b97d733091901f6e252a455cefa1 Reviewed-on: http://gerrit.openafs.org/889 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b6b18f12315f648614823bafa016c422a3e0c6f7 Author: Jeffrey Altman Date: Fri Dec 4 10:52:21 2009 -0500 Fix midnight volume calculation to build on Windows Change I516d732d broke the Windows build. localtime_r does not exist on Windows. Change-Id: Ib28e414a85d763dbe146bc2fadec91310f6144ab Reviewed-on: http://gerrit.openafs.org/887 Tested-by: Jeffrey Altman Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit f48c0a20a1a5507f499260175e5308931ecd03be Author: Jeffrey Altman Date: Fri Dec 4 00:43:54 2009 -0500 Windows: Version update for 1.5.67 1.5.6700.0 == 1.5.67 Change-Id: I0f4402cdb8f387b67c93ee9066dc3be352d163c1 Reviewed-on: http://gerrit.openafs.org/886 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit ccb64bd3aacf6f1253dfe4dc3d04bb6b87e100b7 Author: Daria Phoebe Brashear Date: Thu Dec 3 23:26:18 2009 -0500 unix 1.5.67 make 1.5.67 for unix Change-Id: I1e25ec581b9b2a37230bd2a889f88f454a73ba8f Reviewed-on: http://gerrit.openafs.org/885 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit a031c900ca6eb40a914327bfc9e9cca370016d56 Author: Daria Phoebe Brashear Date: Thu Dec 3 15:37:52 2009 -0500 add rx packet trace debug dumping for unix revised version of a patch i've had for months to actually be clean. allow state of all packets to be dumped so you can see what's on what queues where. Change-Id: Ibaa692c835e9ced5e7cd3299922f5bac09344d28 Reviewed-on: http://gerrit.openafs.org/883 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit b98ca30c160c85834b1ad63a9d806efdd2940e61 Author: Rainer Toebbicke Date: Thu Nov 19 14:07:07 2009 +0100 Calculate midnight (for volume stats) based on standard functions The "tz" structure used with gettimeofday is not blessed by common standards and not widely supported, on Solaris for example it does not return anything useful. Calculate midnight based on standard functions (localtime/mktime). Change-Id: I516d732d4a9dd4696a524a271d806d349c074c25 Reviewed-on: http://gerrit.openafs.org/849 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 96eaa67edbe25c475836aa31921864936c271941 Author: Jeffrey Altman Date: Thu Dec 3 15:47:38 2009 -0500 Windows: change notes for 1.5.67 release Change-Id: I0eedd81fbfee98c591cfd57364bc23392ccca2da Reviewed-on: http://gerrit.openafs.org/884 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit e26926210057a6666c66825a78dbb04bf3238846 Author: Daria Phoebe Brashear Date: Tue Dec 1 16:17:49 2009 -0500 add unlock support to afscp make the afscp test client able to drop a lock on a file. additionally, make it build again. Change-Id: Ib4a5acf787f8f2e84699e1638a662068b993d965 Reviewed-on: http://gerrit.openafs.org/881 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b40b60650cf91f005990bc2e55185a4af7e2cd4b Author: Jeffrey Altman Date: Mon Aug 17 12:30:44 2009 -0400 Use xdr_alloc and xdr_free within ptuser If the memory allocation routines for libafsauthent and libafsrpc differ, callers of the ptuser routines in libafsauthent will crash. Use xdr_alloc and xdr_free in ptuser to ensure that the memory allocation routines are always consistent. LICENSE MIT Change-Id: I20fa1e1fc0677917e47e2ed9f0eaec83f23b699b Change-Id: Id31bf20b482e9502a5af79f4d86319fe530aa5a5 Reviewed-on: http://gerrit.openafs.org/319 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 14dbe49786f2547b66a6ad38bdae0db9d1648c49 Author: Michael Meffie Date: Mon Nov 30 19:28:13 2009 -0500 shutdown_icl return type void Change the shutdown_icl return type to void to match the 1.4.x branch. Change-Id: I641abbd0f87d648c3c9de3cab4d0dd926a51eb89 Reviewed-on: http://gerrit.openafs.org/879 Tested-by: Marc Dionne Reviewed-by: Marc Dionne Reviewed-by: Russ Allbery commit d393aabca577917b107afdd42efb40cc2fdac50c Author: Andrew Deason Date: Mon Oct 26 14:09:41 2009 -0500 Correct duplicate special inodes while salvaging Right now when the salvager encounters duplicate special inodes for a volume, it refuses to salvage the volume, presumably because it does not know which inodes to use when recreating the volume header. However, this can cause the confusing state where the fileserver and various volume utilities have no problem with a volume, but the salvager refuses to salvage it and marks the volume as needing salvage. When salvaging, if we already have a volume header, and we encounter duplicate special inodes, it is likely that the special inode referenced by the volume header is the correct one. So, instead of erroring out, keep track of which inodes are referenced in the volume header, and if there are any duplicates, either ignore or delete the unreferenced ones, depending on the -orphans setting. Also be a little more verbose when logging errors in this area. Change-Id: I15e34e8f2bccdc666bb59e3730fdf8bf51624259 Reviewed-on: http://gerrit.openafs.org/736 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Reviewed-by: Steve Simmons Reviewed-by: Derrick Brashear commit 19f0da1e44c6ac5acd22f8a2b1d9095d568d216e Author: Marc Dionne Date: Thu Nov 19 18:29:08 2009 -0500 Warning fixes - key handling Various warning fixes related mostly to the different types used to handle keys. This should clear most of the remaining warnings in this area. The technique of inline converter helpers is extended to cover a few more cases. README.WARNINGS is adjusted to reflect the current status. Fixes: - bos: define and use an inline converter from a ktc key to a bozo key - bos.c and bos_utils.c should no longer have warnings - adjust Makefile - define a ktc key to char * converter and use it in a few places - define kas key to bozo key ptr converter and use it in a few places (afs_bosAdmin) - cast a few arguments to ka_StringToKey which expects non-const pointers Change-Id: I1c19869ac232d78209126d4eeeb11af8bcb95815 Reviewed-on: http://gerrit.openafs.org/860 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0188cf081f3c21cc1cb467a9babeb22a52b093f7 Author: Andrew Deason Date: Sat Nov 28 22:25:27 2009 -0500 Add server prefix to utst_int.xg When compiling src/ubik/utst_int.ss.c, a warning would be produced since the server stubs are defined as accepting an rx_connection instead of an rx_call, and since the server and client RPC stubs have the same name. Give a server prefix so we can distinguish between the two, and fix the server stubs and squash the warning, similar to bd011aeee7f5dad5c61fd81a90b296c46a0b9058. Change-Id: Iebf843bcabb4cf8f4a56c6ac30d210573b58d801 Reviewed-on: http://gerrit.openafs.org/876 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 58258ba3b89732ea825e1aff2decab54347ab92e Author: Andrew Deason Date: Fri Nov 20 14:15:28 2009 -0600 Add safety checks on all hostList traversals Currently, h_Enumerate checks that it doesn't enumerate over more than hostCount hosts, in case the hostList has a cycle or is otherwise corrupt. Add similar checks to all places in the code that loop over hostList, to prevent the code from getting in an infinite loop under H_LOCK in the case of a hostList cycle. Also, ShutDownAndCore instead of assert'ing, so we try and detach volumes first, possibly reducing salvaging time when we restart after core'ing. Change-Id: Ide1e5aca7c2c4a4af3f62bc07821db694f2f9999 Reviewed-on: http://gerrit.openafs.org/863 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bff2027cb963343778001512d5cdf00cc7094c6 Author: Andrew Deason Date: Wed Nov 25 16:23:06 2009 -0500 Add a watchdog timer for ShutDownAndCore(PANIC) Add a watchdog timer that is started when ShutDownAndCore(PANIC) is called, to ensure we actually panic and do not e.g. get stuck in deadlock. Change-Id: I9201fe7d09aeb6819beefaf1755b51129c7bda6b Reviewed-on: http://gerrit.openafs.org/873 Tested-by: Andrew Deason Reviewed-by: Alistair Ferguson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c4780421a41a05683bcec8d1092534c2ad58f341 Author: Andrew Deason Date: Wed Nov 25 10:25:14 2009 -0500 Correct include paths in fs_conv_sol26.c Make the #include paths in fs_conv_sol26.c correspond to the 36524b2ed73a2774ee1f6242208a1395be7736a8 changes, so fs_conv_sol26.c will build again. Change-Id: Ic454dae07c0fb324f8550d1281b63fe539f8d525 Reviewed-on: http://gerrit.openafs.org/871 Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit af9d80512852c083dd25655c2f717cfd75a9dce5 Author: Andrew Deason Date: Wed Nov 25 16:47:27 2009 -0500 'Flexible client buffer growth' fallout e7c966354c428a5a5929a3db6a829ee71c8ba2fc re-introduced a usage of the 'M' lock macro variants previously removed by bab6fd227f5724c4e4ca5d0ba1dc64e21ed21f97. Use the non-'M' macros instead so we can build. Change-Id: Ie27fb8e82a7440a6952517d9a0cc1aeb8523511c Reviewed-on: http://gerrit.openafs.org/872 Tested-by: Andrew Deason Tested-by: Marc Dionne Reviewed-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3138aaba25fc93ec0ef38cd1cf61100b86990e80 Author: Jeffrey Altman Date: Tue Nov 24 18:08:55 2009 -0500 Windows: Fix test for setting FILE_ATTR_READONLY When checking whether or not to enforce the unix mode bits as if they were the Windows FILE_ATTR_READONLY flag the mask 0200 is used. Make sure that the same mask is used when publishing the FILE_ATTR_READONLY flag to the smb client. LICENSE MIT Change-Id: Ia68bd17ad80341f1c14f3c0caaec8f09a0a2f3c5 Reviewed-on: http://gerrit.openafs.org/868 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit e7c966354c428a5a5929a3db6a829ee71c8ba2fc Author: Rainer Toebbicke Date: Thu Oct 29 14:52:45 2009 +0100 Flexible client buffer growth Allocates the 2k-directory-buffers for the client as needed, in small increments, rather than a fixed-length area upon startup. Change-Id: I6061b71d40284a0059e54377e3b374fee9b86816 Reviewed-on: http://gerrit.openafs.org/799 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f716962ab41847af4450d0a361f5de9195b32ed0 Author: Jeffrey Altman Date: Thu Nov 19 18:53:56 2009 -0500 Windows: disable readonly volume versioning due to file server bug Change I17e3980184ec68e38c5186e1c9637ac6e38451fe corrects a file server bug that results in invalid volume sync data being sent to clients during bulk status rpcs. Unless this is fixed in the file servers it is not safe to use the volume versioning functionality. This patchset disables the functionality by default and permits it to be turned on via a registry value. If the client is deployed in an environment in which all of the file servers have been fixed, then it will be safe to turn this feature on. LICENSE MIT Change-Id: I0db38ffc9cdeb90db20b92adca9a42a06fed2e2f Reviewed-on: http://gerrit.openafs.org/859 Reviewed-by: Derrick Brashear Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 072d69ac27587b6d384aae52de27b6e9b83fdea3 Author: Jeffrey Altman Date: Thu Nov 19 11:35:12 2009 -0500 Windows: provide enhanced error output to aklog Add Simon Wilkinson's change from Unix aklog to Windows aklog If afs_com_err fails to describe the error, allow the krb5 error_message function try. LICENSE MIT Change-Id: I47bb6806f1076116a68967617d32d69b98a5bba9 Reviewed-on: http://gerrit.openafs.org/852 Reviewed-by: Derrick Brashear Reviewed-by: Rod Widdowson Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit c5e362a683c5a0b2e046aa62d652ff1c83e42818 Author: Jeffrey Altman Date: Thu Nov 19 18:21:39 2009 -0500 Windows: cm_TryBulkStatus processing changes move the logging of success or failure in order to try to avoid the VS8 compiler optimizing them out. merge the bulk status information if the current cm_scache_t object is flagged with an access denied failure on the last request or if it is a readonly volume. This permits us to return something valid to the directory enumeration that generated the cm_TryBulkStatus call. LICENSE MIT Change-Id: I97e9e096e2c36b0a87baaa8d728b588aaf10f153 Reviewed-on: http://gerrit.openafs.org/858 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit dac817389081d45dab15880f34d9a35c059853c9 Author: Jeffrey Altman Date: Thu Nov 19 18:19:39 2009 -0500 Windows: when assigning a new clientModTime, hold a lock The smb server modifies the cm_scache_t clientModTime without holding a write lock creating a race condition. Fix it. LICENSE MIT Change-Id: I6f110f87ef76131965da31a8bf02685480ad9641 Reviewed-on: http://gerrit.openafs.org/857 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 985a62bcf1a3315ce0460f64e56fa667a4268f1b Author: Jeffrey Altman Date: Thu Nov 19 14:18:18 2009 -0500 Windows: modify src/rxkad/NTMakefile to avoid file copies Permit src/rxkad/domestic/* files to be compiled / installed in place. This permits the tree to build after the application of change I0796fabcf83ffcd74e533624c64e138a160dd632. Change-Id: I5616c7ab9374751dcb44bb2bce37dec40e01148a Reviewed-on: http://gerrit.openafs.org/854 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 13843d852749ba081804f3af368620db7b4b7d7a Author: Jeffrey Altman Date: Thu Nov 19 18:11:06 2009 -0500 viced: set volume sync data in bulk status rpcs The bulkstatus and inlinebulkstatus rpcs have a bug that prevents the volume sync data from being set. Currently the data is being set within the for loop only when i == nfiles. The conditional of the loop is i < nfiles so the SetVolumeSync call is never performed. This patch changes the test for performing SetVolumeSync to i == 0. LICENSE MIT Change-Id: I17e3980184ec68e38c5186e1c9637ac6e38451fe Reviewed-on: http://gerrit.openafs.org/856 Reviewed-by: Dan Hyde Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7b272177de4c6f78db7f2315f4e30e85ab7660bb Author: Marc Dionne Date: Sat Oct 24 22:10:46 2009 -0400 Linux: Keyrings PAG handling changes We can take advantage of the fact that PagInCred now receives a kernel credentials structure as an argument (including any session keyring) to make some improvements in the handling of PAGs when keyrings are in use. These changes are effective only if keyrings are in use and we have a recent enough kernel where we can use the kernel credentials structure. 1 - Search the session keyring of the passed credentials instead of the current process' to determine the PAG, if any. This was always not really correct, and now we're able to do the right thing. In some situations such as background writeback and pre-fetching, this means that we'll now do it with the right credentials, even when in a PAG. 2 - Don't use groups at all to determine PAG membership. Doing so can lead to some inconsistent situations such as the one described in RT 125198, where a process gets access through a soon to be deleted PAG. Make PagInCred look exclusively at the keyrings. Groups are still updated to try to reflect the current PAG for now, if the passed credentials belong to the current process. Note that a process can no longer get a PAG's privileges simply by adding the corresponding groups to its group list. No behaviour change for kernels prior to 2.6.29. FIXES 125198 Change-Id: Ifb171993cc9ca9d6a97fb7312909485ec0666efb Reviewed-on: http://gerrit.openafs.org/730 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 51ece42ab438295d3807180dae34963c676f170a Author: Marc Dionne Date: Sun Nov 22 14:17:19 2009 -0500 Remove "unused" warnings from lex generated files Some (f)lex generated source files produce warnings because of unused labels or variables. Since there is limited control of the source itself, just be more permissive in this particular case with -Wno-unused. Change-Id: Ice25019f8a592a25f5084e88119b68846d900033 Reviewed-on: http://gerrit.openafs.org/867 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 85fd4e86af2a6c8a1742774ea4126b8a7b919f3c Author: Marc Dionne Date: Fri Nov 20 17:27:20 2009 -0500 Linux: hinting removal fallout The removal of the hinting missed a few things - the prototype to afs_linux_raw_open needs to be changed, as well as a few additional call sites. Change-Id: I006540cee574bca7155d9209c2d9b6702c4f6c94 Reviewed-on: http://gerrit.openafs.org/864 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 8ebade0e67c62335416ba3cfd40d19d1e152de02 Author: Marc Dionne Date: Fri Nov 20 17:50:41 2009 -0500 Revert "osi_UFSOpen returns struct osi_file *" This reverts commit 4057a9941b95f7a00c57738c1810ec5abf315e97. UFSOpen shares a prototype with MemCacheOpen because of the afs_cacheOps structure. This is why a void * is used. Revert until a more complete fix can be submitted that adresses the memcache case as well. Change-Id: I2e259c08a0bfbc695260c981d29319c2bb7c93dd Reviewed-on: http://gerrit.openafs.org/865 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 4057a9941b95f7a00c57738c1810ec5abf315e97 Author: Simon Wilkinson Date: Thu Nov 19 16:34:07 2009 +0000 osi_UFSOpen returns struct osi_file * The osi_UFSOpen function always returns a (struct osi_file *). Fix the code to reflect this, rather than casting to and from (void *). Change-Id: I3aa0bb17b547060671aa7045a8237b3926ec613f Reviewed-on: http://gerrit.openafs.org/851 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6f803428fdb1d85021cde1606498178d557a9db1 Author: Simon Wilkinson Date: Wed Nov 18 20:07:04 2009 +0000 Remove inode hinting for dcaches The VNOP read code has always contained incomplete support for inode hinting. In theory this would let us attach open cache files to dcache structures, so that we don't have the overhead of opening the file with every read that we do. However, this has been ifdef'd off ever since the first release, and is fundamentally broken - it relied upon structure elements that just don't exist, and has no mechanism for throttling the number of inode hints that are maintained. Inode hinting also required that we store an inode number within the osi_file structure (so hint validity could be checked), which causes a problem on some modern OS's. Simplify all of this, by just removing the partial hinting support. If we want to revisit this in the future, then the code is in git, but if we _do_ feel we want to keep open cache files around, it's probably better to start from scratch! Change-Id: Ia378922f7fcc24fb27b343015dbd16818302ec10 Reviewed-on: http://gerrit.openafs.org/850 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 573cd80cd145ca2d6bbfcc48499599ec4a86c0b1 Author: Andrew Deason Date: Wed Nov 18 14:33:09 2009 -0600 Define afs_maxvcount everywhere afs_maxvcount can be referenced by non-Linux code, so define it everywhere, not just on Linux. Change-Id: I6e99b6735d58823d0809a00be42a447deb3ced89 Reviewed-on: http://gerrit.openafs.org/845 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dce56fb8ceff9d052ebcebd21db9e070015142ab Author: Simon Wilkinson Date: Mon Oct 26 19:58:53 2009 +0000 Fix prepare and commit_write to do the right thing Even when we're doing syncronous writeback, as we currently do for write() operations, it's important to correctly fill, and flag the pages we're writing to. Not doing so has a huge performance penalty, as it means even when we've just written a page, we have to pull it back from the backing store for a read. This code fixes prepare_write and commit_write (for RHEL5) and write_begin and write_end (for Fedora) to correctly populate and flag pages which are being written. Change-Id: Iaa2165b9b429000dcf0c6dd452e3eb8033257277 Reviewed-on: http://gerrit.openafs.org/820 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4f91de7cf429db63bcf67466cf3fb36feb990643 Author: Simon Wilkinson Date: Sat Oct 24 15:08:52 2009 +0100 Linux: Use atomics for credential reference counts The reference count maintained as part of the afs_cred structure wasn't being maintained atomically, requiring that crfree and crhold always be called with the GLOCK held. This patch just switches to using Linux's inbuilt atomic types to maintain the reference count. Change-Id: I1787061afbb48e234b4839b38b8801168ea2f25f Reviewed-on: http://gerrit.openafs.org/726 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b9f6a8ce1898cd90c713dc4b54a27bd1644fe47a Author: Andrew Deason Date: Wed Nov 18 15:43:17 2009 -0600 Define WCOREDUMP in salvsync-server.c Some platforms do not define WCOREDUMP. Conditionally define WCOREDUMP in salvsync-server.c, and make all of the similar WCOREDUMP defines in the tree consistent. Change-Id: I197979881ade20f6e790bf41523938089379dbe3 Reviewed-on: http://gerrit.openafs.org/846 Reviewed-by: Russ Allbery Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ca9a12c422ad2d29a0c865a2c35ea12fc71158e0 Author: Mickey Lane Date: Wed Nov 18 12:23:15 2009 -0500 Fix 2 errors in Windows release Notes Description of registry key HKLM\ SOFTWARE\ OpenAFS\ Client\ Server Preferences\ File (and \ VLDB) states "256" - should be 15 - and "ServerPreferences" should have a space between the words. Change-Id: Ia2147f920ecc023d26250efaf9815f1b09d1550a Reviewed-on: http://gerrit.openafs.org/840 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit aa9072ce40f7af11919252da82179b45481eb878 Author: Jeffrey Altman Date: Fri Nov 13 13:56:20 2009 -0500 Windows: cm_BkgDaemon requeuing only applies to BkgStore cm_BkgDaemon currently requeues failed requests for a variety of errors. It only applies to cm_BkgStore requests. The current code only supports cm_BkgStore and cm_BkgPrefetch operations. Additional background operations may be added in the future. If requeues are meant to apply to the new operations, they should be explicitly specified. Specify cm_BkgStore explicitly now. LICENSE MIT Change-Id: Iae7c5fe4f2f7bc701ebe93500626b68f49b0063f Reviewed-on: http://gerrit.openafs.org/824 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 4c58b1db9f34c220d839dd4a1b38ed11e9ce2197 Author: Jeffrey Altman Date: Sat Nov 14 16:33:31 2009 -0500 Windows: Improvements to background fetch processing Log offset and length in cm_BkgPrefetch() Convert mxheld to rwheld in cm_BkgPrefetch() now that cm_scache_t objects use rwlocks. Do not clear CM_SCACHEFLAG_PREFETCHING from within the error returns from cm_CheckFetchRange(). Let the caller decide if that is appropriate. Add CM_BUF_CMBKGFETCH cm_buf_t cmFlag to make it possible to quickly detect if a background fetch operation has already been queued for a particular cm_buf_t data range. LICENSE MIT Change-Id: I4ac9a2f84ddd64cba86612d7a2abe849bd0bec0b Reviewed-on: http://gerrit.openafs.org/827 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 87b1b849811cb4c8c7d3a7e9fd22e5a9f8b3fadc Author: Jeffrey Altman Date: Sun Nov 15 00:11:24 2009 -0500 Windows: buf_DirtyBuffersExist uses fileHashp not allp list pointer buf_DirtyBuffersExist() should use the fileHashp pointer and not the allp list pointer in order to walk the hash table list. LICENSE MIT Change-Id: Ie043647cbeec479abe0d96b3b5405130f2ba1aac Reviewed-on: http://gerrit.openafs.org/828 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 3f3a76c0ca2a6e098f337e28cdfcb39ee865446a Author: Jeffrey Altman Date: Sun Nov 15 15:48:00 2009 -0500 Windows: Permit custom version numbers and default cellname Permit custom version numbers and default cellname to be specified using environment variables. LICENSE MIT Change-Id: If72430a33d8317fcb59d2f83769193e79984046c Reviewed-on: http://gerrit.openafs.org/829 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 84cc4f2b367399cdadf544c473566c3ffa908535 Author: Andrew Deason Date: Wed Nov 18 14:14:16 2009 -0600 src/afs/afs_user.c typo Commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d had a paren-related typo. Correct it to make afs_user.c build on some platforms again. Change-Id: Iec4634b4c0f1769c81bf9baab0d2cc53f47aaa9c Reviewed-on: http://gerrit.openafs.org/843 Reviewed-by: Marc Dionne Reviewed-by: Alistair Ferguson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9c61e1196a4eb5131cff555fbaeb357bf2e78c1f Author: Andrew Deason Date: Wed Nov 18 14:08:49 2009 -0600 Define T_SRV when not defined for us Define T_SRV when we don't have a usable arpa/nameser_compat.h, just like we do with T_AFSDB. Some platforms like AIX do not have an easily-usable arpa/nameser_compat.h. Change-Id: I8406a3d2b1f98d0849a1739875656432869ea3c4 Reviewed-on: http://gerrit.openafs.org/842 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c42222c40e3c4ef80edcdaa34b976505ae9421ac Author: Andrew Deason Date: Wed Nov 18 14:25:48 2009 -0600 AIX: Missing brace in afs_vnop_flock.c Commit 50f6529cf1f191606f55add4cabe53fceab492ed missed a brace in the AIX lockIDSet. Add it back to make afs_vnop_flock.c build again. Change-Id: I09c5ee58ee5258fb904fd752213eb28a1e80291a Reviewed-on: http://gerrit.openafs.org/844 Reviewed-by: Alistair Ferguson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 0a8e7b15486f5baa089eef661cdf0924af736160 Author: matt@linuxbox.com Date: Tue Oct 6 08:42:51 2009 -0400 viced ihandle boost Make ihandle file descriptor cache parameters tunable, and accommodate platforms where max open files is large. Expand the fd cache hash table to 2048 entries. Raise fd cache size automatically to match configured number of lwps. NOTE: This code has been tested on Centos 5.3 x86_64, on VMWare, 2 physical, 2 logical CPUs (in tandem with viced_more_threads). LICENSE BSD Change-Id: If68eda6e1c955e026b250ca52bddf0b8383959c9 Change-Id: I5fbbec95523ea9cd9ff42dcf43f17db94c7bb161 Reviewed-on: http://gerrit.openafs.org/584 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 82c131f6c5b57c224d157e810df264b66d052ba0 Author: Simon Wilkinson Date: Wed Nov 18 11:23:06 2009 +0000 Name chunkOps structure elements Name the structure elements in chunkOps, to reduce the danger of things getting misaligned when new function pointers are added. Change-Id: I3d22130f9bd9625d836681531646b9eac75329f5 Reviewed-on: http://gerrit.openafs.org/839 Reviewed-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 42516f2c0bb6445c9f870cf1943efa016d66349b Author: Michael Meffie Date: Wed Nov 18 14:05:02 2009 -0500 fix for volser transaction object race conditions Spell AFS_PTHREAD_ENV correctly and fix missing pthread_mutex_init() argument. Change-Id: I9a6397ef5ba3ef7197f3d927759258be31914fd7 Reviewed-on: http://gerrit.openafs.org/841 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit a2744cab12c87a8c42ba40a9f186a1f05c6886f8 Author: Simon Wilkinson Date: Mon Nov 16 22:52:01 2009 +0000 Linux: Fix lock ordering The inode mutex (or semaphore) should be held before acquiring the alloc semaphore. Fix the lock ordering to avoid theoretical deadlocks. Change-Id: Ifc572083dc92fff51be6785b0bcc92152fab1d73 Reviewed-on: http://gerrit.openafs.org/835 Reviewed-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 22541ea8323434cc555d71daf3c90b66e34c7c87 Author: Marc Dionne Date: Tue Nov 17 17:59:58 2009 -0500 aklog build fix: com_err.h header Fix this build error: aklog_main.c:67:21: error: com_err.h: No such file or directory On some systems this system header is actually "et/com_err.h". Cope by checking for this at configure time and using that location if needed. Change-Id: Iaf4fb4fe157ff8e54aa043785377706eab6fb3d1 Reviewed-on: http://gerrit.openafs.org/836 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 36524b2ed73a2774ee1f6242208a1395be7736a8 Author: Simon Wilkinson Date: Fri Nov 13 09:50:29 2009 +0000 Rationalise our include paths Our include paths are a bit of a mess. Fix these so that they're more rational, and more in line with normal coding style. In particular: *) Don't include all of the subdirectories of our top level include directory. If a file wants afs/file.h, it should include that, not "file.h" *) Try to avoid including '.' in the search path (although objdir builds make this harder) *) Don't blindly include other directories from the code tree in the search path. If a package wants another packages header, then it should get it from the include directory *) Use the convention that quoted includes ("") pick up local headers. Bracketed includes (<>) pick up ones from the top level include dir *) In directories which pull in files from multiple packages, don't blindly put all of the package directories in the search path. Specifically include the file's package directory when required The big change here is that it's no longer possible to hide a system include by placing a header of the same name in include/afs. The most common case where this was happening was for 'assert.h' Change-Id: I0796fabcf83ffcd74e533624c64e138a160dd632 Reviewed-on: http://gerrit.openafs.org/834 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cb6681c0d189d15fb5ff0d21cf47c9ac223a98c5 Author: Daria Phoebe Brashear Date: Mon Nov 16 20:58:11 2009 -0500 ktc remove unused variable inadvertantly introduced non-linux warning (error) due to unused variable. fix it. Change-Id: Ie44013fdf2ff8e5d401f5598a7ec628fd887588a Reviewed-on: http://gerrit.openafs.org/832 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 146b732fc877a23d515191471603a9ef0a655501 Author: Simon Wilkinson Date: Fri Nov 13 16:40:53 2009 +0000 Translate messages from ktc_SetToken Error messages from ktc_SetToken weren't being passed through com_err, leading to the confusing unable to obtain tokens for cell inf.ed.ac.uk (status: 11862788). error message. Instead, call into afs_com_err here, which gives: a pioctl failed while obtaining tokens for cell inf.ed.ac.uk Much nicer ... Change-Id: Id4c7e6f6a2f52efc6ac1db9fa007ba1a452092fe Reviewed-on: http://gerrit.openafs.org/822 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fda55b178c12bba1474ae2c63bc7b803cdc9730f Author: Simon Wilkinson Date: Fri Nov 13 16:33:52 2009 +0000 Better errors from aklog Since the great com_err fracture, aklog has only returned decent error messages from AFS, leaving Kerberos errors untranslated. Needless to say, this causes user confusion and distress. This patch uses the error display proc hook to call out to the real com_err in situations where AFS can't supply an error message, giving clearer errors for Kerberos problems. Change-Id: I8832b755beb84c593e1b2eace5c356e71a582b2a Reviewed-on: http://gerrit.openafs.org/821 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bfd03d723a9cf17673f40513a7adde1d503bcbc Author: Daria Phoebe Brashear Date: Wed Nov 11 19:36:01 2009 -0500 asm unexecutable stack make stack not executable in assembled files FIXES 125491 Change-Id: I396680b6877843201f6c07d5607385044abd5e74 Reviewed-on: http://gerrit.openafs.org/818 Reviewed-by: Simon Wilkinson Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 65db6150246294e49e0c4a1a0e64780d040faf7a Author: Jeffrey Altman Date: Sat Nov 14 16:24:41 2009 -0500 Windows: Code signing with cross-signed certificates Permit the version of signtool.exe to be specified with the SIGNTOOL environment variable. Add the CODESIGN_CROSS_CERT environment variable to specify the cross-signed certificate to be used LICENSE MIT Change-Id: Ib549e31f1f240e0de2cedfabac9bb998ee58a517 Reviewed-on: http://gerrit.openafs.org/825 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 7d44a087712def4b07011212f978c6d4572bf0de Author: Jeffrey Altman Date: Sat Nov 14 16:27:37 2009 -0500 Windows: Error mapping for VBUSY and VRESTARTING Add error mapping for VBUSY and VRESTARTING to cm_MapRPCError(). Return CM_ERROR_ALLBUSY. This prevents an unknown error from being returned to the SMB redirector. LICENSE MIT Change-Id: Ie8bf8bc88e087a8eef428444ca07c7ca7c4621a8 Reviewed-on: http://gerrit.openafs.org/826 Reviewed-by: Jacob Thebault-Spieker Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1594cf98926ceef1de36010335f9ca19cc050bad Author: Jeffrey Altman Date: Sat Oct 31 10:33:00 2009 -0400 Windows: Use STATUS_IO_TIMEOUT where STATUS_TIMEOUT was returned STATUS_TIMEOUT causes the smb redirector to drop the connection. STATUS_RETRY is interpreted by the smb redirector as if the error was generated by the transport stack and not the smb server. STATUS_IO_TIMEOUT is listed in the SNIA CIFS 1.0 spec as a valid return code for the smb server. Lets us that. LICENSE MIT Change-Id: I842a78cde3d975c88bbeb64294dd53cc8b101047 Reviewed-on: http://gerrit.openafs.org/831 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 4c25f00088a603723b75e60d6b808a89034b33d3 Author: Jeffrey Altman Date: Sun Nov 15 01:01:23 2009 -0500 Windows: Fix port assignment to use network byte order Service port numbers are stored within sockaddr* structures and returned by afsconf_FindService() in network byte order. getAFSServer() and afsconf_GetAfsdbInfo() accept and return service port numbers in network byte order. When processing the special case for 7002 and 7003 in afsconf_GetAfsdbInfo(), the comparisons must consistently use network byte order. When assigning port numbers for AFSDB lookups, getAFSServer() must use network byte order. Document the use of network byte order for each variable. LICENSE MIT Change-Id: I2163826e8a234a1d19474b2eba3d36335ba12afb Reviewed-on: http://gerrit.openafs.org/830 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 9d245a26228a80e4584cb3b481dffa3fd77514cb Author: Jeffrey Altman Date: Wed Oct 21 18:41:59 2009 -0400 Windows: ports in the cache manager are stored in network byte order When assigning ports from SRV/AFSDB lookups, convert to network byte order when assigning them to cm_server objects. LICENSE MIT Change-Id: Ic22a445c9f6433f9f7544774ea9952d82fcdba8a Reviewed-on: http://gerrit.openafs.org/791 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c53abbb3e8d14643f3f82999cbe24fb12d358ce0 Author: Andrew Deason Date: Wed Nov 11 11:23:49 2009 -0600 Make ktc_curpag also detect ONEGROUP PAG gids ktc_curpag falls back to looking at the group list if the VIOC_GETPAG pioctl fails. If we're in AFS_LINUX26_ONEGROUP_ENV in the kernel, though, ktc_curpag still looks for two groups, instead of the one combined group. Add a check for the big one group in the fallback if we're on LINUX26. Change-Id: I28e5eda5c62f13a6fb466c8a2b04d2628706498f Reviewed-on: http://gerrit.openafs.org/815 Tested-by: Andrew Deason Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit 5e99d56cf2a8c4c9789bc7ace04a804d07e6238f Author: Simon Wilkinson Date: Wed Oct 21 23:17:15 2009 +0100 Use set_page_writeback and end_page_writeback Calling set_page_writeback and end_page_writeback is necessary to ensure that the dirty page radix tree and the page dirty flags tally. The results of end_page_writeback are also used by the bdi code to prioritise writeback. The Linux kernel documentation contains further warnings of doom for what may happen due to not calling them. Adding set_page_writeback and end_page_writeback also allows us to unlock the page earlier (the page can be locked any time after the writeback flag is set). This means that we're not calling the backing filesystem's ->write function with our pages locked, and should help reduce contention and the potential for deadlocks there. Change-Id: I9130b2ad9a09c6b9b16a0f63d7b4a614a93de8d3 Reviewed-on: http://gerrit.openafs.org/819 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit dc85abcaa6e3423452078e36bbfcd281e613c407 Author: Marc Dionne Date: Thu Oct 29 19:58:00 2009 -0400 Linux: Use the kernel's credentials structure Recent kernels (2.6.29 and above) have a separate ref-counted structure for holding credentials. Use it directly instead of keeping a separate afs specific structure that shadows the same information. Also adapt Linux for the change from cr_xxx to afs_cr_xxx wrappers. Reference counting is done with the appropriate get/put calls. Change-Id: I1135bb5a66cda51cee4fa9f3f3e63eaa9af28f61 Reviewed-on: http://gerrit.openafs.org/797 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 97d3fcfcd1617bafa6ee62d291f09b2e8bb6daf7 Author: Andrew Deason Date: Wed Nov 11 10:51:19 2009 -0600 Do not check *aoutSize in PGetPAG *aoutSize is always zero in pioctls, since afs_HandlePioctl handles checking the output buffer size, and sets outSize to 0 before calling the pioctl. So, PGetPAG was always returning E2BIG; remove the check to make it work. Change-Id: Ibed16b35ea14237f44a494add8c7a4a48e0c2b71 Reviewed-on: http://gerrit.openafs.org/814 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e854e26ef1a2ddb26d926891ffb32c1f46293878 Author: Simon Wilkinson Date: Wed Nov 11 10:34:30 2009 +0000 Update warning inhibition A number of recent changes haven't caught all of the locations where warning inhibition can be removed. This patch updates all of the inhibitions to reflect the current state of the tree when built with gcc4.2 Change-Id: I7bad4fee1258f4e37fd729cda84711fed66acbc9 Reviewed-on: http://gerrit.openafs.org/813 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 748eaf804119a632204f0c6cce5e07ec4c372c13 Author: Simon Wilkinson Date: Wed Nov 11 10:32:59 2009 +0000 Prototype kalog_Init Prototype the kalog_Init function in kauth_internal.h, and remove the warning inhibition from kaserver.c Change-Id: Ic48d199126629f1c0c2e498081be97901678ec70 Reviewed-on: http://gerrit.openafs.org/812 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 420dfad900267720d1665a67c92c567a341728c7 Author: Simon Wilkinson Date: Wed Nov 11 10:28:29 2009 +0000 const char paths for ubik_ServerInit ubik_ServerInit* take a pathname, which should really be a const. It already is in many of the callers, some of which remove the const by casting, the others throw errors. Make pathName const for all of ubik_ServerInitByInfo, ubik_ServerInit and ubik_ServerInitCommon. Update all of our callers to remove the now unecessary casting. Remove the now uneccessary warning inhibition on vlserver/vlserver.c Change-Id: I009103dc49e4473eec65ebd75aab727915c26f3c Reviewed-on: http://gerrit.openafs.org/811 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 420a544ecea96d5f72e5446f1f75add666b4f463 Author: Simon Wilkinson Date: Wed Nov 11 10:19:07 2009 +0000 Fix des key type issue in bosoprocs The call to afsconf_AddKey was using 'akey' rather than 'akey->data'. As data is the first element of the akey structure, these are actually identical, but the compiler sees it as a type error. Fix to use the correct name, and remove the warning inhibition. Change-Id: Id4775a836276ddd6f5ae105c298dcc3c68b92145 Reviewed-on: http://gerrit.openafs.org/810 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit be305ae119c4bd71431596f81d97f9195faa069f Author: Simon Wilkinson Date: Wed Nov 11 10:13:57 2009 +0000 Prototype UV_Bind Publicly prototype UV_Bind in volser_prototypes.h Make dump.c use the public prototype, instead of an incomplete private copy, and remove the warning inhibition that was required to support the private copy. Change-Id: I945192454702d79083a10062adaf2cb124d14a35 Reviewed-on: http://gerrit.openafs.org/809 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bab6fd227f5724c4e4ca5d0ba1dc64e21ed21f97 Author: Simon Wilkinson Date: Wed Nov 11 08:32:48 2009 +0000 Remove 'M' variants of lock macros Since the beginning, we've had M variants of the lock macros, which are identical to the normal form. Dispose of these variants, to make it clearer what's going on. Change-Id: I0b7708ec670ef0edb4c1dc21d472e5041d31f6a2 Reviewed-on: http://gerrit.openafs.org/807 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cbe83cb1a12fddc63c1775243c47fb43da40f9c1 Author: Simon Wilkinson Date: Wed Nov 11 09:10:36 2009 +0000 Fix warnings from afsconf_SetExtendedCellInfo If a is declared as an array, then a == &a. However, the compiler still gives a type warning when usign the & form, as the types no longer match. 5f720faab920a1007327de415ceaf187c16fdbe6 fixed this problem for calls to GetExtendedCellInfo - do the same for the corresponding Set calls. Change-Id: I8204afe7df0c0db1d059cb3f6ab61eff1cdf9140 Reviewed-on: http://gerrit.openafs.org/808 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c90132f2af3455948f029f9c475c768e476f66e4 Author: Simon Wilkinson Date: Wed Nov 11 08:28:32 2009 +0000 Include signal.h for sigfillset f6ce2af008feb615e94d924fc9f81e2098e73e7c added a call to AFS_SIGSET_CLEAR to vol/volume.c. However, it didn't add signal.h to this file. As AFS_SIGSET_CLEAR calls sigfillset(), this broke checked builds. Add signal.h to the list of headers to fix the build warning. Change-Id: Ib861abfbd153f6ef2ff4b42ea03b5604a95975d4 Reviewed-on: http://gerrit.openafs.org/806 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d616d1ee99794525aa2d778d11552c1986007ebb Author: Marc Dionne Date: Tue Nov 10 18:36:55 2009 -0500 krb_udp.c warning fix This file generates a warning because the left side of a variable assignment is commented out. Keep the effect of the line (incrementing packet) but remove the unused casting and reference, and remove the comments that date from the original IBM source. Leave a new comment in place in case the information is useful. Adjust the Makefile and README.WARNINGS to account for the change. Change-Id: I944e1c488e39411d32d700cba2d3ef567eddddb4 Reviewed-on: http://gerrit.openafs.org/804 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c4dfacc9341cd47805de5cd2d2de151199344a67 Author: Michael Meffie Date: Mon Nov 9 11:03:10 2009 -0500 cm: address race condition in afs_QueueVCB Access the vcache callback member after taking the xvcb lock to avoid the server object from being freed in FlushServer on another thread. Eventually, we should have a ref count on avc->server. FIXES 125596 Change-Id: I760819b1632d0e8188eaa34531239951aab980d3 Reviewed-on: http://gerrit.openafs.org/800 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2d0824245c030b08f90972ea0756fccf981263c0 Author: Marc Dionne Date: Tue Nov 10 18:16:45 2009 -0500 src/pam/afs_auth.c warning fix ka_UserAuthenticateGeneral expects an afs_int32 pointer for the password_expires argument. A (long *) was used in afs_auth.c, generating a few warnings. Change-Id: Iafc92e72022644ff23c642e801d51bd4387afa88 Reviewed-on: http://gerrit.openafs.org/803 Reviewed-by: Russ Allbery Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 954f67c682bdceb10c58646336ae0178ad47e317 Author: Simon Wilkinson Date: Wed Nov 11 08:12:51 2009 +0000 cr_gid is already used by Darwin Commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d introduced a variety of functions for accessing members of the credentials structure in a platform independent way. Sadly, cr_gid is already defined by the Darwin platform headers (on Darwin, the GID is just the first of the user's groups) Turn cr_gid() into afs_cr_gid() to avoid this problem, and for consistency, also rename cr_uid, cr_ruid, cr_rgid, and the corresponding set_* functions. Change-Id: I82d74900324d079b5a5c8985510a2c9586c4a526 Reviewed-on: http://gerrit.openafs.org/805 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit fc5e2a4d81f535db29cea962b26748a04f1bca4d Author: Daria Phoebe Brashear Date: Mon Nov 9 13:10:55 2009 -0500 unix srv record network byte order fix correctly process dns lookups corresponding to the srv record changes in network byte order Change-Id: Id70f972331582912ca984ae1b1c027c7b702a22c Reviewed-on: http://gerrit.openafs.org/801 Reviewed-by: Thomas L. Kula Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 24de8dae6d5d9ef72bd89877eb2f29c401024504 Author: Russ Allbery Date: Sun Nov 8 17:31:25 2009 -0800 Update afsd cache and firewall details Cache parameters are discussed in two locations in the afsd man page, and the first copy had not been updated for the new auto-tuning of the chunk size and the stat parameter. Fix both. Note that the firewall requirements for klog only apply if you're using kaserver and klog. Kerberos v5 has its own requirements, but this is not the place to talk about them. Change-Id: I9cdaaa71351a64cecc1b6904efba87d4871d42fb Reviewed-on: http://gerrit.openafs.org/798 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c9197a1f32f3ba69b4c609726532977324dabd7b Author: Simon Wilkinson Date: Mon Nov 9 23:20:14 2009 +0000 Fix locking in FlushVCBs when called from discon The disconnected code doesn't request locking from FlushVCBs when it calls it, but also doesn't hold the required locks itself. Fix this. Change-Id: I2450df4b19b2d44dca80990197e5e7637c9c8334 Reviewed-on: http://gerrit.openafs.org/802 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d Author: Marc Dionne Date: Thu Oct 29 19:23:28 2009 -0400 Unix client: wrappers for credentials structure access This patch introduces and makes use of wrappers for access to credentials structure members: cr_uid (afs_ucred_t *) cr_ruid(afs_ucred_t *) cr_gid (afs_ucred_t *) cr_rgid(afs_ucred_t *) cr_group_info(afs_ucred_t *) Inline functions are also introduced to set values: set_cr_uid (afs_ucred_t *, uid_t) set_cr_ruid(afs_ucred_t *, uid_t) set_cr_gid (afs_ucred_t *, gid_t) set_cr_rgid(afs_ucred_t *, gid_t) set_cr_group_info(afs_ucred_t *, struct group_info *) This will allow an architecture to make use of an alternate structure to hold credentials. In particular it will allow the linux client to be modified to use the kernel credentials structure directly instead of shadowing it into our own local structure. There should be no functional change. Change-Id: I7739196a0691a9c30887043b085e4878e88780ae Reviewed-on: http://gerrit.openafs.org/768 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f6ce2af008feb615e94d924fc9f81e2098e73e7c Author: Michael Meffie Date: Thu Nov 5 11:08:08 2009 -0500 viced: avoid useless core if shutdown during initialization Avoid leaving an unnecessary core file when the fileserver is shutdown while still attaching volumes. The bosserver issues SIQUIT to shutdown the fileserver which leaves a core file by default. Register the fileserver shutdown signal handler earlier in the fileserver initialization, before the long running volume attachment is started. The volume package shutdown has been changed to allow the VShutdown to gracefully abort the volume attachment (or pre-attachment for DAFS). FIXES 124485 Change-Id: Ic22e68afb7bcc54ad956b2ae093375f29b969191 Reviewed-on: http://gerrit.openafs.org/764 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d98d3060f880f4c7d4089fd2fb981ee08fd1486f Author: Simon Wilkinson Date: Sat Nov 7 11:52:59 2009 +0000 Add printf-style format checking Add the AFS_ATTRIBUTE_FORMAT macro which can be used to turn on printf-like format checking for our va-arg log functions. Enable this checking for volser's Log(), and fix the fallout from doing so. Change-Id: Ic5ab93ba731856f1f90e894d711b0f84298ded12 Reviewed-on: http://gerrit.openafs.org/789 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 392dcf676bd3642fc114abb29b79888055d8c409 Author: Simon Wilkinson Date: Wed Nov 4 20:15:36 2009 +0000 Complete removal of DUX client code With commit cfce015ead18c72ee921f480c73e9247a98838fc (in 2006) all of the files specific to the DUX cache manager were removed. However, the DUX code within general files remained untouched. This patch completes the removal of the (entirely non-functional) DUX client, by removing all cache manager code which is for AFS_DUX*_ENV and AFS_OSF_ENV platforms. It also takes the advantage of this removal to simplify some #ifdef ladders, and indents others (purely because I needed the indentation to work out what on earth was going on!) Change-Id: Icbea5ed3ef94c5e902cdb0d722be85f376c3d296 Reviewed-on: http://gerrit.openafs.org/785 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c90134fd1f1b5cd16052c5fdc91ddd1b1ac6e19a Author: Simon Wilkinson Date: Wed Nov 4 18:09:51 2009 +0000 Move vnode macros to their own directories The tree is inconsistent whether macros for access to vnodes are provided by the OS directories, or in afs_osi.h. This makes things very confusing, especially in the Linux case where macros are provided in afs_osi.h, and then promptly redefined in LINUX/osi_machdep.h Adopt a convention where default macros are conditionally provided by osi_machdep.h. Where these aren't wanted, they should be disabled in osi_machdep.h, and OS specific versions provided in the individual OS's directory. Change-Id: I47bc969af3f6670db9348689b5ce60181fd44f21 Reviewed-on: http://gerrit.openafs.org/784 Tested-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 457303440042ad43e61652b6ca11c84fab390b82 Author: Marc Dionne Date: Sat Nov 7 10:51:52 2009 -0500 Linux: always use afs_maybe_unlock_kernel In one error case in afs_linux_lookup unlock_kernel() is called directly instead of using the conditional "maybe" form. If the config is such that the BKL is not taken, this can result in an attempt to unlock when the lock has not been taken, and can cause an oops. Change-Id: I27d5db58e9b9d45d925b24e27bc43960499c6ead Reviewed-on: http://gerrit.openafs.org/790 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 09c4c1978b8901cac0191900c8679095b7e53e6d Author: Simon Wilkinson Date: Sat Nov 7 01:10:22 2009 +0000 Add error_table.c to gitignore in comerr error_table.c is a build product for comerr, should we should gitignore it Change-Id: Ie47ae4daec734b31c884e4732d053635ee1048bb Reviewed-on: http://gerrit.openafs.org/788 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit fd592c7674d4aa44dda90998b54d7b56947f6ed8 Author: Andrew Deason Date: Tue Nov 3 21:22:50 2009 -0600 Cleanup VOffline log message Make the 'Volume X (Y) is now offline' messages appear more sanely in the log; logging as one line at once. Change-Id: I8a3cf986fb30e292e509237357bd1039f2f181b9 Reviewed-on: http://gerrit.openafs.org/782 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 95770bf95ad766207252ea0c2d2b5ab2415c896f Author: Simon Wilkinson Date: Wed Nov 4 23:40:39 2009 +0000 Prevent VLRUQ race in ShakeLooseVCaches When ShakeLooseVCaches is called from afs_Daemon, the xvcache lock is not held. This means that if the GLOCK is dropped for any reason (for example, whilst purging the dentry cache), then ShakeLooseVCaches can be raced, end we can end up attempting to flush the same vcache twice. The symptoms of this in Linux are that we oops in clear_inode. Get the xvcache lock in afs_Daemon(), before calling ShakeLooseVCaches. Also, remove the conditional GLOCK code from that function. If we don't have the GLOCK on entry, then we're really in trouble (and both code paths - afs_Daemon and afs_NewVCache should get the GLOCK for us, anyway) FIXES 125589 Change-Id: I3fe5b41a661cd162ec73c51492925ad87c6d4c13 Reviewed-on: http://gerrit.openafs.org/781 Reviewed-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 86858bdfb6e25168828d8595f387ef5919e0df3a Author: Rainer Toebbicke Date: Fri Oct 30 12:10:21 2009 +0100 Correct diskused and files when cloning a volume Recalculates a volume's disk space used and number of files upon every clone where it is effortless. Even though tracked mostly correctly, bugs and accidents leave their traces which only a salvage would correct. Change-Id: Ied6fb9eb3944b6e30eac175fe42649c5b7cfaefb Reviewed-on: http://gerrit.openafs.org/756 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2df6f25f61cc888bc2a8fb3ccab1de37fc4c04b0 Author: Daria Phoebe Brashear Date: Tue Nov 3 19:26:33 2009 -0500 macos fstrace msgcat search path everything else on osx will look for config in /var/db/openafs; make fstrace do the same Change-Id: I7b787435343b15c82cd8eb8f3ed00096d469e888 Reviewed-on: http://gerrit.openafs.org/772 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 848b781d114cbf5cd245273f37be97f64047c8cc Author: Daria Phoebe Brashear Date: Tue Nov 3 19:25:23 2009 -0500 macos 10.6 64bit trace fixes the 64 bit pointer massaging was incomplete for kernel tracing on macos. add in the missing cases. Change-Id: I38eb608c233819ab437adec25e2cd3afac3e234e Reviewed-on: http://gerrit.openafs.org/771 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c41d3b21323de122fc0a60dc602a5377dfb19d3e Author: Marc Dionne Date: Wed Oct 28 17:54:32 2009 -0400 Linux - Fix disk cache access for selinux/AppArmor constrained processes Preserve the credentials used for cache initialisation and use then whenever disk cache files are opened. This takes advantage of the credentials separation work from David Howells available in kernels 2.6.29 and above. Access to cache files was done under the security context of the user process, causing processes constrained by selinux or AppArmor to fail to access AFS cache files and causing the cache manager to panic. Besides the RT tickets, should also fix the following Ubuntu bugs: 415766 429260 457779 459299 FIXES 92944,125544 Change-Id: Ief8acd65c1a3e4d8c951f80bfd65f8340b8cec34 Reviewed-on: http://gerrit.openafs.org/752 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit cbe580fee176c9e9e083379129c309fd15d0f24c Author: Jeffrey Altman Date: Fri Oct 23 09:54:35 2009 -0500 Check for (hostFlags & HOSTDELETED) after h_Lock_r Many callers of h_Lock_r do not check if the HOSTDELETED flag is set, even though it could have been set while waiting for the host lock. Add checks for it everywhere we call h_Lock_r and we care if the host has been deleted. FIXES 125507 Change-Id: Id1430529a1afdb5e2af29d40148877f5e4260a41 Reviewed-on: http://gerrit.openafs.org/716 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f08c714f8800aaa28177c3d58e7a5641af61d7de Author: Andrew Deason Date: Mon Nov 2 12:19:45 2009 -0600 DAFS: Avoid SALVSYNC communication during shutdown Avoid trying to contact the salvageserver for any reason while we are shutting down. During shutdown the salvageserver may not be around anymore, so any SALVSYNC communication will appear to hang. Just set a global flag to indicate 'no-SALVSYNC' on shutdown, in addition to the thread-local flag we already have. Change-Id: Id96f20917fd0753b4934a0377b91032b2ea3d0dc Reviewed-on: http://gerrit.openafs.org/765 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5e6842283f5c2fdf0fe3306993a6e18c2e590716 Author: Andrew Deason Date: Mon Nov 2 17:18:19 2009 -0600 DAFS: Wait for exclusive ops in FSYNC_VOL_OFF In the FSYNC_VOL_OFF handler, fssync-server.c errors out if the call to VGetVolumeByVp_r fails. However, this can fail if the volume is in an error state such as SALVAGING. Normally we don't even call GetVolume when the volume is salvaging, but the volume state can change to SALVAGING inside GetVolume. This is particularly likely to happen on a demand salvage, since we switch to the SALVSYNC_REQ state when scheduling the salvage, and if we are still in that state when the salvaged child requests a VOL_OFF, we will fail to get the heavyweight ref. Fix this in two ways. First, we VWaitExclusiveState_r before examining states for the short-circuit logic so our view of the volume state is more accurate. Second, re-examine the volume state after the call to GetVolume, and perform the same short-circuit logic, since the volume state may have changed during GetVolume. Change-Id: I4ebb87691c28170b42e0056b342477a12d0f6888 Reviewed-on: http://gerrit.openafs.org/769 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 93d48b1735b88b3051357307bdbebf5da9872d69 Author: Dan Hyde Date: Thu Oct 29 12:07:47 2009 -0400 Add array bounds checking in h_Enumerate When hostList is not properly NULL-terminated, the current code does not protect from buffer overflow. The following patch prevents buffer overflow, prints a message, and asserts. On our Linux hosts, we never reached the original assert, as there is a problem handling the segfault the buffer overflow causes. FIXES 125506 Change-Id: Ifce92c593d17050e45add9e37a7a9ed4fbc377ef Reviewed-on: http://gerrit.openafs.org/757 Reviewed-by: Dan Hyde Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 715c67f2fb3c1756f0c9cee0bc3258a3e378d3fd Author: Marc Dionne Date: Sat Oct 31 13:27:18 2009 -0400 Linux: Fix write_begin configure test for recent RHEL kernels Recent RHEL kernels now define simple_write_begin, which was used as a test for the write_begin address_space op. This makes the test succeed when it shouldn't, and breaks the build. Rewrite the test to actually check the address_space operation. Change-Id: Idac9b318ff716b61bf8ca4508d2dbdbfbad5b50d Reviewed-on: http://gerrit.openafs.org/759 Reviewed-by: Simon Wilkinson Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 5a537f071970c38881fde1ad8508775fafd7489d Author: Marc Dionne Date: Sat Oct 31 08:54:52 2009 -0400 Fix memory allocation warnings at shutdown At shutdown we check for unfreed memory allocated with AllocSmallSpace and AllocLargeSpace and complain in the syslog if there are dangling pieces. This patch takes care of a few cases that always showed up as warnings, even after a simple start-stop of the client. - The cacheInode file needs to be closed before the checks, since it uses a large piece for its struct file. - The ICL logging code allocates 6 small pieces that are never freed. Add a shutdown_icl() function that releases everything. While we're at it, correct one place where we allocated with afs_osi_Alloc but freed with osi_FreeSmallSpace, confusing our accounting. Change-Id: I4c28c848f155dec9d89e6199cde34209227ca5c9 Reviewed-on: http://gerrit.openafs.org/758 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8b3d2c1a3c9c430bb28e8d209d8399a9dc635f4b Author: Marc Dionne Date: Thu Oct 29 17:11:34 2009 -0400 Linux: remove unused cr->next member in struct afs_cred This field was once used to track allocations in a credentials pool. That code was removed a few years ago but the field remained. Change-Id: Ieac642d7d55c4da766a5a3aa8ff790a514b606d6 Reviewed-on: http://gerrit.openafs.org/753 Reviewed-by: Simon Wilkinson Reviewed-by: Dan Hyde Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit afdfbefe9cbf1818bee0072d2845fd02f7ac69a4 Author: Simon Wilkinson Date: Thu Oct 29 18:53:30 2009 +0000 Cleanup cache bypass This patch cleans up the cache bypass code so that it uses a consistent form of indentation throughout the file. It also changes the do { } while(0); macros to omit the trailing semicolon, as macro definitions with trailing semicolons break normal coding conventions. Change-Id: Id5161fe4b1ba27110e41ed27e14a2bb3c9cccd4a Reviewed-on: http://gerrit.openafs.org/754 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 416e2f11c35f5d55f91090b30b4db1a9bf6d6e07 Author: Andrew Deason Date: Wed Oct 28 11:06:47 2009 -0500 Avoid using released hosts Since h_Release_r has the possibility of freeing a host, we should not be using a host after it has been released. A few places can still use a released host, potentially causing heap corruption, double frees, and generally weird behavior. So either move calls of h_Release_r until after we finish using a host, or make sure to set the pointer to NULL after it has been released. Change-Id: I3d5275c3862003e372d3c19a5462e62bf9cb269e Reviewed-on: http://gerrit.openafs.org/747 Tested-by: Andrew Deason Reviewed-by: Dan Hyde Reviewed-by: Derrick Brashear commit 28ccbd1ad88f8cee34515b0552441083c310aa1d Author: Simon Wilkinson Date: Thu Oct 29 18:42:41 2009 +0000 Coding style cleanup Our style for function definitions has the name of the function as the first item on a new line - this means you can find a definition by using grep ^functionName. Fix the disconnected code to follow this style. Change-Id: I925039070f2bbbd97f04fbee006ea08df92d7cf5 Reviewed-on: http://gerrit.openafs.org/751 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7833e472b9585ee1a7085ca704e642a73ca969a5 Author: Simon Wilkinson Date: Wed Oct 28 11:12:18 2009 +0000 Make afsd.pod reflect reality 9d396c4916fdac64fcface30e6637ca6e2911203 (from 2005) introduced autotuning for afsd, and changed some of the defaults which aren't autotuned. Update the afsd man page to reflect the autotuning, and the new defaults. Change-Id: Iea2035743cb45cca1c249bc2e838405039ad7d3a Reviewed-on: http://gerrit.openafs.org/744 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 53fc41a856da4a23fa603bd5a274d819e7a3b54e Author: Simon Wilkinson Date: Wed Oct 28 18:24:33 2009 +0000 Move PMTU header block to top of file 1206e7538be86f073b21cd289266286b60a95d0a added linux/errqueue.h to rx_user.c, but added the include in the middle of a function - which means that the new structure is out of scope for the rest of the file, which breaks the build on Linux. Put the header include at the start with all of its other friends. Cc: Alf Wachsmann Change-Id: Id932ff63b59e6cd62eda3df4f01e4eef354736ca Reviewed-on: http://gerrit.openafs.org/748 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 21efa6394ebf0b1eea440b74aef9f62160d5f851 Author: Marc Dionne Date: Mon Oct 26 18:23:00 2009 -0400 afs_buffer.c: fix uninitialized variable warning Squash a warning about lt being potentially used uninitialized. Change-Id: I41bfccfd1a0db925a4d728a217b154f45c28b112 Reviewed-on: http://gerrit.openafs.org/742 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bea4c4ea5d563bebe9f9c6289a1f25fd016a01a4 Author: Simon Wilkinson Date: Mon Oct 26 19:52:48 2009 +0000 Use fewer #ifdefs for dynamic vcaches When we're not in AFS_MAXVCOUNT_ENV, make afsd_dynamic_vcaches a static 0, which allows the removal of a scattering of #ifdef's in the middle of conditionals in afs_vcache.c, and generally improves the code browsing experience. Also, move the externs for this variable to afs.h, where they belong, and fix related formatting. Change-Id: I4d56ebae63fe1855ac80f8511b9fc76f7e5a326f Reviewed-on: http://gerrit.openafs.org/741 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d769b27694b4ab6d3fba23c6121238b311bd82d6 Author: Simon Wilkinson Date: Mon Oct 26 23:17:36 2009 +0000 Make cache bypass build again Recent commits had left cache bypass somewhat behind, make it build again. Change-Id: I500372f4584f4d0d90f6ea9f98a9ac3fb05f5185 Reviewed-on: http://gerrit.openafs.org/743 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 293e8c6a1048bf3c342134b5ca6f79d68023258b Author: Simon Wilkinson Date: Mon Oct 26 18:52:52 2009 +0000 Remove hardcoded maximum time When iterating across the buffer list, afs_newslot used a hardcoded maximum time to find the oldest. Instead of using this, just use the accesstime of the first unused buffer that we find as the oldest, and continue as normal. Change-Id: Ifeacb8a407901b46a23fbc838b1fca761108ebbb Reviewed-on: http://gerrit.openafs.org/738 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f97262c1d422e0a32289c75665d051914c8d69ad Author: Simon Wilkinson Date: Mon Oct 26 19:36:53 2009 +0000 Fix dynamic vcache / rxmaxmtu cmd id collision Both dynamic vcaches and rxmaxmtu had been committed as using the 35th command entry. Fix this according to the order they are in the command list (35 and 36, respectively). Tidy up the command list so it's easier to read, and remove the #ifdef notdef entry from it, as adding it back in would just cause chaos. Change-Id: I3fce403aa0ab01c42f0e1a48ae401503b0e21c24 Reviewed-on: http://gerrit.openafs.org/740 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b21b209f1cb2bafe916543c1ac8f232d6fc84847 Author: Simon Wilkinson Date: Mon Oct 26 17:06:20 2009 +0000 Fix locking in afs_buffer.c Back in 2002, 0eb68f307aac84472a13523a0ce8b7a865f01ac7 was committed to fix locking problems in dir/buffer.c. Sadly, similar changes were never made to afs/afs_buffer.c, so the same problems remain in the cache manager. The issue here is with two processes racing in afs_newslot. Calls to afs_newslot protect buffers with a zero reference count using afs_bufferLock. If we release afs_bufferLock, before we increase the reference count of the vcache, then we can end up with newslot picking the same buffer for two different purposes. The GLOCK actually protects us from the worst of this, but this fix is necessary both for correctness, and for symmetry with the file server buffer code. Change-Id: I7f1c7d6571559c5f1784926c39d4889b77677231 Reviewed-on: http://gerrit.openafs.org/737 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ba93d8f9f1379e3342460273234f964a39e1caf9 Author: Simon Wilkinson Date: Mon Oct 26 19:46:09 2009 +0000 Remove pininodes The pininodes option has been commented out of afsd since the original OpenAFS commit. Enabling it now would cause chaos, due to the way that cmd orders its arguments. Just remove the sections of code to avoid this danger. Change-Id: I9e9944d4470fd21d2ec9e36e17771b499d7c8e0b Reviewed-on: http://gerrit.openafs.org/739 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit dbe3b7b8eeb4a010f82248befc6167b3b5ed9606 Author: Andrew Deason Date: Mon Oct 26 14:04:48 2009 -0500 Dec old special inodes in inode convertROtoRW The convertROtoRW code for the inode fileserver makes copies of the volume's special inodes, but leaves the old (RO) inodes around. If the RO is created again, this will result in duplicate special inodes for the same volume, which freaks out the salvager (and possibly other things). So IH_DEC the old RO special inodes after converting, so they go away. Change-Id: Ifefa2cb69c5b2960b81dbee9d54e5ea8401b240e Reviewed-on: http://gerrit.openafs.org/735 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c95ace2c5963076deaf5f5c3a9856978f19ea0c4 Author: matt@linuxbox.com Date: Mon Aug 3 12:36:25 2009 -0400 viced (non atomic) refcount/more-threads Replace host-hold bitmap with reference counting, phase 1, not atomic. Increase viced MAX_THREADS. NOTE: This code has been tested on Centos 5.3 x86_64, on VMWare, 2 physical, 2 logical CPUs. LICENSE BSD Change-Id: Id62dcc786619dfd99e1a7b69a196bbaa0b45158c Change-Id: I8ee2ec645402f02fdba0920815409b56172d393b Reviewed-on: http://gerrit.openafs.org/268 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf8355bd9aa7e7bd47ec5554030258fe43e2abdb Author: Jeffrey Altman Date: Mon Oct 26 07:13:00 2009 -0700 ubik_VL_GetAddrsU does not accept a VLCallBack parameter ubik_VL_GetAddrU accepts a pointer to a uniqifier and not a pointer to a VLCallBack structure. Remove an incorrect cast and provide the correct parameter in src/volser/vos.c. Change-Id: I4b12cf2d4c65f115fdef76f0a4306960b5cd0413 Reviewed-on: http://gerrit.openafs.org/733 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b90f4241285efccdf8be5f9ce3ae28c64fbccd38 Author: Andrew Deason Date: Fri Oct 23 15:02:12 2009 -0500 Avoid 'salvageserver -client -showlog' segfault Running salvageserver with the -client and -showlog options will currently segfault, since -client does not open logFile, and -showlog will attempt to rewind logFile on exit. Fix this by not allowing -client and -showlog together (since it won't work anyway, as -showlog tries to read SalvageLog), and by making showlog() check logFile for NULL-ness. Change-Id: I30f43ef1696f1e7e8873b9e1cc3867b4e06d1980 Reviewed-on: http://gerrit.openafs.org/734 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8edafd92c0ec5b31aff7f86b73f954a04d0f17d4 Author: Jeffrey Altman Date: Mon Aug 17 12:23:57 2009 -0400 Updates to Jake's RTT based server ranking (Gerrit 317) Remove check on powerStateSuspend in cm_Daemon() Update the server Reference lists if the ranking changes. Change-Id: Id290e0f98c616a12f4f8b1746dca58ad7a0f06ce Reviewed-on: http://gerrit.openafs.org/729 Tested-by: Jeffrey Altman Reviewed-by: Jacob Thebault-Spieker Reviewed-by: Jeffrey Altman commit d22c05e6799649a1b5c06b0396e78b0520b3e4f6 Author: Jacob Thebault-Spieker Date: Wed Aug 12 01:32:06 2009 -0400 Adds cm_RankUpServers() and cm_RankServer() This adds the functions cm_RankUpServers() and cm_RankServer() to the Windows cache manager. cm_RankUpServers() steps through the list of servers, and calls cm_RankServer(), which in turn re-ranks the servers that are currently up based on rx peer statistics as exposed by rx_GetLocalPeers(). cm_RankUpServers() is called every 10 minutes by the cache manager daemon, so as to allow re-ranking of the servers. Also added is the struct server->adminRank data structure, to allow for the modification of the rank that the admin has set, without but basing this modification on the admin-set rank. Change-Id: I118b885e179e4f84901dd9a3180ce821f194feb8 Reviewed-on: http://gerrit.openafs.org/317 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 4a006f167bf6fe550eac9c96c6fce1f538760709 Author: Simon Wilkinson Date: Mon Oct 26 12:49:11 2009 +0000 Clean up console message Clean up the 'all buffers locked' console message so that it's clear that it comes from AFS, and so it has a trailing newline. From a bug report by Rainer Toebbicke to openafs-info Change-Id: I3f69e57e37a91ae3e6e8822ccfe72dddc06b4359 Reviewed-on: http://gerrit.openafs.org/732 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b8e4c573a5da18ecd80578a1061594891528ffc9 Author: Simon Wilkinson Date: Fri Oct 23 16:34:33 2009 +0100 Don't return AOP_WRITEPAGE_ACTIVATE to write() When we're called from write(), we don't have the option of deferring the writing of a page by returning AOP_WRITEPAGE_ACTIVATE. Instead, write() simply sees this as the output of 0x8000 bytes of data. So, whilst we can mark a vcache as being output, we can't defer the processing of one which is already being written (by, for example, an earlier writepage()). This problem only affects files which are have mmap() and write() called in quick succession, but it does break the fsx utility. Change-Id: I750a186de38da9873665a862f5b584a78e6979ad Reviewed-on: http://gerrit.openafs.org/725 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 70c8deab1694e2cd200f4ff7a81f5f3f028a4c19 Author: Simon Wilkinson Date: Sat Oct 24 10:54:32 2009 +0100 Use user credentials for Linux writepage() We have no control over the context in which the kernel calls our writepage routine. It may be from the process which original wrote the page, from any other process on the system which is writing and goes over the dirty page threshold, or from the flush thread (pdflush / flush-afs). Therefore, we cannot use the credentials of the current process to perform the writeback. This is an issue both for afs_write (which, in our current MM model, may need to contact the fileserver to read missing chunks), and for DoPartialWrite (which needs to be able to store chunks when the local cache is getting full) This patch stores the credentials of the first process to open a file in the vcache structure. Whenever writepage() is used to writeback pages for this file, the cached credentials are used rather than those of the current context. Thanks to Marc Dionne for his work in testing and refining this patch. FIXES 125471 Change-Id: I2900f711150fd81b2b4839bbc2bf77623bde3b64 Reviewed-on: http://gerrit.openafs.org/724 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 207882ec4fa91a69d1ec0f25d23a409fd19898de Author: Daria Phoebe Brashear Date: Fri Oct 23 17:50:09 2009 -0400 windows 1.5.66 make 1.5.66 for windows Change-Id: I04902106c35eea2dccf6db594c496302cde3f15b Reviewed-on: http://gerrit.openafs.org/723 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 944580c19566fbf1d6d2717cf21f9afd3ef93c14 Author: Daria Phoebe Brashear Date: Fri Oct 23 17:35:37 2009 -0400 make 1.5.66 for unix push version changes for 1.5.66 Change-Id: I5302e9aa83b4aba0081130934f0d6df0786ce43c Reviewed-on: http://gerrit.openafs.org/722 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 11cdb701556fc0430445caaf3a4c6955683d9bd7 Author: Michael Meffie Date: Thu Oct 22 15:51:33 2009 -0400 volser transaction object race conditions Fix the transaction object races between VolMonitor and the volume operation procedures which can cause the volume server to crash. Add a per transaction object mutex to safely set the transaction call pointer and name. Fix VolMonitor to safely traverse the transaction list and to access the call pointer and last proc name while copying info to send to the vos client. Fix the sleep thread to safely access the last proc name. FIXES 125479 Change-Id: I59595b93522d111b6a771d3d93c246bfc2ce65de Reviewed-on: http://gerrit.openafs.org/718 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bbcfbe1a04eda9e75b1643be88cf9d4842a8aa86 Author: Andrew Deason Date: Thu Oct 22 11:12:30 2009 -0500 Avoid prematurely destroying callback_rxcon Currently, h_GetHost_r and removeAddress_r can destroy the callback_rxcon of a host. Having a NULL callback_rxcon can cause segfaults in code that does not properly check if a host has been HOSTDELETED before trying to use it. Although such code is incorrect and should be fixed, we can still avoid a segfault in those situations by not destroying callback_rxcon until we destroy the host itself. This just prevents destroying callback_rxcon in h_GetHost_r and removeAddress_r, leaving it to h_TossStuff_r to destroy when it destroys the host. Change-Id: I6fd5cbb924053446689c576026f9044f78ba71be Reviewed-on: http://gerrit.openafs.org/717 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ed8d83e0f6b9825503643d1ee8398b2310946dd7 Author: Simon Wilkinson Date: Fri Oct 23 12:42:19 2009 +0100 Resolve error return issues in writepage The writepage_sync changes get error returns wrong in a couple of places. In particular, they return a 0 code from dopartialwrite in preference to the length return from page_writeback Change-Id: I34a848fed5f799aa6844e9ef0339321f91c7e59b Reviewed-on: http://gerrit.openafs.org/721 Reviewed-by: Marc Dionne Tested-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5f720faab920a1007327de415ceaf187c16fdbe6 Author: Jeffrey Altman Date: Thu Oct 22 10:38:23 2009 -0400 Remove warning from all calls to afsconf_GetExtendedCellInfo Fix 'afsconf_GetExtendedCellInfo' : different types for formal and actual parameter 5 Change-Id: I922d653a88a9d0c04ed6dbd1c9c0b3fc90719337 Reviewed-on: http://gerrit.openafs.org/715 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ecfeb5365f7b7812529b8f6c269700f4ce30b45e Author: Jeffrey Altman Date: Fri Oct 23 00:16:01 2009 -0700 Windows: Notes for 1.5.66 ChangeLog description for 1.5.66 on Windows. Reviewed-on: http://gerrit.openafs.org/720 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit d0080431fab17c5e96f617ce78980adb3680d0f8 Author: Jeffrey Altman Date: Fri Oct 23 00:04:52 2009 -0700 Windows: Updates to Release Notes Add support for Windows 7 and Server 2008 R2. Improve text in a variety of areas. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/719 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit e16ce66634a85a870dae3323a2257953cfe571be Author: Simon Wilkinson Date: Tue Oct 20 12:38:53 2009 +0100 Refactor writepage_sync This change refactors writepage_sync into 4 functions - *) prepare_writeback() readies a vnode for writeback, and performs the anti-recursion check. *) dopartialwrite() intialises a request and performs the call to DoPartialWrite *) page_writeback() does the actual work of writing an AFS page into the disk cache page *) complete_writeback clears the writeback flag from a vnode There should be no change to the current behaviour of writepage_sync, these modifications are the first part of a fix to our writepage() behaviour. Reviewed-on: http://gerrit.openafs.org/712 Tested-by: Derrick Brashear Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit 234acbbb84534c5327bb69a2fcb7675dcd0d1198 Author: Jeffrey Altman Date: Thu Oct 22 10:27:41 2009 -0400 Windows: no longer use WinExec in afscreds WinExec is a compatibility interface for 16-bit applications. It is not compatible with Windows 7. Replace it with ShellExecuteEx. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/714 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 95cddea6da14d2dd58a2d5e5da775d26d647033f Author: Daria Phoebe Brashear Date: Wed Oct 21 14:42:23 2009 -0400 pthread pid casting in rx, we use pthread_self (which can return a pointer) as a pid; in order to not cause problems, cast it as we do elsewhere Reviewed-on: http://gerrit.openafs.org/703 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cd2d4ceadcb3c52ec8e1b7bfd078b32226bd0d9f Author: Jeffrey Altman Date: Thu Oct 22 10:10:12 2009 -0400 rx lwp include assert.h where AFS_NT40_ENV builds can see it Reviewed-on: http://gerrit.openafs.org/713 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 196b2a2cb35eb85fe599e5faa946c93073935928 Author: Jeffrey Altman Date: Thu Oct 22 08:57:04 2009 -0400 Windows: Update Control Panel to use ShellExecuteEx instead of WinExec WinExec is for 16-bit application compatibility. Starting with Windows 7 it cannot be used to execute a process that requires elevated privileges. ShellExecute[Ex] must be used instead. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/711 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a3bad94d1726a13460dd2c6f55f8742efa9c34d6 Author: Daria Phoebe Brashear Date: Thu Oct 22 08:07:43 2009 -0400 remove spurious log in icl fstrace should not log sets to the kernel message log Reviewed-on: http://gerrit.openafs.org/710 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e83d382d208950029610ff04ec696b7ce6840a56 Author: Simon Wilkinson Date: Thu Oct 22 00:34:50 2009 +0100 Add -Wpointer-arith to warning and checking builds GCC doesn't catch issues with performing pointer arithmetic on (void *)s, unless the -Wpointer-arith warning flags is supplied. Enable it for warning and checking builds. Reviewed-on: http://gerrit.openafs.org/708 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 5f688ff4bd89aa0c73d96a51c0d5343a2ed2e843 Author: Daria Phoebe Brashear Date: Wed Oct 21 14:43:26 2009 -0400 rx don't exit exiting in library code is antisocial. if rx encounters an error which cannot be returned and would otherwise indicate a service thread has gone away, assert. Reviewed-on: http://gerrit.openafs.org/668 Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Tom Keiser commit 304f21cb7094e68224b22f8a91144f80207d7a3c Author: Simon Wilkinson Date: Thu Oct 22 00:31:10 2009 +0100 Fix fall out from removal of memset casts In places where we're doing pointer arithmetic, we must cast to (char *), because pointer arithmetic on a void * isn't permitted by the C standard. Sadly gcc lets us get away with it 'for convenience'. Reinstate the necessary casts. Reviewed-on: http://gerrit.openafs.org/707 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a8a9c3c0f248d8ce0fbe7da701abb898adfe003c Author: Jeffrey Altman Date: Wed Oct 21 18:51:09 2009 -0400 Windows: Update MSI installer properties Reference useful web pages such as docs.openafs.org for help, www.openafs.org/windows.html for upgrade info, etc. Reviewed-on: http://gerrit.openafs.org/706 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 32b2f18628f4e7942e988111ba9903e9a2967754 Author: Jeffrey Altman Date: Wed Oct 21 18:41:59 2009 -0400 Windows: ports in the cache manager are stored in network byte order When assigning ports from SRV/AFSDB lookups, convert to network byte order when assigning them to cm_server objects. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/705 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2a9263a451847f4f1fb4deff56ee68d73c70e5bc Author: Asanka Herath Date: Wed Oct 21 15:56:12 2009 -0400 Windows: Set the ARPINSTALLLOCATION property when installing The WiX based Windows Installer package for OpenAFS should set the ARPINSTALLLOCATION property when installing. This property contains the main installation directory for the product and is necessary for Windows Logo compliance. Reviewed-on: http://gerrit.openafs.org/704 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit b9eaf43bbe31ac20604e79b0fd4e35aa029a06bd Author: Simon Wilkinson Date: Wed Oct 21 17:34:30 2009 +0100 Don't cast the pointer past to memset memset() takes a void * as it's first argument. Don't explicitly cast what we're passing in to (char *), as this may mask other errors. Reviewed-on: http://gerrit.openafs.org/701 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5d5d18071608d9782a5d936f79215048af641410 Author: matt@linuxbox.com Date: Sun Oct 11 20:52:26 2009 -0400 Make typedefs of AFS_UCRED and AFS_PROC with renaming Make typedefs of AFS_UCRED and AFS_PROC, with a corresponding name change. The names afs_ucred_t and afs_proc_t are chosen since these appear to be the best available choices. The names cannot actually collide with anything which POSIX might later introduce. For UKERNEL, the preprocessor is used to redirect references. This seems not easily avoidable at present. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/645 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf9c51a4e13b3e621b99866e9be53c8fe35a39fe Author: Andrew Deason Date: Tue Oct 20 12:43:42 2009 -0500 HPUX: Do not sigwait on critical signals On HPUX, it is possible for 'critical' signals such as SEGV, ABRT, etc to be delivered to the softsig thread when we sigwait(). The current code marks these as 'fatal' and just exit(0)s when they are received, preventing us from getting cores in the case of a SEGV, ABRT, etc. To work around this and keep behavior on other platforms the same, just do not wait on 'critical' signals on HPUX in the softsig thread. Reviewed-on: http://gerrit.openafs.org/693 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 4141bf4084b3f473a8a756b42556c6273cd7c9bd Author: Jeffrey Altman Date: Wed Oct 21 09:14:51 2009 -0400 Windows: Add registry entries for rx_SetMinPeerTimeout, rx_SetMaxRecvWindow, rx_SetMaxSendWindow Permit the new rx settings to be configured via the registry and set at startup. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/700 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit c4263054a0c3101199d84527f36e18e2743169c4 Author: Jeffrey Altman Date: Wed Oct 21 09:13:22 2009 -0400 Add rx_SetMinPeerTimeout and rx_GetMinPeerTimeout Permit the minimum peer timeout value to be adjusted at runtime. The default remains 350ms. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/699 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 54d9c6cb34af3da75831b4b8c68cb40475eee1ea Author: Simon Wilkinson Date: Tue Oct 20 15:30:33 2009 +0100 Use real names for page lock operations Call a spade a spade. Don't use macros to rename lock_page as LockPage, and unlock_page as UnlockPage. Instead use the same names as the kernel, which makes it a lot easier for people familiar with kernel code to read ours. Reviewed-on: http://gerrit.openafs.org/692 Reviewed-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 040712a744dd5e021d20987c2e2a98ac0f129b15 Author: Jeffrey Altman Date: Wed Oct 14 23:43:46 2009 -0400 Windows: Modify afscreds.exe and afs_config.exe to be UAC compatible afscreds.exe: 1. disable the drive mapping and advanced tabs. 2. on exit, remove the option to stop the service. afs_config.exe: 1. disable the drive mapping tab Removing this functionality by default will address some of the problems while permitting users that wish to continue using these tools to do so. The drive mapping tab can be re-enabled setting the registry value to be non-zero: {HKCU,HKLM}\Software\OpenAFS\Client DWORD "ShowMountTab" LICENSE MIT Reviewed-on: http://gerrit.openafs.org/663 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit ee7399fa3795652c3d903e9af2baa9ba0174ca03 Author: Jeffrey Altman Date: Wed Oct 21 09:02:04 2009 -0400 Windows: Do not permit infinite attempts to obtain a pioctl file handle The recent change to detect sharing violations and initiate retries permits infinite attempts. Change this to a limit of 100 attempts and increase the sleep period between attempts from 1ms to 100ms. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/697 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2e9dc9ee20181db0e3c6dbee0b51b0f8de5d52ec Author: Jeffrey Altman Date: Wed Oct 21 09:07:47 2009 -0400 Windows: digital signatures are required for resource dlls Windows 7 logo requirements state that all dlls including resource only dlls be digitally signed. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/698 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 7673b2450c9e7449d8165a0be5bbd8e0c063dfd2 Author: Jeffrey Altman Date: Wed Oct 14 22:06:38 2009 -0400 Windows: Adjust error return values Do not return STATUS_TIMEOUT to the smb redirector, doing so results in an undesireable disconnect. Map RXKADNOAUTH to STATUS_CLOCK_SKEW as that is the most frequent cause of rx level authorization failures. Map CM_ERROR_UNKNOWN to access denied since there is no better error choice. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/661 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 310cec9933d1ff3a74bcbe716dba5ade9cc28d15 Author: Daria Phoebe Brashear Date: Tue Sep 29 05:34:30 2009 -0400 rx window size increase window size was previously pushed to 64; push to 128. as this increases memory use, anything further should be arguably tied to rx-using-program's resource allocation preferences, e.g. fileserver -LL should be willing to up this Reviewed-on: http://gerrit.openafs.org/549 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b8e3de897a05ac07ea8cff5774d982ce6ad605b2 Author: Daria Phoebe Brashear Date: Tue Oct 20 15:03:09 2009 -0400 afscp warnings cleanup make the copy of afscp in src/tests compile with fewer warnings (and provide needed prototype for RXAFSCB_ExecuteRequest) Reviewed-on: http://gerrit.openafs.org/694 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit cc112e7a59d441d28a1d195cb48f23887df51929 Author: Jeffrey Altman Date: Tue Oct 20 16:16:47 2009 -0400 prevent rx peer timeout from reaching 0.0 seconds The rx peer timeout is computed from the round trip time calculation. It traditionally has had a lowerbound of 350ms. The computation in rxi_ComputeRoundTripTime() was incorrect and instead used 350ms as an upperbound. rxi_ComputeRoundTripTime() had a second problem wherein if the actually RTT is shorter than the resolution of the clock then the RTT would quickly approach 0.0 seconds. Enforce a lowerbound of 1ms if the RTT for a given packet appears to be 0.0 seconds. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/696 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e7e057346fa456cb27c54112a4dba311bcaf9aaf Author: Jeffrey Altman Date: Tue Oct 20 15:08:51 2009 -0400 Rx warning removal This patch set removes many but not all of the warnings in the rx library. - use AFS_PTR_FMT in dpf debugging output - fix many signed vs unsigned warnings - on Windows, the first parameter to select() is ignored. Passing an osi_socket produces an unnecessary warning. - In rx_SlowReadPacket and rx_SlowWritePacket, use 'r' the unsigned value for internal computation and 'resid' for holding the original value. This avoids many signed vs unsigned warnings. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/695 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c188acf396487be4b902549c215e3da5cda615ce Author: Jeffrey Altman Date: Tue Oct 20 12:32:22 2009 -0400 Windows: AFS_PTR_FMT is just 'p' The printf format specification for a pointer of any size is just 'p'. The 'I' is only to be used for [duox]. Reviewed-on: http://gerrit.openafs.org/690 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 840e4d2123e1e94adfc27ae0b286a11d472cf0fc Author: Andrew Deason Date: Sun Oct 18 22:48:56 2009 -0500 Avoid 'static __inline' on HPUX 'static __inline' functions on HPUX can segfault the /opt/ansic compiler (unless we lose debugging symbols). So, just use 'static' for those functions on HPUX. Also revert a9368a6c3dfe4435ec2ae63fff4a3325104ed9f7, so we get a static inline function on other platforms. Reviewed-on: http://gerrit.openafs.org/691 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit a26f10a01a39747cd275baa326adf8415c5648e4 Author: Simon Wilkinson Date: Tue Oct 20 13:38:08 2009 +0100 Remove pageoff macro The pageoff macro is now unused. Remove it. Reviewed-on: http://gerrit.openafs.org/689 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bd011aeee7f5dad5c61fd81a90b296c46a0b9058 Author: Jeffrey Altman Date: Mon Oct 19 18:43:44 2009 -0400 Add server prefix to bumon.xg; avoid rx_call * vs rx_connection * warning When compiling src/bubasics/bumon.ss.c a warning would be produced due to an rx_call* being passed into BC_Print which in its client form requires an rx_connection*. The server implementation and client stub each were called BC_Print because there was no server prefix specified in bumon.xg. Add prefix 'S' and update bucoord/server.c to match. Reviewed-on: http://gerrit.openafs.org/686 Reviewed-by: Simon Wilkinson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3eec9fa7700de5d20a5c7eec8fc02f87ead1f342 Author: Simon Wilkinson Date: Mon Oct 19 23:56:12 2009 +0100 Return both error codes for rxfs_fetchInit The FetchStore refactoring was causing the result from rx_EndCall to be discarded. This change will cause that to be returned to the caller if rx_Error() returns 0 Reviewed-on: http://gerrit.openafs.org/687 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6f2ce4cdc216ad5a3e8ed09a011a5f0681f098b4 Author: Simon Wilkinson Date: Fri Oct 16 16:39:24 2009 +0100 Always unlock pages when returning from writepage Writepage has a return path which returns an error with a locked page. However, all returns that are not AOP_WRITEPAGE_ACTIVATE must unlock their pages - using this codepath would leave a stray page lock, which would eventually hang the machine. The logic behind the -EIO return was also incorrect. In the Linux page cache model, truncates simply reduce the size recorded in the inode. If there are pages pending writeback then they may still have writepage() called upon them - it's up to the writepage routine to discard the write request (rather than returning an error) Reviewed-on: http://gerrit.openafs.org/685 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ebf6516db2f1105e5ca8172f6d64038c6acc60bd Author: Andrew Deason Date: Thu Oct 15 13:15:44 2009 -0500 Fix a couple more unlink()s in vol-salvage.c There are a couple more unlink() calls in vol-salvage.c that were using relative paths. Fix them to use absolute paths and to log a warning if the unlink() fails. Reviewed-on: http://gerrit.openafs.org/684 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 6b0e4039c65262e68481ff43bc0cce531c5b39eb Author: Asanka Herath Date: Mon Oct 19 17:12:32 2009 -0400 Windows: Add a token status icon to the NIM plug-in The Network Identity Manager plug-in for OpenAFS replaces afscreds.exe for token management. However, unlike afscreds.exe, the plug-in did not indicate the status of AFS tokens using an icon in the notification area. This patch adds a token status icon to the plug-in so that while the plug-in is used, a familiar padlock icon in the notification area will indicate the status of tokens as well as the OpenAFS service. There are four possible states indicated by the icons: - No tokens: indicated by a padlock with a bright red 'X' beside it. - At least one valid token: indicated by a normal padlock. - Service is not running: indicated by a grayed out padlock with a black square beside it. - Service error: indicated by a padlock broken in half. The 'Service error' state means that the OpenAFS client service is technically running (as reported by Windows), but is not responding to requests. In addition to the icon, hovering the mouse cursor over the icon will show details about the current state (such as the list of cells for which valid tokens exist) and the version of OpenAFS running on the machine. Reviewed-on: http://gerrit.openafs.org/683 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit edbef134b7ee2abbd8e2b9639991e5906f3b8fb0 Author: Claudio Bisegni Date: Mon Oct 19 17:34:09 2009 +0200 AFSPreference Pane Mounts View refresh issue Resolved the bug that prevented to show the link description after it was added. Now the table is refreshed at any operation(add/remove). Reviewed-on: http://gerrit.openafs.org/682 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e82f3b210e0e49fb9d9531565f634ed9d49426a5 Author: Claudio Bisegni Date: Sun Oct 18 20:39:21 2009 +0200 OpenAFS Preference Pane 64bit and Symbolic Link features implemented. Now the OpenAFS preference pane is compiled with 32 and 64 bit snowleopard support, so the preference windows is no more restarted in 32 bit mode. The tab for symbolic link creation has been implemented. Now the user can create and delete link. For create a link both name and destination path must be set. AFSBackgrounder has been updated to manager in a separate thread the link creation and destroy operation, according to the vaule of checkbox "Enable Symbolic Link" in "Mounts" tab. Reviewed-on: http://gerrit.openafs.org/677 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 67395a7b6a3c83d3f15fae75cf78db9f60730bbc Author: Andrew Deason Date: Sun Oct 18 21:05:58 2009 -0500 Prototype encode_krb5_enc_tkt_part for aklog Prototype encode_krb5_enc_tkt_part in aklog_main.c, since it is a private interface so we don't get a prototype from the krb5 headers. Reviewed-on: http://gerrit.openafs.org/680 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bb7f31bc3cd85557ddaf89e801572e0d933702af Author: Andrew Deason Date: Sun Oct 18 22:20:59 2009 -0500 Fix format warnings in tviced/state_analyzer.c state_analyzer.c assumes subtracting two char*s will result in an unsigned int, which can cause warnings. Lacking a portable format specifier, just use %ld and cast to long. Reviewed-on: http://gerrit.openafs.org/681 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9818e3dce9461f08f4aafbfd99be5a48ac098464 Author: Andrew Deason Date: Sun Oct 18 20:46:27 2009 -0500 Fix a couple of size_t warnings fsprobe/fsprobe.c and kauth/ka-forwarder.c were trying to print size_t's without using AFS_SIZET_FMT. Fix that. Reviewed-on: http://gerrit.openafs.org/678 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3dbee6f66d3932d1e2e9141220c0e9f6623a9b94 Author: Andrew Deason Date: Sun Oct 18 20:47:43 2009 -0500 Prototype ka_log Prototype ka_log in kauth/kalog.h to prevent warnings. While we're at it, only prototype kalog_log and kalog_Init when they actually get implemented. Reviewed-on: http://gerrit.openafs.org/679 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9bbe16d33097b387c5f855de0ca7ba4c67631e67 Author: Simon Wilkinson Date: Sun Oct 18 12:07:37 2009 +0100 Fix warnings in tviced Prototype hpr_Initialize and hpr_End to remove warnings in the tviced build. Reviewed-on: http://gerrit.openafs.org/675 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c9dc69afae4c359058f1f524a388f4cd059fdf10 Author: Andrew Deason Date: Fri Oct 16 14:30:34 2009 -0500 Log error messages in volser i/o errors Currently, in various places in src/volser/, we log/print an error message when some disk i/o error occurs, but we don't log what error was returned. Log that little bit more info to make debugging easier in some cases. Reviewed-on: http://gerrit.openafs.org/671 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c4f190ca605597fd31972192c65363117863e262 Author: Simon Wilkinson Date: Fri Oct 16 23:15:52 2009 +0100 More warning fixes for kauth Resolve more minor warnings from the kauth directory. *) kaux_read takes an unsigned for the number of failures *) The COUNT_REQ macro generates an unused variable (this_op) *) kas is missing some headers *) Add some more prototypes to kauth_internal.h *) Add the standard boilerplate to kauth_internal.h *) recvfrom takes a socklen_t * as its 6th argument This make kaprocs.c, kaauxdb.c, kas.c, klog.c, and ka-forwarder.c warning clean. Mark them as such. Reviewed-on: http://gerrit.openafs.org/673 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3064879c8d69ca9541c622e9f3f90e7c1e35c26c Author: Simon Wilkinson Date: Fri Oct 16 22:45:50 2009 +0100 Update warning management This change tidies up after the recent slew of warning reduction. It updates README.WARNINGS to reflect the current state of the tree, disables warnings for a couple of files that are now warning clean, and ensures that the libuafs and libafsrpc Makefiles match the state of the rest of the tree in terms of which warnings are enabled. Reviewed-on: http://gerrit.openafs.org/672 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7de8be52f5720f865fdfbf59772df1f2ab1bd8e5 Author: Simon Wilkinson Date: Sun Oct 18 12:44:56 2009 +0100 Use ranlib -c for Mac OS X Leopard Building with --enable-demand-attach-fs requires that ranlib -c be used on Leopard (it is already the default for Tiger) Reviewed-on: http://gerrit.openafs.org/676 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 20a5b58e23ceab1c6be60e173e631ee8fb6834a5 Author: Simon Wilkinson Date: Sat Oct 17 08:49:03 2009 +0100 afs_Conn must be called within the analyze loop afs_Analyze calls afs_PutConn, so each pass through the afs_Analyze loop must call afs_Conn to get a new connection handle. afs_CacheStoreVCache (part of the fetchstore refactoring) wasn't doing this, and so producing garbage data upon retries. Reviewed-on: http://gerrit.openafs.org/674 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f3d5b94f2e2dfcdb5c626a42b6be4f1e412f4a33 Author: Jeffrey Altman Date: Fri Oct 16 15:28:04 2009 -0400 Windows: Always compute time remaining in cm_Analyze In cm_Analyze, the time remaining for processing the request is used to determine if a retry should requested upon return. If the request's CM_REQ_NORETRY flag is set, cm_Analyze can still permit a retry if a new rx connection is to be forced. This cannot happen if the time remaining is not calculated when the CM_REQ_NORETRY flag is set. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/670 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2285341b5f009329d84f1ccdb6bcadcb6a507047 Author: Jeffrey Altman Date: Fri Oct 16 15:31:02 2009 -0400 Windows: mark volume status online during cm_MergeStatus During cm_MergeStatus, if the volume status is not vl_online mark it vl_online. The volume must be online because an AFSFetchStatus was just processed. This change reduces the amount of work that must be performed by the daemon thread's volume status check. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/669 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 3abc87a5a94f0d5eaca702c7bd66fbe35ce7b896 Author: Marc Dionne Date: Thu Oct 8 21:53:03 2009 -0400 Linux: kmem_cache_create fix and cleanup Fix the kmem_cache constructor function to match the current expected prototype, and cleanup related code. This has been wrong for a while, but since we were just passing extra parameters the only effect was to generate a warning. - Add a new configure test to detect the new constructor function signature - Define the older versions of the constructor in osi_compat.h, making them call the current version - Move a few compatibility #defines to osi_compat.h Reviewed-on: http://gerrit.openafs.org/657 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 508bcd69b5ad55bcadf26d9b748f175c7a33ce77 Author: Andrew Deason Date: Thu Oct 15 13:48:08 2009 -0400 Fix rxgen-generated warnings Prevent rxgen from generating code that produces warnings at compile time. * Add print_ifarg_with_cast(). Used within print_ifstat() to generate a member in an argument list complete with a type cast. The type cast may be a pointer to the type or the type depending on the value of the 'ptr_to' parameter. * When print_ifstat() generates the output for an opaque vector, cast the object to 'caddr_t' as xdr_opaque() accepts an argument of type 'caddr_t'. * When print_ifstat() generates the output for an opaque array, cast the object to 'char **' because xdr_bytes() accepts an argument of type 'char **'. * When print_ifstat() generates the output for any array that is not opaque or string, cast the object to 'caddr_t' because all of the xdr_XXX() functions other than xdr_opaque and xdr_bytes accept an argument of type 'caddr_t'. * When print_ifstat() generates the output for an alias, cast the output to a pointer to the specified type because xdr_ accepts an argument of type ' *'. This addresses warnings generated when compiling fsint/Kvice.xdr.c and fsint/afsint.xdr.c. Reviewed-on: http://gerrit.openafs.org/664 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fe68604f113773c1ffcb6d83d4a2febc3e0e3ed8 Author: Daria Phoebe Brashear Date: Fri Oct 16 10:44:58 2009 -0400 exit less start cleanup of calls to exit scatter into library code. ugen_ callers handle error returns correctly; rmtsys already deals with errors; and rx_pthread can already deal with errors in the case that's fixed Reviewed-on: http://gerrit.openafs.org/667 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 50313a72a99ab312a796108d807aef0f6b4d2ca9 Author: Daria Phoebe Brashear Date: Thu Oct 15 19:21:54 2009 -0400 snowleopard 64 bit warning death make all errors from warnings when compiling on snowleopard die as a note, the ukernel pid, and pthread self as id changes, probably should be revisited, but for now i have changed nothing. it should be a separate change. Reviewed-on: http://gerrit.openafs.org/666 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 58628eb745acdf4b1b7e9f5ab828e4ca0fa18b81 Author: Andrew Deason Date: Sun Oct 11 21:55:05 2009 -0500 Detect and use %zu for size_t when available Commit db949b7fade69d7eb1e38ad85d5b822c443306cb was incorrect and generated warnings on many platforms; we cannot determine the correct format string for a size_t at compile-time. Instead use the %z length modifier when we can detect that it is safe to use. Otherwise, fall back to just %lu on Unix, since it is reasonable to assume sizeof(size_t) == sizeof(unsigned long) on Unix. Reviewed-on: http://gerrit.openafs.org/647 Reviewed-by: Russ Allbery Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1fa650cee2d6cc708ee29a963ad3498a808bbde8 Author: Andrew Deason Date: Wed Oct 14 22:43:27 2009 -0500 Fix unitialized variable warning in cfghost.c Initialize cellentry. It does not appear to be possible to actually hit code that references an uninitialized cellentry, but the compiler can still complain. Reviewed-on: http://gerrit.openafs.org/665 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 862390a987f5ef4438079e7d1e961c7ddafb94ac Author: Jeffrey Altman Date: Tue Oct 13 23:36:26 2009 -0400 Windows: AFSVolSync creationDate based readonly volume versioning Implement readonly volume versioning based upon the .readonly volume creation date as reported in the AFSVolSync output parameter of every RXAFS RPC. Whenever a new callback is obtained for an object stored within a .readonly volume, the volume creation date is recorded in the cm_volume object along with the callback expiration time and a reference to the server that issued it. These values are used to determine if a callback is present when the cm_scache object's volume creation date matches the cm_volume object's volume creation date. If there is no match, the cm_scache object's individual callback information is used to determine whether a callback has been registered. This mechansism ensures that the whole-volume callback issued in response to a RXAFS_FetchStatus request against a .readonly volume can be applied to all objects that are cached from the same version of the .readonly volume instance. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/654 Tested-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Alistair Ferguson Reviewed-by: Jeffrey Altman commit 0468b18058332a21c52dd336eaea9768de271208 Author: Jeffrey Altman Date: Wed Oct 14 22:33:11 2009 -0400 Windows does not provide sys/wait.h sys/wait.h was added to butm/file_tm.c by patch set 789580d13591ff1aa53cfbf5fef4d46b0b65c805 (gerrit 635) Reviewed-on: http://gerrit.openafs.org/662 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 25882899879531d7bea20ab2d8c1e3dea0a7975b Author: Simon Wilkinson Date: Sat Oct 10 00:30:01 2009 +0100 Fix checked builds with gcc4.2 Recent change sets removed the 'ignore-all-warnings' mode from a number of files, in favour of using the implicit-function-declaration pragma. Sadly, that pragma isn't available in gcc 4.2. Revert the Makefile changes such that ignore all warnings is turned back on for the affected files, and note this in README.WARNINGS Reviewed-on: http://gerrit.openafs.org/639 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 41baf5c58fabc62145731be1d6c99c833c8ee003 Author: Daria Phoebe Brashear Date: Wed Oct 7 09:21:53 2009 -0400 add SRV record lookups to unix afsconf support suite also create new api call afsconf_LookupServer make afsconf_GetAfsdbInfo call it include T_SRV support Reviewed-on: http://gerrit.openafs.org/594 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 34c71e6b11e4e7fae40fa64a998a564feaa4a4b0 Author: Simon Wilkinson Date: Wed Oct 14 22:27:34 2009 +0100 Add fsint dependency to audit builds The 'audit' target requires that fsint is built first. Express this as a make dependency. Reviewed-on: http://gerrit.openafs.org/660 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 94ceae1220538dec8ba3400b1368b599fe28197d Author: Jeffrey Altman Date: Mon Oct 12 21:57:52 2009 -0400 Windows: refactor afs status cloning and clone when fs fetchdata bug detected When the file server fetchdata invalid length bug is detected the cache manager must fake the AFS Status info for the file as well as the AFSVolSync info. Otherwise, the merge status is incorrect. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/651 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit a394d74e4462a2a3e006ca161f22e35a9f44a77c Author: Jeffrey Altman Date: Wed Oct 14 09:26:27 2009 -0400 Revert "Windows: Readonly Volume Versioning for Windows Cache Manager" This reverts commit bb6e38a45b8b5061cd4c9613262fa015957fb8d8. Reviewed-on: http://gerrit.openafs.org/659 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5a403db74efc732c3695fb60d4baa652656151a5 Author: Jeffrey Altman Date: Tue Oct 13 22:35:55 2009 -0400 Windows: fix build due to broken src/volser/NTMakefile Commit 82aa5b4e09ac8a550525efd0e357783a3b3aed88 incorrectly updated the src/volser/NTMakefile resulting in a broken build system. Reviewed-on: http://gerrit.openafs.org/658 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 958f54766452d3468e849570114fe1ff685bb0cc Author: Marc Dionne Date: Tue Oct 13 21:52:47 2009 -0400 Linux: Remove declaration of unused variable filp filp is unused after the recent rework of osi_file.c Reviewed-on: http://gerrit.openafs.org/656 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 789580d13591ff1aa53cfbf5fef4d46b0b65c805 Author: Andrew Deason Date: Fri Oct 9 10:17:43 2009 -0500 Fix warnings in butc, tbutc, and butm tbutc: - Ignore warnings for dump.c butc/dump.c: - butm_WriteFileData takes a char*, no need to cast buffer - volumeHeader_hton takes a struct volumeHeader*, though, need to cast buffer there - Ignore strict prototypes butc/recoverDb.c: - scanVolData takes a uint*, not an int* - Initialize nbytes to 0 - Remove warning inhibition butc/tcmain.c: - atocl takes an int*, not a uint* - Ignore implicit function declaration warnings butc/tcudbprocs.c: - Ignore implicit function declaration warnings (ubik stuff) butm/file_tm.c: - Include sys/wait.h for the waitpid() prototype Reviewed-on: http://gerrit.openafs.org/635 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 664e5aca1692b664cfacd906bd4e632baedf4a4b Author: Jeffrey Altman Date: Mon Oct 12 14:20:00 2009 -0400 Windows: If SecurityLevel is configured use it for vos.exe and pts.exe If the SecurityLevel registry value indicates that crypt should be the default, then always set -encrypt for vos.exe and pts.exe. Reviewed-on: http://gerrit.openafs.org/648 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 78d8b8c5c19b8d6873b2d62beaa60cc7acba1840 Author: Andrew Deason Date: Thu Sep 24 12:02:55 2009 -0500 Use f_bsize for ZFS afs_fsfragsize On ZFS, the disk space files can use up can be rounded up to the next recordsize boundary if they've been truncated. This can cause the Unix CM to mis-estimate cache usage, since it truncates files fairly often, and assumes the disk space used is the file length rounded up to the next f_frsize. Since the ZFS recordsize is available via the statvfs f_bsize, just round up to that instead. There is still some additional file metadata that takes up some additional space on disk, but according to ZFS people I've spoken to about this, it cannot be known in advance. In practice, the additional metadata storage doesn't appear to exceed about 10% of the data storage, which should be acceptable. FIXES 125365 Reviewed-on: http://gerrit.openafs.org/650 Reviewed-by: Derrick Brashear Tested-by: Andrew Deason commit 82aa5b4e09ac8a550525efd0e357783a3b3aed88 Author: Simon Wilkinson Date: Fri Oct 9 21:17:16 2009 +0100 Add public protoypes for volser Add a new public header file volser_prototypes.h, which contains prototypes for those volser functions that are used by the rest of the tree, and link it into the Unix and Windows build systems. Rename the current volser_prototypes.h volser_internal.h, and update references to it. Make those places that should use the new public header use it, and re-enable warnings-as-errors as appropriate. Remove the warning free files from the list in README.WARNINGS Add butm_prototypes.h to butc/lwps.c, so we can enable warnings for that, too. Reviewed-on: http://gerrit.openafs.org/636 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bd725692787534c5fb0d209b69be1de01c3cdf2 Author: Andrew Deason Date: Mon Oct 12 13:26:57 2009 -0500 Formatting typos in pts.pod Fix a couple of B<...> sequences pod2man yells at us about. Reviewed-on: http://gerrit.openafs.org/649 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 633047c378b58b4bcd7e9dac046224955e868ea9 Author: Simon Wilkinson Date: Fri Oct 9 21:21:23 2009 +0100 Add afsio to gitignore Add the new afsio binary to the appropriate .gitignore file Reviewed-on: http://gerrit.openafs.org/637 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit bb6e38a45b8b5061cd4c9613262fa015957fb8d8 Author: Jeffrey Altman Date: Mon Oct 5 14:00:50 2009 -0400 Windows: Readonly Volume Versioning for Windows Cache Manager When the HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters "ReadOnlyVolumeVersioning" DWORD registry value is non-zero, the volserver will be queried for each .readonly volume to obtain the lastUpdateTime. The lastUpdateTime will be used as a volume version identifier for each cm_scache_t object stored in the volume. With a known volume version, whenever a current status is obtained for any object within the .readonly volume, all the cached objects within that volume that have the same volume version can share the resulting callback registration. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/579 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit e026fcb2f03d792c80a81d99435a4ecdebba8fc9 Author: Jeffrey Altman Date: Sun Oct 11 18:06:25 2009 -0400 Windows Explorer Shell Extension: Remove OutputDebugString calls Remove all OutputDebugString calls from the explorer shell extension. OutputDebugString() requires acquiring system global locks. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/643 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 93fb21a8d090cea1ce25d0394bff921c44096575 Author: Jeffrey Altman Date: Mon Oct 12 08:28:54 2009 -0400 Windows: Correct lock error codes and log file server lockCount The error codes that should be returned when a lock request fails are: STATUS_LOCK_NOT_GRANTED for an explicit lock request STATUS_SHARING_VIOLATION when a CreateFile fails due to a previous lock Correct the service to ensure that these values are in fact returned. Also, add 'fsLockCount' field to cm_scache_t and dump its value as part of the "fs memdump" output. This permits some ability to identify what the file server thinks the lock count is. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/646 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 917a860e818d5cdda82add0d4d50b594820816f2 Author: Jeffrey Altman Date: Mon Oct 5 14:34:59 2009 -0400 Improve accuracy of Rx RTT calculation by skipping retransmitted packets Rx RTT calculations are based on Van Jacobson's work using constants that make computations fast but are not necessarily the best for modeling Rx protocol exchanges. This patch does not alter the constants but does improve the comments to show that the math is correct. Phil Karn in 1987 demonstrated that Van Jacobson's algorithms produced inaccurate results when the RTT computed from an acknowledgement of a retransmitted packet were included. The resulting RTT would either be too small causing the system to retransmit too many packets or too long resulting in too few being sent. This patch follows Phil Karn's advice which was also adopted as mandatory for TCP in RFC2988. Retransmitted packets and delayed acks are skipped and the retransmit time is backed off (up to a maximum of 3 seconds) until a successful acknowlegement is received for an initially transmitted packet. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/580 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 76ae0f51892a703d7bd4aea5fdcf60c586e4a440 Author: matt@linuxbox.com Date: Sat Oct 10 09:09:53 2009 -0400 Use AFS_PROC consistently Make consistent use of AFS_PROC in portable and mixed files, adding the define for platforms which lacked it. This completes a change that has been ongoing for several years. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/642 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit d705e26eac5c4327ef1499cd59228e123f03971f Author: Simon Wilkinson Date: Sat Oct 10 00:46:08 2009 +0100 Revert "Linux: kmem_cache_create fix and cleanup" This reverts commit 6133d25397b8365d450c99b8bc147972f8600074. This patch breaks builds on RHEL5.3 - revert it until we can come up with a fix. Reviewed-on: http://gerrit.openafs.org/640 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dc94d7da5f6767d0de4e11e8b41408394092a48b Author: Jeffrey Altman Date: Thu Oct 8 08:59:15 2009 -0400 Windows: use port when finding server by address Modify cm_FindServerByIP to search by port as well. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/607 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 8788462b65eca3e4b25f0e5bda44eac43a135d79 Author: Jeffrey Altman Date: Fri Oct 9 06:23:10 2009 -0400 Windows: Prevent fs fetchdata offset bug error from propagating to caller When the file server fetchdata offset bug is triggered and detected, not only do we have to behave as if 'length_found' is zero, but we also must ignore the RXGEN_CC_UNMARSHAL error that will be returned from rx_EndCall() due to the parsing error that occurred during the rx_Read32() call. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/634 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 6133d25397b8365d450c99b8bc147972f8600074 Author: Marc Dionne Date: Thu Oct 8 21:53:03 2009 -0400 Linux: kmem_cache_create fix and cleanup Fix the kmem_cache constructor function to match the current expected prototype, and cleanup related code. This has been wrong for a while, but since we were just passing extra parameters the only effect was to generate a warning. - Add a new configure test to detect the new constructor function signature - Define the older versions of the constructor in osi_compat.h, making them call the current version - Move a few compatibility #defines to osi_compat.h - Clean up the call to kmem_cache_create by introducing an inline afs_kmem_cache_create in osi_compat.h Reviewed-on: http://gerrit.openafs.org/621 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6d59a0fcd04b7eaa917a84b98c7a932734e69b91 Author: Andrew Deason Date: Thu Oct 8 17:50:06 2009 -0500 Fix warning in vol/namei_ops.c Commit 906403c6d770026fd9da606ea468e47ee911f896 introduced a warning by making 'error' unused anywhere. Remove the declaration, as well. Reviewed-on: http://gerrit.openafs.org/620 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 94eae9ed26c9de6d30f2abf3b856412503359270 Author: Davor Ocelic Date: Thu Oct 8 23:03:06 2009 +0200 Update README with solved/pending docs tasks Reviewed-on: http://gerrit.openafs.org/618 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 04fa499ac9285f51fdbc2ff724c2a1bd7f0e5d58 Author: Davor Ocelic Date: Thu Oct 8 23:01:39 2009 +0200 Update backup suite manpages -- Add missing POD links (L<>) -- Verify all subcommands and options -- Format > 80 columns synopsis lines Reviewed-on: http://gerrit.openafs.org/617 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a6e15c992e0d1d4a6934917acacc864160846eb0 Author: Davor Ocelic Date: Thu Oct 8 22:58:31 2009 +0200 Update fstrace suite manpages -- Add missing POD links (L<>) -- Verify all subcommands and options -- Format > 80 columns synopsis lines Reviewed-on: http://gerrit.openafs.org/616 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 923721f8396178902a001887497566b8a8d2efa4 Author: Davor Ocelic Date: Thu Oct 8 22:57:03 2009 +0200 Minimal left docs updates for vos suite Reviewed-on: http://gerrit.openafs.org/615 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit eb46f02e560653d8fa72b7ef453b87c8f1986575 Author: Andrew Deason Date: Thu Oct 8 13:15:00 2009 -0500 Typo in vos_remsite.pod A typo in c717fcd32cabbc9651b81ef3d0cea11d3a6ecd57 removed the = before the first head1 in vos_remsite.pod. Put it back. Reviewed-on: http://gerrit.openafs.org/612 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 065d9a65ba90505b6a1a2ad58b7e208028a17ced Author: Davor Ocelic Date: Thu Oct 8 19:32:36 2009 +0200 Add POD links (L<>) in pts.pod and symlink.pod Reviewed-on: http://gerrit.openafs.org/610 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c717fcd32cabbc9651b81ef3d0cea11d3a6ecd57 Author: Davor Ocelic Date: Thu Oct 8 19:31:00 2009 +0200 Update vos suite manpages Larger collection of all vos suite commands, including but not limited to: -- documented all commands / options, verified against both 1.4 and 1.5 tree (including the common -encrypt/-noresolve options) -- correct order, POD formatting and synopsis for all commands' options -- shorthand synopsis provided for all commands that missed it, with proper non-ambiguous command abbreviations of all options -- POD synopsis formatted to 80-columns in commands where it was running over -- for newer options, documented which OpenAFS version they became available -- proper manpage links using L<> in vos.pod Reviewed-on: http://gerrit.openafs.org/609 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit dde6f7d84087ad7a99bc7694f58521d6947c0665 Author: Davor Ocelic Date: Thu Oct 8 19:20:33 2009 +0200 Allow check-pod to work on specific files or dirs Reviewed-on: http://gerrit.openafs.org/608 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f387806bd43e9fa357b48a5c9381d1434a311f2e Author: Davor Ocelic Date: Thu Oct 8 19:33:26 2009 +0200 Update readme with solved and pending tasks Reviewed-on: http://gerrit.openafs.org/611 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8314001bdb305204467adfb27b3dfa2e6890a3b1 Author: Andrew Deason Date: Wed Oct 7 15:57:04 2009 -0500 Reduce warnings in vos.c Squash a few miscellaneous that appear when building vos.c: -- CreateVolume should use util_GetUInt32 to parse vol ids, since they are now unsigned -- The m_uuid argument of print_addrs is altered, so do not declare it const -- Declare the confDir argument of ugen/vsu_ClientInit to be const, since it does not change, and vos.c passes a const confDir in MyBeforeProc -- Ignore implicit function declaration warnings and remove CFLAGS_NOERROR from the vos.c build, since the only remaining warning is an implicit function declaration Reviewed-on: http://gerrit.openafs.org/602 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c8482d0fb97b3cfe0445c14a605af8c2d00fb50d Author: Andrew Deason Date: Wed Oct 7 17:33:02 2009 -0500 Fix warnings in rxkad Some miscellaneous warnings throughout rxkad: rxkad/ticket5.c: - Explicitly cast ticket blob to unsigned char*, as some functions take a ticket as a char*, and some take it as an unsigned char* - in tkt_DecodeTicket5, make 'start' and 'end' be unsigned, since that is what their callers think they are - Ignore implicit function declaration warnings (for CRC functons) - Remove general warning inhibition rxkad/ticket.c: - in tkt_DecodeTicket, make 'start' and 'end' be unsigned, since that is what their callers think they are - Remove general warning inhibition rxkad/v5der.c: - In decode_enumerated, use der_get_unsigned instead of der_get_int, since we're decoding an unsigned integer. rxkad/rxkad_server.c: - The last two arguments to rxkad_DeriveXORInfo are char*s, so explicitly cast them to be so - Remove general warning inhibition rxkad/rxkad_common.c: - rxkad_stats_t has had a couple of spares transform into clientObjects/serverObjects; account for them and don't overrun the spares array Reviewed-on: http://gerrit.openafs.org/600 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 549002c906795f978eebf81c706995116a04a8ff Author: Andrew Deason Date: Wed Oct 7 16:42:42 2009 -0500 Remove warnings related to type-punning cmd/cmd.c: - Just make dummy be a struct cmd_item instead of casting rxdebug/rxdebug.c: - Access the stats packet through a union instead of casting and dereferencing util/uuid.c: - Access the seed through a union and an array instead of that incrementing-pointer approach Reviewed-on: http://gerrit.openafs.org/599 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7197d35ef181bdbbe813ec7fd9c7e5173b801bdb Author: Jeffrey Altman Date: Thu Oct 8 08:35:09 2009 -0400 Windows: use xdr_alloc to allocate memory for Callback data structs xdr_alloc must be used instead of malloc in SRXAFSCB_GetLocalCell and SRXAFSCB_GetCacheConfig LICENSE MIT Reviewed-on: http://gerrit.openafs.org/606 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 7f7b4c9aad5deb5be62825ed6b88ca17093c0da6 Author: Marc Dionne Date: Thu Oct 8 08:12:28 2009 -0400 authclient.c: fix 64-bit specific warnings Commit 36be36e034141ded8fff5ff2edab3223b23c9fcf introduced some casts from an integer type to void *. This generates warnings on a 64-bit platform. Use uintptr_t casts to make the compiler happy. Reviewed-on: http://gerrit.openafs.org/605 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3ea144bde535f405f1cef101daa461e0bbbf0fc5 Author: Jeffrey Altman Date: Thu Oct 8 07:25:24 2009 -0400 Add missing variable to afsio Callback variable missing in WriteFile LICENSE BSD Reviewed-on: http://gerrit.openafs.org/604 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Hartmut Reuter Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e249aace420e20996fef8ace2b5051d5bbdcd809 Author: Jeffrey Altman Date: Tue Oct 6 14:46:09 2009 -0400 Permit DNS SRV record lookups to be used by the Windows afsconf_GetAfsdbInfo Permit DNS SRV record lookups to be used by the Windows afsconf_GetAfsdbInfo As per the published DNS SRV internet draft for the AFS3 protocol, DNS SRV records are to replace AFSDB records as the primary method of looking up AFS3 service location information. In order to make that happen for Windows: 1. afsconf_GetAfsdbInfo must be able to translate from internal service names to IANA assigned service names. 2. The Windows getAFSServer() API must accept IANA service and protocol parameters as well as the port number to use if AFSDB record fallback is required. 3. The Windows cache manager must pay attention to the port number stored within the sockaddr_in structure instead of using hard coded values based upon the server type. For afsconf_GetAfsdbInfo, in addition to searching for the requested IANA service, if that service is prserver or kaserver fallback to the vlserver record (if any). LICENSE MIT Reviewed-on: http://gerrit.openafs.org/593 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 38ffa111190548f2648f15dd7f1d3469c7f96e08 Author: Andrew Deason Date: Wed Oct 7 17:14:08 2009 -0500 xdrproc_t functions take a caddr_t, not caddr_t* Callers of xdrproc_t functions give the function a foo* as the second argument, not a foo**, and the xdrproc_t functions themselves expect this. Make the xdrproc_t typedef accurately reflect that, thereby ridding us of some warnings. Reviewed-on: http://gerrit.openafs.org/603 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 1d8118d3da8251ecbb18743fbaff6ebd3330f484 Author: Andrew Deason Date: Wed Oct 7 16:39:18 2009 -0500 Ignore libafsrpc warnings for shlibafsrpc also Some warnings were ignored in libafsrpc, but not in shlibafsrpc. Ignore them in both places. Reviewed-on: http://gerrit.openafs.org/601 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8ef41263cfaff03cd5c33a0278d327596c68b730 Author: Andrew Deason Date: Wed Oct 7 17:07:52 2009 -0500 Fix warnings in lwp/process.c -- The EP/ep function does not return anything; declare the function pointer accordingly -- Explicitly cast &stackvar to char* to avoid a warning Reviewed-on: http://gerrit.openafs.org/598 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 36be36e034141ded8fff5ff2edab3223b23c9fcf Author: Andrew Deason Date: Wed Oct 7 17:48:52 2009 -0500 Fix warnings in kauth/authclient.c -- In ka_Authenticate, explicitly cast 'start' and 'end' to void*, since kawrap_ubik_Call takes all arguments as void*s -- Fix kawrap_ubik_Call to not be an old-style declaration -- Only ignore strict prototypes and implicit function declaration warnings Reviewed-on: http://gerrit.openafs.org/597 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f512597b0ad288081930c1e578f76a3d417aab23 Author: Andrew Deason Date: Wed Oct 7 17:16:30 2009 -0500 Remove a pointer->integer warning in fstrace.c Explicitly cast eparm to a long in afs_syscall when calling proc_afs_syscall, to avoid a warning. Reviewed-on: http://gerrit.openafs.org/596 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 72c2473724e1b0a8cdc4a9e3e7639d80e5ec1086 Author: Andrew Deason Date: Wed Oct 7 17:19:22 2009 -0500 Prototype strcasestr in afsmonitor.c If we HAVE_STRCASESTR, we lack the prototype for strcasestr in afsmonitor.c unless we def _GNU_SOURCE before including string.h on GNU systems. To avoid side-effects or pulling in extra stuff, just prototype strcasestr ourselves for the time being (if we have it) instead of def'ing _GNU_SOURCE. Reviewed-on: http://gerrit.openafs.org/595 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit db949b7fade69d7eb1e38ad85d5b822c443306cb Author: Andrew Deason Date: Wed Oct 7 14:52:02 2009 -0500 Correct and use AFS_SIZET_FMT On *nix, a size_t needs either %lu or %u to be interpolated in a string, depending on if we're on an ILP32 arch or not. Define AFS_SIZET_FMT accordingly, and actually use AFS_SIZET_FMT when we try to print a size_t. This removes numerous -Wformat warnings, at least when building on i386_linux26. Reviewed-on: http://gerrit.openafs.org/592 Reviewed-by: Matt Benjamin Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6ef4627412ed554f3a3c0d7c2e1b9132b3a624d0 Author: Michael Meffie Date: Sat Jul 25 15:28:07 2009 -0400 Allow gnu-style long options New users are surprised when OpenAFS command options cannot be prefixed with two dashes, as is common with most modern tools. Permit an extra dash for common commands when more than one character is given. For example vos listvol --server foo.bar.com is equivalent to vos listvol -server foo.bar.com, but vos listvol --s foo.bar.com is an error. Reviewed-on: http://gerrit.openafs.org/216 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1793f454e4bb4f0eb5cbe9009ddb6bd48cc1cfd3 Author: Hartmut Reuter Date: Wed Oct 7 15:26:42 2009 +0200 pioctl with VIOC_FS_CMD removed This should ease the ingtegration for Windows. Instead RXAFS_FetchStatus is called. Reviewed-on: http://gerrit.openafs.org/590 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 811418887df505b9012a96802aa3dc3281b302e7 Author: Jeffrey Altman Date: Tue Oct 6 11:03:27 2009 -0400 Build afsio on Windows; remove many warnings With this commit afsio builds on Windows. It will not work until the VIOC_FS_CMD OSD extension is implemented in the Windows Cache Manager. Required changes: * Export ugen_ClientInit from libafsauthent.dll * Fix util_GetInt64 and util_GetUInt64 to return afs_int32 instead of afs_int64 since it is just returning success or error * Define VIOC_FS_CMD for Windows even though it isn't implemented LICENSE BSD Reviewed-on: http://gerrit.openafs.org/587 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 906403c6d770026fd9da606ea468e47ee911f896 Author: Andrew Deason Date: Wed Oct 7 12:14:11 2009 -0500 Make namei convertROtoRW'd volumes usable Right now, if you convertROtoRW a volume on namei, the converted volume appears to need a salvage before it is usable, and the header of the old (now empty) RO volume is kept around. Fix this: -- Set inUse = 0 on the converted volume, so the fileserver will be able to attach the volume when we give it back -- Unlink the RO header file, instead of trying to unlink the VI_VOLINFO file twice -- Log the actual error code (errno) in the error message for the last unlink Reviewed-on: http://gerrit.openafs.org/591 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e3d1eaf0ca6bfddede5aba1d1fc3f1e25cdb259e Author: Simon Wilkinson Date: Fri Oct 2 23:15:26 2009 +0100 Use page_offset() on Linux Since time began, Linux has provided page_offset() to turn a page index into an offset into the corresponding file. Make us use this everywhere we calculate a page offset, rather than doing our own maths. Reviewed-on: http://gerrit.openafs.org/581 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5d7084fc5e5cfb47a36ea2d26a74b0b5bbd7724a Author: Jeffrey Altman Date: Tue Oct 6 09:33:45 2009 -0400 Windows: fs listacl -cmd Add the new functionality from the Unix fs command to Windows. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/585 Tested-by: Jeffrey Altman Reviewed-by: Hartmut Reuter Reviewed-by: Jeffrey Altman commit e74f81955568f68ed2d5166f5dea3f20706bf4f3 Author: Jeffrey Altman Date: Tue Oct 6 09:48:57 2009 -0400 documentation for "fs listacl -cmd" LICENSE BSD Reviewed-on: http://gerrit.openafs.org/586 Reviewed-by: Matt Benjamin Reviewed-by: Hartmut Reuter Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ea78369ab6e67dfc7d9fbc355efe333ec057a50d Author: Daria Phoebe Brashear Date: Mon Oct 5 12:45:26 2009 -0400 afs_FindService should handle iana portnames right now we compare against /etc/services, and a hardcoded array. but since there's no guarantee /etc/services will be useful, this can mean inconsistent behavior. hardcode the iana names in the table, and take the internal structure used private at the same time. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/577 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e5cf14ba043f29b8b81440e6c32cf6f1cc91851c Author: Hartmut Reuter Date: Tue Oct 6 09:10:45 2009 +0200 New option '-cmd' for 'fs listacl' prints 'fs setacl' commands necessary to create the current ACLs. This is useful for backup scripts using TSM (or others) to save the ACLs into a file to allow for later restore. Reviewed-on: http://gerrit.openafs.org/556 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f7d601eefa0b98dd54720a4639ed746039d2675c Author: Simon Wilkinson Date: Fri Oct 2 23:43:46 2009 +0100 Use standard Linux paths for all headers As we're being built by the standard Linux module build system, we can use the normal #include convention from including kernel headers. Reviewed-on: http://gerrit.openafs.org/582 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f8cf2a44ab2e896b3c22c9a9e39cc9ade839545e Author: Claudio Bisegni Date: Mon Oct 5 13:42:27 2009 +0200 OSX Launchd Startup Manage with Preference Pane OpenAFS preference pane has been updated to manage the new launchd startup mode. Has been delete the custom startup and shutdown file now is user the /Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.rc OpenAFS.postinstall has been modified to remove the old existing /Library/StartupItems/OpenAFS directory OpenAFS.pre_upgrade has been modified to shutdown daemon, if it is runnig, and remove the old preference pane to permit the one to be installed Reviewed-on: http://gerrit.openafs.org/578 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4e3d3d50496cc96799a84cf98873d6f68e9a8ca7 Author: Hartmut Reuter Date: Wed Sep 30 10:06:14 2009 +0200 afsio is a command to pipe data into or out of afs files afsio bypasses the cache manager to achieve higher throughput. However, it uses the cache manager to stat or create files over the AFS path. Besides 'apropos' and 'help' there are 3 subcommands: 'write' pipes data into a new or empty AFS file 'append' pipes data at the end of an existing AFS file 'read' pipes data out of an AFS file for 'write' there is an option '-md5' which calculates on the fly the md5 chscksum and prints it to stdout. (Useful when you create long time archives to keep it separately for later ...) for 'write' there is also an option '-synthesize ' to do just performance tests. It creates a file which contains at the begin of each 4 KB block the offset printed in ascii. for all subcommands exists a '-verbose' option which writes to stderr data rate and timing information. All three subcommands may also be used prefixed with 'fid' accepting then a Fid instead of an AFS path. With the 'fid' prefix also a '-cell' option is allowed. Reviewed-on: http://gerrit.openafs.org/555 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit db23268f682564000f2ac4f9f845d4fd261d4c90 Author: Marc Dionne Date: Thu Sep 17 16:57:52 2009 -0400 Linux: 2.6.32 - Adapt to writeback changes Adapt to the writeback changes in kernel 2.6.32 - Since we define our own backing_dev, it needs to be registered with the writeback code and attached to the super_block. Otherwise it might get ignored when writeback is needed. - Each backing_dev now gets its own kernel thread. The name of the thread is based on the registered name - the openafs one will appear as "flush-afs". Reviewed-on: http://gerrit.openafs.org/574 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit fa8766d220e37d5c11fc6ac72e3de40f5054cfff Author: Marc Dionne Date: Sun Oct 4 13:40:10 2009 -0400 rxfs_storePadd: return 0 on success On success, storePadd should return 0, not the number of bytes written by the last rx_Write call. In some cases this return value would leak all the way out to the close() system call, causing it to fail. Reviewed-on: http://gerrit.openafs.org/573 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6d9ad2e4d0c5e87a8d2d02834134ca68122b8e33 Author: Simon Wilkinson Date: Fri Oct 2 14:34:50 2009 +0100 Refactor linux readpage support The readpage call on Linux was becoming horribly complex. This patch refactors it into three main components - a function which fills a locked page (without unlocking it), a function which triggers a cache bypass operation on a page, and a function which does conditional prefetch, based on the properties of the page that was just read. In addition, we abstract out the cache bypass code further, and provide static inline variants which are simply stubbed out when cache bypass is disabled. Reviewed-on: http://gerrit.openafs.org/569 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3e164335affa617137ebf280fe4c82a51c99894e Author: Simon Wilkinson Date: Fri Oct 2 13:43:01 2009 +0100 Rationalise some #ifdefs in the LINUX osi layer Introduce osi_compat.h, a place to hide compatibility #ifdefs. Make a start on using this by purging #ifdefs from osi_vnodeops, and pushing changes into inline compatibility functions. The general idea here is to create a single location where we can do our multiple version compatibility magic, and by doing so reduce the complexity of the rest of the code. The approach is that where the kernel introduces a new interface, we should switch to using it in the rest of the code, and add a compatibility function (in osi_compat.h) which implements the new interface in terms of the old one, suitably protected by #ifdefs. Where an interface changes signature, but not name, we should implement an afs_ version of the function which has the signature of the newest version, and within that call out to the real kernel versions, mapping between the different parameters as appropriate. Reviewed-on: http://gerrit.openafs.org/568 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 109927bf6f54b58b76ac48ba41c2012c74937fed Author: Simon Wilkinson Date: Fri Oct 2 11:51:52 2009 +0100 Remove pre-Linux 2.6 support This change removes support for kernels before Linux 2.6.0 from src/afs/LINUX. Older kernels should be supported by the src/afs/LINUX24 code. Reviewed-on: http://gerrit.openafs.org/567 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b7cc8bf2850c5650a9e47416af8bd488f9be9161 Author: Daria Phoebe Brashear Date: Thu Oct 1 16:09:17 2009 -0400 create LINUX24 directory shadow src/afs/LINUX into .../LINUX24, removing 2.6 code from it same for rx/LINUX cheat and simply modify MKAFS_OSTYPE in MakefileProto.LINUX.in Reviewed-on: http://gerrit.openafs.org/565 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2ea379b9f9a1df59327fb2b05b8d9af3bf6615af Author: Simon Wilkinson Date: Fri Oct 2 18:36:24 2009 +0100 There can be only one ... MD5 The cache manager has two implementations of md5 - one in afs_md5.c (used by afs_NewCell) and one in afs_util.c - used by Linux's MD5-inode code. Remove the one in afs_util.c in favour of using the common implementation in afs_md5.c Reviewed-on: http://gerrit.openafs.org/572 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 69290ffe9488ea5d5b3c3b9ccc875d1a0bab393c Author: Daria Phoebe Brashear Date: Thu Oct 1 04:34:09 2009 -0400 launchdaemon support for MacOS the changes needed to switch from a StartupItem to a LaunchDaemon for the MacOS OpenAFS client Reviewed-on: http://gerrit.openafs.org/564 Tested-by: Claudio Bisegni Tested-by: Derrick Brashear Reviewed-by: Claudio Bisegni Reviewed-by: Derrick Brashear commit d192fec670e6c5fce8910b40322da22f95fa5010 Author: Simon Wilkinson Date: Thu Oct 1 21:27:11 2009 +0100 Remove page past end of file optimisations The kernel checks itself for read() calls which attempt to fetch pages past the current file extents. Remove ours. Reviewed-on: http://gerrit.openafs.org/566 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 031f5eb528c94c1ad13fb1485db5cd40bc2877c2 Author: Andrew Deason Date: Wed Sep 30 16:50:07 2009 -0500 DAFS: Wait until preattach to service FSSYNC reqs Make FSYNC_sync wait until VInit == 2 before serving FSSYNC requests. This follows the existing similar behavior of waiting until after volume preattachment is completed before serving RPC requests in DAFS. This prevents FSSYNC clients from being denied requests simply due to a volume not having been preattached yet, at the small cost of delaying how soon we can serve FSSYNC requests. This does not alter the behavior of non-DAFS, which still only waits until VInit == 1, since volume attachment takes significantly longer than preattachment. Reviewed-on: http://gerrit.openafs.org/563 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d88c03492d1ea9a7533298977d8d6bec5e91ebcd Author: Andrew Deason Date: Wed Sep 30 16:42:46 2009 -0500 DAFS: Avoid volserver segfault in GetVolInfo It is possible for GetVolObject to return success, but result in a NULL fs_tv. In particular, when the fileserver responds with FSYNC_WRONG_PART or FSYNC_UNKNOWN_VOLID. It is possible, though difficult, for the fileserver to respond with FSYNC_UNKNOWN_VOLID if the requested volume hasn't been preattached on the fileserver yet. So, in GetVolInfo, also check fs_tv, so we don't try to dereference it later. Reviewed-on: http://gerrit.openafs.org/562 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b5c4dbf861a0be675e5dbe775059e3bf7628f127 Author: Jeffrey Altman Date: Wed Sep 30 21:43:45 2009 +0200 Windows version 1.5.65 Reviewed-on: http://gerrit.openafs.org/560 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 1937eadfdad6e7616f6db97d802c3b8c5000f5d6 Author: Daria Phoebe Brashear Date: Wed Sep 30 17:28:36 2009 -0400 openafs 1.5.65 make openafs 1.5.65 for unix Reviewed-on: http://gerrit.openafs.org/561 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 75dbaa82cd54bdbfc99a8c66a9d7a7327041863b Author: Jeffrey Altman Date: Wed Sep 30 21:42:16 2009 +0200 Windows: change log for 1.5.65 LICENSE: MIT Reviewed-on: http://gerrit.openafs.org/559 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d5b40d99a9e8284c1ce8784a6b8fcc7fb7453532 Author: Simon Wilkinson Date: Wed Sep 30 11:44:51 2009 +0200 Add configure test for pagevec_lru_add_file pagevec_lru_add_file isn't available on all Linux kernels. Fallback to using pagevec_lru_add where necessary. Reviewed-on: http://gerrit.openafs.org/558 Tested-by: Marc Dionne Reviewed-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 2f270a3e9206344464f1414cb04895090d93590d Author: Tom Keiser Date: Tue Sep 29 10:25:55 2009 -0400 make VOL_STATE_VLRU_ADD exclusive VLRU_Add_r() places a volume into VOL_STATE_VLRU_ADD before calling VLRU_Wait_r(), which drops VOL_LOCK while waiting for the required VLRU queue to quiesce. Thus, it is essential that state VOL_STATE_VLRU_ADD be marked exclusive so that another thread cannot mutate state until the VLRU generation add transaction completes. Reviewed-on: http://gerrit.openafs.org/554 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 06520711cbbb731da57e34cf955e525140bef33a Author: Jeffrey Altman Date: Tue Sep 29 14:29:55 2009 +0200 Windows: short circuit background volume checks for shutdown If the service is shutting down or the machine is entering a suspend state, short circuit the background volume checks to permit faster shutdown. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/552 Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit af9c9d905a08f28dc672dda6e5a6b9437f1650a8 Author: Simon Wilkinson Date: Wed Jul 15 00:02:31 2009 +0100 Add support for background page copies LICENSE BSD This patch adds support for backgrounding the page copies which are caused by a call to readpages() In theory, this should improve the throughput of the AFS kernel module as it permits processes to start work whilst data is still being read into the page cache for later pages. Reviewed-on: http://gerrit.openafs.org/537 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f75d84c404761a03ebf24406db12bfaff4bc3e74 Author: Simon Wilkinson Date: Tue Jul 14 23:55:18 2009 +0100 Add support for blocking readahead This patchset adds support for the readpages() system call, and enables readahead on Linux. At the moment each page read causes readpages to block, so the client won't see much benefit from readahead, beyond the reduction in call overhead. Reviewed-on: http://gerrit.openafs.org/536 Reviewed-by: Matt Benjamin Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f5c55d23a2a745e848c6e013c8b42cf3292c4691 Author: Simon Wilkinson Date: Tue Sep 29 12:26:55 2009 +0200 Demand attach warning fixes Fix a whole host of warnings in the demand attach code. Make a broken tvolser build stop the build, rather than carrying on regardless. Reviewed-on: http://gerrit.openafs.org/551 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 36700b51b34bbab515e947ed60104ada5ba6f827 Author: Simon Wilkinson Date: Tue Sep 29 10:25:53 2009 +0200 Don't use volatile when it makes no sense The demand attach code defines volume pointers as volatile in a number of places, despite the fact that the values in question aren't being shared between multiple threads. It then also passes these volatile pointers into functions which don't treat them as volatile (and even to some which assign them to registers). This patch simply removes the use of volatile in this situation. Reviewed-on: http://gerrit.openafs.org/550 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ca8890245b44cc3abf311797ae62d2f0aaca5429 Author: Daria Phoebe Brashear Date: Tue Sep 29 10:26:23 2009 -0400 intptr fallout some kernels don't have e.g. uintptr_t; revert this hunk for now. also, autoconf as recent as what's in rhel5 has no macros. provide some. Reviewed-on: http://gerrit.openafs.org/553 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 88a037585d65e31e9d832bea89bb1cc1f107ab0f Author: Simon Wilkinson Date: Tue Jul 14 23:39:44 2009 +0100 Use readpage, not read for fastpath access Modify the fast path case so that it uses readpage(), rather than read() to access data in the cache. This removes a lot of the hidden, uncessary work that the kernel was doing behind the scenes, and takes advantage of the fact that we know a page read will always result in a page read against the backing cache. Reviewed-on: http://gerrit.openafs.org/535 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c4bffd7efbcf27f7a8c9c0f81c4b79d3251a5d3a Author: Daria Phoebe Brashear Date: Tue Sep 29 05:25:46 2009 -0400 irix compile fixes fix compilation for irix (and warning for solaris) for icreate as well as more stdint.h fixes Reviewed-on: http://gerrit.openafs.org/548 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e0bbecf2693c2a7e3ec06fbb9335254f841c8e71 Author: Jeffrey Altman Date: Mon Sep 28 16:58:25 2009 +0200 Windows: Trace log smb_FindFID errors To assist with debugging, add consistent trace log messages for smb operations that generate an error because smb_FindFID failed. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/545 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d9d3902894d1bde920feda7f5f1a798037b52cf8 Author: Claudio Bisegni Date: Tue Sep 29 09:57:52 2009 +0200 OS Preference pane clean for final version Has been removed from license file the reference to menucracker for hack NSMenuExtra, that is no more needed. Reviewed-on: http://gerrit.openafs.org/547 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 45e98a4455e1da7e79b70a4c42dccb07ab9102a6 Author: Jeffrey Altman Date: Mon Sep 28 16:22:31 2009 +0200 Windows: cm_GetBuffer does not need to contact file server when extended a file If cm_GetBuffer is being called in order to obtain a buffer to store data beyond the end of the existing file as known to the file server there is no reason to contact the file server. Instead use the cached status info in order to allocate a new buffer zero initialized. This logic avoids triggering the FetchData bug in all file servers older than 1.4.12 and 1.5.65 in which the file server returns a large negative number (filesize - requested_offset) when a FetchData is received where the requested_offset is larger than the filesize. It also avoids unnecessary work. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/542 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 50e98677ca5b62b3b82608c6da3e719956d3a03d Author: Jeffrey Altman Date: Mon Sep 28 16:52:45 2009 +0200 Windows: Directories do not have a default stream When enumerating streams for objects, do not offer a default stream for directory objects (including mount points). LICENSE MIT Reviewed-on: http://gerrit.openafs.org/544 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit fee0efedc12a90605f2c2e3e10d2492be5f42be3 Author: Andrew Deason Date: Mon Sep 28 10:14:23 2009 -0500 Formatting typo in vos_setfields manpage The POD formatting code for bold is B, not b. Reviewed-on: http://gerrit.openafs.org/546 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 158043416326d67708880ed801de53653d9453ad Author: Simon Wilkinson Date: Mon Sep 28 16:21:21 2009 +0200 Don't try to print the thread ID pthread_t is defined as being opaque - there's no way to portably print it on a way that makes sense on all platforms. Remove this output. Reviewed-on: http://gerrit.openafs.org/541 Reviewed-by: Tom Keiser Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 4f65bec3fc4d0c1157aa80323c8d7ecc8a53d3a1 Author: Simon Wilkinson Date: Mon Sep 28 16:50:20 2009 +0200 Fix warnings in new dumptag code 3f2dd80697959f5922032f4d4a7c9ef0cfadf35c contained a number of new warnings. This patch fixes them. It also adds the AFS_UNUSED_FUNCTION macro which can be used to portably mark functions as unused. Reviewed-on: http://gerrit.openafs.org/543 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6d628bbb7c188e5644e27b3657d824c1481034b6 Author: Simon Wilkinson Date: Sat Sep 26 17:44:06 2009 +0100 Squash more viced warnings Get rid of more warnings in viced - Cast fids that we pass into the Dir package to avoid type warnings - Add ()s to a && b || c, to clarify its meaning - (a && b ) || c - Don't use %ld to print ints - Prototype another function from the host package Reviewed-on: http://gerrit.openafs.org/539 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e287f72e4e4de82fd2ab5c4a4137aa58a5f45b55 Author: Daria Phoebe Brashear Date: Mon Sep 28 09:53:11 2009 -0400 irix UCRED is already a struct just like everywhere else. move the one last struct UCRED to UCRED like everywhere else Reviewed-on: http://gerrit.openafs.org/538 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 0ec76649b62919cff3244eb0a6390662f72d7950 Author: Simon Wilkinson Date: Tue Jul 14 23:33:16 2009 +0100 Minimise crref() and add a fastpath for cache hits Reduce the number of times we cref() unnecessarily, and add a fastpath at the beginning of readpage() to handle the cache hit case. Refactor the Linux implementation of afs_open to provide a directly callable version that bypasses the OSI layer. Add a non-blocking variant of ObtainReadLock() Reviewed-on: http://gerrit.openafs.org/534 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit be34175e0f089cbf8a90a0afc7362432be004e06 Author: Daria Phoebe Brashear Date: Mon Sep 28 09:21:59 2009 -0400 macos 10.6 warning fixes due to 32/64 and a newer compiler, macos 10.6 finds more warnings. these are fixes for some of them. Reviewed-on: http://gerrit.openafs.org/533 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f63a8662a7b05c60e85f5e525b58ccf476bc1753 Author: Daria Phoebe Brashear Date: Mon Sep 28 08:05:15 2009 -0400 kauth should use static_inline for irix et al "static inline" doesn't work on various still-supported systems. use the workaround macro Reviewed-on: http://gerrit.openafs.org/532 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit efe8258a924903e3c9d7b339349f83861d6be0d1 Author: Simon Wilkinson Date: Mon Sep 28 12:01:54 2009 +0200 Use configured compiler for libuafs on Darwin There's no need to hardcode 'cc' for libuafs builds on Darwin. Let the user specify the compiler to use, in the same way as for the rest of the tree. Reviewed-on: http://gerrit.openafs.org/531 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6d51ebd6c8d4d5d6ddc42b539be5814e7c468d9c Author: Simon Wilkinson Date: Mon Sep 28 12:07:58 2009 +0200 Add support for warning checked builds This patch adds a '--enable-checking' configuration option. When this option is supplied, and gcc is in use, the compiler will treat any warnings as errors. This will hopefully help stop new warnings from creeping into the tree. In order to still be able to build, all of the currently existing warnings are accepted (these are documented in README.WARNINGS). With this set of warning inhibitions, the tree is known to build on 32bit Leopard - other systems may vary. Warning inhibition may be disabled by supplying --enable-checking=all - in this case the tree will definitely not build! If --enabled-checking is not specified, the existing compilation behaviour is maintained, so there is no user-visible change. Gcc 4.2, or later, is required to use the pragma sets contained within this patch. Again, they are not visible unless --enable-checking is given. Reviewed-on: http://gerrit.openafs.org/526 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5afd2c34699c60ba247b1de8ec42efbed1c09e39 Author: Daria Phoebe Brashear Date: Mon Sep 28 07:54:02 2009 -0400 conditionalize stdint.h inclusion in lwp Irix has no stdint.h; wrap in ifdefs so we don't include when we don't have it. Reviewed-on: http://gerrit.openafs.org/530 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5d3400f4e103a7c4d7027cb809c8a109bf003316 Author: Daria Phoebe Brashear Date: Mon Sep 28 07:46:48 2009 -0400 afsmonitor warnings fix again, add missing format strings to *printf to eliminate warnings Reviewed-on: http://gerrit.openafs.org/529 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9ee76d8a8fe326c64a08aeb0e1785d009b9ffb36 Author: Daria Phoebe Brashear Date: Mon Sep 28 06:32:09 2009 -0400 kill cnvldb warnings previously we used fprintf without a format string in some cases. now we don't Reviewed-on: http://gerrit.openafs.org/528 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3f2dd80697959f5922032f4d4a7c9ef0cfadf35c Author: Hartmut Reuter Date: Fri Sep 11 12:29:45 2009 +0200 Implementation of new dump tag and length standard The implementation follows the specification from October 2007. All old tags are accecpted as before. New tags 0x06-0x60 (capital letters) are followed by a 1 byte length field which may contain directly the length (up to 127) or the length of the then following length field (max 8) ored with 0x80. New tags 0x61-0x77a are directly followed by 4 bytes building a 32bit integer. 0x7b-0xf are single-byte tags, 0x7e meaning next tag is critical. On this basis unknown tags can be skipped unless they were marked critical. In this case the restore is aborted. in dump.h tags following the new standard are marked by an asterisk Last update: added parameter types for HandleUnknownTag. Reviewed-on: http://gerrit.openafs.org/191 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9a82cdae42512dc6cd55dcc961eec6b1932e707f Author: Simon Wilkinson Date: Mon Sep 28 11:41:52 2009 +0200 Avoid redefinition errors for AFS_NONFSTRANS Some parts of the build provide -DAFS_NONFSTRANS on the command line. This causes an error when the 'param' file redefines it. Fix this by #undef ing the token before defining it. Reviewed-on: http://gerrit.openafs.org/510 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d7b00d5f19e7dfd7d8ee3d600d0184e4364fa7be Author: Marc Dionne Date: Fri Aug 28 17:03:44 2009 -0400 Use intptr_t and uintptr_t for integer/pointer conversions Use intptr_t and uintptr_t casts to appease the compiler when values are converted between 32-bit integers and pointers. This generates many warnings (currently ~170 on linux amd64) when pointers are 64-bit. These types are normally defined in stdint.h, and get defined by autoconf if that's not the case. In a few places, NULL is simply replaced with 0 where compared with an integer. Reviewed-on: http://gerrit.openafs.org/474 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01aa7055142936f73919c48468707ee90df73dbd Author: Simon Wilkinson Date: Mon Sep 28 10:43:24 2009 +0200 Make butc logging use va_args Change the logging functions in butc so that they use va_args. This means that we can prototype the logging functions, and kill a bunch more compiler warnings. Reviewed-on: http://gerrit.openafs.org/509 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit a53732ef5f425706abc1c5e511df23cecb2f6113 Author: Simon Wilkinson Date: Sat Sep 26 18:11:53 2009 +0100 Miscellaneous warning cleanup Assorted warning cleanup, that it didn't seem to make sense having one patch per file for. This patch - Adds some casting for syscall pointers - ANSIfies SRXAFSCB_GetDE in fsprobe - Loads sys/ioctl.h on some more platforms in usd - Includes some missing header files - Removes unused variables - Makes it clear that VIsSalvager does handle all enumerated types - Adds some more prototypes Reviewed-on: http://gerrit.openafs.org/508 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6dcf37d8109a31ec1b95438a70e485a66fede848 Author: Simon Wilkinson Date: Sat Sep 26 18:04:06 2009 +0100 Remove some more warnings from rx The mtu variable in InitPeerParams is in the wrong place. It's only required when the (never used) AFS_USERSPACE_IP_ADDR code is enabled. Move the variable to the appropriate location, and indent the if and endif directives in this section to try to make it clearer what the control flow is (my brain hurt) Remove the unused rx_pthread_n_event_wakeups variable ANSIfy rxi_syscall - we can't prototype it yet, sadly. Reviewed-on: http://gerrit.openafs.org/503 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9d42c45e6513ebfa405ecd1d5404f753a0b2045b Author: Simon Wilkinson Date: Sat Sep 26 22:12:11 2009 +0100 Warning fixes for afs_fetchstore The recent afs_fetchstore refactoring added a load of warnings. Remove them. Reviewed-on: http://gerrit.openafs.org/502 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4c1c92c0bdd2b62845187c19a5f5821fe08cf47b Author: Simon Wilkinson Date: Sat Sep 26 17:34:48 2009 +0100 Fix signed/unsigned warnings in XDR Our xdr routines use the same native functions to read signed, and unsigned integers from the wire. This leads to compiler warnings when the unsigned versions of these functions are called. This patch always casts to (afs_int32 *) when calling PUT_INT32 and GET_INT32, to resolve these warnings Reviewed-on: http://gerrit.openafs.org/507 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 4bbc4a5a1dc3c07ac130e9afdfab03ac5a245a16 Author: Simon Wilkinson Date: Sat Sep 26 17:50:04 2009 +0100 Tidy up unlog Remove warnings from the unlog code - Prototype internal functions, and make them static - Define variables appropriately - Remove uneccesary local function defintions Reviewed-on: http://gerrit.openafs.org/505 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ace95ffa63f718c15a3ef362482c030e1f69186f Author: Simon Wilkinson Date: Sat Sep 26 17:52:57 2009 +0100 Remove warnings in the update client and server rx_Read and rx_Write take a datablock which is a char *, rather than a void *. Cast appropriately. Reviewed-on: http://gerrit.openafs.org/506 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit fabe41d6443586778cd992ad0aa8fad41b130114 Author: Simon Wilkinson Date: Sat Sep 26 17:56:48 2009 +0100 Squish some warnings in ubik/ Remove some more warnings from the ubik/ directory - Remove a dangling else case from an if statement - Prototype ubik_dprint_25 - Don't do (a || b()) - it's horrible, and causes warnings! Replace with if (!a) b(); Reviewed-on: http://gerrit.openafs.org/504 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e14e5aa0cfba456eee9252c47294d863e935f67b Author: Simon Wilkinson Date: Sat Sep 26 20:54:06 2009 +0100 Relax compiler specification on Darwin 9 and 10 Commit 1992b702f64f561c75cc74d4645bb0e1afeec6bd made it possible to relax the compiler choice on a per architecture basis. That commit allowed the user to specify their compiler of choice on all Linux systems, but hardcoded 'cc' everywhere else. This patch permits Darwin 9 and 10 users to also override the default compiler for user space builds. Reviewed-on: http://gerrit.openafs.org/501 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 291d31e55f64992d8d529522f3479e5ffe5fd607 Author: Marc Dionne Date: Sat Sep 26 09:32:46 2009 -0400 fetchOps: fix more() prototype Adjust the prototype in the fetchOps structure to match the recent change to rxfs_fetchMore(). Reviewed-on: http://gerrit.openafs.org/499 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 529d487d65d8561f5d0a43a4dc71f72b86efd975 Author: Daria Phoebe Brashear Date: Fri Sep 25 03:15:40 2009 -0400 viced cap fetchdata len to avoid negative when trying to read from a short or zero length file, it's possible for sanity checking to knock the length below zero. set a floor at zero. Reviewed-on: http://gerrit.openafs.org/494 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bc6559d62c21ee046c4082aba282097a8c1de9ac Author: Simon Wilkinson Date: Sat Sep 26 10:06:27 2009 +0100 Attempt to fix CForeign moredata behaviour The fetchstore patches changed the behaviour of the multiple chunk handling that's used in FetchData when the vnode's CForeign bit is set. In the original code, the data would be read as (length, payload) chunks. The new code does (length, length, payload), which corrupts the incoming data. This patch restores the original control flow. Reviewed-on: http://gerrit.openafs.org/498 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5d765426e597c60228e66bddaa21bf2453c74a85 Author: Daria Phoebe Brashear Date: Fri Sep 25 05:19:33 2009 -0400 h_GetHost_r cleanup cases avoid potentially leaking a cb_in or a capabilities blob; use a common exit function and free when these were left set. Reviewed-on: http://gerrit.openafs.org/496 Tested-by: Alistair Ferguson Reviewed-by: Alistair Ferguson Reviewed-by: Jeffrey Altman commit ce9da0d76c53127e7f2f2142832602b52dd78f10 Author: Claudio Bisegni Date: Thu Sep 24 19:03:28 2009 +0200 AFSPreference Pane, has changed the content of launchd xml control file for AFSBackgrounder has been used Program instead of ProgramArgument Reviewed-on: http://gerrit.openafs.org/495 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f6f9ee5402f1718f330a00ec89fb34b05c3cd360 Author: Simon Wilkinson Date: Fri Sep 25 00:27:40 2009 +0100 Fix CacheFetchProc in cases where the fileserver hates us In some situations, the fileserver returns a large negative number as the length in an FetchData64 call. The old FetchProc code used an int32 to hold this number, and checked length > 0 before attempting to read more data. The new code uses a uint32, and does while (length), which causes the cache manage to loop until RX aborts the connection. This patch restores the old behaviour. length becomes a signed int once more (and the original 32 bit length from the wire is used, rather than truncating the 64 bit value), and the conditional checks for > 0. Reviewed-on: http://gerrit.openafs.org/493 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 29ee678f3ab051a27cae46b02a0d42e0958a6bc8 Author: Andrew Deason Date: Mon Sep 21 12:48:30 2009 -0500 Unlink correct files in salvager Fallout from 0ac956b3384842b3c60e72bde78a4baf58a5877f; a couple of unlink() calls were not updated to use the absolute path. Update them, and log errors from unlink(), since otherwise it is difficult to tell that anything is going wrong. Reviewed-on: http://gerrit.openafs.org/479 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 07b1dc861bee97c44507f437685d7f8c3d094807 Author: Andrew Deason Date: Tue Sep 22 16:59:34 2009 -0500 Solaris: Default to fs_pathconf in afs_pathconf Instead of returning EINVAL in afs_pathconf when we don't recognize the pathconf command, return the result of fs_pathconf. fs_pathconf provides sensible defaults or correctly represents a filesystem not implementing a particular pathconf cmd; all in-tree (Open)Solaris filesystems call fs_pathconf for unimplemented commands. Returning EINVAL allegedly represents that the fileystem does not support pathconf at all. Also, account for OpenSolaris adding another parameter to pathconf-related calls. Reviewed-on: http://gerrit.openafs.org/488 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b56a794f8d77987df07d2efcb8af5f9d63f6e678 Author: Simon Wilkinson Date: Wed Sep 23 18:18:34 2009 +0100 Refactor the cache bypass determination code The code which determines whether the cache can be bypassed occurs in multiple locations in this file. Make a single static inline function that can do this, and use it. Reviewed-on: http://gerrit.openafs.org/489 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3567441f92349bb21bb42405ecf6ada4844551e5 Author: Andrew Deason Date: Tue Sep 22 17:36:38 2009 -0500 Remove one more AFS_UCRED struct After 8a8244dd351f865af2da3b5ebb746ba57723b6a9, AFS_UCRED is no longer assumed to be a struct. Fix one instance that still declares it as a struct. Reviewed-on: http://gerrit.openafs.org/487 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7edc6694e7632c9736bd1516935604a638165313 Author: Simon Wilkinson Date: Tue Sep 22 17:18:34 2009 +0100 Whitespace cleanup (sorry) The cache bypass code changed the indentation of afs_linux_readpage so that pullups from 1.4 no longer works. This patch simply restores the original (correct) indentation. Sorry for a whitespace change, but this will make things much easier going forwards. Reviewed-on: http://gerrit.openafs.org/486 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f3c3e4da18519571ef3a8a868297510ed4e132a3 Author: Daria Phoebe Brashear Date: Tue Sep 22 04:51:15 2009 -0400 DAFS protocol state diagrams update DAFS protocol state diagrams FIXES 124990 Reviewed-on: http://gerrit.openafs.org/485 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 40b18318e4a04a323dbdd9e3c4a73d3b2e92104d Author: Andrew Deason Date: Mon Sep 21 16:57:01 2009 -0500 Implement _PC_FILESIZEBITS for solaris pathconf Using recent NFS clients and servers with the translator under Solaris causes AFS to be queried for the _PC_FILESIZEBITS pathconf value. Right now we don't implement it and return EINVAL, causing at least some modern NFS clients to be unable to mount AFS via the translator on at least some modern NFS servers. So, return _PC_FILESIZEBITS as either 32 or 64, depending on whether we are a 64-bit client or not. Reviewed-on: http://gerrit.openafs.org/481 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b7ae31a7484b609cd22d029fd753798001f72864 Author: Andrew Deason Date: Mon Sep 21 14:28:29 2009 -0500 Avoid salvager vol header read assert When we read the volume header in order to write it back with a modified inUse while salvaging, we were aborting if we couldn't read the header. Since we can fail to read the header data if the volume header file isn't associated with any data (and will be deleted by the salvager), don't abort. Do still abort if we can't write the data back, since if the data can be read but not written, other programs may think that the volume is not being salvaged. Reviewed-on: http://gerrit.openafs.org/480 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 759c756b0fa51b774e3894d5f9a5029955232612 Author: Andrew Deason Date: Mon Sep 21 11:09:56 2009 -0500 DAFS: Put back volumes we get in FSSYNC handlers fssync-server.c has a few issues with not properly VPutVolume_r'ing volumes that were VGetVolume_r'd. The most important of these was that the handler for FSYNC_VOL_MOVE can put back a volume it did not get, when DAFS is enabled. Fix that, and another erroneous edge case in the FSYNC_VOL_QUERY_HDR handler when DAFS is not enabled. Reviewed-on: http://gerrit.openafs.org/477 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 1542d943df24de94e4b61e0303db542f0e2c982d Author: Daria Phoebe Brashear Date: Mon Sep 21 12:33:37 2009 -0400 make 1.5.64 for unix update version strings to 1.5.64 Reviewed-on: http://gerrit.openafs.org/478 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e646a3e4dc62aaccebb81dada9d6d744ac19354f Author: Felix Frank Date: Sun Sep 20 14:43:34 2009 +0200 Use the padd op. When the padd operation was added, the change that makes actual use of it got lost somewhere along the line. Fixed now. Originally introduction of the padd op: 6220ede6a96d06c53eddd848435764cff96be1b4 Reviewed-on: http://gerrit.openafs.org/471 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 4fd7101577613bbafcf4488f3d82dd03642b01c0 Author: Jeffrey Altman Date: Mon Sep 21 17:11:25 2009 +0100 Windows version number 1.5.64 Reviewed-on: http://gerrit.openafs.org/476 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 91d9ca106def5cde2b75e2b03ad0111a44551868 Author: Jeffrey Altman Date: Mon Sep 21 17:07:23 2009 +0100 Windows: 1.5.64 updates for Windows Notes LICENSE MIT Reviewed-on: http://gerrit.openafs.org/475 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 10706d8208df865ac0bc89f6d83a5779b9794128 Author: Jeffrey Altman Date: Sun Sep 20 11:06:07 2009 -0400 Windows: uninitialized variable in cm_GetBuffer Initialize code and code1 to zero. Otherwise, a non-zero value on the stack can result in an incorrect error value being passed to cm_Analyze(). LICENSE MIT Reviewed-on: http://gerrit.openafs.org/473 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 65d1d94634c2d31aeecf1c512828a1bcbd93bbe5 Author: Jeffrey Altman Date: Sun Sep 20 11:04:07 2009 -0400 Windows: Protect against null serverp in cm_Analyze If cm_Analyze is called with both 'serverp' and 'connp' set to NULL and an RX error is provided, a null pointer dereference will occur. Test for non-NULL serverp before dereferencing LICENSE MIT Reviewed-on: http://gerrit.openafs.org/472 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 427b27a87fd34035f855ff8b1b9ec3ad618829c8 Author: Jeffrey Altman Date: Sat Sep 19 13:52:32 2009 -0400 Windows: Do not mark server down due to Store / Fetch Data protocol error When performing a StoreData or FetchData operation there are several data validation checks performed to ensure that the lengths of data obtained with rx_Write and rx_Read are consistent with the RXAFS_FetchData and RXAFS_StoreData protocol operations. When an inconsistency is detected the cache manager terminates the call and returns an error to the caller which is passed to cm_Analyze(). The cache manager was returning -1 as the error code which is equivalent to RX_CALL_DEAD which in turn will result in the server being marked down. This commit makes the following changes: . add trace logging to permit monitoring this case . instead of returning -1 return either RX_PROTOCOL_ERROR or RX_EOF depending on the situation . in cm_Analyze do not mark a server as down for rx errors other than RX_CALL_DEAD. Instead, force a new connection and retry until the request timeout limit is reached. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/470 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 5b5dc4a85bde6e959a0943ac694833784a838164 Author: Jeffrey Altman Date: Mon Sep 14 07:59:54 2009 -0700 Windows: more pioctl output validation Add output validation checks to the Explorer Shell and the Client configuration control panel. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/458 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 72e8bac22201e194242e715a107f3b3cb8a480df Author: Jeffrey Altman Date: Sat Sep 19 04:55:09 2009 -0400 Windows: Use "Name not found" instead of "File not found" When a file cannot be opened because the name of the file or a directory in the path cannot be found, return "Name not found" instead of "File not found". "File not found" is the error returned by the smb redirector to the application when the file cannot be located in the search path. "Name not found" indicates that the entry is not present at the location requested. The use of "File not found" prevented execution of applications from the \\AFS name space on Windows 7. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/469 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 3be5d2ca5f2a1af97502f5fd0f5b25f382b123c4 Author: Jeffrey Altman Date: Fri Sep 18 10:46:07 2009 -0400 Windows: trace logging changes for smb_ReceiveTran2QPathInfo Add new trace log entries in smb_ReceiveTran2QPathInfo to help track down the reason for queries in which the path and tidPath are both the empty string. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/467 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2c54ae82a49f6df7f7c76d333d3fe00a0b1cff28 Author: Jeffrey Altman Date: Fri Sep 18 10:41:14 2009 -0400 Windows: Improve WKSSRC and SRVSVC compatibility with Windows This commit includes several changes to improve compatibility with Windows (in particular Windows 2000). 1. Specify a Lan Workgroup name. We use "AFS". 2. Ensure that the server name returned does not include leading slash or backslash characters. The name provided might include them but they are not part of the name and cannot be returned. 3. The NetrWkstaGetInfo and NetrServerGetInfo responses must be consistent. Otherwise, the Explorer Shell will get confused and refuse to provide access to the server shares. This commit also includes some minor comment changes. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/466 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 211a23a06fd762478aa2f420b9cc638320857463 Author: Jeffrey Altman Date: Fri Sep 18 10:25:59 2009 -0400 Windows: Trace wkssvc and srvsvc rpc calls Add osi_Log statements identifying which RPCs are being called from the wkssvc and srvsvc modules LICENSE MIT Reviewed-on: http://gerrit.openafs.org/465 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit ccb02bf6eb7395bbb3d66c11b99a576c19d033d4 Author: Jeffrey Altman Date: Fri Sep 18 10:01:10 2009 -0400 Windows: No rand_s on Windows 2000 Even if the rand_s() function is supported by the compiler it is not supported on Windows 2000 because the kernel level functionality it requires does not exist on that platform. Calling rand_s() on Windows 2000 will throw an exception and terminate the service. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/464 Reviewed-by: Derrick Brashear Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1ba9e95715a5c769580adbbda2ca19aae62eef75 Author: Andrew Deason Date: Fri Sep 18 13:23:46 2009 -0500 DAFS assert correction in GetVolume FSSYNC_VolOpRunningUnknown is a vol op state, not a pointer to a vol op itself. Reviewed-on: http://gerrit.openafs.org/468 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48589b5d3957c27a5944e23fd770687adc078934 Author: Marc Dionne Date: Mon Sep 14 17:40:23 2009 -0400 Linux: Restore aklog -setpag functionality for kernel 2.6.32+ With kernel 2.6.32 it is now possible for a process to copy its session keyring to its parent through the use of the KEYCTL_SESSION_TO_PARENT function of the keyctl syscall. We can't use this easily from kernel space to cover all calls to VIOCSETTOK with the setpag flag - we'd need to make a syscall or have keyctl exported. Instead, a hook is added to ktc_SetToken to make it honour the AFS_SETTOK_SETPAG flag, which was ineffective with recent kernels. This should cover the most common cases (ex: aklog) where this is needed. The syscall is coded directly to avoid introducing a dependency on the keyutils library or header files which may not be installed everywhere. Reviewed-on: http://gerrit.openafs.org/463 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1ea845ebc953bb49afc354afe036f7f01cd05db8 Author: Claudio Bisegni Date: Tue Sep 15 09:29:21 2009 +0200 Manage the login in the OSX Fast User Switch mode AFSBackgrounder has been update to get notification for switch in/off in the "Fast User Switch" mode, and in switch in it try to get tokens. Reviewed-on: http://gerrit.openafs.org/460 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8af8af05f0a87af154f11bc8a7a7ec3f2505291e Author: Simon Wilkinson Date: Mon Sep 14 13:49:22 2009 +0100 Remove unecessary initialisation We already memset av to contain all 0s, therefore we don't need to initialise individual elements to 0 as well. Inspired by Rainer Toebbicke's patch for RT 125355 (which is 1.4.x only) Reviewed-on: http://gerrit.openafs.org/456 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 090b61e9d731d1cc55707fcb9ea6dbc7bc7b5018 Author: Brant Gurganus Date: Sun Sep 13 22:02:10 2009 -0400 Corrects file_CmdRef_1_fs_chgrp_html and file_CmdRef_1_fs_chown_html sharing short names. Reviewed-on: http://gerrit.openafs.org/455 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit bb4a5038d9f8d0585ed39ba3d82d459d7ca5d398 Author: Jeffrey Altman Date: Sun Sep 13 10:32:12 2009 -0400 Add indexing to Windows Release Notes An initial pass at adding indexing to the Windows release notes. The next pass should refine the index terms and add appropriate secondary index values. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/454 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit d190d2400eeef7f736338edea943ba8b93f64c69 Author: Jeffrey Altman Date: Sun Sep 13 01:45:48 2009 -0400 Windows Release Notes XML Reformat the Registry and Environment Values in Appendix A so that they are easier to identify in the table of contents. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/453 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit a747e934c40040061386d8ca591eba09b9745287 Author: Daria Phoebe Brashear Date: Sun Sep 13 01:00:45 2009 -0400 cm fetchstore should dereference unset ops if rxfs_fetchInit fails, ops will not be set; calling the destroy op unconditionally thus leads to a panic. Reviewed-on: http://gerrit.openafs.org/452 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 4b6fafa440fa51652d12d6522769c8f156b7bda1 Author: Daria Phoebe Brashear Date: Fri Sep 11 13:26:01 2009 -0400 macos package updates make the readme correct; allow back reving (downgrades) Reviewed-on: http://gerrit.openafs.org/447 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 431b54f642c5c34e260a1b35ecfca17d5e3dcde5 Author: Jeffrey Altman Date: Fri Sep 11 11:44:41 2009 -0400 Windows: Version 1.5.63 Reviewed-on: http://gerrit.openafs.org/445 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d15ca10da0074bd14a777a0590e7271fe28ecf01 Author: Daria Phoebe Brashear Date: Fri Sep 11 13:30:29 2009 -0400 unix 1.5.63 make 1.5.63 for unix Reviewed-on: http://gerrit.openafs.org/448 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 60c44cc6ddf101b8085f242f2c1bf85896563923 Author: Jeffrey Altman Date: Fri Sep 11 11:41:01 2009 -0400 Windows: changelog updates for 1.5.63 LICENSE MIT Reviewed-on: http://gerrit.openafs.org/444 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5b6e5019453952f122523354d0001b04189271a7 Author: Daria Phoebe Brashear Date: Tue Sep 8 14:31:09 2009 -0400 make fileserver avoid salvage loop on init failure if the vlserver or prserver setup can't succeed, it doesn't indicate a condition which salvaging is required to fix; instead, come up and retry in the background. Reviewed-on: http://gerrit.openafs.org/428 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 133fed07384aec910e22b4fd315f86440dff2fb2 Author: Felix Frank Date: Thu Jul 16 08:26:55 2009 +0200 Code beautifications. * get rid of register declarations * remove unused local var InStatus * comment prototypes properly (correct .c file) * save some linebreaks in function headers Reviewed-on: http://gerrit.openafs.org/135 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bffbc55c220bd28c20856b5d00ed423f878319d8 Author: Felix Frank Date: Mon Jul 13 13:40:26 2009 +0200 More cosmetics. * FetchProc: length loop shorter condition * added fancyspace in FillStore call. * removed unused bsent variable * shortened some conditions * storeDestry: saved the code2 variable. Reviewed-on: http://gerrit.openafs.org/134 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e99490ffd31edef1a349f06f975949b82707a0ee Author: Felix Frank Date: Mon Jul 13 13:28:41 2009 +0200 Cosmetics in CacheStoreDCaches, CacheStoreVCache and storeInit. * StoreProc: renamed alen to size. * StoreProc: Make connection before do {} * rename fP to tfile. * Declare nchunks later in StoreProc. * Fixed order of storeInit parameters. * storeInit: renamed tlen to length. Reviewed-on: http://gerrit.openafs.org/133 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d47eb8f21b2782d9441c2ea4d0261c21cb423a19 Author: Felix Frank Date: Mon Jul 13 11:13:21 2009 +0200 Immediately abort call when not able to fetch length (fetchInit). Reviewed-on: http://gerrit.openafs.org/132 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 63abaf515c6f16907fdd9a226797bdc310dd704a Author: Felix Frank Date: Mon Jul 13 10:26:47 2009 +0200 Locking comment in FetchProc Reviewed-on: http://gerrit.openafs.org/131 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 46f7bbb19dbb697e626a20363ff23ad2fe0ee4c0 Author: Andrew Deason Date: Wed Sep 9 09:22:02 2009 -0500 Do not respond to SYNC_COM_CHANNEL_CLOSE requests SYNC clients, when closing a channel, send a SYNC_COM_CHANNEL_CLOSE command, and immediately disconnect before waiting for a response. So, don't send a SYNC response, since by the time we send it, the other end will most likely have already hung up, causing a lot of needless 'SYNC_putRes: write failed' messages whenever a SYNC channel is closed (e.g. when a demand-salvage finishes). Reviewed-on: http://gerrit.openafs.org/434 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c1c8da78b680964b0259266207b2c07df54b5ef1 Author: Jeffrey Altman Date: Fri Sep 11 11:54:27 2009 -0400 Windows: Handle "(Default)" regsitry value in MountGlobalDrivesThread In MountGlobalDrivesThread(), if the "(Default)" registry value is defined that should be interpreted as a drive mapping to a device with no name. This is specified using NULL instead of the nul-string. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/446 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit bef42619ba3cf7f4b20783942c989e6d96185104 Author: Felix Frank Date: Mon Jul 13 10:08:37 2009 +0200 fetchDestroy can end calls now too. Reviewed-on: http://gerrit.openafs.org/130 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b961dc1630baf9e6e1171c66430074fc1e7f9ef8 Author: Felix Frank Date: Mon Jul 13 10:06:50 2009 +0200 Included proper 64bit case in fetchClose() and storeClose(). Reviewed-on: http://gerrit.openafs.org/129 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3898524693e7297e228ded03f34125558f225d58 Author: Daria Phoebe Brashear Date: Fri Sep 11 01:59:08 2009 -0400 darwin knet avoid rx socket during shutdown theoretically a user thread can race us during shutdown and end up panicing us if the soclose happens at the wrong time. if we're shutting down just return. using afs_shuttingdown would have the side effect that we'd lose the ability to add any graceful behavior. Reviewed-on: http://gerrit.openafs.org/443 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cc7938e8ff2a56575122066a8750e881c4d280b0 Author: Felix Frank Date: Mon Jul 13 09:07:17 2009 +0200 Added guard against missing call and moved alength assignment in fetchInit. The returned value of rx_NewCall is important of course and must be taken into account before trying to start RPCs. Do assign the length output variable ASAP. Also fixes an overlong line and the type of the pos local var to unsigned. More style fixes: * Moved length64 to use proper scope, initialized code. * Generally make more tidy Reviewed-on: http://gerrit.openafs.org/128 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 98f9b6ae2bafe69440c090443efb2f71ec15309c Author: Daria Phoebe Brashear Date: Fri Sep 11 01:28:49 2009 -0400 des crypt cope with 64 bit longs we test for them in configure; instead of hardcoding it in yet another place, use the information we have Reviewed-on: http://gerrit.openafs.org/442 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e24d64f2a696eb85b44fb471326f6dbb525d60a0 Author: Jeffrey Altman Date: Fri Sep 11 00:35:04 2009 -0400 Windows: Add pioctl data output validation to fs and symlink command line tools pioctl data buffer output was not being validated to ensure that buffers were not overwritten or accessed beyond their limits. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/441 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit fdea6a3418315cd7b88219778118857fd32e9da6 Author: Russ Allbery Date: Thu Sep 10 11:02:46 2009 -0700 Windows: update build system for restorevol man page move restorevol moved from section 8 to section 1. The Windows build system needed corresponding changes. Reviewed-on: http://gerrit.openafs.org/440 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit d96ec9ec031d0d15d1cfe3b86e58c12c4c267c00 Author: Russ Allbery Date: Fri Aug 21 18:59:01 2009 -0700 Stop using sig_t acinclude.m4 was adding to afsconfig.h some code to define sig_t as the type of a signal handler. This definition was in terms of RETSIGTYPE, which is deprecated by Autoconf. It also adds an unnecessary abstraction for only two places in the AFS source code where it was used. Remove it and change those two spots to use the standard C declaration of the function pointer. Reviewed-on: http://gerrit.openafs.org/335 Tested-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit d6df1a8cec39edf7c0d2598921c735ac6aca70d7 Author: Russ Allbery Date: Fri Aug 21 18:12:39 2009 -0700 Move restorevol to bin from sbin restorevol only requires access to a dump file and write access to the directory in which the dump is being unpacked. It doesn't require being a superuser, so it should be installed in bin instead of sbin. Also move the man page to section 1 and update references accordingly. Reviewed-on: http://gerrit.openafs.org/333 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c46689c05ffd56299a12f9883645e8fcf50fa29a Author: Daria Phoebe Brashear Date: Tue Sep 1 11:18:19 2009 -0400 redhat spec dkms don't strip modules provide a debug module which is unstripped. this is necessary for debugging problems. Reviewed-on: http://gerrit.openafs.org/391 Reviewed-by: Russ Allbery Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 96a176ed5872f54402e1625f6e67ce2979e48875 Author: Daria Phoebe Brashear Date: Thu Aug 13 10:05:44 2009 -0400 make salvager able to cope with corrupt class index right now if a directory ends up in the small vnode index, the salvager will never fix it. unlinking from the index (and recovering an orphan later) beats crashing forever Reviewed-on: http://gerrit.openafs.org/309 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 754a4b628a14657db2e00931926311a1c703558b Author: Daria Phoebe Brashear Date: Wed Sep 9 18:49:29 2009 -0400 macos panic decoder should handle 64 bit kernel in 32 bit mode panic from 64 bit should be decodable in 32 bit mode. make it so. add -k switch to allow a path to a kernel to be specified. Reviewed-on: http://gerrit.openafs.org/438 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 392e3dab970c998af63ddb43665655e0f3815c45 Author: Marc Dionne Date: Wed Sep 9 19:00:49 2009 -0400 Avoid __USE_XOPEN redefinition Only define __USE_XOPEN if not already defined. This eliminates a few build warnings where __USE_XOPEN is already defined in system header files. Reviewed-on: http://gerrit.openafs.org/439 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 12a7afa6481e8e4a9c0ef8115eaf328dc7af3029 Author: Marc Dionne Date: Wed Sep 9 18:39:24 2009 -0400 Remove extraneous + character in src/volser/common.c Remove an unneeded extra + character at the end of line - probably from a typing accident. This generates a warning at compile time. Reviewed-on: http://gerrit.openafs.org/437 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f041bd25343f40986c035ed6c0a087709ed64bc4 Author: Felix Frank Date: Mon Jul 13 08:54:23 2009 +0200 Cosmetics: Rename some variables, fix types. * Replaced tsize by new local var llbytes in rxfs_storeInit. * Make int32 lengths unsigned in rxfs_storeInit. * Renamed lengthFound to length64. * renamed abase to base. Reviewed-on: http://gerrit.openafs.org/127 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 23143230e68516c89f3acf76999223dad4af612f Author: Christof Hanke Date: Wed Sep 9 16:21:44 2009 +0200 Moved CForeign check to rxfs_storeInit/storeMore. This is rxfs-specific, so move it out of CacheStoreProc. It must be done before entering the do { } while (moredata) loop proper now, as rxfs_fetchMore is never called during the first iteration (moredata is always 0), but the length may need fixing (note that this was done after what is now the fetchMore op originally). Thus it appears in rxfs_fetchInit. To prevent a bogus call during the first loop iteration, also check for length!=0. Finally, don't bother with fetchMore at all unless CForeign is set. In rxfs_fetchInit, we added an additional check for length_hi being zero. uploade patchset 8. Reviewed-on: http://gerrit.openafs.org/126 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01fae602425b91647b54888c82450091d4c89714 Author: Jeffrey Altman Date: Tue Sep 8 16:36:32 2009 -0400 Windows: Use secure ctime and strncpy in afs_ctime Microsoft compilers version 1400 and above provide secure versions of ctime and strncpy. Use them in afs_ctime. Correction to sha1:359c64bb674ea0606e64b91fd8252297310a9862 Thanks to Andrew Deason for identifing the mistake. Reviewed-on: http://gerrit.openafs.org/429 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5d1efd3cd86f12d6be073e9b8103f16bf33d8bab Author: Jeffrey Altman Date: Tue Sep 8 16:43:01 2009 -0400 Windows: secure rand() rand_s() is available on Visual Studio 2005 and above (aka 1400 and above) LICENSE MIT Reviewed-on: http://gerrit.openafs.org/430 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 0f7efd94fa12cf82efe6c31ee33d9b3ca51666e1 Author: Jeffrey Altman Date: Sun Sep 6 15:10:56 2009 -0400 Windows: Add data validation to ktc_xxxx functions that perform pioctls The ktc_GetToken and ktc_ListTokens functions perform a pioctl and then parse the response data. There is no validation that the data required is not longer than the pioctl output or that the data received fits into the data structures that are being written. As a result, random crashes have occurred when the wrong data has been received from the pioctl. This commit adds data validation to at least ensure that these functions cannot read beyond the data provided or write beyond the allocated memory. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/405 Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit f7085c38e15db15e2795ff33e9b54977e703a097 Author: Marc Dionne Date: Tue Sep 8 17:58:41 2009 -0400 build fix: ubik_client is a struct Fix a build failure - ubik_client is a struct and not a type Reviewed-on: http://gerrit.openafs.org/431 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 359c64bb674ea0606e64b91fd8252297310a9862 Author: Jeffrey Altman Date: Sun Sep 6 18:47:54 2009 -0400 Windows: Use secure ctime and strncpy in afs_ctime Microsoft compilers version 1500 and above provide secure versions of ctime and strncpy. Use them in afs_ctime. Reviewed-on: http://gerrit.openafs.org/408 Reviewed-by: Derrick Brashear Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 1992b702f64f561c75cc74d4645bb0e1afeec6bd Author: Russ Allbery Date: Sat Aug 22 00:31:22 2009 -0700 Only force a specific compiler where necessary Rather than setting the compiler to cc on all platforms by default, use the Autoconf default unless the specific compiler might matter. Conservatively set the compiler to cc for all non-Linux, non-BSD operating systems that previously didn't explicitly set it. Fix a few places on Linux where the compiler was set to gcc explicitly rather than using the Autoconf result. Don't bother setting the Linux i386 compiler to gcc -pipe. The compile performance difference isn't enough to bother with the special exception, and we don't do this for other Linux systems. With this change, setting CC at Autoconf time will correctly set the compiler per the user's preferences unless they're on an operating system where we care about having a particular compiler for kernel purposes. This can be relaxed further in the future, particularly if the kernel compiler is broken out to a separate setting. Reviewed-on: http://gerrit.openafs.org/337 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 950b96f290d0874e5a8e6d8bc693d4d03a3e88f2 Author: Russ Allbery Date: Fri Aug 21 19:11:58 2009 -0700 Remove old disabled code to support truncated passwords ka_UserAuthenticateGeneral had code disabled with #ifdef OLDCRUFT to retry failed authentications by truncating the password to eight characters, with a comment that the truncating behavior of kpasswd was disabled in 1990. Nothing references this preprocessor define in the source tree. Delete the dead code. Reviewed-on: http://gerrit.openafs.org/336 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7e91d071f007c3be74dce800c38b0ac980465df0 Author: Jeffrey Altman Date: Sun Sep 6 15:25:42 2009 -0400 Windows: Prevent pioctl races from crashing afsd_service The SMB redirector will permit two processes to open the pioctl file at the same time without giving SMB server an opportunity to say 'no'. As a result multiple reads and writes on the allocated smb_fid->ioctl can play havoc with the pioctl state. Since afsd_service doesn't know the writes and reads are coming from separate requests there is nothing it can do to prevent incorrect data going to the wrong process. However, it can (and should) protect itself when the state becomes invalid. Two prevention methods are applied: 1. add an additional state flag that explicitly indicates when the ioctl is in the dataout state 2. validate the length of data in the ioctl input or output buffers before copying it. If the length becomes negative, return a CM_ERROR_INVAL error. In addition, when the invalid state results in a failure to to find a matching pioctl function do not return CM_ERROR_BADOP. CM_ERROR_BADOP can only be returned if the SMB operation is not supported. Returning it in response to a ReadFile request will cause the SMB client to drop the connection. Finally, fix smb_FindFID to prevent the same 'fid' from being used for more than one open file. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/407 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 96ebb6df31ad300680d4a1dd7d04a714f54a22b5 Author: Jeffrey Altman Date: Sun Sep 6 15:20:58 2009 -0400 Windows: Fake scache not completely initialized The fake scache object used for pioctl operations was not fully initialized. The magic value, data version, and several locks were not initialized. Do so. Since the fid of the fake scache object is 0.0.0.0 remove the assert in cm_GetSCache for cell != 0. Instead simply return CM_ERROR_INVAL. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/406 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 132268042d1992d39614e72d67957b2b10ebfba6 Author: Jeffrey Altman Date: Sun Sep 6 14:45:42 2009 -0400 Windows: Prevent simultaneous pioctls The Windows pioctl implementation makes an incorrect assumption. It is not true that every CreateFile() operation results in a SMB NTCreateX operation being delivered to SMB Server. The SMB client can combine open requests from multiple processes or threads onto a single SMB file descriptor and locally manage the operations. This is a problem for pioctls since the Transceive operation requires that a WriteFile/ReadFile combination must belong to the same request. Prior to this change simultaneous pioctl operations would be combined and the individual reads and writes could overlap resulting in responses going to the wrong requestor and end of file errors being received by the others. Due to lack of data validation in fs.c, ktc_nt.c, symlink.c, etc random crashes are produced. This change alters the sharing mode under which the pioctl file is opened. Instead of FILE_SHARE_READ | FILE_SHARE_WRITE, only FILE_SHARE_READ is specified to CreateFile(). This ensures that the CreateFile will fail with a sharing violation if the pioctl file was previously opened for writing. A sharing violation check is provided and the CreateFile is retried indefinitely until the open succeeds or the error is not a sharing violation. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/404 Reviewed-by: Derrick Brashear Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 60caadec3a7d6ef64744be8533205ecfa0ff4179 Author: Jeffrey Altman Date: Sat Sep 5 09:44:11 2009 -0400 Windows: smb_FindShareCSCPolicy uses invalid registry key smb_FindShareCSCPolicy() ignored the error state of RegCreateKeyEx() and would pass the uninitialized hkCSCPolicy to RegQueryValueEx() and RegCloseKey(). While this did not produce invalid results, it did result in unnecessary operations and exception handling within the Win32 registry apis. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/402 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5aced2e8d68e109145893a508ff61437d31a6de9 Author: Jeffrey Altman Date: Sat Aug 29 14:16:45 2009 -0400 Correct nvldbentry and vldbentry misuse in uss/uss_vol.c The uss module relies on MapNetworkToHost / MapHostToNetwork from src/volser. These functions convert a struct nvldbentry and not a struct vldbentry. When src/volser was converted to struct nvldbentry src/uss must have been forgotten. In uss_vol.c convert GetServerAndPart() to accept a nvldbentry instead of a vldbentry. Add two static functions: * ovlentry_to_nvlentry() to convert from vldbentry to nvldbentry if required * uss_vol_GetEntryByID() which first attempts to use ubik_VL_GetEntryByIDN() and if that is not supported falls back to ubik_VL_GetEntryByID() and ovlentry_to_nvlentry(). LICENSE MIT FIXES 125101 Reviewed-on: http://gerrit.openafs.org/377 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0ee69d5b9a64a96c5c217d523ba23371d41cb85d Author: Daria Phoebe Brashear Date: Mon Sep 7 22:29:54 2009 -0400 fetchstore nocall argument breaks non-64bit clients a label before the end of a loop breaks, which is the case when AFS_64BIT_CLIENT's not defined (e.g. UKERNEL). fix it. Reviewed-on: http://gerrit.openafs.org/410 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8a8244dd351f865af2da3b5ebb746ba57723b6a9 Author: matt@linuxbox.com Date: Thu Sep 3 10:15:18 2009 -0400 Remove struct from AFS_UCRED instantiations (opaque credential type support) The identifier AFS_UCRED is intended as a preprocessor alias to a possibly-opaque credential type. A platform header will normally rename AFS_UCRED to a platform credential type with #define. This is not intended to change the meaning of AFS_UCRED, but removes the assumption that it is a struct type, which may not be true, depending on the platform and other decisions made by the AFS client port. Reviewed-on: http://gerrit.openafs.org/397 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3de3cb03c2c7a23bfb092f51a7715c73ef38b9bd Author: Jeffrey Altman Date: Fri Sep 4 23:22:12 2009 -0400 Windows: Log RXKAD errors in cm_Analyze RXKAD errors were not logged at the point where the errors were handled. As a result they were never logged. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/400 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit edccb905d4753fa5412e3212e8626e8437cbecfb Author: Jeffrey Altman Date: Fri Sep 4 23:23:10 2009 -0400 Windows: Explorer Shell Invalid Parameter Errors The attempt to follow the smb protocol specification by returning extended responses to NTCreateAndX requests (when specified) resulted in random "invalid parameter" errors from the Explorer Shell (and common control dialogs) on Vista SP2. As a result we won't send the extended responses. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/399 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a43c893d498effd1165bfe78179934194c34b448 Author: Jeffrey Altman Date: Fri Sep 4 23:13:52 2009 -0400 Windows: Freelance get callback sync and uninitialized variables In cm_GetCallback the Freelance mode case did not properly synchronize attempts to fake obtain a callback. cm_GetCallback also failed to initialize the contents of afsStatus and volSync which are used as input to cm_MergeStatus. cm_MergeStatus special cased the freelance root.afs volume root directory but failed to handle any other freelance volume objects. As a result it used the contents of the uninitialzed input structures to populate the status of the object for which the callback was obtained. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/401 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit ad1e9c7084e99a67ee7a61c255a6059ebc9190c3 Author: Daria Phoebe Brashear Date: Tue Sep 1 13:00:00 2009 -0400 make afsd partition size check be large partition safe right now the math overflows the 32 bit type for >2tb partitions. use larger variables to avoid this. Reviewed-on: http://gerrit.openafs.org/392 Reviewed-by: Matt Benjamin Reviewed-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5d9c767ac55b2d1b8f5b87dc9ced63e282af7bac Author: Andrew Deason Date: Mon Aug 31 11:10:10 2009 -0500 Update accessDate on volume access Right now accessDate is simply never updated, so the last access time for a volume is never reported. Simply update the field in VBumpVolumeUsage_r, so we track the last time the volume was accessed. Note that this does not increase disk writes to the volume header; the performance impact is effectively nil. Reviewed-on: http://gerrit.openafs.org/385 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 24ddc90e5dd3e8847d314adf9858b67b47ed7854 Author: matt@linuxbox.com Date: Fri Aug 28 11:54:41 2009 -0400 Add tracing to MCAS allocator and GC Adds conditional trace logging to MCAS object cache and supporting GC, using ViceLog. While in future this should be normalized, it is correct for both fileserver and volserver, the two programs using MCAS currently. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/374 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fb79d6e1f0bcef0602df7bb4ec961955c2f06563 Author: Jason Edgecombe Date: Sun Aug 30 18:26:10 2009 -0400 Updated Chapter 2, Section 3.4 of the Admin Guide Added a bullet point explaining the use of a Kerberos cross-realm trust and PTS foreign groups to give foreign users access. Replaced a reference to Authentication Database with Kerberos Database. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/381 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 880664bd0df8380b77cefe80379170c9c183442c Author: Jeffrey Altman Date: Wed Sep 2 22:49:40 2009 -0400 Windows: The unnamed stream is a synonym Treat a file request for "name::$DATA" as if it were specified as "name". Otherwise, the inclusion of the colon in the file name will cause it to be treated as invalid. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/395 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ae7ef5f5b963a5c8ce4110a7352e0010cb6cdbc1 Author: Jeffrey Altman Date: Wed Sep 2 22:54:17 2009 -0400 Windows: rx_Write failures must be processed The error code returned by rx_Write takes precedence under all circumstances over the error returned by EndRXAFS_StoreData. cm_ReleaseBIOD must apply the error code to all buffers in the BIOD list. cm_ReleaseBIOD accepts an error code, not a boolean indicating failure. Fix a related signed/unsigned error. FIXES 125351 LICENSE MIT Reviewed-on: http://gerrit.openafs.org/396 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit baa883aa6b878abe808d302d14142f702dfb9cca Author: Jeffrey Altman Date: Wed Sep 2 22:44:33 2009 -0400 Windows: avoid inappropriate dns searches Do not perform searches for cells if the string prefix matches _._AFS_IOCTL_._. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/394 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit d352ca1df447c489b46f45edfbf633ca39d56fd4 Author: Jason Edgecombe Date: Sun Aug 30 17:54:16 2009 -0400 Updated Chapter 2, Section 3.2 of the Admin Guide Removed the reference to the Authentication Server and added a reference to the Kerberos Server and Kerberos 5 authentication for foreign clients. Replaced AFS Product Support with the AFS registrar as the maintainer of the public CellServDB file. A link was added to grand.central.org for getting the latest copy of the file and submitting changes for the local site. Reviewed-on: http://gerrit.openafs.org/379 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e86cb488b3d28eea7d2a1780d578fcfee67d8e3b Author: Andrew Deason Date: Wed Sep 2 11:50:06 2009 -0500 SALVSYNC_com initialization typo The size of sres_hdr is sizeof(sres_hdr), not sizeof(sres). Reviewed-on: http://gerrit.openafs.org/393 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5dd137c474cc5ffc877bb0655220ad4b2503ed10 Author: Russ Allbery Date: Fri Jul 24 13:18:31 2009 -0700 Turn on --enable-bos-new-config unconditionally Remove the conditional and Autoconf flag for enabling BosConfig.new handling and change bosserver to always rename BosConfig.new to BosConfig on startup if the former exists. Document BosConfig.new handling in the bosserver and BosConfig man pages. Tone down the warning about the BosConfig file format changing and warn that bosserver rewrites BosConfig when shutting down. Reviewed-on: http://gerrit.openafs.org/211 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 64bad257d66b7d70ebdb62a10217818730e2e0a6 Author: Andrew Deason Date: Wed Jul 29 11:56:34 2009 -0400 DAFS: avoid shutdown hang during salvage Right now, when the fileserver shuts down, it tries to cancel any demand-salvages in progress. This causes the fileserver to hang, since during shutdown, the salvageserver may already be gone. This avoids cancelling in-progress salvages, and allows salvages to continue after the fileserver has shut down. To do this, the salvageserver now closes SALVSYNC sockets in spawned children, so the children don't get SALVSYNC requests directed at them, since they can't handle them. The salvageserver also now periodically scans for logs of salvaging children that have terminated, and incorporates them into SalsrvLog, just like it does for it's own children. The salvageserver children that actually perform salvages now also set the inUse volume header field to their programType, so the fileserver knows not to schedule new salvages for that volume in the event of a fileserver restart during a salvage. FIXES 124486 Reviewed-on: http://gerrit.openafs.org/279 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5fd700d1fda856b0e16588cef0e54bc37498d375 Author: Christof Hanke Date: Tue Sep 1 14:33:53 2009 +0200 Uploaded patchset 9. Sorry for the mess. Reviewed-on: http://gerrit.openafs.org/125 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 04aecc99e073b07fe781d65c5c274acee14d8d26 Author: Andrew Deason Date: Thu Aug 27 12:43:03 2009 -0500 Fix cache tracking for small fragsizes The tracked amount of disk cache used by a client can be incorrect when afs_fsfragsize is tuned to below 1023. Since we round up to the next nearest afs_fsfragsize+1 then round down to the kb, if afs_fsfragsize+1 < 1kb, we can undershoot the cache usage. This enforces afs_fsfragsize to always be at least 1023. Reviewed-on: http://gerrit.openafs.org/338 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 67bcc19c754e7bfd55d098e9fe17723340c275ba Author: Jason Edgecombe Date: Sun Aug 30 18:13:06 2009 -0400 Updated Chapter 2, Section 3.3 of the Admin Guide Added text about Freelance Mode and Dynamric Root Mode and the changes they cause when dealing with mounts to foreign cells in /afs and \\AFS Reviewed-on: http://gerrit.openafs.org/380 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3e28e72e409550f398d006b7e1fa073bd23e1cfd Author: Christof Hanke Date: Mon Aug 31 15:39:02 2009 +0200 Remove unnecessary type ViceFid The type "ViceFid" is just a clone of the type AFSFid and used only in a couple of places. Thus, for simplicity, rename all occurences of ViceFid to AFSFid and remove the typedef itself. Reviewed-on: http://gerrit.openafs.org/383 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ac1e6fa1a6f3287e2862e6ea6f4dafea0c92e8cb Author: Jeffrey Altman Date: Mon Aug 31 20:10:13 2009 -0400 Windows: Permit cygwin apps to read from AFS again For some reason specifying a unique GUID for each open file based on the cm_fid results in cygwin apps being unable to read from AFS. ReadFile() calls fail with Invalid Device Request errors instead. While fixing that issue discovered that not all of the data was properly set for QueryPathInfoAll operations. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/388 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit c0e1cc0762eb7e49d72fdfecda168e72db55c3e8 Author: Jeffrey Altman Date: Mon Aug 31 20:08:53 2009 -0400 Windows: uninitialized variable Ensure that the index variable used to walk the fid history of the current evaluated path is always initialized. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/389 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 95df1a47d1e40eb9d007853c99826432e7ac4016 Author: Jeffrey Altman Date: Mon Aug 31 20:06:27 2009 -0400 Windows: integrated logon The previous fix prevented a null pointer dereference but forgot to set 'effDomain' to the domain specified by the caller if it exists and is not the local machine name. LICENSE MIT FIXES 125325 Reviewed-on: http://gerrit.openafs.org/390 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit e31f3f68b0a28a9fe0c95aa44828844426a557e2 Author: Matt Benjamin Date: Mon Aug 31 08:57:55 2009 -0400 Make catalog file destdir when not transarc paths The appropriate mkdir -p was missing for this case, the patch adds it. Reviewed-on: http://gerrit.openafs.org/387 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 616ab5c9ec624fc1f852e8188b800e32a9ebe74e Author: Matt Benjamin Date: Mon Aug 31 06:16:27 2009 -0400 Remove AFS_KERBEROS_ENV in NetBSD 30, 40 param files This creates dependency on ktc_newpag, which has been determined to be obsolete. Reviewed-on: http://gerrit.openafs.org/384 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 49d893eff3bf5933bd4a6c62c5576d30bcda56d9 Author: Matt Benjamin Date: Sun Aug 30 13:30:18 2009 -0400 Build shared afsauthent and afsrpc on *BSD This seems to be a required step, going forward. Omitting breaks pam, for example. Reviewed-on: http://gerrit.openafs.org/382 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit dffd78ccb013cbda907d5c266137de94814d9c00 Author: Claudio Bisegni Date: Fri Aug 28 21:16:52 2009 +0200 Fixed the tokens update and update .gitignore for MacOSX packaging file Fixed the tokens update on preference pane if operation is made with NSStatusItem. Has been updated the src/packaging/MacOS/.gitingore for CellServDB file and src/libafs/.gitignore has been added afs.x86_darwin_100.plist. Reviewed-on: http://gerrit.openafs.org/372 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 85408141403cc18a954877dd682022063203f4c8 Author: Michael Meffie Date: Fri Aug 28 11:40:01 2009 -0400 doc: typo fix in asetkey man page example Fixed a typo in the asetkey man page. Reviewed-on: http://gerrit.openafs.org/373 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e26235ed3ed4c444d907d217a4b6cdd25fa1d475 Author: Daria Phoebe Brashear Date: Fri Aug 28 01:01:46 2009 -0400 macos 10.5 doesn't support compiler kext flag -kext was added in later xcodes; it's safer to just assume we don't have it. Reviewed-on: http://gerrit.openafs.org/365 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7bf32f6115c5af3e772287754ea4aa1465764dca Author: Jeffrey Altman Date: Thu Aug 27 16:17:24 2009 -0400 Windows: Version Update 1.5.6200.0 Version update to 1.5.6200.0 LICENSE MIT Reviewed-on: http://gerrit.openafs.org/354 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f77cc39801b4ee046f6968616332ef3db5415f97 Author: Jeffrey Altman Date: Thu Aug 27 03:59:02 2009 -0400 Windows: SMB Server does not support streams, so say that The SMB server does not support streams. When replying to NT Create operations with extended responses report that there are no streams. In addition, add support for Query Path/File Stream Information and return only the null stream. Correct the 'totalData' response field in several places within Trans2QPathInfo and Trans2QFileInfo. Return CM_ERROR_BADOP for SMB NT Transact operations that are not supported instead of CM_ERROR_INVAL. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/347 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a767455f02460e39e8c5eaa77768718667a2f29a Author: Jeffrey Altman Date: Thu Aug 27 15:29:50 2009 -0400 Correct description of afs krb.conf file format The file format is a single line containing one or more realms separated by white space. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/352 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a747f5951b920dfb6d77465de6ca8ff54bae1706 Author: Daria Phoebe Brashear Date: Thu Aug 27 15:47:58 2009 -0400 update decode-panic for 10.6 how panics get reported changed in 10.6. also, the 64 bit universal kext means we don't know what the last boot was. Reviewed-on: http://gerrit.openafs.org/353 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6b555e5dc116905a3e8f356c45827f58b3a00f9d Author: Daria Phoebe Brashear Date: Thu Aug 27 11:18:41 2009 -0400 make openafs 1.5.62 update version strings for 1.5.62 Reviewed-on: http://gerrit.openafs.org/351 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 2b1336b59b554b657a2d671adbc0469e18004fbb Author: Daria Phoebe Brashear Date: Thu Aug 27 08:12:31 2009 -0400 macos afs prefspane support for 10.4 NSUInteger is newer than what's included in the 10.4 SDK. restore functionality for 10.4 Reviewed-on: http://gerrit.openafs.org/349 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit abcb52c4fd84c1d371be90ec3d602ca780644e2a Author: Daria Phoebe Brashear Date: Thu Aug 27 10:12:13 2009 -0400 correct GetuTime function name GetuTime is really osi_GetuTime Reviewed-on: http://gerrit.openafs.org/350 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 81099c479e148a103dcf9f4def125b28e989107c Author: Daria Phoebe Brashear Date: Wed Aug 26 17:34:50 2009 -0400 macos 10.6 64 bit support support 64 bit userland with 32 bit kernel, and 32 and 64 bit userland with 64 kit kernel Reviewed-on: http://gerrit.openafs.org/343 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 74d3b110628fee3d0cc08303736c1b84deb8d4e6 Author: Daria Phoebe Brashear Date: Thu Aug 27 07:53:00 2009 -0400 redefine xdr functions consistently if we redefine the names of all xdr_ functions, the same must be done for xdr_alloc and xdr_free Reviewed-on: http://gerrit.openafs.org/348 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit af8dee05f07e63cf954326eff27630b38ad76edd Author: Jeffrey Altman Date: Wed Aug 26 22:31:58 2009 -0400 Windows: Release Notes Updates for 1.5.62 Some formatting corrections Section 3.26 updated to describe limitations caused by Apple Bonjour on 32-bit Windows. Section 3.40 updated to mentions Microsoft SMB Redirector Extended Server Timeout support. Section 3.41 updated to describe inability of pioctl operations to succeed on service mapped drives. Section 3.43 updated to include Windows 7 and Server 2008 in the known issues list. New section 3.51 on Microsoft RPC Services LICENSE MIT Reviewed-on: http://gerrit.openafs.org/346 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit d605bf109db15e535618847baadffb35a92ed41a Author: Jeffrey Altman Date: Wed Aug 26 17:32:31 2009 -0400 Windows: Updates to Windows ChangeLog 1.5.6200 LICENSE MIT Reviewed-on: http://gerrit.openafs.org/345 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 9473089bdf1997b2f43e3ea368907c6cdc0fa582 Author: Daria Phoebe Brashear Date: Wed Aug 26 15:15:27 2009 -0400 macos rc script server handling only start bosserver if its configured. shut it down if we (likely) started it Reviewed-on: http://gerrit.openafs.org/344 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 622065f98ea806314e1b7116f0b280092aa397b1 Author: Russ Allbery Date: Tue Aug 25 21:00:33 2009 -0700 Initialize xferStartTime for StoreData timings In the reorganization of fetch and store procs, the initialization of the transfer start time for a store was lost, leading to meaningless statistics from the uninitialized variable. Initialize the transfer time at the start of transferring each chunk and move the variable into the for loop. Reviewed-on: http://gerrit.openafs.org/340 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a59df36211d6bc641eeec6d8fd8876a98ce3600a Author: Russ Allbery Date: Fri Aug 21 18:37:41 2009 -0700 Add automatic sysname detection for ARM Linux Add arm*-linux* to the case statement that attempts to automatically determine the AFS sysname, similar to the other Linux sysname determination cases. Reviewed-on: http://gerrit.openafs.org/334 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b695261de43af0fbdd8166b4b2272465783e76d6 Author: Claudio Bisegni Date: Wed Aug 26 17:18:37 2009 +0200 10.6 update(Workaround for kerberos bug) and cleaning of deprecated function form code For aklog has been added the workaround for kerberos function KLAcquireInitialTickets that in 10.6 return always error. First is called KLCacheHasValidTickets for check user ticket presence, if there are no ticket KLAcquireNewInitialTickets will be called for get user credential. Has been removed also many deprecated api. Reviewed-on: http://gerrit.openafs.org/341 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit a66dc4d0cb99d2b2f0bc5e7537d83522f68fbb44 Author: Felix Frank Date: Wed Jul 15 14:11:32 2009 +0200 Some renames and reformattings in afs_fetchstore Reviewed-on: http://gerrit.openafs.org/124 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 88b7deb5bc39f58e490e2ec83e563feeb32668e7 Author: Felix Frank Date: Fri Jul 10 15:55:58 2009 +0200 Sanity for the padd storeOp Reviewed-on: http://gerrit.openafs.org/123 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 6220ede6a96d06c53eddd848435764cff96be1b4 Author: Felix Frank Date: Wed Jul 8 16:36:34 2009 +0200 Add the padd storeOp and unify statistics keeping. Filling with zeroes is done within a storeop of its own. This raises consistency and readability. Also, the formerly copy-pasted (to afs_dcache and afs_segments respectively) statistics code is now in a seperate function of its own. Reviewed-on: http://gerrit.openafs.org/122 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 4b10f1916cd000cfd75134c8e1665d72899bc10d Author: Jeffrey Altman Date: Tue Aug 25 12:46:01 2009 -0700 Windows: MSRPC_WriteMessage, call MSRPC_NewCall at right time In MSRPC_WriteMessage, call MSRPC_NewCall after checking for MAX_RPC_MSG_SIZE and return an error if MSRPC_NewCall fails. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/339 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 1692c27300e55f9219dc75e1b5ab81d4ff98e4ae Author: Felix Frank Date: Tue Jul 14 12:46:08 2009 +0200 Cleanups in rxfs_storeInit() Reviewed-on: http://gerrit.openafs.org/121 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 0e1bd20462d4fd0aaa3fb18e127b1f1597a76799 Author: Felix Frank Date: Tue Jul 14 12:42:44 2009 +0200 More CacheStoreProc call context to afs_fetchstore from afs_segments The loop over the dcaches is performed in afs_fetchstore now as well, in a new routine afs_CacheStoreVCache that is called in afs_CacheStoreProc's stead. The original afs_CacheStoreProc has largely moved to afs_CacheStoreDCaches in afs_fetchstore.c. Enhances readability of afs_StoreAllSegments. rxfs_storeInit() can be performed earlier now, which is instrumental for the inclusion of alternative protocols (which will call other storeInit() functions). Reviewed-on: http://gerrit.openafs.org/120 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 334114ac58b0039ae90d7e29fa2f019fe068bd79 Author: Felix Frank Date: Tue Jul 14 12:02:19 2009 +0200 Limited the scope of some local variables in afs_CacheStoreProc Reviewed-on: http://gerrit.openafs.org/119 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit beb57af06ff9d20aa8d038f6d3474b62922c41b4 Author: Felix Frank Date: Tue Jul 14 11:19:31 2009 +0200 Open/close connections in afs_fetchstore rather than afs_segments The respective snippets are moved from afs_StoreAllSegments to rxfs_storeDestroy and rxfs_storeInit respectively. This makes sense and enhances readability. Reviewed-on: http://gerrit.openafs.org/118 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 74d53f288c7eeecc36d4c082dd96d840f1861d7b Author: Simon Wilkinson Date: Tue Jul 21 20:26:34 2009 +0100 PAG numbers are unsigned (and other warnings) PAG numbers are represented by afs_uint32. Fix assorted call sites to reflect this. While we're here, prototype ktc_newpag, and fix the casts used by the ktc_curpag() call. Reviewed-on: http://gerrit.openafs.org/167 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 50f6529cf1f191606f55add4cabe53fceab492ed Author: Simon Wilkinson Date: Tue Jul 21 19:58:16 2009 +0100 Make lockIDSet readable by mortals The lockIDSet function was a sprawling mess of #ifdefs. This change consolidates it so there is completely different function for each platform, with some internal #ifdefs remaining for platform-specific variations. The side effect of this is that the function is now readable. Reviewed-on: http://gerrit.openafs.org/164 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 0666fe12facf53ad2b67e4ba23b034b2e639d737 Author: Simon Wilkinson Date: Tue Jul 21 20:10:05 2009 +0100 Fix printfs of time for Darwin Darwin uses a fancy type for tv_sec, which needs to be cast to long before it can be printed. Reviewed-on: http://gerrit.openafs.org/165 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 01349d8a9468de0e46eeef42dede3a7076f1abb5 Author: Felix Frank Date: Tue Jul 14 11:07:07 2009 +0200 Move statistics and and call-closing from afs_segments to afs_fetchstore. Rather than in afs_StoreAllSegments, do statistics in afs_CacheStoreProc, further boosting the former's readability. Calls are closed in a new storeOp now, rxfs_storeClose, and have been moved there from afs_StoreAllSegments as well. Reviewed-on: http://gerrit.openafs.org/117 Reviewed-by: Derrick Brashear Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit db717c69dad1518043cb317aedb6d082476386f0 Author: Jeffrey Altman Date: Thu Aug 20 17:22:08 2009 -0400 Windows: Correct buf_Write data loss errors buf_Write has two errors in it. First, if offset at which the write is supposed to begin does not align with the cm_data.blockSize, then (offset %blockSize) octets at the end of the write will fail to be written to the file server. Second, if there is no knowledge of the file server's ability to handle RXAFS_StoreData64 calls and the file server does not support StoreData64 calls, then the first chunkSize of data will be written to the file server before the RXGEN_OPCODE error is detected. In this case a retry using RXAFS_StoreData is performed but the values of 'nbytes' and 'qdp' were not reset before the retry. As a result, the first chunkSize of data would fail to be written to the file server. The second problem can reliably occur when connectivity between the cache manager and the file server is interrupted due to firewall port mapping closures. Upon establishing a new rx connection, a SRXAFSCB_InitCallBackState3 RPC will be issued by the file server erasing any prior knowledge of the file server's ability to process 64-bit data operations. If the first 64-bit operation is a StoreData64, then data loss will occur. LICENSE MIT FIXES 125220 FIXES 108199 Reviewed-on: http://gerrit.openafs.org/332 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 687a40c7c6f3e0391ec1c863113c22f970003b49 Author: Jeffrey Altman Date: Thu Aug 20 10:54:47 2009 -0400 Windows: cleanup smb polution of non-smb modules There are a variety of functions that are declared in smb modules that are used within non-smb modules. In order to reduce some of the polution, several time conversion functions and the thread priority operations are migrated to cm_utils. As part of this migration the unused !USE_NUMERIC_TIME_CONV time implementations are removed. In addition, an unnecessary use of an SMB preprocessor symbols is removed from cm_freelance.c and smb_ioctls.h is no longer included within afsd.h. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/330 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ef197772e7a1bd823f6f5d0ea3846ccabe950a1e Author: Jeffrey Altman Date: Thu Aug 20 14:30:27 2009 -0400 Windows: Init root.afs before smb_Init It is not safe to initialize the root.afs cm_scache object after the SMB package. Break it out of afsd_InitDaemon() into its own afsd_InitRoot() and call from afsd_InitCM(). LICENSE MIT Reviewed-on: http://gerrit.openafs.org/331 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit da0673f0eabb960b203b1a814aa62acbef62eeb1 Author: Russ Allbery Date: Wed Aug 19 16:07:27 2009 -0700 Describe 's' PTS group permissions more accurately PTS groups with 's' access permissions can be examined by members of the group and the owner of the group in addition to system:administrators. State this in the manual page. Reviewed-on: http://gerrit.openafs.org/327 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8b5846b080d455c8764450b545c1ee3ded61aa3c Author: Jeffrey Altman Date: Thu Aug 20 09:21:53 2009 -0400 Windows: Ensure consistency of error code mapping For Windows, the error mapping table used throughout the system is located in util/errmap_nt.h. This table was incomplete and WINNT/afsd/cm_utils.c added additional mapping locally. Move said error mapping to util/errmap_nt.h. When including afs/unified_afs.h it must be done after including afs/errmap_nt.h. Otherwise, undefined errors are mapped to EIO which should not be. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/328 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 995c76e73e828eac2e30b33de5ee8085e6cead0a Author: Jeffrey Altman Date: Thu Aug 20 09:44:18 2009 -0400 Windows: Add prototype for osi_SetLockOrderValidation Add prototype for osi_SetLockOrderValidation() defined in osibasel.c LICENSE MIT Reviewed-on: http://gerrit.openafs.org/329 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5ff34cc364ea80fe1e55262ac97091b42d47e3d8 Author: Felix Frank Date: Tue Jul 14 11:01:57 2009 +0200 Move context of afs_CacheStoreProc() call from afs_segments to afs_fetchstore The innermost loop in afs_StoreAllSegments (looping over chunks) is now inlined in afs_CachStoreProc. This is step one in a series of such inlinings. Reviewed-on: http://gerrit.openafs.org/116 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit ebd42496392d4ff207a97dd664d8dbaad66425b0 Author: Felix Frank Date: Tue Jul 14 10:57:21 2009 +0200 Move statistics keeping from afs_dcache to afs_fetchstore. More context of the afs_CacheFetchProc() call in GetDCache is now inlined in the afs_CacheFetchProc. Boosts readability of GetDCache and saves stack, as counter pointers need not be passed anymore. The statistics code is more readable due to lesser indentation. Reviewed-on: http://gerrit.openafs.org/115 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit e2ce6a0f40aceb83a53883875e4430677a0f3068 Author: Jeffrey Altman Date: Wed Aug 19 18:10:43 2009 -0400 Windows: cm_conn_t must not be referenced after cm_Analyze is called The 64-bit Large File Support added a reference to the cm_conn_t object after cm_Analyze() is called and releases the hold. This permits the object to be freed if it is appropriate to do so which can result in an invalid memory reference. This change removes the improper reference. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/326 Tested-by: Asanka Herath Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1d78be16945a5a025b7e10098d89d7bccc01c231 Author: Felix Frank Date: Tue Jul 14 10:54:06 2009 +0200 Some code cleanups and variable renames. Reviewed-on: http://gerrit.openafs.org/113 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 1c12747818d1bbd327f94ba66808f5d705f8b618 Author: Jeffrey Altman Date: Wed Aug 19 08:04:30 2009 -0400 Windows: Permit build system to update symbol store Microsoft Debugging Tools for Windows, Visual Studio Debugger, and SysInternals tools can all make use of a Symbol Server. http://msdn.microsoft.com/en-us/magazine/cc163563.aspx The commit adds functionality to the build system to automatically add binaries and symbols to a symbol store during the build. This functionality is only enabled if two environment variables are defined: SYMSTORE_EXE - specifies the location of symstore.exe SYMSTORE_ROOT - specifies the location of the symbol store an optional environment variable permits an arbitrary comment to be added to the symbol store history file. SYMSTORE_COMMENT - arbitrary text to be added to the history LICENSE MIT Reviewed-on: http://gerrit.openafs.org/324 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b48908cbbaee53747c9a7cdfc08692a20aa92cb1 Author: Jeffrey Altman Date: Wed Aug 19 11:51:18 2009 -0400 Windows: Add resource info to threaded volserver.exe 1.5.60 and 1.5.61 shipped without resource information linked to the threaded version of the volserver.exe executable. Correct that oversight. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/325 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 57e218ab61e824133f252e4a0da74552beb14b05 Author: Simon Wilkinson Date: Tue Aug 18 22:31:38 2009 +0100 Make MacOS installer pane permit dashes The MacOS installer only permits characters in [0-9A-Za-z] in cellnames. However, OpenAFS itself will also allow dashes, and they're in use by some sites. This trivially amends the installer pane to permit dashes. FIXES 125211 Reviewed-on: http://gerrit.openafs.org/323 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f819561707805c46b1a67c35d8f9ae1eee420af3 Author: Michael Meffie Date: Tue Aug 18 14:51:57 2009 -0400 Fix stack corruption on 64 bit linux when md5inum is enabled Fix a stack overflow on 64 bit linux which corrupts the stack saved arguments and causes a kernel panic. This bug is seen on platforms where ino_t is 64 bits and the md5inum sysctl option is enabled. Reviewed-on: http://gerrit.openafs.org/322 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit cbaf97a953dc91e54d7148ad4294f003b8deef9c Author: Jeffrey Altman Date: Mon Aug 17 12:33:09 2009 -0400 Windows: Be more conservative about checking error conditions It has been reported that winlogon.exe is crashing on some systems. The reports indicate that the failure is somewhere in GetLogonDomainOptions. This commit ensures that we are more conservative about the assumptions that are made regarding which Lsa operations can fail. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/321 Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 4eee2f24a43052e5cafc1a3019b6554109a7cc6d Author: Jeffrey Altman Date: Mon Aug 17 17:28:28 2009 -0400 Windows: src/WINNT/afsd cleanup Update the "clean" rule to remove the files generated from ms-srvsvc.idl and ms-wkssvc.idl. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/320 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit fa07f46db9dcc1dccf3a7ff50037f2b81936e452 Author: Jeffrey Altman Date: Sun Aug 16 08:43:23 2009 -0400 Windows: Prevent smb_StartedLock use before initialization The smb_StartedLock osi_mutex can be obtained before initialization due to a race if the IP address configuration is in a state of flux as afsd_service is starting up. To avoid the problem call cm_InitDaemons() after smb_Init(). This race is the cause of the periodic assertions in some environments when lock order validation is enabled. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/318 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 918e5b635938738fa9d65a10573e53190ca24ca7 Author: Jeffrey Altman Date: Sat Aug 15 06:43:57 2009 -0400 Windows: Add missing msrpc.h dependency msrpc.h must include cm_nls.h LICENSE MIT Reviewed-on: http://gerrit.openafs.org/316 Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Tested-by: Asanka Herath commit 8ed3acdf13c40d93e60f8f057f99d3f3377feab5 Author: Jeffrey Altman Date: Fri Aug 14 21:40:22 2009 -0400 Windows: Prevent cm_daemon thread from terminating during suspend Remove the check for powerStateSuspend that caused the cm_daemon thread to terminate when the machine enters suspend mode. When the machine awakens there is no thread to check the down server state, new IP address bindings, etc. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/315 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1cfa2259eca210ca480f16a725ca70f5cfc2c8d4 Author: Felix Frank Date: Tue Jul 14 10:51:03 2009 +0200 Move context of CacheFetchProc from afs_dcache.c to afs_fetchstore.c GetDCache() is quite bloated. This inlinining makes code more readable. For protocols to come besides rxfs (such as rxosd), some initializations may need to be performed differently. Thus, much has to be moved to the specific rxfs_fetchInit() function rather than afs_CacheFetchProc() proper. Reviewed-on: http://gerrit.openafs.org/112 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3a48ae3e243b695ac5bb3b35aa3b09641db1af3b Author: Daria Phoebe Brashear Date: Fri Aug 14 12:06:03 2009 -0400 macos 10.6 updates cope with mixed 32/64 environment provided by macos 10.6. build needed stuff for audit logs in shlibafsauthent. Reviewed-on: http://gerrit.openafs.org/310 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ff138d1bdeab24de27790474adf24ea124a211f1 Author: Claudio Bisegni Date: Wed Aug 12 21:19:49 2009 +0200 OSX Preference Pane and AFS Backgrounder Cleaned most unused log Reviewed-on: http://gerrit.openafs.org/308 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b2503cd599be26dd5948526d00e3a28dfacd49ec Author: Simon Wilkinson Date: Wed Jul 22 23:05:48 2009 +0100 Fix gtx_create calls to all share a prototype All of the different _create calls need to share a prototype, so function pointers can be stuffed into a structure. Use an anonymous pointer so that we can acheive this. Reviewed-on: http://gerrit.openafs.org/187 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 19459804b0622ebad1e21e2d34ceb55ad7baddde Author: Asanka Herath Date: Wed Aug 12 14:56:56 2009 -0400 Handle more RPC service names While the Windows client only implements support for WKSSVC and SRVSVC RPC services, it should be aware of and handle requests for other well known service names. This patch refactors service name checks to a separate MSRPC_IsWellKnownService() function. In addition, it separates the tests for IPC TIDs from the test for well known service names. An IPC TID may be used for generic pipe operations as well as for RPC message pipe operations. Therefore the fact that a TID was opened for IPC doesn't necessarily mean that it will only be used for RPC. Reviewed-on: http://gerrit.openafs.org/307 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 9f2eb69899f1c4dba6671fe784ea2dd61e75a7eb Author: Asanka Herath Date: Wed Aug 12 13:57:11 2009 -0400 rand_s isn't supported on older Visual C compilers We still support building on Visual Studio 2003 where rand_s() is not available. If we are building on a Visual C compiler prior to version 15.00, failover to srand()/rand() instead of using rand_s(). Reviewed-on: http://gerrit.openafs.org/306 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a1d46036fee7134a375d57baf4898ca1af6c27ba Author: Felix Frank Date: Thu Jul 2 11:12:24 2009 +0200 Remove CacheStoreProcs and CacheFetchProcs from the afs_cacheOps. The entries are no longer used, as the macros from afs_chunkops.h are no longer necessary and afs_StoreAllSegments calls the CacheStoreProc proper. Reviewed-on: http://gerrit.openafs.org/110 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce174b9ef1771395981b297d4bb8779e57c9afab Author: Claudio Bisegni Date: Wed Aug 12 12:41:42 2009 +0200 OSX AFSBackgrounder fix minor bug Has been fixed the status menu icon width, now i keeped from icon image. Fixed the status item icon view redraw. Reviewed-on: http://gerrit.openafs.org/305 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1024c4cd71d2b63a3b7f608a244d90e75c933d7c Author: Jeffrey Altman Date: Tue Aug 11 10:37:19 2009 -0400 Windows: Dfs Referrals Processing. Not all errors are errors. When processing a Dfs Referral request, not all lookup errors should be treated as if the path does not exist. Servers being down or busy, volumes offline, cell vldb servers not found, etc. do not mean that the client should go searching elsewhere to evaluate the path. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/304 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d6071aa6e5f93cf9f9dd42c0c49d56416cfdabbe Author: Jeffrey Altman Date: Tue Aug 11 08:43:53 2009 -0400 Windows: Avoid unnecessary DNS lookups Windows will attempt to open connections to a broad range of pipe service (share) names which do not contain a dot in them. Attempts to search for these names as cell names in DNS result in timeouts and sluggish behavior when browsing \\AFS in the Explorer Shell. To avoid this problem, do not perform a DNS lookup for a cellname that doesn't not contain a dot in it. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/302 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 8cd1dc27dc16349b94c66eec721191d5dff29dab Author: Jeffrey Altman Date: Tue Aug 11 08:59:39 2009 -0400 Windows: Setting Server Preferences The Windows cache manager can apply administrator specified server preferences as specified in the registry. When these rankings are applied the CM_SERVERFLAG_PREF_SET flag was not set on the cm_server_t object. In addition, appropriate locking was not being used in the places where the flag was set. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/303 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 61ae8792f6608c86f4e3ff82c329b5bb4369204e Author: Felix Frank Date: Thu Jul 2 09:14:13 2009 +0200 Unite CacheFetchProcs and add abstraction calls. The cache type specific differencies among afs_MemCacheFetchProc and afs_UFSCacheFetchProc are divided into two sets of "fetchOps". Upon rxfs_fetchInit, the appropriate set is chosen. Reviewed-on: http://gerrit.openafs.org/109 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d8c70aa2c34c223d04f5dc1e2999e1489cb05f3b Author: Asanka Herath Date: Thu Aug 6 22:56:42 2009 -0400 Windows: Implement SRVSVC and WKSSVC RPC interfaces Windows uses RPC over SMB to communicate with file servers for administrative tasks including enumeration and queries of file server shares. This patch implements support for RPC over SMB and partially implements the SRVSVC and WKSSVC RPC interfaces. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/301 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit b4975a6a7c4fc3ffa025d2faee148449f26a21f1 Author: Andrew Deason Date: Mon Aug 10 12:06:26 2009 -0500 Restore util des dependency Commit c3c8a3e2f912855addc2c430f909bdce912e3670 removed 'des' as a dependency of the 'util' target, but util still depends on des since rxkstats.c includes des.h. So, put the des dep back in. Reviewed-on: http://gerrit.openafs.org/278 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6ec3db1bb94a6eee55020b7fa4ac1ba8425a4b2d Author: matt@linuxbox.com Date: Sat Jul 25 14:10:25 2009 -0400 MCAS changes from Matt Change static max allocators to 30. Add atomic add/sub macros returning original value, based on CASIO. Add interfaces to add and remove generic allocator caches. Add atomic inc/dec/sub macros using MCAS primitives. Add inline assembly for x86_64 and shim for Solaris (9+) atomic operations, providing Solaris x86 and alternate shim for Solaris Sparc. Set interface adapted for iteration and generalized for use with opaque key, value pointers. File cas_skip_func.c provides kv interface, cas_skip_adt.c provides kv interface, plus iteration on skip lists. Casual dependencies on stdio and exit() defined out. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/214 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 160aff88be210a8141b67a54583aed7387d8bffc Author: Daria Phoebe Brashear Date: Mon Aug 3 12:17:14 2009 -0400 fileserver should actually retry VL_RegisterAddrs on failure currently the background daemon logic for retrying was never triggered. easy enough fix: set FS_registered to 1 so the loop retries Reviewed-on: http://gerrit.openafs.org/266 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ec83174608917d80517c5107d583d702174bef30 Author: Jeffrey Altman Date: Sun Aug 2 18:59:51 2009 -0400 add xdr_alloc applications can allocate memory that must be deallocated by the XDR package. Add xdr_alloc to permit that. Export from libafsrpc. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/269 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit be1a675dcc7968c6fe10b42fcae85b1e49a5af3c Author: Jeffrey Altman Date: Sat Aug 1 12:31:36 2009 -0400 Make Windows pioctl prototypes consistent with Unix The Windows pioctl prototypes differed from those now exported by sys/sys_prototypes.h. This produced undesirable warnings. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/260 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1c5dc25c0dae21265296d6b41f903efb116c7774 Author: Jeffrey Altman Date: Wed Aug 5 23:25:42 2009 -0400 Windows: Preserve GetLastError during WinTorture testing When an error occurs during the WinTorture scripts the actual error was not always being preserved because subsequent Win32 calls were executed before the value was logged. In at least one case, the variable used to store the last error was not initialized nor assigned in all data paths. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/270 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit c3c8a3e2f912855addc2c430f909bdce912e3670 Author: Marc Dionne Date: Mon Jul 27 14:24:15 2009 -0400 kauth warning reduction Warning removal for various functions that manipulates keys and use several data types interchangeably. Inline helpers are introduced to convert between the types and are used when making function calls to target the appropriate type: des_prototypes.h cblockptr_to_cblock: des_cblock * to des_cblock charptr_to_cblock: char * to des_cblock charptr_to_cblockptr: char * to des_cblock * rxkad_prototypes.h ktc_to_cblock: struct ktc_encryptionKey * to des_cblock ktc_to_cblockptr: struct ktc_encryptionKey * to des_cblock * kauth_internal.h EncryptionKey_to_cblock: EncryptionKey * to des_cblock EncryptionKey_to_ktc: EncryptionKey * to struct ktc_encryptionKey * ktc_to_EncryptionKey: struct ktc_encryptionKey * to EncryptionKey * - parameters are adjusted for tkt_DecodeTicket(5), replacing the char * key with struct ktc_encryptionKey, to match usage - the get_key function is changed to have a void * parameter, to match usage - rxkad_prototypes.h includes des.h to get the des_cblock definition. This causes conflicts for a few files where the kerberos headers are also included - aklog/aklog_main.c and WINNT/afsd/afskfw.c Use NO_DES_H_INCLUDE in thoses cases to skip the new parts of rxkad_prototypes.h Reviewed-on: http://gerrit.openafs.org/234 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 20243612a15b150a3dbb3c9e027c1c79a0e5f200 Author: Claudio Bisegni Date: Mon Aug 3 19:05:46 2009 +0200 Removed user perspectivev3 file in xcode project and update the gitconfig gitconfig in src/platform/DARWIN/AFSPreference has been modified to ignore the perspectivev3 that is created by xcode for window layout.Has been also delete the file created for the user Reviewed-on: http://gerrit.openafs.org/267 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b0818fcdb227c8b291eb7b23e504fd1d2240eea6 Author: Claudio Bisegni Date: Mon Aug 3 16:40:05 2009 +0200 Cleaned most warning OSX OpenAFS preference and completed the AFSBackgrounder implementation At startup the preference pane check for the presence in ~/Library/LaunchAgents of the file it.infn.lnf.network.AFSBackgrounder.plist that. The agent could be started in OpenAFS preference pane view. AFSBackgrounder has replaced the NSMenuExtra, when it doesn't quit well launchd restart it. AFSBackgrounder can be used also for other work, for now, at login it check the user preference for get token. Has been made some refactoring in code for remove most warning. The unused think are been delete from project. Reviewed-on: http://gerrit.openafs.org/263 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b3d9dcb855060a9e1cb5b2140983111030fab1a0 Author: Felix Frank Date: Thu Jul 2 09:02:50 2009 +0200 Storeops beautifications. Things can be made a lot more readable in storeOps than in the monolithic StoreProc. Also shorten a panic message that is a bit gratuitous. Reviewed-on: http://gerrit.openafs.org/108 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7868e1961048d2a24bd5d4d5afab07d3dbf54fd2 Author: Claudio Bisegni Date: Sat Aug 1 19:43:39 2009 +0200 AFS Backgrounder implementation & warirng clean Replaced the NSMenuExtra and created the AFSBackgrounder that will do all work for aklog at login and manage the Status menu in menu bar Reviewed-on: http://gerrit.openafs.org/262 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f52f509962fbaade008f5dc6c2f8a3bece70c13c Author: Claudio Bisegni Date: Wed Jul 29 15:12:13 2009 +0200 Start coding OSX Backgrounder Application, for OpenAFS Preference Pane, that user NSStatusItem To prevent future compatibility with osx we must use NSStatusItem instead NSMenuExtra that is not documented api. For this has been created a background only application that will manage all function managed by current NSMenuExtra Reviewed-on: http://gerrit.openafs.org/261 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit a13d8146a33b2c74909d2bb396af2b7ce01d8bb3 Author: Jeffrey Altman Date: Sat Aug 1 11:23:00 2009 -0400 Add generated files to doc/xml/AdminGuide .gitignore Add htmlhelp.hhp, index.hhk, and toc.hhc Reviewed-on: http://gerrit.openafs.org/259 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 175774acab31968d9033e7c16b99b34c695c8e20 Author: Daria Phoebe Brashear Date: Fri Jul 31 17:53:18 2009 -0400 version update for 1.5.61 make configure version strings be 1.5.61 Reviewed-on: http://gerrit.openafs.org/258 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5a4f31090f573caad71aab16cd65afaaa5e2c914 Author: Russ Allbery Date: Fri Jul 24 13:03:48 2009 -0700 Restore permission documentation in bosserver man page The original IBM HTML documentation had a table showing the permissions that bosserver expects and sets when it creates the directory structure for AFS. That table was accidentally dropped in the conversion to POD. Restore it from the HTML shipped with an older version of OpenAFS. Reviewed-on: http://gerrit.openafs.org/210 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 5d8c3f6758ef9927d3e28c6adcb7f6fa792fbb49 Author: Jeffrey Altman Date: Thu Jul 30 10:23:38 2009 -0400 Windows: Version and ChangeLog updates for 1.5.61 1.5.61 == 1.5.6100.0 LICENSE MIT Reviewed-on: http://gerrit.openafs.org/255 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 147aeeb6c59b5f4a9f8a795a91e0c42ecf80278c Author: Marc Dionne Date: Mon Jul 27 09:47:08 2009 -0400 Eliminate some multiple targets in Makefile rules Rules with multiple targets can cause problems with parallel builds. This patch fixes two cases that have caused occasional build errors. Reviewed-on: http://gerrit.openafs.org/257 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 152e9152ff8bef4efac822b5a43b33ba50e8eed5 Author: Andrew Deason Date: Thu Jul 30 13:43:27 2009 -0400 Fix UKERNEL afs_mount arguments Change 73 (commit dc6299f5) changed the order of arguments for the UKERNEL implementation of afs_mount, causing uafs_mount to segfault whenever called. This changes them back to what they were before. Reviewed-on: http://gerrit.openafs.org/256 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8b86acea67f5e4a2138676edf82c3218b2a74bfd Author: Jeffrey Altman Date: Thu Jul 30 10:00:00 2009 -0400 Windows: Rename README-NT to README-WINDOWS Windows has not been referred to as NT in a long time. We do not support Windows 9x any longer. Rename README-NT to README-WINDOWS. Reviewed-on: http://gerrit.openafs.org/254 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 21e7b0d0c1dab60b0394336ec660d0852fe95536 Author: Jeffrey Altman Date: Thu Jul 30 09:56:33 2009 -0400 Windows: Update the README-NT file Update the README-NT to be more up to date. It still requires a lot of work. Reviewed-on: http://gerrit.openafs.org/253 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit ef7e0d64e7c29675405299f36ee3b7343b31cb35 Author: Andrew Deason Date: Mon Jul 20 12:31:44 2009 -0500 Add additional vlprocs safety checks This adds additional safety checks to the vlserver's implementation of the VL_CreateEntry, VL_ReplaceEntry, and VL_UpdateEntry RPCs. Now in all three of these, any new volume ID that would be added to the VLDB or that would be newly referenced in a VLDB entry is checked against duplication in other entries. Additionally, any new volume names added to the VLDB (either by creation, or modifying an existing volume) are checked against duplication. This should make it impossible for clients to make a volume ID or volume name correspond to multiple volume groups (either conceptually or literally in the vldb). This also alters the vlserver's implementation of the VL_GetNewVolumeId RPC such that the vlserver increments maxvolid until the range of volume IDs [*newvolumeid, *newvolumeid+bumpcount) is unused. 'vos' is modified to only allocate one new volume id at a time, so we don't skip over potentially-usable vol ids. Reviewed-on: http://gerrit.openafs.org/158 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e18216b91fa7171efdf796908ce2e98e7bc42f11 Author: Daria Phoebe Brashear Date: Wed Jul 29 22:56:08 2009 -0400 macos 10.6 package naming call the dmg Snowleopard for 10.6. Reviewed-on: http://gerrit.openafs.org/252 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6bec05a874035b30a1b7d5119a053f550adeba4d Author: Daria Phoebe Brashear Date: Wed Jul 29 22:14:01 2009 -0400 macos 10.6 amd64 kmod build fix make the ARCHFLAGS support for amd64 work correctly by grepping for the correct thing Reviewed-on: http://gerrit.openafs.org/250 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5593ff360c7a8f9f69cebda0cb2e2909ff2f31b4 Author: Daria Phoebe Brashear Date: Wed Jul 29 17:23:14 2009 -0400 macos 10.6 pam support Make pam module compile on 10.6. Not tested yet. Reviewed-on: http://gerrit.openafs.org/249 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e2dcd47f352af396e71b815cd2bb557b3180ccc0 Author: Marc Dionne Date: Wed Jul 29 22:35:21 2009 -0400 afs_pag_call.c needs rx/rxstat.h for RXSTATS_ExecuteRequest This fixes a build error introduced by change 247 (commit 967abaf2). Reviewed-on: http://gerrit.openafs.org/251 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 967abaf29b29866174fecc22df85fb4a19ab5833 Author: Simon Wilkinson Date: Wed Jul 29 16:58:03 2009 +0100 Make rxgen emit prototype for ExecuteRequest Make rxgen provide a prototype in its header file for _ExecuteRequest, and remove all of the adhoc prototypes from the tree. Reviewed-on: http://gerrit.openafs.org/247 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 2ade93993a9a82a23f44355065e2b5573acca372 Author: Jeffrey Altman Date: Wed Jul 29 14:31:45 2009 -0400 Windows: test for and react to SMB Extended Session Timeout support SMB Extended Session Timeout Support is available only on Windows systems with specific versions of the mrxsmb.sys driver. Add a test for those driver versions. If a supporting version is present use the extended session timeout value instead of the standard timeout value for the redirector timeout. Adjust the rx hard, conn, and idle timeouts accordingly. The SMB module will define the ExtendedSessTimeout registry value if it does not exist. We rely on the fact that this is done after the rx timeout values are calculated. The mrxsmb driver only reads the value at boot. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/248 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Asanka Herath Reviewed-by: Derrick Brashear commit 7a333523ea5930d666686d5614328d10db4ef9e2 Author: Simon Wilkinson Date: Tue Jul 28 10:32:10 2009 +0100 Fix signed vs unsigned pointers in volser Cast iod_Read returns to (char *) Fix signed vs unsigned pointer argument issues Reviewed-on: http://gerrit.openafs.org/236 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 6ae0c53d93f26ddadc37dbf268652b1f8af8b3ec Author: Simon Wilkinson Date: Tue Jul 28 11:09:30 2009 +0100 Code cleanup for vlserver Move the cnvldb.h include so it's after vlserver.h Don't define MAXSERVERS in cnvldb.h (it's already defined elsewhere) Cast nvldbentry(s) to vldbentry to avoid warnings from display_entry Volume IDs are unsigned Use var[0]='\0' rather than sprintf(var, ""); Reviewed-on: http://gerrit.openafs.org/237 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 5eae1c8062a8662d172d21a059533e04eef318d2 Author: Simon Wilkinson Date: Tue Jul 28 12:25:08 2009 +0100 Warnings work in util/ Make afs_ctime an inline function, instead of a complex macro. This both improves our type safety, and suppreses warnings about unused results. Add bracing to clarify operator precedence in if (a && b || c) statement AFS_DARwiN60_ENV != AFS_DARWIN60_ENV Use (void) rather than () in function prototypes Reviewed-on: http://gerrit.openafs.org/240 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit fb96e13d6f93fd7f7d833b4c66753b63a50c9003 Author: Simon Wilkinson Date: Tue Jul 28 12:13:10 2009 +0100 Cleanup for the USS directory Add additional header files for prototypes Add additional prototypes to header files yyerror() is internal, not external. Make it static while we're at it. ANSIfy various function definitions Unsigned vs signed cleanup Reviewed-on: http://gerrit.openafs.org/239 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 6640b8b064b238333a46ef72aa09913b06271a91 Author: Daria Phoebe Brashear Date: Tue Jul 28 12:13:24 2009 -0400 install AFSCommander in prefpane dir make the AFSCommander prefPane be installed, in /Library (as are growl, macfuse, etc) Reviewed-on: http://gerrit.openafs.org/243 Tested-by: Derrick Brashear Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 4dadd24ba8ce72fd655e29d74801f27e9e148b01 Author: Jeffrey Altman Date: Mon Jul 27 12:54:16 2009 -0400 Protect rx_call iovq from simultaneous attempts to empty it The iovq queue is not safe to clear without holding the call lock. FIXES 125110 LICENSE BSD Reviewed-on: http://gerrit.openafs.org/242 Reviewed-by: Derrick Brashear Tested-by: Hans-Werner Paulsen Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit e6d321fcd4cbf0fdc6b153c0894f8d4c222093ad Author: Simon Wilkinson Date: Tue Jul 28 11:55:47 2009 +0100 Use an anonymous pointer for lpioctl The block passed to lpioctl as cmarg is an anonymous chunk of memory, so use a type that represents it as such. Reviewed-on: http://gerrit.openafs.org/238 Tested-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c861bb0d779b54236b63eda87d9dfaf7792d1659 Author: Simon Wilkinson Date: Tue Jul 28 12:55:36 2009 +0100 Additional UKERNEL headers, prototyping and other fixes Add additonal headers to include prototypes for UKERNEL builds Add some more prototypes Remove some unused variables Reviewed-on: http://gerrit.openafs.org/241 Reviewed-by: Derrick Brashear Tested-by: Marc Dionne commit 02f083730750a03e60eb412a1aed1f03d3c62a49 Author: Simon Wilkinson Date: Mon Jul 27 22:32:01 2009 +0100 More warnings cleanup for vol/ Prototype a number of functions Add additional includes as required Make some existing prototypes match the actual declarations Volume IDs are unsigned in most of the code, change this bit to match Make various Procs take an anonymous pointer, so they can be type checked Add vol_internal.h for prototypes internal to this package Reviewed-on: http://gerrit.openafs.org/235 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear commit 479ce49e9ceb3ad7ea3dd2282759689a7ab43f4c Author: Simon Wilkinson Date: Sun Jul 26 19:41:30 2009 +0100 Further warning cleanup for the libadmin directory More code cleanup for libadmin, including additional header inclusion, better prototyping, and signed/unsigned and const fixes Reviewed-on: http://gerrit.openafs.org/228 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 4c2e426d2dad559e1ed2c2c43d48193400b22c61 Author: Simon Wilkinson Date: Sun Jul 26 19:23:08 2009 +0100 Move end label into correct position The end label was in the wrong #ifdef block in order to actually be referenced in the case where USEIFADDR is unset Reviewed-on: http://gerrit.openafs.org/226 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit d48b1e83bfb5ab483877df0ff633049a9b0bbce1 Author: Simon Wilkinson Date: Sun Jul 26 19:34:48 2009 +0100 Additional prototyping in dir.h Add prototypes for functions used by the file and volservers Reviewed-on: http://gerrit.openafs.org/227 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 581ec9f06a8958637db33d14f8d0e24d841d5eff Author: Marc Dionne Date: Mon Jul 27 11:29:34 2009 -0400 Eliminate some "implicit function declaration" warnings Include appropriate header files to eliminate some warnings for implicit function declarations. These are simple cases that don't generate new warnings because of the prototypes. Use grp.h if it exists to get setgroups() definition. Reviewed-on: http://gerrit.openafs.org/233 Tested-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1ddc7fa920213f9b5455e632bbddf05b866af647 Author: Adam Megacz Date: Sun Jul 26 20:32:07 2009 -0700 In rxi_SendPacket[List], down hosts if ENETUNREACH or equivalent This patch causes rxi_SendPacket[List] to "down" a host if rxi_Sendmsg() returns -ENETUNREACH (or equivalent). Previous behavior only did this check if defined(KERNEL) becauase non-defined(KERNEL) implementations did not return meaningful error codes from rxi_Sendmsg(). Jeff Altman supplied the logic for the AFS_NT40_ENV case; I was not able to test this (I do not own a Windows license) and took him on his word. Reviewed-on: http://gerrit.openafs.org/59 Reviewed-by: Adam Megacz Tested-by: Adam Megacz Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d82e9c851c4d8ad765a0a81b9d5f290d184b7b07 Author: Marc Dionne Date: Sun Jul 26 22:28:29 2009 -0400 Unused variable cleanup Eliminate some warnings for unused variables. In most cases the variables are not used at all and are removed; in a few cases the declarations need to be ifdef'ed to follow the code that uses them. For a typical build here this removes 24 warnings. Reviewed-on: http://gerrit.openafs.org/232 Reviewed-by: Jeffrey Altman Tested-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 38a641bd6b41fe37a8be1614578efa9cb8b6da53 Author: Jason Edgecombe Date: Sun Jul 26 21:26:59 2009 -0400 Future-proof the wording of the auditlog options in the man pages It was suggested that the auditlog option should not say there is one record per RPC. In the future, there might be a need for multiple records per RPC. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/229 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9a490c96a074f4c3c82a3f01c18bc74cc19ae184 Author: Marc Dionne Date: Sun Jul 26 21:45:33 2009 -0400 Build fix - pre-processor typos in rx_lwp.c and rx_pthread.c Commit 119c756d96c4a7f9e01e4ff6bb20156f1abf761b introduced a typo in two places, using #elif instead of the apparently intended #else. Reviewed-on: http://gerrit.openafs.org/231 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 119c756d96c4a7f9e01e4ff6bb20156f1abf761b Author: Adam Megacz Date: Sun Jul 19 11:00:41 2009 -0700 Use -errno or WSAGetLastError() as return value from rxi_Sendmsg() This patch causes the pthread and lwp implementations of rxi_Sendmsg() to use -errno or WSAGetLastError() as the return value if it is positive. This is required in order to communicate more meaningful error conditions to rxi_SendPacket[List], which should "down" a host immediately when it observes ENETUNREACH. Jeff Altman supplied the logic for the AFS_NT40_ENV case; I was not able to test this (I do not own a Windows license) and took him on his word. Reviewed-on: http://gerrit.openafs.org/58 Tested-by: Derrick Brashear Reviewed-by: Adam Megacz Tested-by: Adam Megacz Reviewed-by: Derrick Brashear commit 20687eecd09cdcf46274979d744de8708e6567b3 Author: Jeffrey Altman Date: Sun Jul 26 13:03:49 2009 -0400 Windows: Add buf_FindAll() and buf_FindAllLocked() Add two new buffer search functions buf_FindAll and buf_FindAllLocked. Similar to buf_Find and buf_FindLocked except they search the all buffer list. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/225 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5d80dbe42622f17f881e7f53a798a5c1fd0e735b Author: Jeffrey Altman Date: Sun Jul 26 12:57:10 2009 -0400 Windows: Add cm_GetVolumeType Add new volume utility function cm_GetVolumeType which returns the type of volume based upon provided volume group and volume id. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/224 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit cdbd09abf1590c5b84d8238e3cf4096919e3446f Author: Jeffrey Altman Date: Sun Jul 26 12:20:26 2009 -0400 Windows: Add cm_req_t parameter to cm_MergeStatus cm_MergeStatus allocates its own local cm_req_t object even though all of its callers already have an active cm_req_t object available. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/223 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f5c25235008a446449f1220f76fa5037bdceb637 Author: Jeffrey Altman Date: Sun Jul 26 11:54:27 2009 -0400 Windows: Add cm_req_t parameter to buf_Get* functions The buf_Get* functions do not currently accept a cm_req_t parameter. As a result they allocate their own cm_req_t on the stack even though all callers already have one that can be used. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/222 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 3781ef99e379cb47cb33e86d555d8cfd495dcf9d Author: Jeffrey Altman Date: Sun Jul 26 11:48:37 2009 -0400 Windows: Add enhanced audit log to afsauthent.dll Add the enhanced audit log support to afsauthent.dll. Reviewed-on: http://gerrit.openafs.org/221 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 96c746c75260a3cf6dc58fcf692b44f83ef65a95 Author: Jeffrey Altman Date: Sun Jul 26 11:01:43 2009 -0400 Permit enhanced audit logs to work on Windows Gerrit 82 / Git 7b0b6a0ce9b320a3145f9d600596946230d815f0 broke the Windows build. Add audit-file.obj to file list in NTMakefile. Remove unnecessary includes from audit.c. Properly conditionalize includes in audit-file.c. Reviewed-on: http://gerrit.openafs.org/219 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 777a4a9be8f909648d05d6644624e822aeca8423 Author: Asanka Herath Date: Sun Jul 26 10:16:33 2009 -0400 Windows: Tests for afsd modules Add test routines for internationalization routines. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/218 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit e3b7fa7a1ebacee6a7bf0d15d34d382d22ba3d26 Author: Jason Edgecombe Date: Sat Jul 25 13:37:08 2009 -0400 Expanded the -auditlog entries in the man pages of the server processes The expanded auditlog explanation includes what information is recorded in the auditlog. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/213 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bb981b953f34fc0e63a0a09020c57329dd44ac98 Author: matt@linuxbox.com Date: Wed Jul 22 15:43:22 2009 -0400 Portable lock-free data structures by Keir Fraser (MCAS) The MCAS suite, previously released as lock-free library, under a non-restrictive license. This software includes software previously released in 2003 under a GPL license, but released by the original copyright holder, Keir Fraser, under a BSD license, on 5/28/2008. Reviewed-on: http://gerrit.openafs.org/183 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 55b8a4d35eb5913ebdc9e5ce8c1f1db525c55ff1 Author: Russ Allbery Date: Fri Jul 24 13:38:09 2009 -0700 Document human-readable size suffixes Document that the quotas passed to fs setquota, vos create, and vos setfields and the size passed to fs setcachesize may take a suffix indicating the unit. This documents the change in behavior implemented by 54c0a3f3e6575fa5af39ddd797d5381c36b48001. Fix a copy/paste error in the vos create -maxquota option definition. Reviewed-on: http://gerrit.openafs.org/212 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7b0b6a0ce9b320a3145f9d600596946230d815f0 Author: Andrew Deason Date: Wed Jun 24 17:46:27 2009 -0400 Enhance audit logs to support SysV message queues Adds support for sysv message queues for fileserver audit logs. This also organizes the audit log code into various 'interfaces', of which there are two: the original 'file' interface, and the 'sysvmq' interface that this adds. The interface is configurable at runtime with the -audit-interface switch. FIXES 124674 Reviewed-on: http://gerrit.openafs.org/82 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 29a5ddf1ddc05dd1ea826220a424f4f6650cc0c7 Author: Andrew Deason Date: Mon Jul 6 10:29:20 2009 -0500 Allow specifying vos create/addsite volume IDs This adds the -id option to 'vos create', and the -roid option to 'vos create' and 'vos addsite'. This allows the user to manually specify the volume IDs that a new RW or RO volume will get (or explicitly specify that an RO volume ID should be unset), instead of always relying on the volume IDs retrieved from the vlserver. Reviewed-on: http://gerrit.openafs.org/157 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e435e248f44c46866cb73db185b9548c0bd148b4 Author: Jeffrey Altman Date: Fri Jul 24 12:58:26 2009 -0400 Running bos -noauth should not require client CellServDB configuration When setting up a new cell, the admin is instructed to use "bos -noauth" to configure the servers and only afterwards create the client configuration. This leads to a catch-22 since currently bos -noauth fails if there is no client configuration even though it is not required. This change avoids the call to afsconf_Open() which is only required if tokens are being acquired. FIXES 125156 Reviewed-on: http://gerrit.openafs.org/209 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a6025e0268fd7cff6ee7de145bdbf59cc350c572 Author: Daria Phoebe Brashear Date: Fri Jul 24 00:44:31 2009 -0400 afsprefs pane shouldn't hardcode 10.4 sdk 10.4 sdk isn't available in the release after 10.5 as a default. don't hardcode it same with afscell Reviewed-on: http://gerrit.openafs.org/207 Tested-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ed74213df6449aba8ec58250f912fbc526a3cb56 Author: Jeffrey Altman Date: Thu Jul 23 22:23:13 2009 -0400 Windows: Move src/NTMakefile to top-level in order to avoid copying For some unknown reason the Windows top-level NTMakefile is stored at src/NTMakefile and must be copied to the top-level before it can be used. Now that git permits easy file moves, relocate src/NTMakefile to where it belongs. Reviewed-on: http://gerrit.openafs.org/206 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f914b42d26305ba5af3efb4aeee9f74244150376 Author: Simon Wilkinson Date: Thu Jul 23 20:33:36 2009 +0100 Make buildpkg work out of tree Don't reference files in the local directory, so that buildpkg.sh can be invoked from elsewhere Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/202 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 1ea9c02f8ec985605a52bde331de5c848a7a5d56 Author: Toby Blake Date: Thu Jul 23 20:18:28 2009 +0100 Finish afscell implementation work This patch completes the implementation of an install time prompeter for information about the local AFS cell, which is then used to populate the ThisCell file. It removes the need for manual editing of configuration files as part of the installation. (Build system modified by Simon Wilkinson from Toby's original patch) Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/201 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit adddef8d1464cdf5ef07e9ee5e0b8a09f9ce8805 Author: Daria Phoebe Brashear Date: Thu Jul 23 15:42:14 2009 -0400 correct macos 10.6 amd64 support add a missing space so the kernel module can link Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/203 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b4564fa8254afbfef94915f1051a5ad7ab17b11d Author: Simon Wilkinson Date: Thu Jul 23 19:27:47 2009 +0100 Move afscell to platform/DARWIN Move our current afscell code into platform/DARWIN so that it's in a location that can be added to the build, rather than packaging, step Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/200 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c24c251966f218bcf9c0bd13718ef00ca4d12e80 Author: Marc Dionne Date: Thu Jul 23 16:52:46 2009 -0400 Fix build error - libafsrpc.map syntax Fix a build error introduced by commit 3a6d18: /usr/bin/ld:./libafsrpc.map:125: syntax error in VERSION script There seems to be a missing semicolon with the new rx_GetLocalPeers entry. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/205 Reviewed-by: Jacob Thebault-Spieker Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8af5762909714367c1cc764b3f491c06c2bcd5d0 Author: Russ Allbery Date: Sat Jul 18 11:38:22 2009 -0700 Clean up some obsolete Autoconf code Remove hand-crafted equivalents of AC_SEARCH_LIBS for socket, connect, and gethostbyname functions. The only effective difference between this code and AC_SEARCH_LIBS was to define the HAVE_* macros for the functions, which are not used anywhere in the tree. Remove AC_FUNC_SETVBUF_REVERSED. This call no longer does anything in current versions of Autoconf since the last system with this problem was based on SVR2 and became obsolete in 1987. Remove the one place in the source tree where the results are used. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/154 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ab27eb24afce7a467a2e0da8dc3eafab08ed4c14 Author: Jeffrey Altman Date: Thu Jul 23 15:43:55 2009 -0400 Windows: rename compile_et.pod to afs_compile_et.pod Gerrit 175 renamed compile_et and compile_et.pod to afs_compile_et*. Fix the Windows build system to process the new pod file name and modify the WiX installer scripts to install afs_compile_et.html. FIXES 125152 LICENSE MIT Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/204 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 6bb7bad9fc258c482d2f5786f2b03e90ccb54ad2 Author: Simon Wilkinson Date: Tue Jul 21 20:53:57 2009 +0100 Further code cleanup for the backup suite Protect butm.h against multiple inclusion Prototype more functions for internal use in bucoord Remove some unused variables Include additional headers as required Prototype exported functions in budb Make SendReturnList helper function generic, by using a void * rock Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/168 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0e6a776e0e73b532d0d22ddeef20c868b95f8aed Author: Simon Wilkinson Date: Thu Jul 23 18:44:42 2009 +0100 Remove duplicate copy of afssettings.m afssettings.m lives in src/platform/DARWIN. Remove the duplicate copy from this directory, and the (now unnecessary) Makefile. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/199 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c321cb467220bbdf2ff49d5fa6e052fd27a4df5e Author: Simon Wilkinson Date: Wed Jul 22 01:11:15 2009 +0100 Rename installed version of compile_et Rename the installed version of compile_et to afs_compile_et to avoid conflicts with other, more standard, users of com_err. Also rename the man page to match Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/175 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 43ec8a64eb066774ee29136269e77dc0db1ff01d Author: Matt Benjamin Date: Tue Jul 21 17:07:36 2009 -0400 Refactor OpenBSD param files into common and architecture-specific sections. The new structure follows the pattern of the NetBSD param files, as suggested by Derrick. Since the change is retroactive, it seems reasonable to also make the retroactive change to add the amd64 param files, back to OpenBSD 3.6. OpenBSD 3.6 added SMP support for x86_64, so the architecture was a mature subtarget at that point. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/177 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5cce838a2454927c3fea8ad6defadf1f2ce4833f Author: Russ Allbery Date: Tue Jul 21 11:04:41 2009 -0700 Fix warnings in vlserver/vlprocs.c rxinfo's code to print out the principal corresponding to an rx_call uses static arrays for the principal components but was checking that the array pointer was non-NULL when deciding whether to print principal components. Instead check whether each portion of the principal is the empty string. Add explicit initializations of the static buffers to the empty string so that we're not relying on rxkad_GetServerInfo always initializing them for us. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/163 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ccb3e316868f381831d9ddda530af83102f67697 Author: Jeffrey Altman Date: Wed Jul 15 03:58:02 2009 -0400 Modify Solaris Rx NetIfPoller to avoid Panic This patch changes the common error reporting type from CE_PANIC to CE_WARN and adds appropriate cleanup processing so that we do not leak resources if an error occurs. LICENSE MIT FIXES 124498 Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/97 Reviewed-by: Russ Allbery Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e8a2833996e783f4ebd051ae87dbd301948689b0 Author: Simon Wilkinson Date: Wed Jul 22 22:07:32 2009 +0100 Squish more warnings in xstat Use a correct prototype for a_ProbeHandler in xstat_cm_Init Fix a printf warning rx_getAllAddr and afs_cb_interface.addr disagree on the sign of addresses afs_interface.addr is a [], which we then use & to get the address of. Fix this to stop the compiler from sulking. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/184 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit c9f313ba6a26a0a21632b439e690efefc4e7c260 Author: Simon Wilkinson Date: Wed Jul 22 22:40:13 2009 +0100 Do not call principal_ntoh to copy ktc_principal structs principal_ntoh() is designed for butc_principal structures, which are a different size from ktc_principal structures, and so it can't be used to copy them. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/185 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 889907ebd1f6bac883d116d2754b1cb599fec23c Author: Daria Phoebe Brashear Date: Thu Jul 23 11:46:50 2009 -0400 platform makefile should handle clean target pass "make clean" through to platform-specific makefiles Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/198 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f1bb016e12a1f4bb3b9b01d5a9abe4f8c8dabe32 Author: Claudio Bisegni Date: Thu Jul 23 16:40:39 2009 +0200 Makefile.in modification for compile AFSPreference source code Have been added the rule "OpenAFS.prefPane" tha compile with xcodebuild the xcode project Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/197 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 694c5ca3f400ce88219f60edec75249bf73cc8fc Author: Claudio Bisegni Date: Sat Jul 11 00:18:56 2009 +0200 OSX Preference Pane Source Import Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/196 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3a6d185d400d88607c28514f7b2ba5c0361c91b3 Author: Jacob Thebault-Spieker Date: Wed Jul 22 17:56:32 2009 -0400 Expose locally collected rx peer statistics This implements rx_GetLocalPeers(), which exposes peer statistics that are currently collected to the cache manager. This function will later be used to rank both the file server and vldb server lists using the statistics exposed by rx_GetLocalPeers(). Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/186 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 2675642e024f56a3069414d1f96ee440c9cb0c77 Author: Claudio Bisegni Date: Sat Jul 11 00:18:04 2009 +0200 OSX Preference Pane Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/195 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 706b299e1e5bb7658c1a9a26eae4e277027ce731 Author: Mickey Lane Date: Thu Jul 23 09:20:27 2009 -0400 Update Windows strcmpi call This POSIX function is deprecated beginning in Visual C++ 2005 Change to _stricmp instead This change affects 4 calls in 3 Windows only files. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/188 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 77b661c6a07346117896f9de4547976e54e02573 Author: Jeffrey Altman Date: Thu Jul 23 10:12:02 2009 -0400 Windows: Fix cm_UpdateVolumeStatusInt log message In the server "down" case, the log message reported "online". Fix that to avoid confusion while debugging. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/194 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f26ff22c2a4cd93e07c141ec3be85094251e3f6b Author: Mickey Lane Date: Wed Jul 22 14:55:02 2009 -0400 Remove 8.3 dir requirement for Windows IDN path This adds double quotes around the IDNMRedistDir symbol in ..\wix\NTMakefile so that the 8.3 alternate directory name is no longer required. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/182 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 22996dc4d6d22b0b811ef5e0ae5bff8441629a6d Author: Russ Allbery Date: Wed Jul 22 07:00:10 2009 -0700 Remove conditional on LINUX/osi_pag_module.c osi_pag_module.c should not be built conditionally based on whether the NFS translator is enabled. This file is used by afspag.ko, which is run on NFS translator clients, not servers, and should not have GPL symbol problems. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/179 Reviewed-by: Derrick Brashear Tested-by: Marc Dionne Reviewed-by: Marc Dionne commit 69cf150be870f4b4f9d10b7d0b0aa780054c6958 Author: Felix Frank Date: Thu Jul 2 08:55:47 2009 +0200 Unite CacheStoreProcs and add abstraction calls. The cache type specific differencies among afs_MemCacheStoreProc and afs_UFSCacheStoreProc are divided into two sets of "storeOps". Upon rxfs_storeInit, the appropriate set is chosen. FIXME: Simon suggests that there should be a single set of storeOps, as the main difference lies in what rx_ calls must be made. This decision would then be made by calling a wrapper function from each storeOp. These wrappers should be cachetype-specific and protocol- independent. They would be associated to struct afs_cacheOps. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/107 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 789c3451ba000f7c9665742890b305e2e7938add Author: Simon Wilkinson Date: Tue Jul 21 20:58:36 2009 +0100 Fix warnings in comerr directory Prototype yylex in error_table.y to remove warning Fix the bizarre definition of LOCK_ET_LIST so that it upsets neither the compiler, nor the reader. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/169 Reviewed-by: Jeffrey Altman Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 09c4b3006d81eeb52b89d870ee7568de455040ea Author: Simon Wilkinson Date: Tue Jul 21 20:16:51 2009 +0100 Further prototyping and cleanup of UKERNEL This patch continues to reduce the number of warnings that come from a UKERNEL build. It also replaces the use of a system provided suser() call (which isn't available everywhere), with afs_suser that's provided by UKERNEL. Note that this makes UKERNEL applications usable by everyone, not just root. fork_syscall() becomes a normal function call_syscall() is ANSIfied UKERNEL/osi_groups.c gets the includes it needs UKERNEL/osi_machdep.c stops thinking it's on Solaris UKERNEL/osi_vnodeops.c stops confusing vnodes and vcaches Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/166 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit fc695707f87143f2bfefd1260560cd6fdef613c0 Author: Hans-Werner Paulsen Date: Mon Jul 20 12:06:23 2009 +0200 Use Posix regex(3) within src/bucoord/commands.c Normally pattern matching against volume names is done on the server, but if this fails, the client (src/bucoord/commands.c) is doing this. This program had no code to use regex(3) when HAVE_POSIX_REGEX is defined. This patch adds calls to regex(3) if HAVE_POSIX_REGEX is defined. For systems without POSIX regex there were two (slightly different) implementations in src/bucoord/regex.c and src/util/regex.c. The newer version src/bucoord/regex.c has been modified and moved to src/util/regex.c. Some header files and Makefiles have been removed/updated to work with this setup. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/99 Tested-by: Russ Allbery Reviewed-by: Russ Allbery Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 05ee0932fa3d56193b9cbd235c5faa33fe02876d Author: Marc Dionne Date: Tue Jul 21 18:16:45 2009 -0400 Build fixes: prevent unnecessary rebuilding Fixes to a few Makefiles to prevent needless rebuilding when using make after a successful build. Rework dependencies in src/bubasics to prevent needless rebuilding and fix some remaining parallel build issues. Multiple targets really have to be avoided. Remove dependency on the include/afs directory from the src/config Makefile. Depending on a directory means that we will rebuild the target if the timestamp changes, for instance if other files or sub-directories are installed. This caused param.h to get re-installed in some cases and the kernel module source files to be recompiled. This directory is created in the top-level Makefile anyway so we shouldn't need an explicit dependency. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/171 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit e35dfdcce9d11607669783844331ad2dbafd2793 Author: Hans-Werner Paulsen Date: Wed Jul 22 15:14:33 2009 +0200 avoid call to rxi_FreePacket with NULL pointer the function rx_ReadProc32 (src/rx/rx_rdwr.c) checks the pointer call->currentPacket before the function rxi_FreePacket is called. This test was missing in the function rx_ReadProc. FIXES 125110 Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/178 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 322a7a854b348e68b0bc49f5ad37049af188518f Author: Daria Phoebe Brashear Date: Tue Jul 21 17:09:39 2009 -0400 OSX lock initialization cleanup Move GLOCK creation before other things at modload time. Also remove unused rwlock support from rx kmutex package. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/170 Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit dbdd3190a75ce634c2e13d2e2141c564af379519 Author: Matt Benjamin Date: Sat Jul 18 09:29:20 2009 -0400 Add amd64 subtarget for OpenBSD The subtarget name is amd64_obsd. A sysname is created for the OpenBSD 4.5 release, since it's current. The sysname id range starting at 4000 is claimed for amd64_obsd, with amd64_obsd45 at 4014, so that prior releases can be added in the correct order, if needed. Mention of Jim Rees and CITI in new param file changed to line crediting them for original work. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/153 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ba27f1b3cb08db66e184682b30d60ff6fc4ce43e Author: Daria Phoebe Brashear Date: Tue Jul 21 13:14:57 2009 -0400 AFSOP_STOP_RXEVENT sometimes set without wakeup make sure when AFSOP_STOP_RXEVENT is set, a wakeup is sent on the variable so waiters realize it's the case Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/162 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Russ Allbery commit f149a3c54b0c0c3503556722e9b7f9d8f0b793b8 Author: Andrew Deason Date: Wed Jul 15 09:54:32 2009 -0500 Correct ctime arguments Corrects a few places throughout the tree where ctime() is incorrectly passed a pointer to an afs_uint32 or similar fixed-width datatype, instead of a pointer to a time_t. FIXES 124538 Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/100 Tested-by: Andrew Deason Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 262be76294c1c1b2cfdb5e3d77118b6aae5ed430 Author: Simon Wilkinson Date: Tue Jul 21 11:58:47 2009 +0100 Make DRelease take an anonymous pointer DRelease is used to free data blocks returned by the dir package. These can be any of a number of different types, which we were previously dealing with by casting everything to (struct buffer *) before calling DRelease. Instead, make DRelease take a (void *), so we can free any dir package product without requiring casts. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/159 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit f56ca81fbf4abc8d7d1e6e7c5b7c37080cb37b9e Author: Simon Wilkinson Date: Tue Jul 21 14:06:36 2009 +0100 Clarify the proscription of $< Clarify the situations in which $< can be used, as we do use it in some places in the tree. It is sufficiently portable in pattern rules, but should not be used elsewhere Also, change the function definition example to match the format used through out the source tree. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/160 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7ee55ba59f39587591b4e3af0702889a24d5e118 Author: Daria Phoebe Brashear Date: Mon Jul 20 09:40:26 2009 -0400 fix init script install rules for linux and darwin the mode needs to be provided before src dest; do so, so we get boot scripts again Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/156 Reviewed-by: Simon Wilkinson Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 5bc9641620d8e1c56a4af6857cb4c79109c79194 Author: Felix Frank Date: Mon Jul 20 11:50:06 2009 +0200 Fixed out-of-tree builds. The problems were * wrong location of Makefile.version-CML * lots of omissions of "$?" in favor of actual file names in Makefiles * wrong dependencies in pam/Makefile.in The latter now point to TOP_INCDIR. Still, ktc.c could not be built from src/pam (buildtree), as include "..." would not work on generated headers. Therefore, it uses include <...> where appropriate now. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/155 Tested-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b4783c245d233a0883a29241351869d616a9f6a4 Author: Marc Dionne Date: Sat Jul 18 00:15:01 2009 -0400 Warning cleanups for kernel module build Take care of various warnings (about 70) during a libafs build. A non-exhaustive list of changes: - Unused variables, in some cases to be IFDEFed along with the code that uses it - Cast some const char * to char * for the afs_* functions - Move afs_UFSCacheFetchProc and afs_UFSCacheStoreProc declarations to afs_prototypes.h - Include afsutil.h in error_msg.c to get strlcpy - Change type of argument 3 in export_sysname, to match what the callers are actually doing - Rework a few lines in pthread_glock.c to avoid a warning about unused value - Fix a warning in rpc_scan.c that really looks like a bug (but probably harmless in our case) Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/151 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit f6e46babd8e3a0d51d31ae381748516330f5b84d Author: Michael Meffie Date: Fri Jul 17 11:06:34 2009 -0400 Build on linux 2.4 again Add missing conditional to fix building on linux 2.4. FIXES 125120 Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/148 Tested-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 2797f8380a700eee870fbd3a5fb08a2cb4ea1deb Author: Jeffrey Altman Date: Sat Jul 18 03:46:21 2009 -0400 Correct ifdefs in rx.c for rx packet debugging Reported by Marc Dionne Fix two sets of ifdefs in rx.c required for RXPACKET_DEBUG. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/152 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 25eb69a32aac30f50a33432664c287984f24162c Author: Marc Dionne Date: Fri Jul 17 21:29:10 2009 -0400 Disable kdump build on linux 2.6 Don't try to build kdump on linux 2.6 where it has been known to be broken for a long time. The build failure was ignored, but produced a large number of errors and warnings, polluting the build log. On a test amd64_linux26 system with a recent kernel and --enable-warnings, this results in over 750 fewer warnings and 100+ fewer errors. Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/150 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 0b3e7a074789dccf4738364e24f20656d3f06729 Author: Felix Frank Date: Wed Jul 1 13:20:14 2009 +0200 Gathered alternative afs_TttCacheFetchProcs and afs_TttCacheStoreProcs Fetch and Store procs now live in the new source file afs_fetchstore.c Reviewed-on: http://gerrit.openafs.org/106 Reviewed-by: Russ Allbery Verified-by: Russ Allbery commit 07692c44d39e3c11347ce7428730342ea9c6f53c Author: Daria Phoebe Brashear Date: Thu Jul 16 14:59:09 2009 -0400 fstrace needs -lnsl on Solaris in order for gethostbyname to be satisfied for util.a, -lnsl is needed Reviewed-on: http://gerrit.openafs.org/146 Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear Reviewed-by: Russ Allbery commit 2cf12c43c6a5822212f1d4e42dca7c059a1a9000 Author: Simon Wilkinson Date: Tue Jul 14 00:01:09 2009 +0100 Use AFS_PTR_FMT to format pointers Replace "0x%x" with "%"AFS_FMT_PTR for pointer printing in all locations where gcc flags a warning. This change is warnings reduction driven - there are many more occurences of this in the code which don't currently result in compiler warnings, because the va_args functions they're used in aren't defined as printflike. Reviewed-on: http://gerrit.openafs.org/75 Verified-by: Russ Allbery Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 0c7bb45c91cee0d47fa0263831f7d22889153a36 Author: Simon Wilkinson Date: Fri Jul 10 16:13:09 2009 +0100 Make afs_warn() and afs_warnuser() va_args The afs_warn() and afs_warnuser() functions take a variable number of arguments. Historically, we've handled this by just not prototyping them. This change builds on the work done a while back to get a prototyped osi_Panic() working in the kernel, and contains the same work arounds for platforms with no usable va_args support (HPUX) and those where support is limited (some Darwin, some Linux) Reviewed-on: http://gerrit.openafs.org/27 Reviewed-by: Russ Allbery Verified-by: Russ Allbery Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 54b13240943e1a4f244d412892d0d266def42a5e Author: Russ Allbery Date: Wed Jul 15 00:47:09 2009 -0700 Demystify catopen return value in fstrace For some reason, the code was, on all platforms other than Digital UNIX, assigning the return value of catopen to an integer, with and then immediately assigning it to an nl_catd (the actual return value type). Remove all of that and store the return value directly in an nl_catd variable. Reviewed-on: http://gerrit.openafs.org/93 Reviewed-by: Simon Wilkinson Verified-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 0e3036e4d13dd3f055c9a2d9406e5953587b25f6 Author: Russ Allbery Date: Wed Jul 15 00:06:09 2009 -0700 Simplify fstrace message catalog and support non-dest installation fstrace was searching for its message catalog first through the normal NLS message catalog search paths and then falling back on the client configuration directory. This, however, is neither a traditional message catalog for internationalization nor is it a configuration file. Instead, search for the message catalog only in a C directory under AFSDIR_CLIENT_DATA_DIRPATH, which is for architecture-independent data, and simplify the code. Now that we have a standard location for the message catalog, install it with make install as well as make dest. Reviewed-on: http://gerrit.openafs.org/92 Verified-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 5b224f299e27e7708feb9372e362fd74f9441d01 Author: Hartmut Reuter Date: Thu Jul 16 10:33:57 2009 +0200 Remove misplaced lines The same lines appears 17 lines up. So it is already done. But here we shouldn't do it again after having released the write lock in tdc and tdc itself Reviewed-on: http://gerrit.openafs.org/79 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 79f00021ce2d7049e0c69815ab4599a9161145e6 Author: Russ Allbery Date: Tue Jul 14 23:22:00 2009 -0700 Provide an AFSDIR_DATA_DIR path for architecture-independent data Add AFSDIR_DATA_DIR to dirpath.h, defined to be the location for installing and finding architecture-independent data files. Add a corresponding AFSDIR_CLIENT_DATA_DIRPATH macro that retrieves the possibly-prefixed version of this path. This will be ${datadir}/openafs with normal UNIX installation paths and /usr/vice/etc for Transarc paths. Since there is no apparent need for this path on Windows, it is not defined in Windows builds. The only intended use for this path for right now is the message catalog for fstrace. Reviewed-on: http://gerrit.openafs.org/91 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 868ddef206e7c764427cf4abb91e1e69326a2198 Author: Jeffrey Altman Date: Thu Jul 16 11:53:52 2009 -0400 Do not print volume name in DisplayFormat2 if status is not VOK DisplayFormat2 is used to generate volume output for ListVolumes and ExamineVolume. If the volume status is not VOK, the name field will not have been populated with valid data. Do not print it. This commit also removes an extraneous switch block from XDisplayFormat2. The switch variable is already known to have the value VOK due to an enclosing conditional. FIXES 125111 LICENSE MIT Reviewed-on: http://gerrit.openafs.org/140 Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear commit a2d3f60222b29988f78b42608088d4db3da95d9d Author: Simon Wilkinson Date: Mon Jul 13 23:00:44 2009 +0100 Make UAFS builds stop the main build The sub-make invocations in libuafs ignored the return code of the make, which allowed the libuafs build to appear to succeed even if files had failed to build. Fix this. Reviewed-on: http://gerrit.openafs.org/74 Verified-by: Russ Allbery Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear commit 1d1ae6195bd03c4348a57914cf892e06b507d855 Author: Daria Phoebe Brashear Date: Wed Jul 15 14:57:56 2009 -0400 MacOS 10.6 support update Make things build on MacOS 10.6 again. Don't break 10.5 build. Fix an error in the MacOS port which was left from previous head. Reviewed-on: http://gerrit.openafs.org/96 Verified-by: Derrick Brashear Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear commit 7cd67334333f9b25c5cdf5f0169809948db8896a Author: Jeffrey Altman Date: Thu Jul 16 01:54:56 2009 -0400 Correct build rules for NSIS in top-level NTMakefile NSIS.i386 build rule must build the NSIS directory, not the NSIS.i386 directory. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/105 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 280861970ec2b714d1f2d651541a9552f92a32e4 Author: Russ Allbery Date: Tue Jul 14 22:52:35 2009 -0700 Remove NLS message catalog implementation for pre-2.0 OSF fstrace had its own copy of the NLS catopen/catgets/catclose library functions only on OSF platforms prior to 2.0 with the functions renamed to add a "1" (which looked cut and pasted from somewhere else). This is old enough that we no longer support that platform, so drop all of that code and partly untangle the #ifdefs to remove the pre-2.0 OSF case. Reviewed-on: http://gerrit.openafs.org/88 Reviewed-by: Derrick Brashear Verified-by: Simon Wilkinson commit 86b0f09bddeded9515f39ad17b47a0b4e23a968b Author: Jeffrey Altman Date: Wed Jul 15 11:26:12 2009 -0400 vos print_addr() must call ubik_VL_GetAddrsU with correct level of indirection Reported by Marcus Watts. print_addr() accepts a afsUUID* and must not pass the address of that variable to ubik_VL_GetAddrsU. LICENSE IPL10 Reviewed-on: http://gerrit.openafs.org/101 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 6d9617981c3fb6c0d188f12e896ad42c34d9e611 Author: Jeffrey Altman Date: Wed Jul 15 19:58:47 2009 -0400 de-"register" src/WINNT Remove all uses of "register" from the src/WINNT source tree. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/104 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 1c24db09fa193f964729aee27f309c27dec9853a Author: Jeffrey Altman Date: Wed Jul 15 19:16:14 2009 -0400 Add/Update .gitignore files for Windows builds Many Windows files were not included in the .gitignore files. Many directories did not have .gitignore files at all. Add and update where required. LICENSE IPL10 Reviewed-on: http://gerrit.openafs.org/103 Verified-by: Simon Wilkinson Reviewed-by: Simon Wilkinson Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 15d203c7be957ba0e63288e2d95cbd078d94eb21 Author: Michael Meffie Date: Wed Jul 15 12:46:56 2009 -0400 Fix assert message to avoid printing garbage Fix an off by one error in assert() to avoid printing garbage characters to the log. Remove the newline character generated by ctime() to match the format generated by the other logging functions. FIXES 124613 Reviewed-on: http://gerrit.openafs.org/102 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 4f36dd089a9c7187f94f77516a486245c057f7f4 Author: Andrew Deason Date: Tue Jul 14 11:29:01 2009 -0500 Ignore SIGSYS when issuing pioctl syscall Ignore SIGSYS when we issue the pioctl syscall, so we don't dump core when the kernel module hasn't yet been installed on several platforms. Also, restore the old SIGSYS signal handler afterwards, so we don't cause any side-effects. Reviewed-on: http://gerrit.openafs.org/81 Verified-by: Andrew Deason Verified-by: Derrick Brashear Reviewed-by: Russ Allbery commit 00e32618c0f08f314e191655e373452891213ee5 Author: Asanka Herath Date: Wed Jul 15 11:23:42 2009 -0400 Use InterlockedExchangeAdd() instead of InterlockedAdd() on Windows InterlockedAdd() is not supported on all the platforms we wish to support. However, InterlockedExchangeAdd() is. The two functions are semantically similar with the exception that InterlockedExchangeAdd() returns the initial value of the object being modified while InterlockedAdd() returns the resulting value. Since the return value of the rx_MutexAdd() macro is unused, this is irrelevant. Reviewed-on: http://gerrit.openafs.org/98 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 0732d4505654fb51daf6302439b467dffcbe7d3d Author: Jeffrey Altman Date: Wed Jul 15 02:41:03 2009 -0400 To reference one element of a C-string use [] Reported by Marcus Watts Pointer arithmetic is inappropriate when attempting to output one of the elements of an array or C-string. LICENSE IPL10 Reviewed-on: http://gerrit.openafs.org/90 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 6a68be71da262b7cc3a150097d579f64325c29ce Author: Jeffrey Altman Date: Wed Jul 15 02:27:29 2009 -0400 RXAFSCB_GetCellServDB takes a serverList not an array of afs_int32 Reported by Marcus Watts ListCellsRPC calls RXAFSCB_GetCellServDB which takes a serverList and not an array of afs_int32. Add the serverList and copy the resulting server addresses into the array of afs_int32 address values. Include afs/afscbint.h instead of afs/afsint.h in order to obtain prototypes for RXAFSCB_ functions. Reviewed-on: http://gerrit.openafs.org/89 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 47e31b020c3393fdbda9dddd99269482693cfb6c Author: Jeffrey Altman Date: Wed Jul 15 01:53:32 2009 -0400 Correct pointer type of 'next' field within struct volinfo Reported by Marcus Watts The next field of struct volinfo is supposed to be a pointer to a struct volinfo. LICENSE IPL10 Reviewed-on: http://gerrit.openafs.org/87 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit f498c18a6f7300eb89ca3b9d9b85c4d461fa8474 Author: Jeffrey Altman Date: Wed Jul 15 01:46:45 2009 -0400 Do not call principal_hton() to copy ktc_principal structs Reported by Marcus Watts. principal_hton() is used to copy butc_principal structs. Passing in a ktc_principal as source and destination will result in beyond the end of the ktc_principal. LICENSE IPL10 Reviewed-on: http://gerrit.openafs.org/86 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit a8cd0240e19301673598544166dab639f8e83c10 Author: Jeffrey Altman Date: Wed Jul 15 01:32:28 2009 -0400 Do not call ctime() twice in the same statement Reported by Marcus Watts. Two calls to ctime() in the same fprintf() statement will result in only one of the times being printed twice. This is due to the fact that ctime() returns a static buffer. LICENSE IPL10 Reviewed-on: http://gerrit.openafs.org/85 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 91ff083dfb098232722ed0fb9dc9bed495174e27 Author: Jeffrey Altman Date: Wed Jul 15 01:06:07 2009 -0400 Add missing TapeLog parameter to warning message Bug identified by Marcus Watts. Add missing TapeLog parameter to warning message. LICENSE IPL10 Reviewed-on: http://gerrit.openafs.org/84 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 6d6390338c7b3eadb725f916464ddb7d3b3e7b09 Author: Jeffrey Altman Date: Mon Jul 13 21:24:58 2009 -0400 Improve Windows Build System By Using MT-safe Versions of Libraries For many years the Windows Build System has incorrectly mixed some Pthread and LWP code. One of the side effects of this mixing was the need for the EXT2 extern macro definition in src/rx/rx_globals.h which permitted the LWP compiled routines to link with the Pthreaded afsrpc library. This commit creates or modifies multi-threaded versions of various libraries including mtafsubik.lib, mtafsutil.lib, mtafsvldb.lib, and mtafsvol.lib. All of the threaded servers now make use of these libraries. This reduces the number of times that many source files were recompiled for each server directory. util_GetInt32 was defined in both src/util/volparse.c and src/WINNT/afsd/fs_utils.c. Now that mtafsutil.lib is being used within src/WINNT/afsd there is no need to maintain the duplicate copy. The export list for afsauthent.def now includes all of the ubik_PR_xxxx function variants and afsrpc.def now include rxi_CallError as it is linked to outside the rx library. The top-level NTMakefile has been modified to permit the tree to build with the new header and library dependencies. The threaded volserver which never built before now does. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/77 Verified-by: Russ Allbery Reviewed-by: Russ Allbery Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Verified-by: Asanka Herath Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 8a2330a9a6914baf29b94f000848fcca0c331d50 Author: Jason Edgecombe Date: Tue Jul 14 22:12:18 2009 -0400 Updated chapter 2, sections 1-3 of the Admin Guide Replaced some references to the Authentication Database with Kerberos. Removed text about obsolete tools like rcp, inetd, and rlogin. Corrected references to AFS Product support by replacing them with links to the OpenAFS Support page. Added warnings about using the wrong fsck binary with inode and namei-based fileserver binaries. Removed an obsolete paragraph about ThisCell and how it interacts with the Authentication Database. LICENSE BSD FIXES 124931 Reviewed-on: http://gerrit.openafs.org/10 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit d9445f505ad0fc5a993d954a2d6654785c140351 Author: Jeffrey Altman Date: Tue Jul 14 17:49:00 2009 -0400 Prevent crash on Windows when data version goes backwards Within cm_MergeStatus() cm_FindVolumeByID() was called with a NULL pointer instead of a valid cm_req_t object pointer in the case where the data version for an object received from the file server is smaller than the value already stored in the cache. This results in a NULL pointer dereference. Allocate a cm_req_t object on the stack and initialize it before calling cm_FindVolumeByID() in this case. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/83 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit cdda13eec2a00becb8c2ce5270dd00a0f1097519 Author: Michael Meffie Date: Tue Jul 14 12:03:22 2009 -0400 Fix dirpath shell script generated from makefile Generate the correct paths when building transarc style paths. Remove the redundant dirpath shell script that was generated by the afs-newcell script. Update the run-tests driver to use the build time generated dirpaths. FIXES 124976 Reviewed-on: http://gerrit.openafs.org/80 Reviewed-by: Russ Allbery Verified-by: Russ Allbery commit dc6299f5bbe9defe8627519674a3ffab01443410 Author: Simon Wilkinson Date: Sat Jul 11 00:15:26 2009 +0100 Ukernel prototypes Prototypes and warning fixes for the cache manager when built as part of libuafs Reviewed-on: http://gerrit.openafs.org/73 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 243836efbb89a3b863d29ac9b0459411a4b666d5 Author: Simon Wilkinson Date: Tue Jul 14 00:18:25 2009 +0100 Capabilities are unsigned on Windows too Capabilities are defined in the .xg file as being an array of unsigned integers. Implement them as such on Windows, too. This is a Windows version of the fix in 7191005e4df1eaaf4ec94c8199ffeb72be785794 Reviewed-on: http://gerrit.openafs.org/76 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 54c0a3f3e6575fa5af39ddd797d5381c36b48001 Author: Evan Broder Date: Wed Mar 25 18:18:09 2009 -0500 Allow passing in human-readable units for specifying amounts of space Add a util_GetHumanInt32 function for parsing numbers human-readable units using single-character, uppercase suffixes for indicating orders of magnitude (e.g. 'M', 'G'). Use this function to parse human readable values for all arguments that previously accepted a value in kilobytes: fs setquota, fs setcachesize, vos setfields, and vos create. Reviewed-on: http://gerrit.openafs.org/66 Verified-by: Marc Dionne Reviewed-by: Russ Allbery Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2510a6ec675669739a625305bcc11ab2ad671122 Author: Russ Allbery Date: Sun Jul 12 09:07:12 2009 -0700 Ensure PAM modules are built PIC and pthread-aware where needed Link the PAM modules against libafsauthent_pic and libafsrpc_pic instead of the large collection of LWP AFS libraries so that they are always built PIC, even on platforms that don't normally build everything PIC. This also uses the pthread-aware version of the AFS routines on platforms that support it, avoiding conflict problems between LWP in PAM modules and pthread in a calling application. Build a separate copy of ktc.krb.o in the pam directory for pam_afs.krb since there is no AFS_KERBEROS_ENV-aware version of libafsauthent. Enable the PAM module build by default on x86_64-linux now that it's properly built PIC and can compile. Stop ignoring build failures in the PAM modules if they're configured to build. On platforms where they should not be built, they should be excluded in acinclude.m4. Reviewed-on: http://gerrit.openafs.org/65 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit cd37fd33f70c2196ff64188e32ff759590cb3748 Author: Russ Allbery Date: Sun Jul 12 11:26:03 2009 -0700 Make ktc_curpag generally available ktc_curpag isn't specific to a Kerberos v4 environment, so move it outside the AFS_KERBEROS_ENV #ifdef. Add it to the auth.h header and to the exports from the shared libafsauthent. Reviewed-on: http://gerrit.openafs.org/64 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7191005e4df1eaaf4ec94c8199ffeb72be785794 Author: Simon Wilkinson Date: Mon Jul 13 18:24:42 2009 +0100 Capabilities are unsigned Capabilities are defined in the .xg file as being an array of unsigned ints. Implement them as such. Reviewed-on: http://gerrit.openafs.org/72 Reviewed-by: Jeffrey Altman Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 86cfd2302074f4bbc2a09e882b70b0b540f019c7 Author: Simon Wilkinson Date: Fri Jul 10 17:57:16 2009 +0100 Remove unused variables in vol Remove some unused variables and isolate items that are demand attach only Reviewed-on: http://gerrit.openafs.org/71 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 215838d65734ad819d3bd27a2f715d1d6f68394a Author: Russ Allbery Date: Sun Jul 12 11:24:17 2009 -0700 Add strlcat and strlcpy to libafsauthent and libafsrpc Other functions included in libafsauthent and libafsrpc are using strlcpy and strlcat, so include those objects in the libraries so that they stay self-contained. strlcat and strlcpy shouldn't be part of the public API for the libraries, for various reasons including the fact that they're not built on all platforms. Therefore, don't add the functions to the library exports and include them separately in each library. Reviewed-on: http://gerrit.openafs.org/63 Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear commit 4c2a6c8799ab7e8fabee9af6d50a7c56cb220cf9 Author: Marc Dionne Date: Sun Jul 12 22:03:36 2009 -0400 Linux build: properly install built kernel module Fix a problem introduced by the recent parallel make patches - the resulting kernel module was not getting copied to the install or dest location. Copy some of the code from the COMPDIRS target for INSTDIRS and DESTDIRS. We still have to call into the lower level make and have it install the module. Reviewed-on: http://gerrit.openafs.org/67 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d58dc56d9986ab863065e5f3d8f926a25aa5b5bf Author: Simon Wilkinson Date: Sat Jul 11 18:54:15 2009 +0100 Add system headers There are a number of places in the tree which are missing system headers such as and . Add these. Reviewed-on: http://gerrit.openafs.org/62 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 42d64b5b1f9944fe35bd6358ebeba9a24162243e Author: Hartmut Reuter Date: Fri Jul 10 15:46:09 2009 +0200 Make 'fs listquota' output readable for large quota With the old print format quota and used values became one large number for quotas in the terabyte range. Fix alignment of the "no limit" string in the Windows fs command for volumes with no quota. Reviewed-on: http://gerrit.openafs.org/34 Verified-by: Russ Allbery Reviewed-by: Russ Allbery Reviewed-by: Jeffrey Altman commit e11eb503790015d817b031f9c15ce13050d836ee Author: Simon Wilkinson Date: Fri Jul 10 18:14:21 2009 +0100 Tidy up the rx directory Give functions that need them return values Add prototyping for server_proc and rx_ts_tinfo_init Make debug functions only build when RXDEBUG is enabled Reviewed-on: http://gerrit.openafs.org/61 Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear commit 94a3f8fb64fa7bc28529eb3a3abd3f5b10f7854a Author: Simon Wilkinson Date: Sat Jul 11 18:07:20 2009 +0100 Remove vlclient.h The vlcient.h header file just provides definitions for functions that are now protoyped elsewhere by rxgen. It is only referenced by vlclient.c which was already including the rxgen header. So, nuke vlcient.h, and references to it. Reviewed-on: http://gerrit.openafs.org/60 Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear commit 8e382795d52b6fe8db33ff5353f841b077a25671 Author: Marc Dionne Date: Sat Jul 11 18:18:08 2009 -0400 Parallel make: additional fixes Testing turned up a few more errors with parallel builds: - Linux: Apply a similar fix for "make dest" to the one in the previous patch for "make install". Avoid conflict between DESTDIRS and COMPDIRS, which also prevents unneeded duplicate work. - Fix a couple of cases where we have 2 targets in a single rule with a command that generates both of them. Two parallel jobs can run this command at the same time, with missing or corrrupted files as a result. The workaround: make one of the targets build the files, and make the second target depend on the other one. Reviewed-on: http://gerrit.openafs.org/57 Verified-by: Russ Allbery Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear commit c8920835ae9e33555a7d023cd0bd3a2f26a98b98 Author: Russ Allbery Date: Fri Jul 10 16:48:42 2009 -0700 Probe for getcwd in configure src/venus/test/fulltest.c wants to use getcwd and expects HAVE_GETCWD to be defined, but we weren't probing for it in configure. Reviewed-on: http://gerrit.openafs.org/51 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8519ed8d217a484c29e514bb2e6e7c7faa88b20e Author: Simon Wilkinson Date: Sat Jul 11 14:37:37 2009 +0100 Make lwp.h always provide fasttime prototypes The fasttime functions are used regardles of whether we're using pthreads or LWP. Previously, lwp.h only provided their prototypes if LWP was in use. Change this so these prototypes are always provided, by refactoring the header a little. In the process, remove some duplicate header includes. Reviewed-on: http://gerrit.openafs.org/56 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d46713d4bd0d0ce32640d973696c914e804413f6 Author: Marc Dionne Date: Mon Jul 6 20:41:25 2009 -0400 Parallel make fixes Fixes several problems with parallel makes in the current source: - Add '+' prefix to many top-level Makefile commands. This informs make that the following command should be treated as a sub-make and propagates the -jN flag. - Add a few missing dependencies - Tweak some Makefiles that work with generated header files to prevent cases where we attempt to use the file while it's being generated - For the Linux kernel build, eliminate duplicated effort between COMPDIRS and INSTDIRS, which also prevents conflict between the two in a parallel situation. FIXES 125031 Reviewed-on: http://gerrit.openafs.org/3 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit df87d886bb1b2cf2bab8075a21a62f11d4eafc97 Author: Daria Phoebe Brashear Date: Fri Jul 10 15:59:55 2009 -0400 Update IRIX build issues Refer to srcdir, not SYS, for syscall.s Don't build fc_test for all (libsys doesn't exist yet) Include needed header for Fd_t in xfs_size_check Reviewed-on: http://gerrit.openafs.org/41 Verified-by: Derrick Brashear Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear commit 7f8249bc57e5a03051f44ec62f1523d02f428692 Author: Jeffrey Altman Date: Sat Jul 11 01:37:45 2009 -0400 Correct format specification for "struct clock" values struct clock contains signed seconds and signed microseconds. The format specification should be %d.%06d in all cases. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/55 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c4c0c67fb6afc30a97c93552d00460b3291ac872 Author: Jeffrey Altman Date: Fri Jul 10 20:43:13 2009 -0400 Correct computation of rx packet resends and data packets sent. rx packet resends were being double counted. rx data packets sent were one more per send list than it should have been. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/54 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 5d4dabc50a0f313b95eb3ab6be7153d5f41fef5f Author: Simon Wilkinson Date: Sat Jul 11 00:54:04 2009 +0100 ANSIfy bu_utils A very small amount of code cleanup to add prototypes, ANSIfy, and remove warnings from the fms.c file Reviewed-on: http://gerrit.openafs.org/53 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit a2e728fe9f34ca12c9d26eb299dbc8806273e9a4 Author: Simon Wilkinson Date: Sat Jul 11 00:51:14 2009 +0100 Prototypes for the update directory Prototyping, ANSIfication, and warning cleanup for the update directory Reviewed-on: http://gerrit.openafs.org/52 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit ac3e0ed03187cf7c8af046adb102d6500452815f Author: Simon Wilkinson Date: Sat Jul 11 00:41:02 2009 +0100 Rename printf cast helpers and clean up format string warnings Some confusion had ensued about the usage of our printf cast helper functions. Rename these to attempt to allay that confusion, and restore the functions themselves to their original definitions. Essentially, afs_printable_int32_ld() and friends are helpers to go from afs specifc types to things that can be emitted by printf without causing compiler warnings. Also clean up some additional warnings from type mismatches between escapes in printf format strings and the variables being printed. Reviewed-on: http://gerrit.openafs.org/50 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit d34017c9edccf35825bc2cf1b345e78aeb50b73a Author: Simon Wilkinson Date: Sat Jul 11 00:07:37 2009 +0100 Warning cleanup for the libadmin directory Where we can, include headers from the include directory Resolve a load of const char* /char * issues Mark some Windows only variables as such Fix prototypes Reviewed-on: http://gerrit.openafs.org/49 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 01ba9cde63214397843c6f45e0abcacb685218c3 Author: Simon Wilkinson Date: Fri Jul 10 23:57:38 2009 +0100 Prototypes for venus/test Add additonal headers, prototypes, and ANSIfy function definitions in venus/test Reviewed-on: http://gerrit.openafs.org/48 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 738878d9f0cbf38e2bb53be13cf7f1d35f217eeb Author: Simon Wilkinson Date: Fri Jul 10 23:36:39 2009 +0100 Further cleanup of the butc directory Now that butm is sharing its prototype, further cleanup, ansification and warnings reduction for butc. Reviewed-on: http://gerrit.openafs.org/46 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 4e7b1578384250a0ab7b054af0fabe157a5dba45 Author: Simon Wilkinson Date: Fri Jul 10 23:46:36 2009 +0100 Prototypes for rxdebug Trivial prototyping and warning cleanup for the rxdebug directory Reviewed-on: http://gerrit.openafs.org/47 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit bf786eaf43cf58aac576994f3bfed5a41957aa32 Author: Simon Wilkinson Date: Fri Jul 10 23:04:25 2009 +0100 Add exported butm_prototypes.h header Add exported header for the butm directory so it can be used elsewhere Reviewed-on: http://gerrit.openafs.org/45 Verified-by: Russ Allbery Reviewed-by: Russ Allbery Reviewed-by: Jeffrey Altman commit fb51d2796f8d7f1ae4338181a80bb5ceb58e2d3f Author: Simon Wilkinson Date: Fri Jul 10 22:27:30 2009 +0100 Export budb_prototypes.h Other modules need prototypes from the budb directory, so we need to export this header. However it contains lots of internal functions. So, split the header into budb_prototypes.h and budb_internal.h, and reference the internal.h header locally. Reviewed-on: http://gerrit.openafs.org/44 Verified-by: Russ Allbery Reviewed-by: Russ Allbery Reviewed-by: Jeffrey Altman commit dae49105c81b526f7fb3c3832984e9411c5c7ac2 Author: Jeffrey Altman Date: Fri Jul 10 15:47:35 2009 -0400 bucoord_prototypes.h is a new public header file. Install bucoord_prototypes.h to the include/afs directory. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/43 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 73cef96bb335056963c31a6ec382cb4fa969b29e Author: Jeffrey Altman Date: Fri Jul 10 15:33:47 2009 -0400 afs/vol_prototypes.h is a new public header file. Add afs/vol_prototypes.h to src/vol/NTMakefile so it will be installed in the public include directory. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/42 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 8978e035bab7c49cceb942589f65d8b0a5d0465c Author: Russ Allbery Date: Fri Jul 10 08:10:37 2009 -0700 Clean up uses of strcpy and strcat in src/vol/namei_ops.c Replace all uses of strcpy and strcat in src/vol/namei_ops.c with either strlcpy/strlcat or afs_snprintf as appropriate. Reviewed-on: http://gerrit.openafs.org/29 Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear commit c244091b192053084d48af0607b0e25419674a76 Author: Simon Wilkinson Date: Fri Jul 10 20:22:18 2009 +0100 Add prototypes for butc Prototype, fix warnings, and ansify the butc directory Reviewed-on: http://gerrit.openafs.org/39 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 586d32c53370458c780c721995695f1ee7bee272 Author: Simon Wilkinson Date: Fri Jul 10 20:28:06 2009 +0100 Don't remove ccode, just conditionalise it The change in b21015242022872101b9c3c78df511e2a2dc6399 broke systems without posix regexes by removing, rather than conditionalising the 'ccode' variable Reviewed-on: http://gerrit.openafs.org/40 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 740d923f4569d888246b231ff9a93278561d3c65 Author: Jeffrey Altman Date: Fri Jul 10 15:07:26 2009 -0400 Add rx_headers build rule on Windows src/util/netutils.c must include rx/rx.h in order to avoid warnings due to the lack of prototypes for rx functions. src/rx depends on src/util being built in order to properly compile. Add a rx_headers build rule to the top level NTMakefile to permit rx headers to be installed before src/util is built. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/38 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 3c6ce91e5a23fa2cb742cb3f6759cec3ece10249 Author: Simon Wilkinson Date: Fri Jul 10 13:52:16 2009 +0100 Roughly prototype the kauth directory A first pass at prototyping and warning reduction for the kauth directory. kauth is plagued by the des key type problems, and no attempt to remedy this has been made. Some other complex warnings remain - it didn't seem worth the effort to do this in too much detail, as it's dying soon. Reviewed-on: http://gerrit.openafs.org/23 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 32e107317cbc0db93b46a56dcf69102e9ab0ff1e Author: Simon Wilkinson Date: Fri Jul 10 18:33:38 2009 +0100 Rework bucoord prototypes for external dlq use Rework prototyping in the bucoord directory so that bucoord_prototypes.h can be used by others who need definitions of the dlq_* types. Add additional prototyping and header includes so these types work correctly No Windows specific changes are required, as the NTMakefile doesn't have header dependencies Reviewed-on: http://gerrit.openafs.org/35 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit b21015242022872101b9c3c78df511e2a2dc6399 Author: Simon Wilkinson Date: Fri Jul 10 12:54:10 2009 +0100 Prototyping for the volser directory Prototyping and warning message reduction for the volser directory. Adds physio.h and dumpstuff.h as internal header files, Many error code variables are changed from being afs_int32, to the 'Error' typedef, to remove signed comparison errors. Reviewed-on: http://gerrit.openafs.org/19 Reviewed-by: Russ Allbery Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e712cae20ec3e256e47fba5bac9b7d467c44810b Author: Simon Wilkinson Date: Fri Jul 10 17:28:44 2009 +0100 Prototype viced Add prototypes, remove warnings, and ANSIfy code in the viced/ directory Reviewed-on: http://gerrit.openafs.org/33 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 8d546dcc90d861df24cef6fcded2fbc5998d7407 Author: Simon Wilkinson Date: Fri Jul 10 13:40:56 2009 +0100 Remove pr_PrintEntry from public headers pr_PrintEntry isn't used outside of the ptserver directory, and requires struct prentry, which is defined internally, so remove it from ptuser.h, and create a new internal header to hold it. Also, tidy up some type mismatch warnings by making static strings const char * Reviewed-on: http://gerrit.openafs.org/22 Reviewed-by: Russ Allbery Verified-by: Russ Allbery commit 3bf2e90f251344f72437dc05e3780ba5c86e8096 Author: Simon Wilkinson Date: Fri Jul 10 16:44:39 2009 +0100 ANSIfy ptclient Change all the function definitions in ptclient to ANSI form Reviewed-on: http://gerrit.openafs.org/32 Reviewed-by: Russ Allbery Verified-by: Russ Allbery commit a151529de62bd6049ddc507c62bc09747c3ec111 Author: Simon Wilkinson Date: Fri Jul 10 13:30:20 2009 +0100 Tidy up util Resolve a number of minor warnings Prototype the stolower function for use elsewhere Reviewed-on: http://gerrit.openafs.org/21 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 095ad16a315bf564139dd9904348f889bee58f73 Author: Simon Wilkinson Date: Fri Jul 10 14:25:40 2009 +0100 Fix return type defaults to int warnings in ubik Fix "return type defaults to int" warnings in ubik/beacon.c Reviewed-on: http://gerrit.openafs.org/24 Reviewed-by: Russ Allbery Verified-by: Russ Allbery commit 4087484fb45c5e6dbde6106d9c389e6f69b80b05 Author: Simon Wilkinson Date: Fri Jul 10 12:10:46 2009 +0100 Tidy up libacl Very small amount of prototyping Rewrite comment block so it wraps at 80 lines Make sure there are no implicit ints Reviewed-on: http://gerrit.openafs.org/18 Reviewed-by: Russ Allbery Verified-by: Russ Allbery commit 7c472cd9a685fe13a96038dfe57c62c5da5a669c Author: Simon Wilkinson Date: Fri Jul 10 13:19:03 2009 +0100 Prototype the xstat directory Prototype, ansify, and remove errors in the xstat directory Reviewed-on: http://gerrit.openafs.org/20 Reviewed-by: Russ Allbery Verified-by: Russ Allbery commit 79316efa84daead80c8cb8e28ebc3530768a6da7 Author: Jeffrey Altman Date: Fri Jul 10 11:42:17 2009 -0400 Modify Windows top-level NTMakefile to use "md" instead of "mkdir" Now that src/config/NTMakefile. actually uses the override value. Lets fix the definition of MKDIR to avoid the Unix style executables. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/31 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 386fea8d86b6debeb81355ba9bdede83b2f7285d Author: Jeffrey Altman Date: Fri Jul 10 11:16:25 2009 -0400 The Windows Makefiles provide macros for various commands. The MKDIR macro is current assigned to mkdir which causes the cygwin/msys mkdir.exe commands to be used instead of the cmd.exe built-in command. Change this to use "md" instead so that the built-in will be used by default. In addition, permit the macros to be overridden by the top level NTMakefile or the environment. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/30 Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a9368a6c3dfe4435ec2ae63fff4a3325104ed9f7 Author: Daria Phoebe Brashear Date: Fri Jul 10 10:52:27 2009 -0400 HP-UX 11i compiler will segv on static __inline in the fsbnode-bnode xlator since this function appeared the compiler on HP-UX 11i started segving. since it's not necessary, we simply remove it Reviewed-on: http://gerrit.openafs.org/28 Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear commit 9e8ae43b112f2f1f4a9e81eacf5e8abc0a3e16b5 Author: Jeffrey Altman Date: Thu Jul 9 21:25:07 2009 -0400 Add "PerFileAccessCheck" registry value. The HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon "PerFileAccessCheck" registry value (DWORD) is intended for use only by developers who wish to test how Windows would behave if a per-file access rights check was performed. Windows performs all access rights checks using the directory access rights. There is no support for the VL_DFSFILESET flag. During CreateFile() processing the requested access rights are checked against the access rights reported by the file server for the directory. If the reported rights are more permissive than the effective access rights for the file, Windows applications (including the Explorer Shell) will behave quite poorly. In other words, if the request is for write privilege and the CreateFile() successfully opens the file with write privilege, subsequently reporting an access denied on a WriteFile() call will result in very poor behavior. The addition of this option is simply to make it easier on developers to test various prototype solutions for adding per-file access rights. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/15 Reviewed-by: Asanka Herath Reviewed-by: Derrick Brashear Verified-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 6c6f9dce248bb22162981fec8a5de53736740e7f Author: Simon Wilkinson Date: Fri Jul 10 11:58:44 2009 +0100 Tidy the vol directory - Remove some further warnings from the vol directory - Add volutil_PartitionName2_r to afsutil_prototypes.h - Export vol_prototypes.h so it can be used elsewhere in the tree Reviewed-on: http://gerrit.openafs.org/17 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Verified-by: Derrick Brashear commit 0cf977e5354bd28ac6d9777662e6a2121a510d35 Author: Simon Wilkinson Date: Thu Jul 9 13:53:33 2009 +0100 Prototype the vlserver directory Prototype, ansify, and other do warning cleanups on code in the vlserver directory. Reviewed-on: http://gerrit.openafs.org/16 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b7942950c2d1fcaa1e94ebbe91c8d2a9a7670cdb Author: Aaron M. Ucko Date: Mon Jul 6 17:41:49 2009 -0700 Always use kbuild for all Linux kernel configure probes Some Linux kernel probes for the existence of header files were done with file existence checks (test -f). This breaks if the kernel build system is stacking multiple directories of headers together with compile-time -I include path options, as is the case for the current Debian Linux header packages. Instead, always use kbuild to check whether a kernel header is available. Similarly, use AC_TRY_KBUILD instead of AC_TRY_COMPILE when checking for an SELinux kernel, since AC_TRY_COMPILE doesn't call into kbuild and won't get the correct kernel header paths. This is part of the fix for Debian Bug#521745 and has been included in the Debian package since 1.4.10+dfsg1-1. Reviewed-on: http://gerrit.openafs.org/5 Verified-by: Russ Allbery Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 01d390d0d022309d06760aac1373829a35a6d79c Author: Aaron M. Ucko Date: Mon Jul 6 17:51:00 2009 -0700 Build shadow header files when necessary on Linux The current kernel module build infrastructure relies on the ability to create symlinks from known directory names used in the AFS code to the actual locations of the kernel header files. This breaks if there is no single kernel header tree and instead multiple trees are layered together by kbuild using compile-time -I include paths. Attempt to detect this case by seeing if linux/types.h is in the kernel header directory where we expect it. If not, rather than creating symlinks for h, sys, and netinet, create directories and populate them with single-line headers that just include the corresponding linux/*.h header. The list of headers for which to do this is generated dynamically by analyzing the AFS kernel source code and looking for relevant #include directives. This patch has been part of the Debian OpenAFS package since 1.4.10+dfsg1-1. The check for whether we have layered kernel header trees may be specific to Debian and may require modification later if other Linux distributions do something similar. FIXES 124583 Reviewed-on: http://gerrit.openafs.org/6 Verified-by: Russ Allbery Reviewed-by: Derrick Brashear Verified-by: Derrick Brashear commit 3bb5fa5f1b3dc13ab20ed026c7ea64e11388b9c9 Author: Simon Wilkinson Date: Thu Jul 9 15:08:32 2009 +0100 Remove the RCSID macro The move to git means that we can no longer populate the RCSID macro in the way that it was used with CVS. This patch simply removes the macro from every file, except where it contains information from upstream (and it's in a comment). Reviewed-on: http://gerrit.openafs.org/14 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bbab48b047000db0d1821e2f65917c2e8c2c7768 Author: Russ Allbery Date: Mon Jul 6 18:41:39 2009 -0700 Build and install PIC versions of libafsrpc and libafsauthent To include AFS code in loadable modules such as PAM modules, NSS modules, or Perl/Python/PHP/Ruby extensions, it needs to be built PIC or one must link with the AFS shared libraries. Since we haven't historically been that great about maintaining the shared library ABI, it's nice to have static libraries built with PIC code that can be linked into such modules. Based on a patch by Garrett Wollman updated with the build system changes that happened after 1.4. Make shlib makefiles have clean rules for PIC libraries. Make RedHat specfile know how to deal with PIC libraries. Reviewed-on: http://gerrit.openafs.org/8 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 072974935c12ee9e3a512933d8246b5dc5a251e0 Author: Simon Wilkinson Date: Thu Jul 9 13:17:27 2009 +0100 Prototype the afsmonitor directory Prototypes and code cleanup for afsmonitor Reviewed-on: http://gerrit.openafs.org/13 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f52b97b76cba008c9aa6ae843869c95d83fbd9f9 Author: Andrew Deason Date: Tue Jul 7 17:34:17 2009 -0500 Always display vnode accesses in vos output Vos was not displaying the "N accesses in the past day (i.e., vnode references)" message when updateDate was unset. Fix that. FIXES 125064 Reviewed-on: http://gerrit.openafs.org/9 Verified-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 722070a5c6b1c87cb8c80e8938464183dab01c8f Author: Andrew Deason Date: Wed Jul 8 16:15:37 2009 -0500 Correcting formatting typo in vos addsite manpage Reviewed-on: http://gerrit.openafs.org/12 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit 7488aeef5cfd58935fe4a6a07810c8d757dd98a3 Author: Andrew Deason Date: Wed Jul 8 16:07:58 2009 -0500 Fixing manpage for vos addsite -valid The -valid switch to vos addsite doesn't take an argument, and it is optional. Correcting documentation to reflect that. Reviewed-on: http://gerrit.openafs.org/11 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit ecd3fc42d1d6dca23bb2e2728a0066d3db8eceb6 Author: Russ Allbery Date: Mon Jul 6 17:19:26 2009 -0700 Search for the Linux version in the correct header src/config/linux-version already had support for handling either versioned or unversioned kernel source directories, but the grep for UTS_RELEASE was unconditionally done against the versioned source tree, ignoring the previous determination of where the header file was. Instead, check instead the header file location that we'd previously determined. This patch has been tested in the Debian OpenAFS 1.4.11~pre3+dfsg-1 package. Reviewed-on: http://gerrit.openafs.org/4 Reviewed-by: Simon Wilkinson Verified-by: Russ Allbery Reviewed-by: Derrick Brashear commit 002363adb9526f4c0bc2937b0b6589fae0e5334e Author: Jason Edgecombe Date: Mon Jul 6 21:26:30 2009 -0400 Fixed a minor grammatical error in the voz_zap man page Reviewed-on: http://gerrit.openafs.org/7 Verified-by: Russ Allbery Reviewed-by: Russ Allbery commit d5081f264dae17fed3daca5ed646f9c082557f0c Author: Simon Wilkinson Date: Mon Jul 6 13:52:21 2009 +0100 Remove CVS ignore files Now we're in git we don't need any cvsignore files any more... Reviewed-on: http://gerrit.openafs.org/1 Verified-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ba9ad6284528e669bfaacf0400b90fc08a5614e4 Author: Simon Wilkinson Date: Mon Jul 6 14:38:42 2009 +0100 Revise git ignore files Revise our git ignores to match the current state of the tree, and include entires in the top level for all of the 'dest' directories for all of the architectures we claim to support. Reviewed-on: http://gerrit.openafs.org/2 Reviewed-by: Derrick Brashear Verified-by: Simon Wilkinson commit 46287f679023c8d1430c64d03e06933cf6121a24 Author: Jeffrey Altman Date: Sat Jul 4 04:45:37 2009 +0000 windows-optimizations-20090703 LICENSE MIT when performing offline volume checks, do so in most recently used order if the system is entering suspend state, short circuit the background daemon operations to avoid extra work that is going to fail when the network is shutdown behind the back of the service. commit ebc4f737ae8f8056de1a7f80828a6173ebb24292 Author: Simon Wilkinson Date: Fri Jul 3 14:16:53 2009 +0000 linux-vnop-return-value-cleanup-20090703 LICENSE IPL10 rework all linux vnode ops so the vulnerability we previously had can't recur later just because someone makes a change that would leak a negative error commit 6ef1234402435306cb3935d1eadc5fcf332bd632 Author: Andrew Deason Date: Fri Jul 3 14:03:57 2009 +0000 viced-ubik-clientdestroy-null-20090703 LICENSE IPL10 FIXES 125020 null ubik client point when it's freed in hpr_End to avoid a null deref later commit 22196a7fd78dff342b2f9fca2b38d9a2dd04d42c Author: Daria Phoebe Brashear Date: Fri Jul 3 13:56:43 2009 +0000 redhat-spec-manpage-updates-20090703 LICENSE IPL10 add missing manpages to srpm commit 8a6bd630354ab7fc17bc5cfaeb10267ad2cc10eb Author: Jeffrey Altman Date: Wed Jul 1 22:14:42 2009 +0000 wix-manpages-chgrp-chown-20090701 LICENSE MIT add fs_chgrp.html and fs_chown.html man pages commit 4db337f87c0170380037593d1c998fb1b9819aa3 Author: Jeffrey Altman Date: Wed Jul 1 22:12:10 2009 +0000 manpages-fs-chown-chgrp-20090701 LICENSE BSD Add new man pages for fs chown and chgrp on Windows. Update titles for Windows only commands to indicate they are Windows only. commit 4ca66112c2a012e04619445275507ae9cd6c11da Author: Marc Dionne Date: Wed Jul 1 21:56:48 2009 +0000 linux-keyring-export-check-20090701 LICENSE IPL10 FIXES 125001 check for key_type_keyring being exported; only use it if so commit ffd065a69578ad26c860b0b3e54053d6432c4a21 Author: Jeffrey Altman Date: Wed Jul 1 21:25:28 2009 +0000 windows-fs-chown-chgrp-20090701 LICENSE MIT On Windows there is no chown or chgrp command that can be used to change the owner or group of an object in AFS. Therefore we add them to the fs command. Usage: fs chown -owner [-path +] [-literal] [-help] Where: -literal literal evaluation of mountpoints and symlinks Usage: fs chgrp -group [-path +] [-literal] [-help] Where: -literal literal evaluation of mountpoints and symlinks commit ad6a8942db587b2c5b9aaee6a3e8e89b69e3918c Author: Jeffrey Altman Date: Wed Jul 1 02:44:05 2009 +0000 windows-cellconfig-20090630 LICENSE MIT nul terminate the correct variable commit efdf78ae086ba02cc3f6ffbd7b0a2ca31743ced7 Author: Jeffrey Altman Date: Tue Jun 30 19:11:28 2009 +0000 windows-dfs-file-set-warning-20090630 LICENSE MIT Add a debug log warning if the target volume is a DFS File Set. If so, the client will not properly protect against information leakage or properly deal with directory name caching, symlinks, and other behavioral differences between AFS and DFS. commit 49d6a0992c42a6bb1fba8245029f31ca916214e5 Author: Jeffrey Altman Date: Tue Jun 30 18:59:43 2009 +0000 windows-smb-20090630 LICENSE MIT Be sure to call smb_ReleaseVCNoLock before we drop the smb_rctLock. commit 58024c16844a7298f04495ff9023e396a5391aff Author: christof.hanke@rzg.mpg.de Date: Mon Jun 29 21:24:23 2009 +0000 rpmlint-try2-20090629 LICENSE IPL10 FIXES 124951 remove unneeded return; fix iob initialization for curpag pioctl commit a50fa631cad6919d15721ac2c234ebbdda2b4031 Author: Jeffrey Altman Date: Mon Jun 29 20:38:17 2009 +0000 windows-dcache-prefer-xdata-error-20090629 LICENSE MIT FIXES 125018 Fix issue reported by Marc Dionne. RXAFS_FetchData and RXAFS_StoreData return access denied errors that are not reported by the subsequent call to rx_EndCall which should be preferred. commit f202b9778e4489fd80288c5be36e3c102b0cfba9 Author: Daria Phoebe Brashear Date: Mon Jun 29 16:19:59 2009 +0000 revert-voldump-v-tag-generation-20090629 LICENSE IPL10 FIXES 18349 generating v tags is currently incompatible. revert this for now commit 3d5415922ea4ede4ce538d7894a6062bf115c6bd Author: Marc Dionne Date: Mon Jun 29 14:58:58 2009 +0000 rcu-patch-fallout-20090629 LICENSE IPL10 FIXES 124996 massaging this for 1.5.x/head caused some fallout. fix doubled endif, and install_session_keyring arguments commit 4a09cd4976dc9088cd32115dc06458afb3a577d4 Author: Jeffrey Hutzelman Date: Mon Jun 29 07:03:09 2009 +0000 cellservdb-20090629 CellServDB from central.org dated 29 Jun 2009 commit 307e077b2343b73731d7f21f422b7a130caf12c7 Author: Jeffrey Altman Date: Mon Jun 29 04:27:41 2009 +0000 windows-shutdown-20090628 LICENSE MIT short circuit on-going offline volume checks once a shutdown has begun. commit b8a1dba29367c9786a5f43c90b0a000ff4d4315d Author: Jeffrey Altman Date: Mon Jun 29 04:25:16 2009 +0000 windows-hard-link-count-20090628 LICENSE MIT cm_Link() is used to create hard links. It did not apply the updated link target status info to the target cm_scache_t object. As a result the linkCount would be incorrect. cm_Unlink() did not take linkCount into account. It did not reduce the locally known linkCount, nor did it invalidate any currently known callback. As a result the linkCount would be incorrect. commit d54859c6ac2e5186b18da027303860966504dbd9 Author: Jeffrey Altman Date: Sun Jun 28 05:15:31 2009 +0000 windows-multi-homed-callbacks-20090627 LICENSE MIT Properly handle callbacks from multi-homed file servers. Comparing cm_server_t pointers is insufficient. For a multi-homed server there will be multiple entries. The UUID for all of the equivalent entries will be the same. What matters is not that the pointers are the same but whether in the case of UUID labeled servers that the UUIDs match. Add cm_ServerEqual() to perform the comparison. commit 100186ec2e4ca5046e1bc312918d4630de00bc7e Author: Jeffrey Altman Date: Fri Jun 26 15:11:10 2009 +0000 windows-callback-server-tracking-for-readonly-vols-20090626 LICENSE MIT Readonly volume callbacks apply to every cm_scache_t from the same volume. We were already tracking the cbExpires time in the cm_volume_t. We need to also track the cbServerp in the cm_volume_t so that the cm_scache_t objects can be assigned the correct server from which the callback was issued. Add cbServerpRO field to the cm_volume_t. Bump the memory map version to force a rebuild of the cache data. commit de374565233eea489079e102865ab6cd65ef0dbb Author: Jeffrey Altman Date: Fri Jun 26 14:14:47 2009 +0000 windows-cell-config-clones-20090626 LICENSE MIT Add support for parsing clones from the CellServDB file. commit e43342e3778524a68219875b5fdc6fae0adbef1f Author: Daria Phoebe Brashear Date: Thu Jun 25 13:13:14 2009 +0000 allow-gcpags-disabling--at-compile-20090624 LICENSE IPL10 put this back as was for now; if we want to undef, we can do it later, completely commit 4ac7d59d464d66322a2925c86e955cd8d8067f75 Author: christof.hanke@rzg.mpg.de Date: Thu Jun 25 00:14:43 2009 +0000 pag-get-lint-20090623 LICENSE IPL10 FIXES 124951 make things happy for rpmlint again (wrong initialization) commit 0e718b642cedd1ebc799ada35960164c95c24280 Author: Marc Dionne Date: Wed Jun 24 22:53:40 2009 +0000 linux-rcu-read-lock-export-20090623 LICENSE IPL10 FIXES 124986 deal with rcu_read_lock() becoming GPLONLY commit a125b571a4d7c6c8c491bda079115a5eab835971 Author: Harald Barth Date: Wed Jun 24 22:44:56 2009 +0000 fbsd61-stdlib-proto-define-20090623 LICENSE IPL10 FIXES 124952 add define to make stdlib have malloc prototype commit ee72f251049ca361b095e813adce63216343afd8 Author: Andrew Deason Date: Wed Jun 24 22:38:15 2009 +0000 osol-solookup-20090624 LICENSE IPL10 FIXES 124924 update for new opensolaris solookup function signature commit b45838ca82a085360491b14fdb16e88612a43165 Author: Jeffrey Altman Date: Wed Jun 24 16:15:39 2009 +0000 util-snprintf-replacement-20090624 LICENSE BSD 1. Add a test program for *printf functionality. util/tests/snprintf_test.c 2. Replace OpenAFS implementation of afs_*printf() with Heimdal's version. 3. Add support to Heimdal's version to support: - floating point - OpenAFS %I ipv4 address formatting (dotted notation and hostname lookup) - Microsoft's I32 and I64 integer size modifiers With these changes OpenAFS gains: - output that is compliant with standard *printf implementations. the previous implementation had justification, padding and case errors. - support for a NULL buffer which computes the required size based upon the input format and arguments. the previous implementation would crash. - support for additional format types. - OpenAFS specific implementations of vasnprintf(), vasprintf(), asprintf(), and asnprintf(). commit 74d49eb2c68f787044fe9f612d4f5f4610907572 Author: Jeffrey Altman Date: Wed Jun 24 15:47:29 2009 +0000 windows-config-amd64-20090624 LICENSE MIT amd64 uses 64-bit pointers. Define AFS_64BITPOINTER_ENV. commit b02e22b5f0590929ef9120da4799ca9a47fa3aeb Author: Marc Dionne Date: Mon Jun 22 16:25:23 2009 +0000 linux-call-inode-setattr-op-20090622 LICENSE IPL10 FIXES 124942 call inode's setattr op instead of just inode_setattr, when one is available. needed for xfs, notably also will cause truncates to be journalled for ext3, which may solve some existing issues commit 0200a40061a70c8e768f7510604839aaa7925a28 Author: Jeffrey Altman Date: Fri Jun 19 04:08:08 2009 +0000 cellconfig-gethostbyname-20090618 LICENSE MIT The CellServDB processing in auth/cellconfig and WINNT/afsd/cm_config differ in one important way. cellconfig uses the IP addresses specified in the CellServDB file and ignores the host name; whereas cm_config calls gethostbyname() on the host name and falls back to the specified address only if gethostbyname() fails. This commit modifies cellconfig to use gethostbyname() calls on the host names when the client CellServDB file is being used. The server CellServDB file is left alone because ubik servers need to be given the exact list of ip addresses specified by the administrator and there is no method of indicating clones to other servers using DNS. This change permits a greater resilency to cell server configuration changes due to IP address renumbering as the DNS names in the CellServDB file can be CNAME or A records. A host name can be resolved to multiple IP addresses and all of the addresses will be added to the hostAddr list for the cell provided that they do not exceed the maximum number of hosts. If the same host name is listed multiple times the duplicate IP addresses will be ignored. The behavior of all tools that use CellServDB files on Windows will now be consistent. commit cfe1f5676d458ca2ca8ba562ace782305e68059f Author: Jeffrey Altman Date: Thu Jun 18 06:04:29 2009 +0000 windows-netidmgr-20090617 LICENSE MIT permit building with a broader range of visual studio versions commit f310847d2dfa924aaeff2924cfbc885d1cd58a31 Author: Jeffrey Altman Date: Thu Jun 18 00:45:36 2009 +0000 windows-testcellconf-20090617 LICENSE MIT make testcellconf work on Windows commit 3af8eafae68b7260941b59346720730410f97944 Author: Jeffrey Altman Date: Tue Jun 16 23:40:38 2009 +0000 windows-kauth-cell-search-registry-20090616 LICENSE MIT add registry based cell search to ka_UserAuthenticateGeneral2() which is used by klog() and afslogon.dll when no kerberos support is available. commit 377b8c176fde2cab27d27c644b6966bf153daad5 Author: Jeffrey Altman Date: Tue Jun 16 23:37:49 2009 +0000 windows-client-config-cell-search-registry-20090616 LICENSE MIT Add registry based cell search functionality to afs_config.exe even though the tool is close to useless at this point. commit 4bf09a2ebfabede83cdac782de52386423e01927 Author: Jeffrey Altman Date: Tue Jun 16 22:57:08 2009 +0000 windows-netidmgr-cell-search-registry-20090616 LICENSE MIT Forgot to update the afs provider to support registry based cellservdb lookups commit e44c38c423fee7f10540ee339c372dce043af10d Author: Andrew Deason Date: Tue Jun 16 19:09:43 2009 +0000 ubik-fix-allbetter-loglevels-20090616 LICENSE IPL10 FIXES 124938 make allBetter log more sensibly; right now it's very loud. move it to level 25 commit a44bee561505c8f955c84d5c96227d72d3cdaf57 Author: Daria Phoebe Brashear Date: Tue Jun 16 19:08:11 2009 +0000 afs-snrpintf-support-percentp-for-ptrs-20090616 LICENSE IPL10 so we can portably log pointers commit 82d9807e2246997ac73930c91d1ad4312084cc57 Author: Jeffrey Altman Date: Tue Jun 16 05:59:22 2009 +0000 windows-conn-analyze-20090615 LICENSE MIT When processing RX_CALL_TIMEOUT, if there is no fid specified its a vldb rpc and we should retry. If there is a fid and the volume is a readonly volume then we should also retry. Only fail if the request has no alternate server to look at. When processing RX_CALL_DEAD, log the fact that the call is dead. When processing any other RX error between -2 and -64, do not force a new connection to the same server. Mark the server down and retry with a new server if possible. commit 81c9b8c0c4ddf711872104ba6645c1310093af24 Author: Jeffrey Altman Date: Tue Jun 16 05:56:19 2009 +0000 windows-cellservdb-rank-20090615 LICENSE MIT When inserting a new vldb server, if the rank is 0 (unknown), do not override the default rank assigned by cm_NewServer(). Doing so erases the randomized ranking. commit c41a46774134aee6eaf6a41e9061386035ae6ebf Author: Simon Wilkinson Date: Mon Jun 15 23:29:29 2009 +0000 gitignore-20090615 LICENSE IPL10 make gitignore files commit 3e26e46b660f2e92eb9c693f9a3c4f97f2acd80c Author: Jeffrey Altman Date: Mon Jun 15 14:47:00 2009 +0000 windows-installer-nsis-20090615 LICENSE MIT reorder some operations and make sure that directories are created before the installer attempts to generate files into them. commit a79ce67d7a52a99c10192a92c66a7e10500770bf Author: Jeffrey Altman Date: Mon Jun 15 02:57:17 2009 +0000 windows-callback-handling-20090614 LICENSE MIT Turn SRXAFSCB_InitCallBackState3() into the primary function for processing InitCallBackStateX RPCs. InitCallBackState3 accepts an optional server uuid which can be used instead of the IP address to locate a matching server object. If the RPC comes from a server that we know of, we can restrict the calback state initialization to cm_scache_t objects on that file server. If the request comes from a server that we know nothing about and a uuid was specified, we can ignore it. During callback revocation, make use of the cell associated with the server to restrict the revocation to cm_scache_t objects in the one cell. This is especially important for readonly volume callbacks since volume ids are shared across multiple cells. Add a missing case where the cm_volume_t cbExpiresRO time should be set to the cm_scache_t cbExpires time. commit 88ef4fb720efd8f7c0b130b5bdf35ef840aafc59 Author: Jeffrey Altman Date: Mon Jun 15 02:02:59 2009 +0000 windows-server-find-by-uuid-20090614 LICENSE MIT Add cm_FindServerByUuid(). This function is similar to cm_FindServerByIP() but uses the server's known uuid instead which is constant across multi- homed systems. commit 571dc5edbe76a7e62d47adee8df52bbf532c55bc Author: Jeffrey Altman Date: Mon Jun 15 01:56:22 2009 +0000 windows-server-xdr-free-20090614 LICENSE MIT when releasing the capabilities memory allocation use xdr_free() not the free() of the afsd_service.exe module. commit a7f9ce9ce1b2608937c5c3ffc73a2de07abc5fb1 Author: Daria Phoebe Brashear Date: Thu Jun 11 20:39:53 2009 +0000 vnode-disk-object-name-hi-length-field-20090611 LICENSE IPL10 reserved6 is used for the high portion of the 64 bit length. make the structure reflect it. commit 27cbb188bd1cb3e050c6911b1ddde75c46aa712f Author: Andrew Deason Date: Thu Jun 11 15:25:15 2009 +0000 dafs-create-volumes-online-20090611 LICENSE IPL10 FIXES 124492 newly created volumes were not marked "not in use" by the volserver, so the fileserver would not take them. fix it. commit 2c755529c79492738fec61a5fc311216678a52e7 Author: Andrew Deason Date: Thu Jun 11 15:19:15 2009 +0000 bosserver-invoke-salvager-fully-specifying-force-20090611 LICENSE IPL10 FIXES 124916 bos salvage can invoke salvager with -f (instead of -force) which is no longer unique. fix that. commit ae1923e36260ff59efb85dda99b5345341bff6d8 Author: Jeffrey Altman Date: Wed Jun 10 18:08:19 2009 +0000 windows-cache-validation-20090610 LICENSE MIT correct cell validation to avoid false detection of infinite loops if a cm_cell_t object had to be freed. add newlines to output of volumeHashTableSize and cellHashTableSize commit 796dbb891b9aee17cef07e085e089123e6c94b83 Author: Daria Phoebe Brashear Date: Tue Jun 9 22:34:54 2009 +0000 aix-dest-make-audit-object-dir-20090609 LICENSE IPL10 now make dest works on aix 6 again commit e87be8c5794ccd6eecd3b420dc12085a3608fadb Author: Daria Phoebe Brashear Date: Tue Jun 9 22:30:28 2009 +0000 aix6-no-vprintf-but-strict-kernel-prototypes-20090609 LICENSE IPL10 alas, we can't use varargs style prototypes since we can't handle the args! commit 2ee2aa00bc689b7876dc589537a8f805d44eaef5 Author: Daria Phoebe Brashear Date: Tue Jun 9 22:10:54 2009 +0000 excise-cplusplus-comments-from-kernel-20090609 LICENSE IPL10 aix6 compiler doesn't allow // style comments commit 6794613924416dd542a1d54a9d692af396a0f0d9 Author: Daria Phoebe Brashear Date: Tue Jun 9 22:05:20 2009 +0000 aix6-kernel-varargs-prototypes-ok-20090609 LICENSE IPL10 varargs style prototypes are ok in the aix6 kernel env commit 37e1cd23195215cd5999be7fa5a8de6af7efebcb Author: Jeffrey Altman Date: Tue Jun 9 21:11:04 2009 +0000 windows-freelance-default-cell-20090609 LICENSE MIT If a freelance mount point does not specify a cell name, default to the workstation cell. commit 22fb6954e05de91d414cf17db07322824a090db3 Author: Daria Phoebe Brashear Date: Tue Jun 9 20:25:47 2009 +0000 aix6-tsm41-makefile-flub-20090609 LICENSE IPL10 add missing quoting commit a8614747878cedef5e54f10dcc7296034a88e738 Author: Daria Phoebe Brashear Date: Tue Jun 9 14:46:51 2009 +0000 tsm41-makefile-fix-20090609 LICENSE IPL10 fix form of case statement in makefile for tsm41 commit 2033fa9ec62089887f074381ac118a2c60e9c311 Author: Jeffrey Altman Date: Tue Jun 9 00:58:10 2009 +0000 windows-dirty-buffers-20090608 LICENSE MIT In the buf_IncrSync thread, if the volume is known to be unavailable do not attempt to write the buffer. Just skip it. In buf_Sync(), if we are shutting down and a buffer is left dirty, log a message to the Windows Event Log indicating that the dirty buffer was lost. commit 394243f3ae2dc5437b66d8f5afb393c2cfd1fb7b Author: Mike Meffie Date: Mon Jun 8 23:39:51 2009 +0000 man-page-xstat-fs-test-20090608 LICENSE IPL10 FIXES 124905 Document xstat_fs_test collection 3, which returns callback statistics from the file server (useful for tuning). commit f5b74d9fbcc42ad3a1105df3363e6c22c16fee84 Author: Jeffrey Altman Date: Mon Jun 8 23:09:19 2009 +0000 windows-cell-locking-20090608 LICENSE MIT FIXES 124910 cm_cellLock protects the cm_cell_t fields allNextp, nameNextp, idNextp, and freeNextp. Therefore, a write lock must be obtained whenever those items may change. This patch makes that consistent. This patch also fixes an out of order lock acquisition and removes cm_cell_t objects from the id and name hash tables before freeing them. commit 7bf6fd6bcbdcb87544798c9634618fccb4678f45 Author: Jeffrey Altman Date: Mon Jun 8 22:42:01 2009 +0000 windows-search-cell-registry-20090608 LICENSE MIT do not clear the newCellNamep buffer on error. that is inconsistent with the other SearchCell functions and breaks "fs newcell". commit ddaf2d5de4b41e2d15ac8f715774d9a3bceff6e6 Author: Daria Phoebe Brashear Date: Mon Jun 8 20:47:14 2009 +0000 aix-kopenafs-also-correct-directory-20090608 LICENSE IPL10 also make this include syscall.s from the right place. commit e3b4b25d4f1dd15579cb15a2088fff0ea94606f9 Author: Daria Phoebe Brashear Date: Mon Jun 8 05:44:23 2009 +0000 kopenafs-set-sflags-20090607 LICENSE IPL10 make kopenafs build on aix commit dad31c8ca57d56a8856718d43d04f2c9fe30dba0 Author: Jeffrey Altman Date: Mon Jun 8 03:34:28 2009 +0000 windows-notes-20090607 LICENSE MIT synchronize with the 1.5 branch commit 9a1328b9217902439abdbd3424fdd4e887169116 Author: Jeffrey Altman Date: Mon Jun 8 03:15:12 2009 +0000 windows-sync-head-with-1_5-20090607 LICENSE MIT Synchronize the build system from 1.5 branch to the head commit 5bd88cfa6b41b9aa92def74894133a84d2a417d7 Author: Jeffrey Altman Date: Mon Jun 8 03:08:33 2009 +0000 doc-man-pages-windows-20090607 LICENSE MIT dpass and package docs removed from repository. do not attempt to build them. commit bada49cff904c1e783ca9fa81a92036ceae7378d Author: Jeffrey Altman Date: Mon Jun 8 02:22:09 2009 +0000 windows-buf-infinite-looping-on-dirty-buffers-20090607 LICENSE MIT If there are dirty buffers when the file server becomes unresponsive, the cache manager will attempt to write them repeatedly resulting in use of 100% of the cpu of the machine until the file server becomes responsive. This patch reduces the cpu utilization by ensuring that only the first in a list of buffers on the same file needs to fail with timed out, all down, all busy, all offline, or clock skew. The other dirty buffers will just be skipped. A small delay is enforced in the buf_IncrSync thread between invocation. This patch is not a complete fix for the problem. The buf_IncrSync thread needs to become more intelligent in order to avoid attempts to write to volumes that are known to be inaccessible. commit d5d6976a640e5dbdd4eb3be24e8722d77ad30488 Author: Daria Phoebe Brashear Date: Sat Jun 6 01:10:46 2009 +0000 viced-cblater-unmark-20090605 LICENSE IPL10 make things match 1.5.x: unmark entries FE_LATER when they get unchained commit 575d48538fa9da54fe7b68e2e4c3ec228cd98da5 Author: Daria Phoebe Brashear Date: Sat Jun 6 01:08:57 2009 +0000 darwin-rx-netreceive-fix-20090605 LICENSE IPL10 put back code that went missing post-rxtcp commit 527c48861132d5d9a314ba12935f796bc397cac1 Author: Daria Phoebe Brashear Date: Sat Jun 6 00:36:20 2009 +0000 aix-kopenafs-cpp-20090605 LICENSE IPL10 build syscall.o on aix the same way we do in libsys commit 6d973e499acd598bbc3a4e131d14f9801b94fe71 Author: Daria Phoebe Brashear Date: Fri Jun 5 19:17:13 2009 +0000 man-page-cellservdb-extras-20090605 LICENSE IPL10 Document linked cells and non-voting replicas in the CellServDB man page and note the need for better linked cell documentation. commit ee2d4a858b56b5fa9d6155be6ecc64d7596dcf16 Author: Daria Phoebe Brashear Date: Fri Jun 5 16:50:10 2009 +0000 death-to-docs-20090605 LICENSE IPL10 docs now built from doc/xml; kill the other copies of same commit 3e65e3aee17c64a19c0a1ff4b9b7d99c0725b689 Author: Daria Phoebe Brashear Date: Thu Jun 4 23:09:11 2009 +0000 fsbnode-rename-unused-to-dummy-20090604 LICENSE IPL10 a prayer this will make hpu cc stop segving commit 33e04c09a1f36281a6f37fdfd7b402426b9df5d4 Author: Daria Phoebe Brashear Date: Thu Jun 4 21:50:33 2009 +0000 aix51-no-userspace-pag-subsystem-20090604 LICENSE IPL10 getpagvalue() appeared post 5.1. commit 654871583371f70683a295623fdd4364965042c4 Author: Daria Phoebe Brashear Date: Thu Jun 4 21:30:45 2009 +0000 pam-build-dont-fail-on-link-problems-20090604 LICENSE IPL10 linking static objects into shared works badly on some platforms. deal by not breaking the build, for now commit 17ccfb4fa5889c45ddaf8e18fd048c0aaaed8d86 Author: Daria Phoebe Brashear Date: Thu Jun 4 19:05:40 2009 +0000 solaris-fs-conv-needs-ihandle-20090604 LICENSE IPL10 FD_t defined in ihandle.h; include it here commit 72d314f001e0067a7a00d3cb2a4d5ff073b54f70 Author: Daria Phoebe Brashear Date: Thu Jun 4 17:18:07 2009 +0000 kopenafs-syscall-object-dependency-20090604 LICENSE IPL10 cause syscall.o to build commit 64a1b3101fde534f10054f9f4890243c95e2c728 Author: Daria Phoebe Brashear Date: Thu Jun 4 00:15:05 2009 +0000 unroll-experimental-rx-20090603 LICENSE IPL10 reconverge Rx with that in 1.5.x in prep for git commit 6124a81e791f54953ea4be3cf3588d9ccf5fb248 Author: Andrew Deason Date: Wed Jun 3 23:11:40 2009 +0000 ptserver-debug-flag-20090603 LICENSE IPL10 FIXES 124893 parse -d (debug) earlier in the ptserver argument parsing, so database switch does not override it. commit d9d50fea986569dfaa3c3b6aee2e8c99f0d280e8 Author: Andrew Deason Date: Wed Jun 3 22:48:55 2009 +0000 ptserver-procs-loglevels-20090603 LICENSE IPL10 FIXES 124894 make loglevels for create/delete match those for other pts operations commit 4310874d8f8b83b8a2c5840880d4f35059c67ea7 Author: Andrew Deason Date: Wed Jun 3 22:43:53 2009 +0000 ptserver-vicelog-missing-newlines-20090603 LICENSE IPL10 FIXES 124894 some ViceLog calls in ptserver were missing newlines. that's fixed. commit edfb415915bff06c055f58867695cbb37df626e1 Author: Douglas Engert Date: Wed Jun 3 21:58:10 2009 +0000 klog-krb5-avoid-freeing-garbage-20090603 LICENSE IPL10 avoid freeing garbage due to an uninitialized variable commit ec51165b5134b406eecfbb2b7d53b2a094f30256 Author: Daria Phoebe Brashear Date: Wed Jun 3 16:13:26 2009 +0000 aix-pag-complaints-20090603 LICENSE IPL10 make the new code work properly, thanks to aix's complaints commit 4af75fe96a9e4a985081d4af78439aeebabd6939 Author: Daria Phoebe Brashear Date: Wed Jun 3 06:39:47 2009 +0000 curpag-via-pioctl-20090603 LICENSE IPL10 FIXES 124709 curpag needs to know about kernel constructs (getpagvalue on AIX, onegroup versus two group on linux) and on aix 5.1 simply can't work. add a new pioctl and use it to simply ask the kernel what the current pag is commit 091139b3e2160e1f56b11820d59589de9ccd9c40 Author: Simon Wilkinson Date: Tue Jun 2 19:31:45 2009 +0000 linux-allow-disabling-syscall-probing-20090602 LICENSE IPL10 give a configure switch to allow disabling syscall probing commit 521f4e6d473335ac8f7f265904bda7840fddad71 Author: Daria Phoebe Brashear Date: Tue Jun 2 19:12:10 2009 +0000 linux-locking-brace-fix-20090602 LICENSE IPL10 so regardless of which code branch we choose we work commit be47f4de0595dd044053695de3cdcedb2ec2a113 Author: Daria Phoebe Brashear Date: Tue Jun 2 18:39:28 2009 +0000 vfsck-conditional-for-namei-20090602 LICENSE IPL10 make build fly again on solaris when namei and not inode is in play commit 3ae35e12714bf4759d313086b17ef47bae1d7504 Author: Russ Allbery Date: Tue Jun 2 18:31:32 2009 +0000 doc-man-page-install-variables-20090602 LICENSE BSD We were horribly confused about variables when creating man page symlinks. Be less confused by using variables less. commit e89f90f7f17efc80c984b2858cd85a87f8cdfbf3 Author: simon@sxw.org.uk Date: Tue Jun 2 04:32:08 2009 +0000 auth-cellconfig-overflow-20090601 LICENSE IPL10 FIXES 124891 commit d7b3953a530a49edfed203d59194b3a293ed80b8 Author: Jason Edgecombe Date: Mon Jun 1 23:35:17 2009 +0000 doc-admin-guide-updates-20090601 LICENSE BSD FIXES 124889 Updates to chapter one of the Admin Guide. Remove references to the Authentication Server, add references to a Kerberos server, revise ntpd parts to reflect the fact that OpenAFS doesn't ship ntpd, and removed the distinction between the US and non-US versions of the Update Server. commit e34fe0f9a85c0fa965fe30ead4c5ba14d077268f Author: Russ Allbery Date: Mon Jun 1 23:31:47 2009 +0000 doc-xml-build-cvsignore-20090601 LICENSE BSD Ignore new generated files from the documentation build. commit 2520cc9aabef8877cdd99abb858dc011dfa5629f Author: Russ Allbery Date: Mon Jun 1 23:30:42 2009 +0000 doc-xml-version-depends-20090601 LICENSE BSD Make PDF manual generation also depend on version.xml, matching HTML generation. commit 0a617e33234f6104fdfb0d45593cf313c961f653 Author: Daria Phoebe Brashear Date: Mon Jun 1 18:51:45 2009 +0000 xml-versioning-take-two-20090601 LICENSE IPL10 deal with this in a way which does not trip creation of CML state config files commit 8e0b8243ea8b38e6ceab8f1dc6a0e032d6622568 Author: Simon Wilkinson Date: Mon Jun 1 00:12:46 2009 +0000 vsprocs-log-format-bug-20090531 LICENSE IPL10 fix the logged data to avoid a format string issue commit 5526ba218f7f3653cabe5423b25b82f0241b0abc Author: Jeffrey Altman Date: Sun May 31 17:52:46 2009 +0000 doc-doxygen-20090531 LICENSE BSD Doxygen converted versions of the IBM provided architecture and protocol documentation. Funded under an SBIR grant. commit 74df876dafb9cf80ab5a8099b4202f2205bd9791 Author: Douglas Engert Date: Sun May 31 02:22:24 2009 +0000 afsd-allow-maxmtu-override-20090530 LICENSE IPL10 FIXES 124880 rxi_Findcbi, rxi_FIndIfnet, rxi_FindIfMTU "failure" end up returning the RX_REMOTE_PACKET_SIZE as the mtu to use unless we allow our override to apply, so we do that. then, add an afsd switch to allow setting it. afsd man page update required and will follow. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 FIXES 124880 man page update to document previous work commit ca613599a2537756462a420ae1a632747a433226 Author: Jeffrey Altman Date: Sat May 30 18:27:07 2009 +0000 viced-host-uuid-and-addr-hashing-corrections-20090530 LICENSE IPL10 FIXES 124634 only valid addr/port pairs are registered in the hash table. add then remove when changing addresses. make host restoral properly hash hosts. remove should remove the address we asked for and not simply the primary address. commit e452c704c59700496227dccb3161efd34ca709ba Author: Daria Phoebe Brashear Date: Wed May 27 20:44:24 2009 +0000 xml-doc-building-glue-20090527 LICENSE IPL10 FIXES 124804 add configure switches for building docs. generate version files needed. commit d28e5fd04def989dcfb98ccd2b99ef44f5667167 Author: Jeffrey Altman Date: Wed May 27 14:55:42 2009 +0000 windows-install-20090527 LICENSE MIT Install ptclient.exe and pt_util.exe as part of the server installation commit c1876dbf32b5c253b5325bf18a0bf2549b6c9682 Author: Jeffrey Altman Date: Wed May 27 14:45:07 2009 +0000 windows-ptserver-ubik-20090527 LICENSE MIT move io.h inside AFS_NT40_ENV commit ea404cf1e3a174c8809cd7f3bcc5750e0983cce6 Author: Matt Benjamin Date: Wed May 27 14:26:41 2009 +0000 obsd-45-param-file-20090527 LICENSE IPL10 FIXES 124719 add missing param file for obsd 4.5 commit 39b4c0381a68824cb52c0d3a2ee1d81851598373 Author: Jeffrey Altman Date: Wed May 27 08:04:06 2009 +0000 windows-pt_util-20090527 LICENSE MIT add missing build rules for pt_util.exe commit 8ea8519f3094692c2d7a55fb1702255d0b115a8f Author: Jeffrey Altman Date: Wed May 27 07:59:36 2009 +0000 windows-pt_util-20090526 LICENSE MIT build pt_util.exe on Windows commit 34fc86bcc749f3bd059831b7e5dae03dc09a9393 Author: Daria Phoebe Brashear Date: Wed May 27 03:46:43 2009 +0000 volser-retry-transaction-creation-20090526 LICENSE IPL10 FIXES 124635 version of the retry transaction creation patch for head/1.5 commit 29223f5a52beac5b40853863733c70028fc7c52c Author: Daria Phoebe Brashear Date: Wed May 27 03:12:53 2009 +0000 unix-mkvers-xml-20090526 LICENSE IPL10 make mkvers do a xml version file for unix also commit 4c7a7f343c6cb0c5e6def6d28649cea65ff2907e Author: Russ Allbery Date: Wed May 27 02:21:45 2009 +0000 man-page-vos-dump-flags-20090526 LICENSE BSD Add documentation of the -clone and -omitdirs flags to vos dump. commit 49b7bbdd3b45df694fadbef48f9ed99d9bfe07b9 Author: Simon Wilkinson Date: Wed May 27 01:47:40 2009 +0000 linux-byte-range-locks-sensibility-20090526 LICENSE IPL10 FIXES 124766 make our locks work correctly with the linux connectathon lock testing commit 3b2a1ac2b1d4212363527a6edc6dd2aa76a3f960 Author: fabrizio.manfredi@gmail.com Date: Wed May 27 01:13:38 2009 +0000 java-errno-header-20090526 LICENSE IPL10 FIXES 124810 use the errno header instead of assuming extern int commit 1fb1b8d0a2f82c6e72e59afb0a400ea0d5b21fe1 Author: Russ Allbery Date: Wed May 27 00:44:29 2009 +0000 linux-mmap-antirecursion-avoid-spurious-eio-20090526 LICENSE IPL10 fix error code checking commit e754a0bebdeaa5bd8acfdb5d802392715e38fd5b Author: Jeffrey Altman Date: Tue May 26 16:29:16 2009 +0000 doc-xml-windows-release-notes-20090526 LICENSE MIT Add notes describing registry support for CellServDB info and conversion of docs to HtmlHelp format. commit 582688f1be17611d2926a4a7281d55bc7ccaa611 Author: Jeffrey Altman Date: Tue May 26 03:20:06 2009 +0000 windows-xml-release-notes-version-20090525 LICENSE MIT autogenerate version info. fix chapter title. commit 2f7046eff6599d9a66a7f31bb6f33b7f88646db5 Author: Jeffrey Altman Date: Tue May 26 01:54:15 2009 +0000 windows-top-makefile-20090525 LICENSE MIT add rules for building documentation sources add option for including cygwin libs in wix installer commit 4a523957feabf7f5d9f36b7a05c79fd6eccf426e Author: Jeffrey Altman Date: Tue May 26 00:53:53 2009 +0000 windows-doc-man-dependency-20090525 LICENSE IPL10 html\index.html not index.html commit 22a932c40a3ecabae8110db21572a4cae2ba1fae Author: Jeffrey Altman Date: Mon May 25 23:06:16 2009 +0000 windows-cellservdb-lookup-20090525 LICENSE MIT Add a new Registry distribution method for CellServDB info. The CellServDB registry schema is as follows: HKLM\SOFTWARE\OpenAFS\Client\CellServDB\[cellname]\ "LinkedCell" REG_SZ "[cellname]" "Description" REG_SZ "[comment]" "ForceDNS" DWORD {0,1} HKLM\SOFTWARE\OpenAFS\Client\CellServDB\[cellname]\[servername]\ "HostName" REG_SZ "[hostname]" "IPv4Address" REG_SZ "[address]" "IPv6Address" REG_SZ "[address]" "Comment" REG_SZ "[comment]" "Rank" DWORD "0..65535" "Clone" DWORD "{0,1}" "vlserver" DWORD "7003" "ptserver" DWORD ... ForceDNS is implied non-zero if there are no [servername] keys under the [cellname] key. Otherwise, ForceDNS is zero. If [servername] keys are specified and none of them evaluate to a valid server configuration, the return code is success. This prevents failover to the CellServDB file or DNS. Registry distributed info takes precedence over the CellServDB file. Registry support has been added to both the Windows specific cm_config interface and the auth/cellconfig interface utilized by aklog, the services, and the vast majority of support commands. Enhance the DNS lookup for Cell vlserver info to support ranking info which is used with _vlserver._udp SRV record lookups when AFSDB records are not present. Priorities become ranks. commit c8ccb887882bc4affef02a8193e9b1ed01f885f5 Author: Jeffrey Altman Date: Mon May 25 22:30:24 2009 +0000 windows-libafsconf-20090525 LICENSE MIT libafsconf.dll has been present since OpenAFS 1.0. However, for some unknown reason the components that it consists of (cm_dns.obj, cm_config.obj, cm_nls.obj) have been staticly linked into exes and dlls all over the code base. This commit removes all of the static references and replaces them with libafsconf.lib. libafsconf.dll is also moved from Client\Program to Common because it is now linked to by server and utility components. commit d8410b56c895830d609846aec56d61dfd2efb897 Author: Jeffrey Altman Date: Mon May 25 21:00:18 2009 +0000 windows-doc-man-makefile-20090525 LICENSE IPL10 Add a proper dependency list so that the man-pages are not rebuilt when no changes have occurred. commit 20460e1391d87bdedbf1b84e233ffd5b926b5df8 Author: Jeffrey Altman Date: Mon May 25 20:57:39 2009 +0000 windows-make-version-20090525 LICENSE IPL10 remove space before "KEEP". older versions of nmake.exe do not like it. commit a31fd7f70f0049a180e5b02202941d3b1266c1f8 Author: Jeffrey Altman Date: Fri May 22 17:00:33 2009 +0000 windows-btree-flush-race-20090522 LICENSE MIT FIXES 124787 A flush operation on a directory will result in the btree being destroyed. This can race with on-going operations. Make sure that the dirlock is held if the btree is destroyed. Otherwise, just invalidate the btree version number. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE MIT FIXES 124787 correct sandbox leakage commit 12e85227c5dbfdb1258718ee3360bffacc4f96ac Author: Daria Phoebe Brashear Date: Fri May 22 17:00:26 2009 +0000 background-fsync-consistency-issues-20090522 LICENSE IPL10 FIXES 124359 avoid either reopening closed vnodes and leaving cached descriptors around, or discarding a reference we're not holding; instead, sync changes when the fd is closed, and note such has been done; otherwise, no changes from older code. commit 556597af26150041e3b44ec2769ec6c962ab06db Author: Asanka Herath Date: Thu May 21 19:08:23 2009 +0000 windows-install-wix-vs2008-20090521 LICENSE MIT add merge modules for VS2008 RunTime Libraries commit 32ddb143388bb5d6bbcc1f3afc5860f0566de81c Author: Jeffrey Altman Date: Thu May 21 19:06:08 2009 +0000 windows-install-wix-doc-xml-20090521 LICENSE MIT replace static html documentation with auto-generated html help files from doc/xml/... when building en_US locale. commit e4b36071ef35b73fb68db6c054e811ba7e6b65e0 Author: Jeffrey Altman Date: Thu May 21 18:51:42 2009 +0000 doc-xml-version-generation-20090521 LICENSE MIT Replace version info in the DocBook files with a new ENTITY "version" associated with a local "version.xml" file which contain a tag for the current release. The version.xml file should be autogenerated by the Makefile system. commit da5794d9caa47e96679c197610bd8ea2a682c338 Author: Jeffrey Altman Date: Thu May 21 18:25:50 2009 +0000 config-mkvers-xml-20090521 LICENSE IPL10 Add a -x option to mkvers.c to permit generation of XML entities containing a revision tag and tags for each delta Add autogeneration of version.xml to Windows Makefiles commit 278f8a18305b376e1c764bb38dc0e69ba5b246e5 Author: Jeffrey Altman Date: Thu May 21 14:33:47 2009 +0000 windows-install-nsis-20090521 LICENSE MIT Remove old documentation and start menu links before installing new versions. No longer install versions from src/WINNT/doc/install/... tree Install versions from doc/xml/... Use CHM files when available. Construct new Start Menu/Program/OpenAFS/Documentation/ menu with links to individual documents instead of using an index.html top level link. commit 716c81782eae719b43b3b90464b821b398a0f9a6 Author: Asanka Herath Date: Thu May 21 04:25:46 2009 +0000 windows-make-cygwin-libs-20090520 LICENSE MIT added libosi.a and libafsconf.a commit 4e9bd3bd0ec5977609fd75d681fcc6dbd24a8c6f Author: Asanka Herath Date: Wed May 20 06:03:09 2009 +0000 windows-make-cygwin-libs-20090519 LICENSE MIT Unless NOCYGWIN is defined create cygwin .a import libraries for each OpenAFS DLL that is constructed. commit 85a10ffc9385240818ff9a968f308ac31ee03348 Author: Jeffrey Altman Date: Wed May 20 05:53:57 2009 +0000 doc-xml-windows-20090519 LICENSE IPL10 remove references to xml files no longer in the repository commit 6cc155e8da8f505443f43a312a522a64c52515e8 Author: Daria Phoebe Brashear Date: Tue May 19 19:40:09 2009 +0000 krb-conf-manpage-path-fix-20090519 LICENSE IPL10 fix path to krb.conf, per IRC discussion commit 7b56f2ebfc8c2e1695e007798833ad2053e08113 Author: Russ Allbery Date: Tue May 19 04:58:53 2009 +0000 doc-xml-build-20090518 LICENSE MIT Standardize the UNIX Makefiles for all of the DocBook guides. Remove the rest of the generated files and switch to xsltproc and dblatex for the document generation in all cases. Fix a few DocBook errors by removing the contents of the tag and removing the unknown tag in the field. commit 74585aa5003cfb42103ac8d6059137eebd2005e0 Author: Russ Allbery Date: Tue May 19 04:27:36 2009 +0000 doc-quick-start-unix-build-20090518 LICENSE MIT Use dblatex to build PDF documentation instead of docbook2html and xsltproc to build HTML instead of docbook2html. Remove all the index generation logic, since dblatex and xsltproc handle that automatically. Remove the contents of the tag in the source, since neither program requires there be anything in there. Remove the style sheets and configuration that were used for docbook2*. commit 8f2a8edb2aec01226d18feae71643e856bbd6470 Author: Jeffrey Altman Date: Tue May 19 03:36:21 2009 +0000 windows-wix-new-man-pages-20090518 LICENSE MIT FIXES 124800 pod1/compile_et.pod pod1/copyauth.pod pod1/fs_cscpolicy.pod pod1/fs_getfid.pod pod1/fs_memdump.pod pod1/fs_monitor.pod pod1/fs_rxstatproc.pod pod1/fs_setcbaddr.pod pod1/fs_trace.pod pod8/rmtsysd.pod pod8/vsys.pod commit 9ad6c37ccfec016df9e845972ae626a1da19dfbf Author: Russ Allbery Date: Tue May 19 00:53:26 2009 +0000 man-page-syntax-errors-20090518 LICENSE BSD Fix some man page syntax errors that snuck into the recent round of updates. commit 798ffe54af1f5798bf07947439fc62946bc2f07e Author: Steven Jenkins Date: Mon May 18 23:22:29 2009 +0000 man-page-krb-varients-20090518 FIXES 124799 LICENSE IPL10 Install symlinks for the *.krb versions of klog, pagsh, and tokens to the non-krb versions and add information about the *.krb versions to the non-krb man pages. commit 6df60468130977744fea0499fba2351ef74175d8 Author: Steven Jenkins Date: Mon May 18 21:42:26 2009 +0000 man-page-cellservdb-updates-20090518 FIXES 124794 LICENSE IPL10 Note in CellServDB man page that it's also used to populate root.afs for a -dynroot client. Also document the dynamic lookup of database servers with -afsdb and provide some more information about when CellServDB has to contain the cell and when it doesn't. Mark the backup server as optional, and indicate that the authentication server is deprecated and CellServDB isn't required for authentication if Kerberos v5 and aklog are used. commit 1df9282985949b38313f05640d9afd05948f45c4 Author: Steven Jenkins Date: Mon May 18 21:28:26 2009 +0000 man-page-vsys-20090518 LICENSE BSD FIXES 124793 Add man page for vsys. commit 921774594faead45f9432af218c5f9f394a03204 Author: Steven Jenkins Date: Mon May 18 21:22:04 2009 +0000 man-page-rmtsysd-20090518 LICENSE IPL10 FIXES 124792 New man page for rmtsysd. commit 97b0d230145c4c5f58ef785b11bf2d201ded2d26 Author: Steven Jenkins Date: Mon May 18 19:46:33 2009 +0000 man-page-restorevol-20090518 LICENSE IPL10 FIXES 124791 Add man page for restorevol. commit 01ba5ab1ed24d14c1068d5dac951cbea1befba10 Author: Steven Jenkins Date: Mon May 18 19:35:31 2009 +0000 man-page-fs-monitor-20090518 LICENSE IPL10 FIXES 124790 Add man page for fs monitor. commit a7a80efd577d9f2a9573fe35c12ca30b59e2f375 Author: Steven Jenkins Date: Mon May 18 19:32:06 2009 +0000 man-page-copyauth-20090518 FIXES 124789 LICENSE IPL10 Add man page for copyauth. commit 16ec87e0b382bc8bca14ec6a70987f54899eea7f Author: Steven Jenkins Date: Mon May 18 19:28:05 2009 +0000 man-page-compile-et-20090518 LICENSE IPL10 FIXES 124788 Add man page for compile_et. commit faf518ace7c8c0ec9c3269afd267afd276d69cd4 Author: Mike Robinson Date: Mon May 18 04:34:38 2009 +0000 man-page-yet-more-fs-commands-20090517 LICENSE IPL10 FIXES 109189 Add new man pages for fs rxstatproc, fs setcbaddr, and fs trace. Also updates the links from fs to its subsidiary man pages and fixes the fs rxstatpeer man page a bit to mirror fs rxstatproc. commit 32c93cf55210809de92e81428bff784b07a58d44 Author: Steven Jenkins Date: Mon May 18 03:50:00 2009 +0000 man-page-more-fs-commands-20090517 LICENSE IPL10 FIXES 124756 Add man pages for fs cscpolicy, fs getfid, and fs memdump. commit d5c2efa499fdef6811e40e79a041a43761b3d208 Author: Simon Wilkinson Date: Fri May 15 14:30:07 2009 +0000 man-pod-fileserver-20090515 LICENSE IPL10 FIXES 124778 -L sets the max number of threads commit b41d124409589e2890dea60963db4dc158f4d19c Author: Jeffrey Altman Date: Fri May 15 13:30:06 2009 +0000 printf-format-macros-20090515 LICENSE IPL10 FIXES 124776 The Windows format macro for AFS_INT64_FMT was wrong. It is "I64" not "l64". Also added macros for AFS_SIZET_FMT. Although not currently in use. size_t varies in size on Windows just like pointers. commit 1f07c903055c54fb7f0a584e88cfc1c289a161c6 Author: Daria Phoebe Brashear Date: Thu May 14 21:50:44 2009 +0000 vol-split-no-nearinode-hint-for-namei-20090514 LICENSE IPL10 nearinode hint makes no sense when you're not using inode fileserver commit fb985eefcea791ae16610c210f1ca5408b8ed62f Author: Jeffrey Altman Date: Thu May 14 18:47:44 2009 +0000 doc-xml-release-notes-windows-20090514 LICENSE MIT Initial take at converting the OpenAFS for Windows Release Notes to DocBook. Website style HTML and HtmlHelp (.chm) output is generated. Formatting of Registry Value descriptions could be improved. There is no indexing at present. commit 8a2fcaa8f45c36a80c574a7e903e71041bbd53cc Author: Daria Phoebe Brashear Date: Thu May 14 05:05:29 2009 +0000 cfileopen-cleanup-20090514 LICENSE IPL10 make disconnected work again. also, use static_inline macro consistently commit 9e8e080a5c1281dfa6109700cacd13cd1c44f5ef Author: Jeffrey Altman Date: Thu May 14 03:25:35 2009 +0000 doc-xml-20090513 LICENSE IPL10 FIXES 124760 Remove generated HTML from the respository Update XML to support autogeneration of Index files via XSLT Add graphics referenced by generated HTML output Add top level index.html used by the docs.openafs.org web site. Add NTMakefile for AdminGuide, QuickStartUnix, and UserGuide that utilizes XSLT to generate Windows HTMLHelp (.CHM) and website appropriate HTML output. In AdminGuide and UserGuide, relabel the documentation as OpenAFS instead of IBM AFS. Create a new revision entry for the OpenAFS docs. Incorporate updates to QuickStartUnix Appendix A commit 070f02923cfa4e01ccb754928cdd4d02bec48720 Author: Daria Phoebe Brashear Date: Wed May 13 22:34:56 2009 +0000 ukernel-use-fsblkcnt-20090513 LICENSE IPL10 FIXES 124681 blkcnt_t doesn't exist on fbsd, macos 10.3, and isn't really the right type. this is the right type, but also can be missing. test appropriately. commit 2c0bf1c881f34554472982df2b74c50c4eeb7dcd Author: Marc Dionne Date: Wed May 13 21:40:56 2009 +0000 mmap-antirecursion-port-to-head-20090513 LICENSE IPL10 FIXES 124770 deal correctly with the structure reorg which took place commit 6ba44802ea6cf722c22a4784cbbad70ed6f5d60a Author: Daria Phoebe Brashear Date: Tue May 12 20:40:20 2009 +0000 pts-encrypt-option-20090512 LICENSE IPL10 FIXES 124681 add -encrypt flag to pts generic options, allowing the wire to be encrypted if desired and the user's authenticated. document same. commit 5e0e1ea2540d0cb7d7274350eb1fadfd41733ea4 Author: Felix Frank Date: Tue May 12 18:56:30 2009 +0000 linux-mmap-antirecursion-fix-20090512 LICENSE IPL10 FIXES 124627 fix the mmap anti-recursion protection to set and mask CPageWrite appropriately and with the correct lock protection. this leaves us with an issue to handle when the mmap'd file is larger (possibly considerably larger) than the cache commit 3b6bf1a05730b6383d1cef4516b94a63e802521b Author: Matt Benjamin Date: Tue May 12 18:18:37 2009 +0000 freebsd-kauth-sig-t-20090512 LICENSE IPL10 FIXES 124569 define the old signal type as sig_t on freebsd (e.g. everywhere we prototype as sig_t) commit b967654434f4d24b50dbc96e0296d2c632f76ea3 Author: Rainer Toebbicke Date: Tue May 12 18:12:20 2009 +0000 rxdebug-print-values-unsigned-20090512 LICENSE IPL10 FIXES 124563 for the values which are unsigned, use %u, not %d commit eb9fff14c7be1b15369c6d1a44426c1c7c82c92e Author: Anders Kaseorg Date: Tue May 12 17:58:27 2009 +0000 redhat-use-postinit-in-initscript-20090512 LICENSE IPL10 FIXES 124552 if a postinit script is defined, use it commit 214ce7c8b488e90301e9f604b6ecc625b7000e62 Author: Felix Frank Date: Tue May 12 17:42:24 2009 +0000 memcache-write-on-laststore-20090512 LICENSE IPL10 FIXES 124671 write back dirty pages on last store for memcache, lest we end up unintentionally discarding the changes. commit c6adb0d2f32f8e8f3974b8ea3049601bf01d6877 Author: Steven Jenkins Date: Tue May 12 17:22:49 2009 +0000 tests-generate-dirpath-in-makefile-20090512 LICENSE IPL10 FIXES 124715 fix rmcell to not have hardcoded paths; instead, generate a dirpath shell script from makefile and use that commit c39f38d8c6703a9d1b9967a1bf0901db35e19267 Author: Steven Jenkins Date: Tue May 12 14:06:14 2009 +0000 tests-no-dirpath-infile-20090512 LICENSE IPL10 FIXES 124716 Dirpath.pm.in is no longer needed commit 4b9283a30db0c3aee943c94573b412f24894d366 Author: Matt Benjamin Date: Tue May 12 14:02:38 2009 +0000 openbsd-44-45-20090512 LICENSE IPL10 FIXES 124719 add missing osi_free backend, missing param file, modify soreceive for 4.5 commit 947213da0ee6a0d805f0fc5eaeec0202d0bbffa4 Author: Jeffrey Altman Date: Mon May 11 17:22:24 2009 +0000 windows-dcache-store-data-20090511 LICENSE MIT The windows dcache module synchronizes store data operations in order to prevent multiple simultaneous store data operations against the same file at the same time by multiple threads. This is performed using cm_SyncOp(CM_SCACHESYNC_STOREDATA_EXCL). However, cm_SetupStoreBIOD() was being processed prior to the synchronization. As a result a dirty buffer could be added to two BIOD lists resulting in the same buffer contents being written to the file server twice. This patch moves the cm_SetupStoreBIOD() into the synchronization region. It also adds a new 'locked' parameter to cm_ReleaseBIOD() that indicates whether or not the cm_scache_t object is locked when called. This permits fewer lock state changes to be used in several cases. commit 7d530b9080f6dd4d7f7e4555ed6ce855ff81bcaa Author: Simon Wilkinson Date: Mon May 11 15:54:50 2009 +0000 linux26-defer-cred-changing-20090511 LICENSE IPL10 FIXES 124737 Newer Linux kernels differentiate between the real and effective credentials of a process, and prevent a process's credentials from being change when the effective credentials have been set to a different value. When AFS notices a keyring PAG exists but no group-based PAG does, the attempt to rectify this, if done in a VFS call (which changes effective creds) triggers this issue. We defer the change to the groups to avoid it. commit f5a97a145e09a16a9b2d3ab485f33f520235b7e9 Author: Jeffrey Altman Date: Mon May 11 15:15:35 2009 +0000 windows-hard-and-idle-dead-timeouts-20090511 LICENSE MIT Fix conditional test that assigns value to idleDeadTimeout Modify event log message to indicate timeout could be either a hard or an idle timeout. As described in the source comments, do not retry on a hard or idle timeout. commit 5520747790b599bc10013dc78efb81b5d50a3f52 Author: Jeffrey Altman Date: Mon May 11 15:04:43 2009 +0000 windows-fs-getfid-20090511 LICENSE MIT Implement "fs getfid + [-literal]" on Windows. Same as the first line of output as "fs examine ...". commit 326ffcc108e1db32fa2071b66ac9dbf2321ae71d Author: Marc Dionne Date: Mon May 11 14:39:58 2009 +0000 linux-fh-based-cache-20090511 LICENSE IPL10 FIXES 123620 rework previous fh-based cache support. now allows use of arbitrarily large file handles, and build correctly for UKERNEL. we now just use this if there's no iget, instead of providing a configure switch. because this relies on the somewhat invasive patch from 124184 it is not currently pulled up to 1.4.x commit 8747236d54742c1c2fb8788c1f6aee4e657b3e89 Author: Simon Wilkinson Date: Mon May 11 14:27:42 2009 +0000 abstract-cache-inode-ops-20090511 LICENSE IPL10 FIXES 124184 previous versions had abstract functions for linux (use_fh) and osx/solaris (cache_vnode_path) cache file access, which was contributing to code bloat switch to a union for disk/memory cache objects, and provide functions to convert these into something appropriate for each system commit fd0f1f49f27b5f92547a0d15e23efd3b2e46376d Author: Jeffrey Altman Date: Thu May 7 16:02:53 2009 +0000 windows-fs-path-in-afs-20090507 LICENSE MIT Switch the PathInAfs test to use VIOCGETFID instead of VIOC_GET_CELL_NAME so that the literal option can be used. commit 621719905806a5883be5a17ca1af0d1929b874e3 Author: Jeffrey Altman Date: Thu May 7 15:53:14 2009 +0000 windows-shellext-path-in-afs-20090507 LICENSE MIT FIXES 124742 Change the PathInAfs test to use VIOCGETFID instead of VIOC_GET_CELL_NAME. VIOCGETFID permits a literal test of the specified object. This is needed for testing the validity of a symlink to a msdfs: or non-existent path. Otherwise, the AFS Shell Extension context menu will not be displayed. commit c8ac7d1c499150b3f82a6566e9bbdb7478ddd469 Author: Daria Phoebe Brashear Date: Tue May 5 13:30:24 2009 +0000 man-pages-allow-dots-consistent-20090505 LICENSE IPL10 make all server man pages list -allow-dotted-principals (rather than -allow-dotted-principal) commit 5958aa0c4b0a9279a918cda1f37cb7e6c5666d44 Author: Mike Meffie Date: Tue Apr 28 15:37:39 2009 +0000 dafs-vol-offline-20090428 LICENSE IPL10 FIXES 124582 fix a logic error in the dafs vos offline support commit c4006edf4022e4f80cda5afd427d43997299c890 Author: Jeffrey Altman Date: Tue Apr 28 00:37:16 2009 +0000 windows-smb-disable-loopback-check-20090427 LICENSE MIT Now that BackConnectionHostNames can be set each time the smb listener threads are stopped and restarted, we need to make sure that we do not clear the DisableLoopbackCheck value if it was set during the same service session because BackConnectionHostName value changes only take effect on a reboot. commit 8655541d1eb6ea7d935f50d9256e12bf90db5045 Author: Steven Jenkins Date: Tue Apr 28 00:03:35 2009 +0000 rename-residency-from-mrafs-to-osd-20090427 LICENSE IPL10 FIXES 124130 rename mrafs commands into their equivalent osd versions; structures etc are the same. commit 4836fd1e374c30b5e3be72e73b3dbd21c0c98548 Author: Jeffrey Altman Date: Mon Apr 27 21:17:59 2009 +0000 vos-reveal-hidden-cmds-20090427 LICENSE IPL10 vos hides "online", "offline", "delentry -noexecute", and "addsite -valid". All of these are currently documented in the man pages without warning. Reveal them. commit 2f5ac61b0a8775c58536ee954f2208ab88d0b225 Author: Simon Wilkinson Date: Mon Apr 27 20:17:12 2009 +0000 dprintf-rename-20090427 LICENSE IPL10 FIXES 124657 make dprintf be afs_dprintf to fix for fedora 11 and probably others commit 758366c26a0d1b2e97449ab858e15da8cc0d73f0 Author: Jason Edgecombe Date: Mon Apr 27 19:37:25 2009 +0000 netinfo-fake-address-text-20090427 LICENSE IPL10 FIXES 124699 explain fake address support for NetInfo files commit 25f13f38064bf38ed89332b38c53c740475db87d Author: Matt Benjamin Date: Mon Apr 27 19:29:09 2009 +0000 dragonfly-bsd-userland-20090427 LICENSE IPL10 FIXES 124702 add support for dragonflyBSD's userland commit aea52af634dd20c1cff1a6347ac24770ae727328 Author: Marc Dionne Date: Tue Apr 7 17:16:43 2009 +0000 linux-2-6-30-support-for-head-20090407 LICENSE IPL10 FIXES 124592 make proc dir entry owner field only be initialized when it exists commit b4b61821081d809bb3a737f9e23964f4f99b3c58 Author: Jeffrey Altman Date: Tue Apr 7 15:05:30 2009 +0000 windows-smb-registry-config-20090407 LICENSE MIT Move configureBackConnectionHostNames() to smb_StartListeners() so that when the NetbiosName changes while the service is running the new values can be set. Add configureExtendedSMBSessionTimeouts() which configures new SMB functionality added in a Win2003 post-SP2 hot fix. commit 473149653ee3ef0c67510746131e75839846cf38 Author: Daria Phoebe Brashear Date: Tue Apr 7 14:00:56 2009 +0000 rx-internal-use-static-inline-macro-20090407 LICENSE IPL10 some platforms can't use "static inline" commit 62bca1123fb471ca1eec58b448fd39f7f797638a Author: Simon Wilkinson Date: Mon Apr 6 23:52:52 2009 +0000 avoid-buffer-overflow-on-rx-fixed-size-array-return-20090402 LICENSE IPL10 FIXES 124579 avoid potentially writing beyond allocated memory if a return is larger than expected commit 160619505de3dbf70f0f0c4a813098113eb42129 Author: Simon Wilkinson Date: Mon Apr 6 23:50:15 2009 +0000 linux-avoid-returning-invalid-pointers-on-error-20090402 LICENSE IPL10 FIXES 124580 avoid returning a positive error as it will look like a pointer. commit 9a0b3da255032f177dfedb650c7a0b65cff24fba Author: Jeffrey Altman Date: Mon Apr 6 22:47:49 2009 +0000 windows-pioctl-subst-unc-20090407 LICENSE MIT Add code to support determining if a drive substitution refers to a UNC path. commit aad7a2c5858a94672db6c23f508e404e236e4142 Author: Jeffrey Altman Date: Mon Apr 6 18:24:48 2009 +0000 windows-smb-trace-20090406 LICENSE MIT include the correct function name in a trace message commit ac199c845e6771c627dfb5e7efc0cdd8c5356df9 Author: Jeffrey Altman Date: Sun Apr 5 13:54:04 2009 +0000 windows-test-torture-stack-overflow-20090405 LICENSE MIT avoid stack overflow. commit 59945d1cb5f14baf9ab0008990079e1dde9a796d Author: Jeffrey Altman Date: Sun Apr 5 06:25:08 2009 +0000 windows-tests-torture-20090405 LICENSE MIT replace the VOLSTAT online test with the PATH_AVAILABILITY online test. We do not care of the volume is offline on the file server if the cache manager has current data to serve. commit ffe04f710b41120f1bbd843c73ee2d95bc179d9c Author: Jeffrey Altman Date: Sat Apr 4 21:16:27 2009 +0000 windows-smb-error-map-20090404 LICENSE MIT For CM_ERROR_BADSHARENAME return BAD_NETWORK_PATH instead of BAD_NETWORK_NAME. The latter refers to the server name and the former to the share name. Returning BAD_NETWORK_NAME will causes the smb redirector to break its connection to \\AFS. For CM_ERROR_ALLOFFLINE and CM_ERROR_ALLDOWN return PATH_NOT_FOUND instead of BAD_NETWORK_PATH. We don't want the smb redirector to tear down all open files just because some volume in the path is inaccessible at the moment. commit 4ecaeaac97a48c36df3866f1f71eb8a95c8f6e51 Author: Simon Wilkinson Date: Sat Apr 4 17:43:42 2009 +0000 linux-key-alloc-no-pointer-arith-20090404 LICENSE IPL10 make the key_alloc configure test work commit f6b4902daeb731eb01de44464476cb0a3edb26b1 Author: Jeffrey Altman Date: Fri Apr 3 03:56:36 2009 +0000 windows-afsd-no-more-ods-20090402 LICENSE MIT Any use of OutputDebugString() in production can result in serious delays in the execution of the thread that issues the call. Remove the last of the unprotected calls within afsd_service. commit fc408da993e753d33336ab408167383a75ed97f0 Author: Jeffrey Altman Date: Thu Apr 2 08:44:51 2009 +0000 windows-rx-xmit-20090402 LICENSE IPL10 permit compilation with Windows SDK v6.0/6.1 which hides previously exposed XP symbols unless _WINNT_WIN32 is at least 0x0501 commit 0700567eef0c52b1b8892454b72c5123fe0514b1 Author: Jeffrey Altman Date: Thu Apr 2 08:40:06 2009 +0000 windows-src-makefile-two-20090402 LICENSE MIT get the i386 case right ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE MIT fixup the @echo again commit 27aedf7a2cfb04f49b6b8f3c9cabc3d6cdb91c78 Author: Jeffrey Altman Date: Thu Apr 2 06:06:44 2009 +0000 windows-src-makefile-20090402 LICENSE MIT remove extraneous echo command output do not attempt to build NSIS target on non-x86 platforms since support is not implemented commit 8673c0de48140b8cd148bf3ea47094968ffbda8b Author: Jeffrey Altman Date: Thu Apr 2 06:04:48 2009 +0000 windows-config-clean-20090402 LICENSE MIT permit "nmake -f ntmakefile clean" to complete on a clean source tree. commit d86247619136d3080eb6be08fd8c077bc2afc68b Author: Asanka Herath Date: Wed Apr 1 23:56:16 2009 +0000 windows-install-loopback-20090401 LICENSE MIT Define INCLUDE variable and reorder binary link order to ensure compatibility with latest WDK/SDK combinations. commit d8a8bfb5c3b49980135b9da26082fa668640ec0f Author: Jeffrey Altman Date: Wed Apr 1 18:36:29 2009 +0000 windows-talocale-20090401 LICENSE MIT perform proper casting to avoid a warning commit 520fef4278bd43073782e1c75f67900f96fa6ddf Author: Jeffrey Altman Date: Wed Apr 1 18:30:29 2009 +0000 windows-afsd-smb-logging-20090401 LICENSE MIT Add more info about the smb request to the log entry that is written to afsd_init.log if the request took longer than 45 seconds to complete. commit 37f582326c1c5d5363a988f7038af0b62d0fb3ea Author: Jeffrey Altman Date: Wed Apr 1 18:29:15 2009 +0000 windows-afsd-priority-class-20090401 LICENSE MIT Change the default priority class for afsd_service.exe to High. This matches the priority class assigned to other system processes that generate requests to afsd_service.exe. Permit the ..\TransarcAFSDaemon\Parameters "PriorityClass" registry value to be used to change the default. commit d7749751df230d919188546106b61bd2dbb8974c Author: Jeffrey Altman Date: Wed Apr 1 17:37:50 2009 +0000 xdr-free-20090401 LICENSE MIT add xdr_free() and export it from afsrpc.dll. This permits applications to free memory allocated within the xdr routines with the same run time library memory management routines as was used to allocate it. This is necessary on Windows to prevent memory corruption. VL_GetAddrsU() is an example where a xdr array is allocated in the library and must be freed by the application. commit 3d81394f9106b187c28e35328676e11b662025c6 Author: Jeffrey Altman Date: Wed Apr 1 17:35:29 2009 +0000 windows-afsd-xdr-free-20090401 LICENSE MIT make use of xdr_free() to release memory allocated within afsrpc.dll. this prevents crashes when the library is built with a different runtime library version than the application. fix signed/unsigned warnings in the same code snippet commit 84871adb4bb3f8d1d50127255da75629e2167977 Author: Daria Phoebe Brashear Date: Tue Mar 31 13:41:25 2009 +0000 dynamic-vcache-no-printf-20090331 LICENSE IPL10 no printf in releases commit d0a166bdffce2d2498cab54cc458d9489d05c299 Author: Marc Dionne Date: Tue Mar 31 13:16:17 2009 +0000 linux-2630-maybe-20090331 LICENSE IPL10 FIXES 124560 hopefully support 2.6.30 when it's released commit 07c187c84384635413e6353dc9913a8826f25bb5 Author: Jeffrey Altman Date: Sat Mar 28 23:25:16 2009 +0000 windows-afsd-log-smb-mid-20090328 LICENSE MIT For each SMB transation log the 'mid' field of the smb packet. The 'mid' field can be used as a reference against the mrxsmb request logging for debugging purposes. commit 4bc36a697fffe78cc0ec93cb9cf98772aeadfcb6 Author: Jeffrey Altman Date: Sat Mar 28 23:17:29 2009 +0000 windows-remove-reset-all-vcs-event-20090328 LICENSE MIT remove the smb reset all VCs message. duplicates the reportSessionStartups functionality. commit 27609fe288eb20f30e1f17a709a07468a74372eb Author: Jeffrey Altman Date: Fri Mar 27 17:58:02 2009 +0000 windows-afsd-symlink-20090327 LICENSE MIT Increase max symlink limit to 64 and remove the repeated fid recursion test. Breaks too many things. commit 977674dfb0470de693e5e7700c614c3b68317efa Author: Jeffrey Altman Date: Wed Mar 25 01:15:20 2009 +0000 volser-new-is-special-20090324 LICENSE IPL10 Do not permit the word "new" to be used for a field name as it is special. Our headers get pulled into C++ compilations. commit a523710780d54b27fc61db0fd1a561f789871046 Author: Mike Meffie Date: Fri Mar 27 15:47:23 2009 +0000 uss-kvno-warning-fix-20090327 LICENSE IPL10 FIXES 124220 suppress bogus kvno warning in uss commit 9243308990dc93ef3f42b9d024b9b02568881468 Author: Chaskiel M Grundman Date: Fri Mar 27 15:45:27 2009 +0000 linux-flushpages-call-truncate-inode-pages-after-all-20090327 LICENSE IPL10 in this case we're discarding just the data in case it's stale, so this is correct commit 3fcbdab1889f2674f1229cb551afeafc6f06b66a Author: Garry Zacheiss Date: Fri Mar 27 13:45:49 2009 +0000 bucoord-update-kvno-check-20090327 LICENSE IPL10 update kvno check in bucoord to match what it is elsewhere commit 4ced67ca980218e27aa4033f31a9d238590919d5 Author: Simon Wilkinson Date: Thu Mar 26 23:42:03 2009 +0000 vol-proto-do-not-break-dafs-20090326 LICENSE IPL10 FIXES 12540 Reenable prototype of VolumeExternalName_r for dafs commit 8cc60f4931f1b62c84d0a74d0fbbbfd0ea582a91 Author: Andrew Deason Date: Thu Mar 26 21:33:50 2009 +0000 state-analyzer-usage-20090326 LICENSE IPL10 FIXES 124539 fix usage for state-analyzer commit d4359ad72aee9839ee019165a3fb37c9cfae3b4d Author: Daria Phoebe Brashear Date: Thu Mar 26 14:30:13 2009 +0000 return-values-missing-fix-20090326 LICENSE IPL10 FIXES 124194 add return values for functions missing them commit 80494f5096d231e1e032229732f2d94ba569718e Author: Chaskiel M Grundman Date: Wed Mar 25 19:34:38 2009 +0000 cbr-free-what-you-alloc-20090325 LICENSE IPL10 FIXES 124531 dequeue and free items as alloc'd commit 4162ff9d4d733afc788b3c002adc57aac78a3282 Author: Daria Phoebe Brashear Date: Tue Mar 24 22:40:05 2009 +0000 shutdown-vcache-avoid-null-deref-20090324 LICENSE IPL10 avoid potential null pointer deref at shutdown commit cc0922c26fcbeebe73d4df422db65a550a9c6bf8 Author: Simon Wilkinson Date: Wed Mar 25 18:42:17 2009 +0000 redhat-spec-update-20090325 LICENSE IPL10 FIXES 123650 install afszcm.cat, update CellServDB commit 78e29484eb67deb8c19e4549eabaa27a3527fcf6 Author: Rainer Toebbicke Date: Wed Mar 25 14:34:38 2009 +0000 copyonwrite-optimization-fix-20090325 LICENSE IPL10 update to do tail case commit db844c458457a0bbcff81e9dbff362784db6958a Author: Jeffrey Altman Date: Tue Mar 24 22:36:09 2009 +0000 vol-split-warnings-no-win-20090324 LICENSE IPL10 remove many warnings disable on Windows since there are missing dependencies in ntops.c commit 5e770d6d18eacd5e4e70dd95853e4f1d99c54df2 Author: Daria Phoebe Brashear Date: Tue Mar 24 18:20:23 2009 +0000 volser-split-namei-only-20090324 LICENSE IPL10 make vos split be namei-only commit 1f83528147ee47addd926ae729ee36520d1e82e5 Author: Daria Phoebe Brashear Date: Tue Mar 24 17:55:48 2009 +0000 vol-split-nearino-20090324 LICENSE IPL10 add nearInode hint commit 9a697699b487066f04783194771774db42ecfba9 Author: Daria Phoebe Brashear Date: Tue Mar 24 14:23:58 2009 +0000 vfsck-needs-fd-t-defn-20090324 LICENSE IPL10 make vfsck build again commit 4df81d17bfbc1e2437883260c350be2631002ec0 Author: Daria Phoebe Brashear Date: Tue Mar 24 14:21:56 2009 +0000 volser-prototype-cleanup-20090324 LICENSE IPL10 make prototypes and return values etc match commit ba742892e2102cf545157e9c97df10799a58403e Author: Hartmut Reuter Date: Tue Mar 24 13:36:23 2009 +0000 volserver-split-volume-functionality-20090324 LICENSE IPL10 FIXES 124520 implement the server side of vos split commit 71a73608b1393a5f7f333cb680608d8a1f03a3f6 Author: Daria Phoebe Brashear Date: Tue Mar 24 12:43:05 2009 +0000 fssync-enum-syntax-20090324 LICENSE IPL10 no trailing comma commit 63b0d495cfc6362bced7b2492310cf1a0bf684b0 Author: Daria Phoebe Brashear Date: Tue Mar 24 04:31:13 2009 +0000 fd-t-definition-fun-20090323 LICENSE IPL10 make FD_t be defined everywhere we need it commit ede1c215d16d394fcd0afb7aacd827680be56cf6 Author: Daria Phoebe Brashear Date: Tue Mar 24 03:43:59 2009 +0000 viced-threadnum-return-cast-20090323 LICENSE IPL10 cast return type from threadNum commit a209012f1a3f83959f9df14ebad4aa2b50bacae0 Author: Jeffrey Altman Date: Mon Mar 23 22:47:36 2009 +0000 vol-lock-fd-type-20090323 LICENSE IPL10 the lock_fd field of DiskPartition[64] is a file descriptor. On Windows this is a HANDLE and on *nix platforms an int. OpenAFS uses the FD_t type to provide platform specific type info for file descriptors. Use it for the lock_fd field and the salvageLock in ObtainsSalvageLock(). Finally, the on the wire diskPartition[64] struct in volser/volint.xg also contains a lock_fd field. This is an on the wire field and must be left at a fixed width of 32-bits. Since a file descriptor is not portable across machines we truncate the 64-bit HANDLE value to fit in the 32-bit lock_fd field when necessary. commit aa8d735b8707e2bf9142699fd25034655c821f96 Author: Jeffrey Altman Date: Mon Mar 23 22:42:48 2009 +0000 vol-fssync-server-socket-20090323 LICENSE IPL10 GetHandler() sets up a fdset and returns the max socket fd which is used with select(). Windows ignores the numfd param (first param) of select() and therefore computing the max fd value is meaningless. We can avoid a number of casts by not attempting to treat this value as osi_socket. commit 1d4542f93bae6b59e7d4321c23a2551fa43416ba Author: Jeffrey Altman Date: Mon Mar 23 22:38:16 2009 +0000 libadmin-vos-ihandle-20090323 LICENSE IPL10 include afs/ihandle.h in order to gain access to the FD_t definition commit 4d9f5731c9ec6c50154da9784df0631a65dd9a9d Author: Daria Phoebe Brashear Date: Mon Mar 23 19:53:46 2009 +0000 volser-fcn-return-types-20090323 LICENSE IPL10 make internal functions have correct return types commit 3e15ed48d305a5fedb1af552459cf5bbe1b95a40 Author: Daria Phoebe Brashear Date: Mon Mar 23 19:39:59 2009 +0000 printf-sanity-args-20090323 LICENSE IPL10 fix type specifier for correct arg commit 62f4c29eef578b7f3df143f3ddd04307d8f2271f Author: Simon Wilkinson Date: Mon Mar 23 19:11:16 2009 +0000 disconnected-put-back-vcaches-we-held-20090323 LICENSE IPL10 if we hold a vcache for shadow, we need to release the ref when we give it up commit ad20213bbba4083160a88c2f65e5e8c8de259266 Author: Simon Wilkinson Date: Mon Mar 23 18:59:53 2009 +0000 disconnected-dont-double-dequeue-shadow-removal-20090323 LICENSE IPL10 FIXES 124496 queue_Remove twice tends to cause things like panics commit 7a7b55658b7c72eef0f9b495f02ce766c9961d6e Author: Daria Phoebe Brashear Date: Mon Mar 23 18:46:40 2009 +0000 viced-type-fixups-20090323 LICENSE IPL10 SetLogThreadNum takes a fcn returning int. get_key's first arg is a void* commit c39d0161552bf69affe839fcb36dfb858dbaedc1 Author: Jeffrey Altman Date: Mon Mar 23 18:18:44 2009 +0000 volid-unsigned-int32-20090323 LICENSE IPL10 FIXES 124510 assume volume ids are always unsigned 32 bit values commit 4830a7c8d79c72dcd5d8ce4bab6b8c0a8b249d96 Author: Daria Phoebe Brashear Date: Mon Mar 23 15:16:30 2009 +0000 linux-task-becomes-task-struct-20090323 LICENSE IPL10 struct task->struct task_struct. configure needs to cope commit 39c4e32bf484aab2c9cf978cbf5877bdb989e9d6 Author: Daria Phoebe Brashear Date: Sat Mar 21 16:29:46 2009 +0000 krb5-run-configure-tests-20090321 LICENSE IPL10 FIXES 124522 --with-krb5=/path caused us to not run configure tests. fix that commit c1d545dff6483369ade640b27b9ab7baaa6faac5 Author: Daria Phoebe Brashear Date: Sat Mar 21 15:49:07 2009 +0000 aix-no-aklog-tsm-without-krb5-20090320 LICENSE IPL10 FIXES 124522 don't build aklog_dynamic_auth without krb5 commit 4398d6277dacde8464c0db7a73d5ecb37039823f Author: Daria Phoebe Brashear Date: Sat Mar 21 15:45:41 2009 +0000 rx-prototypes-alloc-free-ifdefs-20090321 LICENSE IPL10 don't prototype osi_Alloc/osi_Free if they're just #defines commit 4bf68765b6d2a04c388ae9a5e6f134c0505a785b Author: Daria Phoebe Brashear Date: Sat Mar 21 15:39:05 2009 +0000 sig-t-exclude-multiple-20090321 LICENSE IPL10 disallow multiple typedefs of sig_t commit b1aaf822f558236b91e543f03bcf159db1054c0b Author: Daria Phoebe Brashear Date: Sat Mar 21 15:07:41 2009 +0000 update-config-guess-20090321 LICENSE IPL10 update from upstream commit 3e034dcb6cbb82ef78853a342bd2c459250e0bcd Author: Daria Phoebe Brashear Date: Fri Mar 20 22:44:54 2009 +0000 aix51-pag-header-20090320 LICENSE IPL10 FIXES 124522 no sys/pag.h until 5.2 commit 73a57e8013c67d5760c677c6aef36611af076af0 Author: Jeffrey Altman Date: Fri Mar 20 17:25:21 2009 +0000 vol-fssync-server-socket-20090320 LICENSE IPL10 another location where we need osi_socket commit b2db1e83c1b4b66ee4f7fb22a6211f849f0e5dd4 Author: Jeffrey Altman Date: Fri Mar 20 17:21:51 2009 +0000 libadmin-client-prototype-20090320 LICENSE IPL10 correct the prototype for afsclient_RXDebugOpenPort commit 218f08ffedb8c75e0314ab00000adf8419fdfe7b Author: Jeffrey Altman Date: Fri Mar 20 17:10:06 2009 +0000 xstat-printf-ptr-format-20090320 LICENSE IPL10 make use of AFS_PTR_FMT to avoid warnings on Windows. commit 37fc3b01445cd6446f09c476ea2db47fea544b7d Author: Jeffrey Altman Date: Fri Mar 20 17:09:01 2009 +0000 config-afs-ptr-format-20090320 LICENSE IPL10 Define AFS_PTR_FMT to permit per platform printf formats for pointer representation. commit 18da64a45c5f1a069f39f687bd84ee51b77a6bd3 Author: Chaskiel M Grundman Date: Fri Mar 20 15:55:38 2009 +0000 linux-osi-vm-flushpages-use-remote-invalidate-20090320 LICENSE IPL10 use invalidate_remote_inode instead of vmtruncate in osi_VM_FlushPages commit 6ef7d7dfb8caf4a555c2de480037769783cbe88e Author: Daria Phoebe Brashear Date: Fri Mar 20 15:04:08 2009 +0000 dyn-vcache-shake-needs-exporting-20090320 LICENSE IPL10 update to export shakeloosevcaches commit 0cd43484be886721c0c4d9750f0b40015ba60756 Author: Jeffrey Altman Date: Fri Mar 20 12:15:01 2009 +0000 vol-fssync-socket-20090320 LICENSE IPL10 the argument to the function parameter is a socket. fix the type to be osi_socket. commit 64c451cec0ccce8d095109a8697144be093c1259 Author: Jeffrey Altman Date: Fri Mar 20 11:51:55 2009 +0000 libadmin-vos-windows-exports-20090320 LICENSE IPL10 do not export function name arrays that are already exported by other libraries. commit 5eea839b637a120e9b10246511b3d826a1e49a0f Author: Jeffrey Altman Date: Fri Mar 20 11:49:27 2009 +0000 libadmin-client-prototypes-20090320 LICENSE IPL10 fix the prototype for afsclient_RPCStatOpenPort and afsclient_CMStatOpenPort commit 14a60754951b7b4920ba1dfcf9c9aac99ae8bce4 Author: Jeffrey Altman Date: Fri Mar 20 11:47:00 2009 +0000 libadmin-windows-socket-20090320 LICENSE IPL10 a socket on Windows is type SOCKET not HANDLE commit df961512e1162188a60cec613dd273e25dbf63c9 Author: Jeffrey Altman Date: Fri Mar 20 11:44:29 2009 +0000 windows-osistatl-20090320 LICENSE MIT Add lock level to osistatl commit e460a6e30539086ff3c4bdb264ab57f6e045ad71 Author: Jeffrey Altman Date: Fri Mar 20 05:30:12 2009 +0000 static-inline-macros-20090320 LICENSE IPL10 FIXES 124515 add back support for AFS_64BIT_ENV commit ef5f6f988c352db58e8b9df422b417cc199b4837 Author: Daria Phoebe Brashear Date: Fri Mar 20 03:48:52 2009 +0000 ubik-recovery-use-file-number-not-hardcoded-zero-20090319 LICENSE IPL10 don't hardcode DB0, use the file number which is being recovered commit 4eef62a2f29d81d4fd8c3d28beb0403499f9802e Author: Daria Phoebe Brashear Date: Fri Mar 20 03:12:11 2009 +0000 param-file-64-bit-scalar-updates-20090319 LICENSE IPL10 64 bit scalar type availability commit e59b81c984652f7570708831d8b36bdd42f98cf8 Author: Daria Phoebe Brashear Date: Fri Mar 20 02:30:49 2009 +0000 dynamic-vcache-allocation-20090319 LICENSE IPL10 FIXES 124334 add dynamic allocation of vcaches when possible (currently just for linux) commit 79d362c77cfc307dc66bfe874952a914e2313e89 Author: Daria Phoebe Brashear Date: Thu Mar 19 20:12:53 2009 +0000 cbd-new-magic-version-with-fixed-time-size-and-dump-switch-20090319 LICENSE IPL10 FIXES 124451 make cbd able to select whether time is 32 or 64 bit; when time size is known, have a new magic number so it's obvious commit fe98c927d3888814077b085e53725f15996cd1b9 Author: Daria Phoebe Brashear Date: Thu Mar 19 18:03:41 2009 +0000 bozo-fs-create-unused-ptr-20090319 LICENSE IPL10 add an "unused" field so we match the prototype for create in the bnodeops struct commit 101399171b5a5315cb3f1fdd003d56f0ca214bc8 Author: Daria Phoebe Brashear Date: Thu Mar 19 17:44:39 2009 +0000 static-inline-macros-20090319 LICENSE IPL10 rework the static inline macros to work with headers, with userspace code, and to have just one copy commit a343f09803a4b3d5c5492c7d52becbd1526c1f8b Author: Daria Phoebe Brashear Date: Thu Mar 19 14:58:22 2009 +0000 viced-type-errors-20090319 LICENSE IPL10 use ktc_encryptionKey instead of a char array to avoid prototype issues threadNum should return int, not char commit 3d54f743bce4c1bd603e9572790f51e85905dabb Author: Daria Phoebe Brashear Date: Thu Mar 19 14:42:39 2009 +0000 linux-put-back-warnings-20090319 LICENSE IPL10 need to verify this for all platforms at the same time; since the function is portable. should be const anyway; we don't want to change it. commit bf9dc554b366b08ce0bef62ce242c94371938000 Author: Marc Dionne Date: Thu Mar 19 04:02:18 2009 +0000 linux-key-alloc-changes-20090318 LICENSE IPL10 FIXES 124507 Fix the old configure test for key_alloc for the task argument - we can't just rely on the number of arguments anymore. Wish this could be done without using -Werror. Add an additional test for the struct cred argument commit aaae44dfe993d95a253b35f60feab5e9806e51f2 Author: Marc Dionne Date: Thu Mar 19 03:57:42 2009 +0000 mypidxx-not-always-int-20090318 LICENSE IPL10 FIXES 124505 don't assume MyPidxx will be an int; on linux it's current, for instance, a task_struct commit 156f1b8e4a3607a49de45ca43a52f42a21cdaab8 Author: Marc Dionne Date: Thu Mar 19 03:53:31 2009 +0000 discon-ifdef-cleanup-20090318 LICENSE IPL10 FIXES 124508 fix the disconnected ifdefs commit be4d4076f281840070a908a7da10f4cab70cea62 Author: Jeffrey Altman Date: Wed Mar 18 22:46:21 2009 +0000 printf-sanity-20090318 LICENSE IPL10 make it work for Windows commit 85d8bdac7439966a64709724d20dfd487911f7bc Author: Marc Dionne Date: Wed Mar 18 13:41:07 2009 +0000 linux-warning-reduction-20090318 LICENSE IPL10 FIXES 119434 cleanup warnings in linux kernel builds commit 09b23c27a7b59a32b8e39bbc0410ddda373da5d4 Author: Jeffrey Altman Date: Wed Mar 18 03:56:12 2009 +0000 windows-afsd-badsharename-20090317 LICENSE MIT When Dfs support is enabled in the smb server do not return CM_ERROR_BADSHARENAME unless the component that is not found is in fact a share name. Return CM_ERROR_NOSUCHPATH instead. commit f26074cbde320fbc89da291e0aa243c2301bb599 Author: Daria Phoebe Brashear Date: Tue Mar 17 15:44:15 2009 +0000 configure-cpp-fallback-to-cc-E-20090317 LICENSE IPL10 if we don't find any cpp whatsoever, fall back to $CC -E, or cc -E commit 57326151f50270695c572afa06c1d4b4b5df40b0 Author: Daria Phoebe Brashear Date: Tue Mar 17 15:10:23 2009 +0000 prototyping-fallout-20090317 LICENSE IPL10 clean up to make prototyping code build everywhere commit b7372c3e1473ffcd4ab13451d3861103b51df3af Author: Daria Phoebe Brashear Date: Tue Mar 17 15:09:49 2009 +0000 solaris-vnode-path-cache-cleanup-20090317 LICENSE IPL10 declare needed variables everywhere commit 355344253605925972ea032d05dcb5fee3d8c3b6 Author: Simon Wilkinson Date: Tue Mar 17 04:51:40 2009 +0000 printf-sanity-20090317 LICENSE IPL10 FIXES 124239 sanitize the arguments to printf to minimize warnings commit 9fa77320ca368af97162d561bb7560b9fa55666a Author: Jeffrey Altman Date: Tue Mar 17 04:49:35 2009 +0000 vol-socket-abstraction-20090317 LICENSE IPL10 windows needs the abstraction for sockets commit 8aa03f1168c19166333a47e88e667a8ca5138133 Author: Steven Jenkins Date: Tue Mar 17 03:06:52 2009 +0000 tests-update-20090316 LICENSE IPL10 1- make afs-newcell.pl remove KeyFile in unwind 2- correct missing space in volserver setup for DAFS 3- fix klog to not try to use a Kerberos realm name 4- fix minor POD bug in src/tests/OpenAFS/wrapper.pm 5- enhance src/tests/OpenAFS/vos.pm to support On-line/Off-line state commit e7b25342096994520b7cea8eab76791edc68b9aa Author: Daria Phoebe Brashear Date: Tue Mar 17 02:31:24 2009 +0000 gtx-x11-init-debug-20090316 LICENSE IPL10 initialize x11 version of gtx correctly commit 85bb464bb46cd87e10a90b75748e164ae683cba0 Author: Jason Edgecombe Date: Tue Mar 17 02:21:14 2009 +0000 man-page-vos-setfields-20090316 LICENSE BSD FIXES 124472 New man page for vos setfields. Also adds -noresolve documentation to the vos(1) common flags. commit d26b3688625231465e17e39f082ed31f230dc667 Author: Daria Phoebe Brashear Date: Mon Mar 16 19:59:36 2009 +0000 disconnected-cache-type-genericization-miss-20090316 LICENSE IPL10 the cache type union change missed this town... commit a3125d5752390d424fc828d6f87da3c67589a9bb Author: Daria Phoebe Brashear Date: Mon Mar 16 19:50:49 2009 +0000 ubik-header-needs-stdarg-20090316 LICENSE IPL10 like com_err.h, includers now need this commit 143819664227f239c9cc07503c9fad1faa5ba9a3 Author: Jeffrey Altman Date: Mon Mar 16 18:13:21 2009 +0000 windows-afsconfig-20090316 LICENSE MIT add typedef for socklen_t which is not present on Windows. commit 6862d4685510ca618c16ed9c150dcfc7e31d5299 Author: Daria Phoebe Brashear Date: Mon Mar 16 17:54:12 2009 +0000 irix-no-inline-20090316 LICENSE IPL10 no inline on irix; deal like elsewhere commit 0e89bfb934863e6ab852b24422fa2c8f8c328120 Author: Jeffrey Altman Date: Mon Mar 16 17:52:31 2009 +0000 rxstat-include-path-20090316 LICENSE IPL10 do something sensible with rxstat prototypes header commit 0097888d53b71ef38491d71c3259ca9b5ac5dfa3 Author: Simon Wilkinson Date: Mon Mar 16 17:21:49 2009 +0000 bucoord-prototypes-20090316 LICENSE IPL10 FIXES 124238 prototype the bucoord directory commit 8377e2e34d750ef1318969f4a59b002920dc2d70 Author: Daria Phoebe Brashear Date: Mon Mar 16 17:17:17 2009 +0000 bubasics-prototype-getsize-correctly-20090316 LICENSE IPL10 fix prototype of getSize op commit 2d683a880bf5f30db22862f0f6add14142dbcf9a Author: Daria Phoebe Brashear Date: Mon Mar 16 16:14:12 2009 +0000 socklen-t-check-20090316 LICENSE IPL10 verify we have socklen_t and if not, get it commit 3eec4075102b18bac036c33c9acb155e44c23f08 Author: Daria Phoebe Brashear Date: Mon Mar 16 16:09:34 2009 +0000 fssync-abstract-fd-type-20090316 LICENSE IPL10 apparently 64 bit windows has 64 bit fds commit 7815171a8d300d550dd61c2db0f329b19390cf16 Author: Daria Phoebe Brashear Date: Mon Mar 16 15:48:20 2009 +0000 irix-no-sig-t-20090316 LICENSE IPL10 correct the sig_t checking macro commit a5daae759d6b513f27f4fe3ab255ea7b4497ff41 Author: Daria Phoebe Brashear Date: Mon Mar 16 15:17:12 2009 +0000 kauth-needs-sys-for-headers-20090316 LICENSE IPL10 get sys's header for kauth commit 97fad3a313088cb0ca5c4966fb9d24dedbecf146 Author: Simon Wilkinson Date: Mon Mar 16 15:06:54 2009 +0000 rxstat-prototypes-20090316 LICENSE IPL10 FIXES 124235 prototype the rxstat directory commit 92cd63b0b7cd26f05e6f316a6d209e4e5d0bfaa2 Author: Daria Phoebe Brashear Date: Mon Mar 16 14:41:22 2009 +0000 vol-no-cast-macro-20090316 LICENSE IPL10 afs_cast_uint32 doesn't exist, not sure we need it commit f076eb4f88a8e3b7633c21edb3921f4f08eefa6b Author: Jeffrey Altman Date: Mon Mar 16 14:19:39 2009 +0000 budb-no-pointer-math-on-void-star-20090316 LICENSE IPL10 can't do pointer math on void*; already casting to char* anyway commit 95d639b19452001835097fe4e0189efe5d8d08be Author: Jeffrey Altman Date: Mon Mar 16 14:12:37 2009 +0000 auth-unistd-not-on-windows-20090316 LICENSE IPL10 don't include unistd on windows commit 6e569d2518dba2f947626b40597c71e9798936b7 Author: Simon Wilkinson Date: Mon Mar 16 14:00:56 2009 +0000 sys-prototypes-20090315 LICENSE IPL10 FIXES 124233 prototype the sys directory commit 129905960db523e0a6365175bf0ce066fdbd60fd Author: Simon Wilkinson Date: Mon Mar 16 13:49:15 2009 +0000 gtx-prototypes-20090316 LICENSE IPL10 FIXES 124243 prototype the gtx directory utilize in scout commit 2b6d173530f38fba6ac9d2cc3459d7088a248f4f Author: Simon Wilkinson Date: Mon Mar 16 13:45:11 2009 +0000 butm-prototypes-20090316 LICENSE IPL10 FIXES 124241 prototype the butm directory commit f239bf808f63bb6a22e53696e9927ba2e4121c75 Author: Simon Wilkinson Date: Mon Mar 16 13:43:34 2009 +0000 uss-prototypes-20090316 LICENSE IPL10 FIXES 124248 prototype the uss directory commit bd00e10eb7caf66de33640bf06722d0169231703 Author: Simon Wilkinson Date: Mon Mar 16 13:41:23 2009 +0000 budb-prototypes-20090316 LICENSE IPL10 FIXES 124240 prototype the budb directory commit 14c3d5ed9179574692a0f7a5cc15d625083e3cf8 Author: Simon Wilkinson Date: Mon Mar 16 13:39:03 2009 +0000 bubasics-prototypes-20090316 LICENSE IPL10 FIXES 124237 prototype the bubasics directory make the volser prototypes available for bubasics to use commit 4fdda50ca7ea47d5b4b8a5cd31797b527deb148f Author: Simon Wilkinson Date: Mon Mar 16 13:28:55 2009 +0000 dir-prototypes-20090316 LICENSE IPL10 FIXES 124242 prototype the dir directory commit cff2da10d6f2c4b568c07a331ceb96cbf952576a Author: Simon Wilkinson Date: Mon Mar 16 13:26:20 2009 +0000 libadmin-prototypes-20090316 LICENSE IPL10 FIXES 124246 prototype the libadmin directory commit 0a8f1e16ae1a18094fa28521f29bee911aa6dcfb Author: Simon Wilkinson Date: Mon Mar 16 13:24:25 2009 +0000 venus-prototypes-20090316 LICENSE IPL10 FIXES 124250 prototype the venus directory commit 379162ec07cc76550e9690f3631cc00b931744f7 Author: Simon Wilkinson Date: Mon Mar 16 13:22:15 2009 +0000 scout-prototypes-20090316 LICENSE IPL10 FIXES 124253 prototype the scout directory commit 0dcdbf6dcda0814a5f24e84d4ef98ffc2279eff1 Author: Simon Wilkinson Date: Mon Mar 16 13:19:47 2009 +0000 bozo-prototypes-20090316 LICENSE IPL10 FIXES 124236 prototype the bozo directory commit 01e03837b81843c4f28eb6cc54811b1bd231514c Author: Simon Wilkinson Date: Mon Mar 16 13:17:33 2009 +0000 auth-prototypes-20090316 LICENSE IPL10 FIXES 124234 prototype the auth directory commit 242aa845a149d5132047e44d074064093fd2d61b Author: Simon Wilkinson Date: Mon Mar 16 13:13:45 2009 +0000 afsd-prototypes-20090316 LICENSE IPL10 FIXES 124231 prototype the afsd directory commit f28659bd826c2bb7311c84122262000caf33316c Author: Simon Wilkinson Date: Mon Mar 16 13:11:42 2009 +0000 vol-prototypes-20090316 LICENSE IPL10 FIXES 124252 prototype the vol directory commit 79448c25acead55728f40beec18e00113d8356f4 Author: Simon Wilkinson Date: Mon Mar 16 13:08:38 2009 +0000 ptserver-prototypes-20090316 LICENSE IPL10 FIXES 124249 prototype the ptserver directory commit a0179b07096014e31ba6ecf1643a9cf67ba45a24 Author: Jeffrey Altman Date: Mon Mar 16 12:37:09 2009 +0000 ubik-prototype-fallout-20090316 LICENSE IPL10 make things happy again commit 61dadb6458ec95b5bf4bd4250520453630fbbe4c Author: Daria Phoebe Brashear Date: Mon Mar 16 03:44:36 2009 +0000 irix-lacks-sig-t-20090315 LICENSE IPL10 sig_t is missing on irix commit 596614dd76aa5107f6cd30c67a79b371be48f504 Author: Simon Wilkinson Date: Mon Mar 16 03:10:21 2009 +0000 viced-prototypes-20090315 LICENSE IPL10 FIXES 124251 prototype the viced directory commit d5158b2ccb78fc7df0a346c7a5dd5b7cb5d0b58b Author: Simon Wilkinson Date: Mon Mar 16 03:03:14 2009 +0000 ubik-prototypes-20090315 LICENSE IPL10 FIXES 124245 prototype the ubik directory commit b18ec965dd58331eb32599a21e882fbe43a8257e Author: Simon Wilkinson Date: Mon Mar 16 02:53:55 2009 +0000 fsprobe-prototypes-20090315 LICENSE IPL10 FIXES 124254 prototype the fsprobe directory commit 8952e3d64d8099a5238be3ccf9cb56a7c0d1a2df Author: Simon Wilkinson Date: Mon Mar 16 02:42:34 2009 +0000 libacl-prototypes-20090315 LICENSE IPL10 FIXES 124256 prototype the libacl directory commit 2e4326e20ebadc2cb9b3efd117454bc422cdc63d Author: Simon Wilkinson Date: Mon Mar 16 02:35:29 2009 +0000 kauth-prototypes-20090315 LICENSE IPL10 FIXES 124257 prototype the kauth directory commit 12a60258f5ae680440b2a93369ca676359c888d4 Author: Simon Wilkinson Date: Mon Mar 16 02:26:28 2009 +0000 rxgen-prototypes-20090315 LICENSE IPL10 FIXES 124255 prototype the rxgen directory commit 47451b4c2009c51160686b4aca1b28b7011ba92f Author: Simon Wilkinson Date: Mon Mar 16 02:00:27 2009 +0000 util-prototypes-20090315 LICENSE IPL10 FIXES 124247 prototype the util directory commit 00fd29251e9326bd81d46387337ca014a118f7ec Author: Simon Wilkinson Date: Mon Mar 16 01:38:07 2009 +0000 audit-prototypes-20090315 LICENSE IPL10 FIXES 124232 prototype the audit directory commit c560efe73f79e396866918ee072849065ab70838 Author: Simon Wilkinson Date: Mon Mar 16 01:34:36 2009 +0000 des-prototypes-20090315 LICENSE IPL10 FIXES 124230 prototype the des directory commit 0c39a855a2da7b3e82970c65f835eed38b650215 Author: Rainer Toebbicke Date: Sun Mar 15 18:50:00 2009 +0000 viced-copyonwrite-optimization-20090315 LICENSE IPL10 FIXES 124397 optimize CopyOnWrite to avoid rewriting data if possible commit 6308037dec22d5a141fc64a11472b1a36585deb2 Author: Chaskiel M Grundman Date: Sun Mar 15 18:42:13 2009 +0000 cellservdb-proc-file-glocking-20090315 LICENSE IPL10 FIXES 124407 hold GLOCK appropriately when dealing with the proc file commit 5102d56f080f1284eecb94dbc7c06cb966c27f5b Author: Mike Meffie Date: Sun Mar 15 18:30:41 2009 +0000 viced-improve-host-hashing-20090315 LICENSE IPL10 FIXES 124447 hash based on host byte order so intel machines aren't sad commit fd6d954e95e016a78001e9bc12c4646ba8183e12 Author: Mike Meffie Date: Sun Mar 15 18:19:15 2009 +0000 butc-xbsa-buffersize-20090315 LICENSE IPL10 FIXES 124425 restrict buffer size to allow for header space commit 22c5edb1b22dbeee28b569ceefb543ab5ffed929 Author: Chaskiel M Grundman Date: Sun Mar 15 18:13:25 2009 +0000 solaris-avoid-returning-einval-if-possible-20090315 LICENSE IPL10 FIXES 124426 if we have a better error code, return it. commit fd9e5ffb4653b87f92438574083185a55086b661 Author: Daria Phoebe Brashear Date: Sun Mar 15 18:02:31 2009 +0000 aklog-old-principal-conversion-sans-524-20090315 LICENSE IPL10 we'll want to fix this differently later; since 524 is dying perhaps we need to just ship heimdal's version of this code commit d0e4044cfeef3ce1c5d435251de9b584343225f5 Author: Jeffrey Altman Date: Sat Mar 14 04:59:23 2009 +0000 windows-afsd-reset-acl-cache-20090312 LICENSE MIT Modify the cm_ResetACLCache interface to accept an optional cm_cell_t *. At the moment every time a token is set or cleared all of the acl info for all cm_scache_t objects regardless of cell is reset. This is both a performance hit and unnecessary. If we know the cell, only reset the acl info for cm_scache_t objects in that cell. If cell is not specified, reset for all cells. commit 8e01e5a4dbcaaea03fc3af59bec5ef211d5b4684 Author: Jeffrey Altman Date: Sat Mar 14 04:54:59 2009 +0000 windows-afsd-unlock-20090312 LICENSE MIT Modify the cm_Unlock() interface to support the ability to unlock all locks within a range. This is required for the redirector. commit 7ca2785f53d391afa5e7200f2b4d40c79a857443 Author: Jeffrey Altman Date: Sat Mar 14 04:51:11 2009 +0000 windows-freelance-20090312 LICENSE MIT correct error in windows-freelance-20090223. use cpath not filename since that is why we allocated cpath in the first place. commit ef81e9395c171f9dcb8df120991ba65ec1ca5610 Author: Jeffrey Altman Date: Sat Mar 14 04:49:06 2009 +0000 windows-afsd-callback-20090312 LICENSE MIT use cm_HaveCallback() to check for a call back instead of explicit checks on cbExpires and cbServerp. cm_HaveCallback takes into account Freelance mode and offline status. commit 15d4dd0f70925eaf2af333f2215235cb90637457 Author: Jeffrey Altman Date: Sat Mar 14 04:45:22 2009 +0000 windows-afsd-btree-20090313 LICENSE MIT Change cm_BPlusDirEnumerate interface to include a 'FetchStatus' parameter. When set to 0, we do not fetch status for fids for which we do not already have status info. This avoids unnecessary recycling of cm_scache_t objects. commit 77452db304abfc6ad0139769034986dc8bf172d9 Author: Matt Benjamin Date: Tue Mar 10 19:21:12 2009 +0000 dumpcallbackstate-64bit-timet-safe-20090310 LICENSE IPL10 FIXES 124451 on 64 bit platforms, 64 bit time_t means returning into afs_int32 is bad commit 581fd18bd9c3fe8e07169c60a7cde9e72e8af89c Author: Jeffrey Altman Date: Sat Mar 7 14:10:23 2009 +0000 avoid-blocking-with-connhashtable-lock-in-reapconnections-20090307 LICENSE BSD instead of potentially blocking waiting for a call lock, assume if the call is locked, the conn is still busy. also, don't even try to get the conn data lock if we don't need to commit 19ffc146fac828cd32b90c4d43d617de6c574556 Author: Jeffrey Altman Date: Mon Mar 2 04:44:43 2009 +0000 windows-afsd-server-uuid-20090301 LICENSE MIT Unlike the unix cache manager, on Windows the server uuid was not recorded as part of the cm_server object. This commit adds the uuid and a flag to indicate if it is set or not. A check is made in cm_UpdateVolumeLocation it confirm that the uuid known to the CM is the same as the one being reported by the vl server. If they differ, this is logged but no action is taken. The contents of the cm_allServers list is now dumped in response to "fs memdump" or a crash. This includes the uuid, addr, type, flags, downtime, caps, etc. The server uuid is not useful at the moment because there is nothing that the CM can use it for. However, it might be useful for debugging and it will be needed for extended callback support. commit 5d147351263be2636ef547f22acb24c7816348c1 Author: Jeffrey Altman Date: Sat Feb 28 16:19:13 2009 +0000 window-afsd-bad-version-20090228 LICENSE MIT create a new cpp symbol CM_SCACHE_VERSION_BAD to represent data version values in cm_scache objects that are known to be invalid. then consistently apply this value throughout the code. Previously some invalid values were set to 0 and others to -1 (0xFFFFFFFF:FFFFFFFF). Also fix at least one location where CM_BUF_VERSION_BAD was not used. commit a32971251670acc7944dcd4b1eade1ab161e587f Author: Jeffrey Altman Date: Sat Feb 28 15:40:56 2009 +0000 windows-afsd-btree-20090228 LICENSE MIT Change how BPlusDir enumerations behave with regards to bulk stat operations. If the number of entries in the enumeration is larger than the number of cm_scache objects, then using the previous model of cm_BPlusDirEnumBulkStat being called for the entire enumeration list results in the early objects being recycled and the status info discarded before the caller of cm_BPlusDirNextEnumEntry() receives the name. The revised model triggers bulk stat operations from within NextEnumEntry() as objects requiring status fetching are about to be returned to the caller. This reduces the thrashing of the stat cache. We should consider adding a flag field to cm_BPlusDirEnumerate() or cm_BPlusDirNextEnumEntry() to permit enumeration without status fetching. commit fbfaaf26890102dbe34315128183c27ce67f77a3 Author: Jeffrey Altman Date: Fri Feb 27 07:26:35 2009 +0000 windows-afsd-error-map-20090227 LICENSE MIT do not permit VNOSERVICE or VOFFLINE or VSALVAGE to leak and be returned as an error code. The resulting NTSTATUS is not valid. commit ab0691760f4cdd2fe8bded4700d051ea1ba51856 Author: Jeffrey Altman Date: Thu Feb 26 17:46:32 2009 +0000 windows-tests-torture-20090226 LICENSE MIT fix error message create a file of the specified size commit 3c1f85820853e9143cab076d735f7d7c27aeaf62 Author: Jeffrey Altman Date: Tue Feb 24 05:06:23 2009 +0000 windows-freelance-20090223 LICENSE MIT Fix another set of edge cases where adding a mountpoint or symlink to the Freelance volume would result in the wrong fid being returned to the request that made the addition. When the Freelance directory is updated, invalidate the cm_scache_t object. that is associated with it. Actually use the data version when checking callback status. The return value from Add Mount/Symlink is not negative on failure. Its an actual error code. Treat it that way. commit 80faa5e93ddc95ca676aa31f5d3522ad6b67f67e Author: Jeffrey Altman Date: Mon Feb 23 14:28:32 2009 +0000 windows-getrootcellname-20090223 LICENSE MIT do not mix and match CELL_MAXNAMELEN and MAXCELLCHARS. They are not the same. commit f83cfcafcbec8a953161fad300073b85a4215a03 Author: Russ Allbery Date: Sat Feb 21 20:51:08 2009 +0000 libafs-tree-clean-target-20090221 LICENSE IPL10 Add clean and distclean targets to the libafs_tree Makefile, based on suggestions by jhutz. commit 2290db5f160a0105005ec0787a002ce71629c3df Author: Mike Meffie Date: Sat Feb 21 15:36:39 2009 +0000 linux-module-build-test-configure-fix-20090221 LICENSE IPL10 FIXES 124381 deal when the module link warning has extra characters commit 8382f8ccb1c14f32318b3d1c587b417cce4c721c Author: Jeffrey Altman Date: Sat Feb 21 04:26:43 2009 +0000 windows-smb-misc-20090220 LICENSE MIT Fix smb_FindFIDByScache() to avoid obtaining the smb_fid_t.mx and smb_rctLock out of order. Doing so requires obtaining references on each smb_fid_t belonging to the smb_vc_t in order to prevent them from being removed from the list while the list is being walked. Reorder tests for CM_SCACHEFLAG_DELETED and smb_fid_t.scp to make them more efficient and consistent. When processing Tran2SetPathInfo do not fail because an smb_fid_t cannot be found for the path object. The PathInfo function is being used because we do not have a file descriptor. Most importantly do not fail by returning success. commit 54a3c85ae44aaaac9dd933893d975199b3cdca70 Author: Jeffrey Altman Date: Sat Feb 21 04:19:23 2009 +0000 windows-rename-cross-dir-invalid-handle-20090220 LICENSE MIT Problems with the cm_Rename() functions: * when a rename occurs across directories, the file server allocates a new vnode which in turn alters the FID. Since the new FID and potentially version number is unknown to the client, it is not possible to update the target directory with the new name and FID thereby avoiding reading the directory from the file server. * when the old vnode is removed, the callback is broken but the client did not discard the cm_scache_t object In order to optimize the client cache AFS requires a RXAFS_RenameEx rpc that is equivalent to the current RPC but returns the new FID and status. This would permit the cache manager to relabel the data buffers and cm_scache_t that are known to contain valid data. commit 4eb808d26b1d417189d363924c4e2e32ed832690 Author: Asanka Herath Date: Thu Feb 19 04:04:24 2009 +0000 smb-vc-reset-on-request-20090218 LICENSE MIT When processing SMB_SESSION_SETUP_ANDX in smb_ReceiveV3SessionSetupX it is possible that the smb client might indicate that it requires an Mpx Count greater than we are configured to support. If so, log it to the Windows Event Log as a warning. It is also possible that the client might specify that its maximum receive buffer is smaller than the SMB_PACKETSIZE. If so, log it to the Windows Event Log as a warning. Finally, if the client specifies a virtual circuit number of zero, the client thinks this is its first time communicating with us. In which case we should invalidate all prior virtual circuits. We also log this request to the Windows Event Log as informational. commit 5bd86a09eb897cf12f0d08442f956f79ec7d15b3 Author: Simon Wilkinson Date: Wed Feb 18 17:48:39 2009 +0000 windows-64bit-printf-sanity-20090218 LICENSE IPL10 FIXES 124265 don't assume %lld works for 64 bit ints on windows commit 733794b4d8be284dcb6f9e60fa4b4abe1f3398f2 Author: Peter Tripician Date: Wed Feb 18 17:27:59 2009 +0000 vos-increment-offline-count-20090218 LICENSE IPL10 FIXES 124333 increment offline volume count, not pointer to it commit da8df5ea2c9311c4e4b263fbdba3aea3141ef075 Author: Daria Phoebe Brashear Date: Tue Feb 17 14:34:18 2009 +0000 vldb-check-no-bogus-shadow-decl-20090217 LICENSE IPL10 unfussy compilers treat this as a shadow declare; others thankfully as an error commit 8b74a85b977f379ea94cd01df3fcb553147a42dc Author: Daria Phoebe Brashear Date: Tue Feb 17 14:27:48 2009 +0000 aklog-524-vars-20090216 LICENSE IPL10 add missing variables commit b9816e12f7ed8213c9c4eaea09e992e69ce4ee05 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 commit 846919700b90b919d6a12102ae8c6d85ee36b83c Author: Peter Tripician Date: Tue Feb 17 04:32:08 2009 +0000 bozo-corefile-timestamp-fix-20090216 LICENSE IPL10 FIXES 124340 output y2k-correct corefile names commit b1f9b4cb5dd295162ae51704310e9d6058008f0a Author: Evan Broder Date: Tue Feb 17 04:28:53 2009 +0000 aklog-use-native-principal-conversion-20090216 LICENSE IPL10 FIXES 124338 use krb5_524_conv_principal instead of doing it potentially wrong ourselves commit 8bc58a3d6dd531b55c405590e419d2ce4d74b5fc Author: Chas Williams Date: Tue Feb 17 04:25:10 2009 +0000 macos-10-6-support-20090216 LICENSE IPL10 FIXES 124288 support for (32 bit) macos 10.6. no pam yet commit 43bcfaf9cc429cec51a98857d86d870c45759baa Author: Steven Jenkins Date: Tue Feb 17 04:16:56 2009 +0000 vldb-check-meaningful-return-codes-20090216 LICENSE IPL10 FIXES 124321 make vldb_check have meaningful return codes commit 52f3295d32e3a72916ea1f99119967b7279f642a Author: Peter Tripician Date: Tue Feb 17 03:59:28 2009 +0000 fs-lsm-parse-bug-20090226 LICENSE IPL10 FIXES 124319 print correct error on root directory commit 0e05505a8964da2e9d4c4eccab7a3b322e5d02f0 Author: Marc Dionne Date: Tue Feb 17 03:43:37 2009 +0000 linux26-bogus-param-define-20090216 LICENSE IPL10 FIXES 124324 remove orphaned define commit 4817a4a98fe9ccc61c90d8bbc769790ad067339b Author: Tony D'Amato Date: Tue Feb 17 03:29:22 2009 +0000 redhat-rpms-kernel24-20090216 LICENSE IPL10 FIXES 102673 rewrite make rule for 2.4 kernels commit f3080eb7c7c4c4f72d6560b12c3d8cffbb4b2b0d Author: Marc Dionne Date: Tue Feb 17 03:23:27 2009 +0000 rx-head-build-error-20090216 LICENSE IPL10 FIXES 124323 include header so mutex&atomic macros exist commit 8e3b67b9537097928b4fc13844db09d429ac9bed Author: Jeffrey Altman Date: Thu Feb 12 21:44:47 2009 +0000 windows-smb-fidp-scp-race-20090212 LICENSE MIT FIXES 124293 As evident in a crash dump, there is a race surrounding access to the scp field of the smb_fid_t object. Not all access was protected by the smb_fid_t mx and the cm_scache_t object was not always being reference counted within the accessing function. This patch ensures that all initial references to the scp object are performed under the smb_fid_t mx mutex and that the cm_scache_t is prevented from being recycled by obtaining a local reference. Finally, CM_ERROR_BADFD is returned as an error if a request begins after the smb_fid_t scp field has already been cleared by a smb_CloseFID() call as part of a concurrent request. commit 8bb35234aa8469ba93a2171fced503a875c2f1f6 Author: Jeffrey Altman Date: Thu Feb 12 21:30:03 2009 +0000 windows-vmoved-vnovol-failover-20090212 LICENSE MIT FIXES 124276 A readonly volume with multiple instances was being marked alldown when one of the instances resulted in VNOVOL because the vldb and the indicated file server were out of sync. The cache manager would then attempt to re-obtain the volume location info from the vldb for the entire timeout period. This patch: adds trace logging to cm_Analyze indicating which server references are being deleted and which remain in response to a VNOVOL/VMOVED error. adds trace logging to cm_UpdateVolumeStatusInt showing how the new volume status value is determined. corrects cm_Analyze() so that it doesn't corrupt the server reference list during cm_FreeServerList() calls; doesn't orphan the server reference list by setting *serverpp to NULL; and only re-obtains the volume info list once per request. commit 1050049411d1fc47441220c33e6353436fc586e7 Author: Jeffrey Altman Date: Tue Feb 10 22:42:40 2009 +0000 fix-tsfpq-20090210 LICENSE BSD avoid transferring more than the number of packets in a queue commit c12e2fa01912e7950570354c6d059588028c086c Author: Daria Phoebe Brashear Date: Tue Feb 10 22:39:58 2009 +0000 restore-unix-rxdebug-20090210 LICENSE IPL10 stale fixes from my sandbox commit c4d5f0a70229f55683735d13523744ad2361f6b8 Author: Marc Dionne Date: Mon Feb 9 23:15:13 2009 +0000 rx-atomic-20090209 LICENSE IPL10 FIXES 124322 add parens commit 0edbc512b52848f076525ede5ff166f3785128a7 Author: Jeffrey Altman Date: Sat Feb 7 17:22:26 2009 +0000 rx-writevproc-wrong-type-20090207 LICENSE BSD In rxi_WritevProc the queueScan that sets RX_PKTFLAG_TQ on the packet really needs to cast the queue objects to rx_packet instead of rx_call. Trashing random fields is not a good idea. commit b842ee3ea521a196652ff2d09d468ca008cececc Author: Asanka Herath Date: Fri Feb 6 03:13:38 2009 +0000 windows-netidmgr-progress-20090205 LICENSE MIT add progress reporting to the provider. commit ffdc7c70889386dca37e207a91791d5d0728d2d7 Author: Jeffrey Altman Date: Thu Feb 5 00:23:54 2009 +0000 windows-freelance-20090204 LICENSE MIT set the correct fid vnode/unique values when adding new symlnks and mount points. commit 58a924fd50e96c827fc6dd3dcea48328b6abe4be Author: Mike Meffie Date: Tue Feb 3 19:44:27 2009 +0000 upclient-cleanup-temp-files-20090203 LICENSE IPL10 FIXES 124221 remove tempfiles in the event of a fetching error commit 1811577fca393c4433de64ea6e1cd5a8d13521a3 Author: Simon Wilkinson Date: Tue Feb 3 19:42:14 2009 +0000 rename-internal-gettimeofday-refs-20090203 LICENSE IPL10 FIXES 124259 switch to using fasttime, instead of wrapper commit 0ac1e741783e0d5b0cbb8ec665e0acab132f6265 Author: Simon Wilkinson Date: Tue Feb 3 19:37:41 2009 +0000 redhat-packaging-non-stable-branches-20090203 LICENSE IPL10 FIXES 124273 make rpm stuff work for other than 1.4.x commit fe3779411ea025d5ecf40687d5c21649e6daabdc Author: Simon Wilkinson Date: Tue Feb 3 19:34:10 2009 +0000 redhat-packaging-updates-20090203 LICENSE IPL10 FIXES 124272 adds fc10, fc11 support commit d4763404655e27098eb4340eca8777b63d8a5847 Author: Russ Allbery Date: Mon Feb 2 01:19:00 2009 +0000 man-page-salvager-fixes-20090201 LICENSE BSD Fix the -parallel example in the main description text: "5all" should be "all5". Reword the description a bit to hopefully make it clearer that there are two separate values set here. Note under the option description of -parallel that multiple partitions on the same device are normally processed serially. commit f204e4e37f39fa15beabf68e68dce1f6425f7513 Author: Russ Allbery Date: Mon Feb 2 01:12:02 2009 +0000 man-page-vos-examine-copy-date-20090201 LICENSE BSD Document the Copy field of vos examine output. commit 7f371c53092b6d9532c2749eefa341616ba6edc6 Author: Jeffrey Altman Date: Sun Feb 1 21:57:10 2009 +0000 windows-tests-torture-enforce-querypath-info-errors-20090201 LICENSE BSD change nb_qpathinfo() 'Flag' to a thread local storage variable 'EnforcePathInfoErrors'. Add new 'Type' values that permit the enforcement to be turned on and off as needed by the test script. Populate the IoBuffer with the low byte of the pid value. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE BSD Verified the state of every file's existence at every Query Path Info call in the script. Added 'Type' == 1 (Does not Exist) as needed. Removed the use of 'Type' == 1111 to disable enforcement part way through. commit 652c361054491e1b518451646b45a19dd32f9a69 Author: Jeffrey Altman Date: Sun Feb 1 00:26:40 2009 +0000 windows-tests-torture-scripts-20090131 LICENSE MIT Add some additional example scripts commit 3769240ac4c3c54933245dc09740447b97b6cc2c Author: Jeffrey Altman Date: Sun Feb 1 00:18:26 2009 +0000 windows-tests-torture-source-20090131 LICENSE MIT Do not unload afsrpc.dll as it cannot clean up after itself and become safe to reload. Instead of reporting that the AFS client is off-line, report the path that is unreachable. commit 5981379dea329800f88a12a74ea34402e63b789d Author: Jeffrey Altman Date: Sat Jan 31 17:05:02 2009 +0000 windows-tests-torture-20090131 LICENSE MIT rename torture.exe to wintorture.exe to match the name expected by stress.exe increase length of "Locker" to permit longer paths do not strip \\afs unc server name. treat all unc paths equal add GetLastError values to logged error messages clarify error messages when missing input params print all errors on a single line. quote paths and command strings fix the initialization of the IoBuffer for writes. initialize the whole buffer not just the sizeof(pointer) remove the static declaration of Flag in nb_qpathinfo() obtain real HANDLEs for directories. Do not fake them. commit 1e01bdc8e1b7ee4d9da36a1bb5899ca51daf2748 Author: Jeffrey Altman Date: Sat Jan 31 06:42:39 2009 +0000 windows-tests-20090130 LICENSE BSD build all of the tests commit 7c4ceecbd9d71e7f27ffd81598badeee36e6f17f Author: Jeffrey Altman Date: Sat Jan 31 06:39:48 2009 +0000 windows-tests-torture-20090130 LICENSE MIT Port to Win64 Integrate with OpenAFS build environment Build without warnings Add nb_flush() implementation commit e01ffce669318890484bf468c0b641336d10515b Author: Jeffrey Altman Date: Sat Jan 31 03:42:29 2009 +0000 windows-tests-largefiles-20090130 LICENSE BSD permit the largefiles test to build under the openafs build system commit b557da03d5089749b37ae356cadb4d00ff6d5af5 Author: Jeffrey Altman Date: Sat Jan 31 03:37:18 2009 +0000 windows-test-winflock-20090130 LICENSE BSD permit winflock to build under the openafs build system commit a9bc4bf32c959698e6ec3a361e94382f9500f85c Author: Asanka Herath Date: Sat Jan 31 03:08:55 2009 +0000 windows-tests-nm-20090130 LICENSE BSD A test application that produces verifiable random test files. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE BSD make it build in the openafs build tree commit 175393288df30ca88178ee98cdfff364bffbabb7 Author: Simon Wilkinson Date: Fri Jan 30 14:36:13 2009 +0000 linux-vmtruncate-20090130 LICENSE IPL10 FIXES 124128 use linux's vmtruncate feature instead of doing a somewhat-right internal version commit ff795a12c50d0fa59d2b3ad0b383309b9a4e939d Author: Tom Keiser Date: Thu Jan 29 17:06:41 2009 +0000 dafs-vnode-close-race-20090129 LICENSE IPL10 FIXES 124223 address race between VCloseVnodeFiles_r and VGetFreeVnode_r commit 47e99e36fd40c55be7a5d947fb096d6f6f2c0ae4 Author: Daria Phoebe Brashear Date: Thu Jan 29 16:05:05 2009 +0000 discon-diskslot-linux-20090129 LICENSE IPL10 build in the linux case on non-disconnected commit df139845e9f83cd15f3b0ab8dcbb27781c811642 Author: Daria Phoebe Brashear Date: Wed Jan 28 22:39:04 2009 +0000 discon-remove-fix-20090128 LICENSE IPL10 fix my own error commit 35cc76c21ebb48a2257254798a57afac083896ee Author: Jeffrey Altman Date: Wed Jan 28 22:33:17 2009 +0000 rx-no-more-register-20090128 LICENSE BSD kill off use of register in rx commit 226cf894b65c62225785180dfeeed0ec1c1a160b Author: Jeffrey Altman Date: Wed Jan 28 21:34:33 2009 +0000 rx-pthread-mutex-protects-threadcount-20090128 LICENSE BSD add protection of previously unprotected thread count variables commit 7cd7bcdc4ca6787e19c12485f70fabb8f4f9f00b Author: Simon Wilkinson Date: Wed Jan 28 21:13:58 2009 +0000 discon-avoid-looping-on-replay-20090128 LICENSE IPL10 FIXES 124203 don't defer based on a shadow copy commit cc2f0d2bc52e980c376188888faa27cd37b0eccc Author: Simon Wilkinson Date: Wed Jan 28 21:02:16 2009 +0000 disconnected-reply-no-locking-yet-20090128 LICENSE IPL10 FIXES 124202 don't lock files before replaying changes yet commit 1cca08960b263baabcf7f86b1596f07fb8449223 Author: Jeffrey Altman Date: Wed Jan 28 20:35:50 2009 +0000 rx-atomic-macros-and-variables-20090127 LICENSE BSD adds macros to support accessing some variables as atomics, when atomic support is available; otherwise falls back to mutex-protected access. commit af61732e4aaac8e09369addde0ec31a88fad8964 Author: Daria Phoebe Brashear Date: Wed Jan 28 15:52:42 2009 +0000 disconnected-deal-with-unlink-while-open-20090127 LICENSE IPL10 FIXES 124178 treat something as unlinked until a rename suceeds, then let that win commit 50d57f6c7b325cb9576f33845cac60e1523f661e Author: Jeffrey Altman Date: Tue Jan 27 17:49:05 2009 +0000 rx-windows-debugging-20090127 LICENSE MIT separate rx debugging from cache manager debugging. assign bit 5 of the TraceOption registry value to activation of rx debug output via DebugOutputString(). commit 306a7761b3f2f7ec0d2909e1048ecd39e9c9cfd7 Author: Jeffrey Altman Date: Tue Jan 27 17:09:22 2009 +0000 windows-libafsrpc-20090127 LICENSE MIT confirmed that rx_ReadvProc, rx_WritevProc, and rx_WritevAlloc are properly implemented for Windows. Add them to the public export list. Add rx_ReadProc32 and rx_WriteProc32 to the public export list. commit bc558c75dcad12c7f45443c8e191b554b5d0c887 Author: Jeffrey Altman Date: Tue Jan 27 17:06:05 2009 +0000 windows-dcache-20090127 LICENSE MIT Use the optimized rx_Read32 call instead of the slower rx_Read when reading 32-bit integer values. commit 72d502be69ea3208634bb0665fd37e990d1fa38e Author: Mike Meffie Date: Tue Jan 27 14:24:23 2009 +0000 dafs-vol-offline-race-20090127 LICENSE IPL10 FIXES 124215 avoid race when taking volumes offline in dafs commit a4f63a818eea476efa456132ca6112329ef8a484 Author: Jeffrey Altman Date: Tue Jan 27 06:04:32 2009 +0000 rx-windows-xmit-20090126 LICENSE MIT The WinSock API does not include the Posix recvmsg/sendmsg interfaces. Beginning with XP/2003 Microsoft began to support WSARecvMsg which is a mostly compatible implementation of recvmsg. In Vista/2008 Microsoft began to support WSASendMsg a mostly compatible implementation of sendmsg. Neither are part of the WinSock API and therefore they must be loaded at runtime via a WSAIoctl() call to obtain the function pointers. When the functions are available it is now possible to avoid a large number of memcpy() calls. This patch also enables UDP port unreachable messages on XP and above. commit 6e8039e8a55056f19895036ef6784f4fab5ab758 Author: Jeffrey Altman Date: Mon Jan 26 22:53:48 2009 +0000 rx-slow-write-packet-20090126 LICENSE MIT In rx_SlowWritePacket the use of RX_MAXWVECS was incorrect. The niovecs field is allocated as [RX_MAXWVECS+1] with the 0th element reserved for the rx header. niovecs[RX_MAXWVECS] is therefore a valid data buffer and the comparison should be (i <= RX_MAXWVECS). This error has most likely not been noticed previously because nothing in the OpenAFS source tree uses this function. commit 8552f84b8ed0bce52dab1fd168054038d6ce20a9 Author: Simon Wilkinson Date: Mon Jan 26 19:33:06 2009 +0000 discon-allow-saving-vcaches-on-shutdown-20090126 LICENSE IPL10 FIXES 124211 restructure so we can save info necessary to keep dirty changes across offline shutdown commit e42a066da153750077b154e27249b5b4862724db Author: Jeffrey Altman Date: Mon Jan 26 15:50:46 2009 +0000 windows-btree-dir-enum-20090126 LICENSE MIT Modify the cm_BPlusDirEnum interface: * add the cm_scache_t * of the directory being enumerated to the cm_direnum_t object * remove the cm_scache_t * from the cm_BPlusDirEnumBulkStat call now that it is part of the cm_direnum_t object * maintain a reference to the cm_scache_t for the life of the cm_direnum_t object. This ensures that the object cannot be recycled while the enumeration is in use. commit 7a01a35adfc8f3124a259e682ea1555cb9ed7df2 Author: Simon Wilkinson Date: Mon Jan 26 13:42:01 2009 +0000 disconnected-lseek-extension-20090126 LICENSE IPL10 FIXES 124200 make extending a file by lseek make the extension-created parts as cache chunks commit d2960e5442bb7a7f4730d2a918d8cfb5a409d05c Author: Simon Wilkinson Date: Sun Jan 25 14:52:37 2009 +0000 disconnected-symlink-support-20090125 LICENSE IPL10 FIXES 124177 allow creation of symlinks while disconnected commit 58ab0e7c58e1e8cde3fd7595d25b3537062276b3 Author: Simon Wilkinson Date: Sun Jan 25 14:48:14 2009 +0000 disconnected-clear-cstatd-on-reconnect-20090125 LICENSE IPL10 FIXES 124180 don't treat any information we forged as being valid while offline as valid commit b690aa8f8139c2b52a1d0dca12e89aad57a9161d Author: Simon Wilkinson Date: Fri Jan 23 15:20:32 2009 +0000 linux24-update-20090123 LICENSE IPL10 make things work on linux 2.4 again commit c93e751599db8b8b1515a400ce398a4d365be782 Author: Simon Wilkinson Date: Fri Jan 23 14:44:31 2009 +0000 disconnected-allow-larger-directories-20090123 LICENSE IPL10 FIXES 124182 allow directories larger than a chunk commit 9093f0cf1594c72d9849ed6d4d9ab1532d0185c5 Author: Simon Wilkinson Date: Fri Jan 23 14:31:22 2009 +0000 linux-nfstrans-test-20090123 LICENSE IPL10 test for nfs translator before enabling commit 6742f2054ac96bcec19c01d408542c94de9a55f1 Author: Matt Benjamin Date: Thu Jan 22 21:49:03 2009 +0000 fbsd-ustrategy-20090122 LICENSE IPL10 make freebsd ustrategy correct commit 85fa1b132ae93a48dfb73155921245106f31f586 Author: Mike Meffie Date: Thu Jan 22 21:42:28 2009 +0000 hpux-readdir2-prototype-20090123 LICENSE IPL10 FIXES 124187 fix typo in prototype commit 6784222ac1741d9da18ba5d66fdd5057343ab8b1 Author: Matt Benjamin Date: Thu Jan 22 21:38:45 2009 +0000 fbsd-ignore-sigsys-20090123 LICENSE IPL10 FIXES 123867 wrong but a step forward commit 35a760632da0f15240153cb17ae96e0981e2c8c4 Author: Matt Benjamin Date: Thu Jan 22 21:28:29 2009 +0000 obsd44-pass1-20090123 LICENSE IPL10 FIXES 123830 first pass at openbsd 4.4 commit db15872a7ee0d1c666502f8da8c8c27c36159110 Author: Daria Phoebe Brashear Date: Thu Jan 22 21:19:47 2009 +0000 klog-krb5-link-order-20090122 LICENSE IPL10 match the (bad) link order used elsewhere commit 90f9073dde7041534d448083eaeabbc61d7563f9 Author: Daria Phoebe Brashear Date: Thu Jan 22 20:19:51 2009 +0000 disconnected-no-inline-on-irix-20090122 LICENSE IPL10 make this compile on irix commit 396b573b12a509b7e0d8d5094ebadc12c6aa8b45 Author: Daria Phoebe Brashear Date: Thu Jan 22 20:11:45 2009 +0000 disconnected-call-makedir-with-correct-casting-20090122 LICENSE IPL10 another find by the irix compiler. commit d6c5d0bbb09f84476d7928e62921a4aa01cd17ed Author: Daria Phoebe Brashear Date: Thu Jan 22 19:33:04 2009 +0000 bcdb-listdumps-argument-fix-20090122 LICENSE IPL10 prototype caught this. oops. commit 92cf4d996f91e895b8995d41419b32843a40b9fb Author: Daria Phoebe Brashear Date: Thu Jan 22 19:12:40 2009 +0000 volserver-manage-inuse-better-20090122 LICENSE IPL10 FIXES 124142 V_PEEK/V_SECRETLY should not change inUse. servertype based inUse should not leak past giving back a volume. commit 1d70f4e14e991326d8d7e6d3d3f179179a7aaf45 Author: Jeffrey Altman Date: Thu Jan 22 15:40:07 2009 +0000 bucoord-ubik_call-no-more-20090122 LICENSE MIT replace ubik_Call(RPC, ...) with ubik_RPC(...) commit d4b17a6e2e08c41de8ee07721029469ebcde6f72 Author: Jeffrey Altman Date: Thu Jan 22 15:28:54 2009 +0000 ubik_Call-no-more-20090122 LICENSE MIT remove more ubik_Call(RPC, ...) calls and replace them with ubik_RPC(...) commit 69bab4cc6ee68ab98b6f207f6ab80352250f6b97 Author: Peter Tripician Date: Thu Jan 22 15:15:55 2009 +0000 util-volparse-20090122 LICENSE IPL10 FIXES 84846 avoid some infinite loops on bad input ensure that all partition ids are within the legal limit provide prototypes for strlcat and strlcpy when the openafs implementations are being used. commit f11480748cd682f60e81e8854e254fe964d5955c Author: Marc Dionne Date: Thu Jan 22 14:28:27 2009 +0000 salvager-sensible-chdirlessness-20090122 LICENSE IPL10 FIXES 124154 make salvager look for and create headers in the right place. commit 81e1d5403438929bc6380c05bdacb808a31aaa37 Author: Simon Wilkinson Date: Wed Jan 21 21:33:32 2009 +0000 disconnected-linux-dont-inactive-while-disconnected-20090121 LICENSE IPL10 FIXES 124175 possibly not the ultimate right fix but it will make things work for now commit 0593374e2de0da391ea793e45ca08d6c971d8f86 Author: Simon Wilkinson Date: Wed Jan 21 21:27:42 2009 +0000 disconnected-pioctl-error-recovery-20090121 LICENSE IPL10 FIXES 124174 make reconnection possible by doing error recovery commit 4045f3d5350955de91e019b09ad2ed7941f6dadb Author: Simon Wilkinson Date: Wed Jan 21 21:17:09 2009 +0000 disconnected-shadow-directory-fixes-20090121 LICENSE IPL10 FIXES 124173 fix bugs in disconnected's directory shadowing commit cc42d05324c6a3dc619192a997125ca8f3a595fd Author: Simon Wilkinson Date: Wed Jan 21 21:14:48 2009 +0000 disconnected-replay-fixes-20090121 LICENSE IPL10 FIXES 124172 updates to fix bugs in disconnected change replays commit 0fb28687b498bd4cd7994fd388c3eef2f4cd17f9 Author: Jeffrey Altman Date: Wed Jan 21 21:04:11 2009 +0000 windows-avoid-rwevent-collision-part-two-20090121 LICENSE MIT don't leave out the size of the buffer. commit 10ecf76d281dc90a4f83f0c45404712b62bcea8b Author: Jeffrey Altman Date: Wed Jan 21 21:00:59 2009 +0000 windows-avoid-rwevent-collision-20090121 LICENSE MIT Prevent multiple smb_Server threads from sharing the same EVENT object when they are each waiting for their own packet requests to complete. commit a268678326f3713a0ba41f69a1432bd1fca2872f Author: Simon Wilkinson Date: Wed Jan 21 20:09:07 2009 +0000 rename-conn-to-afs-conn-20090121 LICENSE IPL10 FIXES 124116 based on patch from daleg@elemental.org. rename to avoid conflict with opensolaris ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 FIXES 124116 based on patch from daleg@elemental.org. rename to avoid conflict with opensolar is ==================== LICENSE IPL10 FIXES 124116 based on patch from daleg@elemental.org. rename to avoid conflict with opensolar is commit 9cc62beeb985745475ac7b3ecc5bf61c2fa06a9d Author: Simon Wilkinson Date: Wed Jan 21 14:32:27 2009 +0000 darwin-no-vprintf-20090121 LICENSE IPL10 restore old behavior for mac client commit 541897d10d96805be841e56ad1f824c8abe2c07d Author: Jeffrey Altman Date: Wed Jan 21 14:32:08 2009 +0000 windows-installer-wix-20090121 LICENSE MIT remove man page files that no longer exist on the head commit a0fd9b17334333e257ae9c476c4fbf85ee9fec95 Author: Jeffrey Altman Date: Tue Jan 20 04:35:53 2009 +0000 windows-smb-parse-ascii-block-20090119 LICENSE MIT smb_ParseASCIIBlock() may be called with more than just data type ASCII (0x4). If the type is 2, 3, or 4 the data field is a null terminated string. If the type is 1 or 5 the data field is a counted string. if the type is 2 the data field is never Unicode. In any case, if the type is unrecognized smb_ParseASCIIBlock() will return NULL and all of the callers must be prepared to handle it. If the return is NULL, the smb request will fail with CM_ERROR_BADSMB. commit e5a6c3f62dde6bc1b6a26957b866c3f27dc28c3a Author: Steven Jenkins Date: Tue Jan 20 03:29:01 2009 +0000 undo-rename-residency-from-mrafs-to-osd-20090119 LICENSE IPL10 FIXES 124130 restore the mr-afs names until such time as the pioctl registrations are addressed. commit 8c18c62dffa23557fb521950eede4252cdafc0b5 Author: Jason Edgecombe Date: Mon Jan 19 23:02:36 2009 +0000 man-page-pts-membership-fixes-20090119 FIXES 124157 LICENSE BSD More wording and typo fixes for the pts membership man page. commit 5e1859a88e8133904f1315833c17851d7e6d10a4 Author: Daria Phoebe Brashear Date: Mon Jan 19 20:53:42 2009 +0000 linux-init-script-uses-bash-20090119 LICENSE IPL10 FIXES 124056 note the script uses bash commit dc0b96f5b7ee3f5f95639dfd5afb98ecb4ff6885 Author: Simon Wilkinson Date: Mon Jan 19 19:42:32 2009 +0000 disconnected-extend-truncation-20090119 LICENSE IPL10 FIXES 124094 implement extending truncation so disconnected works commit 57744971179a8ee7441e73eeb9e2a56d671fcc37 Author: Simon Wilkinson Date: Mon Jan 19 19:39:12 2009 +0000 abstract-reset-vcache-20090119 LICENSE IPL10 FIXES 124147 abstract vcache resetting code so disconnected can reuse it commit 9ef65a789feed5007f18041d259f0ddd6c3c97e9 Author: Simon Wilkinson Date: Mon Jan 19 19:27:00 2009 +0000 afs-q-improvements-20090119 LICENSE IPL10 FIXES 124134 simplify afs_q macros and allow further reuse in disconnected commit e1cc987ea57c03a93dd02164ecb75cd705fc79b3 Author: Simon Wilkinson Date: Mon Jan 19 18:47:52 2009 +0000 disconnected-flush-before-shadowing-20090119 LICENSE IPL10 FIXES 124149 make touch a fs discon offline rm -f a fs discon online work commit 92c7925b12d7b99e4ff044bc053330e77336a21a Author: Steven Jenkins Date: Mon Jan 19 18:09:06 2009 +0000 rename-residency-from-mrafs-to-osd-20090119 LICENSE IPL10 FIXES 124130 rename mrafs commands into their equivalent osd versions; structures etc are the same. commit 9fa51694c6a41323cfeb7b41bb4dff9e8dac77be Author: Simon Wilkinson Date: Mon Jan 19 17:29:08 2009 +0000 linux-disconnected-avoid-ls-hang-20090119 LICENSE IPL10 FIXES 124152 avoid allowing a non-CStatd vcache to make its way into a readdir which causes an infinite loop commit df71f42b637c5ef2aa266a709720b35e65b8e27f Author: Daria Phoebe Brashear Date: Mon Jan 19 03:25:10 2009 +0000 krb5-klog-link-rule-20090118 LICENSE IPL10 this was just wrong commit dbc73f43ee64072509ee0ae66cf7499ff9e5d861 Author: Daria Phoebe Brashear Date: Mon Jan 19 03:19:01 2009 +0000 volser-setflags-clear-callptr-20090118 LICENSE IPL10 make things calling SetFlags not error commit d781450cf3c08bf89f3d1490620ed89885f7e518 Author: Russ Allbery Date: Mon Jan 19 03:09:52 2009 +0000 man-page-pts-membership-privilege-20090118 FIXES 124151 LICENSE BSD Add system:ptsviewers to the privilege documentation of pts membership and try to clarify the privilege required by being less verbose and hopefully more direct. commit 24a5d12bae9a2af393f3641055893824c71a4712 Author: Marc Dionne Date: Thu Jan 15 13:26:55 2009 +0000 linux-2629-20090115 LICENSE IPL10 FIXES 124115 add 2.6.29 support commit 86225b60147d58ca71063a72be02236df1257407 Author: Chaskiel M Grundman Date: Thu Jan 15 13:12:58 2009 +0000 osi-probe-check-result-cope-with-enoent-20090115 LICENSE IPL10 in order for probing to work right commit 3394644531fb89b02ffbe0c10f4a51c3a4169a39 Author: Jeffrey Altman Date: Wed Jan 14 06:34:08 2009 +0000 rx-afs-kmutex-kcondvar-20090113 LICENSE BSD The rx_pthread.h defines afs_kcondvar_t and afs_kmutex_t but their use throughout the rx library is inconsistent. Sometimes they are used, other times pthread_cond_t and pthread_mutex_t. This commit ensures that afs_kmutex_t and afs_kcondvar_t are used consistently. commit e6d60f58e2a6b7ac9964cfb1ec753decd5d6ed91 Author: Simon Wilkinson Date: Tue Jan 13 19:37:03 2009 +0000 linux-truncate-cleanup-20090113 LICENSE IPL10 fix the patch to actually be applicable commit f1a13e15625afa324ffc6614eea432dcc89bf768 Author: Jeffrey Altman Date: Tue Jan 13 16:19:11 2009 +0000 rx-make-rxdebug-optional-20090113 LICENSE BSD Permit the rx library to be built without the RXDEBUG preprocessor definition. When RXDEBUG is not defined all of the debugging functions either become stubs or log a message indicating that the library was built without RXDEBUG so that there will be no surprises. There are no changes to the export list. By default RXDEBUG is defined. Eventually the definition of RXDEBUG can become a configuration option to the build system. commit 510b2042b017776366ed33e9590b81fc5c5c8b6c Author: Jeffrey Altman Date: Mon Jan 12 20:22:24 2009 +0000 rx-finer-grained-locking-20090112 LICENSE MIT fix typo in rx-finer-granded-locking-20090112 commit ba9556ff2bbf854bb5c05074032b94973bf339ec Author: Matt Benjamin Date: Mon Jan 12 14:33:09 2009 +0000 freebsd-cleanup-20090112 LICENSE IPL10 FIXES 124107 minor freebsd cleanup commit 45e808945627b36ab1dbb64b6fafa8ed7b1901b6 Author: Marc Dionne Date: Mon Jan 12 14:18:58 2009 +0000 linux-i-size-20090112 LICENSE IPL10 FIXES 124106 use i_size_read macro correctly commit 47ac8ba7022e80e5bc0023782b6b27d5ac97ccd3 Author: Andrew Deason Date: Mon Jan 12 14:11:36 2009 +0000 libuafs-set-fileoffsetbits-20090112 LICENSE IPL10 FIXES 124093 make libuafs work with things which expect to be able to use native file sizes etc commit 434ad307430fc12968abd65e007f8e606aa55917 Author: Marc Dionne Date: Mon Jan 12 13:28:42 2009 +0000 linux24-no-backing-dev-20090112 LICENSE IPL10 FIXES 124100 backing_dev_info isn't in 2.4 commit d158ddb25c769d357d5f58acbd911ec7a7281343 Author: Rainer Toebbicke Date: Mon Jan 12 13:24:13 2009 +0000 fetch64-fstrace-typo-20090112 LICENSE IPL10 FIXES 124113 move l to correct side of % for type printing commit 30cfed8e25dfcc6c423d1e121360f048d6724328 Author: Jeffrey Altman Date: Sun Jan 11 05:53:36 2009 +0000 rx-statistics-active-flag-20090110 LICENSE MIT Permit rx statistics gathering to be disabled by setting the new rx_stats_active variable to 0. This avoids grabbing the rx_stats_mutex throughout the execution of the requests and permits greater concurrency thoughout the library. commit 887a6eb59b5aa87bc8a5c3ec1fc78f80ac19a6f2 Author: Jeffrey Altman Date: Sun Jan 11 05:27:01 2009 +0000 rx-finer-grained-locking-20090110 LICENSE MIT not everything should be under the rx_stats_mutex. doing so results in too much lock contention. add new mutexes: rx_quota_mutex, rx_waiting_mutex, rx_pthread_mutex, and rx_packets_mutex. Each new mutex protects an associated group of variables. commit 5b0e23567e1ed64f448bb3253ad90d39cad31271 Author: Jeffrey Altman Date: Sun Jan 11 04:24:37 2009 +0000 rx-user-socket-buffer-sizes-20090110 LICENSE MIT if the socket buffer size specified by the configuration is too large to be applied, do not drop down immediately to 32766 bytes. Instead try increasingly smaller values trying to find the largest one that works. use the same value for the send buf size as well. commit 3162fdd59201e1615e2fe700ec003e81c7c932bf Author: Jeffrey Altman Date: Sun Jan 11 04:00:07 2009 +0000 rx-rwlocks-no-more-20090110 LICENSE MIT remove the use of rwlock and restore the use of mutexes. the rwlocks are actually slower in performance testing. commit f49bf1d919b48901533da78c9fe38ca0339b7bca Author: Simon Wilkinson Date: Fri Jan 9 15:09:14 2009 +0000 linux-truncate-race-20090109 LICENSE IPL10 FIXES 124094 avoid a race during truncation which trips an issue when fsx is run commit 2d07a62c38fea642d52c20ff86e8f72e3c16bbe0 Author: Andrew Deason Date: Fri Jan 9 14:50:48 2009 +0000 ac-verbatim-include-undefs-20090109 LICENSE IPL10 FIXES 124077 the undefs for things which are not ac macros ended up outside the ac verbatim blob. fix it. commit 80fc888a9223050481de932233fe7121a48df194 Author: Daria Phoebe Brashear Date: Tue Jan 6 13:40:04 2009 +0000 netrestrict-no-wildcard-20090106 LICENSE IPL10 don't misadvertise network wildcard support commit 423ab97eee35f57beeb481cac2159d28dea20577 Author: Jeffrey Altman Date: Mon Jan 5 23:12:54 2009 +0000 rx-do-not-race-current-packet-20090105 LICENSE MIT Throughout rx_rdwr.c functions allocate a register variable 'cp' which is used to optimize access to call->currentPacket. Unfortunately, if the call->lock is dropped (for example, CV_WAIT) the synchronization between the two is lost. This delta re-syncs 'cp' and call->currentPacket after each location where the call->lock may be dropped. commit e7edfbbf2204641ba08d0ae5e0d085e5f913f2d2 Author: Jeffrey Altman Date: Mon Jan 5 18:16:44 2009 +0000 windows-license-smgl2rtf-20090105 LICENSE MIT Ensure that the input string is nul terminated and then instruct WideCharToMultiByte to compute the length itself instead of passing in a value that is very likely to be wrong. commit 8c4b06a5b62a07d4d6733b313ad404e1cb6abe8d Author: Jeffrey Altman Date: Mon Jan 5 16:20:08 2009 +0000 windows-afsd-freelance-20090105 LICENSE MIT Bring a bit more sanity to the Freelance code: 1. Add functions cm_FreelanceFetchMountPointString and cm_FreelanceFetchFileType to cm_freelance.c. These functions permit the MountPointString and FileType to be obtained within cm_GetSCache without requiring knowledge of data structures that should be private to cm_freelance.c 2. Enforce the rule that odd vnode values are directory objects. The root directory is 1 and everything else must be a multiple of two. 3. Use the unique field as an index into the localMountPoints array. 4. Fix cm_GetCallback to process freelance data refreshes on all objects in the freelance volume not just the root directory. If this is not done, an access to \\afs\foo prior to \\afs\all being evaluated will cause an unnecessary attempt to send a fetch status request to a file server and produce an alldown error. commit 02cd4c510b2b9e2293e33372c39bd8b62089236b Author: Jeffrey Altman Date: Mon Jan 5 00:00:08 2009 +0000 rx-packet-count-debugging-20090104 LICENSE MIT change C preprocessor symbol required for packet count debugging to RXDEBUG_PACKET commit bf51eaca47db1bbf58490d770f1be105e69f7ea9 Author: Jeffrey Altman Date: Sun Jan 4 19:19:31 2009 +0000 windows-client-config-manifest-20090104 LICENSE MIT FIXES 123889 reverse change from 20081226. removing the auto-generated manifest removes the manifest binding to the run time library. The reason two manifests are specified is that we are merging them. commit 29e3bb5838ee224e8d13bf1e680e1eb9480f1400 Author: Jeffrey Altman Date: Mon Dec 29 22:36:32 2008 +0000 rx-packet-count-debugging-20081229 LICENSE MIT Validating the state of the rx library is hard. This patch makes it a bit easier to validate from within crash dumps (or on Windows in "fs memdump" output) whether rx packets and calls are in a sane state. When the library is compiled with -DDEBUG the rx_call and rx_packet data structures are extended to include a linked list of all allocated objects and counters are added to track the number of packets on each of the transmit, receive, and iovec queues. This compliments the tracking of packet states via RX_PKTFLAGs. For Windows, rx_DumpCalls and rx_DumpPackets functions are added that will dump the state of all allocated calls and packets (in Checked build) in response to a "fs memdump" command. These functions are exported from afsrpc.dll. commit 3d44f93f9a0b1d2d4a07b58b3104420e9c138d12 Author: Andrew Deason Date: Mon Dec 29 21:26:00 2008 +0000 libuafs-updates-20081229 LICENSE IPL10 FIXES 124072 adds ATTR_* constants for UKERNEL code, and makes use of them. Without this in some cases updating file metadata will also update unrelated metadata (e.g. truncating a file changes the mode bits). adds threadsafe positional i/o calls to afs_usrops.c: uafs_pwrite and uafs_pread, allowing for threadsafe libuafs i/o. changes the types of some fs-related variables to be more "correct", I think (off_t for offsets, mode_t for file mode, etc), it fixes a bug where nDaemons is not correctly set from the uafs_Init parameter, fixes a segfault in uafs_open when O_CREAT is specified, initializes a couple of static vars, "#if 0"s out code that copies tokens from kernel-space to user-space (doesn't seem to work from what I've seen, and the current code crashes on clientless Solaris machines from being killed by SIGSYS) commit c11eb4c3336f66a3f0fd92c3df41eb9765de050c Author: Daria Phoebe Brashear Date: Mon Dec 29 17:29:06 2008 +0000 macos-103-fixes-20081229 LICENSE IPL10 make macos 10.3 work again commit d0cc6eb2f5f0aea0a6ad88de2d847f93d07cc8b9 Author: Jeffrey Altman Date: Sun Dec 28 21:04:23 2008 +0000 rx-rdwr-writeproc-race-20081228 LICENSE MIT FIXES 123799 prevent rx_WriteProc() from passing a packet to rxi_PrepareSendPacket() that has been freed and possibly allocated to another call. commit 8f3e660270d9c1af268ba45118ab87740fbeeef8 Author: Jeffrey Altman Date: Sun Dec 28 04:41:38 2008 +0000 windows-smb-fs-attr-info-20081227 LICENSE MIT even though the docs for FILE_FS_ATTRIBUTE_INFORMATION state that the MaximumComponentNameLength field is in bytes, it turns out that Windows SMB servers return the value in characters. Reduce the reported value to 255 to match NTFS. commit f70ba203206a2953a3f51b48fe3455b9cad52eae Author: Jeffrey Altman Date: Sat Dec 27 19:22:26 2008 +0000 windows-libafsrpc-makefile-20081227 LICENSE MIT additional defines are to be appended to AFSDEV_AUXCDEFINES, they are not supposed to replace the prior definition commit a09a1709f646087c2ceb6f484b45b48495ea1127 Author: Jeffrey Altman Date: Sat Dec 27 06:01:09 2008 +0000 windows-afsd-fs-attr-info-20081226 LICENSE MIT Pointed out by jason edgecombe. the AFS SMB server failed to report the FILE_UNICODE_ON_DISK characteristic when responding to TRANS2_QUERY_FS_INFORMATION. commit f18b54bfe647cfee6a7072d11df04019161d8223 Author: Jeffrey Altman Date: Sat Dec 27 02:53:55 2008 +0000 windows-install-nsis-20081226 LICENSE MIT permit the location of the NSIS application to be configurable commit 06468cb9393aca2c58cc75ee51bfb50f56957c52 Author: Matt Benjamin Date: Sat Dec 27 02:27:34 2008 +0000 windows-client-config-manifest-20081226 LICENSE BSD FIXES 123889 remove extraneous reference to the output manifest file which resulted in two manifests being generated with conflicting UAC values. commit 61aa1b199c28abc763456b35a644047cb9bafc18 Author: Jeffrey Altman Date: Fri Dec 26 23:40:14 2008 +0000 windows-afsd-btree-lookups-20081226 LICENSE MIT when performing a lookup operation it is acceptable for the data version of the btree to be greater than the data version of the cm_dirOp_t under which the operation is being performed. No change to the btree can take place and the result of the lookup will maintain consistency without requiring an additional restart of the directory operation. commit 4435c4fdcc6ba21b86277cfd09b0dfa1b88989c5 Author: Jeffrey Altman Date: Fri Dec 26 23:34:26 2008 +0000 windows-afsd-dir-prefetch-20081226 LICENSE MIT when prefetching the directory buffers do not call cm_FlushFile to discard locally modified buffers. Instead just set the cm_scache_t bufDataVersionLow to the current version. out of date buffers will therefore be ignored without requiring that locks be dropped and reacquired and without searching all of the buffers associated with the directory. commit 9784a9f0cc35cf485c5f9533db9dd8247df3b7c3 Author: Jeffrey Altman Date: Fri Dec 26 23:29:22 2008 +0000 windows-afsd-max-daemons-20081226 LICENSE MIT permit the number of daemon threads to be increased to 64 instead of a maximum of 8. commit 9e2d9f6fa8862d33dfc7352c961f7945d0e04f4f Author: Jeffrey Altman Date: Fri Dec 26 23:26:09 2008 +0000 windows-afsd-rename-collision-20081226 LICENSE MIT Do not permit cm_Rename() to rename an existing object such that it creates a case-insensitive name collision with another object. This change in behavior is consistent with the restrictions when creating new objects. This change prevents the explorer shell from getting confused when it creates a new folder. commit 238ad07e13a85366bcf49a309e3735d26ff51ff2 Author: Jeffrey Altman Date: Fri Dec 26 21:17:49 2008 +0000 windows-pioctl-drive-subst-20081226 LICENSE MIT GetDriveType() will return "REMOTE" for drive letters that are mapped to network devices via the SUBST command. Recursively check drive letters for the final substitution before checking to see if the drive letter is in fact an AFS device. commit 411a63fb063cf24d6b9aedeb83df2eb58716e239 Author: Matt Benjamin Date: Tue Dec 23 20:42:38 2008 +0000 windows-afsd-findserverbyip-refcount-20081223 LICENSE BSD FIXES 124054 reference count the server object returned by cm_FindServerByIP commit 556b9780517376c688c965dd446506cac1a0353b Author: Daria Phoebe Brashear Date: Mon Dec 22 20:34:12 2008 +0000 solaris-largepartition-interface-20081222 LICENSE IPL10 add support for using statvfs64 on solaris commit 72cb3a5f18f0483515dd82f8c851309003cf3a2f Author: Daria Phoebe Brashear Date: Mon Dec 22 19:22:57 2008 +0000 ubik-serverinit-clones-correction-20081222 LICENSE IPL10 as pointed out by Simon Wilkinson commit d2ae1c99523ac4150a0d5536593781dbccfc1408 Author: Tom Kula Date: Mon Dec 22 19:01:46 2008 +0000 vol-dump-incr-largefile-support-20081222 LICENSE IPL10 FIXES 123984 add large file support for >2gb dumps; add incremental support commit 0c52c9b3d900f610822249765b6a441422361888 Author: Jeffrey Hutzelman Date: Mon Dec 22 17:30:58 2008 +0000 doxygen-getfid-correction-20081222 LICENSE IPL10 correct out param description commit c69fa8fef4de43182d9e6ebad1d5c1db71148d6d Author: Daria Phoebe Brashear Date: Mon Dec 22 17:14:36 2008 +0000 rx-idledead-only-ignore-keepalives-20081222 LICENSE IPL10 critical to not ignore e.g. other acks commit 992ec096332c31f64e8cff66e20d2ab87708485f Author: Jeffrey Altman Date: Sun Dec 21 06:05:12 2008 +0000 rxgen-cpp-definition-20081221 LICENSE MIT FIXES 124011 avoid "ologo" compilation error messages due to buffer overflow in rxgen on Windows. research performed by mlane@sinenomine.net. commit 46abfec0c74e6a1d4c5c76afcd24192484e2d0fa Author: Jeffrey Altman Date: Sun Dec 21 05:58:20 2008 +0000 tweak-vicelog-macros-20081221 LICENSE IPL10 add missing semi-colons left out from DELTA tweak-vicelog-macros-20081218 commit dbc92bde39361c9741828be7a2151e521c9aeef9 Author: Jeffrey Altman Date: Sun Dec 21 05:46:29 2008 +0000 audit-consolidate-open-20081221 LICENSE IPL10 FIXES 123923 fix audit-consolidate-open-20081217 which broke the Windows build. commit 12297b95885d030e5cae6bec2543bdeb3e65b5ee Author: Simon Wilkinson Date: Thu Dec 18 14:05:10 2008 +0000 tweak-vicelog-macros-20081218 LICENSE IPL10 deal with macro semicolon confusion for vicelog commit 539dc6f501459712136f574744dba196598bee0b Author: Steve McIntosh Date: Wed Dec 17 18:14:41 2008 +0000 audit-consolidate-open-20081217 LICENSE IPL10 FIXES 123923 consolidate opening auditlog in one place; make opening nonblock easier commit 8271c1674f75f80804d08e0f4ed3178b61b29eff Author: Steve McIntosh Date: Wed Dec 17 18:11:43 2008 +0000 auditlog-fids-20081217 LICENSE IPL10 FIXES 123922 make auditlog process multiple fids correctly commit dc4429487fbfc7a41f266b36d0f86ab32eb24e75 Author: Jeffrey Altman Date: Wed Dec 17 16:19:22 2008 +0000 windows-afsd-smb-error-mapping-20081217 LICENSE MIT map ENOMEM to STATUS_OUT_OF_MEMORY commit df90f5510a057d77a486a1b667f91ff63ad17fd2 Author: Daria Phoebe Brashear Date: Tue Dec 16 21:48:53 2008 +0000 irix-prototype-fixage-20081216 LICENSE IPL10 more cleanup to make prototypes match functions on irix commit dfc38ea7e950990eb4047d49892f4903b5c9b945 Author: Daria Phoebe Brashear Date: Tue Dec 16 21:05:20 2008 +0000 irix-close-vnop-typo-20081216 LICENSE IPL10 fix irix close vnop prototype to be correct commit 00d5f88fa5b09b795edf8fdf04b3a19bb577506f Author: Garry Zacheiss Date: Mon Dec 15 22:20:37 2008 +0000 butc-xbsa-64bit-linux-20081215 LICENSE IPL10 use the 64 bit libraries when built for amd64 commit 1754101972ffb9b2d36c39656dac04464c5e9798 Author: Daria Phoebe Brashear Date: Mon Dec 15 20:50:57 2008 +0000 fbsd71-like-current-20081215 LICENSE IPL10 FIXES 123917 rpc is in sys now, like in current. tweaked from matt's patch to also deal with amd64 commit c63e2541e5879fe153238ad1d774f60fa00dc0ee Author: Matt Benjamin Date: Mon Dec 15 20:37:51 2008 +0000 amd64-fbsd-20081215 LICENSE IPL10 FIXES 123811 add support for fbsd 7.1, amd64 fbsd commit b147521611a73d0578aca14b3252e062de1e5d8a Author: Daria Phoebe Brashear Date: Mon Dec 15 19:12:04 2008 +0000 aix-prototype-fixes-20081215 LICENSE IPL10 make the prototyping changes work on aix commit 7714162e9abb046e67d0fc68578a2e3d68ef2156 Author: Daria Phoebe Brashear Date: Sat Dec 13 21:30:55 2008 +0000 solaris-vnop-prototyping-20081213 LICENSE IPL10 make the head sane on solaris again commit 1f9467f9b7e3d6bc49267a32a7e2238c6d829ef0 Author: Daria Phoebe Brashear Date: Tue Dec 9 17:04:45 2008 +0000 eliminate-cplusplus-style-comments-20081209 LICENSE IPL10 aix compiler hates // style comments commit 9123966e43bc2f708baba756530aa90fcfe5e93d Author: Jeffrey Altman Date: Mon Dec 8 16:25:40 2008 +0000 windows-afsd-ntstatus-wouldblock-20081208 LICENSE MIT Change the mapping of CM_ERROR_WOULDBLOCK from STATUS_LOCK_NOT_GRANTED to STATUS_CANT_WAIT. STATUS_LOCK_NOT_GRANTED is used to indicate CM_ERROR_LOCK_NOT_GRANTED. commit 8166bd1d199f5a34225a49173b17e4682b5c3a84 Author: Daria Phoebe Brashear Date: Sun Nov 30 20:24:12 2008 +0000 missing-comerr-header-includes-20081130 LICENSE IPL10 FIXES 123676 include com_err header in places where it's not so afs_error_message et al exist commit 29457b1ca71518b29bb9e9e934c58e6fa4b9877a Author: Douglas Engert Date: Sun Nov 30 20:20:55 2008 +0000 solaris-fs-agnostic-cache-20081130 LICENSE IPL10 FIXES 123677 make the cache able to be filesystem-agnostic so a ZFS cache is possible commit 4db6293a06ff573eb650cbf9bbf53440a7ee83a2 Author: Andrew Deason Date: Sun Nov 30 20:17:13 2008 +0000 linux-nonfh-cache-file-handling-20081130 LICENSE IPL10 FIXES 123771 go back to referencing f.inode and not ainode when not using the fh cachefiles. put back the dcache reference again. commit fb549013e7bb2cf5cb3da3083349cb559c093e8f Author: Dragos Tatulea Date: Sun Nov 30 20:11:05 2008 +0000 disconnected-refcount-fixes-20081130 LICENSE IPL10 FIXES 123714 fix code which tweaks refcounts on disconnected vcaches to be correct commit 20aff72a7eae704241b67b6cf40fc92648abb1b0 Author: Dragos Tatulea Date: Sun Nov 30 20:06:35 2008 +0000 disconnected-dirty-list-keeps-reference-to-vcache-20081130 LICENSE IPL10 FIXES 123715 avoid putting vcaches on the dirty list unreferenced commit 96996e65fcd569565e78b7af79258dfad3b0d261 Author: Daria Phoebe Brashear Date: Sun Nov 30 19:49:16 2008 +0000 uphys-invalidate-returns-void-20081130 LICENSE IPL10 FIXES 123723 thanks to Hartmut Reuter for catching this. commit 0d94742ec33122b83a84eeb7a82bfd1eb8361464 Author: Daria Phoebe Brashear Date: Sun Nov 30 19:40:00 2008 +0000 libafs-prototypes-20081130 LICENSE IPL10 fix sun5 prototype for afs_close commit 55ac2b7aa7da8ead2b3457781d9d60958bfad6be Author: Jeffrey Altman Date: Sat Nov 29 18:55:25 2008 +0000 netrestrict-netinfo-20081129 LICENSE MIT Rename rxi_getAllAddrMaskMtu to rx_getAllAddrMaskMtu. Implement rx_getAllAddrMaskMtu for Windows. Add rx_getAllAddrMaskMtu to the libafsrpc exports list. Remove restrictions on use of NetRestrict / NetInfo files from all services on Windows. commit b7e12a1aec9cd3591a02023fb6e87ba6cfcb152f Author: Simon Wilkinson Date: Sat Nov 29 18:20:03 2008 +0000 libafs-prototypes-20081129 LICENSE IPL10 add prototypes missing from libafs commit deb20d02fb76e52210e44fe03e611e5d3a48a8e5 Author: Simon Wilkinson Date: Sat Nov 29 18:15:40 2008 +0000 standard-header-includes-20081129 LICENSE IPL10 add missing standard headers commit 85f1ef34c2533da2f47757bb8d8a3aecb9083283 Author: Simon Wilkinson Date: Sat Nov 29 18:08:33 2008 +0000 rxkad-prototypes-20081129 LICENSE IPL10 add prototypes for rxkad commit 5697e58a07e39eba9609685695e1718cbc9794e4 Author: Jeffrey Altman Date: Wed Nov 26 07:15:01 2008 +0000 windows-pioctl-global-auto-mapper-20081125 LICENSE MIT FIXES 123726 drive letters mapped to \\afs by the global auto mapper do not show up as mapped drives. Add a check for the drive mapping based upon the registry configuration. commit ebb2c8eacaffe25d430c4e3b3eca524ea0b6b103 Author: Jeffrey Altman Date: Fri Nov 21 16:52:40 2008 +0000 windows-afsd-memdump-20081121 LICENSE MIT add the buffer error state to the memdump output commit 9ddb573bbb7b9960430a98f32124c0cb4d5028b2 Author: Adam Vollrath Date: Fri Nov 21 07:09:42 2008 +0000 ubik-doxygen-20081121 LICENSE IPL10 FIXES 123681 restyle comments in ubik to be doxygen qt-style commit ef92a3331f25375387a99fbb690c4473ee91d945 Author: Jeffrey Altman Date: Thu Nov 20 22:56:12 2008 +0000 clones-take-two-20081120 LICENSE IPL10 FIXES 89557 commit jeff's revised version of the patch commit f3384d6378173dbaf550283851a8948654af548c Author: Jeffrey Altman Date: Wed Nov 19 12:36:39 2008 +0000 windows-smb-is-mask-20081119 LICENSE MIT FIXES 123680 Examination of dump shows that smb_IsMask is being called on a non-8.3 input buffer. Separate smb_IsMask() into smb_Is8Dot3Mask() for 8.3 input buffers and smb_IsMask() for non-8.3 input buffers. commit 122833a44eed58273e73992df815c7718ac6e4f7 Author: Tracy Di Marco White Date: Mon Nov 17 23:14:02 2008 +0000 netbsd-acinclude-typo-20081117 LICENSE IPL10 FIXES 123647 fix netbsd version tests for amd64 commit b5fea780fbb0ea12d3d086210d0abbef12e24560 Author: Daria Phoebe Brashear Date: Mon Nov 17 23:05:28 2008 +0000 aix6-lam-plugin-20081117 LICENSE IPL10 FIXES 123649 based on suggestion from Hung_Pham@unc.edu build aix5 module for aix6 commit a4177506ce59ffda41ae0cc04aeef581e3f4d305 Author: Jeffrey Altman Date: Mon Nov 17 22:28:43 2008 +0000 windows-smb-rename-20081117 LICENSE MIT FIXES 123673 avoid reference under count when renaming commit 5fe7d9c6d9482651859d91f3022ac5ae0a127835 Author: Jeffrey Altman Date: Mon Nov 17 19:08:23 2008 +0000 windows-smb-vc-uid-missing-20081117 LICENSE MIT FIXES 123655 Protect against an smb packet containing a uid for which we have no active session in the virtual circuit. commit d312166bfd2e7e877ae5559a82050f3ecc3555ee Author: Jeffrey Altman Date: Sat Nov 15 17:10:16 2008 +0000 windows-buf-clean-20081115 LICENSE MIT change the interface to buf_CleanAsync / buf_CleanAsyncLocked to permit errors to be propagated to the caller. commit ab37d70f502e3b5ebdbfe23107ac5006cc0e9a2f Author: Jeffrey Altman Date: Sat Nov 15 17:07:41 2008 +0000 windows-btree-20081115 LICENSE MIT return an error if the enumeration of the directory cannot complete because the btree has not yet been generated. commit 17b8c16000461c5b7908cdb3d923bba9a03122b5 Author: Jeffrey Altman Date: Sat Nov 15 17:05:19 2008 +0000 windows-error-mapping-20081115 LICENSE MIT do not map success (0) to an error commit bac191678f18669df4f2f5e69a033dcce4d2c38a Author: Jeffrey Altman Date: Sat Nov 15 16:47:55 2008 +0000 windows-conn-analyze-20081115 LICENSE MIT Add a delay after receiving a VBUSY before ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE MIT remove commit 0c3bf45fff85b54f6143d200b2e7884fdc1e2845 Author: Jeffrey Altman Date: Thu Nov 13 15:39:46 2008 +0000 windows-dir-prefetch-locks-20081113 LICENSE MIT cm_DirPrefetchBuffers() did not properly drop and regain the appropriate lock type y ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE MIT undo premature commit. commit 117066c481e956f7fea53a500271791db5cb375d Author: Marc Dionne Date: Thu Nov 13 13:47:52 2008 +0000 missing-linux-fh-configure-switch-20081113 LICENSE IPL10 FIXES 123620 add missing hunk to acinclude commit a3c9b01f3adae098dbd31e7b9742dec5f8081d2c Author: Russ Allbery Date: Wed Nov 12 02:30:58 2008 +0000 man-page-fileserver-fix-block-size-20081111 After code study, we've decided that additional blocks do add 32 octets, not 16, despite messages to the contrary in the archives. commit 794967ed3ec5a46329375ae19eac21c1c508c1ee Author: Jason Edgecombe Date: Wed Nov 12 02:17:49 2008 +0000 man-page-fileserver-updates-20081111 LICENSE BSD Various file server man page updates: number of partitions, partition size limits, directory file name block size, and a reference to the IBM manual set. commit 196e995b2569c7dceea8748a36431802d4875188 Author: Russ Allbery Date: Wed Nov 12 02:00:27 2008 +0000 man-page-fileserver-octet-20081111 LICENSE BSD The sizing limit on directories is better expressed in octets than in characters in the new possibly-Unicode world. commit 267472a473316fbc37e1fc5dc74e4e7f9edfa4ef Author: Daria Phoebe Brashear Date: Tue Nov 11 20:31:19 2008 +0000 viced-helper-thread-count-20081111 LICENSE IPL10 fix the thread count of helpers so we don't go past 128 commit de2044ca66f0de5bcdf0505373fb189b09cd49ef Author: Jeffrey Altman Date: Tue Nov 11 03:33:24 2008 +0000 windows-netidmgr-vs-referrals-20081111 LICENSE MIT kfw referrals logic broke the logic for automated configuration of the workstation cell with a new identity. Now if a referrals response is returned, assume the cell belongs with the new identity. In the long term, we need to change the logic as follows: 1. if realm indicates referrals, try to obtain the krb5 service ticket but do not generate a token 2. if the service ticket can be obtained and a. if the cell is not bound to any other identities, then bind it to this one b. if the cell is bound to another identity, prompt the user to ask which identity (or both) should this cell be bound to and follow the user's instruction commit 041f09e17b7e1760a968c0e38f52d7feac2862ba Author: Marc Dionne Date: Sat Nov 8 16:49:25 2008 +0000 linux-new-aop-20081108 LICENSE IPL10 FIXES 123580 support for 2.6.28 commit 4eab64ebd81305845d10c4a5fdfd1861bc41520b Author: Marc Dionne Date: Sat Nov 8 16:34:24 2008 +0000 linux-fh-based-cache-20081108 LICENSE IPL10 FIXES 123620 use linux fh (exportfs api) to do cache file access. conditionalize based on configure switch. commit 18e78d91e78e541fce6c9295919946af0744aa7e Author: Marc Dionne Date: Sat Nov 8 16:09:25 2008 +0000 linux-disable-readahad-20081108 LICENSE IPL10 FIXES 123604 The code has long contained a backing_dev_info structure, but it was never attached to anything. Initialize its use properly with bdi_init, and attach it to i_mapping for every newly filled inode. bdi_init and bdi_destroy are needed for proper initialization of some percpu counters, otherwise we get some oopses. commit 0ac956b3384842b3c60e72bde78a4baf58a5877f Author: Steve McIntosh Date: Sat Nov 8 15:58:06 2008 +0000 salvager-no-chdir-20081108 LICENSE IPL10 FIXES 123577 make sure salvager cores don't get left in vice partitions commit 35bc549bf9b6d5f1e4628621f0283d68c5808da5 Author: Jeffrey Hutzelman Date: Sat Nov 8 02:28:48 2008 +0000 cellservdb-20081107 new cellservdb from central.org commit aff6ee8987961bc2631fa5dfd599de91a2c51419 Author: Jeffrey Altman Date: Fri Nov 7 21:00:43 2008 +0000 windows-linked-cells-10081107 LICENSE MIT prevent stack overflow commit 99e202b073c35a5c7d76a66a9d9cd2d0b9a6c73d Author: Asanka Herath Date: Fri Nov 7 18:19:38 2008 +0000 windows-nim-afs-longer-cell-names-20081107 LICENSE MIT permit cell and realm names to be longer than the input field. commit fffc8d7016b3f659d111276a1657dad8acc8cf50 Author: Jeffrey Altman Date: Fri Nov 7 16:35:20 2008 +0000 windows-nim-afs-linked-cells-20081107 LICENSE MIT add linked cell support to the NIM afs provider. commit 01c4e08cf8c90c4f01a70e14a73c07e2382d3451 Author: Jeffrey Altman Date: Fri Nov 7 05:40:59 2008 +0000 windows-aklog-linked-cells-20081106 LICENSE MIT Add support for linked cells. Acquire tokens for the linked cell in addition to the specified cell. commit 32c271187ad7045abf376490ec3cbb44a6ce617c Author: Jason Edgecombe Date: Fri Nov 7 00:26:17 2008 +0000 doc-user-guide-acl-example-fix-20081106 FIXES 123331 LICENSE BSD fs sa takes a directory as its first argument. commit 68902640a2eb1d47d7dd13b3fae9d19eddf64a6e Author: Jeffrey Altman Date: Thu Nov 6 22:09:05 2008 +0000 windows-config-ipaddr-parsing-20081106 LICENSE MIT when parsing ipaddrs in CellServDB rejects addrs whose components are values greater than 255. commit a36618213694f37cd1cec660336267a38cee9344 Author: Jeffrey Altman Date: Thu Nov 6 19:18:32 2008 +0000 windows-afsd-hook-20081106 LICENSE MIT When loading the afsdhook.dll require that it be in the same directory as afsd_service.exe. This prevents LoadLibrary() from searching the PATH environment variable if it cannot be found. If the PATH environment variable contains a path in AFS, the library will fail to load and take a very long time doing so. commit eccc12fb07cc5fef660ee29fe5ebcc573b027568 Author: Simon Wilkinson Date: Wed Nov 5 21:29:06 2008 +0000 redhat-packaging-krb-conf-man-page-20081105 LICENSE IPL10 account for the new manpage commit 70fda445bd0fb8bd3e246e859b4582170ea271eb Author: Jeffrey Altman Date: Mon Nov 3 19:55:38 2008 +0000 windows-linked-cells-20081103 LICENSE MIT FIXES 123571 The Windows code base was implemented ignorant of linked cells as defined in the src/auth/cellconfig.h struct afsconf_cell. The code that made use of the afsconf_cell objects would leak the memory from the linkedCell field if is non-NULL. Add cm_SearchCellFileEx which is an extended version of cm_SearchCellFile capable of returning a linked cell obtained from the CellServDB file. Update GetCellConfig to populate the linkedCell field of the afsconf_cell structure. Modify cm_cell_t to support a linked cell name. Modify cm_GetCell_Gen() to populate the cm_cell_t linked cell and enforce that two cells are linked to each other. Modify cm_GetVolumeByID() and cm_GetVolumeByName() to perform fallback to the linked cell if the response is CM_ERROR_NOSUCHVOLUME. commit 303c70efd4cb54ad673bed5a0c438670ae2b97ad Author: Jeffrey Altman Date: Sat Nov 1 03:37:56 2008 +0000 windows-prevent-wow64-execution-20081031 LICENSE MIT prevent the 32-bit build from being executed in the wow64 environment commit 1d18280f20bacf3fa9cc650c7c64d25c72c0507a Author: Jeffrey Altman Date: Wed Oct 29 20:06:54 2008 +0000 windows-release-notes-missing-files-20081029 LICENSE MIT pulled down from 1.5 commit 50e1e59a92f38e0751384b401016ea01fe01ed8f Author: Simon Wilkinson Date: Wed Oct 29 19:43:42 2008 +0000 aklog-attempt-order-comments-20081029 LICENSE IPL10 to clarify what gets tried when and why. commit ef70f73141bf9940ec10d42c2d6ab5b6b341cdc9 Author: Max Cohan Date: Tue Oct 28 17:55:19 2008 +0000 windows-setup-utils-20081028 LICENSE IPL10 correct file name to match the file. committed broken in windows-file-versioning-20030619 commit fc78255c1dc29c55b67f7a7b4599bed141282213 Author: Simon Wilkinson Date: Mon Oct 27 23:53:23 2008 +0000 initialize-variables-to-avoid-logic-issues-20081027 LICENSE IPL10 make sure any variable whose value is used will be initialized before that value is used. (these aren't just warnings) commit f27165f13796a84cdbc36c31714781509ad25ba0 Author: Simon Wilkinson Date: Mon Oct 27 23:41:02 2008 +0000 kill-uninitialized-variable-warnings-20081026 LICENSE IPL10 kill lots of compiler warnings commit aa09aa2be151d44a9fe5008ff5931dd1892ddf35 Author: Jeffrey Altman Date: Sun Oct 26 21:52:29 2008 +0000 windows-pioctl-drive-map-20081026 LICENSE MIT a remote drive connection may not be mapped to a local drive letter. commit a824cbda621151c34dd85d00c3ee2779d839c237 Author: Jeffrey Altman Date: Sun Oct 26 21:16:57 2008 +0000 rx-rdwr-avoid-free-null-packet-20081026 LICENSE MIT avoid a potential call to rxi_FreePacket with a NULL pointer as input commit a614a8d95476ae49642d055cb0ac7942109d021e Author: Jeffrey Altman Date: Sun Oct 26 07:50:39 2008 +0000 ptutils-restricted-accessok-20081025 LICENSE MIT Fix restricted mode test when 'any' is not set on AccessOK commit 8a33059215c00f688ea38fa039b2ac53d8d26dc9 Author: Simon Wilkinson Date: Sun Oct 26 01:45:45 2008 +0000 exporter-call-gethost-method-correctly-20081025 LICENSE IPL10 actually call the correct method for EXP_GETHOST commit 3f08225c6b23f74e98b576a1ed27837989d64707 Author: Simon Wilkinson Date: Sun Oct 26 01:04:12 2008 +0000 rx-rwlock-cleanup-20081025 LICENSE IPL10 make the rwlock patch actually build everywhere commit f2014112bcc27ecc1426ef078af7456285d839d2 Author: Simon Wilkinson Date: Sun Oct 26 00:59:55 2008 +0000 aklog-chatty-20081025 LICENSE IPL10 make aklog not accidentally be chatty commit 069cd726c093d4856dc98353a75080547ea4e751 Author: Daria Phoebe Brashear Date: Fri Oct 24 22:07:01 2008 +0000 darwin-kernel-rwlocks-20081023 LICENSE IPL10 convert to kernel rwlocks on darwin commit e73e2ff4b53bfdfe16fec2d65776facae853eddd Author: Daria Phoebe Brashear Date: Fri Oct 24 21:59:52 2008 +0000 rx-atomics-for-solaris-and-darwin-20081023 LICENSE IPL10 support atomics on osx and solaris commit 23a511739b431afcec60b7f9ca681236f37b920d Author: Jeffrey Altman Date: Fri Oct 24 21:38:56 2008 +0000 rx-rw-locking-20081024 LICENSE BSD rename RWLOCK_INIT to AFS_RWLOCK_INIT in order to maintain naming consistency and to distinguish them from the new RWLOCK_INIT macros being used in rx. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE BSD add rx/rx_internal.h as a dependency ==================== LICENSE BSD define RWLOCK_xxx operations replace MUTEX_xxx operations with RWLOCK_xxx when it is appropriate to do so. This improves concurrency on multi-processor systems. make additional use of atomic operations commit f64ecbf721dbc115103684a3d71a095854607812 Author: Jeffrey Altman Date: Wed Oct 22 02:25:25 2008 +0000 windows-reformatting-20081021 LICENSE MIT reformat some of the recent changes cast away warnings on 64-bit windows commit a7a1846ab7fb049360b2c69486b7c673d09b8b28 Author: Daria Phoebe Brashear Date: Tue Oct 21 19:36:35 2008 +0000 fd-setsize-test-20081021 LICENSE BSD a test so we can deal with platforms which don't honor FD_SETSIZE commit 9bca8ce22add91b32f45922650c429404d74797d Author: Daria Phoebe Brashear Date: Tue Oct 21 14:44:50 2008 +0000 linux24-writepage-antideadlock-20081021 LICENSE IPL10 also make this work for 2.4.x commit 6d14b44b7c83918bcd7e6e07ec365f8430ad23c5 Author: Daria Phoebe Brashear Date: Mon Oct 20 20:29:26 2008 +0000 blacklist-move-init-checks-back-into-req-code-20081020 LICENSE IPL10 revise things so we don't need to check initd outside analyze.c/InitReq ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 since these end up being used, init them too commit 4a587356a31ac5afdf17d329a8598f70cf8bc3af Author: Daria Phoebe Brashear Date: Mon Oct 20 13:38:07 2008 +0000 linux-mmap-antirecursion-20081020 LICENSE IPL10 FIXES 120491 avoid deadlocking ourselves due to recursion when flushing pages on an mmap()ed file larger than the cache commit bc9c0a14154639d8e45554a3abeb867af9a8d0b2 Author: Marc Dionne Date: Mon Oct 20 13:34:58 2008 +0000 autoconf-262-support-20081020 LICENSE IPL10 FIXES 118058 fix the quoting and remove the tests we shouldn't need anymore commit 3ad8fba85f5b45cdd6537c3ca71717c9370cc48e Author: Daria Phoebe Brashear Date: Mon Oct 20 13:03:44 2008 +0000 blacklist-check-only-existing-servers-20081020 LICENSE IPL10 based on suggestion from haba@pdc.kth.se commit 7366eb3d46506b1fdda5ece843abd96aa76b7936 Author: Marc Dionne Date: Mon Oct 20 13:01:34 2008 +0000 blacklistonce-use-only-initd-vrequest-20081020 LICENSE IPL10 avoid using an un "initd" vrequest for server blacklisting commit 90e4242c2d7d4ce8477061469f4840212c195080 Author: Asanka Herath Date: Mon Oct 20 00:17:41 2008 +0000 windows-handle-invalid-utf16-names-20081019 LICENSE MIT FIXES 116641 Windows will deliver to OpenAFS UTF16 strings that are not valid Unicode and cannot be converted to UTF8. Return bad file name errors in those cases. Make sure all file server strings once converted to UTF16 can be converted back. If not, escape the invalid portions of the string so that the file can be accessed. commit 0c7d7ce3b8386a1aca6d1fc3d738c8621708eb95 Author: Jeffrey Altman Date: Sun Oct 19 23:50:21 2008 +0000 windows-smb-rdr-duration-logging-20081019 LICENSE MIT if an smb request takes longer than 45 seconds, log info to afsd_init.log that might be helpful in determining patterns in the smb client disconnects commit 622f9b0de85f2a45d3a327cd8b8bea470dba9862 Author: Jeffrey Altman Date: Sun Oct 19 23:44:20 2008 +0000 windows-smb-bridge-nowild-error-handling-20081019 LICENSE MIT add the error preprocessor symbol to the error string if both an NRC_BRIDGE and NRC_NOWILD error are received within the smb_Listener thread, try re-adding the NetbiosName to the lana before giving up and quiting. commit 2767cbf773653bffaa63e098cce463ada804d6d7 Author: Jeffrey Hutzelman Date: Sat Oct 18 20:25:56 2008 +0000 newtrans-lock-fix-fix-20081018 LICENSE IPL10 swap in the freshly allocated memory instead of throwing it away commit f9191fdebcf694f1a6afac8c0f4679c35114ce93 Author: Jeffrey Altman Date: Sat Oct 18 18:01:07 2008 +0000 smb-symlink-to-vnovnode-attribute-20081017 LICENSE MIT When reporting the attribute of a directory name which happens to be a symlink object to a file that cannot be accessed or does not exist, use the target name to guess the type of the object. If it has an extension, consider it a file, otherwise report it as a directory. commit 7e8c41d53fcd51ae0ff4420ba1027b354af306c8 Author: Jeffrey Altman Date: Sat Oct 18 16:24:35 2008 +0000 ubik-uninitialized-var-20081018 LICENSE MIT 'pass' must be initialized. do so. commit f69137625fde97e465671978820350d41ca5d5b8 Author: Jeffrey Altman Date: Sat Oct 18 16:23:13 2008 +0000 restore-uninitialized-var-20081018 LICENSE MIT 'last' must be initialized. do so. commit 1bdea5e4707e9c60b949cc55b847c498fc9a7bec Author: Jeffrey Altman Date: Sat Oct 18 16:08:50 2008 +0000 fix-maxmtu-command-line-20081018 LICENSE MIT fix the variable used for maxmtu command line processing commit f5455f74988da78a652f035cd93c3184aa2ce490 Author: Jeffrey Altman Date: Sat Oct 18 14:12:19 2008 +0000 windows-pioctl-wnet-connected-20081018 LICENSE MIT refactor. consolidate netbios name acquistion. commit 75f496df1727a5b1d00809fcf493c7c815c90816 Author: Jeffrey Altman Date: Sat Oct 18 07:19:17 2008 +0000 windows-pioctl-wnet-connected-20081017 LICENSE MIT use WNetEnumXXX functions to list connected disk resources. If the requested drive letter is an AFS resource, perform the pioctl test. If it is not, fail immediately. commit edf7a4020318b305ce8fd3852f09f2f565563f7c Author: Jeffrey Altman Date: Sat Oct 18 05:44:51 2008 +0000 windows-reset-acl-list-20081017 LICENSE MIT Move definition of cm_ResetACLCache from cm_ioctl.c to cm_aclent.c commit 4c79498bc3dd87cb45d1827133aff3c93c2caff8 Author: Jeffrey Altman Date: Sat Oct 18 05:12:25 2008 +0000 windows-shell-extension-20081017 LICENSE MIT windows-afsreg-20081017 wraps strings for wide char usage. use the wide char versions of win32 apis to match. commit 81a921759520b03088ddcc37c1c624c0641981fc Author: Jeffrey Altman Date: Sat Oct 18 05:09:44 2008 +0000 windows-afsreg-20081017 LICENSE MIT wrap all text strings with TEXT() to permit use with wide char functions commit e4b6e4d4a63c036be326e3e933fb7f7c6787275b Author: Jeffrey Altman Date: Fri Oct 17 21:24:19 2008 +0000 windows-pthread-rwlock-20081017 LICENSE MIT Adds pthread rwlock support to the library. commit c3251a3b18a83bf66d4d2f0a549fa573eccbdde2 Author: Jeffrey Altman Date: Fri Oct 17 02:41:12 2008 +0000 windows-install-nsis-20081016 LICENSE MIT update copyright dates remove old AFS IFS entries delete afslogon* and afscpcc.* from $SYSDIR correct install location of afslogon.dll in WinLogon\Notify registry key commit bfd01550bddcce18f6f76e97231e21680a545e3f Author: Jeffrey Altman Date: Thu Oct 16 02:38:35 2008 +0000 windows-netbios-name-logging-20081015 LICENSE MIT log more data to afsd_init.log regarding events that can cause the netbios name registration to become invalid. commit e0298d5f09d7e791aeb0f98438e299ad1faf186a Author: Jeffrey Altman Date: Thu Oct 16 02:26:11 2008 +0000 windows-dnlc-20081015 LICENSE MIT FIXES 116641 Do not use the DNLC if the name when converted from Unicode is NULL. commit 1115e29dacab98ed29ec603edfdaa8f697507daa Author: Jeffrey Altman Date: Wed Oct 15 14:50:51 2008 +0000 windows-checkVCs-20081015 LICENSE MIT FIXES 116641 Do not drop references to 'nextp' until we are done with the object. Dropping the last reference can result in the object being destroyed. commit 9be6b92a17ebe1d125e13c1cbd7bce620e7672ce Author: Mike Meffie Date: Tue Oct 14 15:38:30 2008 +0000 linux-alt-builddir-fix-20081014 LICENSE IPL10 FIXES 121650 correct the if test to include missing x commit 24ce8010cd414c8c573f2b035d186a2418900546 Author: Daria Phoebe Brashear Date: Sun Oct 12 19:44:27 2008 +0000 linux-proc-walk-locking-20081012 LICENSE IPL10 FIXES 116603 sort out rcu locking versus tasklist lock. if this fails we probably have to disable walking entirely commit 0195d7c0828e3eae7281aad3b983160089b8846a Author: Dragos Tatulea Date: Sun Oct 12 19:10:05 2008 +0000 disconnected-rmdir-infinite-recursion-20081012 LICENSE IPL10 FIXES 121226 fix infinite recursion when replaying rmdir transaction commit 7c6fac305c81af3e10f48560c03db4d2da630527 Author: Simon Wilkinson Date: Sun Oct 12 19:06:27 2008 +0000 disconnected-getvcache-avoid-duplicate-work-20081012 LICENSE IPL10 FIXES 121254 don't do duplicate work finding a vcache we already had commit 726fc5b8425eb7bbaab4bdde38d977382dc17a9d Author: Stefaan De Roeck Date: Sun Oct 12 19:01:58 2008 +0000 linux-alternate-kernel-builddir-20081012 LICENSE IPL10 FIXES 121354 add support for KBUILD_OUTPUT=... builds. commit 322f7e0e9fff02c5d6cad8d9aded3e40abce93ef Author: Jeffrey Hutzelman Date: Sun Oct 12 18:53:06 2008 +0000 volser-newtrans-racy-20081012 LICENSE IPL10 FIXES 121263 avoid a race on creating new transactions in volserver commit 4b72f8765cdf88540354291e8e7072185538ae5d Author: Dragos Tatulea Date: Sat Oct 11 00:26:47 2008 +0000 doxygen-comments-20081010 LICENSE IPL10 FIXES 98819 99069 add doxygen comments for some parts of openafs cache manager ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 add doxygen comments for some parts of openafs cache manager commit 523dd766ef7ed26c2207c7ec4bebe8f74e4dc408 Author: Daria Phoebe Brashear Date: Fri Oct 10 17:25:29 2008 +0000 cachemgr-blacklist-down-servers-20081010 LICENSE IPL10 FIXES 121035 fix to issue suggested by reuter@rzg.mpg.de commit 8b1b390713a79fadd300d17713350f5789879615 Author: Jeffrey Hutzelman Date: Fri Oct 10 15:42:10 2008 +0000 volser-dumpstuff-log-errors-20081010 LICENSE IPL10 FIXES 121040 return sensible (ENOSPC) errors when out of tags or vnodes. don't perror. log instead. commit d569a083e337c2971a4ac471d8adeb1788518684 Author: Harald Barth Date: Fri Oct 10 12:50:52 2008 +0000 cmdebug-entry-count-20081010 LICENSE IPL10 raise max number of entries as cache managers routinely have more than 10,000 vnode status objects commit 7034078b3386e074a399f9387ff9b387e479f4f0 Author: Daria Phoebe Brashear Date: Thu Oct 9 19:56:43 2008 +0000 hpux-gop-lookupname-20081009 LICENSE IPL10 add missing gop_lookupname macro for hpux commit 2e15aa2b261f49a1d6648c36a34300cade3c968c Author: Daria Phoebe Brashear Date: Thu Oct 9 19:54:06 2008 +0000 solaris-gop-lookupname-20081009 LICENSE IPL10 add missing gop_lookupname macro for solaris commit 9f8865744e3f4c1830afdf32b6b38f6b8f584801 Author: Daria Phoebe Brashear Date: Thu Oct 9 13:55:19 2008 +0000 bypasscache-fix-linux24-20081009 LICENSE IPL10 no f_mapping in 2.4.x commit 32977eadf12aaec6608ce3457a976a0810da8590 Author: Jeffrey Altman Date: Wed Oct 8 22:14:52 2008 +0000 windows-build-do-not-mix-pthread-and-lwp-20081008 LICENSE MIT The rx library is built in lwp and pthread forms. The methods used to export data symbols are incompatible between the two. The ubik library is built with rx headers but only in the lwp form. As a result it is not possible to link the ubik libs without also including the lwp rx lib. We have pthreaded servers that require linking to the pthreaded rx and ubik. To fix the problem all of the macros that assigned values to variables and were used by ubik have been converted to functions (but only for Windows.) commit e7b06ab695b83114954b58bd8cd25e5c0ad3f395 Author: Jeffrey Altman Date: Wed Oct 8 18:43:03 2008 +0000 windows-cell-name-trailing-dot-removal-20081008 LICENSE MIT FIXES 120318 Lookups of cell names that have a trailing dot should have the dot removed otherwise there is a risk of duplicate cell entries since "foo" and "foo." will not match but both will resolve to the same AFSDB record in DNS. commit ab2d343c31fe41d663c5a5feb796c3a9250c60d8 Author: Jeffrey Altman Date: Tue Oct 7 23:28:40 2008 +0000 windows-libafsrpc-20081007 LICENSE MIT export missing symbols necessary for tbutc and performance testing. commit b8b3bd8d1b7ca1a95c07e2ee3a0004b07a0b9537 Author: Jeffrey Altman Date: Tue Oct 7 23:25:14 2008 +0000 windows-tbutc-20081007 LICENSE MIT do not link to both pthread and lwp rx libs commit 967cbd2628c02060870c2381bd6fca3480f5711a Author: Daria Phoebe Brashear Date: Tue Oct 7 22:30:23 2008 +0000 darwin-fake-more-disk-free-20081007 LICENSE IPL10 placate finder. this time for sure commit b3bf4b89e345b991984a416d97e3f9aeacc0e159 Author: Daria Phoebe Brashear Date: Tue Oct 7 20:00:31 2008 +0000 linux-d-reval-rewrite-mtpts-when-fakestat-enabled-20081007 LICENSE IPL10 FIXES 113558 avoid case where revalidate saw a mountpoint which hadn't been rewritten yet and failed to handle it, exposing ENOENT where the entry existed. commit af0b03055e8a3244881d8ac3e7c52ed775ae86d1 Author: Daria Phoebe Brashear Date: Tue Oct 7 19:51:25 2008 +0000 find-new-xbsa-first-20081007 LICENSE IPL10 FIXES 119162 change test order commit fe0186dccd4e4d16c0610f211d454a90b0841a83 Author: Daria Phoebe Brashear Date: Tue Oct 7 18:43:57 2008 +0000 ubik-notruncate-dont-pollute-fd-cache-20081007 LICENSE IPL10 issue suggested by Chaskiel Grundman; while it should not have been an issue we now behave usefully in the notruncate recovery code. commit 1e3674cafe3c3feea0840c531cc0461d358f87c6 Author: Daria Phoebe Brashear Date: Tue Oct 7 16:34:53 2008 +0000 vldb-check-fix-more-kinds-of-corruption-20081007 LICENSE IPL10 work harder to ferret out corruption; still reruns itself so if 2 hash chains are comingled they get split back out correctly without having to flush state continuously commit 2cfe5d555e2e9eaedf5107a34d5a2f74092b98b1 Author: Daria Phoebe Brashear Date: Tue Oct 7 04:40:49 2008 +0000 linux-fakestat-revalidate-to-validity-20081006 LICENSE IPL10 we had something which fakestat was faking, but the inode had no ops, so we ended up ENOTDIRing. oops. commit 061634bfc96e70e3c02ce93319f1f269e5c16a44 Author: Jeffrey Altman Date: Sat Oct 4 05:59:32 2008 +0000 rx-varargs-20081003 LICENSE MIT call va_start on Windows commit 5158e8c7aff8f0385edbebb688b6c79b19c604c3 Author: Hans-Werner Paulsen Date: Fri Oct 3 21:39:43 2008 +0000 kdump-rx-stats-20081003 LICENSE IPL10 FIXES 118700 add change to kdump also commit b8caeee989fcc096a1846c87b088263d3db130d9 Author: Jeffrey Altman Date: Fri Oct 3 15:35:15 2008 +0000 rx-windows-dpf-20081003 LICENSE MIT dpf on windows is conditional on rxdebug_active, not rx_debugFile commit a3154fbfc16bf3946b964f03340bca86d1ad657d Author: Jeffrey Altman Date: Fri Oct 3 15:33:19 2008 +0000 rx-prototypes-20081003 LICENSE MIT remove EXT from the function prototype definitions in rx_globals.h because they result in conflicts with the actual function declarations and the prototypes in rx_prototypes.h. commit 82fc110302a7f1b7e7971285777658bdce3735ac Author: Jeffrey Altman Date: Fri Oct 3 15:31:59 2008 +0000 rx-vaargs-20081003 LICENSE MIT define va_list ap where it will be defined on all platforms commit 97176bc65a298a5660fe5fb8ad936ebbc6fbbd5e Author: Jeffrey Altman Date: Fri Oct 3 15:29:37 2008 +0000 windows-client_exp-makefile-20081003 LICENSE MIT define UNICODE commit 0d368d7c0d039d88eaad58dfee51a4b0b086cba9 Author: Jeffrey Altman Date: Fri Oct 3 15:28:07 2008 +0000 windows-update-makefile-20081003 LICENSE MIT add missing reference to cm_nls.obj commit 38800039a7039c3fa832718799667557a5e24f66 Author: Jeffrey Altman Date: Thu Oct 2 13:12:23 2008 +0000 windows-smb_dir_watch_lock-20081003 LICENSE MIT re-order the lock hierarchyfor smb_Dir_Watch_Lock so that the lock does not have to be dropped when sending notifications within smb_NotifyChange(). commit 1e7203940456e783aad215e939c04ed01dd45599 Author: Jeffrey Altman Date: Thu Oct 2 12:51:48 2008 +0000 rx-current-packet-double-free-20081003 LICENSE MIT in rxi_WriteProc() make sure that rx_call currentPacket is set to NULL after the rx_packet is added to a queue or passed to rx_freePacket(). Otherwise we will panic when we attempt to call rx_freePacket twice on the same packet. commit 6acd68f0e88ffa40891be4b908b70af784b397a2 Author: Simon Wilkinson Date: Fri Sep 26 11:16:36 2008 +0000 linux-nfstrans-libafs-tree-20080926 LICENSE IPL10 add missing files needed for nfs variants commit 3853c326155d58613bb1711a10123ac88acce002 Author: Simon Wilkinson Date: Fri Sep 26 09:23:48 2008 +0000 disconn-prototypes-20080926 LICENSE IPL10 add a prototype we need for disconnected commit 3f11790f6ab999be828fb0868b64ea00b98a5ea4 Author: Simon Wilkinson Date: Thu Sep 25 22:40:25 2008 +0000 pthread-ubik-volser-stupidity-20080925 LICENSE IPL10 make volserver build again for not pthreaded ubik commit 3a5e912230fd09c72c1a27d7f7d4e4ac78f9323b Author: Simon Wilkinson Date: Thu Sep 25 21:19:33 2008 +0000 rx-dpf-clarify-20080924 LICENSE IPL10 rework dpf macro slightly so there are no trailing ; issues ddddddddddddd AUTHOR LICENSE IPL10 commit 8b50c9d9e3d181f749d0982f57410a5b4906627c Author: Jeffrey Altman Date: Thu Sep 25 21:17:22 2008 +0000 rx-clear-queues-correctly-20080925 LICENSE IPL10 don't potentially leak packets by leaving them behind and initing queues; in fact, if you are cleaning up there is no need to init queues anyway. commit b84da5849261867b201646e957c014e933a2c17f Author: Jeffrey Altman Date: Thu Sep 25 20:54:44 2008 +0000 rx-packet-allocation-debug-20080925 LICENSE IPL10 add field to track allocated packets commit 230dcebcd61064cc9aab6d20d34ff866a5c575ea Author: Jeffrey Altman Date: Thu Sep 25 20:34:41 2008 +0000 rx-change-packet-allocation-calculation-20080925 LICENSE IPL10 don't alloc ourselves to death; try harder to manage growth commit 559ea99b1e6e6e82ec6a77541ef9844ccc764de8 Author: Jeffrey Altman Date: Thu Sep 25 19:59:33 2008 +0000 rx-flag-all-packets-20080925 LICENSE IPL10 flag packets for all queues, and when they are currentPacket somewhere commit 939e070c869b46abc707bbd916d4dfbe1e66a55e Author: Jeffrey Altman Date: Thu Sep 25 18:26:23 2008 +0000 rx-global-lock-macro-correction-20080925 LICENSE IPL10 refer to the same macro everyone else does commit a72eea6bb1758678d25528cd1ab9b439ade2f844 Author: Jeffrey Altman Date: Thu Sep 25 18:21:15 2008 +0000 rx-clear-queues-correctly-20080925 LICENSE IPL10 don't potentially leak packets by leaving them behind and initing queues; in fact, if you are cleaning up there is no need to init queues anyway. commit 7a4041f9404ff27f3e446d7b523086e0938dc6b9 Author: Jeffrey Altman Date: Thu Sep 25 18:15:41 2008 +0000 rename-rx-stats-20080925 LICENSE IPL10 avoid using the same name for the struct and the global so the windows debugger works usefully ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 avoid using the same name for the struct and the global so the windows debugger works usefully ==================== LICENSE IPL10 avoid using the same name for the struct and the global so the windows debugger works usefully commit 883683fc317c5196f2eea1c1baed3b510771f001 Author: Jeffrey Altman Date: Thu Sep 25 18:06:24 2008 +0000 rx-readproc32-avoid-losing-currentpacket-20080925 LICENSE IPL10 when currentPacket is empty, avoid leaking it and instead free and NULL it commit eb875d30340a67af78638cf7f395dfe14c0ed405 Author: Daria Phoebe Brashear Date: Thu Sep 25 17:59:52 2008 +0000 ah-verbatim-section-tweak-20080925 LICENSE IPL10 remove PACKAGE and VERSION commit 9d09de799b6efc1a62e0cf28f1b033fd4132b2e1 Author: Daria Phoebe Brashear Date: Thu Sep 25 15:41:02 2008 +0000 acfooter-inline-20080925 LICENSE IPL10 based on work by mdw@umich.edu commit 8871c545e3b6785b9f10a5b173c4701813269eae Author: Jeffrey Altman Date: Thu Sep 25 13:29:50 2008 +0000 rx-windows-mutex-is-mine-lwp-20080925 LICENSE MIT mutex is mine for lwp on windows commit 3be628e8fc34c2a047187ce3852c56734f9cfc0a Author: Jeffrey Altman Date: Thu Sep 25 13:04:46 2008 +0000 rx-user-prototype-20080925 LICENSE MIT fix prototype for rx_getAllAddr() on Windows commit ec6dcda473f4699454b3870994f147799044fb80 Author: Jeffrey Altman Date: Thu Sep 25 12:58:45 2008 +0000 rx-prototypes-20080925 LICENSE MIT fix errors introduced in rx-prototypes-20080924 on Windows commit db15c2f1cb6cf02ddf79e3539b6f202c439b92e0 Author: Jeffrey Altman Date: Thu Sep 25 12:49:10 2008 +0000 rx-windows-mutex-is-mine-20080925 LICENSE MIT Add MUTEX_IS_MINE for Windows commit 9d63160cccf88d554e47e4bed8e3bbe26f14f8c2 Author: Matt Benjamin Date: Thu Sep 25 12:42:02 2008 +0000 bypasscache-20080922 LICENSE IPL10 add cache bypass support (currently linux only) commit 84b423e932e05bd6ffb64729900f518091f26ef1 Author: Daria Phoebe Brashear Date: Thu Sep 25 10:02:23 2008 +0000 disconnected-fix-ifdefing-20080925 LICENSE IPL10 make disconnected code not be compiled in (and break) when you don't have it enabled commit b5a6e4bf36dbb2099f17318ae09ff38a25687c5f Author: Max Cohan Date: Thu Sep 25 09:57:39 2008 +0000 dafs-vol-offline-status-20080925 LICENSE IPL10 FIXES 117499 This patch makes several alterations to the DAFS volserver. The two major changes are: * a potential information leak whereby random heap contents could be exported over the four listvolume rpc variants is corrected * volume online/offline reporting correctly reports in several additional corner cases (see the comments in FillVolInfo() in src/volser/volprocs.c for the complete list of cases): VOL_STATE_SALVSYNC_REQ: exclusive state while a fileserver is busy requesting a demand salvage over the SALVSYNC protocol V_needsSalvaged(): volume disk header field which is asserted when the fileserver detects that a volume needs to be salvaged pending volume operation with command code FSYNC_VOL_OFF: this command code indicates that a volume utility requires exclusive access to the volume pending volume operation and VVolOpLeaveOnline_r returned false: this indicates that a volume operation is in-progress, and the internal function VVolOpLeaveOnline_r has decided that the volume cannot be served concurrently with this volume transaction commit 1659861640035f5405429194e72665839cff3720 Author: Steven Jenkins Date: Thu Sep 25 08:50:01 2008 +0000 dafs-drop-volheaders-20080925 LICENSE IPL10 FIXES 117470 Under certain demand salvage scenarios, it is possible for a stale header to remain cached with the needsSalvaged flag asserted. Although this will not affect clients accessing the volume over afsint, it is an issue for volser clients. VAttachVolumeByName in volser will always attempt to pull the header over FSSYNC before doing a disk read, under the assumption that a cached entry in the fileserver will be more current than what is on disk. This patch causes the fileserver to aggresively invalidate disk header cache entries when a salvage is in-progress. commit f52f24d6f0027be06d444c1dd7e0d35163b16ef6 Author: Jeffrey Altman Date: Wed Sep 24 23:47:59 2008 +0000 windows-remove-entraneous-commit-20080924 LICENSE MIT remove extraneous commit. maybe later. commit dd05bd3ba7be90a6348b144eb1c0a6ac1c5f43ba Author: Jeffrey Altman Date: Wed Sep 24 23:40:44 2008 +0000 windows-vlserver-updates-20080924 LICENSE MIT if a vlserver returns a ubik error, skip the server and retry commit 8aa9d07e35c132ba5bbc1704fc9c0ba289b277fd Author: Simon Wilkinson Date: Wed Sep 24 22:38:19 2008 +0000 rx-varargs-20080924 LICENSE IPL10 make rx use varargs instead of a large fixed set of parms commit 17d45aa8843c6608d6f98e5defbf0db5aefce66b Author: Simon Wilkinson Date: Wed Sep 24 22:36:29 2008 +0000 rx-prototypes-20080924 LICENSE IPL10 cut down by a few thousand the warnings we get commit af4d05c3a44d5b51dd6ae48e79c135af7efc530f Author: Simon Wilkinson Date: Wed Sep 24 22:34:19 2008 +0000 generic-inline-20080924 LICENSE IPL10 move static_inline macro to generic location commit 2d5987ea2bd96285899f1e5a141dcdaed8008e7e Author: Simon Wilkinson Date: Wed Sep 24 22:31:54 2008 +0000 rx-dpf-clarify-20080924 LICENSE IPL10 rework dpf macro slightly so there are no trailing ; issues commit 433afd4779b077a1d0f4b842335e38625e124dcc Author: Dragos Tatulea Date: Mon Sep 22 14:36:16 2008 +0000 disconnected-rw-20080922 LICENSE IPL10 FIXES 114605 114606 114607 add read-write disconnected support commit 41d5a5f7e30b5933408394db6aa107b8de966d33 Author: Daria Phoebe Brashear Date: Sun Sep 21 14:03:20 2008 +0000 macos-panic-decoder-format-fix-20080921 LICENSE IPL10 handle new panic format commit 1f686941197c32734acd2531a911b8e5e43cc94e Author: Asanka Herath Date: Tue Sep 16 12:45:22 2008 +0000 windows-local-dir-updates-20080916 LICENSE MIT When a local directory update occurs to the directory pages stored in the dcache, there is no guarrantee that the same modifications will be made to the cached pages as are being made by the file server. In the situation that one or more of the cached pages are recycled, it is not permissible to obtain the missing pages from the file server without first invalidating the rest of the cached pages. This is necessary to prevent mixing of incompatible data representations. Define a new flag CM_SCACHEFLAG_LOCAL which is used to indicate that dcache entries were locally modified even though they are not dirty. As the previous code could have corrupted the contents of the dcache, bump CM_CONFIG_DATA_VERSION in order to force the rebuilding of the cache. Add error CM_ERROR_NOTINCACHE to indicate that a requested directory page is not present in the cache and will not be created on the fly. Prefetch all dcache entries for directories and ensure that a consistent set is being used. commit c4117f6f07b92fcc3a135badb48099a01ba41fe2 Author: Asanka Herath Date: Tue Sep 16 12:32:38 2008 +0000 windows-dir-search-star-dot-pattern-20080916 LICENSE MIT Replicate the FAT and NTFS behavior that the "*." pattern should match all files without an extension. commit 414312a72a9b1f0dd64ba3bfe97865dcc8cd80e3 Author: Jeffrey Altman Date: Tue Sep 16 12:26:45 2008 +0000 windows-lock-order-20080916 LICENSE MIT do not violate lock order when freeing server reference lists commit 2d709220d53fe9c5da23e2dbb32764fd3cbfea48 Author: Jeffrey Altman Date: Sat Sep 13 14:51:16 2008 +0000 windows-byte-range-locks-20080913 LICENSE MIT Replace the int64 key with a struct because process ids on 64-bit Windows can be 64-bit when obtained through the redirector interface. commit 1456a67c5ca024c523e0fc3edcba720780d4be9e Author: Jeffrey Altman Date: Sat Sep 13 05:20:02 2008 +0000 windows-vnovol-20080912 LICENSE MIT The cm_serverRef_t list reference counts were undercounting and prematurely freeing the server lists for volumes that experienced VNOVOL and VMOVED errors. cm_Analyze() must release the server list before forcibly updating the volume location info. Otherwise, the list that gets freed is the old one concatenated with the new one. Add more trace messages. commit fd55471b57bce441454d7b3c72c7be6a66aad65d Author: Jeffrey Altman Date: Fri Sep 12 15:32:23 2008 +0000 windows-service-procs-20080912 LICENSE MIT if we are going to use hot threads it would be useful if there were some additional server threads available to become listeners as needed. commit 11b45ad09b7d257a476ddb57e48133ecf88375f7 Author: Simon Wilkinson Date: Fri Sep 12 14:07:31 2008 +0000 redhat-mockbuild-dksm-20080912 LICENSE IPL10 make mockbuild do the dkms rpms also commit 7ae4174d95a9d90e16f0ddc66648741a119339d2 Author: Asanka Herath Date: Fri Sep 12 05:08:00 2008 +0000 windows-dir-new-pages-20080911 LICENSE MIT A small patch to permit the directory package to allocate additional directory pages when adding new entries that do not fit in the pages that were obtained from the file server. commit 5ea02ad1e2bdb98bea27e11c1372f90d1940de17 Author: Jeffrey Altman Date: Thu Sep 11 18:24:38 2008 +0000 windows-vnovol-20080911 LICENSE MIT Modify MSG_SERVER_REPORTS_VNOVOL to mention that the volume may have been moved or deleted. In cm_Analyze(), do not call cm_ForceUpdateVolume() or force a retry when processing CM_ERROR_NOSUCHVOLUME. This CM error value is the result of a VNOVOL already being processed which would have forced the update. When a VMOVED or VNOVOL error is received, remove the volume id from the server's volume list. If cm_ForceUpdateVolume() returns a failure, do not retry if a VMOVED or VNOVOL error was received. Make sure that if a cm_serverRef_t object is marked srv_deleted that its references not be used. Now that cm_ForceUpdateVolume() is being called only when processing VMOVED and VNOVOL errors, permit it to call cm_UpdateVolumeLocation() immediately. Refactor cm_CheckOfflineVolume() to reduce code duplication. commit 186f1e97d0c15ead6bddae8697161a47ce9a80e4 Author: Jeffrey Altman Date: Thu Sep 11 18:09:34 2008 +0000 windows-flush-btrees-20080911 LICENSE MIT fs flushall, fs flushvolume, and fs flush should tear down directory B+ trees so that when the data buffers are re-read from the file server with the same data version, the B+ trees will be rebuilt. commit d85bdb4c9f9ddf7d287072a3d12e65423e551f40 Author: Jeffrey Altman Date: Thu Sep 11 18:03:52 2008 +0000 windows-cell-list-validation-20080911 LICENSE MIT correct cell list validation now that the free cell list exists commit 8e1b48ad0ab7f3790729ea0feb25256b3a9da709 Author: Jeffrey Altman Date: Thu Sep 11 17:59:18 2008 +0000 windows-rx-jumbo-20080911 LICENSE MIT Disable rx jumbo by default. Permit rx jumbo to be enabled with registry value "RxJumbo" set to 1 or "RxNoJumbo" set to 0. RxNoJumbo has priority. commit 59c1c22747b8aaf1da31f97d8a3ea178a4f7adee Author: Jeffrey Altman Date: Thu Sep 11 17:49:53 2008 +0000 windows-multi-check-server-20080911 LICENSE MIT Permit rx_multi check server to be toggled via a registry setting at checked prior to each invocation. "MultiCheckServers". Default is on. Remove volume status updates for vldb server status changes. commit f51e8e7be5b16f84f0603a0e8bc1be4ffafac617 Author: Daria Phoebe Brashear Date: Sat Sep 6 12:58:39 2008 +0000 aix-export-build-fix-20080906 LICENSE IPL10 add missing ; to case actions commit 21006bb844a3a93c7228b65ee4543ff2b8233761 Author: Daria Phoebe Brashear Date: Sat Sep 6 12:52:59 2008 +0000 oops-sias-dead-20080906 LICENSE IPL10 while we should try all the auth modules, sia is tru64 only, so, no... commit 4119d9742b3e17fac6a3f1f7ab64ec829f085498 Author: Daria Phoebe Brashear Date: Sat Sep 6 12:51:01 2008 +0000 syncserv-syncvldb-manpages-dryrun-20080906 LICENSE IPL10 make syncserv and syncvldb manpages reflect dryrun option commit 0860d5b5b17ef5f58592d739424a4cca8dd91bb5 Author: Jeffrey Altman Date: Sat Sep 6 05:24:31 2008 +0000 windows-vnovol-20080905 LICENSE MIT force a volume location update upon receipt of a VNOVOL error in case the volume was moved. VMOVED is only returned by the file server if the volume is in the process of being moved. Once it has been deleted the file server returns VNOVOL. commit 5c2406070fc08c5fee0a09a1aa25e16af123b81a Author: Daria Phoebe Brashear Date: Fri Sep 5 17:57:33 2008 +0000 fileserver-sticky-bit-admin-only-20080905 LICENSE IPL10 do restrict the sticky bit to admins. commit beef54e70cc86672b9971288fe4034829186aa41 Author: Jeffrey Altman Date: Thu Sep 4 21:07:40 2008 +0000 windows-smb-volname-20080904 LICENSE MIT Advertise the correct length for the volume name. Do not include the NUL. Add more create option values as #defines. commit 9689e78d716422970a0ae3ad89d36acaa517072e Author: Daria Phoebe Brashear Date: Thu Sep 4 20:41:14 2008 +0000 fileserver-sticky-bit-not-admin-only-20080904 LICENSE IPL10 don't restrict the sticky bit to admins. commit bbd713ad3f403c9137e01797f576f5dbd04a0f08 Author: Jeffrey Altman Date: Wed Sep 3 22:03:54 2008 +0000 windows-cell-locking-20080903 LICENSE MIT fix a lock order issue and protect the timeout and flags field of cm_cell_t with the mutex instead of the global lock. commit 441cc643e027ab98ed14ab486ec077bbbd0c0d4f Author: Jeffrey Altman Date: Wed Sep 3 21:37:00 2008 +0000 windows-smb-lock-order-20080903 LICENSE MIT another lock order violation to fix commit 539535cf679d6e70f34b80b74c127efae1f0bba2 Author: Niklas Edmundsson Date: Wed Sep 3 19:26:29 2008 +0000 aix61-initial-support-20080903 LICENSE IPL10 FIXES 113638 aix 6.1 support commit 7f4e0dfc3ef1464c8d8b422bf00915fa4538090c Author: Jeffrey Altman Date: Wed Sep 3 19:07:11 2008 +0000 rx-mutex-init-once-20080903 LICENSE IPL10 FIXES 114555 because rx_Finalize doesn't clean up, we end up reiniting mutexes. use pthread_once when not in the kernel. (kernel does not now call rx_Finalize, ever) commit 995ee981fd2631d6e1e45311cee0a6d58f4a56be Author: Daria Phoebe Brashear Date: Wed Sep 3 17:59:08 2008 +0000 linux26-libafs-makefileproto-trust-kbuild-system-no-really-20080903 LICENSE IPL10 if we are really not using COMMON_KERN_CFLAGS and being trusting, let's do so. commit 9803e84e63c28e87c76e6f4e77343fec4ef4dcf4 Author: Jeffrey Altman Date: Tue Sep 2 23:34:41 2008 +0000 windows-afsd-dns-env-20080902 LICENSE MIT Fix the conditionals so that the right thing happens if AFS_AFSDB_ENV is not defined. commit 8bf17e7c813f9b2aa8a953a8d0251322ee970d2c Author: Jeffrey Altman Date: Tue Sep 2 22:25:25 2008 +0000 windows-fs-setcrypt-auth-20080902 LICENSE MIT fix parsing and display of fs setcrypt auth commit 84e10d582abdf65a5354b1c4b41d7e2ecad532f8 Author: Jeffrey Altman Date: Tue Sep 2 22:20:58 2008 +0000 smb-string-conversion-20080902 LICENSE MIT more cases where -1 should be passed in as opposed to the strlen value when converting between char and wchar forms commit d94b9a78188357f87fa569ec7738d4e69ff05faa Author: Jeffrey Altman Date: Tue Sep 2 22:15:36 2008 +0000 windows-rxkad-auth-20080902 LICENSE MIT Add ability for users to select rxkad auth only mode. "fs setcrypt auth". commit 21abc0e0b51cd3fd014b06b187d497996058ffe4 Author: Jeffrey Altman Date: Tue Sep 2 22:08:24 2008 +0000 windows-afsd-init-20080902 LICENSE MIT report state of "Rx Jumbo" and "RxExtraPackets" more often commit e31826d3331b8eb1893c627ac55eb299df88995b Author: Jeffrey Altman Date: Tue Sep 2 21:17:42 2008 +0000 windows-cell-free-list-20080902 LICENSE MIT add a free list to the cm_cell_t structure. if during cm_GetCellGen() the cm_SearchCellXXX() calls fail, store the allocated cm_cell_t object on a free list so that it can be reused for the next request. commit 829ff4e54f055de1dc26a1508d2abf4a3c72ff75 Author: Jeffrey Altman Date: Tue Sep 2 17:34:00 2008 +0000 windows-cell-alloc-reversed-20080902 LICENSE MIT The approach taken in windows-cell-alloc-20080902 won't work. commit ef64f50fb9f477a0acbe1223ee2b0c9981f9324e Author: Jeffrey Altman Date: Tue Sep 2 16:20:13 2008 +0000 windows-cell-alloc-20080902 LICENSE MIT Perform the initial cm_SearchCellXXX call using a temporary cm_cell_t object in case the search fails. commit a653057ff453a0d340c8153615aa44ae1679c892 Author: Jeffrey Altman Date: Mon Sep 1 13:35:42 2008 +0000 windows-smb-free-lsa-response-20080901 LICENSE MIT Whether or not LsaCallAuthenticationPackage succeeds, it may return a response buffer. If it does, free it. commit 83dadab93adde0812f9ae228667683cfcc761f67 Author: Jeffrey Altman Date: Sat Aug 30 15:13:03 2008 +0000 windows-afsd-init-lock-order-validation-20080830 LICENSE MIT Add TransarcAFSDaemon/Parameters key "LockOrderValidation" DWORD to control lock order validation functionality. Defaults to off for release builds and on for checked builds. commit a36596f10ff4d87d75a808cabe4e0e5ec661c5df Author: Jeffrey Altman Date: Sat Aug 30 15:03:27 2008 +0000 windows-lock-order-validation-20080830 LICENSE MIT Add osi_SetLockOrderValidation(int) to permit lock order validation to be turned on and off. Must be executed before the first lock is obtained. commit ccdf50ade371de595abe20f5a6b0ff149ce9ae79 Author: Jeffrey Altman Date: Sat Aug 30 03:08:20 2008 +0000 windows-buf-shutdown-20080829 LICENSE MIT During buf_Shutdown() all dirty buffers should be written to the file server if they can be. commit 2da64d02a2707a3c9220951a30b5cea8464b9ef9 Author: Jeffrey Altman Date: Sat Aug 30 03:04:53 2008 +0000 windows-afsd-shutdown-20080829 LICENSE MIT reorganize the service shutdown order to permit dirty buffers to be flushed to the file server without competition from incoming requests. commit 00fee5efee68f1647fa810dffa7ad991235d01c5 Author: Jeffrey Altman Date: Thu Aug 28 10:45:45 2008 +0000 windows-check-servers-20080828 LICENSE MIT if the server count is zero, don't both trying commit 43eb87a916b87c6037841ea38cde616014d892a8 Author: Jeffrey Altman Date: Thu Aug 28 00:42:26 2008 +0000 windows-check-server-heap-overwrite2-20080827 LICENSE MIT the incorporation of nconns into the foo incremental was a mistake commit e68255c12c444e36b7ca7f1864d964cd3a0bcda8 Author: Jeffrey Altman Date: Wed Aug 27 23:08:06 2008 +0000 windows-check-server-heap-overwrite-20080827 LICENSE MIT Protect against a heap overwrite that could occur is the number of file servers or vldb servers grows while the maximum number of connections is computed and when the connection list is populated. commit 0affa4b86a08c3be9cb4edc4c9f680ae02a2fcd8 Author: Jeffrey Altman Date: Wed Aug 27 23:01:51 2008 +0000 windows-callback-lock-order-20080827 LICENSE MIT do not hold cm_server_t mutex when calling cm_FindVolumeByID because the cm_volume_t lock must be obtained ahead of the cm_server_t mutex commit c50857b05e6636bef864c9418b21d1bf3c63494a Author: Jeffrey Altman Date: Wed Aug 27 13:17:05 2008 +0000 windows-lock-order-20080827 LICENSE MIT do not hold cm_scacheLock while obtaining cm_scache_t->rw commit bef68684fd7bb4e58e621766a0f2abbdfd15af80 Author: Jeffrey Altman Date: Wed Aug 27 12:47:23 2008 +0000 windows-short-names-20080827 LICENSE MIT plus and equal are not valid characters in short names. we replace them with left and right brace in order to minimize the instability in the file names. commit a123bd8ccde0d6baf04401201b1672b19e9778db Author: Matt Benjamin Date: Tue Aug 26 15:59:42 2008 +0000 freebsd-70-client-20080826 LICENSE IPL10 FreeBSD 7.0 client support (and 8.0 support but that's a moving target) commit 4d245c6a19394d54a241bd612016b10d1113ee7b Author: Tom Keiser Date: Tue Aug 26 15:11:28 2008 +0000 studio12-solaris-updates-20080826 LICENSE IPL10 FIXES 113671 update so we build with studio 12 on solaris commit 82c62ae0e3b6366c9cdef0569e5be4637127e586 Author: Daria Phoebe Brashear Date: Tue Aug 26 14:44:31 2008 +0000 linux-rpm-make-dkms-remove-work-20080826 LICENSE IPL10 rpm -e failed because of a typo here when removing our dkms rpm commit e16c4f8a96f0568d5f7155c88f9b877baa500b7d Author: Jeffrey Altman Date: Tue Aug 26 05:55:40 2008 +0000 windows-scache-lock-20080825 LICENSE MIT restore a missing obtain write lock commit e0380d54bad50582b6bc39e2b41e78d72117ec79 Author: Jeffrey Altman Date: Tue Aug 26 05:36:34 2008 +0000 windows-misc-20080825 LICENSE MIT avoid a deadlock in cm_GiveUpAllCallbacks log UAEEXIST / EEXIST in cm_Analyze commit cb455744d49f250c236ab24cdcfffda104ef3774 Author: Jeffrey Altman Date: Tue Aug 26 05:14:14 2008 +0000 windows-client-osi-20080825 LICENSE MIT add more asserts to attempt to catch locks released in threads other than the one that obtained them. commit 12c8abc69030d3368194b148c692215c61b5da9c Author: Daria Phoebe Brashear Date: Mon Aug 25 02:14:39 2008 +0000 server-argument-consistency-and-jumbograms-off-20080824 LICENSE IPL10 FIXES 108703 go through and make servers able to take debug log level on command line; add -jumbo; default to -nojumbo commit a88d12746a9e7e8e79a80c5bcafda449810b4e22 Author: Jeffrey Altman Date: Sun Aug 24 22:45:24 2008 +0000 windows-smb-more-check-open-done-20080824 LICENSE MIT call cm_CheckNTOpenDone() in error conditions as well commit 82741251b1f444a1f18e3b9816f8cadac3e168b5 Author: Jeffrey Altman Date: Sun Aug 24 18:46:23 2008 +0000 windows-prefetch-lock-order-20080824 LICENSE MIT lock order violation between cm_daemonLock and cm_scache_t rw lock commit 24f8b1b4c327c3fb01a575ccb46d5ae6bf7edd36 Author: Jeffrey Altman Date: Sun Aug 24 17:31:28 2008 +0000 windows-smb-locks-20080224 LICENSE MIT smb_dirSearch_t refCount field is protected by smb_globalLock not the smb_dirSearch_t mutex. Do not hold the smb_fid_t mutex across calls to smb_NotifyChange() commit cc48a5a3b4d328127ca56c1a5845ec6cac136548 Author: Jeffrey Altman Date: Sun Aug 24 17:25:57 2008 +0000 windows-check-nt-open-lock-sync-20080224 LICENSE MIT Move cm_SyncOpDone(CM_SCACHESYNC_LOCK) from cm_CheckNTOpen to cm_CheckNTOpenDone. This is necessary to synchronize lock operations. commit 25b819543ea4343216b6a2955396719a49ea042f Author: Jeffrey Altman Date: Fri Aug 22 21:57:53 2008 +0000 windows-callback-shutdown-head-20080801 LICENSE MIT When the cache manager is shutting down, return an error to all callback requests. Otherwise, it is possible for a callback to get stuck waiting for a lock and when the lock clears to be left with nothing but invalid memory addresses to crash on. In the meantime, the file server is waiting for the response. commit 186f707378ce0c04705170743cbc67ff44e1c93f Author: Daria Phoebe Brashear Date: Fri Aug 22 20:26:38 2008 +0000 darwin-fake-afs-bigger-20080822 LICENSE IPL10 FIXES 112564 set up max uint64 "free" in afs so finder isn't dumb. commit ea81e608bae42ea84d7bc85d289bfe6f24d8d383 Author: Daria Phoebe Brashear Date: Fri Aug 22 19:52:44 2008 +0000 analyze-srvr-safety-check-20080822 LICENSE IPL10 FIXES 112681 safety check to make sure a conn's srvr is set before dereferencing it commit ef10390e12ffd697f9eaaacd1d7291e05d16c835 Author: Jeffrey Altman Date: Fri Aug 22 19:06:04 2008 +0000 windows-misc-20080822 LICENSE MIT 1. In multi-threaded applications deadlocking is always a problem. Deadlock avoidance requires a strict adherence to a documented hierarchy. The lock hierarchy for OAFW is described in a file called locks.txt. There are two problems. First, some of the locks are not included in locks.txt. Second, it is nearly impossible given the depth of function calls for any programmer to identify all of the locks that are held at any given time a function is called. This patch implements a new locking order verification mechanism. Each lock is assigned a lock level at initialization. Each thread maintains a queue of held locks. Each time a lock is acquired the queue is checked to ensure that no locks with a higher level than the requested lock has already been acquired. If a violation occurs, the service panics. 2. When the service panics ensure that a minidump will always be generated. 3. Remove unused lock cm_bufGetMutex. 4. The lock order verifier identified approximately a dozen lock order violations that are corrected. 5. A race condition within the function path cm_GetSCache() -> cm_GetNewSCache() -> cm_RecycleSCache() permitted a cm_scache_t object to be issued simultaneously to two threads. This would eventually result in a panic due to the resulting under count. 6. Fix interpretation of the empty string as the ioctl path to mean the current directory. "fs lsm", "symlink list", etc. now return a "not a ..." error instead of "does not exist". 7. Add SMB_STRF_SRCNULTERM flag to smb_ParseStringXXX functions to indicate that the input string is a nul terminated string. Assign it when input strings are nul terminated. 8. The CIFS protocol specification for handling NT_TRANSACT_CREATE does not match the observed behavior. The 'nameLength' is specified in bytes not in characters. Fix the implementation to match. 9. The cm_HaveAccessRights() attempt at deadlock avoidance by calling lock_TryRead() on the parent directory cm_scache_t rw-lock does not avoid the deadlock. Avoid the deadlock by enforcing the lock order of lowest vnode first. Then remove the infinite loop avoidance in cm_SyncOp() that was returning an unwarranted access denied error. commit 46dbd678714110002a36269beca8961e013650ac Author: Daria Phoebe Brashear Date: Fri Aug 22 05:31:32 2008 +0000 rx-allow-jumbogram-disabling-really-20080822 LICENSE IPL10 right now, jumbograms can still be sent when -nojumbo is specified. make the current macro a default and override when we're supposed to. commit a00f706eb67c257af9892557cfb6ad35594144cf Author: Jeffrey Altman Date: Wed Aug 20 20:44:56 2008 +0000 windows-list-symlink-20080820 LICENSE MIT Another casaulty of the Unicode transition, the return value of the ListLink operation was not being convered from wchar to char before it was copied into the output buffer. commit 9488898fdb22e8c999ad4f713bd656caba91fe1c Author: Jeffrey Altman Date: Wed Aug 20 20:41:17 2008 +0000 windows-afsd-service-20080820 LICENSE MIT When afsd_service.exe is not running as a service do not call the Service Manager functions. Doing so causes invalid access exceptions to be thrown in the kernel and can corrupt the heap. commit 651f25b9c84b57cb88e2066c91c5234399673164 Author: Daria Phoebe Brashear Date: Wed Aug 20 19:45:05 2008 +0000 redhat-spec-default-build-authlibs-20080820 LICENSE IPL10 FIXES 101879 make build_authlibs default usefully commit 03982bd54839f81cdc691ad83e946fac8f8789b7 Author: Daria Phoebe Brashear Date: Sat Aug 16 22:37:29 2008 +0000 namei-by-default-on-sol10-20080816 LICENSE IPL10 default to namei, not inode, on solaris 10 except by request commit b080c5d82ba5c7641afeb6836961cacf283e4902 Author: Dan Hyde Date: Sat Aug 16 21:07:30 2008 +0000 volser-initialize-volume-updatedate-20080816 LICENSE IPL10 FIXES 110943 right now this isn't set until a vnode update happens. technically creating the root directory is an update, so let's set it to now. commit 8190e75b38a7cd136ce70050fdd71b1d62888055 Author: Tracy Di Marco White Date: Sat Aug 16 20:46:44 2008 +0000 netbsd-sigwait-broken-til-nbsd5-20080816 LICENSE IPL10 FIXES 111404 work around netbsd sigwait brokenness commit d7a5619e5bd8241dd13611a4be37f04f3aa4ed27 Author: Marc Dionne Date: Sat Aug 16 20:42:34 2008 +0000 linux-2-6-27-20080816 LICENSE IPL10 FIXES 111634 add support for 2.6.27, which removes asm/semaphore.h commit 4274e854c58655ae2d1142ec3e08d62aebb07be0 Author: Jeffrey Altman Date: Sat Aug 16 18:39:33 2008 +0000 windows-build-20080815 LICENSE MIT remove duplicate rules for man-pages commit dbd98583d35d6aea57cb4d9c46790479dc1a137e Author: Jeffrey Altman Date: Sat Aug 16 18:00:50 2008 +0000 windows-rx-extra-packets-20080816 LICENSE MIT Make the default number of pre-allocated rx packets equal to the number of threads times the rx window size. commit ffbee95174ad1fffecff2889e80e168cea60a531 Author: Jeffrey Altman Date: Sat Aug 16 17:48:17 2008 +0000 windows-pioctl-getdrivetype-20080816 LICENSE MIT Use GetDriveType() to check if the current path is a local disk. If it is, fail the pioctl attempt immediately. This should avoid the reported 30 second delay in the AFS Shell Extension. commit 20d38bc268b13258e2358591756824d712cdb403 Author: Jeffrey Altman Date: Fri Aug 15 21:17:02 2008 +0000 windows-freelance-deadlock-20080815 LICENSE MIT avoid a deadlock in cm_reInitLockMountPoints() and make the function useful again by actually using the index value in the construction of the FIDs commit aa011cc0d8bbff96d5772d0069520b41826c3857 Author: Jeffrey Altman Date: Fri Aug 15 00:37:20 2008 +0000 windows-shlibafsauthent-20080814 LICENSE MIT export pioctl_utf8 commit 357223aefd86c007987333b2a8859faa33f21424 Author: Jeffrey Altman Date: Thu Aug 14 21:22:49 2008 +0000 windows-server-dereference-null-two-20080814 LICENSE MIT protect against a potential null pointer dereference of a cm_server_t object commit 90fe95e994efe62175959aab95c276898f1ff54c Author: Jeffrey Altman Date: Thu Aug 14 21:19:34 2008 +0000 windows-server-dereference-null-20080814 LICENSE MIT protect against a null pointer dereference of a cm_server_t object commit f430aee67c4f3d1f3c644f97c30db081d2a9880f Author: Jeffrey Altman Date: Thu Aug 14 18:23:28 2008 +0000 windows-memdump-20080814 LICENSE MIT add locks, waiting lock requests, smb user, smb tid, and cell expiration to the memory dump output (fs memdump) commit 06b5006517c77767a246df2b6d66a344a44cbea1 Author: Jeffrey Altman Date: Thu Aug 14 03:36:43 2008 +0000 windows-free-server-deadlock-20080813 LICENSE MIT avoid a deadloc when freeing servers. cm_serverLock must be released around cm_GCConnections() commit 4e7e66d4dc14513e1beed465fc5180429571921b Author: Jeffrey Altman Date: Thu Aug 14 03:32:54 2008 +0000 windows-search-cell-file-20080813 LICENSE MIT if a cell has been found with addresses and the next cell name is reached before the EOF, return success. If the cell has been found and there are no addresses, return -6 commit 919fb5e14bdcde66218e64cfdd7fecccab67d8f5 Author: Jeffrey Altman Date: Thu Aug 14 03:27:36 2008 +0000 rx-buffer-allocation-corrected-20080813 LICENSE MIT a corrected version of delta rx-buffer-allocation-20080812 commit 844d7e570772ab2bdbfa2d59ac0f48afff37d8b7 Author: Jeffrey Altman Date: Thu Aug 14 03:15:34 2008 +0000 windows-build-man-pages-20080813 LICENSE MIT move building of man pages to installer phase commit 04a25e0a4057b63cf7c700b17b1a6ab28e469547 Author: Daria Phoebe Brashear Date: Thu Aug 14 00:49:15 2008 +0000 nfstrans-extra-protection-20080813 LICENSE IPL10 ensure, at least, that there is a filehandle for everything we check commit e5bf9b91eaf8cb930c6cf70419983901907db84d Author: Rainer Toebbicke Date: Thu Aug 14 00:44:16 2008 +0000 salvager-dont-corrupt-dir-lengths-20080812 LICENSE IPL10 FIXES 111585 make the int64 macros work when the "64 bit" number to fill isn't. use the correct variable type for length in salvager commit 156b13f74d4cc4e42644c9c9d7c63cb42f1d4ae3 Author: Jeffrey Altman Date: Wed Aug 13 15:10:42 2008 +0000 rx-buffer-allocation-pulled-20080813 LICENSE MIT remove delta rx-buffer-allocation-20080812 as it leads to data corruption commit 643a632a38d3a9b0b9d4819abb37e227b5946c47 Author: Jeffrey Altman Date: Tue Aug 12 19:39:59 2008 +0000 rx-buffer-allocation-20080812 LICENSE MIT Prevent rxi_MorePacketsNoLock() from dereferencing a NULL pointer if the requested allocation size cannot be satsified. In that case back off the number of packets until osi_Alloc() succeeds or panic if no packets can be allocated at all. In AllocPacketBufs() do not transfer more than rx_TSFPQGlobSize packets. Modify RX_TS_FPQ_GTOL2() macro to protect against transfering more packets that are actually free. Modify RX_TS_FPQ_COMPUTE_LIMITS() to enforce a rx_TSFPQGlobSize maximum value of 64 packets to prevent ever increasing allocation sizes within AllocPacketBufs() commit c19c4b3ebb9460eb373081fcbfcca6b7ae1f1495 Author: Jeffrey Altman Date: Tue Aug 12 05:29:52 2008 +0000 windows-stack-overruns-20080811 LICENSE MIT prevent stack overruns commit 1f6c7ca14a10ec476dc6720c264a004bc2c9d955 Author: Jeffrey Altman Date: Tue Aug 12 00:54:48 2008 +0000 windows-fs-mkmount-20080811 LICENSE MIT fix volume name validity test. strip trailing '.' from volume name commit eaf2843a81839d1431280fa54f05c69135205e5c Author: Jeffrey Altman Date: Sun Aug 10 01:00:59 2008 +0000 windows-make-nls-win2000-compat-20080809 LICENSE MIT make the nls module compatible with windows 2000. cannot use LOCALE_INVARIANT instead must lie and say everyone is US English. windows 2000 does not have normalization functions and now doesn't have case insensitive string comparison functions either for languages other than English. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE MIT not all applications that link to cm_nls perform initialization. Call initialization if it has not already been done explicitly. commit d5af3b4236f72349551ce326d615d2e74d993c97 Author: Jeffrey Altman Date: Sat Aug 9 23:31:09 2008 +0000 windows-freelance-deadlock-20080809 LICENSE MIT avoid a deadlock between cm_freelanceLock and cm_scacheLock commit cd316ff51c12b8c6dd5c09384bbe1d700735fe3c Author: Jeffrey Altman Date: Sat Aug 9 05:52:36 2008 +0000 windows-rx-udpbufsize-20080809 LICENSE MIT Set UdpBufSize to 256K. Add RxUdpBufSize registry value to permit runtime configuration. commit 4eea9caac3cf260cf99ec67c30e31dd2d8c623d9 Author: Jeffrey Altman Date: Sat Aug 9 05:48:10 2008 +0000 windows-smb-skip-nuls-20080809 LICENSE MIT rename SMB_STF_IGNORENULL to SMB_STF_IGNORENUL apply SMB_STR_IGNORENUL when copying length tagged strings into the smb response packets. commit 423cdb708f21dcbc28f6563c7c49069f6a6ec155 Author: Jeffrey Altman Date: Fri Aug 8 17:43:37 2008 +0000 windows-lock-corrections-20080808 LICENSE MIT Derrick helped identify a few locations where rw or mx locks where not properly being tracked. As a result there were some locations in which an assertion could be thrown due to releasing the wrong type of lock. Also added lock_AssertXXX calls to some locations to ensure that the correct lock type is being held when the calls are made. volume location updates, cm_SyncOp, cm_SyncOpDone. commit 425d6e2e159798e8d6a6d092d780edef6b3a2220 Author: Jeffrey Altman Date: Thu Aug 7 14:46:11 2008 +0000 windows-max-cell-name-20080807 LICENSE MIT Anywhere cm_GetCell_Gen() is called CELL_MAXNAMELEN must be used otherwise there will be a stack overflow error. commit 467ac5e32d5d57056e6e19a47bb69b9d8ac0ba2d Author: Jeffrey Altman Date: Thu Aug 7 06:35:36 2008 +0000 windows-misc-20080806 LICENSE MIT Return CM_ERROR_READONLY if the caller wants PRSFS_DELETE and the volume is readonly. In cm_CheckNTDelete() do not call cm_SyncOpDone if cm_SyncOp failed Do not force the use of fake directory data if the user does not have PRSFS_READ on the directory. Let the bulkstatus call take place now that it is actually being used efficiently. In ApplyV3SearchDirPatches, use cm_SyncOp(CM_SCACHESYNC_GETSTATUS) to obtain the status info for Freelance entries instead of the bulkstatus call. Fix the truncation of 8.3 names in directory search responses. commit d0ed34baa0e23b7bb24ea009004a527331baf275 Author: Jeffrey Altman Date: Wed Aug 6 21:25:43 2008 +0000 windows-cell-name-length-consistency-two-20080806 LICENSE MIT fix what I broke commit d44f1a17e4e1831ef39b8f5767a2ca7aad870fb2 Author: Jeffrey Altman Date: Wed Aug 6 06:10:14 2008 +0000 windows-afssw-20080806 LICENSE MIT prevent buffer underrun and overrun errors commit 255d055e6123bcce76ef9e531a0c4963da4f0fef Author: Jeffrey Altman Date: Wed Aug 6 06:09:34 2008 +0000 windows-cell-name-length-consistency-20080806 LICENSE MIT make all cell name lengths consistent so that safer string copy/cat functions can be used to prevent buffer overruns commit aab4b2b32f933daf48cc138c0eb5d8cf5a2023b5 Author: Jeffrey Altman Date: Tue Aug 5 16:45:35 2008 +0000 windows-getaccessrights-20080805 LICENSE MIT Do not permit GetAccessRights() to be called multiple times within cm_SyncOp for the same rights check. If the GetAccessRights() succeeded and in the next loop the rights check fails, the user simply doesn't have the rights. Move a call to cm_SyncOpDone(FETCHSTATUS) from GetBuffer() to MergeStatus(). Anytime an RPC completes successfully we get updated status info for the object. Might as well allow threads waiting for status info to us it. commit a021b79556f7918598fc48bcd8742429f5620cc9 Author: Jeffrey Altman Date: Sun Aug 3 04:28:32 2008 +0000 windows-ioctl-make-submount-20080802 LICENSE MIT FIXES 109951 Restore the ascii version of cm_NormalizeAfsPathAscii() so that it can be used by cm_IoctlMakeSubmount(). commit 1fbbaaa8781d0cbdb484ea6c731622e79325fa2d Author: Jeffrey Altman Date: Sat Aug 2 20:46:14 2008 +0000 windows-afsconfig-header-20080802 LICENSE MIT Enable Bos Restricted mode for Windows commit cc8e39872e1663599c1172573c75cd35b839a370 Author: Jeffrey Altman Date: Tue Aug 5 15:29:14 2008 +0000 windows-smb-dir-search-20080802 LICENSE MIT Apply the bulk stat improvements to smb_ApplyDirListPatches() and smb_ReceiveCoreSearchDir() for consistency even though smb_ReceiveCoreSearchDir() is no longer called by any of the platforms we support. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE MIT Only return 50 items at a time to the caller. Do not apply patches based on buffer boundaries. Instead apply patches when AFSCBMAX entries are ready to be processed in order to minimize the number of RPCs. commit b9e0ab9f5bc1d45fa5cb6ca9342d06ea29119149 Author: Jeffrey Altman Date: Sat Aug 2 05:56:57 2008 +0000 windows-smb-dir-search-20080801 LICENSE MIT minimize the number of RPCs sent to the file server. only request status for objects that we are actually reporting on and only if we do not already have status for the object and then make sure that we return as much as we can at once but not so much that it exceeds the RDR timeout commit 807a9aa7b20ab4f457f5235513a5ab15828d6e5c Author: Jeffrey Altman Date: Fri Aug 1 22:35:06 2008 +0000 windows-scache-deadlock-20080801 LICENSE MIT do not recycle a deleted scache object unless the refcount is 0 commit 0c0b89e04627cc43ab3e31c607be4470292a1d0a Author: Jeffrey Altman Date: Fri Aug 1 22:01:49 2008 +0000 windows-smb-dumpvars-20080801 LICENSE MIT When dumping the smb data structs, report flags in hex and paths are now wchar_t strings. commit 005077a7e4fdc9ca8bedb357050875df8f1aa898 Author: Jeffrey Altman Date: Fri Aug 1 14:36:54 2008 +0000 windows-smb-warnings-20080801 LICENSE MIT cast away a number of compile time data size warnings commit 1f7ab13b6fffcf236927c7e3173d6e59d1521f4c Author: Jeffrey Altman Date: Fri Aug 1 14:30:21 2008 +0000 windows-smb-vc-refcount-debugging-20080801 LICENSE MIT define DEBUG_SMB_REFCOUNT in smb.h to activate refcount debugging versions of the functions that log the file and line number as well as object and refcount. This is for use in debugging refcount leaks. rename GetPacket and GetNCB to smb_GetPacket and smb_GetNCB, etc., to enforce the name space. Do not confuse with similar Win32 API functions. restructure some code that refers to smb_vc_t references in order to clarify where the refcount is dropped. commit ebf66eff4b0e68e06c26522ae29e33a5b6fb3298 Author: Jeffrey Altman Date: Fri Aug 1 14:14:50 2008 +0000 windows-smb-dead-vc-gc-on-head-20080801 LICENSE MIT deltas windows-smb-dead-vc-gc-20080627 and windows-dead-vc-cleanup-take-two-20080703 attempted to protect against an infinite recursion when cleaning up dead smb virtual circuits. they failed to address the incrementing of the vc refcount in smb_ReleaseVCInternal when it is about to call smb_CleanupDeadVC. If the vc is already being cleaned, then smb_ReleaseVCInternal should not increment the refCount and should not call smb_CleanupDeadVC. (This commit was committed incorrectly to the 1-5 branch first. delta name on the head was modified to avoid the delta name collision.) commit c38036761eef51f26b085ca8bc69f4a0a65a2f4a Author: Jeffrey Altman Date: Fri Aug 1 05:22:08 2008 +0000 windows-osilog-20080731 LICENSE MIT increase the number of parms from 4 to 5 for osi_Log commit 91d1501be5e8ca0f957de2897c4c4ea0782dfbc3 Author: Jeffrey Altman Date: Thu Jul 31 18:01:12 2008 +0000 windows-ioctl-create-mount-point-validate-volume-20080731 LICENSE MIT validate the specified volume to make sure it exists before permitting the mount point to be created. This will catch many instances in which the user swaps the parameters to "fs mkmount". commit 14e516f1d5304a1b00c40321124a6b2067b977f2 Author: Jeffrey Altman Date: Thu Jul 31 13:43:00 2008 +0000 windows-wix-custom-20080731 LICENSE MIT in c++, arrays allocated with new[] must be deallocated with delete[] commit a46b1879dc187b44c48691946479d1e9599abcfb Author: Jeffrey Altman Date: Thu Jul 31 13:37:29 2008 +0000 windows-handle-vl_badname-20080731 LICENSE MIT Process VL_BADNAME so that when a user creates an mount point with an invalid volume name we will do something sane. commit b61ac7dc6ffb05b03011fef8cfdd5e72886fb705 Author: Jeffrey Altman Date: Thu Jul 31 05:45:44 2008 +0000 windows-volume-recycling-race-condition-20080731 LICENSE MIT When recycling cm_volume_t objects, avoid a race condition that could result in the same cm_volume_t object being recycling simultaneously in two threads. The end result would be a reference count miscount and an undercount assertion being thrown. commit aa24715f068dad4dfdc2140bf8f793297ba10ac9 Author: Jeffrey Altman Date: Thu Jul 31 05:39:29 2008 +0000 windows-buf-clean-error-handling-20080731 LICENSE MIT When an error such as access denied, out of space, out of quota, invalid fid, etc. is received while writing a dirty buffer to the file server, apply that error code to all outstanding dirty buffers immediately instead of attempting to write each buffer to the file server only to obtain the same error. commit 24fd571c5210764212e0de30a474f252b46353b3 Author: Jeffrey Altman Date: Thu Jul 31 05:32:57 2008 +0000 windows-remove-unnecessary-malloc-include-20080731 LICENSE MIT remove unnecessary #include commit 8c22d2388af3a2e99aeb70fdb81dbfa158413840 Author: Jeffrey Altman Date: Wed Jul 30 23:16:24 2008 +0000 windows-stat-resource-files-20080730 LICENSE MIT Add version resource info to xstat_cm_test.exe and xstat_fs_test.exe commit 34923419b3d680005375b1598c09b20ec49bcb1e Author: Jeffrey Altman Date: Wed Jul 30 21:00:21 2008 +0000 viced-write-perm-grants-read-lock-20080730 LICENSE MIT Remove extra return(EACCES) added by delta viced-write-perm-grants-read-lock-20070423 on head and 1.5 branch. commit 8cce5d2a61227da8623dcd08b11d997c66815cf1 Author: Jeffrey Altman Date: Tue Jul 29 03:54:34 2008 +0000 windows-buf-overquota-20080728 LICENSE MIT propagate overquota errors through buf_Write() and cm_FSync(). commit b45b059ed9772642489d56372cbd74db4f0cfc02 Author: Jeffrey Altman Date: Mon Jul 28 23:57:24 2008 +0000 windows-large-files-20080728 LICENSE MIT as part of the restructuring of code to separate the smb layer from the cm layer, large file support was broken. Define AFS_LARGEFILES in the right place so that it will be used in the cm. commit 674e94b29c09cf87496d74a01ebeada14413daac Author: Hartmut Reuter Date: Mon Jul 28 13:58:30 2008 +0000 salvager-avoid-directory-issues-and-mark-volumes-busy-20080728 LICENSE IPL10 FIXES 107767 avoid corrupting length in vnodeds when salvaging directories. avoid tag reuse leaving data behind (not verified) avoid not marking something busy during salvage commit eb1ff11bf14cfc64b4e224ef574d62e6e3757bc1 Author: Jeffrey Altman Date: Sun Jul 27 03:43:14 2008 +0000 windows-ioctl-prefix-data-20080726 LICENSE MIT The ioctl-prefix-data can be accessed either via a char_t or a wchar_t. Copy the data buffer with memcpy() and not strcpy() because we need to copy the entire string if it happens to be Unicode. commit 61d1578324b8b4f4a18fc12a3d199155692e8e4b Author: Jeffrey Altman Date: Fri Jul 25 21:25:55 2008 +0000 windows-build-20080725 LICENSE MIT update README-NT and src/ntbuild.bat build instructions. commit ba846eb82994469b904c104d52369fb55b985a20 Author: Jeffrey Altman Date: Fri Jul 25 20:43:36 2008 +0000 windows-nsis-vc-runtime-install-20080725 LICENSE MIT The NSIS installer was building a msi for the vc runtime that included the Debug merge modules when the Retail merge modules should have been used instead. commit c10b26ca355e47bfb486de971ac275fb281461ca Author: Jeffrey Altman Date: Thu Jul 24 20:32:58 2008 +0000 windows-buf-setdirty-20080724 LICENSE MIT Everytime the CM_BUF_DIRTY flag is set on a cm_buf_t, the userp field on the cm_buf_t must also be set. Add a cm_user_t parameter to buf_SetDirty() so that each function that calls it doesn't have to manually set the last write user. This improves code readability and the abstraction layering. commit 0ca9a136a79d78a81fb6a2e941b2a6feef0d4952 Author: Jeffrey Altman Date: Thu Jul 24 18:54:53 2008 +0000 windows-cm-makedir-20080724 LICENSE MIT Extend the cm_MakeDir() function signature to permit the (optional) return of the cm_scache_t object that was created by the operation in the same way that cm_Create() does. Make the return of the cm_scache_t by cm_Create() optional although it is never used that way. In both cm_Create() and cm_MakeDir() avoid releasing the cm_scache_t object until we are actually finished with it. commit 70bfb2c59b0f989a643a51ceac1fca86ef50b5dc Author: Jeffrey Altman Date: Wed Jul 23 22:40:34 2008 +0000 windows-cm-req-smb-20080723 LICENSE MIT Add smb_InitReq() calls cm_InitReq() and then sets the new CM_REQ_SOURCE_SMB flag. When this flag is set, the source of the request is known to be the SMB interface. This flag will not be set on requests generated by the various background daemons. commit 8f75470349f4e9ce4b861bac10e2816edb69f15d Author: Jeffrey Altman Date: Wed Jul 23 22:24:51 2008 +0000 windows-cm-rename-debugging-20080723 LICENSE MIT Add some trace log statements to cm_Rename() that can be used for debugging. commit a9c00f2638d44e1d077fbd953bf153df9cc319c4 Author: Jeffrey Altman Date: Wed Jul 23 22:19:19 2008 +0000 windows-btree-enum-20080723 LICENSE MIT Fix next enum to return an invalid param error when beyond the end of the list. commit 2ed0ee573c2b36cc6979693827e36f1ce6bdfa1b Author: Jeffrey Altman Date: Wed Jul 23 05:55:36 2008 +0000 windows-volume-deadlock-20080722 LICENSE MIT When updating the volume location information, if a new server must be allocated and the server is down, then it is possible for a deadlock to occur on the cm_volume_t rw lock. Prevent that from happening. commit 5db162c8dcb6ae81a631d5ae6e95959428b61a6a Author: Jeffrey Altman Date: Tue Jul 22 16:01:22 2008 +0000 windows-build-system-20080722 LICENSE MIT Move the man-pages build out of the 'install' step. commit 44379715638563f6271cf1853d7081cea18a6824 Author: Jeffrey Altman Date: Tue Jul 22 07:42:20 2008 +0000 windows-volume-vlgetaddrs-deadlock-20080721 LICENSE MIT A missing tilde makes a huge difference. commit b7398a8a50522fe15f8a30dead6487b219c7b5f5 Author: Jeffrey Altman Date: Mon Jul 21 21:55:06 2008 +0000 windows-more-rxconnp-20080721 LICENSE MIT convert additional 'connp' instances to 'rxconnp' in cm_volume.c, make sure that we hold a reference to the rxconnp whenever we use it to perform an RPC. commit 0172a6aa2637a6f7d2df584f4dba60cce0285c9e Author: Jeffrey Altman Date: Mon Jul 21 19:34:05 2008 +0000 windows-cm_conn-20080721 LICENSE MIT callp -> rxconnp commit a92cd4ec76509a84a93764b94831114e00bbc3d5 Author: Jeffrey Altman Date: Mon Jul 21 17:18:41 2008 +0000 windows-callp-to-rxcallp-20080721 LICENSE MIT There has been long time confusion in the windows cache manager because there are cm_conn object ptrs call connp and rx_connection object ptrs call connp and rx_call object ptrs called callp and rx_connection object ptrs called callp. From now on, rxconnp is a ptr to an rx_connection object; rxcallp is a ptr to an rx_call object; and connp is a ptr to an cm_conn object. commit ab1ddbe803005004978b86516e4bcd68ef668e67 Author: Jeffrey Altman Date: Mon Jul 21 10:19:26 2008 +0000 windows-smb-ioctl-setacl-20080721 LICENSE MIT setacl does not support the options structure. just call parse ioctl path. bug introduced during ioctl refactoring. commit ff0f4a596554bf4b09224ca000663b596a034013 Author: Jeffrey Altman Date: Sat Jul 19 15:47:40 2008 +0000 windows-volume-vlgetaddrs-deadlock-20080719 LICENSE MIT During cm_InitVolume() clear CM_VOLUMEFLAG_UPDATING_VL if we are reusing the cache data just in case. In cm_UpdateVolumeLocation() add trace logging to the sleeping, waking, and awaking states; move the destruction of the old server list into the region protected by the CM_VOLUMEFLAG_UPDATING_VL flag. commit af5e519e8e72c37b732474e08b6648bbdf458e95 Author: Russ Allbery Date: Sat Jul 19 07:41:06 2008 +0000 always-wrap-vos-ctime-20080718 LICENSE MIT When calling ctime on an afs_int32, always use a wrapper that assigns the variable to a time_t before passing it in rather than conditionally doing so on hosts with a large time_t. This eliminates a configure test, removes a bunch of warnings in vos.c on platforms with 32-bit time_t, and will make no difference in generated code with any decent compiler. commit 9682d4c1073846b13ae0825c8d6b020e5b31559c Author: Russ Allbery Date: Sat Jul 19 07:11:05 2008 +0000 kill-ubik-pthread-env-20080718 LICENSE BSD Everywhere AFS_PTHREAD_ENV was defined, UBIK_PTHREAD_ENV was defined as well, so don't make them separate. Building pthreaded Ubik is controlled by deciding whether to build the t* versions of various directories, not by the preprocessor directives. AFS_PTHREAD_ENV is only defined when building in those directories. This change eliminates UBIK_PTHREAD_ENV and uses AFS_PTHREAD_ENV to mean the same thing. As a side effect, fixes compiles on arm with --enable-pthreaded-ubik, since arm never defined UBIK_PTHREAD_ENV. commit c797e0844328f2ee437e3c659eab52fc590388b3 Author: Jeffrey Altman Date: Sat Jul 19 06:58:02 2008 +0000 windows-volume-vlgetaddrs-deadlock-20080718 LICENSE MIT If during volume location updating, the VL_GetAddrsU call fails for any of the identified servers, return an error but do so without leaking memory or deadlocking other threads that might be waiting. commit d3900e4f357cbd8a475ee3e8a786e646bdb43a01 Author: Russ Allbery Date: Sat Jul 19 06:44:49 2008 +0000 suppress-cellconfig-warnings-20080718 LICENSE BSD Add a forward declaration for struct ktc_encryptionKey to suppress warnings from cellconfig.h about declaring a struct in a prototype. commit 227f7e8eda70fbd62d0747a4334149fcd43deaf8 Author: Russ Allbery Date: Sat Jul 19 06:42:23 2008 +0000 more-no-unconditional-pthreaded-ubik-20080718 LICENSE BSD More directories should be conditional on pthreaded ubik. commit d811361ce9b64938c0eeb4ab4ca7ad77f6502c60 Author: Russ Allbery Date: Sat Jul 19 04:27:33 2008 +0000 no-unconditional-pthreaded-ubik-20080718 LICENSE BSD Don't compile pthreaded Ubik by default and instead actually require the --enable-pthreaded-ubik flag. commit 5bbdc3fb6904825f75ebdb1f2a17ed0ee6aefcfe Author: Simon Wilkinson Date: Fri Jul 18 15:54:22 2008 +0000 discon-prototype-correction-20080718 LICENSE IPL10 correct prototype for disconnected afs commit 8009b045aa5d20c527f1fa1fec0642f9ca0f9cd5 Author: Russ Allbery Date: Fri Jul 18 07:14:12 2008 +0000 man-page-fileserver-long-line-20080717 LICENSE BSD Fix long line in the SYNOPSIS for the fileserver man page. commit a8e8287b755ab9cd8e6904f66334b8a5cd1bcb39 Author: Russ Allbery Date: Fri Jul 18 01:21:44 2008 +0000 demand-attach-vos-install-location-20080717 LICENSE IPL10 In the tvolser case, install vos in ${afssrvsbindir}/vos, not ${afssrvlibexecdir}/vos. commit 24ac19c606f28642d0ea5f339a7d0eb0a2526b96 Author: Asanka Herath Date: Wed Jul 16 16:22:31 2008 +0000 windows-nls-zero-length-input-20080716 LICENSE MIT If the input to the string conversion files is zero length return nul string instead of NULL. Pass in -1 instead of computing the strlen. commit 6a749b71f7908129189ef10019372edc5b400c61 Author: Jeffrey Altman Date: Wed Jul 16 05:43:06 2008 +0000 windows-set-rx-dead-time-20080715 LICENSE MIT No longer set the rx_SetConnDeadTime and rx_SetConnHardDeadTime to the remaining request SMB RDR timeout within cm_ConnByMServers(). There are not per-call timeouts so simultaneous requests on the same connection will race with each other either resulting in premature timeouts or significantly extended timeouts. commit 4d7cfa129353001759c6224cc5c590be7e043fe9 Author: Daria Phoebe Brashear Date: Wed Jul 16 05:25:09 2008 +0000 softsig-structure-handling-20080716 LICENSE IPL10 this is sort of a dumb ifdef. harmless, but fix it to be what it's supposed to commit b4ce530d365e97342a92f4a8d59de12b0570c699 Author: Daria Phoebe Brashear Date: Wed Jul 16 05:15:44 2008 +0000 volser-reclone-bring-online-before-giveback-20080716 LICENSE IPL10 FIXES 107258 when giving back a volume after reclone, make it inService to avoid a race between callers and the SetFlags RPC commit 447915ce6a6f07a84affc22611287fe00b057534 Author: Asanka Herath Date: Wed Jul 16 00:58:28 2008 +0000 windows-nsis-vs2008-runtime-20080715 LICENSE MIT Add support for VS2008 Use MSI runtime installation package instead of EXE package Cleanup runtime from the correct directory commit 66754898d93c1b7c2862dd78801f8b14b5e74e72 Author: Jeffrey Altman Date: Tue Jul 15 22:17:37 2008 +0000 windows-wix-html-cmdref-20080715 LICENSE MIT Add new files to the installer. commit 5c762d3b7672a88fcf4df85e919ac11be7946d4f Author: Tom Keiser Date: Mon Jul 14 14:37:58 2008 +0000 dafs-avoid-assert-while-moving-volumes-20080714 LICENSE IPL10 The volume state is perfectly consistent. FSYNC_NEEDVOLUME (and the other state in the pending_vol_op object) is perfectly normal -- it simply means the volser has exclusive access to the volume for the purposes of cloning. The bug is that during the DAFS development, I changed the semantics of the VGetVolume interface without updating the control logic in afsfileprocs accordingly: In 1_4_x: vp->specialstatus != 0 results in returning vp with nUsers incremented and *ec = vp->sepcialstatus In DAFS: V_AttachState(vp) == VOL_STATE_UNATTACHED results in returning a NULL vp. Since (vp->specialstatus != 0), *ec = vp->specialstatus. The net result is we need to modify the VBUSY logic in CheckVnode(). commit 03fb36bd534a1ff13340e8d322c1e13eeef8ef43 Author: Jeffrey Altman Date: Mon Jul 14 14:36:44 2008 +0000 windows-smb-misc-two-20080714 LICENSE MIT Fix the assignment of SMB_ATTR_DIRECTORY. Apply it to the correct field name. commit 077c788275bff6b17e5ba44d487135f74dbedaee Author: Jeffrey Altman Date: Mon Jul 14 14:10:19 2008 +0000 windows-smb-misc-20080714 LICENSE MIT Fix declaration of smb_ParseStringBuf to be consistent with the prototype. If the fileType of a cm_scache_t is unknown and if the vnode is odd, then set the SMB_ATTR_DIRECTORY flag when reporting the DOS Extended Attributes. Fix the log message in smb_FindCMUserByName() to indicate "found" instead of "not found". commit 33429756c14ed006566d01ad4ee070a4c040b424 Author: Jeffrey Altman Date: Mon Jul 14 13:59:48 2008 +0000 windows-btree-enum-bulk-stat-20080714 LICENSE MIT Refactor cm_TryBulkStat() to permit BulkStat RPCs to be executed for lists of entries obtained either from the cm_dir structures or a btree enumeration. Add cm_BPlusDirEnumBulkStat() which takes an enumeration object and performs a bulk status rpc on every entry in the enumeration without advancing the enumeration state. commit faeb953142a15866f0a35e908114a2443f0ac703 Author: Russ Allbery Date: Mon Jul 14 06:53:14 2008 +0000 readme-devel-doxygen-20080713 LICENSE IPL10 Document the preferred Doxygen comment style. commit f49395a30adef98cb0deaea128393448565d364f Author: Russ Allbery Date: Mon Jul 14 06:46:27 2008 +0000 readme-fix-demand-attach-spelling-20080713 LICENSE IPL10 Fix the punctuation of the --enable-demand-attach-fs option. commit 1ed9e36ffc34fa5ea41b72131a222d0ab8195b54 Author: Russ Allbery Date: Mon Jul 14 06:35:04 2008 +0000 readme-improvements-20080713 LICENSE IPL10 Significant improvements to README, including: - Add documentation of (nearly) all of the configure options. - Update the platform list to reflect current reality. - Update the HP-UX header download instructions for the current web site. - Fiddle with formatting and wording in a few places. commit db9f59e9be12f791c122c4b8c6a8b8ecca8ce239 Author: Russ Allbery Date: Mon Jul 14 05:12:46 2008 +0000 threaded-ubik-cvsignore-20080713 LICENSE BSD Add .cvsignore patterns for threaded ubik builds. commit 2b7d9ab5d7c7947b1a45974d9a3252ce7e203a3b Author: Russ Allbery Date: Mon Jul 14 05:05:46 2008 +0000 autoconf-help-text-20080713 LICENSE IPL10 Use AS_HELP_STRING for every AC_ARG_WITH invokation and add proper quoting to all of them. Based heavily on a patch by Simon Wilkinson, but with less indentation and more quoting. commit 6a322e4eb7e79896e3322e0ace16a6ed99668162 Author: Russ Allbery Date: Mon Jul 14 03:27:00 2008 +0000 man-page-html-index-underscores-20080713 LICENSE BSD Remove underscores from the anchor in the index for all section 5 manual pages. commit 2a92f43987cd08dc0134b775e0d118894d22d3e5 Author: Russ Allbery Date: Mon Jul 14 02:45:14 2008 +0000 man-page-html-generation-hack-20080713 LICENSE BSD Pod::Simple::Search ignores every POD file that doesn't "look right," which means it skips files containing a period (like krb.conf.pod) unless you set a search option. Pod::Simple::HTMLBatch has no way to set search options. Apply a truly horrible hack to get around this. commit 298fb5ce52f3f5296c24ed1300287b5fa5870a3c Author: Jason Edgecombe Date: Mon Jul 14 00:51:35 2008 +0000 docs-ticket-104110-20080713 LICENSE BSD FIXES 104110 add vos clone and vos shadow to overall list ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE BSD FIXES 104110 add krb.conf update CellServDB to discuss AFSDB DNS records commit c766e74fd63a58e714d7b15ef1abfbc48b2a5a85 Author: Jason Edgecombe Date: Mon Jul 14 00:33:59 2008 +0000 docs-max-part-size-20080713 LICENSE BSD FIXES 86677 remove discussion of max partition size now that 1.5 has a limit of 2^64 KB. add discussion of techinical nature of fs minidump on windows. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE BSD FIXES 86677 update discussion of max partition size. commit df9f2455fbe34ac105179797f85aacc63a8b8da8 Author: Jeffrey Altman Date: Sat Jul 12 06:54:58 2008 +0000 man-page-fs-read-not-list-20080711 LICENSE MIT - fs diskfree - fs examine - fs listquota - fs quota require read permission not list for the root directory of the volume and list permission for the preceding path. commit 30ba65bc5c216f73f89acf2aa97a4287a4de1f1f Author: Jeffrey Altman Date: Fri Jul 11 23:25:21 2008 +0000 windows-cm_req-layer-purity-20080711 LICENSE MIT Ensure that the cm_req_t object is allocated and initialized at the SMB layer for all incoming requests. This is done for two reasons: 1. ensure that request start time is consistent across the lifetime of the request 2. permit the request object to be used to carry a flag indicating the source of the request. This will permit different timeout algorithms to be used for SMB vs RDR in the future. commit 5baf817a31e72d85415222af5c3dee70ed1f6bd3 Author: Todd DeSantis Date: Fri Jul 11 10:49:33 2008 +0000 butc-xbsa-update-20080711 LICENSE IPL10 update xbsa support for current tsm commit 4f5b808414c958e7629c83f93d610b57c54274ac Author: Jeffrey Altman Date: Thu Jul 10 19:17:44 2008 +0000 windows-install-loopback-ddk-20080710 LICENSE MIT Add support for dynamically determining which ddk include path should be used. The NTDDKDIR variable used to be set to the specific directory in which netcfgx.h was located. Now it is set to the top-level of the DDK install tree. The specific directory that contains netcfgx.h varies based upon whether the DDK is 3790.1830 or 6000. Test for file existence and specify the one that works. commit f52f1522367819712ea678b4e3cdf4644571fc57 Author: Tom Keiser Date: Thu Jul 10 19:14:40 2008 +0000 dafs-update-exclusive-states-20080710 LICENSE IPL10 VOL_STATE_SALVSYNC_REQ is a mutally exclusive state. don't allow other things to attempt to trigger that state when an exclusive state is already present commit 078f966e6293504dc7fd0a7c6b49997b6739be71 Author: Daria Phoebe Brashear Date: Mon Jul 7 18:14:58 2008 +0000 solaris-udp-modname-20080707 LICENSE IPL10 older solaris 10 lacked this commit acf76ac85f55e268e9a99d12dc89bad4b763038b Author: Dale Ghent Date: Mon Jul 7 18:14:26 2008 +0000 solaris-nevada-vfsdev-type-20080707 LICENSE IPL10 FIXES 105495 in nevada, struct vfsdev_v4 -> vfsdev_t. cope. commit 9f3629b018f9d25b205f911464789ed0a14103b4 Author: Chas Williams Date: Mon Jul 7 17:53:48 2008 +0000 linux-revalidate-renames-correctly-20080707 LICENSE IPL10 FIXES 74672 when renaming causes a dentry to be newer than its parent we handled it incorrectly. zero the d_time to force correct evaluation to happen. commit 9946c027a33b89cdf128748b9fd3000b31bee48f Author: Simon Wilkinson Date: Mon Jul 7 17:42:14 2008 +0000 rhel3-disable-fedorakmod-20080707 LICENSE IPL10 FIXES 102673 if we're building for 2.4.x we need to disable fedorakmod. do so here in our packaging. commit e5e9463568bcbf9aa574e15cf47d231fef44685b Author: Jeffrey Altman Date: Sat Jul 5 16:48:36 2008 +0000 windows-pioctl-debugging-20080705 LICENSE MIT FIXES 105867 Replace multiple calls to IoctlDebug() within the same function with a variable. Save/restore more errno values. commit 44cd9c4e4cf6ef468e7e5880c8cb71ed277085c7 Author: Jeffrey Altman Date: Sat Jul 5 07:33:38 2008 +0000 windows-pioctl-debugging-20080704 LICENSE MIT FIXES 105867 David Botsch reports that when IoctlDebug is active, failures of fprintf overwrite 'errno'. Save and restore 'errno' around the fprintf calls. commit 99471963b3a035898419ace7bfafb24de464714c Author: Jeffrey Altman Date: Sat Jul 5 07:26:22 2008 +0000 windows-afskfw-20080704 LICENSE MIT if ktc_GetToken() fails, do not switch to krb524, just fail commit a4e3fb21f0fd8f02ffd2c01b4d39ac55cd3474b1 Author: Benjamin Bennett Date: Thu Jul 3 21:32:49 2008 +0000 linux-probe-syscall-table-again-20080703 LICENSE IPL10 FIXES 105457 move the init_mm ifdef down far enough that it's effective and we actually probe to be able to hook syscall table commit be32aef3831529f30f59088be5ea2060b55a95f6 Author: Jeffrey Altman Date: Thu Jul 3 06:53:10 2008 +0000 windows-dead-vc-cleanup-take-two-20080703 LICENSE MIT Prevent an infinite recursion when attempting to cleanup a previously dead vc. commit 08974551cb5257caea7315bcf726e0dba1a4d052 Author: Jeffrey Altman Date: Thu Jul 3 02:24:54 2008 +0000 windows-config-ntmakefile-i386_w2k-codesign-20080702 LICENSE MIT no underscore prepending CODESIGN_USERLAND macro commit 41927c3cbf068f71c2ef5f880f21a459477c62a0 Author: Jeffrey Altman Date: Thu Jul 3 00:00:37 2008 +0000 windows-config-version-20080702 LICENSE MIT Add AFSPRODUCT_VERSION to the AFS_component_version_number.h files Update copyright info and add underscores to version strings in rc files commit 65bf7cdb6d20a1ff4e71c79347782aa3b5f1e3f8 Author: Jeffrey Altman Date: Wed Jul 2 13:41:07 2008 +0000 windows-code-signing-20080702 LICENSE MIT Add code signing with signtool.exe to the build process. If all three of the required CODESIGN_xxxx environment variables are defined, signtool will be used to sign each exe, dll, and installer as they are built. The three environment variables are: CODESIGN_DESC = CODESIGN_TIMESTAMP = CODESIGN_URL = The default signing certificate is the one that will be used by signtool. If these environment variables are not defined, code signing will be skipped. commit 1c96127e37c0ec41c7a30ea3e4aa68f3cc8a24f6 Author: Simon Wilkinson Date: Tue Jul 1 23:44:14 2008 +0000 linux-packaging-module-build-20080701 LICENSE IPL10 Add --with-linux-kernel-packaging configure flag which disables building multiple kernels for different MP flavors, sets the kernel module name to openafs.ko with no version, and installs the modules into the standard Linux location. commit c61a8f37c9957034961aed8abc2a1adb046247d3 Author: Andrew Deason Date: Tue Jul 1 23:28:26 2008 +0000 libuafs-fixes-20080701 LICENSE IPL10 FIXES 104698, 104699, 104305 make cellname get init'd right. correct startup argument order to match what afsd does. call lookupname correctly (when did this break?) at the same time, move the lookupname define out of afs_osi.h and into each osi_machdep.h commit 0d343077ac1ca8bd35921de2a2b19cac4eb75496 Author: Andrew Deason Date: Tue Jul 1 20:41:13 2008 +0000 redhat-build-updates-20080701 LICENSE IPL10 FIXES 105231 update specfile for new manpages. update patch for 1.5.x/head update makesrpm to quote some arguments to system so perl doesn't eat them some rewriting from shadow@dementia.org including the patch update commit 19551ae3a541644013f6e9e92d9354ec14cbc00e Author: Daria Phoebe Brashear Date: Tue Jul 1 19:33:26 2008 +0000 volutil-partitionname2-r-return-value-20080701 LICENSE IPL10 return 0 and not tbuffer on success since tbuffer is already returned via a pointer commit c733e2e07aeb0cc981d53d843a1ffb787f43ed64 Author: Russ Allbery Date: Tue Jul 1 19:06:41 2008 +0000 more-cpp-fixes-20080701 LICENSE BSD Use PATH_CPP instead of CPP everywhere and always redirect the output instead of assuming that it will write to a file. Hopefully this is the least common denominator across all systems, although it still isn't fully correct for systems that have no separate cpp binary. commit fb3490cdea7e45dbac4a8aa820f35bf1723af764 Author: Daria Phoebe Brashear Date: Tue Jul 1 18:45:01 2008 +0000 linux-nfstrans-updates-20080701 LICENSE IPL10 FIXES 105019 make libuafs also include afs_warn.c commit 5e1459f431fc046dfd3b25aca87709193ccca211 Author: Russ Allbery Date: Tue Jul 1 06:47:27 2008 +0000 pt_util-database-path-20080630 LICENSE BSD Use the dirpath functions to find the prdb database path in pt_util instead of hard-coding the default Transarc path. commit 7b3967db163a5c9f79cb0637883f8a6708796acc Author: Daria Phoebe Brashear Date: Tue Jul 1 05:58:38 2008 +0000 pinstall-collateral-damage-use-install-sh-usefully-20080701 LICENSE IPL10 this is gross. but ac_INSTALL wants things to begin with / and @ is not /. so we cheat and use /@abs_top_srcdir@/install-sh -c if INSTALL began with ./ commit daf6b1cf282c895bb7cd3cb090e5bee06648cd16 Author: Marc Dionne Date: Tue Jul 1 04:33:38 2008 +0000 linux-nfstrans-updates-20080630 LICENSE IPL10 FIXES 105109 exportfs - NFS translator: - The exportfs code is updated for the new export ops. The changes are made conditional on a new configure test that detects the new ops. fh_to_dentry() basically replaces decode_fh and uses our own get_dentry function instead of the now defunct find_exported_dentry. - A check for fh_len=4 is removed - in testing this value is always 6, possibly because of changes in the kernel code. - The check for authtab in osi_nfssrv.c assumes that an undefined weak symbol is 0. On my system, an unresolved weak symbol in a loaded module gets the value 0xfffffffe (-2 or -ENOENT) - again, probably a change on the kernel side. Check that the pointer is not an error constant using IS_ERR(). - In osi_vfsops.c, only use the export_ops bits if building the translator afspag: the problem here was dealing with unresolved symbols - afs_showflags is redefined in afs_pag_call.c so it's available for the afspag module - A new source file afs_warn.c gets the afs_warn* functions from afs_util.c. This allows the afspag module to get the afs_warnuser function without dragging in too many symbols. The new file is attached separately. other: - d_path() now takes a struct path argument - includes a new configure test - osi_vfsmnt -> osi_vfsmount in osi_misc.c Looked like a typo? - reorder the remove_proc_entry() calls - we need to remove the children before the parent (introduced with my earlier patch) commit e22a5cc8afe889d5d76ecf44a63860e12f1effbf Author: Thomas Galliano Date: Tue Jul 1 04:05:58 2008 +0000 ubik-lwp-createprocess-64-bit-20080630 LICENSE IPL10 FIXES 104732 use NULL and not (void *)0 to avoid issues on 64 bit platforms commit c0124d51796de2c7790b702cf7805b499ff28c99 Author: Daria Phoebe Brashear Date: Tue Jul 1 03:38:03 2008 +0000 revert-pinstall-collateral-damage-20080630 LICENSE IPL10 we'll fix this another way (with install-sh) commit 1ec104280d4a4b0a7544a99a7366f59cd3a2cc5f Author: Russ Allbery Date: Tue Jul 1 00:00:40 2008 +0000 cpp-fixes-20080630 LICENSE BSD When probing in configure for cpp, use the user's PATH first and then the /lib and /usr/ccs/lib directories. Set PATH_CPP instead of CPP, since the latter is just overwritten by Autoconf. Use PATH_CPP by preference in rxgen and when pre-processing assembly, since otherwise newer gcc will treat the input file as linker input and not do anything with it. Don't assume that cpp writes to the second argument; gcc apparently doesn't always do this. Instead, redirect standard output. commit 99c1e0beb1b7aebfe7f3f10b73da8b6795d11464 Author: Russ Allbery Date: Mon Jun 30 23:53:22 2008 +0000 disconnected-merge-conflict-20080630 LICENSE BSD Fix a disconnected-mode merge conflict with an older import of disconnected to HEAD that caused a duplicate definition of PDiscon. I believe this problem was only on HEAD. commit 9b61f58fa78259eb092350599a0a26d75ac14fa8 Author: Russ Allbery Date: Mon Jun 30 23:35:18 2008 +0000 man-page-html-index-20080630 LICENSE BSD Use the correct subcommand name (fs getacl instead of fs_getacl) on the HTML index page, even though we have to use the underscore in the NAME section of the actual POD documentation. commit 9f94f89a7a894651f18947ec7ac20959f9326478 Author: Russ Allbery Date: Mon Jun 30 21:50:23 2008 +0000 linux-ucontext-fixes-20080630 LICENSE BSD Use undef in the arch-specific param file to override UCONTEXT rather than adding a conditional in a generic file, making arm work the same as 32-bit SPARC. Disable UCONTEXT on parisc as well; glibc doesn't provide the ucontext functions on that architecture. commit d82169c51cc1d4db5de1c51dabeb1d6fe712fb79 Author: Russ Allbery Date: Mon Jun 30 20:55:40 2008 +0000 bozo-find-linux-core-files-20080630 LICENSE BSD Current Linux kernels always append a period and the PID to "core" when creating core files for multithreaded processes. Teach bosserver to scan the directory into which core files are deposited looking for such core files and treat them like any other core file if the PID matches the process that just died. This patch has been in the Debian OpenAFS packages for some time without problems. commit 6331d37125428956586610b8e514e1b304a16022 Author: Russ Allbery Date: Mon Jun 30 20:49:19 2008 +0000 man-page-vos-convertROtoRW-inode-20080630 LICENSE BSD vos convertROtoRW can now be used with an inode file server. Adjust the man page accordingly. commit 2b48a4c67acee5c25128d5f2fc9371fe0a89dd1f Author: Jeffrey Altman Date: Mon Jun 30 20:48:32 2008 +0000 windows-wix-cmdref-subdirs-20080630 LICENSE MIT Construct the directory hierarchy correctly. CmdRef/{1,5,8} commit cf816d535a60a7a5f7efa5564b647ee87e33b7d7 Author: Russ Allbery Date: Mon Jun 30 20:47:30 2008 +0000 man-page-readme-update-20080630 LICENSE BSD Add additional missing commands to the to-do list. Add a section on man page section numbers and their rationale. Document that embedding a license in the man page isn't required if it's one of the licenses in our LICENSE file. commit db13ad4de73814e90b108faa0d1246e224836ece Author: Tom Keiser Date: Mon Jun 30 18:28:35 2008 +0000 dafs-state-analyzer-setup-cursor-20080630 LICENSE IPL10 avoid an uninitialized cursor commit 1b98b43127e3286b7842de4c59ea50f5a7de4424 Author: Jeffrey Altman Date: Mon Jun 30 14:59:30 2008 +0000 windows-nsis-cmdref-subdirs-20080630 LICENSE MIT install and remove the subdirectories of the CmdRef commit 7460987e758fa299849d877633053c05cb431977 Author: Asanka Herath Date: Mon Jun 30 14:38:17 2008 +0000 windows-wix-install-idn-redist-20080630 LICENSE MIT Only install IDN redistributables on XP and 2003 commit fed6593bf343425807f425aeb8315886feeb8670 Author: Jeffrey Altman Date: Mon Jun 30 03:55:36 2008 +0000 windows-nsis-install-idn-redist-20080629 LICENSE MIT Install IDN on XP and 2003 only commit 5da4137cbe2574fc8602bd7ffaeaf8d85bd9e010 Author: Jeffrey Altman Date: Sun Jun 29 06:08:00 2008 +0000 windows-remove-ibm-docs-20080628 LICENSE MIT Remove (from the en_US distributions) the IBM Quick Guide and IBM Release Notes. Update references and installers. commit dff0d834a7c03d19d572d74849599ac89c2a058e Author: Chaskiel M Grundman Date: Sun Jun 29 04:38:59 2008 +0000 afs-blacklist-initialize-volume-ptr-always-20080628 LICENSE IPL10 always initialize this commit 618a180164c7f1f2772f722f40191e3d99028e90 Author: Jeffrey Altman Date: Sun Jun 29 02:48:18 2008 +0000 windows-generate-html-cmdref-makefile-argh-20080628 LICENSE MIT It would be nice if we added the file to the correct directory. Add Windows makefile to build the html cmdref files from the pod man-pages commit ee8a5d7019ca88114455412e58dab83b1bd1736b Author: Jeffrey Altman Date: Sun Jun 29 02:27:14 2008 +0000 windows-cmdref-20080628 LICENSE MIT Reference cmdref/index.html from the en_US documentation commit 4af6e48bdb69ceb8de8f2da7fd8a98944632ede9 Author: Jeffrey Altman Date: Sun Jun 29 02:21:10 2008 +0000 windows-install-new-cmdref-20080628 LICENSE MIT Install the new man pages as the OpenAFS Command Reference. Update both the nsis and wix installers. commit 6a34c5c4f6a77be71043fa3f4aecccf5f7051d93 Author: Jeffrey Altman Date: Sun Jun 29 00:41:00 2008 +0000 windows-build-doc-manpages-20080628 LICENSE MIT build the manpages for windows commit da989e5d95f1cfee9b0823b184b9aa6f86ed5a0c Author: Jeffrey Altman Date: Sun Jun 29 00:30:43 2008 +0000 windows-generate-html-cmdref-makefile-correct-20080628 LICENSE MIT commit the correct version of the NTMakefile commit d600d661ad495678423fd56a7fc2d5ee340a65ae Author: Jeffrey Altman Date: Sun Jun 29 00:23:48 2008 +0000 windows-generate-html-cmdref-makefile-20080628 LICENSE MIT Add a windows makefile to generate the html cmdref from the pod files. Requires perl on the build system. commit 62ffbc2a464521eeee4c244d2555c316dfae180f Author: Russ Allbery Date: Sat Jun 28 07:32:45 2008 +0000 remove-administration-reference-20080627 LICENSE IPL10 Purge the old AFS Administration Reference documentation. This has now been completely replaced by the manual pages. commit 3b273dd55291b28c698990001370a97c413c2673 Author: Russ Allbery Date: Sat Jun 28 06:19:22 2008 +0000 install-and-document-klog-krb5-20080627 LICENSE IPL10 Install the Kerberos v5 klog as klog.krb5 and install a man page for it. commit 49db6afe0aeb646d712a5319a7ea1a511f66f298 Author: Jeffrey Altman Date: Fri Jun 27 20:42:57 2008 +0000 windows-smb-dead-vc-gc-20080627 LICENSE MIT When an SMB virtual circuit is prematurely closed due to an error condition by one thread it is possible that there are still several other threads still using the VC which will determine that the VC is dead shortly. As a result we maintain a dead vc list to ensure that dead vcs are not destroyed while still in use. With the addition of locking though this causes a problem because the locks allocated to the virtual circuit are not freed until the vc is destroyed. This patch reworks the cleanup routine to make the freeing of resources the responsibility of the release routine when the refcount hits 0 and the VC is marked dead. commit e381e1d07822639ba4ce00c96ff483034104afb5 Author: Jason Edgecombe Date: Fri Jun 27 04:49:45 2008 +0000 man-page-afs-fixes-20080626 FIXES 104745 LICENSE BSD Fix several issues with the afs(1) man page. Based on the patch by Jason, but I also documented /vicepiv as the maximum, and /vicepiu as the maximum recommended, partition. commit d9dc7e28fe73b1e3ac2773fb1efd44e67de5e21d Author: Jason Edgecombe Date: Fri Jun 27 04:29:12 2008 +0000 man-page-vldb_convert-20080626 FIXES 104192 LICENSE BSD New man page for vldb_convert. commit fbe10c80860ce9f456a056e0d397a10411f22369 Author: Jason Edgecombe Date: Fri Jun 27 04:19:07 2008 +0000 man-page-vos-clone-20080626 FIXES 104110 LICENSE BSD Add man page for vos clone. commit 0e04d01891eb2269653a84f86b066ebe10eb8a54 Author: Asanka Herath Date: Fri Jun 27 03:04:12 2008 +0000 windows-wix-install-idn-redist-20080626 LICENSE MIT Install the Microsoft IDN Redistributables which are required for Unicode Normalization on XP and 2003. commit 149fd85b205911c2393a570eac6d5a811c9ffd72 Author: Asanka Herath Date: Fri Jun 27 02:58:36 2008 +0000 windows-nsis-install-idn-redist-20080626 LICENSE MIT Install the Microsoft IDN Redistributables which are required for Unicode Normalization on XP and 2003. commit c051bf547636be32372d5eb01afc0b1c55f25c43 Author: Jeffrey Altman Date: Thu Jun 26 18:04:04 2008 +0000 windows-vlserver-makefile-20080626 LICENSE MIT more consistency changes to get the make rules for headers right commit bc2836058afd44d237e602c1746d1d71c95951c5 Author: Jeffrey Altman Date: Thu Jun 26 17:46:35 2008 +0000 windows-nls-includes-20080626 LICENSE MIT Add include for cm_nls.h commit 3b41209be7a1470e186a87764621c9980ae7448a Author: Asanka Herath Date: Thu Jun 26 06:43:49 2008 +0000 windows-unicode-20080626 LICENSE MIT This patch is the second stage of the Unicode conversion. In this stage the cache manager has been converted from using 8-bit UTF8 C strings to 16-bit UTF16 C strings in the SMB, the DNLC, the B+ tree, and other directly related modules. The cm_cell, cm_volume, cm_scache, cm_buf, cm_dcache, and cm_dir modules are left 8-bit because their data is all 8-bit UTF8 since they work only on file server strings. The SMB layer accepts 16-bit UTF16, the B+ tree and DNLC use normalized strings as the key, and everything uses UTF8. Efforts have been made to minimize the number of transitions from UTF8 to UTF16 and back. For the most part strings are tagged with clientchar_t and normchar_t and fschar_t types in order to distinguish between the various types of strings that are in use. other changes include addition prototyping. commit ef58ff2ea67323e5260484597abe6bdfa63d8c72 Author: Asanka Herath Date: Tue Jun 24 14:41:13 2008 +0000 windows-osilog-safestring-unicode-20080624 LICENSE MIT convert to using microsoft safe string functions. add Unicode version of osi_LogSaveStringW. This is safe to use export even in none Unicode builds. Some reformatting. commit 9d1863dae7ee6675c77c7ecf398c6c4c4cc811c1 Author: Matt Benjamin Date: Tue Jun 24 13:58:10 2008 +0000 tubik-build-fix-20080624 LICENSE IPL10 add missing build dependencies commit 98b87a2ac1ce5673142b26ae5aad2ef640efe51f Author: Matt Benjamin Date: Mon Jun 23 18:50:06 2008 +0000 tubik-build-fix-20080623 LICENSE IPL10 add missing build dependencies commit e5f9eba38634c2b07da1d7b20fb45cfdd772a27c Author: Daria Phoebe Brashear Date: Mon Jun 23 04:40:56 2008 +0000 doc-nfs-translator-instructions-20080622 LICENSE IPL10 FIXES 103459 clarify instructions for the translator commit 583b267eb0025bd78e7dd325775428557e3934ad Author: Marc Dionne Date: Thu Jun 12 21:08:18 2008 +0000 linux-2626-updates-20080612 LICENSE IPL10 FIXES 102821 fixes which went into 1.4.x already commit bb617c649cd18c30db40f7e1976eeddf0ae1545b Author: Marc Dionne Date: Thu Jun 12 21:00:12 2008 +0000 cvsignore-updates-20080612 LICENSE IPL10 FIXES 102819 add missing things to cvsignore files commit a33cd20d1b19c8c8587a5850d1239900d02db3d7 Author: Marc Dionne Date: Thu Jun 12 20:58:23 2008 +0000 tubik-no-pinstall-on-head-20080612 LICENSE IPL10 FIXES 102819 no more pinstall on the head commit a7b33b55bb34027262fb5deb686a86fba1d2f832 Author: Tom Keiser Date: Thu Jun 12 20:12:06 2008 +0000 dafs-updates-20080612 LICENSE IPL10 pending changes from tom to avoid a deadlock issue commit e2ce8710efc93f7172b9d4daaf685c6f2669f7c3 Author: Daria Phoebe Brashear Date: Thu Jun 12 19:36:15 2008 +0000 ptserver-simple-corrupt-protection-20080612 LICENSE IPL10 protects against direct loops, which we have seen in the wild, but not more (yet) commit bc47951c9ec0845eafe0d1634f56b761cbf8b06f Author: Daria Phoebe Brashear Date: Thu Jun 12 18:24:25 2008 +0000 volume-limit-higher-20080612 LICENSE IPL10 allow more volume lookups to be cached commit 15ff831e4dfa8d2942536d002b86579f6128a5df Author: Jeffrey Altman Date: Thu Jun 12 17:04:38 2008 +0000 windows-buf-clean-access-denied-20080612 LICENSE MIT If the attempt to write the buffer returns access denied, store that in the cm_buf_t object so that the error can be propagated. commit d8c3a598184df6066c330769e49fb1e301464e52 Author: Jeffrey Altman Date: Thu Jun 12 15:54:23 2008 +0000 windows-pioctl-refactoring-20080612 LICENSE MIT Refactor the pioctl handling to provide a layer of abstraction between the smb server and the actual pioctl data processing. This will permit a redirector pioctl layer to be implemented on top of the core cm_ioctl interfaces. The general approach is that there is a new cm_ioctl_t object which is embedded withing a higher level abstraction object. This object maintains all of the pioctl state processing and removes any notion of file descriptors or other communication channel parameters. The cm_ioctl module maintains just about all of the core functional processing except for SetToken which needs further abstraction. Path processing is now performed at the higher layer and cm_ioctl functions accept cm_user_t, cm_scache_t, and cm_req_t objects from the higher layer. The smb_ioctl module performs all of the path translation using smb server knowledge and passes the necessary objects to the cm_ioctl module for processing. commit 52490d7968c2008912ab0887bdcde7fbba43b837 Author: Jeffrey Altman Date: Thu Jun 12 15:20:46 2008 +0000 windows-scache-deletion-and-lock-verification-20080612 LICENSE MIT Add lock assertions to various functions. Obtain a missing lock around a call to cm_RemoveSCacheFromHashTable(). Correct an abstraction layer violation. cm_scache_t objects should be marked deleted in cm_Unlink() and cm_RemoveDir() and not in smb_CloseFID(). Cleanup of deleted cm_scache_t objects should be performed in cm_ReleaseSCache() when the reference count hits zero. Prototype cm_AdjustScacheLRU() and re-implement it using osi_QAddH(). commit 3306c0887b62ca940808174906c2579b3b7d939a Author: Jeffrey Altman Date: Thu Jun 12 15:00:08 2008 +0000 windows-vnodeops-wrong-logfile-20080612 LICENSE MIT Use afsd_logp instead of smb_logp in osi_LogX() calls. Do not violate layer abstraction. commit ef48d6343d9ac929a4a2ae88184f7801ace1e3d1 Author: Jeffrey Altman Date: Thu Jun 12 14:33:36 2008 +0000 windows-scache-hash-tables-20080612 LICENSE MIT Prevent corruption of the cm_data.scacheHashTablep lists when removing and then re-adding entries to the hash table. The cm_scache_t nextp fields were not being reset to NULL which permitted loops to be created. commit bed3e31ca4da711649d6c6b9ab828515cd3418fc Author: Marc Dionne Date: Mon Jun 9 04:38:58 2008 +0000 linux-2626-support-20080608 LICENSE IPL10 FIXES 101091 add 2.6.26 support commit 0da0a9d4d2e5b2d39495e57b9840ce0acdd961e2 Author: Rainer Toebbicke Date: Mon Jun 9 04:30:11 2008 +0000 limit-mountpoint-symlink-abuse-20080608 LICENSE IPL10 FIXES 100836 official mountpoints end in a .; treat others as symlinks to avoid creating files which can't be removed commit ad05cdf649044dcc0b1db39aed8652338fb8c945 Author: Jeffrey Altman Date: Fri Jun 6 14:36:16 2008 +0000 windows-check-server-memleak-20080606 LICENSE MIT Found a memleak in the cm_CheckServers routine. Plug it. commit 39d2ac1438c5708dc64098e5de10cd55efd6e93b Author: Jeffrey Altman Date: Fri Jun 6 00:22:03 2008 +0000 windows-bpluss-memleak-20080605 LICENSE MIT when deleting entries from a directory for items with non-8.3 names memory for the longname field would be leaked. don't do that. commit 1473a8747a104af3938a14393f73da666149b114 Author: Russ Allbery Date: Thu Jun 5 21:19:10 2008 +0000 man-page-readme-fileserver-20080605 LICENSE BSD Remove the note about missing file server options. We think we got them all. commit 1fdfac7065b85feafcfa3f9fc382cfd90680d67f Author: Jason Edgecombe Date: Thu Jun 5 20:31:13 2008 +0000 man-page-pts-updates-20080605 LICENSE BSD Add documentation of foreign realm user registration and cross-realm PTS groups. Add documentation of missing ptserver flags. Add some additional to-do entries for the man pages. commit b5d888ed404840e5a25a26880daaf47ab415b282 Author: Jeffrey Altman Date: Wed Jun 4 09:02:21 2008 +0000 windows-btree-short-name-20080604 LICENSE MIT When constructing the shortname keyed entry in the tree, make sure that the original long name is preserved. commit 79b7b4eaded831a33d85f580e9e4155528fbd35f Author: Daria Phoebe Brashear Date: Tue Jun 3 03:53:54 2008 +0000 linux24-hlist-unhashed-configure-test-fix-20080602 LICENSE IPL10 make the hlist_unhashed test actually work commit 2b937b867f3420972b3f617710b44184df7bacc2 Author: Jeffrey Altman Date: Thu May 29 18:19:21 2008 +0000 windows-vlserver-remove-extraneous-make-targets-20080529 LICENSE MIT remove extraneous make targets commit 749ae65481ebc70f310fdd79d2cb0139a636f27e Author: Jeffrey Altman Date: Thu May 29 14:31:41 2008 +0000 rx-init-more-packets-20080529 LICENSE MIT It is frequently the case that rx_getAllAddr() is called before rx_Init() or rx_InitHost(). rx_getAllAddr() obtains the list of interfaces by using rx_GetIFInfo() which in turn computes and allocates the number of addition rx packets. Unfortunately, rxi_MorePackets() relies on the existence of an initialized mutex and the mutex is not initialized (on Windows) until the rx_InitHost() call. Therefore, we must delay the rxi_MorePackets() call until after rx_InitHost() if rx_getAllAddr() is called previously. Failure to do so results in a panic. commit 11350e8024c8413dab5f91cfcd2155d26356329f Author: Jeffrey Altman Date: Thu May 29 05:02:36 2008 +0000 strftime-portability-20080528 LICENSE MIT %T is not portable to Windows. Replace it with the equivalent %H:%M:%S format string. commit c5bce0f87dc11cfaf5a7fabe16fe7efd24a4d200 Author: Jeffrey Altman Date: Thu May 29 04:35:19 2008 +0000 rx-out-of-memory-20080528 LICENSE MIT in rxi_MorePackets() if osi_Alloc() fails to return the requested memory call osi_Assert() instead of permitting subsequent null pointer dereferences to corrupt the stack. commit 5ad08dc1662c9c7eeea10dadd39f7a1f793f761b Author: Jeffrey Altman Date: Wed May 28 19:37:09 2008 +0000 windows-vlserver-headers-20080528 LICENSE MIT make sure the headers are copied to the correct location by providing explicit rules commit dc835c2d5397cc2b310dea374b043032b779ee3a Author: Jeffrey Altman Date: Wed May 28 18:40:06 2008 +0000 windows-buf-redirector-20080528 LICENSE MIT Define new flag CM_BUF_REDIR for use with the redirector. When set, the flag indicates that the buffer is being held by the redirector and it should be left untouched by the cache manager. commit 5930abcbe169db3a8e676ebe558249af9ccdfa0f Author: Jeffrey Altman Date: Wed May 28 18:33:17 2008 +0000 windows-cpluscplus-compat-20080528 LICENSE MIT Do not use reserved keywords 'new' and 'delete'. Permit headers to be included by files compiled in cplusplus mode. commit 54c0f2f8370c129a01b99233c98a758ba0eb2f17 Author: Jeffrey Altman Date: Wed May 28 18:27:32 2008 +0000 windows-unused-var-20080528 LICENSE MIT remove unused var cm_CachePathLen commit 7b8c8a48a354a45ec34ed672aef1ea0255e4b4f1 Author: Jeffrey Altman Date: Wed May 28 18:21:33 2008 +0000 windows-btree-20080528 LICENSE MIT add cm_btree.h to afsd.h include list commit c5911d25f8772aa1bb9b28a6cd58b8b781b479c1 Author: Asanka Herath Date: Tue May 27 21:33:14 2008 +0000 windows-unicode-20080527 LICENSE MIT An incremental commit. This patch adds support for normalization of Unicode but we have concluded that the normalization rules are incorrect. Normalized strings should not be written to the file server or returned to the application. commit b1549f29a9515de09d4a64bfb28bf5afdfee2615 Author: Jeffrey Hutzelman Date: Fri May 23 15:55:29 2008 +0000 rx-client-keep-keepalives-20080523 LICENSE IPL10 FIXES 20727 not our bug, but, previous code refactoring broke rx. put back keepalives in cli ent rx connections while they are turned around. commit 18a36a3f624755fbcaee776102177f47e26711b7 Author: Simon Wilkinson Date: Fri May 23 15:57:18 2008 +0000 disconnected-20080523 LICENSE IPL10 add readonly disconnected support commit b26f133a56911c4a20e848cf85d40640aa37253a Author: Daria Phoebe Brashear Date: Thu May 22 22:03:16 2008 +0000 darwin-rc-common-does-set-minus-u-20080522 LICENSE IPL10 we need to cope with an unset variable commit c34822d6105cef7f68423e4ebbf485b2d11b9635 Author: Jeffrey Hutzelman Date: Thu May 22 19:28:37 2008 +0000 rx-client-keep-keepalives-20080522 LICENSE IPL10 FIXES 20727 not our bug, but, previous code refactoring broke rx. put back keepalives in client rx connections while they are turned around. commit 8450a1eb1da3e2b77f9ae86b5adee4aaa7136e14 Author: Daria Phoebe Brashear Date: Thu May 22 04:51:27 2008 +0000 dafs-volumestats-conflict-20080521 LICENSE IPL10 avoid symbol conflict in volume.h commit dcafea769a1cb70c7b1f8763ae4f7b7744b2a436 Author: Daria Phoebe Brashear Date: Wed May 21 21:15:41 2008 +0000 vos-sync-flag-voltype-properly-20080521 LICENSE IPL10 when adding a backup volume to a vldb entry, flag it as such. commit 1705bda53e4ca198cf78d70ff424fc7af69b1879 Author: Simon Wilkinson Date: Wed May 21 16:40:52 2008 +0000 tweak-regen-20080521 LICENSE IPL10 make regen quieter if you don't want man pages commit 30f65085f7a53ae073e2c4649a462a3a555ebb61 Author: Daria Phoebe Brashear Date: Wed May 21 14:51:56 2008 +0000 macos-tuning-20080521 LICENSE IPL10 be more aggressive to get better performance commit 1206e7538be86f073b21cd289266286b60a95d0a Author: Daria Phoebe Brashear Date: Wed May 21 05:22:13 2008 +0000 pmtu-and-prefetch-20080520 LICENSE IPL10 try hard to optimize using the wire for high latency connections commit c761f248397334400f8b4bb71cc4d01d3e4fc6ff Author: Daria Phoebe Brashear Date: Tue May 20 22:02:49 2008 +0000 linux-hlist-unhashed-opencoding-20080520 LICENSE IPL10 FIXES 93871 if we can't use hlist_unhashed (which is dumb) or we don't have it (less dumb) work around it. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 FIXES 93871 if we can't use hlist_unhashed (which is dumb) or we don't have it (less dumb) w ork around it. commit f00df529b79d9df64b77dd7b054eb362a92c279e Author: Matt Benjamin Date: Tue May 20 21:24:16 2008 +0000 rx-connection-clones-20080520 LICENSE IPL10 FIXES 89557 add connection clones to allow more than maxcalls per "connection" commit 3edb97360b7d971750e54471037584d7a9a74993 Author: Daria Phoebe Brashear Date: Tue May 20 20:48:34 2008 +0000 aix-unpin-after-free-20080520 LICENSE IPL10 FIXES 99456 in order that cleanup be safe we need to do it this way commit 090b2eebfa9fb48deea94bf7b511e693a251e041 Author: Jeffrey Altman Date: Wed May 14 05:14:57 2008 +0000 windows-smb-parse-string-20080513 LICENSE MIT if the input length is 0, smb_ParseString should return the NUL string not NULL. Do not permit unprotected DebugBreak() calls. commit 53cffb32ab7cc5a650d0bbaa66686a44ea206888 Author: Jeffrey Altman Date: Mon May 12 04:02:28 2008 +0000 windows-unicode-normalize-btree-20080511 LICENSE MIT Attempt to normalize afs directory strings before inserting them into the B+tree. commit 9e67c4f766892f7c0b79a2d6a1d8b96a7e4b7100 Author: Asanka Herath Date: Mon May 12 02:36:36 2008 +0000 windows-unicode-support-normalize-20080511 LICENSE MIT Actually normalize when normaliz.dll is present. commit 9d28d95151418189e8004734eca0edd498edd46b Author: Jeffrey Altman Date: Sun May 11 14:15:51 2008 +0000 windows-unicode-support-20080511 LICENSE MIT In NTCreateX a zero length name is permitted. This can occur when opening the root directory of a share. Change cm_NameEntries() to accept a size_t* instead of long* since that permits better type safety. commit b5dc1903a4bca5bae099beec0b95840df7282250 Author: Jeffrey Altman Date: Sat May 10 16:19:35 2008 +0000 udebug-display-lastyeshost-order-20080510 LICENSE MIT lastYesHost is already in network byte order. do not reorder it again when displaying it. commit c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1 Author: Daria Phoebe Brashear Date: Fri May 9 19:50:39 2008 +0000 server-meltdown-avoidance-20080509 LICENSE IPL10 if the server is melting down or otherwise unable to reply with data, it will cut itself off. commit a36ec90cff608c3805f524070eb21aacc118f9e2 Author: Asanka Herath Date: Fri May 9 15:49:36 2008 +0000 windows-unicode-support-20080509 LICENSE MIT This delta provides a fairly complete implementation of Unicode character set support for the Windows Cache Manager and supporting tools including fs.exe, symlink.exe, the pioctl library, and the explorer shell extension. New Build requirements: In order to build the Microsoft IDN Mitigation APIs SDK 1.1 is now required. This SDK provides the normalization.h header and the redistribution install packages required to install normaliz.dll. The AFSDEV_INCLUDE path must be modified to point to the directory containing normalization.h. There are no lib files for this package. Cache Manager: The CM SMB server has been modified to negotiate the use of UNICODE. By default it is on. The "fs smbunicode" command can be used to disable UNICODE at runtime. cm_utils now contains UNICODE normalization and conversion routines built on top of the IDN Mitigation APIs. All input strings are normalized with UNICODE Normalization Form C. The pioctl interface now supports UTF8 strings in addition to ANSI. UTF8 strings are prefixed with % 8 as per the ISO 2022 extension. Pioctl Library: New apps should use the pioctl_utf8() function instead of pioctl(). pioctl() is for ANSI strings and provides backward compatibility with third party apps. fs.exe and symlink.exe: Converted to Unicode applications. All strings are now communicated using UTF-8. Explorer Shell Extension: Converted to a Unicode DLL. All strings are now communicated using UTF-8. Fonts on U.S. Windows distributions are not fully populated. As a result not all of the characters can be displayed in all of the dialog boxes. Still to do: 1. Add Unicode normalization to AFS directory entries and mountpoint and symlink target strings. 2. Use the Unicode version of GetCurrentDirectory in fs_utils.c 3. Update the installers to install the IDN Mitigation APIs on XP and 2003. Vista already has them and they are not supported on pre XP SP2 releases. commit 048ae7c7e63e03af16925613aeec8243b45ffe70 Author: Jeffrey Altman Date: Fri May 9 04:53:08 2008 +0000 windows-have-snprintf-20080509 LICENSE MIT Visual Studio provides [v]snprintf. No need to define and export it. commit 3feee9278bc8d0a22630508f3aca10835bf52866 Author: Daria Phoebe Brashear Date: Thu May 8 22:24:52 2008 +0000 rx-retain-windowing-per-peer-20080508 LICENSE IPL10 we learned about the peer in a previous connection... retain the information and keep using it. widen the available window. makes rx perform better over high latency wans. needs to be present in both sides for maximal effect. commit e6c818f070022529c362e42dfed340f54b2fd26e Author: Jeffrey Altman Date: Thu May 8 22:17:49 2008 +0000 viced-avoid-infinite-loop-with-altaddr-unset-20080508 LICENSE IPL10 if we return leaving a non HOSTDELETED host while it does not have ALTADDR set, a loop can happen. avoid it by simply setting ALTADDR again when we're done, if we believe some addresses are still good this is fine. commit ef619db804d471fda3bf3f77d55e8cd4e4699b29 Author: Jeffrey Altman Date: Thu May 8 06:25:42 2008 +0000 windows-buf-invalidate-on-vnovnode-20080507 LICENSE MIT Once we know that an attempt to stablize a buffer has failed due to VNOVNODE, stop trying to Stablize future buffers and just invalidate all of them belonging to the same FID. commit c847fb4964c0ec24c404cf1fb353b08af81b5eac Author: Daria Phoebe Brashear Date: Tue May 6 16:01:05 2008 +0000 viced-large-more-threads-20080506 LICENSE IPL10 fileserver -L should imply -p 128, not -p 12 commit 98e658b7821f5020c67c05503f9e2c61c945554a Author: Jeffrey Altman Date: Fri May 2 20:29:43 2008 +0000 windows-server-retry-20080502 LICENSE MIT do not retry if there is no server available for the current attempt commit abff169b58764380650e6e162707be68d3aa9bf1 Author: Daria Phoebe Brashear Date: Fri May 2 01:59:27 2008 +0000 butc-xbsa-lwp-protoize-damage-20080501 LICENSE IPL10 make xbsa variant work again commit 7915302f28091dd0a6547f0f58fa5ceb581cc21a Author: Daria Phoebe Brashear Date: Thu May 1 20:00:00 2008 +0000 uuid-corrected-duplicate-check-20080501 LICENSE IPL10 apply check to chain, not input commit 0a2c144307d2471450c0660e141906a1f7b1ea36 Author: Daria Phoebe Brashear Date: Wed Apr 30 20:07:43 2008 +0000 client-idledeadtime-support-20080430 LICENSE IPL10 in the event a server is "melting down" and not responding with data to RPCs this adds the ability to time out the calls rather than letting keepalives effectively hang the client forever. does not mark the server down since... it's not down. Side effect: adds similar tracking for authentication errors so tokens need not be discarded if one server's clock has drifted. commit 888bc28b1886e994d430ddc61657e60a910208a6 Author: Daria Phoebe Brashear Date: Mon Apr 28 22:48:00 2008 +0000 ubik-recovery-swap-in-new-fd-20080428 LICENSE IPL10 when recovery is done, forcibly invalidate the old fd commit 668cd5331e4857a73ba1d849446e0dfcae97eadf Author: Hans-Werner Paulsen Date: Mon Apr 28 17:14:55 2008 +0000 tbutc-wrong-lp-getrwindex-20080428 LICENSE IPL10 FIXES 96575 The pthread butc crashes with SIGSEGV, when I restore to a volume which already exists. This does happen with OpenAFS 1.4.7pre4 on i386_linux26. Looking into the code I think butc is using the wrong function Lp_GetRwIndex (at volser/vsprocs.c:4394). It uses the one in the library lib/libvosadmin.a, but should use the function defined in volser/lockprocs.c. commit 25d9dbb6be970d54c4711890b2085c153eda15fa Author: Jeffrey Altman Date: Mon Apr 28 16:18:52 2008 +0000 udebug-64bit-time_t-vs-printf-20080428 LICENSE MIT 64-bit time_t values cannot be passed to printf() for evaluation by a %d variable. To avoid the problem we cast the value to int. commit 2f2d5fd8a7e80802fead9ee944e33c1a0c818abd Author: Jeffrey Altman Date: Mon Apr 28 16:04:38 2008 +0000 windows-rx-idle-timeout-20080428 LICENSE MIT Add "IdleDeadTimeout" registry value and call rx_SetConnIdleDeadTime() with it when creating new rx connections. This forces the Rx stack to return RX_CALL_TIMEOUT if the file server has returned VBUSY for longer than the IdleDeadTimeout. When RX_CALL_TIMEOUT is received, the cache manager will now attempt to find another server for the object that might be less busy. commit 7a6751c08800da5d49bf3def9175174499f6337e Author: Chaskiel M Grundman Date: Mon Apr 28 04:45:03 2008 +0000 kdump-install-fixups-20080427 LICENSE IPL10 FIXES 96465 The install rule: - installs the empty 'kdump-build' file instead of the binary on all platforms except irix - overwrites the selection script with the binary on linux and hpux - doesn't have an alpha_linux branch - installs the wrapper script as kdump32 and the binary as kdump on solaris (instead of vice-versa) The dest rule: - overwrites the selection script with the binary on alpha_linux and hpux commit c8f4d9f0079b7eeacf831061a0c39310aafaa045 Author: Daria Phoebe Brashear Date: Sun Apr 27 04:59:51 2008 +0000 redhat-cellservdb-update-20080423 LICENSE IPL10 take update from upstream commit 2aa615fed2b801a7ed3abf7da5aaa293a4f783bf Author: Daria Phoebe Brashear Date: Sun Apr 27 04:53:59 2008 +0000 zero-uio-len-when-trimming-20080426 LICENSE IPL10 make it match ufsread case. should change this later. commit b1bf96f7581e58137f49e2b685cf6e91ff4f7dda Author: David Botsch Date: Fri Apr 25 12:39:45 2008 +0000 macos-afscell-configurator-20080423 LICENSE IPL10 not ready for release, but, add a tool which installer can run to ask for a cell name AUTHOR LICENSE IPL10 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 not ready for release, but, add a tool which installer can run to ask for a cell name commit b87935a4c5f26357e29f1db46eff8b1cf9185f3b Author: Daria Phoebe Brashear Date: Thu Apr 24 23:44:01 2008 +0000 vos-move-avoid-spurious-unlock-20080424 LICENSE IPL10 lightly modified from what Bren Mills submitted; the second unlock call after mfail may be entirely useless. commit 088eb9158bf553d5b3dcea8f37d3bec439419d44 Author: Jeffrey Altman Date: Thu Apr 24 17:21:01 2008 +0000 windows-buf-refcount-20080424 LICENSE MIT Implement DEBUG_REFCOUNT refcount tracking code to debug refcount issues in the cm_buf module. Fix a refcount leak caused by buf_IncrSyncer() incorrectly removing cm_buf_t objects from the dirty list. Fix the dumping of the dirty list to actually dump the dirty list. commit 6143f2eb5c85f5c428578b60b3b8892321f7fbe1 Author: Jeffrey Hutzelman Date: Thu Apr 24 04:08:03 2008 +0000 windows-cellservdb-20080423 LICENSE IPL latest greatest CellServDB commit 6809ba29fadbd0d84ff6a9bf2ccd909b2f54b186 Author: Dan Hyde Date: Wed Apr 23 19:56:52 2008 +0000 vol-setaside-one-fd-per-thread-20080423 LICENSE IPL10 FIXES 87977 kids these days share badly. give each one their own fd otherwise they fight. commit d18f5104f57152dfb6d1125a2d3a8bf17a266f44 Author: Simon Wilkinson Date: Tue Apr 22 13:50:23 2008 +0000 linux-fedora9-packaging-updates-20080422 LICENSE IPL10 make build system able to cope with fedora 9 commit 8bf142ae2a979447b259b0945187379812883bee Author: Daria Phoebe Brashear Date: Mon Apr 21 20:40:22 2008 +0000 libadmin-vos-irix-fixes-20080421 LICENSE IPL10 irix is cranky about missing prototypes commit 92b5087b42653d5358433c06d60f3adc67a11015 Author: Daria Phoebe Brashear Date: Mon Apr 21 19:53:45 2008 +0000 dafs-irix-prec99-20080421 LICENSE IPL10 unless/until we build c99, irix needs this commit a6ef7fed731628a5e5b8af62f7e986d6f7ccf444 Author: Jeffrey Altman Date: Mon Apr 21 16:35:12 2008 +0000 windows-cache-version-20080421 LICENSE MIT increase the cache version because the cm_volume_t data structure was modified. commit 0caa578a05150451c706c2ec6c3d095c671a7043 Author: Simon Wilkinson Date: Sat Apr 19 22:55:02 2008 +0000 linux-fc9-20080419 LICENSE IPL10 add in needed changes for fc9 kernels commit 194067be89293d2f3ee4e791515c3ac020d3a551 Author: Daria Phoebe Brashear Date: Fri Apr 18 21:49:45 2008 +0000 klog-deal-with-aix-stupidity-20080418 LICENSE IPL10 aix krb5 is broken. deal. commit 2a0f8bfda8b00de429cb15481e3e20d5d140a81c Author: Daria Phoebe Brashear Date: Mon Apr 21 19:59:14 2008 +0000 ppc64-linux-26-thread-info-20080418 LICENSE IPL10 thread_info is dead commit c3eb805fc0309efca059a26b946eb4350417867e Author: Jeffrey Altman Date: Fri Apr 18 17:43:19 2008 +0000 windows-volume-status-20080418 LICENSE MIT A problem was discovered with cm_Analyze when serverRef instances are marked offline. cm_CheckOfflineVolume() was not resetting the serverRef state. cm_Analyze was also waiting in sleep calls when it was it is clear that waiting would not result in a change of state. cm_CheckOfflineVolume() was updated to always reset the serverRef state and indicate that the volume should be considered online for the purpose of retrying when the serverRef state is reset to srv_not_busy. The problems identified in the MIT dev.mit.edu stress test environment are resolved by these changes. commit f3056feadbd6866bddc20e040b5005baeb4c8cad Author: Daria Phoebe Brashear Date: Fri Apr 18 14:55:33 2008 +0000 klog-aix-missing-symbols-20080418 LICENSE IPL10 aix's krb5 isn't heimdal or mit. it has dangling symbols. yay! commit 8ea0eef2d6807d2ad51d29853335f115439e616c Author: Daria Phoebe Brashear Date: Fri Apr 18 14:54:30 2008 +0000 lwp-fix-protoize-20080418 LICENSE IPL10 make this cast correct. commit 5f6b59f4601e9892e082a145a75e5872818d2e06 Author: Rainer Toebbicke Date: Tue Apr 15 13:29:20 2008 +0000 linux-fakestat-avoid-mtpt-fillin-issue-20080415 LICENSE IPL10 FIXES 93898 "It is actually the detection of a "cell" in the mount point string which triggers the (loosely consistent) fakestat handling - it's treated like a foreign cell and the mount point is never "completely evaluated", i.e. logically replaced by the root directory of the volume in question. As a result, callbacks are ignored, as they go against the directory and not the mount point." commit 4440b9a61247a0da020042b4262695f0ef7d35de Author: Jeffrey Altman Date: Mon Apr 14 22:32:27 2008 +0000 windows-volume-20080414 LICENSE MIT 1. Convert cm_volume_t mutex to a rwlock (rw). 2. Don't hold cm_volume_t lock across RPCs 3. Add CM_VOLUMEFLAG_UPDATING_VL flag to prevent multiple threads from performing volume update calls at the same time on the same volume set. 4. Convert the .rw, .ro, and .bk cm_vol_state_t members of cm_volume_t to an array of cm_vol_state_t members indexed using the pre-existing RWVOL, ROVOL and BACKVOL preprocessor symbols. This will permit consolidation of code and make it easier to add new volume types to the volume set in the future. commit 7936739f44372458fffb86058b3279d53995bd8b Author: Daria Phoebe Brashear Date: Mon Apr 14 21:25:41 2008 +0000 volser-prototype-include-fix-20080414 LICENSE IPL10 so tvolser can build again commit 7bfe889eb2e900719c70cd9fd29f82569ef4c04c Author: Jeffrey Altman Date: Fri Apr 11 18:44:47 2008 +0000 windows-freelance-20080411 LICENSE MIT Do not set the DV on the rootSCachep because doing so disables the use of MergeStatus(). Do not remove the rootSCachep from the hash table because doing so makes causes a second cm_scache_t object for that fid to be created that is not the root. commit 40d41c191bdb64256d4ccf6a5f1bab8124249e63 Author: Jeffrey Altman Date: Thu Apr 10 18:50:49 2008 +0000 vos-noresolve-option-20080410 LICENSE MIT Add a -noresolve option to all vos commands. This permits the display of servers by IP address instead of DNS name. Very useful when 127.0.0.1 is registered as the server address or when trying to eliminate multi-homed addresses. commit fab6653cf714ee6121cd7a22857f22f86a969559 Author: Simon Wilkinson Date: Wed Apr 9 17:39:36 2008 +0000 void-return-casts-20080409 LICENSE IPL10 do apporpriate casts for void returns to placate irix cc commit 7faf596b439cce022cfa4b3174cd17a1f0a0901e Author: Jeffrey Hutzelman Date: Wed Apr 9 14:38:47 2008 +0000 linux-nfstrans-avoid-access-deadlock-20080409 LICENSE IPL10 avoid deadlocking in access while we're already holding locks as filldir is doing its work commit 494568ea929af96bf2b641e31b970cf695f13240 Author: Asanka Herath Date: Wed Apr 9 05:34:22 2008 +0000 windows-nsis-vs2005-20080409 LICENSE MIT Add support for building with VS2005 Runtime Libraries. For the release build use the vcredist_.exe package. For the debug build, build an msi from the merge modules and then install that package. commit 1495088e4168a2ddf35135db872777b9e51823b3 Author: Simon Wilkinson Date: Tue Apr 8 19:35:51 2008 +0000 redhat-spec-updates-20080408 LICENSE IPL10 FIXES 93616 update to correctly fill in specfile from source tree commit 0d2e36cac80d4c49db8e6b12988344107b7b1cd4 Author: Jeffrey Altman Date: Mon Apr 7 15:19:10 2008 +0000 windows-strlwr-cellname-20080407 LICENSE MIT cellnames are case insensitive and by convention they are lowercased. commit c108d606f59b6f5edcb863de3f3d9d7ecc44f04a Author: Jeffrey Altman Date: Mon Apr 7 15:16:48 2008 +0000 windows-freelance-three-20080407 LICENSE MIT deliver notification events to watchers when adding mount points or symlinks to the freelance root.afs volume. commit 8f57819a99273812c1d9ba7ec504689b05b83b14 Author: Jeffrey Altman Date: Mon Apr 7 07:00:16 2008 +0000 windows-freelance-two-20080407 LICENSE MIT do not add the scp into the hash table twice. commit a642541b960f601d7396c28ca08ee7fd32975ce6 Author: Jeffrey Altman Date: Mon Apr 7 06:42:44 2008 +0000 windows-freelance-20080407 LICENSE MIT When freelance symlinks and mountpoints were modified the target string value was not being updated and the old data was not being invalidated. commit c7ee4828e0d7c631fcd827d1a4c9af8bebb2fc2d Author: Marc Dionne Date: Mon Apr 7 04:48:45 2008 +0000 linux-no-syscall-probe-with-no-init-mm-20080406 LICENSE IPL10 FIXES 88000 no better idea for this, got to do something... push this for now commit ef19cea44c433ec7c1d214e8229b5fb4ea4b6ef6 Author: Jeffrey Altman Date: Sun Apr 6 14:33:12 2008 +0000 windows-fid-hash-20080406 LICENSE MIT 1. During the conversion to hash based FID comparisons the cm_GetSCache() lookups from the cm_ioctl.c (CM_IOCTL_QOPTS_HAVE_FID) and from FIDs returned by cm_LookupSearchProc() were broken. 2. In cm_LookupInternal(), ensure that an error is returned if rock.found is FALSE. A failure to return an error was resulting in cm_GetSCache() producing an object for FIDs with vnode=0,unique=0 3. cm_GetSCache(), remove the warning check for vnode=0,unique=0 4. reapply the synchronization logic to async store requests in cm_SyncOp(). The lack of synchronization is causing requests to complete out of order which is confusing the SMB redirector when under heavy load. commit 5dd7e65c6fd233e70d98b271cbf48ac2356efe0f Author: Daria Phoebe Brashear Date: Sat Apr 5 19:02:59 2008 +0000 revert-ubik-changes-20080405 LICENSE IPL10 these changes are unneeded; remove them commit 5640c4a1b5bea4e61ff2e6c2da02265c3e1ba612 Author: Kevin McBride Date: Fri Apr 4 20:58:35 2008 +0000 volser-preclude-alternate-partition-clones-20080404 LICENSE IPL10 patch based on work from shadow@dementia.org the idea is to preclude multiple copies of a volume replica on a server, as there's nothing to indicate which copy is correct and you can end up serving stale data when you think you've just released and are serving something good commit e62727e328c8fad2a5b7b305745a248d9aabe19a Author: Daria Phoebe Brashear Date: Fri Apr 4 16:39:53 2008 +0000 tubik-more-makefile-fun-20080404 LICENSE IPL10 kill off library name reuse commit ece59f688a8820e3ea0601f77ed1b99af7ae7cfd Author: Daria Phoebe Brashear Date: Thu Apr 3 17:58:11 2008 +0000 tubik-head-makefile-compat-20080403 LICENSE IPL10 match new style install stuff commit 65e701fee4968b17066bb81e25b7adaa4024d4f3 Author: Kevin McBride Date: Thu Apr 3 17:41:12 2008 +0000 tubik-vos-20080403 LICENSE IPL10 build pthreaded vos commit 5f67c569455f0597d42b5a2cccf89e470ed74c53 Author: Daria Phoebe Brashear Date: Thu Apr 3 15:20:41 2008 +0000 tubik-20080403 LICENSE IPL10 avoid bogus dependency here too commit bc1a7f1ee8fb12eeb7b54f89987e6f240627a579 Author: Daria Phoebe Brashear Date: Thu Apr 3 04:54:34 2008 +0000 tubik-one-more-20080402 LICENSE IPL10 handle the rest of the issues commit 33161360381d5ec67f884c087da26bd8009a0511 Author: Daria Phoebe Brashear Date: Thu Apr 3 02:20:25 2008 +0000 tubik-makefiles-fun-20080402 LICENSE IPL10 these fixes brought to you by delicious beer. commit ec02ff4342844c0d83ed3e9e5e27aef7c3af7204 Author: Daria Phoebe Brashear Date: Wed Apr 2 22:45:05 2008 +0000 tubik-makefile-fixes-20080402 LICENSE IPL10 don't use gmake macros. ick commit 9fbbc3f50cc6f04796a8a444bc06acc66a9c55a6 Author: Steven Jenkins Date: Wed Apr 2 20:47:27 2008 +0000 pthreaded-ubik-20080402 LICENSE IPL10 add pthreaded ubik and various binaries commit 93c326ef08cacc730470a7af75041d943825260b Author: Marc Dionne Date: Wed Apr 2 19:19:57 2008 +0000 linux-flush-compare-20080402 LICENSE IPL10 because i let this slip out like this. sigh. commit 31d06c78b2f8ea14877bebf05097b33cc7e233f2 Author: Harald Barth Date: Wed Apr 2 14:08:19 2008 +0000 linux-flush-unlock-20080402 LICENSE IPL10 because i let this slip out like this. sigh. commit 5fe4de574dba287b8197263028ac49014955a483 Author: Tom Keiser Date: Tue Apr 1 21:28:05 2008 +0000 salvageserver-init-handler-lock-20080401 LICENSE IPL10 init lock commit 0faa1e0412c4cb22e6820473fa60cdea5d516550 Author: Daria Phoebe Brashear Date: Tue Apr 1 21:15:46 2008 +0000 tsalvaged-clean-20080401 LICENSE IPL10 make clean target work here commit 48838bab91b50a5cf8cd3fb7d1902e6b7525bb86 Author: Daria Phoebe Brashear Date: Tue Apr 1 21:05:19 2008 +0000 vol-osi-assert-20080401 LICENSE IPL10 undo the old windows afs assert undoing commit 695d1aa896cf38cfe9856ba1c45b6b3cca7565a2 Author: Daria Phoebe Brashear Date: Tue Apr 1 19:15:29 2008 +0000 aklog-debug-text-dont-deref-null-ptr-20080401 LICENSE IPL10 yeah, this is sort of dumb commit 3f54c934b9c933d5f34644a096c821375db17d97 Author: Simon Wilkinson Date: Tue Apr 1 18:44:28 2008 +0000 aklog-tidyup-20080401 LICENSE IPL10 FIXES 92643 remove windows code (osolete) from unix branch do other minor cleanup commit 94aa281af8c9cb74561a32a34cb7cd5b5da97cdf Author: Daria Phoebe Brashear Date: Tue Apr 1 17:49:42 2008 +0000 vlserver-checksignal-returns-voidstar-20080401 LICENSE IPL10 FIXES 92662 CheckSignal returns void*, don't try to return an int directly. commit 9bdb8599c094821d0dfb29505cc63aa2a8460ae2 Author: Tom Keiser Date: Tue Apr 1 15:09:54 2008 +0000 synvageserver-no-rx-server-refs-20080401 LICENSE IPL10 FIXES 92648 remove reference to rx service mutex and thread tracking. we need to ensure there's nothing else either but this is true now commit 4bcb7d01b2a8aa6ce53cf1c0b093058b4e5072f1 Author: Jason Edgecombe Date: Tue Apr 1 07:50:28 2008 +0000 man-page-vos-shadow-20080331 LICENSE BSD Man page for vos shadow. commit a26d7f1403d7d41d51836442a7a4759f4fc2bfe4 Author: Mike Meffie Date: Mon Mar 31 16:54:14 2008 +0000 test-updates-20080331 LICENSE IPL10 update tests directory commit 99a29903c8b77e2e3260bf06d913367fadbc4fed Author: Jeffrey Altman Date: Sun Mar 30 17:19:01 2008 +0000 windows-aklog-cross-cell-20080330 LICENSE MIT report the new ID after a successful cross cell registration commit 2169423f6821672be5506ab388d6faa0ed37f0d0 Author: Jeffrey Altman Date: Sun Mar 30 15:10:05 2008 +0000 windows-aklog-robustness-20080330 LICENSE MIT Fix the order of parameters to strncpy ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE MIT Fix the order of parameters to strncpy Add error checking to all krb5 functions. Initialize the global ccache variable to NULL. commit aff582765a8af5ce8743e28ee4d33bf8e4396d63 Author: Jeffrey Altman Date: Sun Mar 30 05:16:17 2008 +0000 windows-vlserver-makefile-20080329 LICENSE MIT make references to INCFILEDIR consistent commit c6897cee01063d6d6ad302e6527794130f007d74 Author: Jeffrey Altman Date: Sun Mar 30 04:30:52 2008 +0000 windows-use-client-realm-for-tokens-20080329 LICENSE MIT Two recent changes to the AFS/Kerberos landscape have been causing problems for aklog and related modules. First, the support for multiple local realms for the cell has broken the pts auto-registration code when the realm used for the token acquisition does not match the realm belonging to the selected vldb server. Second, Kerberos referrals prevents detection of the realm of the vldb server. This commit adds a new method of searching for the afs service principal. The first attempt is for afs/@. If found, the is used as the realm of the cell. The patch adds error handling for KRB5_ERR_HOST_REALM_UNKNOWN which is returned when krb5_get_host_realm() can't determine the realm. Duplicate queries are also avoided and copy_realm_of_ticket() is properly employed. commit 07d806845e1bf790c8cbe8e6a711e99e0958235b Author: Tracy Di Marco White Date: Fri Mar 28 17:11:19 2008 +0000 nbsd-update-20080328 LICENSE IPL10 FIXES 92073 fix nbsd30 param file, add nbsd40 param file commit b2e3e6427522c92ce4132abf2ca08ce18599b16b Author: Jeffrey Altman Date: Fri Mar 28 14:01:03 2008 +0000 windows-freelance-20080328 LICENSE MIT 1. return CM_ERROR_NOSUCHFILE when attempting to remove a symlink or mount point that does not exist 2. When adding a new symlink or mountpoint, be sure to increment the number of local mount points 3. When re-initializing the fake root.cell the unique value is always one, not two. Use cm_FidCmp() to compare fids. The use of the value two prevented the invalidation of existing values because all of the directory entries are created with the unique set to one. commit be49dbe89161415a4a78f2f6b588fb94ee940ae9 Author: Daria Phoebe Brashear Date: Fri Mar 28 04:41:00 2008 +0000 pinstall-collateral-damage-20080327 LICENSE IPL10 it's really easy to get into install-sh relative path hell. work around it. commit e0021180665fa75af88c3ebf0d7f58f93918ceab Author: Douglas Engert Date: Thu Mar 27 18:48:22 2008 +0000 krb5-klog-solaris-krb-20080327 LICENSE IPL10 FIXES 91573 no krb5_mcc_ops on solaris krb5. cope commit 87e959e87df52e026ffcb2de8ecfcbf4889f7bd8 Author: Daria Phoebe Brashear Date: Thu Mar 27 18:39:57 2008 +0000 ptutil-swap-epoch-version-as-needed-20080327 LICENSE IPL10 FIXES 90869 do byteswapping of epoch and version so we print and compare sensibly commit 7c05046f1f097a6ded89a5928ea48aca224f520a Author: Daria Phoebe Brashear Date: Thu Mar 27 16:20:29 2008 +0000 volser-higher-thread-limit-20080327 LICENSE IPL10 with tvolser we can increase this and actually *see benefit*, so... commit 6c9647cc614cfdf9b2c9cc8adb7b3c6b741e1f4e Author: Alistair Ferguson Date: Thu Mar 27 16:16:02 2008 +0000 dafs-vshutdown-match-id-to-params-20080327 LICENSE IPL10 we track shutdown thread parms as index rather than device; deal correctly commit 1cf6c12a075cb0705cd8680291d78d215d4fe996 Author: Chas Williams Date: Wed Mar 26 04:16:51 2008 +0000 linux-dont-flush-writes-on-exec-20080326 LICENSE IPL10 FIXES 17509 because of when fds are NULL'd in file_table this should work except when one process has the same file open for read and for write in different FDs; otherwise, the last write fd to close collects the error. commit 3f8be40525ae84980f1519e60f4b9f73bd4cc676 Author: Marc Dionne Date: Wed Mar 26 04:10:26 2008 +0000 linux-restore-iget-cachemgr-20080326 LICENSE IPL10 FIXES 88000 restore the d_alloc_anon we need commit f3776341151ad2c9b439567411e908836b16d415 Author: Jeffrey Altman Date: Sun Mar 23 14:10:42 2008 +0000 windows-vlserver-include-path-20080323 LICENSE MIT Fix the INCFILEDIR definition so that the INCFILES actually exist commit 76494a572e504c426fe9dabc8e68115f7ee6a05c Author: Marc Dionne Date: Sun Mar 23 00:53:29 2008 +0000 linux-2625-update-20080322 LICENSE IPL10 FIXES 88000 update 2.6.25 patch to hopefully cover what we need better commit 887f2869e309d00dff095b033dabf59231ef3300 Author: Jeffrey Altman Date: Sat Mar 22 00:19:03 2008 +0000 windows-aklog-cleanup-20080321 LICENSE MIT make krb5_context global. wrap all calls to exit() in a new function, akexit(), which performs cleanup of the krb5_ccache and the krb5_context. commit 493afd1e59661e64120a8d655d6503ac396ca46b Author: Tom Keiser Date: Fri Mar 21 16:59:03 2008 +0000 aix-unix-sockets-fix-200803221 LICENSE IPL10 FIXES 88088 use aix's macro for the size of sockaddr_un commit 94f32208af8896e144e18aa34d80bf2924b4ac36 Author: Jeffrey Altman Date: Fri Mar 21 12:20:21 2008 +0000 windows-aklog-20080320 LICENSE MIT Windows Error Reports indicate that sometimes the krb5_cc_default() call must be failing because krb5_cc_principal is being called with a NULL ccache value. Perform error checking and cleanup that was not previously implemented. commit 77c1e986369c8151ec19e74dccbd2b40de6270d9 Author: Jeffrey Altman Date: Fri Mar 21 04:15:47 2008 +0000 windows-pioctl-disable-service-mgr-check-20080320 LICENSE MIT Adds HKLM\\Software\\OpenAFS\\Client DisableIoctlSMCheck For use in setting tokens when afsd_service.exe is started without use of the NT Service Manager. Permits profiling authenticated operations. commit edbde00d6c3be0228b1647505d8483632cceaf39 Author: Jeffrey Altman Date: Thu Mar 20 00:00:28 2008 +0000 windows-max-cells-20080319 LICENSE MIT Add CM_CONFIGDEFAULT_CELLS (1024) to cm_config.h and a "Cells" registry value that can be used to alter the limit at runtime. No longer tie the number of cells to the number of stat cache objects. 1024 should be more than sufficient. commit d24b177765f2955a7c54ecdc33744ecee069f25e Author: Jeffrey Altman Date: Wed Mar 19 20:17:04 2008 +0000 windows-volume-dotdotFid-20080319 LICENSE MIT The volume dotdotFid field should have moved into the cm_volstate_t object as there can be different parents for rw, ro, and bk volumes. commit b2667be49d31a26517f3c7a192091847434e6151 Author: Jeffrey Altman Date: Wed Mar 19 15:34:48 2008 +0000 windows-no-more-afsdifs-20080319 LICENSE MIT do not include a header that no longer exists commit e3f9fcdeaaf35363c0b3d3a8004892aa4ce9233f Author: Jeffrey Altman Date: Wed Mar 19 13:57:36 2008 +0000 windows-remove-umich-afsifs-20080319 LICENSE MIT The UMich AFS IFS code has never been made ready for production. An alternative approach is currently being worked on that will be. commit e6d7e165886122dc4cee850632ee2c1f55165258 Author: Jeffrey Altman Date: Wed Mar 19 13:22:02 2008 +0000 windows-parseacl-20080319 LICENSE MIT Protect against invalid data being passed into ParseAcl and corrupting the stack. This affects both fs.exe and the explorer shell extension. Windows Error Reporting in recent weeks has begun to report several instances of stack corruption in the explorer shell extension from Denmark and Germany. commit e7e2a3bd0691e3da78a36c8f3332577290f59a64 Author: Jeffrey Altman Date: Tue Mar 18 16:44:39 2008 +0000 windows-remove-umich-afsifs-20080318 LICENSE MIT The UMich AFS IFS code has never been made ready for production. An alternative approach is currently being worked on that will be. commit 6c81286368e17bdde543d4d6e5d19512cab62ba3 Author: Tom Keiser Date: Tue Mar 18 16:05:09 2008 +0000 dafs-kill-xcpu-dump-vlru-stats-20080318 LICENSE BSD this will dump the current dafs vlru state on kill -XCPU (just as we dump other fileserver state) that state is VLRU is a garbage collection facility which automatically offlines volumes in the background. The purpose of this facility is to proactively offline infrequently used volumes to improve shutdown and salvage times. The process of offlining a volume from the "attached" state to the "pre-attached" state is called soft detachment. VLRU works in a manner similar to a generational garbage collector. There are five queues on which volumes can reside: new, intermediate, old, held, and candidate: held: queue for volumes which are administratively barred from VLRU activity candidate: queue for volumes which have not been accessed recently, and are thus candidates for soft detachment new, intermediate, old: generational queues for active volumes; state transitions controlled by inactivity timers. State transition timeouts are as follows: candidate->new activity present new->candidate (1*vlruthresh) minutes since last transition; no activity new->mid (2*vlruthresh) minutes since last transition; activity present mid->old (4*vlruthresh) minutes since last transition; activity present old->mid (2*vlruthresh) minutes since last transition; no activity mid->new (1*vlruthresh) minutes since last transition; no activity commit db4c703131c4fe68e699d873525f1055845545f7 Author: Kevin McBride Date: Tue Mar 18 15:58:40 2008 +0000 pts-process-input-file-and-exit-20080318 LICENSE IPL10 The pts program has a command 'source' to read commands from a file. In the interactive "shell" mode, this command works, reading and executing commands until the end of the file and then returning to the command shell. This command is valid for use as a command line option, but does not work. It requires a valid filename as an argument, but does not process the file, instead just dropping the user into the interactive mode. When given as a command line option, pts source SHOULD read the file, execute the commands and then exit, according to the documentation. It does not currently do this and should be fixed. commit 7ffe6a97ff0453c2cae8b15a9d7e2084e3a864d4 Author: Chaskiel M Grundman Date: Mon Mar 17 18:07:36 2008 +0000 hpux1123-sysname-detection-20080317 LICENSE IPL10 FIXES 89125 add the 11.23 sysname commit 2c3cbd499ad4461511f2181e1ac0a0cfa6768821 Author: Chas Williams Date: Mon Mar 17 18:02:53 2008 +0000 afs-nostats-xstats-start-cmtime-noop-20080317 LICENSE IPL10 FIXES 90528 add missing noop so we can build with stats disabled commit eee60dd38d1be14be052178816aea36b2f8de3ff Author: Chas Williams Date: Mon Mar 17 17:56:38 2008 +0000 rx-nacks-increment-with-all-newacks-20080317 LICENSE IPL10 don't "lose" newacks, apply all of them to the ack count commit ec5a43b08686680b9d9c0552e3a912871dac4cc8 Author: Jeffrey Hutzelman Date: Mon Mar 17 17:48:35 2008 +0000 linux-nfstrans-readme-20080317 LICENSE IPL10 readme for linux nfs translator and extensions commit 449756f8a26f1b30147851f98ac67b2a2642abf8 Author: Daria Phoebe Brashear Date: Mon Mar 17 17:14:01 2008 +0000 volser-handle-malloc-failure-20080317 LICENSE IPL10 allocate memory for all rx OUT parameters in stubs to avoid crashes. commit 680123d70c98d7d9e5884e3d43ed5298d6aad11d Author: Mattias Pantzare Date: Mon Mar 17 16:51:55 2008 +0000 solaris11-update-20080317 LICENSE IPL10 update solaris 11. probably we should do configure tests instead for these things, since they're sort of "moving target" commit f776cb96f97e5995a3a58074f2bf913e8ea4be00 Author: Steven Jenkins Date: Mon Mar 17 16:39:03 2008 +0000 dafs-readme-20080317 LICENSE IPL10 update README to mention DAFS setup and build options commit c7bce5882a685fcc6ecac53fb54ec7047f21ec6c Author: Tom Keiser Date: Mon Mar 17 17:06:30 2008 +0000 dafs-accurately-track-inuse-20080317 LICENSE IPL10 keep accurate tabs on whether a volume is "in use" so we don't end up with volume state that's nonsensical. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== LICENSE IPL10 keep accurate tabs on whether a volume is "in use" so we don't end up with volum e state that's nonsensical. ==================== LICENSE IPL10 keep accurate tabs on whether a volume is "in use" so we don't end up with volum e state that's nonsensical. commit 3a84b02172800e7c172e04718fb109d1f5f1c014 Author: Daria Phoebe Brashear Date: Mon Mar 17 15:38:15 2008 +0000 rx-clock-backward-detection-20080317 LICENSE IPL10 if the clock goes backwards, detect it and reset any rx events to run in a timely manner commit 8cad4305acb787500f9434949cfb3c6500f3287b Author: Steven Jenkins Date: Fri Mar 14 18:05:00 2008 +0000 demand-attach-docs-20080314 LICENSE IPL10 Additional documentation for the demand attach file server, plus a state diagram. commit 6fef8b74299e4ed75a1da45d7fdb948581ab2434 Author: Jeffrey Altman Date: Fri Mar 14 16:53:37 2008 +0000 windows-callback-20080314 LICENSE MIT Protect against a null volp commit 3a0fa5627bd5254f37aa5c2fb04ca7d27f0a06c1 Author: Jeffrey Altman Date: Fri Mar 14 16:16:14 2008 +0000 windows-max-volumes-20080314 LICENSE MIT Propagate the max volumes value into cm_memmap commit 53a57b79b567aed990eb27d0b4a24109a65a993e Author: Tom Keiser Date: Fri Mar 14 04:41:20 2008 +0000 vol-dafs-aix-fixes-20080313 LICENSE IPL10 FIXES 88087 * xlc doesn't support the inline keyword unless C99 is enabled * xlc won't parse enumerations with trailing commas commit 2d29c51167b50286e94bda35275e62cfc3c04dfd Author: Simon Wilkinson Date: Thu Mar 13 13:42:06 2008 +0000 lwp-fixprotos-20080313 LICENSE IPL10 FIXES 89857 make everything match, and make *ep take void and not a pointer commit e1fb328b9ae509316ce8fff81691f6b738929ee9 Author: Jeffrey Altman Date: Thu Mar 13 12:56:31 2008 +0000 rx-mutex-interlocked-macros-20080312 LICENSE IPL10 fix from sxw@inf.ed.ac.uk commit f9cc51fb40f1797b72ba5b05d7d0249b9a3b2e27 Author: Jeffrey Altman Date: Thu Mar 13 04:37:44 2008 +0000 windows-remove-scache-volp-20080312 LICENSE MIT The cm_scache structure has included a reference to the associated cm_volume_t, volp. By doing so the reference count on the cm_volume_t objects never hits zero unless all of the cm_scache_t objects in that volume have been reused. This prevents cm_volume object recycling. This commit removes the hard reference and instead adds a function cm_GetVolumeByFID which obtains a reference to the cm_volume that matches the cm_scache fid value as needed. A new "Volumes" registry value is added to permit explicit specification of the number of volume objects to be allocated. commit 5378bf47efdb9abb056a0111cf38b9b6c73c7bc8 Author: Marc Dionne Date: Thu Mar 13 02:23:57 2008 +0000 linux-2625-20080312 LICENSE IPL10 add missing bits commit f69a15c7a8e286ead1d7a3e444214a1553fa01e5 Author: Jeffrey Altman Date: Wed Mar 12 05:46:01 2008 +0000 windows-client-config-pt-20080311 LICENSE MIT typo in pt_BR language resource file commit 9cc4a8e02cd6b244c34f04ba9526183edd358bf7 Author: Jeffrey Altman Date: Wed Mar 12 05:12:54 2008 +0000 rx-no-interlockedadd-20080311 LICENSE IPL10 InterlockedAdd is only supported on Itanium commit 0e91773fd769f2c5ce69eef1e795993f963ab3ee Author: Steven Jenkins Date: Wed Mar 12 01:28:00 2008 +0000 man-page-fileserver-update-20080311 LICENSE IPL10 Update the fileserver documentation for demand-attach and add documentation of other missing options and notes where some options are only applicable with particular builds. commit c86ae86a53c8a8e5acc099e1ea437e3571b2e63d Author: Jeffrey Altman Date: Tue Mar 11 18:23:23 2008 +0000 rx-mutex-interlocked-macros-20080311 LICENSE IPL10 Introduce a new set of macros that can be used to permit either mutex based protection or Interlocked operation protection increments, decrements, or additions. rx_MutexIncrement(object, mutex) rx_MutexAdd(object, addend, mutex) rx_MutexDecrement(object, mutex) rx_MutexAdd1Increment2(object1, addend, object2, mutex) rx_MutexAdd1Decrement2(object1, addend, object2, mutex) For Windows these are implemented with the Interlocked operations for other platforms the existing mutex is relied upon. Only a subset of the rx_stats parameters have been transitioned at the current time. commit ff988ead4ee3986c1db9f983e4f25ba79469a4e4 Author: Simon Wilkinson Date: Tue Mar 11 17:46:58 2008 +0000 lwp-protoize-20080310 LICENSE IPL10 protoize lwp. make it match pthreads' idea of createprocess commit 9473128eb375b3ec31560613842220b934e07de6 Author: Jeffrey Altman Date: Tue Mar 11 17:00:18 2008 +0000 windows-lwp-proto-20080311 LICENSE IPL10 Fix breakage caused by recent lwp prototyping. commit cadbebc2e50aedea01475620a3add4c315c13faa Author: Daria Phoebe Brashear Date: Mon Mar 10 18:50:47 2008 +0000 linux-2625-20080310 LICENSE IPL10 adapted from marc dionne's patch, but works more directly like the darwin port, further, i'm guessing iget_locked will go away evewntually. maybe this is too conservative? commit 2cee2d88a8573f1b8eb336993d9acf6417cda4e2 Author: Jeffrey Altman Date: Mon Mar 10 18:16:29 2008 +0000 windows-client-config-misc-dlg-20080310 LICENSE MIT The Daemon and Server Threads fields were swapped. commit b7fb842b1cd11ceaa492201ad9a38052e424f6a8 Author: Simon Wilkinson Date: Mon Mar 10 16:44:16 2008 +0000 keyring-updated-20080310 LICENSE IPL10 revise keyring patch to avoid detection problems with keyring_type_key commit 9959232682d05f410dc0fae91f790b2ebed3273a Author: Daria Phoebe Brashear Date: Mon Mar 10 16:22:12 2008 +0000 hpux-param-updates-20080310 LICENSE IPL10 based on suggestion from cg2v@andrew.cmu.edu commit 5f6546ecbbe946f2275e07d87351968105c176a1 Author: Jeffrey Altman Date: Sun Mar 9 15:21:39 2008 +0000 windows-afs-execute-only-20080309 LICENSE MIT If we want to enforce the open for read flag in smb_ReadData we must also check for execute access. We map execute access to read access because AFS doesn't have a separate permission for that. commit 6e18cd4108e6367fe9766d5f2cfda48569c9ebbf Author: Jason Edgecombe Date: Sun Mar 9 05:57:29 2008 +0000 man-page-afsd-afsdb-20080308 LICENSE BSD FIXES 89288 89289 Reference RFC 1183 in the AFSDB documentation. commit 84a928ddd46b1b77c655b21ce7e9fc8d775b96db Author: Simon Wilkinson Date: Sun Mar 9 01:40:14 2008 +0000 pt-util-com-err-20080308 LICENSE IPL10 prototype afs_error_message() to ensure correct behavior on 64-bit systems with 32-bit int. commit cdd1e8b878c669927b7e2b8f06cd20b62f6bec51 Author: Jeffrey Altman Date: Sat Mar 8 23:38:08 2008 +0000 windows-installer-rxmaxmtu-setting-20080308 LICENSE MIT change the RxMaxMtu setting to 0 to restore default behavior (aka performance). The Cisco VPN 5.0.01.0600 client no longer requires a reduced mtu size for compatibility with AFS. commit f94e0d5688be0778d346711b6698e2ef567e1969 Author: Jeffrey Altman Date: Sat Mar 8 23:31:52 2008 +0000 windows-config-20080308 LICENSE MIT raise the daemon count to 4 now that we have a means of avoiding contention raise the tracebufsize to 10000 entries commit 801b670734e254665576dcb71756ea64a123abc9 Author: Jeffrey Altman Date: Sat Mar 8 23:23:48 2008 +0000 windows-syscfg-getifinfo-20080308 LICENSE MIT syscfg_GetIFInfo() obtains the current list of IP addresses. Its a really expensive operation. Call the function once and cache the data until the next IP address change instead of calling it everytime we receive a WhoAreYou or construct a new server object. Adds a new global rw lock, cm_syscfgLock commit 27008912ec2a0526e71f174b9e4e6d8dd1fc8f19 Author: Jeffrey Altman Date: Sat Mar 8 23:17:45 2008 +0000 windows-scache-20080308 LICENSE MIT do not discard data buffers we wish to keep commit c32f5466f0cf7150d8bbe286fa51834108dce63f Author: Jeffrey Altman Date: Sat Mar 8 23:15:54 2008 +0000 windows-performance-deadlock-20080308 LICENSE MIT correct a deadlock when calling HaveCallback commit 694202f29e5eafbcf0a07908ebdc2c67a2eecc3b Author: Jeffrey Altman Date: Sat Mar 8 15:43:45 2008 +0000 windows-cm-callback-remove-call-mutex-hold-20080308 LICENSE MIT Remove all of the code in #ifdef HOLD_CALL_MUTEX as we no longer use it. commit 526babc882364573be745b717c32fa1da29acaa2 Author: Jeffrey Altman Date: Sat Mar 8 14:15:43 2008 +0000 windows-eventlog-20080308 LICENSE MIT we need set privilege not query privilege commit fdcf6bba5546f2a09e972323be9469a49ce04c6f Author: Jeffrey Altman Date: Fri Mar 7 22:22:21 2008 +0000 windows-cm-performance-tuning-200803007 LICENSE MIT This is a first cut at a cache manager statistics monitor that can be used to determine the necessary cache parameters to support the working set. Off by default the performance package can be activated by setting "daemonPerformanceTuningInterval" in the service Parameters key. As with the other daemon interval values the unit is in seconds. At service start and each succeeding interval the cache manager will write statistics to %TEMP%\afsd_performance.txt showing the relative usage of cm_scache_t, cm_volume_t and cm_buf_t objects. The FID statistics keep track of all FIDs seen by the cache manager during the service session whether or not they are backed by any live object in the cache. These statistics are not stored in the cache file. commit 1f4ca0f488d765d5d09de9edf8a8fc4fbe6b09b1 Author: Jeffrey Altman Date: Fri Mar 7 22:14:41 2008 +0000 windows-cm-conn-20080307 LICENSE MIT Convert cm_conn_t reference counts to use Interlocked operations. This permits several cm_serverLock holds to be converted to read locks. Add string translation for VL errors to cm_Analyze(). Permit RXKAD errors other than RXKADEXPIRED to be treated as non-fatal. Instead immediately retry an alternate server if there is one. This will permit the client to continue to access replicated data from an alternate site if one of the file servers is misconfigured. commit 0479c650c17f35a4cf0de523cfc036b8d21629ce Author: Jeffrey Altman Date: Fri Mar 7 22:07:40 2008 +0000 windows-cm-server-interlocked-20080307 LICENSE MIT Convert cm_server_t reference counts to use Interlocked operations. This permits almost all of the cm_serverLock holds to be converted to read locks. Add missing cm_PutServerNoLock() calls in the multi_Rx version of cm_CheckServers(). (Thanks to Asanka) commit 757ee6da75123653dd094a6e1fdd374edf0c55f1 Author: Jeffrey Altman Date: Fri Mar 7 22:02:22 2008 +0000 windows-vl-noent-response-20080308 LICENSE MIT Prior to looking up a volume in the vldb the cm_volume_t object is constructed. If the response is VL_NOENT the cm_volume_t object should be removed and place at the head of the recycling list so that we do not recycle something we might actually care about. Convert more cm_volumeLock holds to read locks now that we are using Interlocked operations to manipulate the reference counts. commit 45200a26985678ccad051385f50f94321eb98256 Author: Jeffrey Altman Date: Fri Mar 7 17:44:40 2008 +0000 windows-scache-verification-20080307 LICENSE MIT Add a hash value verification check for stat cache entries commit 73c2fa385a6f61483189dc68c4a10a49d65c8bf5 Author: Jeffrey Altman Date: Fri Mar 7 17:37:35 2008 +0000 windows-rxstats-default-20080307 LICENSE MIT set the defaults for RxEnablePeerStats and RxEnableProcessStats back to 1 (on) so admins are not surprised. commit f637b6292d3723cd2cf672ecaba6f179813ab64b Author: Simon Wilkinson Date: Fri Mar 7 17:30:19 2008 +0000 fakestat-access-for-nautilus-20080307 LICENSE IPL10 in order that nautilus' .directory checks can work without stat()ing every damn thing, do what we do for the mac, basically. commit 5589875561e0062b2f06fc4ce0a8fad37a0d8eb5 Author: Jeffrey Altman Date: Fri Mar 7 15:35:38 2008 +0000 windows-smb-writedata-crash-20080307 LICENSE MIT FIXES 88731 If an application opens a file for read only and then attempts to write to it, we would attempt to release an scp mutex without having obtained either the scp or the mutex within smb_WriteData There was no check in smb_ReadData to ensure that the file was opened for reading. Add one. commit fb154e60e3cb6cf9e934f9a75c5ca67473ac36a2 Author: Jeffrey Altman Date: Fri Mar 7 01:03:45 2008 +0000 windows-interlocked-volume-refcount-20080306 LICENSE MIT Switch cm_volume_t objects to InterlockedIncrement/InterlockedDecrement for reference counting. Remove protections against null pointers being passed into cm_GetVolume() Instead, do not call cm_GetVolume() if the pointer is NULL. Fix a buffer data version comparison that should be bad version number instead of <= 0. commit 2137631fb44d934d51979850ebfcb6a50076b095 Author: Daria Phoebe Brashear Date: Thu Mar 6 16:54:33 2008 +0000 dafs-restarting-error-change-20080306 LICENSE IPL10 on VSALVAGE the client will correctly resort its list and fail over to other replicas, but only for RO where there is more than one replica, obviously; since in dafs we expect to only delay on salvage this is the most useful course of action commit f58e08baae0a5ee9be516e9e220a12b78e5bf414 Author: Daria Phoebe Brashear Date: Thu Mar 6 16:41:14 2008 +0000 pioctl-settoken-malloc-fail-check-20080206 LICENSE IPL10 avoid malloc failure panic (oops) commit 6a631075c478794e998ad67d90e33d304521fbd3 Author: Jeffrey Altman Date: Thu Mar 6 14:33:09 2008 +0000 windows-afsd-misc-20080306 LICENSE MIT (1) an attempt to make better use of bandwidth from the BkgDaemon threads by preventing the thread from blocking on a vnode that is already storing data in another thread (2) prevents CM_SCACHEFLAG_ASYNCSTORE from being reset on a write failure. (3) fixes cm_EvaluateSysName to avoid accessing uninitialized memory (4) prevents a lock leak if the symlink's mountpointstring is too long. (This could never actually happen but better to correct the code.) commit b651ece9bdb2ea9dc19907a5686e9d084f3c03d6 Author: Daria Phoebe Brashear Date: Wed Mar 5 21:51:19 2008 +0000 large-partition-support-20080305 LICENSE IPL10 FIXES 88811 support partitions over 2tb commit 69f9b46e69bb7c8c9356b062a8f4908fe38ad14b Author: Jeffrey Altman Date: Mon Mar 3 04:24:17 2008 +0000 windows-scache-mx-to-rw-20080302 LICENSE MIT Replace the cm_scache_t mutex with a rwlock permitting a small amount of additional parallelization in places where it is safe to use read locks instead of write locks. All functions that eventually call cm_SyncOp must use write locks. commit ba94313f4030184890194c84f8d5c2f3f69f52d1 Author: Jeffrey Altman Date: Sun Mar 2 21:53:42 2008 +0000 windows-cm_buf-20080302 LICENSE MIT remove unused constants, data structures and fields commit af2318cfde026f5dc6b479089689dba63f7b8abc Author: Jeffrey Altman Date: Sat Mar 1 18:58:54 2008 +0000 windows-asyncstore-again-20080301 LICENSE MIT must write the entire asyncstoresize otherwise dirty buffers are left for writing by buf_IncrSync thread. commit b47407ae72491a129fc9ed6990585e426fc2a223 Author: Jeffrey Altman Date: Sat Mar 1 18:56:23 2008 +0000 windows-buf-more-clean-vnode-speedups-20080301 LICENSE MIT do not call buf_CleanAsync if you know the buffer isn't dirty commit 7083ceec5c21e500f23110152dcc994c7ccfab92 Author: Jeffrey Altman Date: Sat Mar 1 17:43:16 2008 +0000 windows-freelance-20080301 LICENSE MIT when support for multiple valid buffer data versions was added forget to remove the force dv change from the freelance code. this broken automatic additions of new mount points. commit fb3f10f3297c08807c0a3f0b345d88cd19742726 Author: Jeffrey Altman Date: Sat Mar 1 16:28:53 2008 +0000 windows-buf-mx-20080301 LICENSE MIT further reductions in buffer mutex acquisition churn commit 3b5a1acef030ad9208111511813a0b69c6a0de99 Author: Jeffrey Altman Date: Sat Mar 1 15:59:07 2008 +0000 windows-eventlog2-20080301 LICENSE MIT set the registry values on each start. otherwise, we will never update the incorrect entries left over from previous installs. commit e4df679d1bcc6fb7e3c3eb4169e489c172910628 Author: Jeffrey Altman Date: Sat Mar 1 15:37:09 2008 +0000 windows-eventlog-20080301 LICENSE MIT somewhere along the way Microsoft stopped opening Event Message files explicitly. Instead they search the PATH environment variable for the specified file. I think this is broken but simply registering "afsd_service.exe" instead of the fully qualified path works. commit b8cacec96969b044c1cfdd1919ca9e2e36999243 Author: Jeffrey Altman Date: Sat Mar 1 04:29:17 2008 +0000 windows-smb-asyncstore-20080229 LICENSE MIT fix it commit 114de458ca7717cf0bcda90df61f24495fe8f922 Author: Jeffrey Altman Date: Fri Feb 29 22:50:54 2008 +0000 windows-cm-buf-misc-20080229 LICENSE MIT (1) Add an undocumented store behind mode for use in testing. Set EnableSMBAsyncStore to 2. When set all smb_WriteData calls are background writes, all calls to cm_FSync are skipped and file close operations do not block for dirty buffers to be written. This permits all writes to be performed in the buf_IncrSyncer thread. (2) Do not use I64 in osi_Log() format strings as all parameters are converted to size_t which is 32-bit on 32-bit Windows. (3) Reduce the number of times the cm_buf_t mutex is obtained, dropped, obtained, dropped in buf_IncrSyncer (4) In buf_CleanAsyncLocked, request that a full chunk be written instead of just the current buffer. cm_SetupStoreBIOD will stop at the first clean buffer. This reduces the overall number of RPCs that must be performed. (5) Define CM_BUF_VERSION_BAD and use it instead of -1. commit fccf05a96d038a1a911a95d309ecb08090d2c6a1 Author: Jeffrey Altman Date: Fri Feb 29 15:45:21 2008 +0000 windows-dnlc-20080229 LICENSE MIT even if dnlc is not going to be used, the data structures must still be initialized as they are in the cache file. commit 737c03a75c62b3cd0ec92b33aea84d33dc39c2e7 Author: Simon Wilkinson Date: Fri Feb 29 15:07:08 2008 +0000 configure-enable-warnings-20080228 LICENSE IPL10 add a switch to turn on warnings when using gcc commit 8ffc274282fa40c6e2d35ba861b9dc932afa032d Author: Kevin McBride Date: Fri Feb 29 04:41:50 2008 +0000 checkauth-unlock-before-return-20080228 LICENSE IPL10 only matters once you have pthreads, but... commit 502aca9e8ccff36d0c10203c66200e526d2273b3 Author: Jeffrey Altman Date: Fri Feb 29 01:26:45 2008 +0000 windows-libadmin-closesocket-20080228 LICENSE MIT On Windows close() does not apply to sockets, use closesocket() instead. commit 0546641c0da59289d03a9417984fe5f7e5636a75 Author: Jeffrey Altman Date: Thu Feb 28 18:21:53 2008 +0000 windows-buf-deadlock-20080228 LICENSE MIT avoid deadlock in buf_FlushCleanPages(). cannot obtain buffer mutex after a successful Stabilize call because the scp will be be locked and obtaining buffer mutex after scache mutex is a lock order violation. commit e9f7894e3576ef9e01234966f7869440f1823718 Author: Jeffrey Altman Date: Thu Feb 28 17:16:28 2008 +0000 windows-smb-lock-timeouts-20080228 LICENSE MIT Attempts to open files which are already write-locked by another client took forever to return a lock not granted error. This was because cm_Analyze() would retry the lock request for up to the RDRtimeout in response to the EAGAIN error. The problem was that cm_IntSetLock() was not setting the CM_REQ_NORETRY flag. While examining this issue, discovered two other things: (1) the infinite wait logic on lock request processing was broken (2) the cancel outstanding lock request logic wasn't implemented (3) cm_Analyze() would put the thread to sleep even when retries were not permitted. Also removed a number of compile time warnings. commit 023d3f3bae273d7af16d52fd0c468fc05653abe5 Author: Daria Phoebe Brashear Date: Wed Feb 27 22:26:31 2008 +0000 arm-lwp-adm-20080227 LICENSE IPL10 don't use ucontext lwp on arm linux commit 72687c02b6ee5ff3029937b0278733b252f14550 Author: Jeffrey Altman Date: Wed Feb 27 17:03:30 2008 +0000 windows-osi-convertRToW-and-logging-optimizations-20080227 LICENSE MIT Add lock_convertRToW which permits a read-lock to be upgraded to a write lock. If the caller is the only reader it permits a fast transition otherwise it adds the caller to the waiters queue. In the osi_Log macros, check to see if the log is enabled before making the function call. This avoids significant function call overhead. In the cache manager, make use of the above. commit 107899cefaeebe693f8025e9c0d88784facd2236 Author: Jeffrey Altman Date: Wed Feb 27 04:53:45 2008 +0000 windows-dnlc-20080226 LICENSE MIT Remove race conditions in the statistics code by switching to Interlocked functions. Speed up cm_dnlcEnter() by searching first with a read lock and then switching to a write lock if not found. Add HKLM\SOFTWARE\OpenAFS\Client registry values "UseDNLC" and "Debug"DNLC". I suspect with the B+tree code that the DNLC is unnecessary overhead but leave it on by default for now. commit 428cac5d6dfc287452af51c08eba0f0fca276864 Author: Jeffrey Altman Date: Tue Feb 26 04:13:16 2008 +0000 viced-cleanup-old-addresses-as-they-become-invalid-20080225 LICENSE IPL10 otherwise we can end up with stale addresses when a client uses then leaves an address never to return commit dd72e06bf11fccd70cba32c4b6411a5e6ff3914c Author: Jeffrey Altman Date: Mon Feb 25 22:19:49 2008 +0000 windows-force-anon-vldb-20080225 LICENSE MIT For organizations with krb5 aware file servers but transarc or old openafs vldb servers, add force anonymous vldb lookup option HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters DWORD "ForceAnonVLDB" (default is 0) commit f4f7ac048c52f859000a0d42640f0a6d43cc942a Author: Jeffrey Hutzelman Date: Mon Feb 25 20:38:09 2008 +0000 threadquota-enforcement-fixes-20080225 LICENSE IPL10 FIXES 87416 correctly set and unset HWHO_INPROGRESS as we pass through host probing package. also, do not block on lock checking for HOSTDELETED. instead, return a null host and VBUSY; restructure code to allow returning a null host with prejudice. commit d8c932ed73039777f5e21e70d6850325061f8241 Author: Jeffrey Altman Date: Mon Feb 25 19:34:44 2008 +0000 windows-volume-logsavestring-20080225 LICENSE MIT remember to save the volume name when logging commit 704fddccd0f714c848b37ccee427f8eeded53bd6 Author: Jeffrey Altman Date: Mon Feb 25 15:31:21 2008 +0000 windows-smb-asyncstoresize-20080225 LICENSE MIT Further testing on the 115KB AT&T Edge connection shows that 128KB provides reasonably robust performance with six simultaneous copies of multi-MB files to AFS. commit f95915a55ae579bab4052f24f6fedca21d114567 Author: Jeffrey Altman Date: Mon Feb 25 05:33:54 2008 +0000 windows-smb-async-store-20080224 LICENSE MIT Add two new configuration knobs to control the behavior of smb_WriteData. HKLM\SOFTWARE\OpenAFS\Client DWORD EnableSMBAsyncStore (default: 1) DWORD SMBAsyncStoreSize (default: 32K) Instead of tying the async store size to either the chunksize (too large) or the buffer block size (too small) provide an intermediate value that can be independently controlled. In the future it would be desireable for the async store size to be dynamically determined based upon measurable characteristics of the network. In the meantime, 32KB is an acceptable performance compromise that should work well on 1Gbit networks and low-speed cellular networks. commit 27dc7b13aa6356ba76916e47c6ddb48aa4b99846 Author: Daria Phoebe Brashear Date: Mon Feb 25 04:57:47 2008 +0000 nulluuid-check-only-valid-input-20080224 LICENSE IPL10 as reported by jhutz@cmu.edu commit f52c6e1bc020a0985d2bc168d06b2c87fe7a2797 Author: Jeffrey Altman Date: Sun Feb 24 15:33:52 2008 +0000 windows-scache-clean-bufs-20080224 LICENSE MIT In MergeStatus, only remove clean buffers from the hash table. commit 9e41258fad54e3122a0722b3f1c24810590c8d0a Author: Jeffrey Altman Date: Sun Feb 24 06:31:54 2008 +0000 windows-buf-data-versions-20080224 LICENSE MIT An implementation of Asanka's idea. Avoid the need to update the data version number on each buffer associated with a scache when MergeStatus is called after a StoreData by maintaining a range of valid data versions as part of the cm_scache_t object. commit 812ac61cfd3601abb1373f6d3f9e4d52c2ff61b9 Author: Jeffrey Altman Date: Sun Feb 24 06:27:38 2008 +0000 windows-optimize-access-20080224 LICENSE MIT profiling shows large numbers of blocked calls in cm_HoldSCache from cm_HaveAccess... We can safely avoid the call so do so. commit c73b73ee33c37aee2c52051005a12ad36fde70d4 Author: Asanka Herath Date: Sat Feb 23 21:35:56 2008 +0000 windows-checkntopen-20080223 LICENSE MIT do not forget to call cm_SyncOpDone if cm_SyncOp succeeded commit 8bddb4892bb815076861507f8ae781ae2c3f3310 Author: Jeffrey Altman Date: Sat Feb 23 21:12:54 2008 +0000 windows-buf-createlock-20080223 LICENSE MIT Do not leak a read lock on the bufCreateLock Add logging to cm_CheckNTOpen[Done] commit 12c6cfd4435c5a491e613e6394fabeeed4d81447 Author: Jeffrey Altman Date: Sat Feb 23 07:27:17 2008 +0000 windows-buf-scache-interlock-20080222 LICENSE MIT Improve parallelism by using InterlockedIncrement and InterlockedDecrement to adjust the refCount fields of cm_buf_t and cm_scache_t objects. This permits read locks to be used for increments and decrements but requires a write-lock to perform any actions based upon the refCount hitting zero. Inline cm_FidCmp to further improve performance. Remove unused variables. commit dcef8fa4adc4c2cdc166494979d77d91c40c1f06 Author: Jeffrey Altman Date: Sat Feb 23 00:15:22 2008 +0000 windows-afsd-20080222 LICENSE MIT 1. Change RxEnableHotThread default to 'on' 2. Add a 'hash' value to the cm_fid_t structure in order to speed up cm_FidCmp(). Add cm_SetFid() for use in constructing a fid complete with the hash. 3. Redefine the BUF_HASH and BUF_FILEHASH in terms of the cm_fid_t hash which has a better distribution 4. Modify cm_ConsiderPrefetch to evaluate the amount of data in the most recent read request instead of the next chunkSize. cm_chunkSize can be dozens or hundreds of buffers. As a result too much time is spent performing the evaluation. 5. Fix the usage of cm_scache_t bufCreateLock. The purpose of this lock is to prevent the creation of new buffers while a truncation is being performed. All references to bufCreateLock have been removed except in two places: i. a write-lock surrounding the function that calls buf_Truncate() ii. a read-lock within buf_GetNewLocked() that actually allocates new buffers 6. Modify the CM_CONFIG_DATA_MAGIC value to include a CM_CONFIG_DATA_VERSION number which value be used to force the replacement of the cache file contents when incompatible changes are made between releases. 7. CM_SCACHESYNC_ASYNCSTORE should not be ordered by cm_SyncOpCheckContinue 8. Avoid calls to multi_Rx if nconns == 0 9. Modify smb_WriteData to perform background writes based upon the crossing of buf_blockSize boundaries instead of cm_chunkSize boundaries. This will slow down writes from the SMB interface but will avoid the risk of the CIFS client disconnecting from the AFS client SMB server. commit cd9ce022ee97bee809e840be8612aafb2cbfc6b8 Author: Daria Phoebe Brashear Date: Wed Feb 20 21:31:02 2008 +0000 debian-packaging-update-20080220 LICENSE IPL10 Russ' metadata, repacked into our tree commit 49d77d8d4b8c26a56143a3655d460a6495f7d57a Author: Daria Phoebe Brashear Date: Wed Feb 20 20:18:03 2008 +0000 vos-addsite-pod-error-20080220 LICENSE IPL10 Item is not item commit d5c32c97a01f02cd69e2167964b43d83c6d413fb Author: Daria Phoebe Brashear Date: Wed Feb 20 20:07:51 2008 +0000 urecovery-invalidate-without-truncate-20080220 LICENSE IPL10 critical to label the database invalid when we don't truncate so recovery finishes. issue in 84609 remains. commit d48e3d1e7a5a5d065a0046b9115043bed47510a7 Author: Jeffrey Altman Date: Wed Feb 20 17:35:45 2008 +0000 windows-smb-locking-20080220 LICENSE MIT minor improvements to smb_rctLock usage. commit dd4ecb4ca0467d9f5727de1bfe9082f195330b99 Author: Jeffrey Altman Date: Wed Feb 20 17:32:53 2008 +0000 windows-rx_enable_hot_thread-20080220 LICENSE MIT Add RxEnableHotThread registry option to permit rx_enable_hot_thread to be set. The default is off for the moment but turning it on does provide significant performance benefits. commit 5067e6786dc93b8760edf6b1b9d92c3999caea7e Author: Jeffrey Altman Date: Wed Feb 20 17:17:21 2008 +0000 rx-osi_socket-20080220 LICENSE MIT The portable type to be used for sockets is osi_socket not int. On 64-bit Windows this caused failures when hot threads were enabled. commit 897c36027476843db988b9d0625a8fc189c8716d Author: Jason Edgecombe Date: Tue Feb 19 15:25:17 2008 +0000 man-page-updates-20080219 LICENSE IPL10 FIXES 86677 note 2tb limit, add fs minidump document commit 4bd64596caebf79962db441782082d07c2de9e4e Author: Mike Meffie Date: Tue Feb 19 15:07:24 2008 +0000 s390x-not-s390-20080219 LICENSE IPL10 don't try to link multiple things to asm commit 19b829d21934d60ab0b1af3ef0c7eefb2cce17b6 Author: Rainer Toebbicke Date: Tue Feb 19 14:29:42 2008 +0000 viced-rmdir-fid-leak-20080219 LICENSE IPL10 FIXES 86786 commit c2de3a1623441f93b119dbdbd772bfa81973b230 Author: Daria Phoebe Brashear Date: Tue Feb 19 04:10:44 2008 +0000 windows-name-entries-20080218 LICENSE IPL10 restore the original behavior. Fixes smb_ReceiveTran2SearchDir(). commit 1e4c03deecee1671703af891dbaf11e11b0dd5c8 Author: Daria Phoebe Brashear Date: Tue Feb 19 03:39:06 2008 +0000 arm-linux26-syscall-missing-20080218 LICENSE IPL10 there's nothing non-political about this. whatever. commit 7421feda944d5fa05f5223528a69f23a7bb0b724 Author: Daria Phoebe Brashear Date: Mon Feb 18 19:19:12 2008 +0000 viced-qsort-cba-before-multibreakcallback-to-avoid-lockup-20080218 LICENSE IPL10 my code, though, this is a result of a problem reported by Chaskiel Grundman and analysis by him, Jeff Altman and myself. I'm just checking in my implementation. In any case, the issue this addresses is one where we can end up in makecall_waiting in rx on multiple connections when we multibreakcallback because the lists are sorted differently and each has "pending" calls on a different connection. by sorting by index we will not block on another caller while also holding what they're after commit 7a290f39ec303cb3473f63f7d9c634e767191279 Author: Jeffrey Altman Date: Mon Feb 18 17:33:45 2008 +0000 windows-do-not-discard-badtickets-20080218 LICENSE MIT The RXKADBADTICKET error is returned when a krb5 derived token is sent to a server that does not support them. In a mixed cell it is possible that some servers were not updated. Discarding the token does not make it possible to perform the request successfully and adversely affects the user experience because those servers that do support the token can no longer be accessed in an authenticated manner. Users can't determine what the cause is, all they see are their tokens disappearing and there is nothing they can do about it anyway. From now on return STATUS_NO_KERB_KEY and do not retry. commit 5fd85f53f26ba1f0649b8a8c68d3abb1c5159eb9 Author: Jeffrey Altman Date: Mon Feb 18 17:27:48 2008 +0000 rx-stats-optimization-20080218 LICENSE IPL10 Do not grab the peer mutex or the rpc stats mutex if we are not intending to collect stats. Doing so is a bottleneck. commit f5645ccffe05f2c1b44d5ba1adb32ba45e26aae8 Author: Jeffrey Altman Date: Mon Feb 18 14:13:59 2008 +0000 windows-afskfw-20080218 LICENSE MIT if we are going to insert the full ccache name then we must search by it as well. commit 72da5c434c8caef0cb81523091915738e7e930ed Author: Jeffrey Altman Date: Mon Feb 18 05:52:34 2008 +0000 windows-share-parse-20080217 LICENSE MIT add srvsvc and wkssvc to reserved names in smb_ShareParse. include slash in ipc$ reference in dfs referrals check. commit 55aa6f04dcfebae134b3459944e005599d06ef05 Author: Asanka Herath Date: Sun Feb 17 14:33:26 2008 +0000 windows-netidmgr-extension-sample-20080217 LICENSE MIT A sample template for constructing Network Identity Manager OpenAFS Provider Extensions for obtaining and identifying new token types. commit 38c2524bd16f1e535ea28f9d0788b7eaa8d26c3d Author: Jeffrey Altman Date: Sun Feb 17 05:58:13 2008 +0000 windows-invalidate-file-locks-vnovnode-20080217 LICENSE MIT Upon receiving a VNOVNODE error from a file server, be sure to invalidate any file locks. This prevents on-going attempts to extend the locks and will cause subsequent attempts to access the file to receive a invalid handle error. commit 33bed6296114e16914cecf312c762774d44386c8 Author: Jeffrey Altman Date: Sun Feb 17 05:26:51 2008 +0000 windows-buf-consistency-20080217 LICENSE MIT All calls to buf_Get() must be protected by a read lock on the cm_scache_t bufCreateLock When a MergeStatus results in the invalidation of buffers, do not remove buffers from the hash tables that have active references. commit 935c49a2a6efa476c327e8a24fc4895f0c8f623d Author: Jeffrey Altman Date: Fri Feb 15 03:31:04 2008 +0000 windows-check-offline-volumes-20080214 LICENSE MIT when checking offline volumes, update the cell vlserver info if required and don't perform a check if there are no servers in the list. commit 4aad2a7b6bcf97af384de36994af94b7b4b07f98 Author: Jeffrey Altman Date: Fri Feb 15 03:24:52 2008 +0000 windows-afsd-rx-extrapackets-20080214 LICENSE MIT Add support for specifying rx_extraPackets in the Windows client commit 9babb9f88f0e101d06f6b447a4b5ad4316fa2d07 Author: Simon Wilkinson Date: Thu Feb 14 19:26:39 2008 +0000 mockbuild-20080214 LICENSE BSD driver script for mock massbuilds commit 093433b981cd1917215a4ee6196c5a0a55352d92 Author: Jeffrey Altman Date: Fri Feb 15 03:23:44 2008 +0000 windows-volstat-vl-unknown-20080214 LICENSE MIT Add volumes in the vl_unknown state to the list of objects to be checked as offline or retried when an allbusy error is received in cm_Analyze. commit 1133cc441862f3f0d44f0ab380a7274ead672b0f Author: Jeffrey Altman Date: Thu Feb 14 19:19:38 2008 +0000 windows-vnovol-20080214 LICENSE MIT avoid a crash when logging VNOVOL errors returned from cm_CheckOfflineVolume commit 00bada9c5eb803c13a6b930e79684a470cf94278 Author: Jeffrey Altman Date: Fri Feb 15 03:18:42 2008 +0000 windows-osilog-savestring-20080214 LICENSE MIT When osi_Log is disabled, osi_LogSaveString will no longer copy the provided string into the circular log buffer. This saves a huge amount of time. commit 588a229110c92bd82b819916260ee9727759c4a0 Author: Jeffrey Altman Date: Wed Feb 13 05:57:27 2008 +0000 windows-smb-special-share-names-20080212 LICENSE MIT Treat srvsvc, wkssvc and ipc$ as pseudo files. Permit them to be opened and closed without actually existing. For now we treat them as equivalent to ioctls but this should eventually change. Fix RAP processing to not reject names that exist in the root.afs volume for GetInfo queries. commit 44c20384ed5c0fdb4bce737a2a3c2b9c0af4472b Author: Jeffrey Altman Date: Wed Feb 13 05:43:16 2008 +0000 windows-dfs-referrals-20080212 LICENSE MIT Add "ipc$" to the list of names that must not be automatically added as a share name. If the sharename is a partial match and therefore will not be added automatically to the share list, make sure that we return an error to the requestor. commit 31990decdef84adc1c9033944fcc59910720c834 Author: Daria Phoebe Brashear Date: Wed Feb 13 05:27:15 2008 +0000 redhat-openafs-kmodtool-20080213 LICENSE IPL10 rename to be specific to us. commit e9e1d1a39bfe047a38f153afdc2fe8951174135c Author: Jeffrey Altman Date: Tue Feb 12 14:00:41 2008 +0000 windows-no-wx-20080212 LICENSE MIT Warnings as errors are nice, but when different compiler versions stop building simply because a parameter is not being referenced in a meaningful way its time for the option to be turned off commit a5e5736c67cdf3d08bce548447bc7635b65329c2 Author: Jeffrey Altman Date: Tue Feb 12 13:29:36 2008 +0000 windows-no-more-rpcns4-dll-20080212 LICENSE MIT Remove all references to rpcns4.lib and its included functions RpcNsXXX. These APIs are no longer supported on Vista. Except for TaAfsAdmSvr they had been commented out for a long time but we still continued to link to the library. Loading the library generates a no longer supported error on Vista. So lets get rid of it. commit 512ec8f51880d4e9e1cc5564bd27991a2c2915d6 Author: Jeffrey Altman Date: Tue Feb 12 13:16:20 2008 +0000 windows-afscreds-username-20080212 LICENSE MIT Use GetUserNameEx to obtain the username instead of searching the registry. Try UserPrincipalName first and fallback to SamCompatible. commit 7a8d8da95f5bd23fbb97d93840f3a2c5a145a695 Author: Jeffrey Altman Date: Mon Feb 11 16:42:45 2008 +0000 windows-afscreds-vista-uac-20080211 LICENSE MIT FIXES 82701 Modifying the registry and the startup shortcuts is not permitted under Vista UAC. Generate an error dialog and notify the end user. commit 61bb3b7f096f3b10075dcb1403879e3ec518276b Author: Jeffrey Altman Date: Mon Feb 11 14:45:43 2008 +0000 windows-freelance-20080211 LICENSE MIT Do not return BAD_NETWORK_ERROR in response to attempts to create directories or files in the Freelance root.afs volume. Instead return ACCESS_DENIED. BAD_NETWORK_ERROR was being sent because the Freelance cell has no vldb servers. Short circuit the error by testing for freelance in CreateFile and MakeDir commit a5dbdd03b8187f0c2c146f330e9adc42e103432c Author: Daria Phoebe Brashear Date: Mon Feb 11 03:58:49 2008 +0000 magic-vnodes-20080210 LICENSE IPL10 add magic vnodes like the magic mounts we already have. you can now cons up any afs vnode if you know the cell and fid. commit b44afa839b7c5dd33ab83958f0871edac32fc7ac Author: Daria Phoebe Brashear Date: Mon Feb 11 03:42:40 2008 +0000 vos-syncv-dryrun-20080210 LICENSE IPL10 add a dryrun mode to vos syncvldb and syncserv commit c61712de68f6bcb59eac29cb59e9ae78d98cf179 Author: Tom Keiser Date: Mon Feb 11 03:35:43 2008 +0000 dafs-vol-updates-20080210 LICENSE IPL10 make sure status is consistent in vol package when doing dafs commit d7235b1493917250a163dc4336f8b6ac83c6a07e Author: Jeffrey Altman Date: Mon Feb 11 00:13:50 2008 +0000 windows-windows-pipes-20080210 LICENSE MIT do not search for cellnames that match srvsvc or wkssvc pipes commit cd82af9d4e50798e8fe5cf0f2f022f1f40e2b59e Author: Jeffrey Altman Date: Sat Feb 9 02:30:17 2008 +0000 windows-wow64-registry-20080208 LICENSE MIT Enable the 32-bit tools that are distributed for use in the WOW64 environment to access the 64-bit registry keys instead of the 32-bit versions. This will remove the need to support both 64-bit and 32-bit versions of the values. commit 0caf7c54dfac30c92587031af6a902f4d33b2e22 Author: Jeffrey Altman Date: Sat Feb 9 02:26:28 2008 +0000 windows-vnodeops-20080208 LICENSE MIT Add support for returning RANGE_NOT_LOCKED errors Do not attempt to add a mount point for share names of the form . Its just a big waste of time. DNS queries and CellServDB file searches are expensive. commit 607c0959f085a6d8283f78a9969c450930cab084 Author: Daria Phoebe Brashear Date: Fri Feb 8 21:19:02 2008 +0000 rx-kill-void-stupidity-20080208 LICENSE IPL10 remove VOID since it conflicts with this. and we shouldn't need it anymore anyway commit 629feb40c46658d08e5dc3e6dcd1114996b8c734 Author: Jeffrey Altman Date: Fri Feb 8 01:20:01 2008 +0000 windows-scache-locks-20080207 LICENSE MIT add lock assertions to ensure we are holding write locks when manipulating scache refcounts commit 1c0c38b91836db8e90c73f340dd302000950a539 Author: Jeffrey Altman Date: Thu Feb 7 21:40:08 2008 +0000 windows-fs-utils-20080207 LICENSE MIT Use ismeta() correctly when parsing integer strings. commit bb2dc54732c865f37b0e9c5b928c850daa795b4d Author: Jeffrey Altman Date: Thu Feb 7 21:20:02 2008 +0000 windows-scache-refcount-race-20080207 LICENSE MIT if we are going to call a NoLock function better be holding the lock commit f2be22f71001852d5d461b34ba2c13d3d53d5e10 Author: Jeffrey Altman Date: Thu Feb 7 20:27:47 2008 +0000 windows-multi-check-servers-20080207 LICENSE MIT for multi must compute the host string from the ip address for each server commit 1a95df210c51a4e1416e5996b99c5640e4265255 Author: Jeffrey Altman Date: Thu Feb 7 14:47:25 2008 +0000 windows-volstat-20080207 LICENSE MIT When updating the volume status do not introduce a deadlock by holding cm_serverLock commit 04cac1963a4716e57447b28c00629f0ef5a15258 Author: Jeffrey Altman Date: Thu Feb 7 06:13:11 2008 +0000 windows-volstat-20080206 LICENSE MIT Ensure that the volume status is always updated after a server_ref status change. commit 5d61f37949fd561f4c9d777cc67c5fd3db835e29 Author: Jeffrey Altman Date: Wed Feb 6 19:29:44 2008 +0000 windows-multi-check-servers-20080206 LICENSE MIT do not leak references remove signed vs unsigned warnings retry all RXGEN_OPCODE responses regardless of whether or not the entry had to be moved to consolidate the list. commit d78bff3dbd561f9d0f4976eeb264e601216a37c6 Author: Jeffrey Altman Date: Wed Feb 6 17:53:12 2008 +0000 windows-shell-add-symlink-20080206 LICENSE MIT No longer attempt to validate the target of the symlink. There is no method of doing so reliably. commit a0e454bd41ec8b363f7669d620d4ff3caa8caf1d Author: Jeffrey Altman Date: Wed Feb 6 16:45:29 2008 +0000 windows-vnovol-20080206 LICENSE MIT VNOVOL means the volume could not be attached which from the client perspective is the same as being offline. The VLDB should not be queried in response to this error. commit 0254b1a8810c3ef9692c0c77f9851b563ea70832 Author: Daria Phoebe Brashear Date: Wed Feb 6 12:20:07 2008 +0000 hpux-dafs-inline-functions-20080206 LICENSE IPL10 fix this for hpux commit 66d8633b460448d538178719206bf0b7b3989406 Author: Jeffrey Altman Date: Wed Feb 6 02:08:32 2008 +0000 windows-cleanup-head-20080205 LICENSE MIT cleanup junk that does not belong commit 8274eb91f1c0fd94f3982ae6f12d8dcb8f388f44 Author: Daria Phoebe Brashear Date: Wed Feb 6 01:23:50 2008 +0000 linux-rx-kernel-listener-kill-task-directly-20080205 LICENSE IPL10 as reported by cg2v@andrew.cmu.edu commit 9732b4bb94a921a2a6bff0f985e44d04afacebd9 Author: Jeffrey Altman Date: Wed Feb 6 01:13:47 2008 +0000 window-wix-dependencies-two-20080205 LICENSE MIT afsvosadmin.dll is required by translate_et.exe commit b85428263c75316ff8fd15c188617f4eb02670a8 Author: Jeffrey Altman Date: Tue Feb 5 20:48:30 2008 +0000 windows-pioctl-path-charset-translation-20080205 LICENSE MIT FIXES 84279 Do not translate the character set of the pioctl path data. These paths were not provided by the file system but by the end user. Therefore, they were not converted to the OEM character set. With this change the AFS shell context menu will be displayed for non-ASCII file names when ANSI file names are being used as well as the fs commands will work. commit df5cfb3de1deae455d264780d3987c7fa6f33d2c Author: Jeffrey Altman Date: Tue Feb 5 17:37:21 2008 +0000 windows-multi-checkservers-20080205 LICENSE MIT Instead of probing servers one at a time, use multi_rx versions of RXAFS_GetCapabilities, RXAFS_GetTime and VL_ProbeServer to permit simultaneous probing of servers in constant time regardless of the number of servers. commit 5c7dfcad135a1c34942d264be2b72196e3b96003 Author: Jeffrey Altman Date: Tue Feb 5 17:24:15 2008 +0000 multi-rx-calls-20080205 LICENSE MIT Add multi versions of RXAFS_GetCapabilities, RXAFS_GiveUpAllCallBacks, and VL_ProbeServer. commit 0088e5cb20c90a899aacb62cd13b57a7bbe13432 Author: Jeffrey Altman Date: Tue Feb 5 17:17:44 2008 +0000 rxgen-multi-prototypes-20080205 LICENSE MIT When 'multi' is applied to an RPC definition, rxgen produced split prototypes, Start and End, but failed to produce the prototype for the normal RPC call. commit ac614c7609f61394da1ea425940a09bf98fbc0ea Author: Jeffrey Altman Date: Tue Feb 5 17:10:34 2008 +0000 windows-down-time-20080205 LICENSE MIT use clock time instead of osi_Time() for server down time tracking for proper comparison with expiration times. commit db20cd6b718096530e8b2a5f7df7818c4a07783b Author: Jeffrey Altman Date: Tue Feb 5 17:07:13 2008 +0000 windows-check-offline-volumes-20080205 LICENSE MIT Do not hold the cm_volume_t mutex across the RPC commit 48fe8ad6ab68620dbfc26ad44f078c01ba5174c5 Author: Jeffrey Altman Date: Tue Feb 5 16:56:49 2008 +0000 windows-wix-translate_et-20080205 LICENSE MIT Install the dll dependencies for translate_et as part of the client component. commit 08ca5fc1e1c883a5fc6b55cb076540845585243f Author: Jeffrey Altman Date: Mon Feb 4 22:41:28 2008 +0000 dafs-windows-vnode-locking-20080204 LICENSE MIT allow Windows to build with dafs-vnode-locking-20080204 commit 496b5e4c978dec000c5f1e318968d74f8818d60b Author: Simon Wilkinson Date: Mon Feb 4 19:41:49 2008 +0000 pts-localauth-20080204 LICENSE IPL10 distilled from changes by mdw@umich.edu commit ed25934c1fe96b143715025b49104e75dce9a361 Author: Tom Keiser Date: Mon Feb 4 18:50:54 2008 +0000 dafs-vnode-locking-20080204 LICENSE IPL10 FIXES 84778 * Vnode package concurrency model was overhauled. Unlike the old model, where concurrency was controlled via reader/writer locks, the new model uses a per-vnode finite state automata. * add several new volume states to deal with volume vnode list operations * a new FSSYNC command code was added to allow volume utilities to close out a volume operation without causing the fileserver to mount the volume * a new FSSYNC command code was added to allow volume utilities to transition a volume into a hard error state * the salvageserver has been modified to keep volume group partition path data coherent with the fileserver (like many other parts of the volume package, this code assumes all members of the group are stored on the same vice partition) * make salvageserver correctly handle volume state when a child worker process terminates abnormally * update volume pre-attachment code to deal with move volumes across partitions on the same server * add volume state sanity checks to more volume package interfaces * original vos online patch introduced a race condition; rearchitect vos online/offline to eliminate race condition, and reduce i/o load caused by operation * unify duplicate code in volserver related to servicing vos examine and vos listvol requests * add doxygen formatted comment blocks to numerous volume package elements * various updates to fssync-debug to allow dumping vnode state, and updates to deal with added volume and vnode states * several 1.5-specific fixes related to fssync and salvsync commit 647bbb509ddf59b80ce9965e89ac13ea26952e0f Author: Jeffrey Altman Date: Mon Feb 4 04:05:00 2008 +0000 rx-xdr_rec-type-error-20080203 LICENSE MIT x_inline second parameter is unsigned commit f68eb88ac0af27371232903de837de57f0790056 Author: Jeffrey Altman Date: Mon Feb 4 03:56:13 2008 +0000 kauth-windows-handle-leak-20080203 LICENSE MIT close() does not close sockets on Windows commit 80fc057c4dc0b3373723a19eeb6a9fa12a71f301 Author: Jeffrey Altman Date: Mon Feb 4 03:50:05 2008 +0000 rxmaxmtu-printf-format-error-20080203 LICENSE MIT correct improper format string commit 270cb6a9c9903d92b9b6276a542968667056066a Author: Jeffrey Altman Date: Sat Feb 2 22:25:40 2008 +0000 windows-vista-resume-smb-binding-20080202 LICENSE MIT another plane trip, more tweaks to the logic for handling re-binding of the netbios name after a power management resume event. commit d52f19ca0aacdbfdf64bdeaae4153c1f2ec7f385 Author: Jeffrey Altman Date: Sat Feb 2 22:22:20 2008 +0000 windows-dfs-referrals-symlinks-20082002 LICENSE MIT another small tweak to ensure that we don't create a symlink for "fo" when a mountpoint or symlink for "foo" exists commit d094c65f14e674dfc334b9c6b3f5ac871e3dd1e6 Author: Jeffrey Altman Date: Sat Feb 2 13:38:50 2008 +0000 windows-cellservdb-location-20080202 LICENSE MIT Modify the search order for determining the location of CellServDB and other client configuration files. 1. AFSCONF environment variable 2. registry setting 3. NEW - use All Users\AppData\OpenAFS\Client only if CellServDB exists 4. use Program Files\OpenAFS\Client commit 753ba70cf257aded0fae158c556a25ca72243214 Author: Jeffrey Altman Date: Sat Feb 2 02:46:16 2008 +0000 windows-more-cellservdb-consolidation-20080201 LICENSE MIT Merge cellconfig.c and the afsreg library. Redefine the location of the client cellservdb directory in dirpath in terms of the cellservdb direction and not the install directory. (although they point at the same thing now by default.) Future changes to the location of the cellservdb directory should be made in afsreg. commit c9339265f7036dd465a4bbf8e762fc246f45d6a4 Author: Jeffrey Altman Date: Sat Feb 2 00:23:44 2008 +0000 windows-client-config-cellservdb-20080201 LICENSE MIT modify cellservdb.c to use cm_GetCellServDB() from libafsconf.dll. This results in both libadmin and the afs client control panel using the same CellServDB as the rest of the system. commit f224734230f6bfd27f1a1dfa159d1f38797c7999 Author: Jeffrey Altman Date: Sat Feb 2 00:18:27 2008 +0000 windows-build-system-20080201 LICENSE MIT re-order the building of directories so that libafsconf.dll is built before other directories that might want to use it. commit 0f41a173925407cc7f6a597477ba25691f73d119 Author: Jeffrey Altman Date: Fri Feb 1 21:42:17 2008 +0000 windows-refactor-cm_config-20080201 LICENSE MIT cm_config.c was a nightmare. there were several functions that each computed the location of the OpenAFS Client configuration directory in a slightly different way. Now there is a single exported function that determines the directory, and another that determines the name of the CellServDB file. All of the other functons in cm_config.c and throughout the src/WINNT/afsd directory now use those two functions. The new rule for determining the location of the OpenAFS Client configuration directory and hence the CellServDB file location is: 1. check the AFSCONF environment variable 2. check the HKLM\SOFTWARE\OpenAFS\Client CellServDBDir registry value 3. use AFSDIR_CLIENT_ETC_DIRPATH which currently refers to \Program Files\OpenAFS\Client commit 4fe2978f69f6314284d5689ea1d9169360155450 Author: Daria Phoebe Brashear Date: Fri Feb 1 21:31:32 2008 +0000 h-enumerate-less-heavyhanded-check-20080201 LICENSE IPL10 if hostCount is too small this is fine or at least not fatal commit 4ad35bd5aa431332bea866775278a6ae9d65a5e2 Author: Jeffrey Altman Date: Fri Feb 1 21:14:40 2008 +0000 windows-netidmgr-20080201 LICENSE MIT afs/stds.h before all others commit 43aa2bd2ba63e778f78d80b2a6a7d5ff991b0f97 Author: Simon Wilkinson Date: Fri Feb 1 15:25:52 2008 +0000 poll-drop-fsync-lock-20080201 LICENSE IPL10 update to drop fsync lock if we're using poll commit 462f1fb90defcb351657655442024f971705d945 Author: Daria Phoebe Brashear Date: Thu Jan 31 20:17:45 2008 +0000 solaris10-cleanup-friendliness-20080130 LICENSE IPL10 based on patch from mib@unimelb.edu.au clean up taskq after ourselves and don't leave ourself marked system processes commit 3d17e10e007ea3b4c3bd4a536a7e47c264d4701f Author: Jeffrey Altman Date: Thu Jan 31 16:09:56 2008 +0000 windows-noprobe-20080131 LICENSE MIT do not mark servers down if they are not probed. commit 03e72233178bf18a8978d62c3bcc4ebb743e6710 Author: Jeffrey Altman Date: Thu Jan 31 07:26:26 2008 +0000 windows-edquot-20080131 LICENSE MIT For Windows, EDQUOT == WSAEDQUOT. Define it in the right places so that in the end STATUS_OUT_OF_QUOTA can be returned to the application. commit 02a80e05a73d9df50fbd427e30ca862706afcbc1 Author: Jeffrey Altman Date: Thu Jan 31 05:47:34 2008 +0000 windows-fs-newcell-20080130 LICENSE MIT prevent the afs client service from crashing when fs newcell is executed commit 3d0ebe1f7841ac6ca9db593b587a13d85a950ac5 Author: Jeffrey Altman Date: Thu Jan 31 03:01:46 2008 +0000 windows-nsis-installer-20080130 LICENSE MIT move afslogon.dll, afscpcc.exe and afs_cpa.cpl to \Program Files\OpenAFS\Client\Program in order to get them out of the %windir% tree commit 9ce814aa99b6877843f38c7fdd8fde09cb2a743c Author: Jeffrey Altman Date: Thu Jan 31 00:25:59 2008 +0000 rx-edquot-20080130 LICENSE MIT Conditionalize error translation on the existence of EDQUOT not on platform macros commit 9751c68faaff4ab5e4fae7aaad082073ca4daebf Author: Simon Wilkinson Date: Wed Jan 30 17:30:23 2008 +0000 linux-keytype-exports-20080130 LICENSE IPL10 try to work even if key_type_keyring isn't exported commit c5afa335a8ffb86cf17c32173eb0e1c26500dd80 Author: Simon Wilkinson Date: Wed Jan 30 17:25:42 2008 +0000 linux-rx-kernel-listener-kill-task-directly-20080130 LICENSE IPL10 based on work from shadow@dementia.org since the tasklist lock and rcu stuff can/will be de-exported, and we don't need it anyway... commit 162cb95707f739170ab4a025a801a430c86ae70a Author: Jeffrey Altman Date: Wed Jan 30 14:53:44 2008 +0000 windows-ipaddr-change-server-deadlock-20080130 LICENSE MIT avoid a deadlock during server probes initiated by the ipaddr change daemon thread. (missed a case in DELTA windows-ipaddr-change-server-deadlock-20080106) commit 9023049040e5705ac5dc26800022973a1acefff2 Author: Alistair Ferguson Date: Tue Jan 29 20:39:31 2008 +0000 syncvl-fix-bogus-rw-update-20080129 LICENSE IPL10 pass in a ref to entry correctly commit 2542c5e07f52c89f25f290153f0b4669076ae654 Author: Jeffrey Altman Date: Tue Jan 29 00:20:33 2008 +0000 windows-lanahelper-20080128 LICENSE MIT The algorithms that were used to produce a Netbios name were broken. The name that was produced when the hostname was too long was in fact longer than the maximum permitted netbios name. Also, the "NetbiosName" value was not used as a suffix when the loopback adapter was not installed. The hardcoded string "AFS" was used instead. commit fffcc1dec3d4fc905239b2890cb4f960efdff4ba Author: Jeffrey Altman Date: Mon Jan 28 19:49:51 2008 +0000 windows-network-type-allocation-20080128 LICENSE MIT Microsoft has defined for us: #define WNNC_NET_OPENAFS 0x00390000 commit a0fd168db5e24fca5f08ccf67d53f58c6f05fa35 Author: Daria Phoebe Brashear Date: Mon Jan 28 19:29:49 2008 +0000 revert-linux-2624-rc5-updates-20080127 LICENSE IPL10 FIXES 83716 the generic 2.6.24 patch should address all this. commit 5a93678e3943fa2c71d51f25f84b4efd5f3700e6 Author: Marc Dionne Date: Mon Jan 28 19:13:46 2008 +0000 sysctl-table-checking-modpost-fun-fun-20080127 LICENSE IPL10 FIXES 83890 try again to do something sensible so we don't default wrong commit 36bdf1ccd859fb0039d8ae9abd04f9eea08d704d Author: Jeffrey Altman Date: Mon Jan 28 07:22:32 2008 +0000 windows-freelance-improved-dfs-handling-20080127 LICENSE MIT Cell names are published as share names. As a result they are searched for as part of the Dfs Referral evaluation. If share "foo" can not be reached, the CIFS client will fallback to searching for "fo" as well. Since the freelance client automatically adds a symlink for prefixes of the cell name, this results in both "foo" and "fo" being added to the freelance root.afs volume. This patch prevents that negative side effect. commit 3f3545024100f3efd7bb76925d3cb1b1c15ae3f4 Author: Jeffrey Altman Date: Mon Jan 28 07:12:09 2008 +0000 windows-afskfw-20080127 LICENSE MIT when tracking ccache names be sure to include the cache type prefix. commit 7526681ef5c57a4ffe0c343717c3ed65a9120768 Author: Daria Phoebe Brashear Date: Mon Jan 28 01:37:38 2008 +0000 afsdb-fix-20080126 LICENSE IPL10 pull bugfix from 1.4 commit 711dc57c7fa053efa58c02df8788da1a2c7889bf Author: Jason Edgecombe Date: Sun Jan 27 18:44:28 2008 +0000 macos-panic-decoder-20080127 LICENSE BSD panic log decoder from Jason. Still needs some work for Leopard but we should be able to make a go of this commit 7dc71d1154294cdc5f5aba4c3e58a00972318960 Author: Daria Phoebe Brashear Date: Thu Jan 24 23:55:02 2008 +0000 redhat-support-dkms-20080124 LICENSE IPL10 attempt to provide dkms support. this does work on my fc8 test host. it may not work in all cases. commit 80f7294490e1d1423a5f7482ed924dda8bab1ba8 Author: Mike Meffie Date: Thu Jan 24 23:44:38 2008 +0000 tests-update-20080124 LICENSE IPL10 update test scripting commit 89d93d9ad7862c5de0587a84d99c567bf5a61d14 Author: Jeffrey Altman Date: Thu Jan 24 16:05:58 2008 +0000 rxkad-v5-dot-check-20080124 LICENSE MIT Export rx_SetSecurityConfiguration on Windows commit d32156e5c1fb36994650754a11379df6ccc94909 Author: Jeffrey Altman Date: Thu Jan 24 15:29:56 2008 +0000 windows-get-volume-no-reset-flag-20080124 LICENSE MIT There are circumstances where a volume object is being accessed and the volume is marked indicating that the volume location information is out of date but where it is also pointless and perhaps dangerous to block waiting for the rpc to complete. One example is when processing the cmdebug requests. If we know that we are not going to use the volume object to contact a server, then we can now set the CM_GETVOL_FLAG_NO_RESET flag. commit 16a90b2f8dfe875991bca0dee516c531fcc3aeee Author: Jeffrey Altman Date: Thu Jan 24 15:17:57 2008 +0000 windows-symlink-dot-dot-20080124 LICENSE MIT when moving up in the directory tree we search the recorded fid list to find a matching fid that we have already crossed. we must also reset the fid count based upon what we discover. commit ef6fc588bcab9a59e54050899937407be962b074 Author: Daria Phoebe Brashear Date: Wed Jan 23 21:37:01 2008 +0000 redhat-spec-more-arches-20080123 LICENSE IPL10 support sprc, sparc64, ppc, ppc64, s390, s390x. we should be able to cope with all these. if not, fix it. commit 9a45a546747dad7a70b24b76b1a02bf398c22762 Author: Daria Phoebe Brashear Date: Wed Jan 23 13:47:23 2008 +0000 linux-key-type-detection-once-20080123 LICENSE IPL10 doubled configure test from 2 sources. commit 434c25fee15162dff64f2c18a971023b146d6118 Author: Simon Wilkinson Date: Wed Jan 23 05:29:03 2008 +0000 redhat-kmodtool-20080122 LICENSE IPL10 install simon's modified kmodtool commit 98a68f9b021a06d056fb3b97681b9cfc04873d55 Author: Simon Wilkinson Date: Wed Jan 23 04:13:55 2008 +0000 rxkad-v5-dot-check-20080122 LICENSE IPL10 FIXES 75101 give an option to not enforce the dotted principal check. document it. commit 0e8adf69538638b8caa56d9b1fa72beba74734bd Author: Daria Phoebe Brashear Date: Wed Jan 23 03:20:13 2008 +0000 viced-fsync-glock-creation-20080122 LICENSE IPL10 create fsync glock and cond before we initialize volume package. oops? commit 0fab6d9600769dd219fd6e968c4a6bae9ed5d497 Author: Daria Phoebe Brashear Date: Tue Jan 22 21:03:51 2008 +0000 redhat-packaging-keep-up-with-the-joneses-20080122 LICENSE IPL10 track new manpages commit e1c4e77d13122c2bb66d532ffd9dfc2e75318c04 Author: Daria Phoebe Brashear Date: Tue Jan 22 05:15:15 2008 +0000 vos-volser-enhancements-20080121 LICENSE IPL10 add option to addsite to allow adding a site where there is already a release- equivalent volume resident, where thus we don't want to mark unreleased (possible by dumping an existing RO and restoring with -readonly at the new site) add ability to vos clone to a readonly or backup with the correct ID and name add ability when restoring a RW to a new site to leave the volume at the old site intact all changes are internal to vos and can be used with any OpenAFS from 2006 or later (supporting changes in namei to not create volumes with bad parent id went in in December 2005) commit 1181ea034623541765fbc5c23df55ebaf577c083 Author: Mike Meffie Date: Mon Jan 21 21:04:35 2008 +0000 tests-update-20080121 LICENSE IPL10 update test scripting commit 82e389f56fe86f8db25c1ceb1f15df4070451538 Author: Evan Broder Date: Mon Jan 21 21:03:48 2008 +0000 macos-packaging-using-afs-conf-when-possible-20080121 LICENSE IPL10 FIXES 81825 switch to afs.conf as other ports use instead of afsd.options, when possible commit 6a7461e6f8dad79894c6d2ad11edfdba689c4c77 Author: Daria Phoebe Brashear Date: Mon Jan 21 18:36:02 2008 +0000 make-avoid-double-slash-20080121 LICENSE IPL10 avoid having double / in make commands commit fc91cf4314eb768a2f83f198645e553b5fa778de Author: Jeffrey Hutzelman Date: Mon Jan 21 17:34:00 2008 +0000 solaris-vfsroot-refcount-issue-20080121 LICENSE IPL10 fix issue with afs root vnode refcount dropping to 0 commit 75c10322ff3a3ef5e735d8821051678526e42275 Author: Simon Wilkinson Date: Mon Jan 21 17:08:22 2008 +0000 redhat-spec-update-20080121 LICENSE IPL10 update specfile to default to fedorakmod commit 9d22f7702e22d028e8c503cd96d26850ff617ba9 Author: Daria Phoebe Brashear Date: Mon Jan 21 14:18:11 2008 +0000 libafs-linux-dest-right-things-20080121 LICENSE IPL10 "duh" make it like the install rules commit 22c059a9138be33eeeed910badcac3ebfeea24b5 Author: Daria Phoebe Brashear Date: Mon Jan 21 14:04:34 2008 +0000 vos-restore-incrementals-no-orphans-really-20080121 LICENSE IPL10 FIXES 46937 based on comments from jhutz@cmu.edu; runnign thread in the ticket commit efba39ead059458d222f923db83c660f23c20b80 Author: Jason Edgecombe Date: Sun Jan 20 00:06:49 2008 +0000 man-page-fileserver-limits-20080119 LICENSE BSD Document the 2TB volume and partition limits and the -abortthreshold flag to the AFS fileserver. commit 88e915d8f976898e75a6afe8bc7b6d7c33b8a121 Author: Jeffrey Altman Date: Wed Jan 16 03:16:19 2008 +0000 windows-cm_ioctl_query_opts-20080115 LICENSE MIT The path ioctl operations have several issues: (1) the specified path for "fs examine, whereis, whichcell, flush" and so always has the follow symlinks and mount points semantics. This makes it impossible to determine what the FID of a symlink or mount point is. (2) "fs examine" out is not the result of a single pioctl operation but is actually the combined output of half a dozen operations. Path evaluation is an expensive operation. It would be faster if the caller could evaluate the FID first and then perform all of the rest of the operations by specifying the FID instead of the path. (3) fs output reports all objects as files. By adding a GetFileType pioctl more informative output can be provided that indicates what type of object the path evaluates to. (4) the Windows fs command includes a number of commands that do nothing but exist only because the Unix cache manager supports them. This delta adds a new extendible data structure cm_ioctl_query_opts_t which can be optionally specified with pioctls that do not already require input data. The first two fields of this structure are 'literal' and 'fid'. The literal field is used to indicate whether the last component of the path should be evaluated following symlinks and mount points. The fid field permits a fid to be specified. A new GetFileType pioctl has been added. The type of objects are now output. A new "-literal" option is available for "fs examine, flush, whereis, and whichcell. Unimplemented fs commands have been removed. commit 64ef3f518eee22b167ff5043b01dc1f3251f10bd Author: Daria Phoebe Brashear Date: Tue Jan 15 23:42:08 2008 +0000 redhat-makesrpm-deal-with-cellservdb-20080115 LICENSE IPL10 autofetch the CellServDB based on the spec or let one be provided commit c386499fbeab36f5292e196563a4887fa06068ac Author: Matt Benjamin Date: Tue Jan 15 06:04:49 2008 +0000 fbsd-70-updates-20080115 LICENSE IPL10 FIXES 82847 updates to make us build on freebsd 7.0 commit 08d71812fed3cc9f37d516d8f5d5b4ba9ccfb032 Author: Daria Phoebe Brashear Date: Tue Jan 15 05:20:49 2008 +0000 arm-linux-20080115 LICENSE IPL10 make an arm linux port. commit 110d5702ea51ce43fca6a5962d9ef8a0ec56d6eb Author: Jason Edgecombe Date: Mon Jan 14 04:55:21 2008 +0000 man-page-cmdebug-updates-20080113 LICENSE BSD Add -ctime and -cellservdb options to the cmdebug man page and improve example host names and SEE ALSO references. commit d5811091995b78d65e891b134aa0ad6955bbc30c Author: Jeffrey Altman Date: Sun Jan 13 15:32:24 2008 +0000 cmd-nname-20080113 LICENSE MIT Nname() is used to concatenate two strings and is frequently used with the first string being the name of the executable perhaps with a full path. The static buffer specified is too small for a full path and there was no protection against writing beyond the end of it. commit 84989e6584e3808ae3f1959330b267feff2661f6 Author: Jeffrey Altman Date: Sun Jan 13 14:37:04 2008 +0000 windows-pioctl-parse-path-20080113 LICENSE MIT Apply the desired "follow symlinks/mountpoints" semantics to the single component non-UNC case. commit 7a40c73476e270aac9d76663ff71e956bb630328 Author: Jeffrey Altman Date: Sat Jan 12 23:29:59 2008 +0000 windows-explorer-shell-symlinks-show-20080112 LICENSE MIT Add AFS->Symlnks->Show dialog to the explorer shell menu commit b3fe9727b3e775348561bcbe0cf0c14cff82e597 Author: Jeffrey Altman Date: Sat Jan 12 15:43:37 2008 +0000 cmdebug-cellservdb-20080112 LICENSE MIT Add -cellservdb option to the cmdebug command. This option will retrieve the volume location database information for all cells known to the cache manager and output the data in the format required by the CellServDB file. This functionality is supported by the UNIX cache managers and Windows cache managers 1.5.31 and later. commit bda66877dd88bcc78eba646b4f6a1131266e33d4 Author: Daria Phoebe Brashear Date: Fri Jan 11 22:38:48 2008 +0000 config-cvsignore-update-20080111 LICENSE IPL10 ignore generated Makefile.SYSNAME.in commit ae9dc9ad4ddd8313d24e457faf48bc15ccd2c86c Author: Jeffrey Altman Date: Fri Jan 11 19:09:20 2008 +0000 windows-callback-getcellservdb-20080111 LICENSE MIT Add support for RXAFS_GetCellServDB. Implemented by generalizing RXAFS_GetCellByNum and special casing the index values to do the right thing. Conditionalize grabbing the callp->lock in the callback functions. The race conditions in rx have long since been fixed and the potential for deadlocks are too great. Add a new flag CM_FLAG_NOPROBE for use in calls to cm_GetCell. When set the newly discovered servers will not be immediately probed. Useful when setting tokens, setting server preferences, or responding to cmdebug callbacks. commit 8b82cbeef760992c6e3d27f9f6ea1f4e0bb559ab Author: Jeffrey Altman Date: Thu Jan 10 23:48:02 2008 +0000 windows-smb-synchronization-20080110 LICENSE MIT 1. prevent stopping the smb_Listeners due to an ip addr change when the LANA is determined either by registry assignment or loopback detection 2. add synchronization logic to prevent smb_Listener restarts prior to smb_Listener thread stoppage 3. no longer permit panics from smb_Listener threads 4. move the probe logic from cm_IPAddrDaemon thread to the cm_Daemon thread in order to avoid the loss of ip addr change events. If an adapter stops and restarts fast enough there might not be anything for us to do. commit 8569f67aee8ee0de26259397818ab3af69f18007 Author: Matt Benjamin Date: Thu Jan 10 16:58:30 2008 +0000 linux-2624-rc5-updates-20080110 LICENSE IPL10 FIXES 80463 Include linux/key-type.h in osi_groups.c, if it exists. Fix do_sync_read test for recent kbuild (maybe break it for [some older 2.6]). commit 5011ea88badac8d393c4566a69e30f74c85e13ab Author: Simon Wilkinson Date: Wed Jan 9 19:36:59 2008 +0000 redhat-make-srpm-script-20080109 LICENSE IPL10 srpm builder script commit a1b7be4ac3f073a2d64f46649e54a1ff99d2567b Author: Jeffrey Altman Date: Wed Jan 9 15:25:07 2008 +0000 windows-smb-name-deleted-20080109 LICENSE MIT if the smb_Listener receives NRC_NAMERR (name deleted) it must be because an smb shutdown has occurred. do not panic. commit 845fb28de656d9886dd44cbf335833985ffc7d3b Author: Jeffrey Altman Date: Wed Jan 9 06:03:10 2008 +0000 windows-pioctl-follow-mountpoints-registry-20080108 LICENSE MIT Add a registry value "PioctlFollowMountPoint" to permit the use of the old pioctl path evaluation behavior that always followed mountpoints and symlinks. commit f2fd97bfb02d1d2ed46304b5864d71a8759892a4 Author: Jeffrey Altman Date: Tue Jan 8 22:28:39 2008 +0000 smb-even-less-chatty-20080108 LICENSE MIT remove the smb_RestartListeners message entirely commit 110f74bcb85928d274ad2608662434304ff4ffae Author: Jeffrey Altman Date: Tue Jan 8 22:03:12 2008 +0000 windows-daemon-20080108 LICENSE MIT sleep 10 seconds between cycles. should make this configurable. commit 05e5b9129f18fa717132dc1b0932acc1ed3f72c9 Author: Jeffrey Altman Date: Tue Jan 8 21:59:28 2008 +0000 windows-smb-logging-20080108 LICENSE MIT Be less chatty commit 69c9ab66a41236e987b44af9a3cb141adb1c2817 Author: Jeffrey Altman Date: Tue Jan 8 21:26:46 2008 +0000 windows-callback-missing-bang-20080108 LICENSE MIT Insert a missing bang that results in a null pointer dereference when processing a callback from an unrecognized server. commit a731801899b5f81314e4f4bf49aa55703d7a4ef4 Author: Jim Rees Date: Tue Jan 8 17:18:57 2008 +0000 obsd-more-stack-20080108 make stack bigger in volserver and fileserver eliminates overflow in k5 library commit 2927287f13f99c8453f64839d20877769d768264 Author: Jim Rees Date: Tue Jan 8 17:04:30 2008 +0000 obsd-lock-no-interlock-20080108 restore lock vnode op, but without vnode interlock for obsd 4.2 commit 521f139a89c2f078888b8bad37a495d23723a789 Author: Asanka Herath Date: Tue Jan 8 17:04:19 2008 +0000 windows-nim-afscred-identity-initialization-20080108 LICENSE MIT One of the challenges to deploying NIM has been the configuration of AFS token acquisition. This patch adds a new registry key hierarchy HKLM\SOFTWARE\OpenAFS\Client\Realms which is used to configure the AFS Provider for a new identity based upon the realm of the identity. The Realms key contains subkeys for each realm for which configuration data is being provided HKLM\SOFTWARE\OpenAFS\Client\Realms\"RealmName" "RealmName" contains one optional value, "AFSEnabled", and subkeys for each Cell that is to be added to the configuration. "AFSEnabled" defaults to 0x01. HKLM\SOFTWARE\OpenAFS\Client\Realms\"RealmName"\"CellName" In "CellName", there are two optional values, "Realm" and "MethodName". If the values are not specified, the automatic realm and method determination algorithms are used. These values can be added to an MSI transform or deployed via Group Policy. commit 5979a37e4e361bd9d2c52b6f6ef4bcce20a3124c Author: Jeffrey Altman Date: Tue Jan 8 07:04:51 2008 +0000 windows-smb-started-synchronization-20080108 LICENSE MIT Add a new mutex "smb_StartedMutex" which is used to protect the transitions between the various smb_ListenerState values. commit a05df915505ab3e77e46e39a5b232086c43fc8bf Author: Jeffrey Altman Date: Tue Jan 8 06:27:36 2008 +0000 windows-printf-format-string-protection-20080108 LICENSE MIT Do not pass strings generated from incoming network data to ??printf as the format string. Instead use a format string of "%s". This protects against %? expansions being inserted in the string. commit be4da54fa06c0a6f43c0be09e1339d29cc4b5e5a Author: Daria Phoebe Brashear Date: Mon Jan 7 20:22:10 2008 +0000 viced-hpr-error-handling-20080107 LICENSE IPL10 fix ubik reinit issue reported by jhutz@cs commit 777a2840878af313e062c4885ae7002bad62bdf4 Author: Daria Phoebe Brashear Date: Mon Jan 7 20:10:27 2008 +0000 sys-syscall-object-dependency-20080107 LICENSE IPL10 make syscall.o always be created, some makes don't deal with the implicit requirement commit 58efc5029c832e6b1456c36b599e7e33d62cd9c6 Author: Russ Allbery Date: Mon Jan 7 18:14:54 2008 +0000 linux-probe-warning-case-20080107 LICENSE MIT Some older Linux kernels prefix warnings with "Warning:" rather than "WARNING:", so do the grep case-insensitively when finding missing symbols. commit b19c56edfa5f0e3ff95f32b006b9403f53dd406f Author: Jeffrey Altman Date: Mon Jan 7 17:54:06 2008 +0000 windows-bkg-prefetch-buf-refcount-leak-20080107 LICENSE MIT Close a refcount leak in bkg prefetch. Do not stop prefetching simply because a buffer we want is already being fetched. Instead skip the buffer and try to fetch the next one we require. commit 049bc4a637334c6e94661a60067ff6a27e5ad481 Author: Jeffrey Altman Date: Sun Jan 6 23:11:01 2008 +0000 windows-ipaddr-change-server-deadlock-20080106 LICENSE MIT avoid a deadlock during server probes initiated by the ipaddr change daemon thread. commit 342595b2aa712ca7c0f2c160f9cba304dd27d574 Author: Daria Phoebe Brashear Date: Sun Jan 6 15:57:05 2008 +0000 viced-threadquota-release-holds-20080106 LICENSE IPL10 release a hold when we decline to service a host commit 6887c0e5b2b766b06c7e76a5ce28b84ed52df1d5 Author: Jeffrey Altman Date: Sun Jan 6 06:25:08 2008 +0000 windows-power-mgmt-20080105 LICENSE MIT Log more power mgmt events. Do not permit a smb reinitialization when in a suspended state Periodically check to see if the LAN adapter is -1. If so, try to reinitialize the smb stack. commit d27e82c8e2dcdf81ce8e8e6e849828881256f5fc Author: Jeffrey Altman Date: Sat Jan 5 22:19:12 2008 +0000 windows-follow-backup-path-20080105 LICENSE MIT parens are required in order to get the desired behavior commit f789f943f6967094f921b1b1b232be22925e3849 Author: Jeffrey Altman Date: Sat Jan 5 18:55:55 2008 +0000 windows-nim-afscred-referrals-two-20080105 LICENSE MIT compatibility with Visual Studio 2005/2008 commit f970985bc35ade50371a9299ad580d96ad04e979 Author: Jeffrey Altman Date: Sat Jan 5 17:55:20 2008 +0000 windows-vista-network-change-20080105 LICENSE MIT After a network change, test to see if the desired LAN adapter to bind the Netbios Name to has changed. If so, stop the Netbios Network and restart with the new LAN adapter. This can happen on Vista after a suspend if the service wakes up before the Loopback adapter re-initializes. commit 53acd2042d53d947b213ba4ee58378c89555a868 Author: Jeffrey Altman Date: Sat Jan 5 17:28:59 2008 +0000 windows-nim-afscred-referrals-20080105 LICENSE MIT If the requestd realm name is the empty string, copy the realm from the resulting ticket for use in pts registration. commit 8e3940c461f29483dcd71a5ba7cc59db89ea38e1 Author: Daria Phoebe Brashear Date: Sat Jan 5 16:59:56 2008 +0000 windows-aklog-referrals-20080105 LICENSE IPL10 If the realm name of the requested ticket is the empty string, decode the actual service ticket to determine the actual realm. Obtaining the actual realm prevents unnecessary pts registration failures. commit 2d15ac79349678e025f407b863f2911cd20e6f4e Author: Marc Horowitz Date: Sat Jan 5 04:43:09 2008 +0000 aklog-referral-support-20080104 LICENSE IPL10 with updates and configure support from Simon Wilkinson. make aklog able to cope with referrals. commit 02dc91892c41163f24c818615d13271b074df3ca Author: Daria Phoebe Brashear Date: Fri Jan 4 18:37:28 2008 +0000 pag-allocation-dont-throttle-when-time-reverses-20080104 LICENSE IPL10 avoid pag allocation throttling when time is set back by e.g. ntpd to avoid starving everyone. commit 5d453a987581158e9398061703d5a4b4b81e1dd3 Author: Jim Rees Date: Fri Jan 4 18:07:35 2008 +0000 xbsd-include-systmh-20080104 include systm.h for xbsd commit 034f698ebf21854c8dfb46567fc4ec2ac21457f0 Author: Jim Rees Date: Fri Jan 4 17:56:11 2008 +0000 obsd-resid-type-20080104 use correct type for resid when calling vn_rdwr() commit e192814db3a754aa5fe24acf10aa24030c57fa55 Author: Jim Rees Date: Fri Jan 4 17:39:05 2008 +0000 setuuid-return-20080104 return success (0) from setuuid() commit d2c62877ebd9b8481d7822fcd64f0803eaef9e9f Author: Jim Rees Date: Fri Jan 4 17:27:23 2008 +0000 obsd-time-20080104 update kernel time functions for OpenBSD 4.2 commit 068233cf4ab90a173e04de94605490e651d2f686 Author: Jeffrey Altman Date: Fri Jan 4 07:56:45 2008 +0000 windows-fs-test_volstat-20080103 LICENSE MIT Add a hidden command that can be used to test volume status handlers. fs test_volstat. commit 23318f425ca8ccdc9b67bfc1be0a28c0f724f52a Author: Jeffrey Altman Date: Fri Jan 4 07:51:31 2008 +0000 windows-fs-path-avail-20080103 LICENSE MIT fix the reporting of volume status as a result of the VIOC_PATH_AVAIL pioctl call. Switch on errno instead of the pioctl return value. commit d851dda5b7a84fa1acf5ccc93313df90922ce6b1 Author: Jeffrey Altman Date: Fri Jan 4 07:48:37 2008 +0000 windows-fs-prototype-20080103 LICENSE Fix types in prototypes to be consistent with function definitions commit 6034868e79f85e0143caa40669244cb8e442587b Author: Jeffrey Altman Date: Fri Jan 4 07:46:29 2008 +0000 windows-smb-20080103 LICENSE MIT ensure type consistency between 32-bit and 64-bit processes by replacing 'long' with 'afs_uint32' commit ae8e701952ae029672f2d7acfaf94cd44c1e4df4 Author: Jeffrey Altman Date: Fri Jan 4 07:44:10 2008 +0000 windows-volume-status-20080103 LICENSE MIT when performing offline volume status checks handle CM_ERROR_NOACCESS conditions by restoring the volume status to vl_unknown. commit 3a541eb11d1bc7bd05b85635315214218d3b5d6f Author: Daria Phoebe Brashear Date: Thu Jan 3 18:02:30 2008 +0000 aix-lam-aklog-update-20080103 LICENSE IPL10 make the aklog lam plugin work correctly in e.g. the CDE screenlocker, which is part of the long-running and not-run-by-user dtsession; this means we do wackiness to 1) not pag ourselves in that case 2) setuid to the user to set uid tokens if we got a username and are root 3) do not use pr_mumble get the the AFS ID to put in the tokens, as multiple initializations of Rx in the process space of dtsession crashes it commit dbb3f1d0b6e2e1e42b1f0ef4c29c21d8090e605a Author: Jim Rees Date: Thu Jan 3 17:46:08 2008 +0000 obsd-buf-fixes-20080103 use new b_data field in struct buf commit 7793d4e5183993f8c5fa01cf5c099405757fa183 Author: Jim Rees Date: Thu Jan 3 17:12:21 2008 +0000 obsd-lock-vnops-20080103 use generic vnops for lock/unlock (for obsd 4.2) commit b2a34dd35fc1e49918342e500a5bf8b74510e999 Author: Jim Rees Date: Thu Jan 3 17:11:22 2008 +0000 obsd-uvm-1-20080103 long overdue fixes for uvm on openbsd commit ff21ae91b248873ff1ac5347f84c180d0817a0b4 Author: Jim Rees Date: Thu Jan 3 02:28:29 2008 +0000 use-k5-klog-20080102 use k5 klog for OpenBSD commit 5baef6f6fe55ca81a28bc22023b06ee6c50d453d Author: Jeffrey Altman Date: Wed Jan 2 15:53:46 2008 +0000 windows-64bit-20080102 LICENSE MIT do not disable the signature verification of binaries when using large cache sizes on 64-bit systems cm_config_data values are unsigned and some are 64-bit. when logging them use the correct data format types. commit 558acfe359188e21f4956dcccdd7f7a4adbca3f1 Author: Daria Phoebe Brashear Date: Wed Jan 2 15:10:08 2008 +0000 redhat-spec-cvsignore-20080101 LICENSE IPL10 as reported by mdw@umich.edu commit d59d1db605280bfa9b2234f5272d61152ca7d7de Author: Jeffrey Altman Date: Wed Jan 2 14:58:35 2008 +0000 windows-nim-afscred-supports-krb4-20080102 LICENSE MIT Do not trust the registry to determine whether or not krb4 support is available. In a roaming profile the user data can say 'yes' even if the plug-in or the kerberos library does not exist. commit cfcaa0be3cc22fce97737ae4f6387a8200de770d Author: Jeffrey Altman Date: Wed Jan 2 07:06:58 2008 +0000 windows-nim-afs-krb524-20080102 LICENSE MIT Don't call krb524_convert_creds_kdc if it doesn't exist. 64-bit KFW doesn't support krb4 and the function isn't present. commit 2e135307b52b04003a22aa9985807a70b407accc Author: Daria Phoebe Brashear Date: Fri Dec 28 22:13:42 2007 +0000 vgetvnode-debuglog-vio-20071228 LICENSE IPL10 provide a way to log otherwise unlogged VIO error cause commit 4d2c1d532bb44320afcf4debfee9ded403647e1e Author: Jeffrey Altman Date: Fri Dec 28 15:46:05 2007 +0000 windows-syncop-20071228 LICENSE MIT avoid a race condition between cm_SyncOpCheckContinue and cm_SyncOpDone that can leave a request on an scp stuck in the waiting state even though there are no other requests to wake it up. commit 33aeecd83f8ce670269868145648ae6e277cf3cb Author: Jeffrey Altman Date: Fri Dec 28 07:24:48 2007 +0000 windows-get-buffer-20071228 LICENSE MIT cm_BkgPrefetch() contained two errors. First, the loop at the top of the function that ensures that a cm_buf_t is allocated for each of the offset positions failed to actually obtain the buffer for the specified offset. Instead, it repeatedly obtained the buffer for the starting base address. Second, cm_GetBuffer() would reserve all of the buffers associated with the cm_scache_t even in the case where we already have a callback and the existing buffer has the proper data version number. In that situation reserving the buffers simply wastes valuable time. commit d942d97ed82b9f4b86fdea8443912ec64b28dd96 Author: Jeffrey Altman Date: Fri Dec 28 07:11:59 2007 +0000 windows-cell-aliases-20071228 LICENSE MIT Fix the lookup of cell aliases to: 1. avoid re-reading CellServDB each time a cell alias is specified 2. avoid reconstructing the vlserver list for the cell each time an alias is specified 3. permit aliases to be used when AFSDB records were used previously with the full cell name commit 7a1253d1d180716f2aace6e8c115f845fbfe003d Author: Jeffrey Altman Date: Fri Dec 28 07:07:53 2007 +0000 windows-bkg-daemon-threads-20071228 LICENSE MIT Reduce the default number of background daemon threads used for prefetch and store operations to one. Given the current implementation when more than one thread is allocated they step on each other's toe while fighting over locks. A better model might be to divide up threads based upon cells or volumes as a means of preventing contention. commit 1e262e133d2fa0464d6419b1acc6fd2c075f9dbd Author: Jeffrey Altman Date: Thu Dec 27 20:58:49 2007 +0000 windows-default-chunksize-20071227 LICENSE MIT Drop the default chunksize to 18 (256KB) from 20 (1MB) due to the increased propensity to timeout reads on slow network connections. commit 56a82598b19e4232b0095c2b5778d4571c8aa9b2 Author: Jeffrey Altman Date: Wed Dec 26 16:18:37 2007 +0000 windows-callback-restore-multi-cell-servers-20071226 LICENSE MIT The case of openafs.org and grand.central.org is a hideous abuse of the AFS cell name space. There are many negatives associated with trying to support two different cell names pointing at overlapping vlserver lists: (1) The CM can store duplicate entries for all of the data simply because the cell name that was used is different (2) If the CM attempts to optimize the data storage by aliasing or otherwise combining the cell names as part of one cm_cell_t object, then future attempts to separate the two cell names will require the destruction of the cache. (3) If the CM does not associate a callback revoke with a particular cell, then the status data associated with any entry that matches the revoked AFSFid will be discarded. For volume callbacks this can have a serious impact because volume IDs are not unique across cells and discarding status data for readonly volumes that are in use can result in a significant number of FetchStatus requests being sent to the associated file server. There are other issues as well involving authentication. The case of openafs.org advertising the vlserver addresses of grand.central.org should be considered a hack; a hack that the Windows client will no longer ensure will work. Additional debugging messages have been added to assist individuals attempting to debug why callback revokes do not appear to take affect when two cell names share the same vlserver data. commit b41b3bb52eaba52bba8fda0c49083322d6959238 Author: Jeffrey Altman Date: Tue Dec 25 23:05:17 2007 +0000 windows-pthread-20071225 LICENSE MIT The pthread_cond_timedwait/wait implementations were broken. Not only did they return the wrong error values but more importantly, they did not always return with the mutex locked. commit 6b1537b246732e4f7f67661d8230d051db8f3f8d Author: Jeffrey Altman Date: Tue Dec 25 22:59:06 2007 +0000 rx-event-handler-20071225 LICENSE MIT Update event_handler() for Windows. The return code of pthread_cond_timedwait() is not limited to 0 and -1 because 'errno' cannot be set. Instead of setting 'errno' the error code is returned directly by the function as the return code. This patch is only for debugging purposes to track the number of success, timeout, and other errors experienced by the routine. commit 7dc4925cd35036e7f7b448d15a291791cd025e86 Author: Jason Edgecombe Date: Tue Dec 25 22:22:22 2007 +0000 man-page-license-change-20071225 LICENSE BSD Update man pages submitted by Jason Edgecombe to the BSD license. commit 84ef02b0f392c761211adc7d5876217ad835c6c0 Author: Jason Edgecombe Date: Tue Dec 25 22:15:07 2007 +0000 man-page-misc-updates-20071225 LICENSE BSD Add some additional cross-references, add some missing man pages, fix a few references to the OpenAFS manuals, document the -live flag to vos move, and add an example for rxdebug. commit 9f97c5cf74358116a109a4982588d61164456714 Author: Andrew Deason Date: Tue Dec 25 22:02:19 2007 +0000 man-page-fileserver-debug-20071225 LICENSE BSD The file server debug flag is -d, not -debug. commit 69d62d59689c7cd9758177f1f23d3b60df3a8a40 Author: Jeffrey Altman Date: Tue Dec 25 21:58:51 2007 +0000 windows-callback-revoke-multi-cell-servers-20071225 LICENSE MIT Remove the callback revoke optimization that prevents a (vol,vn,uniq) tupple from invalidating entries from multiple cells. We cannot reliably determine the cell from the server because the server might be identified as belonging to more than one cell. For example, openafs.org and grand.central.org. commit b0bae13aec9acb944d5d6a64c11df857ffc40eb3 Author: Jeffrey Altman Date: Mon Dec 24 05:29:15 2007 +0000 windows-hold-server-mutex-for-vol-list-20071223 LICENSE MIT When walking or modifying the cm_server_vols_t associated with a given cm_server_t the mutex must be held. Otherwise, races can occur. commit 8a923a199d91aae6d1fc9bb6a2f1856fe5dbcb07 Author: Jeffrey Altman Date: Mon Dec 24 05:23:28 2007 +0000 windows-daemon-threads-shutdown-sync-20071223 LICENSE MIT Windows Error Reporting received crashes caused by a failure to synchronize the shutdown of the AFS client service with the background daemon threads. The daemon threads (cm_Daemon, cm_BkgDaemon+, cm_IPAddrDaemon) could be accessing data structures as they were being freed or unmapped. Add synchronization mechanisms to signal the termination of the threads with the shutdown of the service. commit 815cd6f19ec37330e7829506c1208c9426b3a41f Author: Jeffrey Altman Date: Mon Dec 24 05:17:50 2007 +0000 windows-update-volume-status-20071223 LICENSE MIT Refactor cm_UpdateVolumeStatus. Revise behavior to treat volid 0 as update the volume status for all volumes in the volume group. commit 1b90fc5329dc7dd2055ab9150e3709b2b2cfac06 Author: Jeffrey Altman Date: Mon Dec 24 05:14:11 2007 +0000 windows-server-lock-error-20071224 LICENSE MIT The cm_serverLock must be write locked to modify the refCount commit 150919d690eca9ee00d3ce549554a058662c360c Author: Jeffrey Altman Date: Sun Dec 23 04:51:59 2007 +0000 windows-volstat-and-vista-dfs-support-20071222 LICENSE MIT This patch completes the implementation of smb_ReceiveTran2GetDFSReferral() which is called by Vista even if we do not advertise the support of DFS referrals. It also adds DFS link mapping notifications to the volstat interface which can be used by volstat plug-ins to redirect requests to the dfs target path. Other miscellaneous items: (1) return EAS_NOT_SUPPORTED instead of EA length 0 and silently accepting but not storing EA data (2) Call cm_VolStatus_Service_Started() before smb initialization instead of afterwards (3) During directory enumeration and link assembly push the UNC path into the lower levels by storing references to the tidPath and the relative paths within the cm_req_t object. (4) During directory enumeration make absolutely sure that we do not reference an unallocated cm_dirEntry_t object (5) publish a prototype for cm_FollowMountPoint() (6) return ERROR_RETRY instead of BAD_NETWORK_PATH if the server returns VBUSY (7) return PATH_NOT_COVERED instead of BADSHARENAME for DfsLinks when a volstat plugin is in use commit bb77b085ff420d8b13c1a71b3144b6b31258ad3d Author: Jeffrey Altman Date: Sun Dec 23 04:15:33 2007 +0000 windows-freelance-scache-20071222 LICENSE MIT (1) remove a race condition caused by holding and releasing the cm_Freelance_Lock while using a pointer into a private freelance data structure (2) do not reference a localMountPoint object that is not allocated (3) properly assign the DFSLINK file type (4) update the buffer data versions when we update the contents of the stat cache object and its buffers to match the registry contents commit 111fb3a0a9525bb9d618dfa23cd1df3eb8eb61c5 Author: Jeffrey Altman Date: Sun Dec 23 03:43:49 2007 +0000 windows-pioctl-listlink-20071222 LICENSE MIT In the error case (1) reference the mountPointString instead of the output of cm_AssembleLink() which was not generated and (2) do not free memory and objects that were not allocated nor reference counted. commit 0421cb2afcc19f05e83a2e415c3e93df8516da98 Author: Jeffrey Altman Date: Sun Dec 23 03:38:45 2007 +0000 windows-freelance-20071222 LICENSE MIT remove unused next field in cm_localMountPoint_t commit 89203eb7065d7bd4e2a40f2afd5fab979ddf1008 Author: Jeffrey Altman Date: Sun Dec 23 03:25:56 2007 +0000 windows-fix-cb-expiration-20071222 LICENSE MIT corrects cb expiration that was broken by the osi_Time() -> time() change in delta windows-readonly-volume-callbacks-20071109 commit f54187bfc59797fe955e779d432d155ab3792022 Author: Daria Phoebe Brashear Date: Wed Dec 19 20:56:23 2007 +0000 darwin-dont-assert-on-lock-state-in-remove-20071219 LICENSE IPL10 remove panic due to lock being grabbedin another thread can't be accurately covered with this test on darwin, as e.g. proc_selfthread() is not in the KPI commit b072deb257da24746e8c1ec2b01ff3b779e866c8 Author: Daria Phoebe Brashear Date: Tue Dec 18 15:16:20 2007 +0000 fix-verbose-vos-dump-20071217 LICENSE IPL10 fix verbose vos dump to not put garbage in the stream when dumping to stdout commit 49a968ab68c9f0014d3d5801893c280d00696940 Author: Chaskiel M Grundman Date: Mon Dec 17 21:12:45 2007 +0000 shlibafsrpc-export-more-20071217 LICENSE IPL10 shlibafsauthent uses these, export them commit c2da8a61dda3063fea2dedfa83a8db3e45c9622e Author: Daria Phoebe Brashear Date: Mon Dec 17 18:02:58 2007 +0000 put-relnotes-on-head-20071217 LICENSE IPL10 add 1.4.6 relnotes, put reast on head commit f72145f79a2f9b04a042de93940456a41cb6e8b0 Author: Adam Megacz Date: Fri Dec 14 21:33:56 2007 +0000 java-admin-interface-updates-20071214 LICENSE IPL10 pdate java admin interface including support for 1.5 commit 77c86d6fd39cb8e21f2028292e682155dd587803 Author: Jeffrey Altman Date: Fri Dec 14 13:33:57 2007 +0000 windows-make-cleanup-20071214 LICENSE MIT Modify the dependencies for building the cbd and file server resource files and delete the resource files as part of 'clean'. commit 059031b3c6ff61340daad288deb378dc48cbd43a Author: Jeffrey Altman Date: Fri Dec 14 13:06:48 2007 +0000 emulate-vsyslog-20071214 LICENSE IPL10 Do not include vsyslog on Windows. Include syslog.h for the syslog() prototype. commit bf26bc9486de7831ae298b11e9ca33ac14ed92a7 Author: Daria Phoebe Brashear Date: Thu Dec 13 23:04:54 2007 +0000 aix-lam-aklog-set-token-name-20071213 LICENSE IPL10 so we set an afs id in the tokens here also commit ea3d49eaea3d825e5b328e0fbb4382fe5b0249cd Author: Daria Phoebe Brashear Date: Thu Dec 13 22:41:11 2007 +0000 emulate-vsyslog-20071213 LICENSE IPL10 aix 5.3 lacks vsyslog. the fixed buffer is poor, but... commit af3a4e78523596427235b45fc1892725a29bd1d6 Author: Daria Phoebe Brashear Date: Thu Dec 13 21:21:56 2007 +0000 aix-curpag-redux-20071213 LICENSE IPL10 add curpag() support for aix, based on work by tom keiser commit fcc8aa021f6305209fb8cf638d5446206029f581 Author: Simon Wilkinson Date: Thu Dec 13 20:04:41 2007 +0000 redhat-rpm-mockable-20071213 LICENSE IPL10 make us able to autobuild with mock. (may need krb5-devel outside the if krb5support; if we do more thought will be involved) commit 51d6d9cbbc5971623097624a58e400cf8ab5e5ab Author: Daria Phoebe Brashear Date: Thu Dec 13 19:46:06 2007 +0000 vcache-track-maxvcount-accurately-20071213 LICENSE IPL10 if we can alloc more vnodes, and we are looking for vlru cycles, a legit vnode is not indicative of a cycle. commit b33fb96fff39c421064d03ff058dde76f2aeed8b Author: Daria Phoebe Brashear Date: Thu Dec 13 19:18:06 2007 +0000 shutdown-cleanup-20071213 LICENSE IPL10 get rid of cold_shutdown; it's in afs_prototypes.h. log when we don't clean up memory commit 8f84815d0d8c9cc0b49eb29bfceeb03a7ae7f04f Author: Jeffrey Altman Date: Wed Dec 12 04:24:26 2007 +0000 windows-afslogon-null-pointer-deref-20071211 LICENSE MIT 'tokenUser' can be dereferenced when NULL if GetTokenInformation() fails. commit 319ad227d12b8ab301d464c2460be74f7a44ec4d Author: Mike Meffie Date: Tue Dec 11 21:28:26 2007 +0000 afs-serveriprank-return-void-20071211 LICENSE IPL10 can't return 0 from void function commit 2e057314d957a8854ee3c912715a916c3f002863 Author: Mike Meffie Date: Tue Dec 11 20:42:34 2007 +0000 vldb-check-dont-return-int-from-void-20071211 LICENSE IPL10 void functions shouldn't return 0 commit bc70f0f0abcc0843c23a0f63ee6b2ad6b842983d Author: Daria Phoebe Brashear Date: Tue Dec 11 16:25:55 2007 +0000 butc-no-retval-in-void-func-20071211 LICENSE IPL10 fix the build again commit 96ea2c11b486ea947e69bd440782560a99c93086 Author: Daria Phoebe Brashear Date: Tue Dec 11 14:53:30 2007 +0000 revert-clean-felater-when-rechaining-20071211 LICENSE IPL10 revert this for now, put it in all in one piece when we commit the ifdef'd out test code. commit 0f9529171c37c4ef1e76156da111d83d04b38505 Author: Daria Phoebe Brashear Date: Mon Dec 10 22:45:42 2007 +0000 ubik-avoid-truncating-live-database-during-recovery-20071210 LICENSE IPL10 FIXES 77183 currently we can truncate the live database while we are doing recovery. address that. commit f5fde5736f333e284a244467641f08727481b4ae Author: Daria Phoebe Brashear Date: Mon Dec 10 22:41:22 2007 +0000 afs-shutdown-cleanup-20071210 LICENSE IPL10 FIXES 74479 clean up allocated resources when we shut down commit e26be7b8e3c8ca73e6ef6640c7d2b8d8200a0c65 Author: Mike Meffie Date: Mon Dec 10 22:24:55 2007 +0000 find-cpp-from-slash-20071210 LICENSE IPL10 find cpp using a full path, not the user's path, at least for now commit 649194188e4af21370faa1bf1217a887adae2572 Author: Jeffrey Altman Date: Mon Dec 10 20:43:58 2007 +0000 windows-remove-out-of-date-buffers-from-hash-tables-20071210 LICENSE MIT When a cm_MergeStatus operation determines that the current data buffers are out of date, remove them from the buffer hash tables in order to speed the lookup of valid data buffers. commit ef5e9a4dd7a4977d7d9f41266f2a0c491720e387 Author: Jeffrey Altman Date: Mon Dec 10 20:33:34 2007 +0000 windows-buffers-20071210 LICENSE MIT after removing cm_buf_t objects from the hash tables, clear the HT list pointers to make debugging easier. when modifying data version values in buf_ForceDataVersion() grab a read lock on buf_globalLock instead of a write lock. A write lock is only required if the hash table linked lists are being modified. The dataVersion itself is protected by the cm_scache_t mx mutex being held. commit c057063abea93733170c1b31c91b52050a150a98 Author: Carsten Jacobi Date: Mon Dec 10 18:26:30 2007 +0000 pam-expires-setting-should-be-32bit-20071210 LICENSE IPL10 store as a 32 bit value explicitly so 32 bit routines don't leave garbage around here. commit 8114be0c6a311007125d6c01b9e0ee7a16b71c29 Author: Mike Meffie Date: Mon Dec 10 18:20:50 2007 +0000 uss-lex-more-forward-decls-20071210 LICENSE IPL10 forward declare this so picky compilers will do their jobs. commit c6db6a90bee37f91c56d1aa1c4ed5657c353b3a0 Author: Daria Phoebe Brashear Date: Sun Dec 9 23:33:42 2007 +0000 cnvldb-prototypes-20071209 LICENSE IPL10 forward declare these commit 40307b60236c8e43321a31ab524ec6edd61cbabf Author: Daria Phoebe Brashear Date: Sun Dec 9 06:05:51 2007 +0000 aklog-no-dummy-write-on-aix5-20071209 LICENSE IPL10 don't do the dummy write on aix5. we are better off actually working commit c0a04c21cf36e4c8e25be9703f715f30d1bf55a6 Author: Daria Phoebe Brashear Date: Sat Dec 8 17:57:33 2007 +0000 writedcache-enforce-xdcache-writelock-20071208 LICENSE IPL10 FIXES 59136 in order that the writes to CacheItems not be addled, we need to *actually* hold a *write* lock when we write. not even just read as the comment says. and certainly not none as was happening in the dir package. commit 55e581824fceea149b9a48ee928aa76e97c009a8 Author: Daria Phoebe Brashear Date: Sat Dec 8 17:44:00 2007 +0000 linux24-kernel-configure-test-20071208 LICENSE IPL10 on linux 2.4 the try kbuild macro needs to try harder to notice what symbols we don't have commit 68021a6f2bf692e20044bb932501112934a09bac Author: Jeffrey Altman Date: Fri Dec 7 21:32:53 2007 +0000 windows-wix-afslogon-20071207 LICENSE MIT Move afslogon.dll and afscpcc.exe to the OpenAFS\Client\Program directory commit ab939a6216161cd6afab74e60ca87d376145651c Author: Jeffrey Altman Date: Fri Dec 7 16:03:56 2007 +0000 windows-follow-backup-path-20071207 LICENSE MIT Add a registry value, FollowBackupPath, that provides the Windows cache manager with functionality equivalent to the UNIX afsd -backuptree option. commit 974ad01826f39c817834c6377cf2872177fa7031 Author: Jeffrey Altman Date: Wed Dec 5 20:38:38 2007 +0000 viced-cbstuff-20071205 LICENSE IPL10 Keep track of AddCallBack calls in cbstuff. Increment cbstuff.DeleteCallBacks after holding H_LOCK commit 946f416577914aef5b31e398994fb8876b4ee5e9 Author: Jeffrey Altman Date: Wed Dec 5 20:31:56 2007 +0000 cbd-20071205 LICENSE IPL10 Windows requires open() to be called with O_BINARY otherwise Ctrl-Z means EOF which breaks dumpfile processing. Be consistent about writing/reading time as afs_uint32 instead of writing as afs_uint32 and reading as time_t since time_t can be 32-bit or 64-bit depending on the platform. commit d13cd42cb4e0b2fe3f91565eac37dc3f3e6d3270 Author: Daria Phoebe Brashear Date: Tue Dec 4 21:08:10 2007 +0000 largefile-avoid-wraparound-write-to-old-server-20071204 LICENSE IPL10 FIXES 73720 apply analogous check that's in fileserver to clients writing to old servers commit 58dd384ba4020c924604ab612276948803333549 Author: Daria Phoebe Brashear Date: Tue Dec 4 21:01:12 2007 +0000 inode-convertro-dont-include-volser-code-in-viced-20071204 LICENSE IPL10 FIXES 77574 viced isn't an fssync client; avoid the convert volser code there commit ebbd12f3ab83eafa0d8cd6978a45a4cc0b248334 Author: Daria Phoebe Brashear Date: Tue Dec 4 20:39:18 2007 +0000 linux-nfs-translator-dont-lose-nfs-pag-on-write-20071204 LICENSE IPL10 avoid issue where nfs writes through the translator could become unpag'd because a background daemon came into play commit a342c531a24544988e1a2c2ad1de6d555787989d Author: Daria Phoebe Brashear Date: Tue Dec 4 20:18:50 2007 +0000 afsdb-avoid-cross-task-stack-use-20071204 LICENSE IPL10 really for aix, but simplified code universally. commit 1c33df3870bffd4aa2eaf43d8ec56a75a1a3cd0f Author: Jeffrey Altman Date: Tue Dec 4 15:44:56 2007 +0000 windows-giveupallcallbacks-20071204 LICENSE IPL10 Add a registry value, GiveUpAllCallBacks, that can be used to enable/disable the use of the GiveUpAllCallBacks RPC. Due to the fact that calling this RPC can destablize pre-1.4.6 file servers since they do not include DELTA giveupallcallbacks-locking-20071121, the default is being set to disabled. We can re-enable the functionality by default only after sufficient time has been given for orgs to update their file servers. commit 1daa2c0b4fd25f959f6436a9d9eb9a45b7cab379 Author: Tracy Di Marco White Date: Sat Dec 1 05:40:51 2007 +0000 nbsd-new-version-20071201 LICENSE IPL10 FIXES 75602 add support for new version(s) of netbsd commit f9fddc03ec2f36528953f5264263458bf730506e Author: Daria Phoebe Brashear Date: Fri Nov 30 19:13:38 2007 +0000 aix-pin-small-allocs-20071130 LICENSE IPL10 we assume the small alloc pool is pinned. maybe we should pin it. commit 8070286d6c9f4f99b7d77627fa2fedf042e47451 Author: Hartmut Reuter Date: Thu Nov 29 21:37:00 2007 +0000 namei-allow-ufs-20071129 LICENSE IPL10 allow ufs again for namei. oops. commit e260ccde93009f7536d25ff6a42dcc1d126f08ec Author: Jeffrey Altman Date: Thu Nov 29 20:53:53 2007 +0000 windows-aklog-no-panic-if-no-kfw-20071129 LICENSE MIT commit a6fd54900e9ac9f5bf2a419338341ad355639034 Author: Jeffrey Altman Date: Thu Nov 29 19:25:04 2007 +0000 viced-drop-core-on-shutdownandcore-20071129 LICENSE IPL10 FIXES 74708 when we call ShutDownAndCore, actually drop a core. commit 7515efb9c390089b4ad4563b939785c5c05793c5 Author: Jeffrey Altman Date: Thu Nov 29 18:40:12 2007 +0000 clean-felater-when-rechaining-20071129 LICENSE IPL10 FIXES 74708 in order that this not be continually rechained, clear this here; we are handling it now. commit 262d1d1c70222b8378109674cd5090f602c52971 Author: Daria Phoebe Brashear Date: Thu Nov 29 18:32:29 2007 +0000 zero-uio-on-zero-read-20071127 LICENSE IPL10 avoid leaking random data in a read of a 0 length object. commit 7da027754463f7040c89b6a04c35d13d5fbe31d3 Author: Jeffrey Altman Date: Thu Nov 29 16:10:24 2007 +0000 windows-volstat-headers-20071129 move the enum volstat definition to cm_volstat.h from cm_volume.h. fix the copyright. commit ee839a167eea5c0b3e2a45bf1e47b268419dc04e Author: Jeffrey Altman Date: Thu Nov 29 16:06:48 2007 +0000 windows-smb-out-of-memory-20071129 It turns out that LsaCallAuthenticationPackage can succeed but still fail with an extended error. The one case that we have seen reported is STATUS_NO_MEMORY which would be produced when the paging file is full. This could be a transient error that will be resolved after Windows increases the paging file size. Instead of crashing under this condition we should force the authentication to fail and permit the client to retry. WER 567093715-1-0405174244 commit baef5ba97f4d042d75fe1ac8e11325be459a3d9a Author: Jeffrey Altman Date: Thu Nov 29 16:00:19 2007 +0000 windows-daemon-shutdown-20071129 The cm_Daemon() thread did not check after each operation whether or not the service is in the process of shutting down. As a result the thread could access data, locks, etc. that had been freed by other threads. WER 572098933-1-0407879071 commit 1ee37a57d3d343b8d7a1ab26b6783d396624c856 Author: Jason Edgecombe Date: Thu Nov 29 05:05:37 2007 +0000 man-page-symlink-20071128 Add man pages for all the symlink commands (Windows-only). commit 6cd96f678e12570205d2cbf532b86219b1737c49 Author: Russ Allbery Date: Thu Nov 29 04:57:05 2007 +0000 man-page-vos-convertrotorw-fix-20071128 Don't say that inode file servers are only available on Solaris and AIX. commit 3be37f4d1ca1e3fae238e58d07708577d5653ae2 Author: Jason Edgecombe Date: Thu Nov 29 04:17:10 2007 +0000 man-page-fs-sysname-improvements-20071128 Update the fs sysname man page to document the behavior of multiple @sys values. commit f78f007dc593ec6948bf904d7903223bd6046081 Author: Jason Edgecombe Date: Thu Nov 29 03:54:44 2007 +0000 man-page-fs-rxstatpeer-20071128 New man page for fs rxstatpeer. commit a7291b33490ce62a9ea5b93fab268e3c669a6051 Author: Steven Jenkins Date: Thu Nov 29 03:32:52 2007 +0000 man-page-fileserver-auditlog-20071128 Remove duplicate -auditlog in the fileserver synopsis. commit 2ecef5038e81386a002740f6b0112330117c4f6e Author: Jason Edgecombe Date: Thu Nov 29 03:30:41 2007 +0000 man-page-additions-20071128 Add new man pages for vos convertROtoRW, vos copy, and read_tape and add a troubleshooting section to the fileserver man page. commit 5743116d700ce279cde3a8dee962757df509d557 Author: Russ Allbery Date: Thu Nov 29 02:56:13 2007 +0000 man-fs-uuid-tweaks-20071128 Some minor capitalization and formatting tweaks to the fs uuid man page. commit 031369cd322d5dae4d1e8284c104e69a903c7995 Author: Daria Phoebe Brashear Date: Wed Nov 28 05:03:03 2007 +0000 getpag-prototype-20071127 forward declare this function ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== returns void, but, whatever commit eee1f81821656ed85720523750b312eaf0dd71b4 Author: Mike Meffie Date: Tue Nov 27 20:44:47 2007 +0000 linux-try-kbuild-deal-with-old-modpost-20071127 the pre 2.6.20.1 modpost issued warnings and not errors for unresolvable symbols. not overly useful. commit 746aab982ae3b7b6e1fb8109e5e9892a1821d6ec Author: Daria Phoebe Brashear Date: Tue Nov 27 20:01:00 2007 +0000 macos-no-read-on-directories-20071127 thanks to quentin@mit.edu for pointing this out. no read() on directories commit 89261e8b84697f3b5158e197ca9946c6fe9f45ed Author: Marc Dionne Date: Tue Nov 27 19:26:42 2007 +0000 linux-hash-inodes-for-mmap-20071127 FIXES 78544 inodes are only added to the superblock dirty list if hashed. do so. commit 4172d60820fdf3375091b0a451e8d25809019d8d Author: Asanka Herath Date: Tue Nov 27 17:28:44 2007 +0000 windows-nim-afscred-double-free-20071127 fix a double free on error condition commit 3c401f4724bea0b39baabfb3e38168886925e358 Author: Daria Phoebe Brashear Date: Mon Nov 26 22:19:02 2007 +0000 redhat-cleanup-authlibs-correctly-20071126 when not packaging authlibs, correctly discard them commit 4f98eb48fccde9dd70708b2dd6b0903745d16b7a Author: Daria Phoebe Brashear Date: Mon Nov 26 22:10:34 2007 +0000 volprocs-alloc-vnode-instead-of-using-stack-20071126 don't use stack here; alloc memory for short term use commit 48bcb88ddc8fe7baa7a2b0f8decee7e704ad32ef Author: Rainer Toebbicke Date: Mon Nov 26 21:47:00 2007 +0000 namei-avoid-spurious-emfile-20071126 FIXES 77531 before we did not handle the fd cache runnign dry. "oops" commit da18bb147b25e62ed69c6f88fa6331161018d9fb Author: Christof Hanke Date: Mon Nov 26 21:03:31 2007 +0000 assorted-warning-cleanup-20071126 add missignheader files, missing return values, correct a few calls to printf commit 5d8c44bc09fde707dc6aaaf037b2c8805cce0ed1 Author: Christof Hanke Date: Mon Nov 26 20:38:14 2007 +0000 kauth-ubik-wrap-pad-requisite-args-out-20071126 of course, if Date is larger than 32 bits, the wrapper is broken anyway. we should really get rid of the wrapper commit b776352e3b824d7c733ef05a71eac85c025b290b Author: Daria Phoebe Brashear Date: Fri Nov 23 14:29:51 2007 +0000 enhance-afsdb-debugging-20071123 allow cmdebug to show locks on cells. add fstrace event for afsdb commit aa5c3518df8d73c2b0aa625e77179f33df97c2af Author: Sean O'Malley Date: Fri Nov 23 13:55:49 2007 +0000 krb5-klog-solaris-20071123 FIXES 77575 make this work on solaris commit af7cf697ef8c0a416251d3fbfd516738e14c290b Author: Marc Dionne Date: Fri Nov 23 13:37:24 2007 +0000 linux-2624-20071123 FIXES 77370 support linux 2.6.24 commit dda101f22d4690f2c7c8731740fd9676f2a85c66 Author: Daria Phoebe Brashear Date: Fri Nov 23 13:00:42 2007 +0000 macos-buildpkg-cleanup-cruft-20071123 don't leave the old dmg around since it makes a new one bomb commit b0b3565b69b0b8fda46b25e7bd73c5116b32d83e Author: Jeffrey Altman Date: Wed Nov 21 19:30:51 2007 +0000 giveupallcallbacks-locking-20071121 FIXES 74708 Hold H_LOCK across calls into GiveUpAllCallbacks_r commit 5d84c50e5eb754eb33de0e53eab3fd64d170bb36 Author: Jeffrey Altman Date: Wed Nov 14 17:18:25 2007 +0000 windows-dv-logging-20071114 64-bit data version logging updates commit 5d245327f057389950c30bb36af6d12f6f96c73a Author: Jeffrey Altman Date: Wed Nov 14 06:22:04 2007 +0000 windows-64bit-data-version-20071114 Add support for 64-bit AFSFetchStatus data version values commit 473b0345210c98a44cffb8c5de1d0da5980969f4 Author: Daria Phoebe Brashear Date: Wed Nov 14 04:34:53 2007 +0000 dafs-inode-convert-20071113 the dafs version of this commit b98b51185dbd46ef6d9ef0249b032bbc49d13bfb Author: Daria Phoebe Brashear Date: Tue Nov 13 22:15:03 2007 +0000 inode-convert-ro-to-rw-20071113 so this functionality works with inode fileserver, also. corrected abstraction from previous versions so vol and volser have correct bits. commit 524f749430e78edab581ad84978d13870911b6f8 Author: Daria Phoebe Brashear Date: Tue Nov 13 00:46:09 2007 +0000 redhat-spec-no-strip-20071112 suggested by simon. debuginfo support in rpmbuild strips for us. deal here. commit 606ce43066bf1d818a990982f9704a973371c456 Author: Simon Wilkinson Date: Tue Nov 13 00:29:31 2007 +0000 redhat-reunrevert-fedora-build-change-20071112 "oops" commit 9f284c66a9ad685eab201e480372633d538938b3 Author: Daria Phoebe Brashear Date: Tue Nov 13 00:00:57 2007 +0000 redhat-packaging-updates-20071112 FIXES 76890 various updates to deal with fedora 8 and remove obsolete stuff commit d284c0e7c11e8ee4755ac152e5e47d4abf304afc Author: Jeffrey Altman Date: Mon Nov 12 19:03:15 2007 +0000 viced-accurately-track-file-callbacks-20071112 FIXES 74708 this should fix the issue with cbfree being corrupted. a more exhaustive pointer-blunting patch should probably be pulled in, but, this is simple and obvious commit 8593c52c2787587110865287937750e51c48afa5 Author: Kevin McBride Date: Mon Nov 12 18:25:54 2007 +0000 autoconf-strip-debug-options-sanity-20071112 To prevent stripping, specify the '--disable-strip-binaries' option on the ./configure command line. fileserver and volserver are never stripped. When --enable-debug is specified, binaries will not be stripped by default. commit cd8311641fd32328dd1d8a07b1318ecb53726bd1 Author: Tom Keiser Date: Mon Nov 12 18:17:43 2007 +0000 dafs-optimize-shutdown-20071112 optimize shutdown case as is done elsewhere, for dafs. commit f2bff0e675a2ca0b583264d59d288c62636a06b8 Author: Jeffrey Altman Date: Mon Nov 12 03:24:59 2007 +0000 windows-readonly-volume-callbacks-20071111 disable the option by default. require the daemonCheckVolCBInterval registry value be set in order to activate it. do not renew .readonly volumes whose callbacks are less than 30 minutes old. commit e61efde3236b9cd09a09cb9e869b27a14b68c4ac Author: Russ Allbery Date: Mon Nov 12 00:12:28 2007 +0000 man-page-name-underscore-more-20071111 Missed fs apropos when fixing NAME entries to eliminate spaces. commit 6ef9f3933595e4fef5c4af334ab580dbb08212c3 Author: Russ Allbery Date: Sun Nov 11 22:54:56 2007 +0000 man-page-name-underscore-20071111 The NAME heading for man pages can't contain a space in the program side or the man pages won't index with some man implementations. commit b5935d47fb5b06c4f1c74c3671af4b1a481b8ab3 Author: Jeffrey Altman Date: Sat Nov 10 22:50:44 2007 +0000 windows-readonly-volume-callbacks-20071110 avoid a deadlock commit dd1535d31509d48d961085809c132b398edd80ff Author: Simon Wilkinson Date: Sat Nov 10 20:13:27 2007 +0000 libafsrpc-makefile-fix-20071110 FIXES 76836 fix double / in makefile commit 76c886b574b7d21db2557872be8af8e6ca549f34 Author: Dan Hyde Date: Sat Nov 10 00:33:41 2007 +0000 viced-missing-lock-20071109 FIXES 76713 Add missing lock that needs to protect an in use 'host' from having HOSTDELETED added to the hostFlags and HWNO_INPROGRESS removed. commit 578e0d957547e4ac7f39b0559e166fd9eea5f150 Author: Jeffrey Altman Date: Sat Nov 10 00:18:11 2007 +0000 cmdebug-human-readable-expiration-time-20071109 add -ctime parameter which produces human readable expiration times. Doesn't work with OpenAFS for Windows prior to 1.5.28 because time() was not used in those versions for tracking expiration times. commit b43d778e9342dd19c010354cf6db854fdf1f7d22 Author: Jeffrey Altman Date: Sat Nov 10 00:14:26 2007 +0000 windows-readonly-volume-callbacks-20071109 A .readonly volume callback applies to the entire volume. Track it in the cm_volume_t cbExpiresRO field and apply it to all cm_scache_t objects with valid callbacks that are associated with that volume upon each daemon callback check. This will prevent premature callback expiration. Also, attempt to automatically refresh the callbacks every 30 minutes by obtaining a callback on the volume root. This value is configurable with the "daemonCheckVolCBInterval" registry value. Change from osi_Time() to time() for expiration values in order to permit conversion to human readable values in cmdebug. commit 15a52f254b8c079a1e640e18ce90508861ec5d96 Author: Daria Phoebe Brashear Date: Fri Nov 9 20:15:46 2007 +0000 clean-platform-20071109 clean platform dir commit 10ff33e6092a63107600b3b58c44c8d15849bbe6 Author: Daria Phoebe Brashear Date: Fri Nov 9 19:47:18 2007 +0000 macos-packaging-updates-20071109 make the readme correct. make dmgs which have a useful name commit 757bdb092ec4e1db9c7dc949499cc761982bd105 Author: Daria Phoebe Brashear Date: Fri Nov 9 19:18:49 2007 +0000 hpux11-thread-lock-tracking-20071109 do this for hpux also commit bb900e97df905c9805d9e7dc53a9303c671cf819 Author: Daria Phoebe Brashear Date: Thu Nov 8 14:38:48 2007 +0000 darwin-vfs-context-pullback-20071108 again, commit fix we have in 1.4 commit 7f8f251c3f252e352096f972e71c93db5cd9d3d9 Author: Daria Phoebe Brashear Date: Thu Nov 8 14:26:47 2007 +0000 reconvert-aklog-to-afs-com-err-20071108 make this match what we're shipping in 1.4 commit 277c37f48c8126ba9cb986ffc7361fcb98e2bbf2 Author: Daria Phoebe Brashear Date: Thu Nov 8 14:21:06 2007 +0000 aix5-revert-kcred-20071108 pull this back to 1.5 and head commit 044b90beb46177691fd05e08d552a37a48ad2ac8 Author: Daria Phoebe Brashear Date: Wed Nov 7 04:23:47 2007 +0000 shutdown-cleanup-not-yet-20071106 commit ad30730abd77fa489a6d3777e26621357724af9f Author: Jeffrey Altman Date: Wed Nov 7 04:01:36 2007 +0000 linux-nsec-timestamp-zero-20071106 don't leave garbage in nsec commit 1951d7d6c773aead0ea6e9d120e23d15fee4a29f Author: Anders Kaseorg Date: Tue Nov 6 18:30:19 2007 +0000 linux-splice-support-20071106 support splice in kernels new enough to support it (sendfile is deprecated) commit e06a144f33347bcac29131cd450d828c2803b9c0 Author: Daria Phoebe Brashear Date: Mon Nov 5 22:09:12 2007 +0000 aklog-no-kimpersonate-in-more-cases-20071105 aix's NAS kerberos can't support kimpersonate. deal commit bf7787ba99d5cae9a9413ba59dd4c01996a6d557 Author: Daria Phoebe Brashear Date: Mon Nov 5 21:43:00 2007 +0000 krb5-klog-no-err-table-yet-20071105 right now we don't have this everywhere, until we reorder libraries, and test usefully with configure, forget it. commit 564be8601c1447b85984eb3773b48ccaa22b4343 Author: Thomas Mueller Date: Mon Nov 5 20:27:24 2007 +0000 cbd-use-callback-size-for-callbacks-20071105 FIXES 76408 cast correctly commit 55149d5e2b69cd6dfa7f6fd3d02e0d488b3fd69d Author: Jeffrey Altman Date: Mon Nov 5 18:25:33 2007 +0000 windows-bplus-tree-20071105 Migrate search key into thread local storage commit 981f984b2dd675bab31d5d0374592c9e0fa12bbb Author: Jeffrey Altman Date: Mon Nov 5 18:23:30 2007 +0000 windows-afsd-notification-20071105 fidp->cell is not a pointer commit 89ac3ec2f68db045cf719d619eea1fb97a6364a3 Author: Jeffrey Altman Date: Mon Nov 5 00:23:54 2007 +0000 windows-afsd-notification-20071104 the difference between osi_assert() and osi_assertx() is whether or not a description is specified as part of the call. When no message is specified afsd_notifier() is called with a NULL msgp parameter. This results in a null pointer dereference during the EventLog() call. As a result, none of the information describing the assertion is written to the log file. This commit sets a default message for use when no other message is provided and it replaces all calls to osi_assert with osi_assertx and adds descriptions. commit bc7a0be8eb24f5347b8a5b51067b15270aa84691 Author: Jeffrey Altman Date: Mon Nov 5 00:16:58 2007 +0000 windows-osi-lock-assert-msg-20071104 modify lock_AssertXXX macros to call osi_assertx() and provide a descriptive message. commit 45e2d81aa3f62927adc85e4e23daf511478829e4 Author: Asanka Herath Date: Sat Nov 3 16:31:50 2007 +0000 windows-scache-syncop-waiters-20071103 One of the issues that has become a serious problem since the addition of the local directory updates is that although cm_SyncOp synchronizes operations, it does not preserve the order of requests. This has always been a problem in that it has been possible for a request to fail to complete due to its worker thread's bad luck. When a request takes longer than the Windows SMB Redirector's timeout, the SMB Redirector tears down the SMB virtual circuit. When using the local directory updates it is really important that the directory update operations complete in the order that they were sent to the file server. If they don't, then the local directory state and the file server state will not match and the local directory state must be discarded which in turn forces a new read of the entire directory contents over the network. This patch adds a new cm_scache_waiter_t object that is used to store the current thread, buffer, and syncop flags within a waiters queue on each cm_scache_t object. If a thread is forced to sleep in cm_SyncOp, upon waking it will check to see if there are any other threads waiting that are attempting to perform a similar task ahead of it in the queue. If yes, the thread goes back to sleep. If not, it goes ahead and enters the cm_SyncOp conflict resolution block. This patch has the additional side effect of reducing the number of competing threads that must obtain the cm_scache_t mutex and process the cm_SyncOp conflict resolution block. As a result, the overall CPU utilization of the service and the clock time associated with processing requests will be reduced. commit 2c45d9ec9fc888c2c6eed46538fe4a9c440e3c8c Author: Jeffrey Altman Date: Sat Nov 3 16:18:14 2007 +0000 windows-dir-20071103 Reorganize the locking for cm_BeginDirOp and cm_EndDirOp. There are a number of locations where locks are obtained, dropped, and reobtained. This reorganization attempts to accomplish several things: (1) be optimistic for the most common case so it will be fast (2) add consistency checks after each location where locks are dropped and re-obtained. If we lose a race in cm_BeginDirOp and the bplus tree is out of date, retry until we get to a consistent state that we can use. (3) Ensure that all operations take place with the correct locks. commit ef6684d005b3858dd6a1a94deee48b4bbd167932 Author: Jeffrey Altman Date: Sat Nov 3 16:08:03 2007 +0000 windows-buf-20071103 assert that the cm_scache_t mutex is held when calling buf_ForceDataVersion(). commit e4ddca6854f7bd4b4ce153b2377bb6ca31f44b8f Author: Jeffrey Altman Date: Sat Nov 3 16:05:43 2007 +0000 windows-bplus-tree-20071103 rename findNode to leafNode in bplus_Lookup replace all OutputDebugString calls with osi_LogX calls modify bestMatch to special case the return values for leaf nodes. If an entry is above or below the values available in the leaf node return BTLOWER or BTUPPER instead of BTERROR. In insert and delete operations check for BTLOWER/BTUPPER and isleaf, if true convert to either slot 0 or Max and perform the insertion. This produces easier to read code when performing lookups. commit a08f0f4dc05890147eb58d8420ada45d2bf69864 Author: Jeffrey Hutzelman Date: Sat Nov 3 15:59:12 2007 +0000 windows-cellservdb-20071103 GCO Public CellServDB 25 Oct 2007 commit 75729fa4ae564f1c5e9efb6f387840ab4b24263f Author: Jeffrey Altman Date: Sat Nov 3 01:05:53 2007 +0000 windows-install-des-prototypes-20071102 required by auth-getkey-prototyping-20071102 commit 32828680ae0342b91bea9fc2c4ecceb25510d7f3 Author: Daria Phoebe Brashear Date: Fri Nov 2 18:01:32 2007 +0000 auth-getkey-prototyping-20071102 make this sane commit 6b5146db5b111aca5ab0b3f6423f67fb01303627 Author: Ken Raeburn Date: Thu Nov 1 19:12:38 2007 +0000 viced-new-host-reup-h-lock-20071101 FIXES 69384 don't leave lock dropped commit 20a837c5cc0a093b3c74622056cca9f3f561bd6b Author: Dale Ghent Date: Thu Nov 1 17:05:33 2007 +0000 solaris-cc-deal-with-new-64-bit-arch-specifier-20071101 FIXES 75908 switch from -xmarch=amd64 to -m64 commit 7a0df48baf351eb2aaa2b6c4da0054d111facdb9 Author: Dale Ghent Date: Thu Nov 1 16:57:26 2007 +0000 solaris-nevada-update-20071101 FIXES 75896 update for current solaris nevada commit 089a02bcbc9df2090c275e5620248f478be1e286 Author: Simon Wilkinson Date: Thu Nov 1 16:09:22 2007 +0000 auth-cleanup-20071101 kill warnings in auth directory commit 8b8e0935e474cc2f79638b97134fa9e2d55adee8 Author: Simon Wilkinson Date: Thu Nov 1 15:58:59 2007 +0000 rxgen-ansi-again-20071101 another look at lettign rxgen do ansification commit eea1cb08145b2669384b2380e0878067f826d3dd Author: Tom Keiser Date: Thu Nov 1 14:59:38 2007 +0000 dafs-salvage-deal-with-clones-20071101 FIXES 75591 cope with trying to salvage a clone correctly commit c5678a4af78305cac2246480cc0c038655db324d Author: Chaskiel M Grundman Date: Thu Nov 1 03:23:09 2007 +0000 linux-afs-unlinked-file-dentry-flagging-20071031 fix case: perl -e 'open FOO, ">foo"; unlink(foo); @stat = stat(FOO); print "inode for foo(unlinked) is $stat[1]\n"; system("/bin/ls -ali | grep $stat[1]");' commit 8214014855be3fb99c00c23400a2a3325b2b4a57 Author: Simon Wilkinson Date: Wed Oct 31 22:31:38 2007 +0000 more-anonymous-pointer-cleanup-20071031 more char*->void* conversion commit 27ce37c7a0ea23c46c72484719697a900ac0a714 Author: Jeffrey Altman Date: Wed Oct 31 15:33:27 2007 +0000 windows-btree-20071031 Add additional validation and error handling code after each call to getSlot(). If an invalid slot is returned, return NONODE. If the invalid slot is returned when extracting a data node, invalidate the tree. Modify compareKeys() to always perform a case-insensitive comparison and only perform a case sensistive comparison if the case-insensitive one matches. This ensures the ordering is consistently reported. Add lock assertions to ensure that all calls are being performed with the correct locks being held. There have been some crash reports that provide stack data that does not appear to be possible unless there is a race. However, there are no obvious locations where the race is taking place and the test suite indicates that all of the correct locks are being held. We shall see what happens in the field. For consistency replace all calls to findKey in which the range is (1,numentries) with calls to getSlot(). Optimize the depth search loop by testing the slot value in the for statement instead of forcing the loop to be broken later. commit cf0d1393f4df2c0a8840aa00db05de7bd221c275 Author: Jeffrey Altman Date: Wed Oct 31 15:23:42 2007 +0000 windows-begindirop-20071031 Avoid a race condition in cm_BeginDirOp() caused by the failure to hold the cm_scache_t mutex while copying status data from the scp to the dirop commit ff4c519c789af1c4b126d926dd94f3efab1ebd14 Author: Jeffrey Altman Date: Wed Oct 31 15:20:14 2007 +0000 windows-cm_analyze-ewouldblock-20071031 Add support for EWOULDBLOCK to cm_Analyze. If the file server returns EWOULDBLOCK, retry the request every two seconds for up to the RDRtimeout. commit d16d5c031274e05ea27f12965e094ae42d8af9e5 Author: Jeffrey Altman Date: Wed Oct 31 15:18:10 2007 +0000 windows-uaewouldblock-20071031 Reorganize the order of the includes to ensure that EWOULDBLOCK is not assigned the same value as EIO. commit 3e1646fed23cb58a7220e622aeb8afd519bb9840 Author: Simon Wilkinson Date: Wed Oct 31 12:36:33 2007 +0000 util-cleanup-20071031 kill the warnings in src/util commit 3f449eb48eb0f4069062401a6a27f7481c0e88d3 Author: Simon Wilkinson Date: Wed Oct 31 04:20:33 2007 +0000 openafs-bozo-varargs-20071031 convert bozo to be prototypable commit 855e6442615ad2c42ca8f485d8a7efbcdb8f2105 Author: Simon Wilkinson Date: Wed Oct 31 04:05:27 2007 +0000 openafs-void-star-pointers-20071031 convert anonymous pointers from char* to void* commit 7d05bd439e144aa3bc5fd68908d1a359182897b0 Author: Simon Wilkinson Date: Tue Oct 30 15:10:37 2007 +0000 openafs-string-header-cleanup-20071030 include only what we need commit 7fe8131c049186e8340890a1effdf109d87f0611 Author: Simon Wilkinson Date: Tue Oct 30 03:53:08 2007 +0000 redhat-packaging-update-20071029 update rpm packaging stuff for what shipped in 1.4.5 commit 5a0dfa46f0a02f2c23fc187ab71745fa5cf21964 Author: Jim Rees Date: Fri Oct 26 17:41:54 2007 +0000 update-bsd-readme-20071026 Update build info for Open/FreeBSD. commit 1b3ecae23c87a0d97b561169ca33a6e7eca449ee Author: Simon Wilkinson Date: Fri Oct 26 17:20:22 2007 +0000 redhat-fedora-build-driver-20071026 driver script for fedora builds commit 2ced26c8badb79a81152523bbfb4ef2cc476cb03 Author: Daria Phoebe Brashear Date: Fri Oct 26 17:09:40 2007 +0000 redhat-spec-fix-hugemem-modpath-20071026 make this match other kernsls commit ed42d1f71a9c4b2f1dd74227fafce763d5e30ea9 Author: Daria Phoebe Brashear Date: Thu Oct 25 06:19:17 2007 +0000 release-notes-1-4-5-20071025 release notes for 1.4.5 commit fb7595ad1d31c5ccafa18de854f2bf8bc8c067de Author: Jeffrey Altman Date: Thu Oct 25 05:47:23 2007 +0000 windows-aclent-remove-extraneous-code-20071024 Microsoft provided a dump showing cm_data.aclLRUEndp == NULL in GetFreeACLEnt(). Couldn't find any reason why that would be true. However, there is extraneous code that manipulates the value of aclLRUEndp when it should be left to osi_QRemoveHT() to update the pointer values. Also add an additional explicit test for aclLRUEndp == NULL in GetFreeACLEnt(). commit 511aed14e0d18aa8c3a9a3742d79443912a4d9ff Author: Daria Phoebe Brashear Date: Thu Oct 25 04:42:07 2007 +0000 macos-installer-crap-20071025 put it back the way it was commit d78b844133549b530273fc7ad1ea376d582985d9 Author: Simon Wilkinson Date: Wed Oct 24 16:44:26 2007 +0000 linux-nfstrans-20071024 FIXES 75233 better track changes so we can build an nfstranslator module for new linux kernels commit 1d9ba682a5533bb720ef033287f78cff467aac11 Author: Dan Hyde Date: Wed Oct 24 16:33:31 2007 +0000 cblater-bitmask-bug-20071024 FIXES 75304 add missing () commit 3973d822379ca3af99db43d34d8d3468740cf5a7 Author: Daria Phoebe Brashear Date: Wed Oct 24 06:40:12 2007 +0000 darwin-allow-finder-to-unlink-rsrc-files-20071024 finder tries hard to clean up resource fork files it creates when you drop something in a dropbox that don't then get updates. let it think it won commit f814c8a9636b2939da9d0f17de4d71c6fd23ae6c Author: Chaskiel M Grundman Date: Wed Oct 24 06:25:46 2007 +0000 finder-and-tiger-cp-deal-with-dropboxes-20071024 FIXES 69363 this way copying finishes commit 57b28bb8eed956e1fe27cef81efd4cb30e63837d Author: Jeffrey Altman Date: Wed Oct 24 04:49:07 2007 +0000 windows-wix-nsis-uninstall-20071023 At somepoint windows installer broke the use of the 'file' RegistrySearch type. Instead of returning the full file name path we are only getting the directory. Switch to using the 'raw' type since we know we aren't prefixing the file name with a hash. commit 15f6e3170ce8e0c6f8e92f1fe046e2293cf8e833 Author: Mike Meffie Date: Tue Oct 23 23:36:06 2007 +0000 afs-shutdown-free-resources-20071023 try hard to free resources commit 3b3ccef28eb19079e73f78779e2778d3aa44bb83 Author: Daria Phoebe Brashear Date: Tue Oct 23 18:37:58 2007 +0000 darwin-uio-64-20071023 use the 64 bit awareness in the KPI commit 66a19a512e2a015b39089343288881a108b8d637 Author: Jason Edgecombe Date: Tue Oct 23 17:59:16 2007 +0000 pod-man-fs-uuid-20071023 FIXES 75175 add man page for fs uuid commit 4526c6a4f7e6f627249580cac0ba9373735ae667 Author: Daria Phoebe Brashear Date: Tue Oct 23 15:28:22 2007 +0000 darwin-afsd-cleanup-power-notification-nicely-20071023 don't drop a core on shutdown commit 79e51892fe1d6fe115a9ae6301f4553e6b6dc07c Author: Daria Phoebe Brashear Date: Tue Oct 23 15:19:07 2007 +0000 vos-restore-check-doesnt-apply-to-pipes-20071023 as pointed out by hung pham commit 6aaca73002214ff8b7a757322a9bffa3d5af0e3e Author: Daria Phoebe Brashear Date: Tue Oct 23 01:30:03 2007 +0000 darwin-modify-cp-workaround-20071022 more work will be needed to fool finder into just copying the d**n file, since it's checking too hard. commit 4456aa773929fa959e998058bfafc14d6309ff49 Author: Daria Phoebe Brashear Date: Tue Oct 23 01:02:39 2007 +0000 change-default-probeint-for-rfc4787-20071022 an RFC compliant port mapping device guarantees less time than we previously probed. commit d0285a2193de9868024eb0f432a495bd1802663f Author: Simon Wilkinson Date: Mon Oct 22 18:29:28 2007 +0000 fssync-poll-interface-20071022 FIXES 74708 support a poll interface otherwise, the fd setsize can screw with us commit e25e21e909c5684025a1c6066dedaffa2666c3c7 Author: Simon Wilkinson Date: Mon Oct 22 14:21:26 2007 +0000 cpp-avoid-cc-E-20071022 finding the right cpp is good. having it not be cc -E is better commit fd1bf06004bc698242d8ceec88126384bba8f30f Author: Jeffrey Altman Date: Mon Oct 22 04:32:09 2007 +0000 windows-ntstatus-warnings-20071021 suppress warnings caused by multiple definitions of NTSTATUS values commit f90153625efee1e5589df5e6b66a1162e07ddbfa Author: Jeffrey Altman Date: Mon Oct 22 04:27:14 2007 +0000 windows-del-symlink-20071021 The cmd.exe "del" command operates by opening a file and then setting the file disposition to delete on close followed by closing the file. When the filename is a symlink, the smb_fid_t scp refers to the final destination object and not the symlink. In smb_CloseFid() the correct object would be removed from the directory by name, but the wrong cm_scache_t would be marked deleted. This would result in subsequent references to the target file being considered invalid. Fix it by looking up the cm_scache_t of the symlink prior to performing the deletion. commit 20cfc16e3d6d874a6a21f6ed68ff904dd45142d5 Author: Jeffrey Altman Date: Sat Oct 20 04:58:40 2007 +0000 windows-registry-OfflineReadOnlyIsValid-20071019 Add registry value "OfflineReadOnlyIsValid" option. When set to non-zero value, an offline or down read only volume will be treated as if it has a valid callback even if it doesn't. commit 6122c757e1902baabc35d0ce0f6de336c2576b22 Author: Arno Schuring Date: Sat Oct 20 01:20:51 2007 +0000 cpp-autoconf-located-20071019 let autoconf find cpp commit 7e752ba085729991101782fe40f9db8c6f384734 Author: Daria Phoebe Brashear Date: Fri Oct 19 21:37:15 2007 +0000 darwin80-dnlc-dont-return-deadvnodes-20071019 FIXES 41550 obvious. if we are going to be like GetVCache, we should commit 05ee11d3155489bf28ca35b8b1ea4f32c97bf76b Author: Jeffrey Altman Date: Fri Oct 19 05:25:39 2007 +0000 windows-pioctl-parse-path-20071018 cm_ParseIoctlPath() moves the ioctlp->inDatap past the ioctl path to the next data value if there is one. Make sure we move the pointer before we alter the contents of the buffer. Otherwise, the caller uses the wrong string for its next data blob. commit 53baa78733c01dfcf842a7d8339bc3e8c55d517e Author: Jeffrey Altman Date: Thu Oct 18 23:06:35 2007 +0000 windows-pioctl-error-codes-20071018 add knowledge of new cm error codes commit 91855b82c75f7a9d840eb7e47663dd2c41eb561b Author: Jeffrey Altman Date: Thu Oct 18 06:27:40 2007 +0000 windows-freelance-symlink-20071018 More tweaking of the IoctlPathParsing code. Add special handling for many more pioctl operations performed on the Freelance root.afs volume. Add informative error values for symlink freelance operations. commit 8598b81a6904e4a7d3436d5545fdfd7f1ee99890 Author: Jeffrey Altman Date: Thu Oct 18 06:24:39 2007 +0000 windows-smb-20071018 refactoring, suppression of duplicate status value definition warnings, and removal of old pattern matching code commit deced1c9328ee5451c7f6927afb5b08b5d9e4ed4 Author: Jeffrey Altman Date: Thu Oct 18 06:20:08 2007 +0000 windows-afskfw-20071018 Add SOFTWARE\OpenAFS\Client AcceptDottedPrincipalNames registry value to control whether the use of Kerberos v5 principal names with dots in the first component are permitted. commit 930f1d7ad79b9fbc6f329eb85d84a7263b8908d6 Author: Daria Phoebe Brashear Date: Thu Oct 18 05:11:16 2007 +0000 redhat-spec-require-bison-flex-20071018 require everything we need to build commit bc1cc5a65b4096d8d489c1d20e0cb3a6f8b5b556 Author: Daria Phoebe Brashear Date: Thu Oct 18 05:02:42 2007 +0000 redhat-packaging-updates-20071018 make the buildall script know centos and new fedora; make the spec file include it commit d8faa623f7ae0c26efd9923953f10b80eaed8042 Author: Daria Phoebe Brashear Date: Wed Oct 17 21:32:38 2007 +0000 darwin-fsref-other-races-20071017 FIXES 41550 not clear this is exactly correct but testing seems to vet it. commit 49630f29571b5d602e8d57aa1b48e3fe710e2a53 Author: Chaskiel M Grundman Date: Wed Oct 17 18:16:19 2007 +0000 darwin-finalizevnode-get-vnode-inside-lock-20071017 FIXES 41550 the ovp initialization should happen while we have the vnode locked, regardless. commit eac13cbb48a95170a310dedb5d7efd1eeb4350b3 Author: Daria Phoebe Brashear Date: Wed Oct 17 15:32:50 2007 +0000 afs-shutdown-free-resources-20071017 try hard to free resources commit 30193a043e0b3d965139ec92227f73ce31f24403 Author: Daria Phoebe Brashear Date: Wed Oct 17 04:46:19 2007 +0000 darwin90-disk-cache-20071016 FIXES 43303 don't break memcache, also commit 62689b013451c38843d369ae86e46ab37099648a Author: Douglas Engert Date: Tue Oct 16 22:55:38 2007 +0000 translator-sysnamelist-bugfix-20071016 FIXES 74478 fix sysname list support bug when the list is empty commit 89c8d7e125a5b46f57081000fcbc698eba9e5daa Author: Jeffrey Altman Date: Tue Oct 16 18:24:31 2007 +0000 windows-fs-uuid-20071016 do not require afs client administrator access to display the current Uuid value. commit 7b2fc6e8d53d1ca8f111cd757e723ab27e9a31d9 Author: Jason Edgecombe Date: Tue Oct 16 18:18:28 2007 +0000 fs-uuid-20071016 FIXES 74473 Change "fs uuid" to "fs uuid -generate" where "-generate" is a required parameter. This command requires root access to execute it. Unlike the Windows variant, the UNIX version does not yet support displaying the current UUID to the user. When this functionality is added, "-generate" should become an optional parameter. commit b8ecf28e22b24cf220bbae8042ca3c2d16c7e080 Author: Jeffrey Altman Date: Tue Oct 16 17:55:10 2007 +0000 restore-20071016 FIXES 74531 afs_com_err() was called without specifying the error code. commit 38719a218c44dd78300afe179bf051e3fbd08e0f Author: Daria Phoebe Brashear Date: Mon Oct 15 20:19:03 2007 +0000 darwin-access-avoid-confusing-cp-20071015 FIXES 69363 it wants EPERM; EACCES, and it just retries forever. "no means no. now go away" commit d66f71cc08fe1d992e4354938a8968cae03d1ce0 Author: Daria Phoebe Brashear Date: Mon Oct 15 18:23:54 2007 +0000 darwin-install-fstrace-catalog-20071015 fstrace needs the message catalog to be useful. install it. commit 38a653ea0d4d3ba8307f50c1ba6637b10d90d176 Author: Daria Phoebe Brashear Date: Mon Oct 15 18:00:58 2007 +0000 redhat-spec-no-kdump-really-20071015 make really, really sure it's not there commit 14e71a12b6da596880debc21c224b94c33a5b6f2 Author: Rainer Toebbicke Date: Mon Oct 15 15:13:42 2007 +0000 volser-return-extended-stats-to-callers-20071015 FIXES 74398 make sure when we roll over stats we return the new values commit 707c164a6fb30dad05333c7346cc7d3970270445 Author: Jeffrey Altman Date: Mon Oct 15 04:18:30 2007 +0000 windows-clean-eventlog-20071014 delete AFS_component_version_number.h in the lang subdirectory commit 8a50a53fdf1ec2374bb5b68cfa42b6a3aa3ee84c Author: Jeffrey Altman Date: Mon Oct 15 03:32:12 2007 +0000 windows-pioctl-two-20071014 Two more locations where an intermediary path of length zero should be ignored. commit 7504c664028a3df8bbf5ba682c8b39a8fc05aae2 Author: Jeffrey Altman Date: Sun Oct 14 06:54:06 2007 +0000 windows-pioctl-20071014 do not parse an intermediary path if the path length is 0 commit b6cfa8d6c8e193edafc607a34e338cc62c386a51 Author: Derek Atkins Date: Fri Oct 12 05:28:55 2007 +0000 rpm-kmodule-patch-20071012 install the openafs module in the kernel module area, in rpms commit 7832148ae0e8c9f17a2ac2eb879c7b2fdf69403e Author: Marc Dionne Date: Thu Oct 11 18:44:53 2007 +0000 gcc42-integer-overflow-fix-20071007 fix issue where gcc 4.2 compiled kernel modules were breaking on linux ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== with fix from Hans-Werner Pulsen ==================== with fix from Hans-Werner Pulsen commit e1b1f4655f537427369c996b22816b0e5426da82 Author: Daria Phoebe Brashear Date: Thu Oct 11 17:51:56 2007 +0000 macos-version-generation-20071011 make release time simpler commit c4ad02b69aae927f1444f7386c040d48ee7abc17 Author: Simon Wilkinson Date: Thu Oct 11 17:38:56 2007 +0000 rpm-files-update-20071011 updates for the specfile and rpm generation commit 4a80289db728d5a4c41144fd7ef8a567f30263d2 Author: Jeffrey Altman Date: Wed Oct 10 19:50:25 2007 +0000 windows-freelance-pioctl-two-20071010 explicitly process the last component of the path separately and do not follow symlinks or chase mountpoints on the last component. commit 63e1761b992e25fa305e6d621b31bd1113f5cbe7 Author: Daria Phoebe Brashear Date: Wed Oct 10 18:38:45 2007 +0000 darwin90-disk-cache-20071010 FIXES 43303 support disk cache in darwin90 commit b7030276f7f3a2df538e40b842f04219b23b2ee4 Author: Jeffrey Altman Date: Wed Oct 10 17:05:47 2007 +0000 windows-build-xstat-20071010 build xstat directory commit 9991a731e01426909fed050c1e292bb8a859978c Author: Jeffrey Altman Date: Wed Oct 10 16:43:30 2007 +0000 windows-clean-eventlog-20071010 clean eventlog/lang/AFS_component_version_number.h commit 58627b15ebae4ecd6e574d11e1848fab53ffc2d1 Author: Jeffrey Altman Date: Wed Oct 10 16:37:25 2007 +0000 windows-installer-wix-20071010 Later versions of the wix toolset require that all variables be defined with a value. commit fae48bb39bbcb2366bc4087d7a67126c9d21c525 Author: Jeffrey Altman Date: Wed Oct 10 16:20:29 2007 +0000 windows-freelance-pioctl-20071010 pioctl commands were failing with CM_ERROR_NOSUCHCELL because the Freelance cell object was not being added to the Cell Name and ID hash tables. ParseIoctlPath was not consistently returning the FID of the specified symlink or mount point object. The was still one more case in which CM_FLAG_FOLLOW was being specified left over from windows-parse-ioctl-path-20070629. Changed the use of CM_FLAG_FOLLOW into a 'follow' variable to ease testing and permit easy migration to adding a 'follow' parameter to the function. RXAFS_GetVolumeStatus is always going to fail for Freelance volumes. Fake the response data. UpdateVolume() was performing the wrong test for Freelance volumes. Freelance volumes should not be marked offline even though they have no servers. commit 604838e7d43f4cd65d4eb70208bea57db2e93026 Author: Daria Phoebe Brashear Date: Tue Oct 9 22:28:18 2007 +0000 darwin90-debug-harder-20071009 stab the stabs commit 9240a1e2525971e6eb419e5be2ea98a16342b657 Author: Daria Phoebe Brashear Date: Tue Oct 9 22:26:24 2007 +0000 taking-rx-back-into-the-20th-century-20061228 ken's patch is now on the ipv6 branch commit b4b2b74d145140fb785170dfbab5ca50ef24f045 Author: Daria Phoebe Brashear Date: Tue Oct 9 16:58:47 2007 +0000 darwin90-dsym-and-ppc-cputype-support-20071009 build for all ppc cputypes. also, support dsym debug info instead of stabs, when appropriate commit e4adbbc79b016b3fa4e83ad0e261a4c47aad55a5 Author: Daria Phoebe Brashear Date: Fri Oct 5 23:16:36 2007 +0000 sol10-abstraction-20071005 abstract things as needed commit f6e59be4dc203f4662d723ab42ed7f07c3367678 Author: Tom Keiser Date: Fri Oct 5 04:30:19 2007 +0000 dafs-listen-after-restoring-state-20071004 don't start rx server until the previous state has been loaded commit 409a3457033c4fe00074f22def3b29f630367dad Author: Daria Phoebe Brashear Date: Fri Oct 5 04:22:27 2007 +0000 vol-salvager-avoid-logging-to-nothing-20071004 check for logFile before using commit 127cebfacdaf84292fc1ecfd64c0e8d259aba474 Author: Marc Dionne Date: Fri Oct 5 04:07:27 2007 +0000 linux-2623-support-20071004 FIXES 70773 update for support for 2.6.23 commit 4ac01ec1ed2ce588185c055acfa3d73095a5b444 Author: Dale Ghent Date: Fri Oct 5 03:22:11 2007 +0000 solaris10-network-updates-20071004 FIXES 72759 This patch removes use of the non-Public ILL structures by OpenAFS to gather network interface information in order to make RX packet size and server locality decisions. commit 3c216378cba651dcb6519d7e615be37b534b56c8 Author: Jeffrey Altman Date: Thu Oct 4 15:11:07 2007 +0000 windows-btree-rename-case-only-20071004 Attempts to rename by case only would fail when there are more than one ambiguous matches. The list of data nodes would be corrupted and future tree manipulations could result in a crash. commit a7abca15b09561a0d9fda11c0cb99c9edd535d1d Author: Jeffrey Altman Date: Wed Oct 3 16:27:53 2007 +0000 libadmin-minimize-dns-lookups-20071003 Some cells have a large number of servers listed in the vldb that no longer exist and/or do not have PTR records in DNS. The algorithm used to obtain the "server names" from IP addresses involves opening a cell handle, creating an iterator of all servers, and then iterating over them until a match is found for the IP address. This is done for every server reference. Each time the iterator was constructed the vldb would be queried and gethostbyaddr() would be called on every listed ip address. This patch stores a copy of the server list in the cell handle along with an expiration time generated from a 10 minute TTL. This significant reduces but does not eliminate the number of times that the caller is blocked on reverse dns lookups. commit a4b995b61811ccfbe0586ad8ab3c096cf817d9b7 Author: Jeffrey Altman Date: Wed Oct 3 16:17:43 2007 +0000 windows-tviced-resfile-20071003 Add explicit build rules for TVICEDRES since we do not build the non-threaded file server on Windows commit 6cc29578b0a7d3ba06003070dce7e1df6cfeb327 Author: Tom Keiser Date: Tue Oct 2 01:14:08 2007 +0000 dafs-cbstate-tracking-fix-20071001 fix this the rest of the places it happens commit 7890ce9eade282398c06c00166b43e7d23151944 Author: Jeffrey Altman Date: Mon Oct 1 21:02:03 2007 +0000 windows-lanahelper-20071001 uninitialized variable in lana_IsLoopback commit aecaddba376c5e2f15a7cb52f1777b07546695d4 Author: Dan Hyde Date: Fri Sep 28 00:15:30 2007 +0000 vollistpart-init-error-20070927 FIXES 72144 correct an initialization failure in VolListPartitions commit 29d5a11a1fad9d93baab18409faed02547df5a63 Author: Tom Keiser Date: Thu Sep 27 17:30:32 2007 +0000 dafs-avoid-volhdr-leak-20070927 when there's an error don't leak the loaded header; release it commit 0ef8174a29d8963eee46b9deddc9cc465925ae88 Author: Jeffrey Altman Date: Thu Sep 20 12:56:54 2007 +0000 readme-nt-20070920 update wix and nsis instructions commit c984f03a9185e5b1b69e182ad891caa83541d08c Author: Jeffrey Altman Date: Thu Sep 20 12:44:23 2007 +0000 windows-version-info-20070920 add version info to the threaded version of butc.exe that we ship commit a0fa3b559836d134c44eae20cbd6d7d1d04a0d10 Author: Daria Phoebe Brashear Date: Thu Sep 20 05:52:23 2007 +0000 krb5-aklog-kimpersonate-conditionalize-20070920 make kimpersonate conitional commit 1aad009863a20306faae2996523a7a4c5efab18b Author: Daria Phoebe Brashear Date: Thu Sep 20 05:01:44 2007 +0000 dafs-loadvolumeheader-before-we-need-it-20070920 make sure we have a header instead of potentially dereffing null commit 87d87d33ea0b38cfa11ded288e6c24a1db7f13b1 Author: Jeffrey Altman Date: Thu Sep 20 04:54:14 2007 +0000 windows-fs-memdump-20070919 add directory lookup stats to "fs memdump" output commit a186b0d65c00a338995ad1f6379ef232742ab224 Author: Jeffrey Altman Date: Wed Sep 19 22:27:53 2007 +0000 windows-hex-dump-20070919 remove the broken percent quoting from OutputDebugHexDump as it is not required. We never use the resulting string as a print format string. commit feab12b929564a27a77bb84278291493003b605f Author: Jeffrey Altman Date: Wed Sep 19 18:55:55 2007 +0000 windows-version-info-20070919 FIXES 71397 Many of the OpenAFS binaries that are installed on end user machines did not have version information. This is problematic as it is impossible to determine which version of a binary the crash report was filed against when a report is received by Microsoft Windows Error Reporting service. commit b8abf04a45a82cc880d2ad59d3bbf2217fa08c11 Author: Jeffrey Altman Date: Tue Sep 18 17:57:31 2007 +0000 windows-vnovnode-while-file-in-use-20070918 Discovered another case where VNOVNODE errors were not being handled. If there are dirty buffers and a VNOVNODE error is received while writing the buffer, the buffer would be left in the dirty buffers queue. This caused a couple problems: (1) any attempt to flush the file, volume, or cache would fail because there were unflushed dirty buffers that could not be flushed. (2) shutdown of the service would hang because the buffers could not be flushed. In addition, while a VNOVNODE error would result in the cm_scache_t being marked CM_SCACHEFLAG_DELETED, this state was not being checked at the SMB layer. As a result, if a smb_fid_t was allocated and it referenced the deleted cm_scache_t, the SMB operations would continue to be processed and report success even if the actual file or directory no longer existed. We now clear the dirty state on buffers which cannot be written due to VNOVNODE errors. We also check the cm_scache_t for deletion prior to use whenever a smb_fid_t is looked up. If the cm_scache_t is deleted, the smb_fid_t is closed and the error CM_ERROR_NOSUCHFILE is returned for files or CM_ERROR_NOSUCHPATH for directories. commit a47f4bacd8b091a7917ffefe405a6f0f036499d9 Author: Jeffrey Altman Date: Tue Sep 18 07:36:04 2007 +0000 windows-afs-config-vista-uac-vs2005-20070918 merge the manifests for vs 2005 commit 9bf29bbe1e0f8eabe4586dc3bdb5afceb2c19c30 Author: Jeffrey Altman Date: Tue Sep 18 07:13:08 2007 +0000 windows-afs-config-vista-uac-20070918 Mark afs_config.exe via a manifest with requestedExecutionLevel = HighestAvailable This will ensure that when Vista UAC is active, that a member of the Administrators group must run the AFS Control Panel with Administrators privileges. commit 8ba598cd84988f049535b3f9ded3bafa3cfde4ff Author: Jeffrey Altman Date: Tue Sep 18 07:07:16 2007 +0000 windows-cl1310-manifests-20070918 add support for manifests to .NET 2003 builds commit eae26ab6b2b618d55ffbd2498e37a53fddf59ed7 Author: Jeffrey Altman Date: Tue Sep 18 07:04:02 2007 +0000 windows-nsis-20070918 fix error in NTMakefile that used the CL_1310 configuration for the VS 2005 compiler force RequestExecutionLevel to admin for Vista commit 70fa2d2499fbe687e55559fd6d154601645734d6 Author: Jeffrey Altman Date: Thu Sep 13 18:58:00 2007 +0000 windows-down-servers-20070913 Do not assign a new downTime to a server that is already down. Doing so breaks the logic to preserve callback validity until the server comes back up. commit b06335911bb203b74ab7129266680d8d2b97739b Author: Jeffrey Altman Date: Thu Sep 13 02:41:07 2007 +0000 windows-afsmaxpath-20070912 ensure that all path stack buffers are of size AFSMAXPATH commit f15a9a2788a2de589adda1a990a34d36851c4978 Author: Jeffrey Hutzelman Date: Wed Sep 12 19:25:53 2007 +0000 dafs-shutdown-state-fix-20070912 clean up the dafs shutdown code to not read bogus info into the id commit a6d7cacfdca82815af2cc0fda570340802a73dc3 Author: Daria Phoebe Brashear Date: Wed Sep 12 19:09:42 2007 +0000 aklog-kimpersonate-20070912 inline kimpersonate support, to make testing easier. commit 5647c133e938a7985365163ccac722119660e97f Author: Jeffrey Altman Date: Wed Sep 12 18:28:00 2007 +0000 windows-dir-bplus-shortnames-20070912 When a file name does not conform to 8.3 notation, an 8.3 notation alias is generated for it. This short name form must be searchable in the B+ tree. This commit adds a longname field to the data node which is used both to identify the real name associated with the short name as well as whether or not the short name is in fact an alias. Being able to determine whether or not a data node is an alias will be important when we support using the B+ tree for directory enumeration. For insertion, if the name does not conform to 8.3 notation, a second entry is inserted into the B+ tree using the shortname as the key and the longname stored in the data. For deletion, we lookup the data node for the provided key. If there is a longname we remove the longname entry first and then the shortname entry. If the key is a longname, we lookup the data node so we can acquire the FID and then use that to compute the shortname. We then remove both the shortname and longname entries from the B+ tree. commit 40090977d270f6113cca4925b9564f57c4917f35 Author: Jeffrey Altman Date: Tue Sep 11 17:11:54 2007 +0000 windows-getcell-deadlock-20070911 don't hold the cm_scache_t mutex across calls to cm_GetCell() since cm_GetCell() can block in an RPC call. If that cm_scache_t must be accessed to revoke a callback, it can result in a deadlock. commit c22f945bb783ba003c12ce73574568a9c4b80304 Author: Chaskiel M Grundman Date: Tue Sep 11 16:37:01 2007 +0000 namei-protect-against-extra-files-20070911 if someone is monkeying in the filesystem, sometimes they shoot themselves. save them if they renamed foo to foo.bak (where foo is a full 64 bits) commit bf6c13352abf39e53e723e60aae11d6e246c0cfd Author: Jeffrey Altman Date: Tue Sep 11 06:02:42 2007 +0000 windows-prefetch-executables-20070911 avoid prefetch race condition in CreateX functions do not permit reference underflow when ending background prefetch ops commit 049c95d74cab7ba99b99f9634a32f38058c86fb1 Author: Daria Phoebe Brashear Date: Mon Sep 10 22:54:25 2007 +0000 namei-fsync-less-20070910 remove sync() call from Windows build commit 3b7188b326292c8161048108b2355c4acdc44f30 Author: Jeffrey Altman Date: Mon Sep 10 20:06:58 2007 +0000 windows-prefetch-executables-20070910 This code defines a new service parameter "PrefetchExecutableExtensions" of type REG_MULTI_SZ. By default it is undefined and does nothing. If it is defined, files that match the extensions will be prefetched in their entirety. All of the prefetch functions now pay attention to the length parameters. Previously, length parameters were specified on some functions in the chain but they were ignored. The reality was that the chunksize was used regardless of what was indicated. Prefetching is still optional. If the prefetch fails during the initial attempt you lose. Otherwise, as many buffers as are required to satisfy the requested prefetch length will be requested from the file server in chunksize units. If buffers have already been acquired, they are skipped during the prefetch operation. commit 22da0dd5f8025d8e842229290e3e07207483ce1a Author: Jeffrey Altman Date: Mon Sep 10 20:00:55 2007 +0000 windows-largeinteger-20070910 Fix the function type so that assignment of return values are properly applied. Add missing comparison routines. commit 7a6e406b803115176b9d8d2c235f5c729631103f Author: Jeffrey Altman Date: Mon Sep 10 05:53:48 2007 +0000 windows-callbacks-20070909 when suspending only clear callbacks for servers that are in an up state. if they were in a down state, then we couldn't send the clear callbacks message but more importantly, we need to leave the callback info current because the callbacks should not be cleared until the server is once again reachable. commit 4914e45f26d88f9087a055721020bec9444c731f Author: Jeffrey Altman Date: Mon Sep 10 05:12:10 2007 +0000 windows-readme-nt-20070909 update NSIS version to 2.30 commit 36414528add4f7e30147e19ef9777478ca9f60ef Author: Jeffrey Altman Date: Mon Sep 10 04:33:44 2007 +0000 windows-wix-20070909 make the service display name consistent with the NSIS installer. commit 4913dd6b78d8715bf33af230573e883c6abdabf9 Author: Jeffrey Altman Date: Mon Sep 10 04:30:34 2007 +0000 windows-nsis-20070909 do not link object files twice commit dbbd59495bcda2a93d640f8cf5adf0b587f4591b Author: Rainer Toebbicke Date: Fri Sep 7 05:02:09 2007 +0000 namei-fsync-less-20070907 FIXES 30632 we call fsync() too much. call it less, and fsync in the background commit b3e385fc1093818c59d7f46477bb723132fcfd93 Author: Daria Phoebe Brashear Date: Wed Sep 5 22:49:30 2007 +0000 consolidate-cellservdb-20070905 step 1. one place. step 2 is coming: fix the scripts to update it when we do a release commit edaa34d3a0ea74bffd886ec40e1c13af7c38a4af Author: Jeffrey Hutzelman Date: Mon Sep 3 04:58:40 2007 +0000 dafs-savestatefe-avoid-overflow-20070902 The problem is that cb_stateSaveFE() overflows an iovec array on its stack. When it returns, the PC is loaded with garbage and the process crashes. commit a8eddfb0f57ba390d5941608a4689dba8f7f0c0b Author: Jeffrey Altman Date: Sun Sep 2 17:36:23 2007 +0000 windows-64bit-ms2mit-20070902 add ms2mit support for 64-bit windows commit 6270294d49bb1d55630a1a98a8a948ec3b585597 Author: Jeffrey Altman Date: Sun Sep 2 17:21:25 2007 +0000 windows-win64-kfw-20070902 leashw32.dll has been ported to win64 as leashw64.dll commit 7cbd3a320a0d133e171e2625ca9365c768ceea8b Author: Jim Rees Date: Fri Aug 31 18:22:11 2007 +0000 obsd-rm-pinstall-20070831 skip pinstall commit 8056e9347ac139263cdc4b051ec7763d80c11214 Author: Jeffrey Altman Date: Fri Aug 31 15:30:27 2007 +0000 dafs-commit-updatelist-change-20070831 actually save the changed value commit cd7ac781bc7fcc301af837f4fc2b2d3629fb1095 Author: Jeffrey Altman Date: Fri Aug 31 05:02:23 2007 +0000 windows-afscreds-win64-20070830 disable krb4 and ms2mit for win64 commit 084ade0a987589593e2066394f35ebd98ee2137f Author: Jeffrey Altman Date: Fri Aug 31 03:55:53 2007 +0000 windows-afsd-dirop-20070830 Do not attempt to obtain a write lock on a directory if we already know that we aren't going to perform any local directory updates. Add the CM_ERROR_BPLUS_NOMATCH error which has the same meaning as CM_ERROR_NOSUCHFILE except that it indicates that we came to that conclusion as the result of a bplus search. This provides us the ability to short circuit additional directory searches since we know the answer is final. commit d8db0aa8eb313cd6727e392e42fa3ba78a169054 Author: Asanka Herath Date: Fri Aug 31 03:26:13 2007 +0000 windows-wix-20070830 permit instloop.exe to be extraced to Client/Programs/instloop.exe from the installer by using "msiexec /a". commit ad8a1cc2162aa484b9ec0f335c91d4d84dd12aad Author: Jeffrey Altman Date: Wed Aug 29 22:51:35 2007 +0000 windows-64bit-afskfw-20070829 Disable the use of krb524, leash, and ms2mit (because it depends on leash) for 64-bit builds. We will need to implement our own replacement for the ms2mit functionality. commit 0d81b9662e75a36a76b2b708499b101abb9b3bb5 Author: Jeffrey Altman Date: Wed Aug 29 07:53:51 2007 +0000 windows-wix-64bit-aklog-20070829 enable the installation of aklog.exe and asetkey.exe on 64-bit windows. commit d62316facd903af07303845686cfdbb05fc7551a Author: Jeffrey Altman Date: Wed Aug 29 07:45:12 2007 +0000 windows-64bit-aklog-no-krb4-20070829 disable krb4 and krb524 functionality in 64-bit aklog because there is no support in 64-bit kfw. commit 20914ba284846d59c09dd4849d0305e07f939f02 Author: Jeffrey Altman Date: Wed Aug 29 06:31:03 2007 +0000 windows-nim-afs-file-ccache-20070829 make the afs network identity provider compatible with FILE: credential caches. this is mostly of importance to 64-bit Windows users since there is no CCAPI implementation for 64-bit KFW. commit cad4d1137b60c72b108fa97c266115d5dc7dc370 Author: Jeffrey Altman Date: Tue Aug 28 22:22:53 2007 +0000 windows-64bit-nim-no-krb524-20070828 do not load krb524.dll on 64-bit windows commit 1c264430ff8efa1afe7a61162d12cd499d6d30ee Author: Jeffrey Altman Date: Tue Aug 28 18:48:49 2007 +0000 windows-bplus-disable-20070828 In preparation for 1.5.24, disable B+tree support by default. It can be enabled with the "BPlusTrees" registry parameter. commit 43d5267be5c2649110b160d82cf12bed4a60742a Author: Jeffrey Altman Date: Tue Aug 28 18:30:08 2007 +0000 windows-wix-amd64-nim-provider-20070828 Add network identity manager afs provider for amd64 commit 822ad3eb72cca27b7d90f628186290d96c06756d Author: Jeffrey Altman Date: Tue Aug 28 17:59:48 2007 +0000 windows-amd64-20070828 add amd64 build dependencies commit 3eb4ef6301b055135d6420dbf5a6f0e1560f89a8 Author: Jeffrey Altman Date: Tue Aug 28 17:53:26 2007 +0000 windows-nim-amd64-20070828 Add support for 64-bit Windows. commit ac7471cc333bf1676ac0467f6b01995b293fac3c Author: Jeffrey Altman Date: Mon Aug 27 01:10:15 2007 +0000 windows-bplus-20070826 add more DEBUG_BTREE debugging code in placeEntry() protect against slot equal to zero fix compareKeys() to only return -1, 0, or 1. commit cd0a515e9f68604ab0fef15a9b7110402d2bc8a9 Author: Jeffrey Altman Date: Mon Aug 27 01:04:09 2007 +0000 windows-recursion-fix-20070826 protect against a null pointer dereference commit 8f9b810bf0fd2d47d6ff074d816f2b66db1ae1f6 Author: Jeffrey Altman Date: Sat Aug 25 17:55:07 2007 +0000 windows-bplus-tree-20070825 == ! = fix the return code in cm_Rename() commit c8bf408ced50cf9fba1595ec94368e4060223d89 Author: Jeffrey Altman Date: Fri Aug 24 04:19:18 2007 +0000 windows-bplus-tree-20070823 Windows uses case-insensitive file name pattern matching but AFS is a case sensitive file system. The AFS3 directory format is block based, uses network byte order and includes a hash table for fast case sensitive lookups. This causes several problems for the Windows AFS client. (1) Traversing the directory blocks is cpu expensive (2) A hash table miss does not indicate that the desired entry does not exist. (3) Determining whether a non-ambiguous inexact match or the entry does not exist requires a linear traversal of the entire directory. These issues often result in 100% CPU utilization. These issues are addressed by building a modified B+ tree for each directory and then using the B+ tree for searches. Further improvements can be made by using the B+ tree leaf nodes for directory enumeration. commit e5ec3ad4fc7009fec4a0760738a6b23c250d5d83 Author: Jeffrey Altman Date: Thu Aug 23 21:42:55 2007 +0000 windows-recursion-fix-20070823 for . and .. find the last time we saw the fid in the list instead of moving back a fixed count since the parent might be a symlink or a mount point or both commit c675454e7f6b105d1433663a29ef2a9471f0a173 Author: Jeffrey Altman Date: Thu Aug 23 17:50:58 2007 +0000 windows-makedir-uninitialized-var-20070823 scp must be initialized to NULL to prevent improper evaluation commit 985a2e34d60a803c11cce4729b16484847aec97b Author: Jeffrey Altman Date: Thu Aug 23 17:47:46 2007 +0000 windows-volstat-log-20070823 must save the log string when it comes from a buffer on the stack otherwise garbage is logged in afsd.log commit 1727d4928fa71c82d95e0bbd8d5db10baa795f97 Author: Jeffrey Altman Date: Thu Aug 23 17:44:43 2007 +0000 windows-smb-max-path-20070823 the actual max path is 260 not 256 commit 5cae22ea3aa2580aaac1b465c024854791d3d8d7 Author: Daria Phoebe Brashear Date: Thu Aug 23 17:28:54 2007 +0000 checkhost-use-reentrant-list-traversal-20070823 rather than making a copy of the whole hostlist and holding every host, hold what we need, the _r (not really reentrant) version. commit 314b3abaff30fb6a359944f14dca3716b8572547 Author: Daria Phoebe Brashear Date: Wed Aug 22 20:37:10 2007 +0000 linux-nfs-pag-handling-20070822 don't mishandle pag argument when passed in from e.g. knfs don't make keyring pag for nfs clients commit 10c60218471b1312f4235135aa2e74cd9687a0a4 Author: Jeffrey Altman Date: Wed Aug 22 17:09:53 2007 +0000 windows-fix-recursion-detection-20070822 handle symlinks to absolute paths commit d467431115d6db57fe8dd29c2c0308486997a1ad Author: Jeffrey Altman Date: Wed Aug 22 16:59:16 2007 +0000 windows-newfiles-20070822 add place holders for the B+ tree source files. commit c31cfea03d95779cf334c7aa0c08067e49dc5d47 Author: Daria Phoebe Brashear Date: Wed Aug 22 03:16:26 2007 +0000 linux-module-error-handling-20070821 be more careful about what we call when, and clean up after ourselves commit 34bbb13160e0d1fc2155f9fc1a906469d7aa3fde Author: Daria Phoebe Brashear Date: Wed Aug 22 03:12:13 2007 +0000 nfstrans-updates-20070821 FIXES 1480 fix the knfs error from the v/c/o pioctl changes commit 2a9ef007a3271ef2e49af13093d4e30c147c0b31 Author: Daria Phoebe Brashear Date: Tue Aug 21 22:27:02 2007 +0000 linux-modparam-269-updates-20070821 be consistent on 2.6.9 about which MODULE parm family used commit 8dd2300a788465035ea695d7de81362609d0a5a8 Author: Jeffrey Altman Date: Tue Aug 21 09:42:53 2007 +0000 windows-afskfw-20070821 return required value that was missing commit d0f62da48417989040986a0bd6539d9696616229 Author: Jeffrey Altman Date: Tue Aug 21 09:27:37 2007 +0000 viced-remove-asserts-20070821 remove asserts testing the number of alternate interfaces. commit e9607dcbc7d95c47ee75d8ce6b94220016ef0513 Author: Jeffrey Altman Date: Mon Aug 20 19:47:05 2007 +0000 windows-smb-20070820 correct location of brace due to mis-application of patch commit d0a92c7bdeeac96a0d09e02a1494ff398f57f1bb Author: Daria Phoebe Brashear Date: Mon Aug 20 18:50:16 2007 +0000 find-dcache-just-hold-the-lock-slightly-longer-20070820 we go out of our way to hold xdcache to protect indexTimes elsewhere... there's no reason to drop it here just before this... commit da79b76e7d5807330b0fc3c2b9518b150beba312 Author: Jeffrey Altman Date: Mon Aug 20 18:35:59 2007 +0000 tviced-windows-20070820 build serialize_state.c commit 5eff5f4ee8b02d17be64b46f8fb8669a40bf1666 Author: Alejandro R. Sedeño Date: Mon Aug 20 18:26:15 2007 +0000 krb4-64bit-tf-kth-or-mit-20070820 based on his patch for mit kerberos commit 4a9d15a2e4d3e91261dfa1c9fe08f75d88fd166d Author: Jeffrey Altman Date: Mon Aug 20 02:00:48 2007 +0000 windows-fix-recursion-detection-20070819 the recursion detection code did not take "." and ".." into account. commit d71d37bad8f1ce7fea59d537464d1d82ce8f2508 Author: Jeffrey Altman Date: Mon Aug 20 01:06:31 2007 +0000 windows-fs_utils-20070819 update prototype for util_GetInt32 for consistency with src/utils/vosparse.c commit a6fe83d9a661743b11ee1eb7cc8f3f46810475da Author: Russ Allbery Date: Sun Aug 19 23:04:31 2007 +0000 no-kseal-20070819 Don't build or install kseal by default. It's a debugging tool with very limited utility. commit dfb2961b677299a726be33e63b29476f003d03a7 Author: Jason Edgecombe Date: Sun Aug 19 23:02:27 2007 +0000 man-page-fixes-20070819 More details on how to run check-pod. Restore the [] markup in the vos changeloc SYNOPSIS since the flags really are optional. commit fb1cc324a498908f823e3c8ceb2b2be29cc785c3 Author: Jason Edgecombe Date: Sat Aug 18 03:28:54 2007 +0000 man-page-vos-changeloc-more-20070817 Mention vos changeloc in the vos man page. Also include an incidental fix to pts source's man page. commit dc5adbeaac1548a7649ee81cb87d9eea88021b93 Author: Jason Edgecombe Date: Sat Aug 18 03:24:24 2007 +0000 man-page-vos-changeloc-20070817 Add a man page for vos changeloc. commit 024442b020043501f14069d762ecefbf7feef59a Author: Jason Edgecombe Date: Sat Aug 18 02:05:42 2007 +0000 man-page-fs-updates-20070817 Add man pages for fs flushall and fs getcalleraccess. commit 815ac3c773d9312f2abf6e7903aa3d723618485a Author: Jason Edgecombe Date: Sat Aug 18 01:41:39 2007 +0000 man-page-bos-util-20070817 Add a man page for bos_util. commit 87efbab4e8c0dc37c1938503eea88f7f319b7e5d Author: Jason Edgecombe Date: Sat Aug 18 00:35:44 2007 +0000 man-page-updates-20070817 Add new man pages for pts interactive, quit, sleep, and source. Fix POD errors in a few other man pages and update the to-do list in README. commit a8172fca24f91e2b5ab10f66d62d766b7e5d46c1 Author: Jason Edgecombe Date: Fri Aug 17 20:57:20 2007 +0000 man-page-check-pod-20070817 Add check-pod script to test for POD syntax errors. commit 25ace7c2c79705a59be4aded829aaf8d1dc003e2 Author: Daria Phoebe Brashear Date: Thu Aug 16 04:51:06 2007 +0000 aix-dont-use-root-vfs-for-anything-20070815 the cache may not be in /; we basically never need rootvfs commit b20488de08d230125b3110ec51fe753ef514ddb7 Author: Jeffrey Altman Date: Mon Aug 13 20:20:31 2007 +0000 windows-fs-utils-prototypes-20070813 use ANSI prototypes and function declarations commit 35f91f1203717f8ab9f00f0914025fc6606e102d Author: Jeffrey Altman Date: Mon Aug 13 03:52:21 2007 +0000 windows-service-manager-20070812 provide the windows service manager with shutdown hints in addition to startup hints commit a9e7bedcc91a9cb00b2cb1af80fe273fc70664f6 Author: Jeffrey Altman Date: Mon Aug 13 03:25:33 2007 +0000 viced-dafs-20070812 include viced_prototypes.h commit c677b79931efb672a439993f32571c53ce17c56e Author: Jeffrey Altman Date: Mon Aug 13 03:11:55 2007 +0000 windows-remove-is5-20070812 remove last trace of InstallShield5 from build rules commit 58d5f38b10b35ab3712eacde60f2a06fb2f2a062 Author: Jeffrey Altman Date: Sun Aug 12 00:39:33 2007 +0000 pts-20070811 remove SUPERGROUPS condition for compilation of pts commands: Interactive, Quit, Source, Sleep fix the assignment of 'source' to permit it to function rename functions to avoid conflicts with Win32 API on Windows replace bcopy and bzero with memcpy and memset to permit compilation on Windows replace ubik_Call(xxx) with ubik_xxx() (testpt.c) add -DSUPERGROUPS and map.c to NTMakefile commit e7ff4185a5e978798b194f8214056425debc8fbc Author: Jeffrey Altman Date: Fri Aug 10 21:38:20 2007 +0000 windows-adjustable-block-size-20070810 New registry value "BlockSize" can be used to specify an alternative block size. The default is 4K. A larger blocksize will be needed if you want to support a 6TB cache. Also extend the service startup timeout hint to two minutes to give the AFS client service more time to startup successfully when the cache is really large. commit 7a042f3ce4914079ade3c159a7b541445acf758b Author: Jeffrey Altman Date: Fri Aug 10 13:36:24 2007 +0000 windows-wix-20070810 add a separate description string for the 32-bit afs shell extension commit 493cad12aa00c321ad125118a9bd9b037a651863 Author: Daria Phoebe Brashear Date: Fri Aug 10 05:11:35 2007 +0000 viced-cleanup-head-20070810 fix demand attach rwlock code on macos, fix host tracking code everywhere only applies to head and 1.5 commit 25a64a7eb219e3946e5a45f27e14fc53d43d7fcc Author: Jeffrey Altman Date: Thu Aug 9 23:53:07 2007 +0000 windows-aklog-20070809 correct an error message commit 6811175f37ba51691556d64309d59dbff8a1a29c Author: Rainer Toebbicke Date: Thu Aug 9 15:56:51 2007 +0000 64bit-ticket-file-20070809 fix the ticket files we write on 64 bit commit 377689b39a1821eb268b25cebc9e6cb1ccc0d88a Author: Jeffrey Altman Date: Thu Aug 9 06:33:17 2007 +0000 windows-dirty-buffer-optimization-20070808 when storing dirty buffers only store the bytes that are dirty increase the default chunksize from 128KB to 1MB remove OVERLAPPED field from cm_buf_t. It was unused. add a dummy pointer in order to ensure data structure compatibility between the checked and release builds. commit d51feff4b2c79fb25666559abbb007823d938d57 Author: Jeffrey Altman Date: Wed Aug 8 17:30:20 2007 +0000 viced-hash-20070808 (1) fixes a bug that could cause a 'host' structure to not be removed from the global host list if the 'host' did not possess an interface list. This would happen with older AFS clients that do not support the WhoAreYou family of RPCs. Windows clients older than 1.3.80 and old Transarc UNIX clients. (2) fixes a bug which could result in ViceLog being called with an uninitialized 'hoststr' buffer as a parameter. (3) ensures that only addresses known to belong to the 'host' are added to the address hash table. The list of addresses provided by the client are stored as alternates and are only used when searching for a client that is no longer accessible on the primary address. These addresses are not stored in the address hash table within initInterfaceAddr_r(). The addresses provided by the client should not be added to the hash table because they have not been verified as belonging to the 'host' that provided them. The contents of the list may in fact be completely unreliable. Consider the existing UNIX clients that generate the list at startup and never alter it even after the client has migrated to a different network. If two client's both claim the same address, lookups by address may fail to find the correct one. a. The client list might contain private address ranges which are likely to be re-used by many clients allocated addresses by a NAT. b. The client list will not include any public addresses that are hidden by a NAT. c. Private address ranges that are exposed to the server will be obtained from the rx connections that use them. d. Lists provided by the client are not necessarily truthful. Many existing clients (UNIX) do not refresh the IP address list as the actual assigned addresses change. The end result is that they report the initial address list for the lifetime of the process. In other words, a client can report addresses that they are in fact not using. Adding these addresses to the host interface list without verification is not only pointless, it is downright dangerous. e. The reported addresses do not include port numbers and guessing that the port number is 7001 does not work when port mapping devices such as NATs or some VPNs are in use. (4) improves logging to ensure that all references to a 'host' structure report both a memory address and the IP address/port. this will avoid confusion *if* more than one 'host' structure is assigned the same primary address. (5) logs the UUID along with the client addresses when initializing the host's interface list. (level 125) (6) saves memory by using a smaller structure for the UUID hash table commit f099df38b2eff9c8c5afb52ec1a69dd89af22dad Author: Rainer Toebbicke Date: Wed Aug 8 16:53:17 2007 +0000 viced-multi-probe-addr-20070808 FIXES 67355 MultiProbeAlternateAddress_r badly indexes the list of interfaces for clients with multiple IP interfaces, resulting in peers with IP address 0 port 0 to be created. This in turn results in rxi_sendmsg errors (on systems where caught early, as on Linux, on others it may pass unnoticed). commit 8c69510d92052607f94d947ce2dd3e0b40eee42f Author: Jeffrey Altman Date: Tue Aug 7 05:00:06 2007 +0000 windows-afsd-uninit-vars-20070806 FIXES 67126 ensure the connp is set to NULL in case of error commit 87d2f5cd3f1e370f6daf6b6170e00f156644315a Author: Jason Edgecombe Date: Sun Aug 5 22:58:35 2007 +0000 man-page-vos-size-20070805 Add a new man page for vos size. commit e7742db31f68acf2d227c13840e0a0ed9291d247 Author: Jason Edgecombe Date: Sun Aug 5 22:38:10 2007 +0000 man-page-fs-newalias-20070805 Add a new fs newalias man page. Add -help to the synopsis and options of the other new man pages. Add additional missing links in the fs man page. Fix some wording in the CellAlias man page. commit 95cfc0cfafe5c0a3f9f8ff07cb3c2be29fe9e3fc Author: Jason Edgecombe Date: Sun Aug 5 22:16:47 2007 +0000 man-page-fs-listaliases-20070805 Add manual page for fs listaliases. Also add the links in the fs(1) man page and update README more for the current to-do list. commit e735ef962de3623f8fa11cca92d13151d62b5aaa Author: Russ Allbery Date: Sun Aug 5 22:08:22 2007 +0000 man-page-style-20070805 Some style fixes and some additional style documentation in README. commit 8761673c608986d32bb858b26441b09c24f41696 Author: Jason Edgecombe Date: Sun Aug 5 22:01:42 2007 +0000 man-page-afsd-crypt-alias-20070805 Complete the documentation of the afsd flags and update a few things like -settime and -nosettime. Add man pages for fs setcrypt, fs getcrypt, and CellAlias. Based on work by Jason Edgecombe and then extensively edited, so any errors I probably introduced. commit 9353e122a33044df752e61de95f155f63876f0a2 Author: Asanka Herath Date: Thu Aug 2 22:05:39 2007 +0000 windows-local-directory-updates-smb-20070802 The windows cache manager has suffered from poor performance as a result of Create, Rename, and Delete operations because they invalidate the contents of the directory pages in the cache thereby forcing them to be reloaded from the file server. As the directory size increases, the clock time necessary to perform the reload increases. This delta adds support for parsing and updating the AFS3 directory buffers to cm_dir.c. It then uses that functionality to perform local updates to the directory buffers whenever the following conditions are met: 1. the data version on the directory as a result of the change was incremented by one. 2. all of the directory buffers required for the update are in the cache. If these conditions are not met, the directory is reloaded from the file server. commit ac5346c3703e199eaabf8eeb7e156e42644092c4 Author: Jeffrey Altman Date: Thu Aug 2 21:57:38 2007 +0000 windows-no-more-infinite-recursion-20070802 FIXES 15855 In cm_NameI, keep track of what fids were crossed when evaluating the path. If we discover a loop return a CM_ERROR_TOO_MANY_SYMLINKS error. This resolves the complaint that when infinite loops are hit in the afs name space the afsd_service.exe process uses 100% of the CPU. commit c4047f6cb52927890329b09669b1a2686ace6059 Author: Asanka Herath Date: Thu Aug 2 21:52:54 2007 +0000 windows-local-directory-updates-20070802 The windows cache manager has suffered from poor performance as a result of Create, Rename, and Delete operations because they invalidate the contents of the directory pages in the cache thereby forcing them to be reloaded from the file server. As the directory size increases, the clock time necessary to perform the reload increases. This delta adds support for parsing and updating the AFS3 directory buffers to cm_dir.c. It then uses that functionality to perform local updates to the directory buffers whenever the following conditions are met: 1. the data version on the directory as a result of the change was incremented by one. 2. all of the directory buffers required for the update are in the cache. If these conditions are not met, the directory is reloaded from the file server. commit 10b76dffa0ece0cca898637a00d34b27809b9eb9 Author: Jeffrey Altman Date: Thu Aug 2 21:44:54 2007 +0000 windows-do-not-expire-cbs-when-servers-are-down-20070802 if all of the servers are down when a callback is due to expire delay the expiration until at least one server is available. this prevents some applications that are running when the CM is off the network from failing if their pages are swapped out. commit 4d75b4758e70d42999bc6605971f606b03127bc9 Author: Jeffrey Altman Date: Thu Aug 2 06:20:08 2007 +0000 windows-libafsrpc-20070802 use bg-fcrypt in libafsrpc.dll which is used by the CM commit 4b8db9f2119de86b9e52e947cc5708d89dbcc3f5 Author: Jeffrey Altman Date: Tue Jul 31 23:19:15 2007 +0000 rxkad-bg-fcrypt-unbreak-windows-20070731 i (derrick) broke everything. fix it. commit ece19eefbe46400e1c28834570deed7294761167 Author: Daria Phoebe Brashear Date: Mon Jul 30 14:17:27 2007 +0000 viced-avoid-tying-up-all-threads-20070730 FIXES 19461 implement a thread quota. commit a608cd2e24e50026c36148eb357c03d583384dde Author: Daria Phoebe Brashear Date: Sat Jul 28 15:31:44 2007 +0000 darwin-avoid-fsref-panic-maybe-20070728 maybe this works. commit 840ad12eb3f2f5b35a37d876aef93c01a0bea3d3 Author: Jeffrey Altman Date: Sat Jul 28 04:03:58 2007 +0000 windows-fs-20070727 return error when GetCell fails commit 0ba1a6275755e7df19cab1cf20fb1b7aaf176c61 Author: Jeffrey Altman Date: Sat Jul 28 03:50:23 2007 +0000 windows-rdrtimeout-20070727 RDRtimeout is seconds. need to convert to milliseconds for comparison commit d7d12d7c9b9cec32d4415b9d7bf1058d99d63d14 Author: Jeffrey Altman Date: Fri Jul 27 16:40:44 2007 +0000 windows-client_config-20070727 FIXES 66302 change text of error message to indicate that the user is not a member of the AFS Administrators Group instead of not being a Windows administrator. commit b741b29b4b1272ceb4081f7ab25e556e6513d7e5 Author: Steven Jenkins Date: Thu Jul 26 21:53:42 2007 +0000 man-page-demand-attach-20070726 Document additional bos flags for the demand attach file server. commit 2367c273bbfd3cbecc72b770ede579e60da153e2 Author: Jason Edgecombe Date: Thu Jul 26 21:46:46 2007 +0000 man-page-updates-20070726 FIXES 65988 Mention aklog and kinit in klog's man page, add -dynroot to the afsd man page, and mention that -skipauth tells uss not to create any Kerberos principal and this has to be done separately. commit ed13fac9114d3743ca1d448d3bce7f9d43bf4f5a Author: Daria Phoebe Brashear Date: Thu Jul 26 18:04:21 2007 +0000 md5inum-md5-clobbers-input-20070726 commit 8ba66b7ff5f78463420bed521d0cf78f708497ed Author: Jeffrey Altman Date: Mon Jul 23 00:09:06 2007 +0000 windows-afsd-ubik-20070722 not currently in use but replace ubik_Call(FOO,...) with ubik_FOO(...) commit 16b32c134590fbdb13b83ea71be0579338ab8f7e Author: Daria Phoebe Brashear Date: Thu Jul 19 19:51:55 2007 +0000 volser-directoryless-incremental-dumps-20070719 add an rpc, give vos a switch, allow incrementals which do not include directory objects commit 960ac913a43a2fba408c08518d7114fe6b633ab5 Author: Jeffrey Altman Date: Thu Jul 19 16:55:44 2007 +0000 windows-afs-svrmgr-20070719 uninitialized variable removal commit 58d6f0b42ad552972e03c75d61d90a0398adf0cc Author: Daria Phoebe Brashear Date: Thu Jul 19 16:14:20 2007 +0000 viced-assert-less-20070719 in don't assert for every silly thing commit 91fee8a699e31ad825e84a4f2bd56eb9093ea85a Author: Daria Phoebe Brashear Date: Thu Jul 19 16:09:50 2007 +0000 viced-no-nulluuid-20070719 a host with a zero uuid has no uuid support commit c01005269959257ed5c4ecfbde176a02ee25dea3 Author: Daria Phoebe Brashear Date: Thu Jul 19 16:00:20 2007 +0000 kill-more-ubikcall-20070719 tested more ubik call death, so, byebye commit 982f455debcb50d0a59b0997085e7b2e9475b604 Author: Daria Phoebe Brashear Date: Thu Jul 19 15:55:39 2007 +0000 vos-validate-dumpfile-20070719 based on code from jon nials validate a dumpfile as being complete (look for end of dump signature) commit ef76695bb906c331a69356d1eb63ef00e56ea615 Author: Cesar Garcia Date: Wed Jul 18 15:21:12 2007 +0000 libadmin-deubikcall-cleanup-20070718 remove bogus extra arg commit 397cd0c3b87348d2eb642b2bb5f8a175c1d96b8e Author: Jeffrey Altman Date: Wed Jul 18 14:02:59 2007 +0000 windows-pioctl-20070718 cm_dir.h depends on cm_buf.h commit a8b270d5a3db7a873de5cb945ccfc5c6425798f9 Author: Jeffrey Altman Date: Wed Jul 18 13:07:46 2007 +0000 windows-single-dir-search-not-bulk-20070718 the single directory search routine used when there are no wildcards does not perform a bulk stat operation. do not set the flag on the cm_scache_t. commit 5e8227cd5e73631bb925710108638b109e6e43ff Author: Daria Phoebe Brashear Date: Tue Jul 17 18:04:01 2007 +0000 fs-state-only-in-dafs-20070717 FIXES 65681 only in dafs. oops. commit 65c1b37f15e0fc7963aac9fa630613cf0d29df26 Author: Jeffrey Hutzelman Date: Tue Jul 17 13:15:19 2007 +0000 osi-probe-check-readable-20070717 FIXES 63971 avoid potentially reading pges that don't exist commit 2abf6e204c6f72993021a45485523aa04bca8ac2 Author: Marcus Watts Date: Tue Jul 17 13:06:47 2007 +0000 bg-fcrypt-64bit-fix-20070717 instead of this arcane ifdef which is flawed, we know which platforms support 64 bit types... commit 7fb5e02ff4d9a7fe70b2ecbfdb50065d7e6322ff Author: Russ Allbery Date: Tue Jul 17 04:46:25 2007 +0000 sparc32-no-ucontext-20070716 Undefine USE_UCONTEXT on sparc32 Linux since glibc doesn't implement getcontext/setcontext for that architecture. commit f489b05a1c055f3aa8eccdbcd96f8bbcfbf466e7 Author: Daria Phoebe Brashear Date: Tue Jul 17 04:10:18 2007 +0000 sparc32-no-getcontext-20070716 implement ptr_mangle for sparc32 commit 5662cd310b03b14d17f4443035b47126f9729207 Author: Eric Sturdivant Date: Mon Jul 16 21:40:45 2007 +0000 xbsa-54-solaris-cplusplus-fun-20070716 FIXES 65588 deal with change to c++ xbsa library commit 82cb8884c8c962c7fbc3fc75f923e3dfdfc24a76 Author: Jeffrey Altman Date: Mon Jul 16 00:58:52 2007 +0000 libadmin-ubik_call-20070715 replace all calls to ubik_Call(FOO, ...) with ubik_FOO(...) correct the incorrect parameter lists for ubik_FOO() commit a818f2d6b6dfb1538e929c74db466cbec1a1ae64 Author: Daria Phoebe Brashear Date: Fri Jul 13 20:53:58 2007 +0000 aix-aklog-lam-plugin-20070713 allow aklog equivalent from lam commit 7aa5f7ad8b50e74eba1a9f359c1c5ae44b87a016 Author: Daria Phoebe Brashear Date: Thu Jul 12 19:10:05 2007 +0000 suser-aix-macro-20070712 can't use ifdefs inside the macro... commit 1e86d1f3cc8166b8303e208e3a12922d44061317 Author: Daria Phoebe Brashear Date: Thu Jul 12 09:28:26 2007 +0000 demand-attach-init-fsstate-rwlock-20070712 the rwlock needs to be initd before use commit e13f8859a01509a45d686972959c73be1d46e500 Author: Douglas Engert Date: Wed Jul 11 05:29:36 2007 +0000 aklog-deal-without-524-20070711 patch in a way of dealing with no krb524 commit 73087bd4bea8a15032b6d3309940ff183804a99d Author: Rainer Toebbicke Date: Tue Jul 10 21:27:59 2007 +0000 pagsh-krb5-20070710 FIXES 54621 clean up the environment commit 28208c9a241b54d20eb492a2ffdd85b30b03f011 Author: Daria Phoebe Brashear Date: Mon Jul 9 20:58:57 2007 +0000 linux-register-fs-deal-with-error-20070709 deal with other people who think they are afs. commit d8457dd359fccfc461b220061d23cf7600a95a4c Author: Chaskiel M Grundman Date: Mon Jul 9 20:14:09 2007 +0000 sparc-linux-des-alignment-20070709 seems like compilers really hate des. it should would be nice to euthanize this. it's a shame there's no simple license-friendly des library to use commit 90bc0a7f3108372bfc9408127fea17d37025c9ae Author: Jeffrey Altman Date: Sat Jul 7 14:36:59 2007 +0000 windows-give-up-callbacks-20070707 don't try so hard to give up all callbacks. If the server doesn't respond in 10 seconds, too bad! cleanup the server probe code a bit. reorganize the code so that we can avoid unnecessary pointer evaluation. add a missing include file. commit 5e29856f7a079fbfb7d3331a1b57414413c0a484 Author: Jeffrey Altman Date: Sat Jul 7 00:20:38 2007 +0000 windows-afsd-misc-20070706 * Do not give back callbacks to down servers * Output more cm_scache_t data in afsd_alloc.log * call VolStatus_Service_Stopped after the service has stopped commit 62bf68f4ba952d06aa82e1607a43a72a203befd0 Author: Marcus Watts Date: Fri Jul 6 12:37:01 2007 +0000 budb-ol_verify-20070706 FIXES 53210 fixes a missing pointer declaration that would presumably break on 64-bit architectures. commit 600a20f5a2fdd9fbcd0e54412fa29f7a16906359 Author: Jeffrey Hutzelman Date: Fri Jul 6 00:44:35 2007 +0000 cellservdb-20070705 GCO Public CellServDB 05 Jul 2007 commit 2b9525fe9e09ad90b08c9a60fa4b098df542c047 Author: Jeffrey Altman Date: Thu Jul 5 20:21:19 2007 +0000 windows-volume-status-plugin-20070705 This delta adds an interface to an optional volume status handler. The handler (if provided) receives status updates when volumes change state between online, offline, busy, and alldown. commit 01184d053a01973e14e0674c3b4c447b632775d4 Author: Jeffrey Altman Date: Thu Jul 5 16:54:48 2007 +0000 windows-license-translation-20070705 replace GlobalAlloc with malloc. initialize memory and consider the inability to read the entire input file as an error. commit 1027ca87a78f02b62af67adfd85fdd4cd43fa65e Author: Jeffrey Altman Date: Tue Jul 3 15:11:35 2007 +0000 windows-heap-corruption-20070703 fix buffer over write error introduced since 1.5.20 commit 35a2fe01dd4c8a73515c46cd9a076453e7434547 Author: Daria Phoebe Brashear Date: Tue Jul 3 15:01:19 2007 +0000 macos-no-default-memcache-20070703 this should be leopard only memcache for now commit a5815643fcdbb96a01d73520fa22f5652f11413d Author: Daria Phoebe Brashear Date: Tue Jul 3 05:21:55 2007 +0000 des-p-temp-volatile-20070703 make des work again on powerpc darwin and possibly elsewhere commit 8edfefbb9de23f7b1d1b23f6ce73c3310230e034 Author: Jeffrey Altman Date: Tue Jul 3 01:33:47 2007 +0000 windows-get-cellinfo-afsdb-20070702 enable afsdb records for get cellinfo lookup outside of afsd_service.exe ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== do not perform afsdb lookup for Freelance.Local.Root cell commit a41d0af021b7b56532bb70d7aa63701e3915b099 Author: Dan Hyde Date: Mon Jul 2 18:05:04 2007 +0000 volser-delete-clone-not-source-20070702 FIXES 64268 fixes a bug in the UV_CopyVolume2 cleanup code. Without this patch, the cleanup code will delete the source volume. commit beb094fb2efaa84e99ac993a737e56379e5d3e1a Author: Jeffrey Altman Date: Sat Jun 30 05:43:17 2007 +0000 windows-parse-ioctl-path-20070629 The UNIX client does not follow mount points or symlinks when evaluating ioctl paths during commands such as "fs examine". The Windows client did which was annoying when you wanted to know the FID of a mount point that was not properly being evaluated. commit 871297aa21fbc0de58e696de8bcd2344389bf240 Author: Jeffrey Altman Date: Sat Jun 30 05:37:39 2007 +0000 windows-eol-20070629 fix end of line for memdump output commit 43e97a8ede45ee1c469f9e275f58d50d740977df Author: Jeffrey Altman Date: Sat Jun 30 00:51:36 2007 +0000 windows-procmgmt-library-20070629 Since the library creates its own background thread, the library must load its own reference to itself to prevent the library from being unloaded behind its back. commit 3309000efc3d6a8738792f27ca6b00c75c9d3963 Author: Jeffrey Altman Date: Thu Jun 28 05:10:10 2007 +0000 windows-remove-give-up-callbacks-scache-recycling-20070627 remove the conditionalized code used to give up callbacks in response to stat cache recycling due to performance impacts described in the commit for DELTA windows-give-up-callbacks-20070627 commit 61e6f04009bba3ac13a8eda4a6663f4b6508dbc9 Author: Jeffrey Altman Date: Thu Jun 28 05:04:21 2007 +0000 windows-give-up-callbacks-20070627 This large patch adds support for giving up callbacks in response to three events: 1. power management suspend 2. power management shutdown 3. stat cache object recycling The third item is submitted as a condition compilation if GIVE_UP_CALLBACKS is defined. Properly handing callback give ups and the associated race conditions with revokes and fetch status requests requires a great deal of over head. The first attempt used one GiveUpCallBacks RPC for each callback that was being dropped as the stat cache object was recycled. This resulted in a 27% performance drop in the MIT stress test. The code that is being committed maintains a callback give up list on each server object. The callback is added to the list as the callbacks are dropped and then they are sent to the server in bulk by the background daemon thread if the server is known to be UP after a ping. Logic is added to the EndCallbackRequest and CallbackRevoke operations to ensure that race conditions are addressed. With all of this, there is a 17% performance drop in the MIT stress test. As a result, it is my conclusion that the client side costs associated with optimizing the load on the server are simply too high. I am committing this code to ensure that it is not lost. I will remove this support in the next patch while leaving the support for giving up all callbacks in response to suspend and shutdown events. commit 5c9c49137f9b08ef919963c0c9d8fdfcb9733307 Author: Jeffrey Altman Date: Thu Jun 28 04:52:12 2007 +0000 windows-odd-vnode-is-dir-20070627 its odd vnodes are directories, not even ones commit b3d34ab12c7dc13dae6fe90596326ba1e8633ae3 Author: Jeffrey Altman Date: Thu Jun 28 04:33:50 2007 +0000 windows-pioctl-20070627 add cm_server.h to the include list commit f7c4a7e538a3f4cca0c1ae988f56561ac5383ab2 Author: Daria Phoebe Brashear Date: Thu Jun 28 03:11:01 2007 +0000 volser-earlier-logging-20070627 deal with the changes to deal with reconnecting in the unix domain fsync socket commit 9ca8794ed4561e977df075a636869f308ef1f778 Author: Jeffrey Altman Date: Thu Jun 28 01:33:43 2007 +0000 windows-afsd-headers-20070627 remove unneeded headers and shuffle order where necessary commit 7ecca7a58a5cd64c78ee20c712dfe8f419992678 Author: Jeffrey Altman Date: Thu Jun 28 01:15:27 2007 +0000 windows-smb-race-20070627 avoid a race condition when the smb_fidp is closed and an active request is being performed on the referenced cm_scache_t. commit d9875469022d2aa91dff595dc97f37466852bfbc Author: Kevin Hildebrand Date: Wed Jun 27 22:18:59 2007 +0000 amd64-linux-24-syscall-probe-symbol-change-20070623 FIXES 63763 probe for something else for 2.4 and older ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== i'll spare you commit 6e2737190a46c9043ceb2bd7285471f00273a995 Author: Daria Phoebe Brashear Date: Wed Jun 27 17:29:35 2007 +0000 forceallnewconns-prototype-20070627 missed this earlier. linux wants it. commit 17c7ab74613309d1af0b664a81796975ac6f698d Author: Daria Phoebe Brashear Date: Tue Jun 26 20:00:26 2007 +0000 macos-afsd-dont-leak-symbol-20070626 avoid leaking a ref to this symbol outside macos code commit 470be46a4c6231ebf422b9fa9d9c47baa4342824 Author: Jeffrey Altman Date: Tue Jun 26 06:40:35 2007 +0000 backup-usedump-20070625 FIXES 55704 afs_com_err not com_err commit 5e5bfa6b9401ebc1fa5446e208cf46c15943c411 Author: Tom Keiser Date: Mon Jun 25 21:22:49 2007 +0000 aix53-avoid-wait-crash-20070625 avoid crashing because of unpinned mmemory when doing event handling commit 3eb7be5c5e63fbf5cbd978c29f155f3e0de856bb Author: Jeffrey Altman Date: Mon Jun 25 05:58:30 2007 +0000 windows-get-server-list-20070625 return an error when the cm_fid_t * is NULL since we can't look up the volume to obtain a server list without knowing which volume we should be looking up if the fidp is known to be NULL, don't call cm_GetServerList() commit 99a61e9762373f0b2b6352fe108bb42cf59f6340 Author: Chas Williams Date: Sat Jun 23 16:28:11 2007 +0000 memcache-alloc-failures-20070623 FIXES 55339 deal with alloc failures in memcache commit a2cd5f5ec0cf20cca2f4a568f23759eda42e1fcc Author: Garry Zacheiss Date: Sat Jun 23 16:13:17 2007 +0000 backup-usedump-20070623 FIXES 55704 restore from specific dump id commit 8e180b6303d37cf4e45d52b67089fa9405e6aa22 Author: Daria Phoebe Brashear Date: Sat Jun 23 15:17:46 2007 +0000 image-fix-20070623 commit fe61d4e3a1e9419983a7a3e59ba0d196000edddd Author: Daria Phoebe Brashear Date: Sat Jun 23 15:01:24 2007 +0000 doc-add-missing-gifs-20070623 FIXES 1826 commit ec223f850b654365d13a7f8ae483c883d35413ab Author: Daria Phoebe Brashear Date: Sat Jun 23 07:21:00 2007 +0000 newuuid-fix-20070622 yeah, i should commit from places with better network if i'm going to need to edit in place, so i can see what i'm typing commit 31dfee00018d447dceccdb71c9927e84087639c8 Author: Asanka Herath Date: Fri Jun 22 23:22:09 2007 +0000 windows-install-wix-20070622 add the images from relnotes_files to the distribution. commit ccfba9c7b806bdbd60f31010618e99eb48d2ddb6 Author: Jeffrey Altman Date: Fri Jun 22 23:15:38 2007 +0000 windows-cell-hashtables-20070622 Add name and ID hash tables for cell lookups. cell lookups occur on every request. sometimes multiple times. removing the walking of the cell list when there are dozens of cells decreases cpu utilization and increases throughput. commit 8fb02b0a0c4f16a9c3de2c6c5494a7b32c3914fd Author: Jeffrey Altman Date: Fri Jun 22 15:42:12 2007 +0000 windows-install-nsis-20070622 add missing jpg files to documentation installation commit 43a27633c64f1bcb371fd35a52dc58586d81a5ba Author: Jeffrey Altman Date: Fri Jun 22 15:11:04 2007 +0000 windows-misc-20070622 there were two sets of registry values that could be used to configure the daemon thread check intervals. keep the one that was documented in the release notes and discard the other. Add a registry value "daemonCheckOfflineVolInterval" to configure the offline volume check interval. Ensure that the cm_GetConn... functions initialized the output variables to NULL on error. commit afa909e66ca66db50b71434ad0396d9b5a7af936 Author: Jeffrey Altman Date: Fri Jun 22 07:00:27 2007 +0000 windows-fake-stat-20070622 When we are faking the status data we can use the vnode value to determine if the object should be treated as a directory or file. even is a directory and odd is a file. This works even when we have never successfully obtained status data for the object. commit 2675d25f6955351e963ff58abfcf2ea6aefd946a Author: Jeffrey Altman Date: Fri Jun 22 06:30:47 2007 +0000 windows-mountpoint-is-directory-20070622 when the CIFS client requests a directory listing without directories, do not include mount points. commit d7d8de3041da75e8dbfef27a153660086370780c Author: Jeffrey Altman Date: Tue Jun 19 21:10:56 2007 +0000 windows-revoke-callback-20070619 If the we can match up the host address from which the revoke was received with one of our cm_server_t objects, then we know which cell the revoke has been received from. With that information we can ensure that we only revoke the status of cm_scache_t objects belonging to that cell. commit adb83635bbb0c2ed7f549a78e2d9a56baa16b273 Author: Jeffrey Altman Date: Tue Jun 19 19:29:41 2007 +0000 windows-all-cell-list-20070619 Reverse the order of the allCellsp list. Append new cells onto the end of the list. This ensures that the workstation cell will always be the first in the list. Adding additional cells will not degrade the performance to the workstation cell. commit 01c3c334d53da95318f54b4085da9b37c79c90b9 Author: Jeffrey Altman Date: Tue Jun 19 17:14:14 2007 +0000 windows-updatecell-20070619 No longer permit cm_GetCell() or cm_FindCellByID() to return NULL simply because cm_UpdateCell() failed. The cm_cell_t object still exists and is valid even if the vlServersp list is empty. Modify the lock management in cm_GetCell_Gen() to ensure we drop all the locks. In cm_Analyze() update the volume status when one of the servers reports VBUSY or VRESTARTING. commit 59db9812209d5e54cc47fc32d626b8b73f7fc22b Author: Jeffrey Altman Date: Tue Jun 19 12:51:11 2007 +0000 windows-deadlock-20070619 fix deadlock on cm_volumeLock introduced by last week's work in cm_Analyze, make sure we get a cm_cell_t reference otherwise we won't find the cm_volume_t we are searching for when ALLOFFLINE or ALLBUSY. commit 67ea3ae96bc678b5e2a61810634bef71713291da Author: Russ Allbery Date: Tue Jun 19 09:55:49 2007 +0000 man-page-net-info-fixes-20070619 Fix a NetInfo reference in the NetRestrict man page that should be NetRestrict and add cross-references in SEE ALSO. commit f1db63646c38635a6bd2addb5202344da6fce275 Author: Jeffrey Altman Date: Tue Jun 19 06:29:07 2007 +0000 windows-amd64-20070619 Use 0x0502 instead of 0x0500. There is no 64-bit Windows 2000 support. Explicitly list the machine type as X64 for linking. commit aed66fda2c2ba1758a69950a53d09efc82f8212d Author: Jeffrey Altman Date: Tue Jun 19 06:24:23 2007 +0000 windows-misc-20070619 VMWare adapters have proven unreliable replacements for the Microsoft loopback adapter. Registering AFS often results in a name space collision. Add cm_DumpCells() function and dump the cells as part of "fs memdump" Dump all cm_scache_t and cm_volume_t regardless of reference counts Fix cm_GetCell_Gen() to not allocate a new cm_cell_t when evaluating mount points to aliases. Instead, after looking up the alias successfully search the allCellsp list for the fullname of the cell. If found, use the existing entry and cleanup the one we were about to allocate. Use read locks whenever possible instead of write locks when searching the allCellsp list. commit 56728676386dfcdb1e9f3938ce9375f9a5531f17 Author: Daria Phoebe Brashear Date: Mon Jun 18 19:48:33 2007 +0000 macos-realtime-ip-updates-20070618 notice and deal with IP address changes commit f19ce63279d8745146694de989633cf2035e13f9 Author: Daria Phoebe Brashear Date: Mon Jun 18 19:21:53 2007 +0000 readme-20070618 update the systype list commit 39b027504b9b26b9b71aa4abac5f2b66f256f200 Author: Daria Phoebe Brashear Date: Mon Jun 18 19:03:00 2007 +0000 avoid-empty-uuid-20070618 avoid issue where uuid can potentially be 0: set one always at AFSOP_GO step commit 0c5cf6028d2e45809772838fb169c456f22e61f6 Author: Daria Phoebe Brashear Date: Mon Jun 18 18:57:31 2007 +0000 darwin-collect-network-errors-for-fast-timeout-20070618 same optimization we do on windows, linux commit 125e4511a9715a5df7dda265373d97a21177ea21 Author: Daria Phoebe Brashear Date: Mon Jun 18 18:05:05 2007 +0000 darwin-afs-syscall-eliminate-needless-vfs-context-hold-20070618 avoid potential deadlock if e.g. SetTokens is called before the kernel module initialization completes commit 6bc5c0899a9eb6c134c0079406fe28113e5cbeaf Author: Asanka Herath Date: Sun Jun 17 05:49:32 2007 +0000 windows-nim-afs-20070617 Don't assume that WM_DESTROY is the final message received by a window. Verify dialog data structures when handling messages and reset the window data field when freeing the data structure. Zero should be considered a valid credentials type identifier in Network Identity Manager. When checking if an identity is configured to obtain a token for a specific cell, don't go through the list of cells if AFS tokens are disabled for the identity. Similarly, when removing a token for a specific cell from all identities, don't bother modifying identities for whom AFS tokens are disabled. Keep track of whether a specific cell was added to the list of cells to authenticate for an identity because it was listed in the configuration or because a token for the cell already existed. Correct an off-by-one error when calculating buffer sizes for multi strings which failed to account for a double NULL terminator. Don't update the cell->identity mapping if a token for that cell could not be obtained. If the list of cell to authenticate for an identity is empty, we still need to write the empty string to the configuration. Otherwise, removing all the tokens from an identity will not result in a configuration change reflecting that. commit e8fa4d0e40c2a4352010986f82ac2fbfe8b8ae3e Author: Jeffrey Altman Date: Thu Jun 14 21:58:07 2007 +0000 windows-ioctl-path-availability-20070614 fix cm_IoctlPathAvailability to return the current volume state. 0, CM_ERROR_ALLBUSY, CM_ERROR_ALLDOWN, CM_ERROR_ALLOFFLINE modify fs.c to generate messages when the errors are received. commit 0187bf2feb9a191ba0b7868905854c603cc5092c Author: Jeffrey Altman Date: Thu Jun 14 21:54:16 2007 +0000 windows-volstate-update-post-network-change-20070614 When the system's IP address list changes we invalidate the existing RX connections and probe all of the servers. A better algorithm is to probe all vldb servers, invalidate the rx connections, and then probe all file servers. commit 46a931d020da24dd534e1064ea9fbe693acbdf65 Author: Jeffrey Altman Date: Thu Jun 14 20:04:10 2007 +0000 rx-lwp-sendmsg-20070614 update the lwp version of rxi_sendmsg to return the same error, -1, returned by the pthread version. replace errno with WSAGetLastError() in the Windows blocks so that the correct error value is checked. commit c27c00f8a93dcfd1b919197e233c217f778cbbf7 Author: Jeffrey Altman Date: Thu Jun 14 19:29:51 2007 +0000 windows-pioctl-add-error-translations-20070614 add error translations for CM_ERROR_ALLDOWN, CM_ERROR_ALLBUSY, CM_ERROR_ALLOFFLINE, CM_ERROR_NOSUCHPATH commit 5ac7a7db9a79ac81f83b61150e73bc7bf0f14d61 Author: Asanka Herath Date: Wed Jun 13 23:25:45 2007 +0000 windows-magic-share-names-20070613 Access to AFS volumes via magic share names \\afs\ = cellname = % or # = volume name or id commit c74a23fc4043e28a138fe624b1aadf3af1ee8f6f Author: Jeffrey Altman Date: Wed Jun 13 07:04:55 2007 +0000 windows-server-ping-deadlock-20070612 avoid deadlock in cm_ServerPing due to volume status update code commit b1bbe33fdee32a3b3ec87a9d770d8684347f7c4b Author: Daria Phoebe Brashear Date: Tue Jun 12 19:59:02 2007 +0000 newuuid-20070612 add the newuuid command commit 391d657c6ed80b5479d1db6ded957c8ddf688cb2 Author: Marc Dionne Date: Tue Jun 12 19:38:20 2007 +0000 linux-configure-vfs-update-20070612 FIXES 62017 clean up output commit 6eabfbd4b969d9efcc1eef646899af28a5077f0f Author: Marc Dionne Date: Tue Jun 12 19:32:19 2007 +0000 linux-vfs-flush-3arg-20070612 FIXES 62203 3rd arg for passing lock owner id. add configure gunk also commit a6294ee79a9dc18fad219262b6be69535c0398a9 Author: Simon Wilkinson Date: Sat Jun 23 07:32:56 2007 +0000 linux-sysctl-update-20070612 FIXES 61906 2.6.21.1 introduces an additional .parent pointer in the middle of the structure. As the OpenAFS code just initialises the structure with a list, this causes it to assign the value intended for .proc_handler to .parent commit 86b3330c7148c25c0a7ee4ea8f15e3098695a667 Author: Jeffrey Altman Date: Tue Jun 12 16:23:09 2007 +0000 windows-volume-status-tracking-20070612 * re-write cm_Analyze to make better use of the known volume status. VL_Server queries cannot result in CM_ERROR_ALLOFFLINE messages. * renamed cm_CheckBusyVolumes to cm_CheckOfflineVolumes. busy volumes will be reset to srv_non_busy by the function but there is no mechanism for querying the busy state other than by attempting to access the resource. * cm_Analyze will query the state of an offline volume before deciding whether or not to retry when all volume instances are offline. commit 37a0b14e016af74176d714cc1b25a2af00275d56 Author: Marc Dionne Date: Tue Jun 12 06:41:06 2007 +0000 linux-2-6-22-updates-20070611 FIXES 61767 1 - task_struct loses thread_info, which is now accessible through the task_thread_info() macro. A configure test is added to deal with this. 2 - the SLAB_CTOR_VERIFY flag is gone commit ee37fd74ef67ea6c9543544b23ca69fd9f624572 Author: Lars Wilke Date: Tue Jun 12 04:49:56 2007 +0000 man-fileserver-args-20070611 Add additional arguments to the SYNOPSIS that the file server recognizes. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Missed another erroneous option argument. commit ce209b23a5c64ed4b0d79ed775acf6cc000f4a35 Author: Steven Jenkins Date: Tue Jun 12 04:42:01 2007 +0000 man-vos-online-20070611 Add initial man pages for vos offline and vos online. commit 66adaf326861ae8a544650928bc6934d26a91d1d Author: Jeffrey Altman Date: Sun Jun 10 17:58:51 2007 +0000 windows-volume-status-tracking-20070610 * changed the enum values for cm_serverRef_t state info to use a private name space to avoid collisions (srv_) * added a srv_deleted state for cm_serverRef_t objects. This state is set when cm_FreeServerList() is called with the CM_FREESERVERLIST_DELETE flag set. cm_FreeServerList() may not always delete the cm_serverRef_t from the list if it is still in use by another thread. the srv_deleted state means the object's contents are no longer valid and it must be skipped. It will be deleted the next time the object is freed and the refcount hits zero. * the srv_deleted state is also used when a file server reports either VNOVOL or VMOVED instead of marking the cm_serverRef_t as offline. This is done to prevent additional usage of the stale vldb data while waiting for the update volume request to complete. * added a state field to the cm_volume_t object (enum volstate vl_ name space) that maintains the state of the volume based upon the states of all of the cm_serverRef_t and cm_server_t objects. * modified cm_UpdateVolume() to set the state of the cm_volume_t RW, RO, and BK to either vl_alldown or vl_online. There can't be any other states because cm_UpdateVolume() destroys any previous knowledge we might have had regarding busy or offline volume status * modified cm_UpdateVolume() to update the volume name in the cm_volume_t to the volume base name if the previous value was a volume ID. * modified cm_FollowMountPoint() to check to see if the volume name is a volume ID and if so call cm_GetVolumeByID instead of cm_GetVolumeByName. This ensures that volume IDs are always looked up as numeric values. There is no longer a need to maintain a separate cm_volume_t containing the string representation of the ID value. * Added a flags parameter to cm_GetVolumeByName() and cm_GetVolumeByID(). The first flag is a "CREATE" flag which is set by all existing calls. The flag is not set by calls to cm_GetVolumeByID() from the server probe code when volume status is being updated. We do not want the server probe operation to result in additional turnover in the cached volume data. The second flag is NO_LRU_UPDATE which is set when the server probe code updates the volume status. This flag will be used to prevent the server probe operation from changing the order of the least recently used queue. * Modified cm_GetVolumeByName to ensure that only one cm_volume_t is allocated for a given set of normal, readonly, and backup volumes regardless of whether or not the volume is accessed via name or ID number. The cm_volume_t namep field is always the base name of the volume. * Added a new volume state, vl_unknown. This state is used as the initial state for all cm_volume_t when the cache manager starts, for each cm_volume_t at creation, and for each cm_volume_t when recycling. The cache manager does not know the state of all volumes in the world, only those that are in the cache and for which it has queried the VLDB and hosting file servers. * modified cm_GetVolumeByName() to initialize the state of a volume to vl_unknown. The actual state will be set when a cm_VolumeUpdate() call completes successfully. * changed name of scache hash table variables to avoid ambiguity when adding hash tables for volumes * fix a buffer overrun in sys\pioctl_nt.c pioctl(). (thanks Asanka) * modified cm_UpdateVolume() to handle the case in which there is no RW volume but there is are RO volumes for a given base name. This is done by querying for the ".readonly" volume name if the base name does not exist in the VLDB. We never query for the .backup name because under the current usage model a .backup volume may only exist on the server that the read-write volume is located. If there is no RW volume, there can be no .backup. * Added four hash tables for cm_volume_t objects to improve the search time of cm_GetVolumeByID(), cm_GetVolumeByName() and cm_ForceUpdateVolume(). One each for Name, RWID, ROID, and BKID. Three ID hash tables are necessary as long as it is desireable to maintain a single cm_volume_t containing all of the related RW, RO, and BK volume data. Having the RW and RO volume data in the same object is necessary for the implementation of cm_GetROVolumeID() which returns either the RO or RW ID depending upon the existence of RO volume instances. * Added a volume LRU queue so that volume reuse becomes fairer. This does not replace the all Volumes list which is used when it is desireable to walk a list of all the volumes whose order is not going to change out from underneath you which makes it safe to drop the cm_volumeLock. * handles volume hash table updates where volume name to volume ID number changes. The volume name remains constant in the cm_volume_t. if a vos rename is performed, the name of the volume will change and the volume IDs will be updated. Subsequent access to the old volume ID will create a new cm_volume_t with the new name. * Added a daemon thread operation to query the state of volumes listed as busy or offline. cm_CheckBusyVolumes() calls RXAFS_GetVolumeStatus() for each volume ID that is marked vl_busy or vl_offline. If the volume is now online, the status on the volume is updated. The default period is 600 seconds. This can be configured with the BusyVolumeCheckInterval registry value. * Added prototype for smb_IoctlPrepareRead() which was missing a return type in the function definition. * Added volume id lists to the cm_server_t. These lists are allocated in blocks of ~32 IDs. When a cm_PingServer() detects a change in server state, the state of the cm_volume_t is updated. * Added volID to the cm_serverRef_t object. volID is used to identify the volume for which the object is a referral. cm_FreeServerList() uses the volID to remove the volume from the cm_server_t. * In cm_Analyze, when VNOVOL or VMOVED are received, call cm_ForceVolumeUpdate() to force a refresh of the volume location data. * Added cm_VolumeStatusNotification() which is used at the moment to log volume status changes to the trace log. It will also be used as the access point to the File System Filter driver notification engine. * Added an all cm_scache_t list to cm_data. This replaces the use of the stat cache LRU queue when we need to enumerate all entries. The LRU list order is not static and when using it to enumerate all entries it can result in items being missed or items being processed more than once. * Modified cm_Analyze(). Instead of reseting the busy or offline state of a volume and forcing a retry of the operation cm_Analyze will defer to the background daemon thread that will update the state once every 600 seconds. * Added the automatic generation of a Freelance ".root" read-write mountpoint that refers to the root.afs volume of the workstation cellname at the time the mountpoint is created. commit f4bd2604222c1199fc0ece0eaa82c034fa50b977 Author: Jeffrey Altman Date: Sun Jun 10 15:20:43 2007 +0000 rxkad-badticket-20070610 In rxkad_CheckResponse, when checking the return value from tkt_CheckTimes, the order is == 0, == -1, < -1, <= 0. The <= 0 case is extraneous so remove it. Both < -1 and <= 0 returned RXKADBADTICKET. commit 8a814a5596e9d8db1c24326715f794ae46966b3b Author: Asanka Herath Date: Sun Jun 10 06:52:51 2007 +0000 windows-pioctl-buffer-overrun-20070609 this patch protects against a buffer overrun in the client if the server were to send more data than the receiving buffer can hold. commit 18484f0fc64a550c1abacb6d2614c7ea12af4052 Author: Daria Phoebe Brashear Date: Sun Jun 10 06:39:15 2007 +0000 linux-kmem-destroy-fix-20070609 don't destroy if create failed commit c0010267f2cb168e94e3ae1af94cae9499c661bc Author: Marc Dionne Date: Thu Jun 7 03:18:21 2007 +0000 restore-missing_afs_realm_names-20070606 FIXES 62016 restore AFS_REALM_NAMES commit fcfdcc3cc1c272966574103f7e8bd495c7fcbb84 Author: Daria Phoebe Brashear Date: Wed Jun 6 18:55:04 2007 +0000 vsprocs-avoid-bogus-error-20070606 don't EPRINT if it's not an error commit cb18c5f80257d2ef239933dbe055cbe753b312c6 Author: Daria Phoebe Brashear Date: Wed Jun 6 18:21:05 2007 +0000 aix-declare-setlim-20070606 maybe fix lwp.c compiling with modern aix commit a62104968094bec86a7d3692158bbc84db035cdd Author: Daria Phoebe Brashear Date: Tue Jun 5 18:10:00 2007 +0000 solaris-sparc-default-to-v8-insns-for-kmod-20070605 FIXES 23935 don't use the default instruction set since the compiler has changed over time commit e8493e06f9d62c282bca2df8a4a0ac20caa4c70c Author: Jeffrey Hutzelman Date: Tue Jun 5 04:47:09 2007 +0000 fix-kbuild-linux-ppc64-20070604 The Linux 2.6 kbuild environment requires assembly files end in .S, not .s. commit aa5d46b71b3700d6256f47237fadf0a4829daee6 Author: Daria Phoebe Brashear Date: Fri May 18 06:52:37 2007 +0000 clone-dont-hold-vol-lock-20070516 same deal as purge. a transaction on the volume outstanding holds it. we don't need to preclude all access ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== same deal as purge. a transaction on the volume outstanding holds it. we don't n eed to preclude all access ==================== same deal as purge. a transaction on the volume outstanding holds it. we don't n eed to preclude all access commit ad98eacdadf6b9e079d1606f40cfc352450650a1 Author: Daria Phoebe Brashear Date: Thu May 17 19:28:10 2007 +0000 linux-posix-lock-file-has-wait-arg-now-20070517 FIXES 58590 hopefully this works, i can't actually try it now commit 9352435f1c128ee011fc820e41c6fba508d141dd Author: Arkadi Shishlov Date: Thu May 17 07:50:02 2007 +0000 linux-sparc-arch-detection-20070517 FIXES 60288 use arch to figure out if we are sparc64 commit 59eb3de5ea3bc9588c91d3f2dbb6a598fa56ad43 Author: Daria Phoebe Brashear Date: Thu May 17 07:34:15 2007 +0000 linux-posix-lock-file-has-wait-arg-now-20070517 FIXES 58590 hopefully this works, i can't actually try it now commit 87a93241dab68696a54c8e43df4ffb70928fce21 Author: Rainer Toebbicke Date: Thu May 17 06:42:03 2007 +0000 bucoord-dump-levels-20070517 FIXES 57246 dont use memory past what you've allocated commit 5987e2923a2670a27a801461dc9668ec88ed7d2a Author: Lukas Hluze Date: Wed May 16 21:57:20 2007 +0000 libafs-common-placate-irix-make-20070516 FIXES 59153 irix make wants $@ to be $(@) inside other braces commit d143385ec6e633c0b8a953550a4d2b9e5c1b2171 Author: Chaskiel M Grundman Date: Wed May 16 21:48:27 2007 +0000 rx-ack-idle-comment-20070516 FIXES 60046 fix comment commit 7a72e2445fa8da7947a4370080edb9eb4df67e17 Author: Chaskiel M Grundman Date: Wed May 16 21:44:07 2007 +0000 rx-tq-busy-20070516 FIXES 60046 abstract tq busy wait code commit a900fe30894b5c1bf3a55f2f539179c75c177dad Author: Chaskiel M Grundman Date: Wed May 16 21:36:33 2007 +0000 rx-send-req-ack-20070516 FIXES 60046 change reply code where appropriate commit f550e3b3ffeac6be73a780fa3ed43ab3dc4600ba Author: Arkadi Shishlov Date: Wed May 16 21:21:44 2007 +0000 glibc24-jmp-buf-mangling-20070516 FIXES 60440 glibc 2.4 does jmp buf manging for "security" whatever. deal. commit d608809c247c9b8105c95e230449f98705767476 Author: Marcus Watts Date: Wed May 16 20:54:42 2007 +0000 supergroup-cleanup-20070516 FIXES 60809 Problems fixed with this patch: /1/ supergroup bug: when updating an entry in prdb, the logic in pt_mywrite is supposed to unset flagged & found bitmap entries. This failed on little-endian architecture machines. /2/ warnings; a few fixes to eliminate some compiler noise. commit 62dc1975410ad0dbea12a0c7e3c11a37230e5971 Author: Marcus Watts Date: Wed May 16 20:42:56 2007 +0000 ptserver-fix-bitmap-20070516 FIXES 60680 make sure bitmap code is correct else supergroups returns invalid answer fix verify code to be correct on little endian hosts commit 03e3b77553bed4d395393a53d81069c71d67dbea Author: Jeffrey Altman Date: Wed May 16 16:54:16 2007 +0000 windows-afsd-list-acl-only-dir-20070516 FIXES 60258 Do not return access denied when applying directory patches if the user does not have read permission. This is the case we want to fake the directory entries for. Also, make sure we set the directory attribute on non-files so that the path can be accessed via the Explorer Shell. commit 82d2cc5b7fb638073e859e6a2b03b97722f518d9 Author: Jeffrey Altman Date: Wed May 16 16:49:19 2007 +0000 windows-afsd-uninitialized-20070516 Do not use uninitialized variables in log messages Do not dereference NULL pointers commit e02fa3e73b258938135244f7e3c09baa464e0c26 Author: Jeffrey Altman Date: Wed May 16 04:43:47 2007 +0000 windows-afsd-list-acl-only-dir-20070515 FIXES 60258 When the ACL on a directory is list only, attempts to read the status of items in the directory will fail. Therefore, it is pointless to try. Instead, when we know the user ACL does not have read permission, we should immediately lie about the status info. That way we don't pound the file server with requests that will produce an abort which in turn will trigger force the file server to delay responses to the client. This change has the added benefit that cached status info is no longer leaked to callers that do not have appropriate permissions. With this change the Explorer Shell is much more responsive. commit 60bbb56b546438d5e89854f61bcea368c5537341 Author: Jeffrey Altman Date: Wed May 16 04:33:38 2007 +0000 windows-aklog-20070515 FIXES 60938 do not copy an uninitialized field commit 11cec9e764eb4bc47e61eb9475b1776d9e58bc87 Author: Jeffrey Altman Date: Tue May 15 21:19:37 2007 +0000 windows-fs-getcacheparms-20070515 fix output of cache parms now that they are 64-bit commit c78b4c61f70f6756a79440748ecacea2affec8ab Author: Rainer Toebbicke Date: Mon May 14 22:42:09 2007 +0000 namei-dont-randomly-full-salvage-20070514 FIXES 61300 trivial fix to clear forcep (inode already does this) commit 1b1c0eda5a3db6fe92d46d5f3d8529bf7c6378c2 Author: Chaskiel M Grundman Date: Mon May 14 22:36:22 2007 +0000 getdcache-no-slowpass-enforcement-on-dynroot-20070514 don't enforce slowpass restriction on dynroot vcaches (and don't do unneeded work) ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== oops, another change slipped in commit 08cbee9b2d941d79b9f7919f4c76b1ab45ef3643 Author: Frank Cusack Date: Thu May 10 23:41:32 2007 +0000 fix-partition-check-20070510 oops commit 7e0571b0e5ba8e60129cd6e68c90c5011889767c Author: Jim Rees Date: Thu May 10 21:48:33 2007 +0000 openbsd41-20070510 OpenBSD 4.1 config files commit f2761c416320a3ff2bb0af4298ca95b8ecb04211 Author: Daria Phoebe Brashear Date: Thu May 10 01:15:57 2007 +0000 vos-namelen-for-dump-restore-is-stupid-20070509 fixes bug reported by stephen joyce which i am too lazy to go get the RT number of commit 707feb4fdd31a818a7cacb0f439ce32bb26f4e3d Author: Russ Allbery Date: Tue May 8 23:49:44 2007 +0000 ka-forwarder-licensing-20070508 ka-forwarder is under a different copyright not previously covered, so embed the actual licensing in the source rather than referring to a file that doesn't exist and add the relevant information to the LICENSE files. commit bc585c90cfbb973b1753198d88f33859c51056a0 Author: Russ Allbery Date: Mon May 7 20:16:02 2007 +0000 quickstart-pam-docs-20070507 Flesh out the PAM installation documentation for Linux and Solaris (and a bit of reformatting in the HP-UX section). commit 1d4d8f5c4f125707fc6af432024d99e2672cadab Author: Russ Allbery Date: Mon May 7 18:17:42 2007 +0000 up-preserve-dir-mtime-20070507 FIXES 34522 Set the mtime on newly created directories to match the original directory. commit 958bbb77bfbfc100031850b6fd7836658c35912a Author: Asanka Herath Date: Sat May 5 22:13:20 2007 +0000 windows-netidmgr-20070505 Only automatically add configuration for cell foo.com if the realm of the cell matches the realm of the identity commit c8a3a0ecf210a7475f38267952ad8c96f27c08d2 Author: Jeffrey Altman Date: Fri May 4 07:05:05 2007 +0000 windows-checkvols-freelance-20070504 do not flush mount point values for freelance volume commit 2b442dbddb5d44f4b7e08eb04ae277c24a5e8964 Author: Jeffrey Altman Date: Fri May 4 03:49:06 2007 +0000 windows-wix-shell-ext-20070503 When installing on 64-bit Windows we need to install the 32-bit and 64-bit shell extensions under different HKCR keys. Otherwise, only one of the explorer versions will get an extension handler. commit 9f508ce443f1ef2103fbb74c6a094aef3aa96e86 Author: Jeffrey Altman Date: Fri May 4 00:12:15 2007 +0000 windows-wix-beta-upgrades-20070503 This change is not as important for OpenAFS as it was for KFW as OpenAFS does not issue betas with the same build numbers as final releases. However, for users of daily builds when build numbers are not being incremented it will provide benefit. We modify the upgrade rules to include the current version number and then block the uninstall if the currently installed package is the one that is being installed. The change applies to both the regular installer and the 32-bit tools for WOW64 environments. commit d9946ba827b7099848dfe659f0eaf10167e9413b Author: Jeffrey Altman Date: Thu May 3 01:44:50 2007 +0000 windows-flush-mountpoints-20070502 When flushing volume location information also flush the mount point data. This change results in behavior that matchs the Unix client. commit 113ccb9963be8ccd602520b4987f2cc0a5f52b51 Author: Jeffrey Altman Date: Thu Apr 26 19:44:18 2007 +0000 windows-wix-html-installgd-20070426 FIXES 59827 The wix installer creates the wrong directory name for the IBM Quick Guide Remember to specify the LongName. commit bfed93d7fce113690c20e1cad102c8b23c0aa17f Author: Asanka Herath Date: Thu Apr 26 19:06:44 2007 +0000 windows-dropbox-fix-20070426 FIXES 60161 A dropbox is a directory with ACLs 'li' that permits a user to create a new file but not be able to read other files within the same directory. The 1.5 Windows clients have not been able to write to dropboxes since the addition of the locking code. The lock acquisition test assumed that if the user did not have PRSFS_LOCK or PRSFS_WRITE that it would be unable to obtain a lock. It did not take into account the special treatment of PRSFS_INSERT by the file server and so never bothered to ask. As it turns out though, the locking situation is more complex than one might think. If the server is 1.4.1 or earlier, it will not grant any locks for users with INSERT. The PRSFS_LOCK privilege is required. For 1.4.2 through 1.4.4, write locks will be granted if the user has PRSFS_INSERT but a read lock will not be granted unless the user has PRSFS_LOCK. Therefore, if the server advertises the WRITELOCKACL capability bit if the read lock is not granted a write lock can be attempted. For 1.4.5 and 1.5.20 and above, the file server will grant read locks if the user has PRSFS_WRITE or PRSFS_INSERT. (Insert only applies if the user is the creator of the file). This patch handles all of the above possibilities. In the pre-1.4.2 case a read-lock request will be faked locally. commit 92ecfdd675e8a851c7f0f19e5359362fa00c1c8f Author: Daria Phoebe Brashear Date: Wed Apr 25 20:47:13 2007 +0000 rx-call-abort-release-refcount-20070425 don't leak a call ref when doing a call abort commit 5f919154cfc548b918653f30b6689edaf53ded12 Author: Daria Phoebe Brashear Date: Tue Apr 24 04:48:04 2007 +0000 quickstart-solaris-pam-20070423 this actually needs more fleshing out but it's at least a pointer commit f521ac0f603f56cd05d643f198d6a4b0fc56e539 Author: Simon Wilkinson Date: Tue Apr 24 04:37:52 2007 +0000 quickstart-obsolete-appendices-20070423 FIXES 60137 commit updates to the docs for obsolete stuff ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== also the appendix file commit bb61e1dc678ea28132c195438fc1f157fa580cd1 Author: Jeffrey Altman Date: Tue Apr 24 01:27:30 2007 +0000 viced-write-perm-grants-read-lock-20070423 the permission to obtain a write-lock is granted either by having the "w" permission or the "i" when owning the file. The permission to obtain a read-lock has been granted by having the "k" permission. However it makes no sense that someone can obtain a write-lock but not a read-lock. This patch grants permission to obtain read-locks to those who can obtain write-locks. commit c5c23b7bc4544af2c1204622cd67b835b27bcdab Author: Jeffrey Altman Date: Fri Apr 20 11:58:22 2007 +0000 windows-wix-html-installgd-20070420 FIXES 59827 The wix installer creates the wrong directory name for the IBM Quick Guide commit 2d18bd1777b8d18a3b855685928dcdafcbe609b8 Author: Christopher Allen Wing Date: Wed Apr 18 19:18:35 2007 +0000 linux-symlink-handling-avoid-crash-20070418 Background: OpenAFS is vulnerable to crashing in the linux kernel symlink code when running on kernel versions between 2.6.10 to 2.6.12. This also includes all RHEL4 kernels, because RHEL4 includes the code from 2.6.10. The problem is that the symlink text caching API, page_follow_link() et al, is unsuitable for network filesystems where the page cache may be invalidated in parallel with a path lookup. This crash can be triggered easily by doing a bunch of path lookups involving symlinks (e.g., stat() on various files pointed to through links), while simultaneously running 'fs flushvol' on the volume containing the symlinks. The simplest way to fix this problem is to disable the use of symlink text caching when the kernel does not provide a usable symlink API. commit 9943fe1fd71fc29331dcac7cd6a51bd37f307876 Author: Chaskiel M Grundman Date: Wed Apr 18 19:01:31 2007 +0000 vmalloc-no-glock-20070418 Based on Chris Wing's analysis which stated in part: GFP_NOFS tells the allocator not to recurse back into the filesystem if it's necessary to free up memory. However, vmalloc() does not have such an option. Therefore, calling osi_Alloc() to request more than a page of memory may end up recursing back into AFS to try to free unused inodes or dentries. In this case, what happened was that osi_Alloc() is called within an AFS_GLOCK(); osi_Alloc() calls vmalloc() which tries to free dentry objects, which then calls back into the AFS module. Unfortunately, AFS_GLOCK() is already held and we deadlock. commit 85a23a70c783364e039f2a1b402ba718c1fc34a5 Author: Jeffrey Altman Date: Wed Apr 18 16:57:05 2007 +0000 windows-afskfw-bluescreen-20070418 The afskfw library contains an unprotected call to krb5_free_context which can result in krb5_free_context being called with a NULL pointer. MIT's Kerberos libraries do not check that the pointer is non-NULL and will attempt to use it as a valid pointer which will in turn result in an invalid memory access error. This library is used by afslogon.dll which is loaded by winlogon.exe. If the krb5 profile is invalid, the krb5_init_context call will fail to allocate a krb5_context structure which can then result in krb5_free_context being called with a NULL pointer. An unhandled exception within winlogon.exe will cause a blue screen event on Windows 2000, XP and 2003. commit a82252fcc80a70d900ab7446fe84a10a467d749d Author: Jeffrey Altman Date: Tue Apr 17 05:03:39 2007 +0000 windows-afslogon-station-name-20070416 Use case insensitive comparisons for the station name. Otherwise, we will fail to notice that the logon is interactive on Vista. commit c810b46e9eda0cf626499a1a3c72bb53ce0d81d6 Author: Jeffrey Altman Date: Tue Apr 17 01:10:28 2007 +0000 windows-kfw-krb5_init_context-20070416 If krb5_init_context() fails make sure that no further krb5 calls are performed. krb5_init_context() will fail if the krb5.ini file is damaged. commit 44ca92226ae8e780b6c6134c83b08b3c8c266c95 Author: Jeffrey Altman Date: Tue Apr 17 01:04:47 2007 +0000 windows-temp-path-20070416 Use GetTempPath() instead of testing environment variables ourselves. commit 5bc88af797eeb8db631e6ad8e9d56d39a687dd96 Author: Jeffrey Altman Date: Sat Apr 14 19:46:22 2007 +0000 windows-vioc-path-availability-20070414 add a new Windows only pioctl VIOC_PATH_AVAILABILITY that is used to query the server status for a specified path. Return values include: online offline all busy all down not afs commit fb5b0dcce6874464c1021842ac1b48f4578ac105 Author: Jeffrey Altman Date: Thu Apr 12 15:12:36 2007 +0000 windows-netidmgr-provider-20070412 do not use ellipsis for actions that do not need additional data to complete. "Help for OpenAFS plugin" -> "AFS" since its on the Help menu already commit 7de756ca285614214a9f272338a5a2b3f731612a Author: Simon Wilkinson Date: Wed Apr 11 03:14:33 2007 +0000 quickstart-update-20070410 FIXES 58896 update quickstart guide with new information commit 5bcd5ab54d2e76dc9b253fda6ea6b6bb4dfe87f0 Author: Jeffrey Altman Date: Tue Apr 10 23:08:11 2007 +0000 windows-netidmgr-afs-provider-20070410 when using krb524 with a cross-realm service ticket the resulting krb4 cred will not contain the user's realm as there is only one realm field. commit 0ff92e9a5bd939cb3488ca64ce01b37bd4d7f79e Author: Jeffrey Altman Date: Tue Apr 10 23:06:02 2007 +0000 comerr-rename-two-20070410 fix afsrpc.def add_to_error_table commit 306e23e08ccba0f0b6e802c8a39fcc444555ae56 Author: Jim Rees Date: Tue Apr 10 20:52:30 2007 +0000 doc-README-20070410 I didn't actually write this, just cribbed it from the openafs-info mailing list. commit e0fa8ff72fb4f50a4f8e48b8f18d6846c7f5e4f6 Author: Daria Phoebe Brashear Date: Tue Apr 10 19:58:13 2007 +0000 comerr-rename-20070410 nag nag nag commit fece50be72ebb182d10faaa0de5179eb4ff786b3 Author: Jeffrey Altman Date: Sun Apr 8 03:39:52 2007 +0000 windows-netidmgr-plugin-20070407 protect against pr_CreateUser modifying the username buffer. commit a47faf3eea14931fc5edf2d90550729dc78322df Author: Jeffrey Altman Date: Fri Apr 6 17:55:35 2007 +0000 windows-afslogon-20070406 Fix eventlog reporting. Do not attempt to log an event if the event source registration fails. Use DebugEvent0 instead of DebugEvent when there are no parameters. Modify the LOOKUPKEYCHAIN macro to recognize ERROR_MORE_DATA errors. Fix the reading of Domain specific configuration for LogonScript and TheseCells. Previously the dwSize value was being overwritten so that subsequent RegQueryValueEx call would fail. Fix a memory leak in the TheseCells reading code. Add support for Domain specific "Realm" specification. The realm is the realm to be appended to the username. When logging in as a domain or to the local machine, the specified "Domain" name is not going to be a valid realm name. Construct a proper principal name based upon the domain specified realm for use in obtaining tokens with KFW. If the domain specified "TheseCells" list includes the default cell, do not obtain tokens twice. commit bbbf3ee9ffe7b4da314285509ae8e0b6f4e70c8e Author: Jeffrey Altman Date: Wed Apr 4 21:24:48 2007 +0000 windows-aklog-20070404 FIXES 58164 correct for the fact that pr_CreateUser tampers with the contents of the username input buffer. commit 9c592530b18144ffbd91283fcd9690a9680c6cd9 Author: Peter Breitenlohner Date: Tue Apr 3 19:52:44 2007 +0000 move-tasklist-lock-extern-outside-func-20070403 FIXES 53441 make tasklist-lock extern with pragma weak possibly work right commit c7c7242e78fd5035572b7d4f2071bf105190826c Author: Jeffrey Altman Date: Tue Apr 3 15:48:37 2007 +0000 windows-vista-sdk-ntsecapi-compat-20070403 There is no way to replace FOO with the value of BAR in cpp. commit 644cd83dbdd8203e6792f3a03aabb52efefa12d5 Author: Jeffrey Altman Date: Tue Apr 3 14:34:19 2007 +0000 windows-libadmin-vos-registry-20070403 Move the session data from TransarcCorporation to OpenAFS. commit 125d9f877d72843e4b1c2b99ec671bf75cef35fc Author: Jeffrey Altman Date: Tue Apr 3 14:30:25 2007 +0000 rx-dpf-20070403 The function rx_MakeCall was at some point renamed to rx_NewCall but the dpf output was never changed. Add a dpf entry for rxi_ResetCall. commit fbcafac2f6f58dfd55af8f9f54c856b2d31ecd2a Author: Jeffrey Altman Date: Tue Apr 3 06:40:27 2007 +0000 windows-vista-sdk-ntsecapi-compat-20070402 fix inclusion of ntsecapi.h in network identity manager plug-in commit 26b381dc17a7705af8b9d1ba1d26d1188ae649ed Author: Jeffrey Altman Date: Tue Apr 3 05:32:03 2007 +0000 windows-afslogon-20070402 restore token acquisition for non-interactive logons. commit 20890b4e2edb6d1803148493e0f83d44c4e8a8d6 Author: Jeffrey Altman Date: Sat Mar 31 13:52:17 2007 +0000 windows-nim-plugin-20070331 correct a NULL pointer de-reference introduced in windows-nim-plugin-20070328 commit 934f76fb185ee5e162aee3bc9f5711079bbbca5b Author: Jeffrey Altman Date: Wed Mar 28 23:29:49 2007 +0000 windows-afslogon-20070328 There are two serious problems with integrated logon: (1) openafs afslogon.dll obtains Kerberos v5 tickets and then forwards them into the logon session. This was done because MIT KFW did not have such functionality. As of KFW 3.1, KFW does, so we are removing it. the functionality worked by copying the credentials to a FILE ccache and then using the Logon Event Handler to move the credentials into an API ccache and delete the temporary file. For non-interactive logons the Logon Event handlers do not get triggered. Neither do LogonScripts get executed. As a side effect, for each logon a credential cache file was left behind. (2) when combined with non-interactive logons, there are some very bad side effects if a network provider performs Kerberos v5 operations. Each logon occurs in a new logon session and will spawn a private copy of krbcc32s.exe. As a result, integrated logon is being disabled for non-interactive logons. commit 60e5fc151ea0af4aa85a174ede774c949983962b Author: Jeffrey Altman Date: Wed Mar 28 23:18:41 2007 +0000 windows-nim-plugin-20070328 if the service ticket in the cache is expired, delete it from the cache commit 74e22e219036ca2c42182b1356371daa07ae6494 Author: Neale Ferguson Date: Tue Mar 27 04:21:09 2007 +0000 s390x-syscall-patch-fix-20070326 make s390x syscall table patching work correctly commit a6cb25c5d34db370e73d5e0044eaa88cf291228a Author: Jeffrey Altman Date: Sat Mar 24 05:02:16 2007 +0000 windows-vista-sdk-ntsecapi-compat-20070324 When loading the Vista SDK ntsecapi.h we must set _WIN32_WINNT to 0x0501 or greater commit 48cd8daff8c8bd384a6583bab07e1d84ae461efd Author: Jeffrey Altman Date: Sat Mar 24 04:59:13 2007 +0000 windows-fs-whereis-freelance-20070324 do not assert on the lack of a cell when calling fs whereis on the freelance volume. return CM_ERROR_NOCELL instead. commit 1c9ede0bcf892ccc3b9b5cae819c7d94b0407b38 Author: Daria Phoebe Brashear Date: Thu Mar 22 15:58:45 2007 +0000 tvolser-locking-updates-20070322 rework locking in tvolser slightly to avoid potential transaction leak commit c2fb9440f3d3f80c452590b40f7bd8ecdb13edfe Author: Chas Williams Date: Tue Mar 20 19:29:41 2007 +0000 darwin-remunlink-20070320 FIXES 55280 make reumlink work the way it's supposed to commit ff81d7e77a4a302224dbb0f0c6b960ded42cafbe Author: Douglas Engert Date: Tue Mar 20 19:20:24 2007 +0000 nfs-gc-fix-20070320 FIXES 56459 avoid issue with nfs gc handler and mismatched types commit af0a976f1151f7ca7642013357d1dcc7267c6457 Author: Robert Banz Date: Tue Mar 20 18:59:22 2007 +0000 namei-allow-zfs-20070320 don't force AlwaysAttach on ZFS in namei commit 29951ff73ccc82746f8f842131a76e30b47d5310 Author: Chaskiel M Grundman Date: Tue Mar 20 18:45:58 2007 +0000 linux-task-pointer-safety-20070320 hold applicable locks while futzing with task list commit 97d8703809a9e6798b80696da6439ab0887046fb Author: Chaskiel M Grundman Date: Tue Mar 20 18:41:02 2007 +0000 keyring-pag-finduser-requires-glock-20070320 identical to the fix from chas@cmf.nrl.navy.mil commit c4183dbc1fb0e3d4db5105fe3312816fc82a7a33 Author: Daria Phoebe Brashear Date: Tue Mar 20 01:13:06 2007 +0000 no-default-setuid-20070319 FIXES 54713 disable default setuid for localcell commit b4f323eaeb5f010cd0a0be09f29c4016d1a14fef Author: Jeffrey Altman Date: Mon Mar 19 13:44:41 2007 +0000 windows-var-renaming-20070319 give rx call variables a distinct name from cm call variables in order to avoid confusion commit 92f10ea1a2235594a48edf16f613ac437cc593af Author: Jim Rees Date: Sat Mar 17 18:20:15 2007 +0000 obsd-kernel-opts-20070317 adjust module compile opts (KOPTS) to better match those of the kernel commit f1862d783a610d85a258aaee1d00aff26f348223 Author: Jeffrey Altman Date: Sat Mar 10 15:48:01 2007 +0000 windows-afsd-nat-handling-20070310 Improve cache manager performance behind NATs: * drop cm_daemonCheckUpInterval from 10 minutes to 4 minutes to bring it under the minimum recommended default port mapping idle timeout value for NATs * when a timeout on an rx connection occurs, retry the request once after forcing a new rx connection. If there was a NAT and the port mapping changed, the server would respond to the original addr:port associated with the rx connection. Forcing a new connection will allow the request to be responded to if the server is accessible. This should eliminate the UP-DOWN-UP-DOWN bouncing that user's have seen when working from behind a NAT. commit ce776b4809146733f278e18cbdae1b4ed45c6b5d Author: Jeffrey Altman Date: Sat Mar 10 14:25:00 2007 +0000 windows-registry-20070310 move the AFS Server Manager and AFS Account Manager data cache from the TransarcCorporation key to the OpenAFS key. The data formats are not compatible between the two versions and we don't want to be forced to erase data if users switch back and forth between the two products during OpenAFS evaluation. commit 226c1ee8f9e24e199b2e2cf1ecc11dd072634450 Author: Daria Phoebe Brashear Date: Sat Mar 10 07:11:09 2007 +0000 java-lock-fix-200702310 make it portable. ugh. commit 97fd54f399148eaf6652bd2a42c8b9f424d680bc Author: Jeffrey Hutzelman Date: Sat Mar 10 04:52:04 2007 +0000 cellservdb-20070309 commit a7db1780b33b47d77927da7a3925c2b8780c5834 Author: Jeffrey Altman Date: Thu Mar 8 17:44:13 2007 +0000 windows-afsd-remove-generated-file-20070308 afsd_eventmessages.rc is a generated file. Don't maintain in cvs. commit fc36880fedc8d143b8eead08a0d910b400ad0483 Author: Jim Rees Date: Wed Mar 7 21:42:20 2007 +0000 af-byteorder-bis-20070307 everyone wants AF in host order commit 5332348bdf68491670cc94ff1f9bc527876304fa Author: Jeffrey Altman Date: Wed Mar 7 18:13:25 2007 +0000 windows-plug-n-play-network-fix-20070307 Move the detection of which LAN adapter to use from smb_Init to smb_NetbiosInit so that it is executed after the service is resumed via a power management event. Otherwise, when the network comes back up the service attempts to bind to all LAN adapters instead of just the loopback or the configured one. commit 413a90614274c381684e2ce58bdb6ae010fb1416 Author: Jim Rees Date: Wed Mar 7 17:00:57 2007 +0000 af-byteorder-20070307 bsd wants AF in host order commit e4d3681e3d9ba58c315f39d3852833b11811474c Author: Jeffrey Altman Date: Sat Mar 3 01:29:11 2007 +0000 windows-fs-checkserver-20070302 FIXES 55234 The "fs checkservers" command when not being used to change the check interval should not require admin privilege. commit 561f8b742fceeed10e6f3d9639c96efb085ad2a9 Author: Jeffrey Altman Date: Wed Feb 28 00:38:04 2007 +0000 windows-partially-restore-find-lana-by-name-20070227 find lana by name is used by the afs control panel to populate the lana list box. don't use the function to find by name. just use it to generate the list of all lana names. commit b8d09aff6a695041dde2ef7aca7bfe39ceef7a01 Author: Jeffrey Altman Date: Tue Feb 27 01:30:39 2007 +0000 windows-afsd-no-krb_h-20070226 Don't include krb.h when we don't use it for anything commit 9d5de311a6c2d96ee5092d58db28fff1b5602be7 Author: Chaskiel M Grundman Date: Mon Feb 26 22:13:33 2007 +0000 forcenewconns-even-with-one-interface-20070226 otherwise we don't discard vlserver connections when a server is "down" commit 0d5642e3ee1d72f11c4b6393cd4a352540f3b2ba Author: Daria Phoebe Brashear Date: Mon Feb 26 18:48:22 2007 +0000 uae-etoomanyrefs-avoid-dup-20070222 when ETOOMANYREFS is EIO don't rewrite the EIO slot with UAETOOMANYREFS commit a3a40968308e9ef894df3756af7ccd7ed141c74f Author: Stephan Wiesand Date: Mon Feb 26 17:55:55 2007 +0000 conditionalize-tasklist-lock-20070226 FIXES 54922 make rx_knet use tasklist_lock conditionally also commit bed42291bcc16065f23e964b64d60090ffaa96f9 Author: Stephan Wiesand Date: Mon Feb 26 17:50:37 2007 +0000 update-tasklist-lock-test-20070226 FIXES 54916 make the tasklist lock test actually detect GPL stupidity commit 844f045692d7863e096cb97710151c31a841874d Author: Daria Phoebe Brashear Date: Fri Feb 23 00:42:46 2007 +0000 md5-inum-round-down-20070223 make our computed md5-style inode numbers be actually 32 bit commit f1a6107e0814d1e3e1d171834c97489479b5e6df Author: Marc Dionne Date: Thu Feb 22 21:46:13 2007 +0000 linux-2621-20070222 FIXES 54645 configure support for new sysctl api commit 4f86aa379d345c98113bde2169b9d1400dcee89c Author: Rainer Toebbicke Date: Thu Feb 22 21:40:11 2007 +0000 linux-unlink-avoid-infrequent-leak-20070222 FIXES 54689 avoid minor leak commit 6ce156741b62702e1d1f10f3329f1b77341e32e5 Author: Kevin Hildebrand Date: Tue Feb 20 18:03:26 2007 +0000 linux-lookup-crfree-20070220 FIXES 54549 add missing crfree to avoid leak commit 79c1cdb83fe25d753ce3e38b9554d8604a3cb8df Author: Jeffrey Altman Date: Tue Feb 20 03:13:41 2007 +0000 windows-afs3-directory-format-20070219 correct the documentation of the directory format in the headers commit b2ed3c527b831f329a380203433312653bcd91a4 Author: Jeffrey Altman Date: Tue Feb 20 03:06:05 2007 +0000 remove-find-lana-by-name-20070219 Remove the find lana by name functionality. It is crucial that the name computed by the afs service can also be computed by the pioctl function executed by generic end users without privilege. Unfortunately, the undocumented functions used to implement find lana by name require access to registry keys that a generic user cannot read. commit b00dddcd7da6f38893f408024f250254a5e1ff25 Author: Asanka Herath Date: Thu Feb 15 21:51:00 2007 +0000 windows-netidmgr-help-registration-20070215 In preparation for KFW 3.2, add conditional help registration. When used with a version of NetIdMgr that supports the functionality the OpenAFS plug-in will register its HtmlHelp on the NetIdMgr Help menu. commit 5ae8e5064c2aae067a32c94e98f2ed8a597417ae Author: Jeffrey Altman Date: Thu Feb 15 18:09:36 2007 +0000 windows-move-rxdebug-20070215 back in 2001 rxdebug was moved from src/rx to src/rxdebug for Unix but not for Windows. Move it for Windows as well. commit e92739f2b925545e441c2d77eaf4ece00ffbcb51 Author: Jeffrey Hutzelman Date: Thu Feb 15 17:11:09 2007 +0000 rxdebug-backoff-20070215 make rxdebug be less aggressive when retransmitting commit 2e6a87e109bbab2cb242f58bcfce0ba1d92a41de Author: Jeffrey Altman Date: Thu Feb 15 11:47:24 2007 +0000 rx-rxdebug-long-option-20070215 add the -long option from src/rxdebug/rxdebug.c to src/rx/rdebug.c commit 1f530ff095a8ffa38114373c80d8f4c5ead103d8 Author: Jeffrey Altman Date: Thu Feb 15 05:59:14 2007 +0000 windows-rmdir-not-empty-error-code-20070215 Ensure that removing a directory containing existing files returns the correct error to the caller. commit 65d89232521ceb1641ce0a14e1f3ed8d28b6afff Author: Adam Megacz Date: Thu Feb 15 00:33:39 2007 +0000 java-locking-redux-20070214 change the -1 len check for java locks slightly commit 465a6d533b253d71e8854dc6cedcbcdc5ce678e1 Author: Chaskiel M Grundman Date: Thu Feb 15 00:27:09 2007 +0000 darwin-missing-dropnames-20070214 for correctness, not to fix anything which has yet been observed commit 083f3bcb2bcca382e00684ad1965dd1b224c9b4b Author: Jeffrey Hutzelman Date: Wed Feb 14 23:55:09 2007 +0000 libafsdep-correction-20070214 FIXES 53441 apply the rest of the patch commit 51774c137b3889ef0e651e171493e7ca24a95077 Author: Jeffrey Hutzelman Date: Tue Feb 13 22:54:00 2007 +0000 osi-probe-harder-20070213 2.6.16 i386 didn't probe successfully before in at least one case commit 5b0ba22734f8a354f26ca2600e96608e72a3f9e4 Author: Daria Phoebe Brashear Date: Tue Feb 13 18:39:34 2007 +0000 amd64-syscall-probe-20070212 FIXES 53441 based on suggested change from cg2v@andrew.cmu.edu tasklist_lock not being exported makes this useless otherwise S: ---------------------------------------------------------------------- ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 53441 based on suggested change from cg2v@andrew.cmu.edu tasklist_lock not being exported makes this useless otherwise commit 4d5138c4030c581c2d52f1d59279e4b997ef59fd Author: Jeffrey Altman Date: Tue Feb 13 05:45:47 2007 +0000 windows-afsd-symlink-to-dot-20070213 FIXES 53878 When parsing a path containing a symlink to ".", do not short circuit the evaluation. Allow cm_Lookup to do its job. Its slower but correct. commit 111100732f0051a67f175988ab3f55cf208f8df3 Author: Jeffrey Altman Date: Tue Feb 13 03:48:27 2007 +0000 windows-netidmgr-20070212 combo boxes should drop down. commit 6c703a483c718670f9f4109e59204d71aa70c7ae Author: Jeffrey Altman Date: Tue Feb 13 03:07:55 2007 +0000 windows-unused-vars-20070212 remove unused vars commit 01882246c8704e9cfad38e8bce71380b843fbbab Author: Adam Megacz Date: Tue Feb 13 01:33:20 2007 +0000 lock-mask-64bit-negative-1-for-java-20070212 java sends a 64 bit long -1... which isn't going to be useful most of the time commit 645f7e8f81be8c096b2fd3d9b852b8614d9dc690 Author: Jeffrey Altman Date: Sat Feb 10 13:56:11 2007 +0000 aklog-krb5-referrals-compat-20070210 MIT Kerberos version 5 release 1.6 adds support for referrals in the client. As a result krb5_get_host_realm() returns the nul-string for the realm whenever there is no local domain-realm mapping in the profile. aklog must now manually perform the fallback to using the domain of the vlserver as basis for the realm name if referrals fail. commit 25c7f567f2c831d62152104c3b84ec31d9fd330f Author: Asanka Herath Date: Sat Feb 10 00:00:01 2007 +0000 windows-smb-file-lock-20070209 When processing exclusive locks for files that were opened read-only, obtain a read-lock instead of a write-lock. In NTCreateX, if the file is being opened as OPEN_ALWAYS and the file already exists, do not require write permission commit a9b0dbb30cc926251d66ea9036d6505fe525cc51 Author: Jeffrey Altman Date: Fri Feb 9 23:53:11 2007 +0000 windows-access-check-20070209 disable the test for the EACCESS flag in cm_HaveAccessRights. commit 1a00759d8b9f1b249e90b044bc1aa66d9d5c9d23 Author: Jeffrey Altman Date: Fri Feb 9 23:50:06 2007 +0000 windows-fs-memdump-20070209 only dump the dead smb_vcp list once commit 584e1bd98eb4258a2cd1a517f7d49c71407983b5 Author: Jeffrey Altman Date: Fri Feb 9 19:56:47 2007 +0000 windows-nim-plugin-krb5-referrals-compat-20070209 MIT Kerberos version 5 release 1.6 adds support for referrals in the client. As a result krb5_get_host_realm() returns the nul-string for the realm whenever there is no local domain-realm mapping in the profile. aklog must now manually perform the fallback to using the domain of the vlserver as basis for the realm name if referrals fail. This will be required for KFW 3.2 support. commit b5c39e4373bd24fc724719ff365597327aa143cf Author: Peter Breitenlohner Date: Fri Feb 9 18:41:46 2007 +0000 libafsdep-mods-20070209 FIXES 53381 don't break vpath builds commit a1d9a9209094864f784ecc90d41201480ffd66da Author: Jeffrey Hutzelman Date: Fri Feb 9 18:26:57 2007 +0000 linux-compile-test-24-20070209 FIXES 53385 no linux/namei.h on 2.4 commit 2287f5f578fa40a0229699a4e90263300ca79e50 Author: Jeffrey Altman Date: Fri Feb 9 17:29:01 2007 +0000 windows-aklog-krb5-referrals-compat-20070209 MIT Kerberos version 5 release 1.6 adds support for referrals in the client. As a result krb5_get_host_realm() returns the nul-string for the realm whenever there is no local domain-realm mapping in the profile. aklog must now manually perform the fallback to using the domain of the vlserver as basis for the realm name if referrals fail. This will be required for KFW 3.2 support. commit a05fa83336df6cd11d60cc64882c68cc01243aad Author: Marcus Watts Date: Fri Feb 9 03:12:51 2007 +0000 ktc-cleanup-20070208 FIXES 53212 clean up ktc code, prototyping et al ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 53212 restore ktc_GetToken prototype commit 171676011ba72b48b6ed2d6df6cfc1f0adb52c1f Author: Christopher Allen Wing Date: Fri Feb 9 01:34:08 2007 +0000 linux-locking-pre-2618-20070208 FIXES 53457 deal with pre 2.6.18 locking behavior commit 00c5dbfd048e31a653de0e1cf37d45d539e0c755 Author: Daria Phoebe Brashear Date: Fri Feb 9 01:30:00 2007 +0000 tasklist-export-check-20070208 work around tasklist lock export harder commit 797f46a88ee9c50c34a8b6e1fa7c878e252d3a97 Author: Adam Megacz Date: Fri Feb 9 01:22:03 2007 +0000 afs-magic-for-linux-20070208 FIXES 52442 use the afs magic number commit 87a3cd2a709a4fcf5df9a82ce223be0a33bf18f1 Author: Dave Cottle Date: Fri Feb 9 01:12:16 2007 +0000 obsd40-initial-20070208 FIXES 53283 doesn't work right, and the patch in 53296 can't be taken as is commit 226f3b1b47371bf6c37d8003725fac6d2486ea16 Author: Marcus Watts Date: Fri Feb 9 01:04:28 2007 +0000 linux24-update-20070208 FIXES 53199 update for linux 2.4 commit 9dd8d7f8171614a9efda14f6392651b8c276aa04 Author: Marcus Watts Date: Fri Feb 9 00:57:39 2007 +0000 auth-cleanup-20070208 FIXES 53208 remove unneeded includes of auth.h commit 6e947cd3be0fbba3265ae6e0197579cabb4c3d8a Author: Marcus Watts Date: Fri Feb 9 00:54:22 2007 +0000 bozo-cleanup-20070208 FIXES 53202 clean up bosserver commit 0dfd1d0ed81547791d8b90f9be2d04b362401422 Author: Marc Dionne Date: Fri Feb 9 00:25:42 2007 +0000 keyring-pag-avoid-shadowing-20070208 FIXES 38959 avoid shadowing the pag variable commit 8ecad072df8f6cfa63e1ef4d862611a0f2a75e7b Author: Daria Phoebe Brashear Date: Fri Feb 9 00:17:24 2007 +0000 getcbi-limit-addresses-20070208 FIXES 36643 don't write addresses (if we have too many) over random memory commit a4d52ee772a84212911c52f5d79dd4f02b9a8b2a Author: Daria Phoebe Brashear Date: Thu Feb 8 23:59:16 2007 +0000 use-unix-sockets-20070208 option to use unix socket for fssync commit b0425c4e7f65c00fe217d7c54d309bceac9b38d5 Author: Jeffrey Hutzelman Date: Thu Feb 8 22:37:41 2007 +0000 linux-lock-tracking-20070208 FIXES 31818 avoid a potential leaked lock when closing firefox. commit 403b5086dddf16ef360b3dade0f3fa0e12db5b71 Author: Jeffrey Altman Date: Thu Feb 8 13:49:58 2007 +0000 windows-scp-recycle-init-20070208 when we recycle a stat cache object be sure to clear the file type so we don't inherit the previous file type if the fetch status fails. in merge status, clear the file type if the errorCode is EACCESS commit 0cc59928b980fbd89e3ed06e04474762655791ef Author: Jeffrey Altman Date: Wed Feb 7 17:34:09 2007 +0000 windows-merge-parent-fid-20070207 modify cm_MergeStatus to take a pointer to the parent stat cache entry so that the parent fid can be set when bulk status returns an error. commit 92c282f40c84e8f6c3a02bf55d040007fa48e7ff Author: Jeffrey Altman Date: Wed Feb 7 16:37:42 2007 +0000 windows-mounttab-remove-debugging-20070207 remove unused variables commit e9fb99c770101de103df0a2ff7ba364159b81f80 Author: Jeffrey Altman Date: Wed Feb 7 08:12:27 2007 +0000 windows-merge-eaccess-20070207 when merging status info that has an errorCode of EACCESS set, merge the garbage we received. When checking the access to the object return EACCESS if the stat cache object has the EACCESS flag set. This will be cleared the next time a BulkStatus succeeds. commit 36233e1e318c7864122cf16c85da012f936c03db Author: Olivier Calle Date: Wed Feb 7 04:52:18 2007 +0000 multiple-local-realms-20070201 FIXES 52459 when the name is foreign, execute the body of afs_is_foreign_ticket_name ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 52459 The Name to ID RPC must distinguish between local and foreign names commit 55653d5dd00665c80397ab3c397063a1e636afea Author: Jeffrey Altman Date: Tue Feb 6 16:46:09 2007 +0000 windows-merge-status-20070206 when merging status for store data ops, use the fileHashTable to reduce the number of buffers we must examine commit 4e8bc6d5016f8e6d46a21331009c414d94e90d10 Author: Jeffrey Altman Date: Mon Feb 5 11:07:44 2007 +0000 windows-merge-status-20070204 For each StoreData operation the dataVersion on the object is incremented. To prevent all of the cached buffers from being considered out of date, if the dataVersion has been incremented by exactly one, then update the dataVersion of the buffers that match the FID and the previous dataVersion commit cec0b902f6cbeb849984d5ca1ef1847ef1eeac89 Author: Jeffrey Altman Date: Mon Feb 5 03:41:06 2007 +0000 windows-buffer-mgmt-20070204 Instead of using a fixed sized hashtable of 1024 entries regardless of the number of buffers, compute the hashtable to be large enough for on average 7 buffers per bucket. Remove the 'size' field from cm_buf_t since it is never used. Add more info to the output of cm_buf_t objects when using "fs memdump" commit 333005c46332a9c76974261aef5fdf82c19698b1 Author: Jeffrey Altman Date: Sun Feb 4 15:37:34 2007 +0000 windows-store-biod-20070204 Add a 'failed' parameter to the cm_ReleaseBIOD function. This enables the clearing of the CM_BUF_DIRTY flag to be conditional upon successful completion of the store operation. commit 78c83150f62d78330795c9a8c9b7de13421f0bde Author: Jeffrey Altman Date: Sun Feb 4 02:49:28 2007 +0000 windows-mounttab-remove-debugging-20070203 no longer need the Debug Output String statements commit 37d16dd70bdc88af02db4ed0307b2ec56a4e9a34 Author: Jeffrey Altman Date: Sun Feb 4 02:45:21 2007 +0000 windows-bkgdaemon-retry-failed-requests-20070203 background request functions such as BkgFetch and BkgStore do not return success or failure. the bkgDaemon thread simply executes the request and discards it regardless of whether or not the request was completed. this can result in background store event failing to be written to the file server. modify the background request functions to return success or failure. modify the background daemon to put failed requests back onto the queue if the reason for failure was transient. modify the background daemon only to process requests when the servers for the volume are marked up. commit 9a9e0976c881ef6b77e7de19a79611569b1426a3 Author: Jeffrey Altman Date: Sun Feb 4 02:01:12 2007 +0000 windows-buf-refcount-leak-fix-20070203 Plug a buffer refcount leak. This is why the client slows down over time. It runs out of buffers it can use. commit 84a0ef8e1a076e3fb03d8cb6bb72bba63679a700 Author: Jeffrey Altman Date: Sat Feb 3 18:03:55 2007 +0000 windows-buf-dump-fix-20070203 restore the missing format string to the Buffer Hash Table Dump routine commit 1e44ef074aae0fd718f15ba8ff8b66bca1586c2f Author: Jeffrey Altman Date: Sat Feb 3 17:48:07 2007 +0000 windows-log-eol-20070203 ensure that log files use CR-LF for end of line. the "fs memdump" output and the afsd_init.log initialization output were still using LF. commit 7d6baa2df1ef0244b0a27082948be794ef36a8e4 Author: Jeffrey Altman Date: Sat Feb 3 04:47:41 2007 +0000 windows-drive-mappings-20070202 FIXES 45545 Correct the return types and values of the Window Procedures. This fixes the drive mappings problems. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 45545 Remove "Drive " from the drive mappings. This way the drive letters can be selected with a single key press. commit fd1c37ebe7f5fb2ed52371705aaf1efc7764c7eb Author: Chaskiel M Grundman Date: Sat Feb 3 03:23:16 2007 +0000 linux-and-locks-cleanup-20070202 fix linux flock, remove a bogus lock assert, and fix pid tracking to avoid useless panic commit ab294cfdc5fa4108f89b37c4a7da5844872ecacf Author: Jeffrey Altman Date: Fri Feb 2 15:43:07 2007 +0000 windows-afsd-volume-ref-leak-20070202 When looking up a volume by ID or Name, if the volume server data requires refreshing and the UpdateVolume operation failed, do not leak the refCount. commit 38d6f485078185acc0067362eb970b5cbf41e800 Author: Jeffrey Altman Date: Fri Feb 2 15:36:45 2007 +0000 windows-nsis-20070202 even if afsd_service.exe can be shut down the binary might still not be able to be replaced due to the windows Protection Service. Use the ReplaceDLL macro commit 564d41d96e224132d5073170d0f82e0264315077 Author: Jeffrey Altman Date: Thu Feb 1 13:23:45 2007 +0000 venus-include-afs-com_err-20070201 FIXES 51424 include afs/com_err.h for error_message() prototype to prevent crashes on platforms with 64-bit pointers and 32-bit int commit bd5ed7d332df05ac232f4188a166ce6f791f7cca Author: Jeffrey Altman Date: Thu Feb 1 04:28:37 2007 +0000 windows-freelance-20070131 FIXES 52069 If an app tries to open the freelance directory for WRITE then the default anonymous access privileges, read/lookup, are not sufficient and cm_HaveAccessRights will fail. Freelance can't get access rights from anywhere. Therefore, cm_HaveAccessRights should special case the Freelance directory. commit f3c4bbd41a06aeced5536f55e949767169b906d2 Author: Jeffrey Altman Date: Wed Jan 31 17:02:02 2007 +0000 windows-delete-test-file-not-dir-20070131 the cm_CheckNTDelete function was testing the permissions of the directory and not the permissions of the file being deleted. This resulted in inconsistencies between the attributes of the file and the ability to delete it. this patch also adds a large amount of trace log entries as there was none in this section of the code before. commit 908918a89d40605cad738a35f9938aa9d7488a3d Author: Jeffrey Altman Date: Tue Jan 30 12:41:19 2007 +0000 windows-shell-ext-reformat-20070130 reformat the source code to make it easier to read/edit commit daddcd3bcc3ab5b79954fe4dccf648aa35b0530c Author: Jeffrey Altman Date: Tue Jan 30 12:28:29 2007 +0000 windows-netidmgr-string-updates-20070130 As per the NetIdMgr model, refer to credentials instead of tokens. Update the copyright strings commit 0b669007c7338ec4f18a3a7cf88b9621c626c8bd Author: Jeffrey Altman Date: Tue Jan 30 12:23:28 2007 +0000 windows-vol-fssync-debug-20070130 add a resource file for fssync-debug for when we decide to build it commit c4a89f3f79d6b5c62ccd91f3e7e01d38e3e80c1f Author: Jeffrey Altman Date: Tue Jan 30 12:14:49 2007 +0000 windows-vol-fix-salvager-20070130 The salvager on Windows was not being built properly. The fssync-debug.c main() was being used instead of the salvager.c main(). Remove fssync-debug.obj from the library and fixup the includes and global variable declarations. commit b02c32b0692991636e06e1205ae0d07c9f15106b Author: Jeffrey Altman Date: Tue Jan 30 12:04:22 2007 +0000 windows-procmgmt-20070130 Do not raise an exception if SIGQUIT is received prior to the registration of the Shutdown handler commit 3960a5ff1cfef0c3f6adfe6cf602b8c80078ce7d Author: Russ Allbery Date: Mon Jan 29 19:25:40 2007 +0000 document-fs-setacl-permissions-20070129 Better document the current state of implicit "a" rights on directories. commit 91ce7a066d0912bb84a7c87863cd1b7ed6cc480a Author: Jeffrey Hutzelman Date: Thu Jan 25 11:19:19 2007 +0000 volume-dont-artificially-untimeout-vlservers-20061218 FIXES 48959 remove synthetic event to undo timeouts of vlservers we "haven't talked to yet" commit 42e90ef1a076eaea70ad4b587a3c25632b38bb88 Author: Jim Rees Date: Mon Jan 22 22:30:15 2007 +0000 asetkey-includes-20060122 fix includes commit 676bf342ddfdb13ca18337535598c3af3c2f49ed Author: Daria Phoebe Brashear Date: Mon Jan 22 17:19:26 2007 +0000 make-cleaner-20070122 this stuff was missed commit 8f61572edb3fc40102b5947ec06be812e3fd0d0f Author: Jim Rees Date: Mon Jan 22 16:24:23 2007 +0000 krb5-obsd-20060122 mention KRB5CFLAGS for OpenBSD commit f9697113d97135fa606a9fa92905d3fcc478bc34 Author: Jeffrey Altman Date: Mon Jan 22 02:16:38 2007 +0000 windows-fix-volume-refcount-leak-20070121 Plug a volume refcount leak Add volume data to the "fs memdump" output Add memmap stat data to the afsd_init.log output at startup and shutdown commit c88ab63663319035d88dfceb9778b98553a091b5 Author: Jeffrey Hutzelman Date: Fri Jan 19 19:31:05 2007 +0000 linux-kbuild-test-fixes-20070119 fixes to build for linux when doing objdir builds commit 41df9870148af3527f828a26cc7fbb8d8ffb506e Author: Jeffrey Altman Date: Tue Jan 16 17:24:30 2007 +0000 windows-nsis-fix-rpc-20070116 remove the rpc fix. the original code was correct commit d32af980792d2f94fda4a7c84e67f86f08d2676e Author: Jeffrey Altman Date: Mon Jan 15 23:40:38 2007 +0000 windows-nsis-installer-20070115 Fix the RPC check to actually check the RPC status Update the copyright date Add Vista version detection commit 20f426568625f40b37973121805f0ac820b9017c Author: Jeffrey Altman Date: Mon Jan 15 19:50:51 2007 +0000 windows-open-dir-lookup-20070115 add new error code when requested InfoLevel is not supported CIFS NTCreateX Read privilege means PRSFS_LOOKUP when the object is a directory commit aef763b3c0a5f5d6947f857cb480e29afe4b8e29 Author: Chaskiel M Grundman Date: Mon Jan 15 18:15:45 2007 +0000 alloc-sem-is-sem-20070115 this change didn't belong... commit 2f3558f341896ae40a8bd07fe71177c5f7763623 Author: Chaskiel M Grundman Date: Mon Jan 15 20:41:23 2007 +0000 linux26-large-pag-groups-20070115 working from base provided by shadow@dementia.org commit 2b7f13c2276613e120cef159f44c912e866412f5 Author: Daria Phoebe Brashear Date: Fri Jan 12 16:27:57 2007 +0000 locker-thread-tracking-20070111 track thread ids so we can properly not deadlock commit 2502379d7586acfed882bff7e1c50bb54fbe7a7f Author: Daria Phoebe Brashear Date: Fri Jan 12 05:18:52 2007 +0000 netinfo-fake-support-correction-20070112 fix NetInfo "f" line fake IP address support to work when either 1) NetRestrict file is in place or 2) existing sysid file does not list fake address commit 0732c4637d31da44b2b8f4567292ecd493a98334 Author: Tom Keiser Date: Fri Jan 12 03:48:29 2007 +0000 rx-deal-with-afs34-jumbograms-again-20070111 FIXES 51116 try again at dealing with old jumbograms commit 284668200e83fe90afa4bed26509343473b9995b Author: Jeffrey Altman Date: Tue Jan 9 15:26:56 2007 +0000 client-handle-vicetokendead-with-reconnect-20070109 client-handle-vicetokendead-with-reconnect-20070104 failed to alter the behavior of the RXKADEXPIRED and other cases. commit cbba8d8b887957122c1870f8a5a4a823af889d0f Author: Daria Phoebe Brashear Date: Sat Jan 6 01:18:46 2007 +0000 tsfpq-macro-naming-20070105 rename the queue-splicing versions of the checkin/checkout macros commit 6029f002be00f5cb41423674c66b0f0dfac4506d Author: Daria Phoebe Brashear Date: Fri Jan 5 23:30:10 2007 +0000 buildpkg-dmg-path-20070105 reported by marcus watts commit 52b036747c78139c5b0a69a934e46ae9f34e0741 Author: Daria Phoebe Brashear Date: Fri Jan 5 23:14:21 2007 +0000 rx-deal-with-afs34-jumbograms-again-20070105 try again at dealing with old jumbograms commit 4be015449daf92061ebdfc7c5132bfd7d313562a Author: Daria Phoebe Brashear Date: Fri Jan 5 23:05:13 2007 +0000 multiple-local-realms-20070105 FIXES 51104 do the correct check commit b975875e79a2ba84ef3faaec109b8db046ee5326 Author: Kevin Hildebrand Date: Fri Jan 5 18:20:08 2007 +0000 pts-rename-fix-20070105 FIXES 51066 fix pts rename to do the right thing commit 290b05b6b6e13fd93d40a8c021f0d8fdf697f7af Author: Jeffrey Altman Date: Fri Jan 5 17:13:11 2007 +0000 windows-unix-mode-bit-enforcement-20070105 modify the write-lock permission test so that the UnixMode bits do not subtract PRSFS_WRITE from the rights when testing PRSFS_WRITE | PRSFS_LOCK. PRSFS_WRITE implies PRSFS_LOCK so add it Add new registry value "DeleteReadOnly" to permit deletion of read-only files. The default is 0. Set to non-zero value to activate. commit 2d68f6a3ef54f4c97ecd6e0561726fc5a89b5a04 Author: Sean O'Malley Date: Fri Jan 5 06:07:37 2007 +0000 bucoord-protoize-20070104 FIXES 50870 protoize bucoord ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 50870 undo redundant include ==================== FIXES 50870 protoize bucoord ==================== FIXES 50870 protoize bucoord commit aab62fe05ea77a47564726a5f948c6c094f4ab5d Author: Daria Phoebe Brashear Date: Fri Jan 5 06:02:28 2007 +0000 pr-changeentry-arg-types-20070105 oops. put it back commit b5dbc4fe6008efa277830666c0f69e71c80318ad Author: Daria Phoebe Brashear Date: Fri Jan 5 05:02:39 2007 +0000 solaris-but-seriously-20070105 guess chas had the right idea commit fd4a1c1c32c01a44ee09854039b81b0afa0ded32 Author: Daria Phoebe Brashear Date: Fri Jan 5 04:56:09 2007 +0000 free-packet-avoid-issue-with-34-jumbograms-20070104 try to deal with rainer toebbicke's ongoing issue commit 267b548a488c5d666582dd050a253c1652872a4d Author: Daria Phoebe Brashear Date: Fri Jan 5 04:48:32 2007 +0000 solaris-mypid-track-threads-20070104 based on suggestion by tkeiser commit ba017be750ab667e8dc7a1dfb9e20e03ce861c14 Author: Daria Phoebe Brashear Date: Fri Jan 5 03:39:16 2007 +0000 unroll-namei-delay-fsync-20070104 has been shown to cause problems with releases per haba@pdc.kth.se testing, unroll until we figure out why commit c8503d73a1d02829bdb23e5403df15844f065478 Author: Marcus Watts Date: Fri Jan 5 03:21:34 2007 +0000 asetkey-with-heimdal-20070104 FIXES 50973 just make asetkey build with heimdal commit 349474755bbfa9b56bb751ebb8a4adcee411e9da Author: Daria Phoebe Brashear Date: Thu Jan 4 22:08:26 2007 +0000 darwin-fake-more-free-20070104 fake more free disk space for dumb apps commit b745079fb276da810e0b96c7b94be5cb77aebee6 Author: Daria Phoebe Brashear Date: Thu Jan 4 21:55:21 2007 +0000 client-handle-vicetokendead-with-reconnect-20070104 basically, if the issue is really expired tokens then we force the server to tell us that instead of that our older connection is still using the old tokens for some reason, by letting a new connection happen first commit 526a589fd3800b38d541f38acfc9614b19a75bb0 Author: Daria Phoebe Brashear Date: Thu Jan 4 21:48:28 2007 +0000 macos-installer-fix-20070104 this time for sure commit 48afec37ed565be0d6c0273286b4bed827c8efca Author: Daria Phoebe Brashear Date: Thu Jan 4 21:42:24 2007 +0000 linux-workqueue-prereq-20070104 FIXES 49890 make the workqueue configure test actually work on 2.4 commit 1a5628981e0042bed07ebedd72f715848734a51b Author: Marc Dionne Date: Thu Jan 4 21:15:16 2007 +0000 freezer-h-existance-20070104 FIXES 50941 only include freezer.h if it exists commit 182a18931a3fc696a53288dbd6fcf04e109f785b Author: Marcus Watts Date: Thu Jan 4 20:05:20 2007 +0000 linux-kbuild-configure-20070104 FIXES 40604 Test whether Linux kernel builds work at all before going into specific builds so that we can fail earlier with a better error message. Try to put more errors from the kernel build into config.log. commit ee9d148cc50d41832b79bab4aef0672bdfb63f54 Author: Daria Phoebe Brashear Date: Thu Jan 4 15:59:35 2007 +0000 md5-inode-even-odd-hack-20070104 the even-odd hack didn't work with the new md5 inode numbers. fix it. suggested by Bennett Todd. commit 56d5e6970d27a5c99c04b105481bcf1d1bc3db1e Author: Jeffrey Altman Date: Wed Jan 3 00:44:27 2007 +0000 windows-unix-mode-bit-enforcement-20070102 When the Unix mode bits do not include the write bit (0200), then the file is reported to Windows as read-only. This also prevents the acquisition of write-locks. It should also prevent deletion but the code in cm_HaveAccessRights() did not remove the PRSFS_DELETE privilege from the reported rights. commit 365351a161356acbe09b5fdfe095c809a1d5fd05 Author: Daria Phoebe Brashear Date: Tue Jan 2 17:17:49 2007 +0000 taking-rx-back-into-the-20th-century-20061228 ken's patch is now on the ipv6 branch ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== restore deleted taddr declaration. ==================== ken's patch is now on the ipv6 branch commit 11999d395c6b9b0c02d8acb725c2cc66270cd908 Author: Jim Rees Date: Tue Jan 2 16:48:33 2007 +0000 strl-20070102 str->strl commit a132e7f54590a4e12a002c35081ce8afb255b5a3 Author: Marc Dionne Date: Tue Jan 2 15:59:13 2007 +0000 fix-linux-2-6-20-configure-test-20070102 FIXES 50594 make the cc flags modification not break things commit 84cfee7d07510d007df63788ffce028255829d41 Author: Marc Dionne Date: Tue Jan 2 15:40:35 2007 +0000 ifdef-nfs-translator-20070102 FIXES 50602 appropriately wrap nfs translator code in ifdefs commit 71f6f346caa9f501a0b7af23c9d4425d9357f3eb Author: Dale Ghent Date: Tue Jan 2 07:33:23 2007 +0000 solaris10-suser-replace-20070102 FIXES 50246 suser is dead, long live suser commit 1a9ba9aa4bdb2424a49396e0d8e9345a91e4ba90 Author: Jeffrey Altman Date: Sat Dec 30 17:49:29 2006 +0000 windows-readme-20061230 updates for VS2005, Vista, etc. commit f50452b6e1eae563ebd0251470694ddb750fe704 Author: Jeffrey Altman Date: Sat Dec 30 17:09:48 2006 +0000 windows-no-version-20061230 set the version numbers on the head to 0.0.0.0 so there is no confusion that this code is not ready for prime time commit 0995d4d9b3059569d1fa2ed330982e4dfe021cac Author: Jeffrey Altman Date: Sat Dec 30 17:00:51 2006 +0000 kaserver-deprecation-warning-20061230 The following message is now logged to both the BosLog and the AuthLog at startup. WARNING: kaserver is deprecated due to its weak security properties. Migrating to a Kerberos 5 KDC is advised. http://www.openafs.org/no-more-des.html commit 47b4f514cadb815fff7be99726911599cacfb287 Author: Jeffrey Altman Date: Sat Dec 30 16:55:02 2006 +0000 afsdb-resolver-reinit-20061230 FIXES 50576 replace 'try' with 'try_init' and declare 'try_init'. 'try' is a reserved word on some compilers. not sure how this code was compiling on MacOS X and Windows as 'try' was not declared. commit a305a8c3c7fff86ffcfce500150883262c1c6caf Author: Jeffrey Altman Date: Sat Dec 30 02:44:39 2006 +0000 windows-optimize-smb-dir-search-if-no-wildcard-20061229 do not follow mountpoints when calling cm_Lookup as part of the optimization. otherwise the shortname is computed incorrectly. commit 224eb9ff60ffc7658428557cb98dfdf59b61b8d5 Author: Daria Phoebe Brashear Date: Thu Dec 28 22:32:52 2006 +0000 proc-unixusers-cleanup-on-linux-20061228 FIXES 49978 maybe? commit c4c90e33be7ce0954b603455c0aa77b667803d7a Author: Dale Ghent Date: Thu Dec 28 22:25:41 2006 +0000 null-terminate-solaris-ops-20061228 FIXES 50340 vfsops and vnodeops need a NULL at the end of the structs commit a537d3ae9621ade7d03f289980eb340e435c0d8a Author: Dale Ghent Date: Thu Dec 28 21:57:24 2006 +0000 add-solaris-11-support-v2-20061228 FIXES 50343 initial 5.11 support commit 7756a870f37134d33d1c3ceb4ef780e0cfd4beb0 Author: Dale Ghent Date: Thu Dec 28 21:48:25 2006 +0000 solaris10-suser-replace-20061228 FIXES 50246 suser is dead, long live suser commit 84078738ee735ee030e37425c3e2b93df0c72b9e Author: Marc Dionne Date: Thu Dec 28 21:35:17 2006 +0000 linux-install-correct-modules-20061228 FIXES 49787 actually install the correct MP/EP/BM et al modules commit 064926fd1b664b143e1389516c63bacb124b5f9f Author: Marc Dionne Date: Thu Dec 28 21:28:31 2006 +0000 linux-2620-rc1-update-20061228 FIXES 49890 updates for linux 2.6.20-rc1 commit fe649aac819839d84e6cecdbccdc5becc36fa968 Author: Daria Phoebe Brashear Date: Thu Dec 28 20:36:26 2006 +0000 afsdb-resolver-reinit-20061228 as reported by Adam Megacz, but my own version of the fix commit c454508d396fd361565f5e62da4ded7c735f5074 Author: Daria Phoebe Brashear Date: Wed Dec 27 15:46:26 2006 +0000 macos-installer-fix-20061227 make the installer build correctly again commit 2a9d3e91d0edd9e5afe43793bf8ced5dd6b2701a Author: Jeffrey Altman Date: Tue Dec 26 20:21:16 2006 +0000 windows-server-config-20061226 Reformat the entire directory. Add Freelance mode awareness. Map the root.afs volume starting from Z: and work down. commit 432bede1e52245b6565c8970e96ee83c14e135fc Author: Jeffrey Altman Date: Tue Dec 26 20:17:25 2006 +0000 windows-optimize-smb-dir-search-if-no-wildcard-20061226 fix the computation of the ShortName. Take into account the network byte order of the cm_dirFid_t fields. send error packets from within the function as needed. do not return the error to the caller. commit b2601916f6b3a95d5adcaf0091232acc759870df Author: Daria Phoebe Brashear Date: Fri Dec 22 06:45:40 2006 +0000 bosserver-avoid-bosconfig-truncation-20061221 why the heck would it be a good idea to rewrite the BosConfig while we are starting, exactly? ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== why the heck would it be a good idea to rewrite the BosConfig while we are start ing, exactly? commit 04208276307d407c3e14828e6c8402345f6c0592 Author: Daria Phoebe Brashear Date: Wed Dec 20 21:17:12 2006 +0000 split-cache-update-20061220 move closer to 1.4 implementation esp when split cache is turned off commit c1c2a80c1bc34b23507bf80a6fb12a672c94097c Author: Dale Ghent Date: Wed Dec 20 20:07:02 2006 +0000 solaris10-avoid-direct-cred-access-20061220 avoid a panic after we muck with groups by being less evil commit f4247e465da2b14fb877a74b69f6afc4b34cf2d5 Author: Jim Rees Date: Wed Dec 20 17:03:59 2006 +0000 strl-20061220 convert sys_errlist -> strerror, strcat ->strlcat, strcpy -> strlcpy commit ea60a4dd395d0b14db1da2e5fec7d8dea48b2e70 Author: Jeffrey Altman Date: Tue Dec 19 17:55:44 2006 +0000 windows-afslogon-20061219 Initialize Winsock from within afslogon.c so that ka_UserAuth will work again. commit 7a2d34be17d3ea1a24ab1362698de212c7d8008d Author: Hartmut Reuter Date: Tue Dec 19 04:50:16 2006 +0000 volser-dumpstuff-20061218 FIXES 46937 "vos release" per default does an incremental dump. volser-dump-validate-input-20060417 ends up with keeping dead vnodes and data in the remote RO-volume. This patch corrects the behavior for RO-volumes. See ticket for extensive discussion. commit db8339c3c412c00bf62ff39f5092ace8b255ac5a Author: Chas Williams Date: Tue Dec 19 04:35:29 2006 +0000 rx-mtu-fixes-20061218 http://www.openafs.org/pipermail/openafs-devel/2006-November/014487.html commit d229d72fa7719b947460674cdba203aab0c2a548 Author: Daria Phoebe Brashear Date: Tue Dec 19 04:29:13 2006 +0000 kernel-endianness-test-fix-20061218 FIXES 47893 ok, so, when we're in the kernel, do something commit 8a7e66fb28b96888eeb9c36d27b855caa178566f Author: Daria Phoebe Brashear Date: Tue Dec 19 04:18:48 2006 +0000 openafs-kernel-src-fix-20061218 FIXES 44573 ok, so, we need to emit Makefile.version when we build openafs-kernel commit 13cc6c5c376878f0ebbe86cae1fa2849d0aafd2f Author: Jeffrey Altman Date: Tue Dec 19 03:37:34 2006 +0000 volser-undo-cleanup-20061218 uncommit an inappropriate commit DELTA volser-cleanup-xx-20061128 commit acca80fd673b2d4bbf39dec6231d08f2373f518e Author: Daria Phoebe Brashear Date: Tue Dec 19 03:17:57 2006 +0000 rx-globals-avoid-INIT-reuse-20061218 FIXES 45515 avoid calling our macro INIT commit c4adc63872d720b43d2ff99fd780046a4ba9883b Author: Jeffrey Hutzelman Date: Tue Dec 19 02:32:55 2006 +0000 volume-dont-artificially-untimeout-vlservers-20061218 FIXES 48959 remove synthetic event to undo timeouts of vlservers we "haven't talked to yet" commit 01c0e029f7eea96f2892df9dd570f019660cfd8b Author: Chas Williams Date: Tue Dec 19 02:28:19 2006 +0000 linux-osi-cred-pool-byebye-20061218 ok, unneeded abstraction removed. commit 8a1debde84c7bacb103bb1a9c3d82a1f352f441f Author: Jeffrey Altman Date: Mon Dec 18 23:56:19 2006 +0000 windows-afslogon-20061218 test for the existence of the mutex and not the bInit flag during the DLL attach commit a1c31b6637fe44f2a2ebd4be491b71cc4e0fa922 Author: Asanka Herath Date: Mon Dec 18 22:33:15 2006 +0000 windows-install-wix-20061218 remove the AFS Server wizard shortcut add AFS Server dependencies (tcpip and PNP_TDI) commit a7ea1f2efd616149b2419bb394f54d4828d316b9 Author: Jeffrey Altman Date: Mon Dec 18 21:44:11 2006 +0000 windows-nsis-20061218 remove the autorun for the AFS Server Wizard remove the shortcut to the AFS Server Wizard update the service dependencies for the bosctlsvc (tcpip and PNP_TDI) commit a57531592bfab0b36a4d7fb58b556b848e6f75c8 Author: Asanka Herath Date: Sun Dec 17 21:05:28 2006 +0000 windows-optimize-smb-dir-search-if-no-wildcard-20061217 When performing a SMB FindFirst/FindNext/FindClose operation if there are no wildcards involved, we can optimize the case and turn it from O(n) to O(1) where 'n' is the number of entries in the directory. This can be done by performing a cm_Lookup() and if it succeeds, constructing the appropriate response instead of parsing the contents of each buffer associated with the directory looking for matches. Without this optimization, FindFirst operations on directories containing thousands of entries can take a large number of seconds to complete. commit 5b56a0b8ebbdfffa46b90d45b06253c3c6fade15 Author: Jeffrey Altman Date: Sun Dec 17 01:21:52 2006 +0000 rx-fix-lock-init-20061216 When rxBind was added it made an assumption that rx_GetIFInfo could be called before rx_InitXYZ. This is true on non-Windows platforms, but on Windows rxGetIFInfo relies on an initialized mutex. This patch adds a DllMain for Windows in order to initialize the mutex object upon DLL load. commit d5583808e85ff8688716ce800c3eab5543582095 Author: Daria Phoebe Brashear Date: Sat Dec 16 06:25:24 2006 +0000 vldb-repair-tool-20061216 make vldb_check able to repair at least some kinds of damage run it on a vldb which does not have a server operating live on it verify the result with vldb_check before using. commit 35fae890e298b6d43990c2bccfe2a67c9d555ec3 Author: Daria Phoebe Brashear Date: Fri Dec 15 16:37:03 2006 +0000 ubik-better-debug-logging-in-remote-20061215 log when we get errors doing remote sync what it was, rather than covering it up commit 04daebb95ebc15ece05f6f42aec1a3a7e9bd1bbf Author: Jeffrey Altman Date: Wed Dec 13 00:25:23 2006 +0000 windows-custom-control-subclassing-bis-20061212 Do not link to both talocale.lib and taafsapplib.lib. If you do, then there are duplicate functions in both the .EXE and the TaAfsAppLib.DLL. commit 70c350c6d04176a9f58fa7ab00c92511f3ca039b Author: Jeffrey Altman Date: Tue Dec 12 20:37:44 2006 +0000 windows-custom-control-subclassing-20061212 While investigating the reasons behind the Drive Mapping listbox failing to permit entries 2 or above to be edited or removed and the text string being truncated to two characters (on some systems) I discovered that the subclasses were being recompiled into each application instead of linking against the DLL that contains the controls. The custom controls have been renamed to address name space issues. The "Drive X:" label changed to "X:" to permit single character item selection within the listbox. Still have no idea what is really going on. Spy++ shows the Windows messages being sent to the correct Windows. However, the getcount message never obtains a value other than 0 or 1. This is probably why the selection code is broken. Still working on it. commit f126802236bb059b8f0e804c76aef1031beb8a44 Author: Jeffrey Altman Date: Tue Dec 12 17:02:37 2006 +0000 windows-sleep-when-out-of-buffers-20061212 When there are no free buffers, don't loop continuously. Sleep so that the other threads that are holding the buffers can grab the global buffer lock and release them. commit 0919636307d628ff459edc77561dbcd0cec9fc6e Author: Jeffrey Altman Date: Tue Dec 12 04:00:40 2006 +0000 windows-afsd-20061211 (1) Power Management improvements. Maintain a global flag that specifies whether or not the service is in a suspend state. Do not panic if Netbios() returns NRC_BRIDGE meaning that the lana is no longer valid. Instead, stop the listener threads and if all listener threads are stopped, reset the lana_list. Allow the cm_Daemon() thread to periodically check the state of the smb listeners. If they are all stopped and the service is not suspended, attempt to restart them. If there are no valid lanas, return to the stopped state. (2) CreateX and NTCreateX use cm_CheckNTOpen() to test whether or not the user is permitted to obtain read or write locks. This function would obtain the lock and then drop it returning whether or not the lock could be obtained. If the lock was in fact required, CreateX/NTCreateX would then obtain it with cm_Lock(). The problem of course being that this pattern results in three RPCs to the file server (lock, unlock, lock). This is reduced to one RPC by implementing cm_CheckNTOpenDone() which frees the allocated byte range lock from cm_CheckNTOpen() after the cm_Lock() call is performed. (3) Remove unused code. (4) Add debugging to SMB Directory Search functions. (5) Increase the SMB Ioctl MaxData size commit 08bb3f639163be663d69c9b2188b694e6644cd00 Author: Russ Allbery Date: Wed Dec 6 20:00:48 2006 +0000 kaserver-log-tgtreq-20061206 Separately log TGT requests in addition to logging the authentication so that one can distinguish in the logs between Kerberos v4 clients and uses of klog. commit 112604e9c31cba4f9605b6b53918aafa8cac77d0 Author: Daria Phoebe Brashear Date: Tue Dec 5 19:38:44 2006 +0000 rx-preparesendpacket-avoid-double-free-20061205 wow, this is special existed forever but only when we stopped leaking packets did it become a problem anyway, don't free packets and forget to reduce the number of packets in play commit 71a1d8a0256323754f8bc994c1a67eca1dc5b84f Author: Russ Allbery Date: Sat Dec 2 03:56:17 2006 +0000 docbook-quickguide-cleanup-20061201 Remove generated files from CVS. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Some initial obvious cleanup. Removed all the sections on Digital UNIX, changed IBM AFS to OpenAFS throughout, and reformatted and cleaned up the front matter and some of the first few pages. commit f54446844329ca3ed2563e6f0aac75c8878eb409 Author: Russ Allbery Date: Sat Dec 2 02:22:34 2006 +0000 docbook-quickguide-makefile-20061201 Add some comments to the makefile, set up dependencies to build the index automatically, remove a bunch of unnecessary @-signs in front of commands, and add a clean target. commit ddc66bbff0a9687ef4a530908831cea26a85e2db Author: Russ Allbery Date: Sat Dec 2 01:44:50 2006 +0000 pam-aklog-now-external-20061201 Remove pam_aklog. pam_afs_session will be developed and distributed as an external project instead. commit b81763506fdf29f3df66d811e2d299cc4c9acec0 Author: Daria Phoebe Brashear Date: Fri Dec 1 18:48:26 2006 +0000 give-s390x-syscall-table-the-big-hammer-20061201 Neale Ferguson contributed the assembler. The false illusion of security some people want to play under is usually good for wasting a few hours; it was here. making the sys_call_table read nly for real of course fixes it, let's just hope keyrings come along before then on such platforms. commit 9ba1d32b4ba8aac1d7e2c7f7489739e0e4ca5475 Author: Daria Phoebe Brashear Date: Fri Dec 1 18:32:49 2006 +0000 redhat-packaging-updates-20061201 updates from derek updates for s390x updates to handle suse commit af6af0bbc4d874a42f0640eaafd762ebfc1bc872 Author: Daria Phoebe Brashear Date: Fri Dec 1 12:52:38 2006 +0000 redhat-initscripts-update-for-suse-20061201 suse lacks /etc/init.d/functions commit 45425b2f222d5c0a8dd56695587b6cdeba581b6a Author: Daria Phoebe Brashear Date: Wed Nov 29 21:22:38 2006 +0000 cprivate-ticketlen-is-32-not-16-20061129 everyone else thinks ticketLen is 32 bits. contrary to what arby's says, different is not necessarily better. commit d253bde4574e34ee08cf326ec4c481b57c230476 Author: Jeffrey Altman Date: Wed Nov 29 06:23:00 2006 +0000 windows-dirty-buffer-optimization-20061128 The old dirty buffer synchronization algorithm had a buf_IncrSyncer thread walking the all buffer list periodically searching for dirty buffers to write to the file server. This had several negative results. The alogirithm ate up ever increasing amounts of CPU time even when AFS is idle as the size of the cache increases. Also, buffers were written to the file server in an order based upon the original buffer allocation which has nothing to do with the order in which the buffers became dirty. The new algorithm maintains a dirty buffer list. Items are added when the buffer is originally marked dirty. A buffer is only removed from the list by the buf_IncrSyncer when the buffer is no longer dirty. If the list is empty the thread goes back to thread immediately without additional processing requirements. commit 1c661a198efca3b3273b1c523b19a367ddbee4d7 Author: Jeffrey Altman Date: Tue Nov 28 09:30:58 2006 +0000 volser-cleanup-xx-20061128 cleanup the return code handling from DELTA volser-dump-validate-input-20060417 commit 1ed0460435ec05150526c951d1ff32dd3b5a9c39 Author: Jeffrey Altman Date: Tue Nov 28 09:16:36 2006 +0000 windows-smb-dont-crash-vista-20061128 Unlike previous versions of the OS, Vista performs a shutdown on the Microsoft Loopback adapter just like it would on a real adapter. This causes the smb_Listener threads to trigger a panic during a suspend/hibernate power event. The fix is to unbind from the network adapters in response to a suspend/hibernate power event and then rebind to the adapters when a resume power event is received. Note that the resume events are not reliably delivered so it is possible the afs service will not be accessible. However, this is the best we can do. commit cb1997aad8a62b31f1e890dfe093a2d4845e0086 Author: Jeffrey Altman Date: Tue Nov 28 09:05:10 2006 +0000 windows-conn-analyze-20061128 force an rx connection reset if VICECONNBAD or VICETOKENDEAD are received commit 97733f8dcfd08968da5173ceb5976143728b5eab Author: Jeffrey Altman Date: Tue Nov 28 08:59:43 2006 +0000 windows-afslogon-dont-modify-environment-20061128 don't allow environment variables we set to be inherited by child processes commit 769f4e49b60b15b27eb2898a5b28c2d99fc0238c Author: Russ Allbery Date: Tue Nov 21 00:56:14 2006 +0000 thiscell-whitespace-20061120 Be more liberal when parsing ThisCell. Accept and ignore leading and trailing whitespace and anything after the first whitespace character on the first line. Return an error for a read error or for an empty cell name. commit 40976a1f88d19c2c12fba6d1c530c02258ff1292 Author: Russ Allbery Date: Mon Nov 20 23:50:42 2006 +0000 param-common-fix-20061120 Rather than setting AFS_PARAM_COMMON as part of the sysname guessing code, guess the sysname first and then sent AFS_PARAM_COMMON in a separate case statement based on the results. Otherwise, it isn't set when --with-afs-sysname is used explicitly, resulting in a broken Linux build. commit 778e2d5f18c1d0c93a073c137bb36e56f64747ef Author: Russ Allbery Date: Mon Nov 20 23:33:33 2006 +0000 relative-path-canonicalization-20061120 Path canonicalization for commands such as bos getlog was only applied for absolute paths; relative paths were still constructed relative to the canonical directory. Modify the path canonicalization routines to also canonicalize the base directory for relative paths. commit 848d2f1caa8d196831a1fe599694fdce0018136d Author: Jeffrey Altman Date: Mon Nov 20 18:53:28 2006 +0000 windows-netidmgr-plugin-vista-vs2005-20061120 Define _USE_32BIT_TIME_T since that is what tokens contain. Use cflagsdll instead of cflagsmt to avoid multiply defined entry points commit 4a3482f9e6b5fdac731da45cc4f4179fd5db7046 Author: Jeffrey Altman Date: Mon Nov 20 18:03:03 2006 +0000 windows-remove-unused-libs-20061120 rpcndr.lib and largeint.lib are no longer used. rpcndr.lib no longer exists in the Vista SDK. commit 7fff96e0cf113a34d3001282807b6bd04375f5b1 Author: Jeffrey Altman Date: Sat Nov 11 07:12:10 2006 +0000 windows-smb-rename-offline-folders-20061111 FIXES 45692 when offline folders are enabled, the old file name sent in a rename operation is sent in all uppercase even when the file name is not. this patch attempts a case insensitive match after the case sensitive match fails. commit 1d6da37c594e3f379473aebc2a7345dc41bfff15 Author: Daria Phoebe Brashear Date: Fri Nov 10 04:33:59 2006 +0000 revert-inactivevcache-hold-lock-20061109 fails verification. come back to it commit 6766285fc24e8ebc087e57085097106e1bb61425 Author: Daria Phoebe Brashear Date: Fri Nov 10 04:09:16 2006 +0000 macos-preupgrade-script-20061109 update the preupgrade script commit 2110d5e843aef69b0753370cd5ad705b5d5afb8e Author: Chas Williams Date: Fri Nov 10 04:02:01 2006 +0000 kill-stat-blksize-20061109 FIXES 42663 don't provide a bogus hint commit 24487b5ba24ef5a5d6ee269e880dbcdfd2b7cc6d Author: Daria Phoebe Brashear Date: Fri Nov 10 00:14:16 2006 +0000 leopard-updates-20061109 make things work with current seeds commit 789bf060d28465edc996b07b7f4bc21fc051515d Author: Chas Williams Date: Fri Nov 10 00:06:44 2006 +0000 linux-blkbits-20061109 FIXES 42671 set blkbits if we have it commit c12c958febfd6f7667345baec164b617f44f8bb9 Author: Marc Dionne Date: Thu Nov 9 23:40:20 2006 +0000 linux-statfs-dentry-20061109 FIXES 42788 statfs changed in recent linux kernels. cope. commit ee8ae61a4d9610fea16473d87b471cd4fc128804 Author: Chas Williams Date: Thu Nov 9 23:10:51 2006 +0000 linux-config-h-died-20061109 FIXES 42662 config.h vanished. deal. commit 6975fcb202f2a599814ce9f26cda1999163050f8 Author: Chas Williams Date: Thu Nov 9 23:02:32 2006 +0000 inactivevcache-hold-lock-20061109 FIXES 42798 hold a lock while we are in InactiveVCache commit dd508cf7b4553b13872335ec1eb84401bc61435f Author: Chas Williams Date: Thu Nov 9 22:53:46 2006 +0000 linux26-disable-backing-readahead-20061109 FIXES 42797 disable vm readahead, we don't want it commit 398ceb0775a0663829ce4c44a8ec08d9e63bd1ca Author: Jeffrey Altman Date: Thu Nov 9 21:25:28 2006 +0000 windows-buf-flush-20061109 FIXES 44330 The return value of buf_CleanAsync is not an error value but a flag indicating whether or not the buffer was in fact dirty. Do not treat it as an error. The error state is stored in the buffer itself. commit ea4e9f1841dccebf37e9287334442a1ac2f928b3 Author: Jeffrey Hutzelman Date: Thu Nov 9 02:13:13 2006 +0000 bozo-avoid-garbage-in-allprocs-20061108 if we error, don't put garbage in allProcs commit 9ea216fc9837eb6922ce365aa3eedafdb8564d94 Author: Jeffrey Hutzelman Date: Wed Nov 8 18:56:08 2006 +0000 amd64-better-range-checking-20061108 FIXES 44198 check entire mapped space commit 46cfe728987b8d2f45a7dc718234f83fccbda9eb Author: Russ Allbery Date: Mon Nov 6 04:24:42 2006 +0000 aklog-doc-improvements-20061105 Document (at least partially) AFS's mapping of Kerberos v5 principal names to Kerberos v4 format in the aklog man page. Also document that -setpag may not always work. commit f82012552166a51edf6931b05abd0380c429d6b6 Author: Russ Allbery Date: Mon Nov 6 04:16:09 2006 +0000 afsd-shutdown-doc-improvement-20061105 Change the CAUTIONS about afsd -shutdown to be less dire and more accurate, as this now mostly works on Linux. commit bf5bfc06638b028335ecdc19ce35315195fc6ffe Author: Jeffrey Altman Date: Sat Nov 4 23:49:45 2006 +0000 rxkad-server-bad-ticket-part-two-20061103 FIXES 43862 Ensure that tkt_DecodeTicket and rxkad_CheckResponse return the right RXKAD errors for ticket expiration or invalidity. Avoid calling tkt_CheckTimes twice in rxkad_CheckResponse commit 799caa43b5417b40e43f38a690962b1d53bca374 Author: Jeffrey Altman Date: Sat Nov 4 15:34:58 2006 +0000 rxkad-server-bad-ticket-20061103 FIXES 43862 The file server has been returning RXKADNOAUTH when the time between the client and server is out of sync. tkt_CheckTimes returns -1 for recently expired tickets and -2 for tickets that have been expired for a while. In the -2 case we must return RXKADBADTICKET not RXKADNOAUTH. commit 8dd192a8dd5b516aaa6f1f74d7c1979b004e358f Author: Jeffrey Altman Date: Fri Nov 3 07:54:22 2006 +0000 windows-afs-config-stat-entries-20061103 raise max stat entries in the control from 10000 to 262144 commit b0ac8662abe4d41f3671bd8bd001a17fcc2b90bd Author: Jim Rees Date: Tue Oct 31 17:03:51 2006 +0000 fix-help-msg-20061031 Fix -help message, which was chopping off the "Usage: fileserver " part. Get rid of silly private buffer and use stdio while we're at it. commit 9dc762e8e637089b8546bd73320cea998c8496a0 Author: Marcus Watts Date: Fri Oct 27 00:39:15 2006 +0000 k5-klog-20061026 k5 version of klog commit db4faa0656a9cc7ce9c3e0d32a0f92b35a01edb1 Author: Marcus Watts Date: Thu Oct 26 17:49:38 2006 +0000 aklog-lib-order-20061026 fix lib ordering commit c5fd006bf802bf6ccfd1e7a0c6422b71ea1fb9b1 Author: Jim Rees Date: Thu Oct 26 17:34:31 2006 +0000 use-strdup-20061026 use strdup instead of rolling our own commit 997454bd10aeb6d5db641da6a1b4f2d687a3a441 Author: Jim Rees Date: Thu Oct 26 17:13:32 2006 +0000 more-small-obsd-tweaks-20061026 Mention how to build aklog. Don't even try to build kdump for [ofn]bsd. commit a51a33beb322d96d7ecac711270fe5e5219fb878 Author: Jim Rees Date: Thu Oct 26 16:06:57 2006 +0000 obsd-20061026 OpenBSD: deprecate --with-krb5 warn about AUTOCONF_VERSION package builder is now just a tarball builder commit 2145b549b304291c9ed022bcb9a8ce8c9042c3a6 Author: Jim Rees Date: Thu Oct 26 15:54:12 2006 +0000 proto-20061026 prototypes for dbread/dbwrite commit 04a3a95da334e5a9dfa8e3f1fd5459e7fe1b7f43 Author: Jim Rees Date: Mon Oct 23 20:42:00 2006 +0000 strcpy-is-bad-20061023 eliminate strcpy commit eecdb30c47b4c1a12011d2bf9bf0b6eb07797427 Author: Jeffrey Altman Date: Mon Oct 23 05:07:38 2006 +0000 windows-readme-20061023 commit c484781531ce29d3d1b5c3753322be4a87dd0841 Author: Jeffrey Altman Date: Sun Oct 22 13:23:59 2006 +0000 windows-smb_fid_t-deadlock-20061022 smb_ReleaseFID cannot be called while a cm_scache_t->mx is held shuffle the order of the smb_ReleaseFID calls so they are always after cm_XXXRelease calls for performance. commit 77d210cde774995bffdebf3347847afebd6f7cfd Author: Jeffrey Altman Date: Sun Oct 22 03:29:05 2006 +0000 windows-delonclose-20061021 set delonclose after obtaining the smb_fid_t commit e6b719a4c0a33b0b020c07c20124a40a245dbe9e Author: Tom Keiser Date: Sun Oct 22 02:58:37 2006 +0000 parallel-attaching-20061021 FIXES 43332 Some sites expect single-threaded volume attaches to happen in a specific order. The parallel attach patch also changed the attach order for sites not specifying -vattachpar. commit e720779b7c8472a0d928b0e1429b476f073309aa Author: Jeffrey Hutzelman Date: Sun Oct 22 02:48:35 2006 +0000 kreltime-20061021 FIXES 43551 kreltime-guard-against-null-tm-20060731 was apparently an attempt to deal with the possibility of localtime() returning NULL by using localtime_r instead, and zeroing the tm structure first. This has two problems. First, localtime_r is not guaranteed to leave its output buffer untouched or in a sane state in the event it is given invalid input. More importantly, the second half of this delta fixed the build on Windows (which apparently lacks localtime_r) at the expense of using the wrong level of indirection on other platforms. Simple is nice, but correct is important too. There is nothing wrong with switching to localtime_r to avoid thread safety issues. However, the correct fix for the anticipated problem was and is to check the return value of localtime (or localtime_r), and if it is NULL, fill in the ktime_date with suitable default values. The attached patch does not implement the correct fix, but does fix the double-indirection problem, so butc will again perform correctly instead of crashing. commit 4f26bcfdb3c6a47d17f825e99f9d5a1bc97eba45 Author: Jeffrey Altman Date: Sat Oct 21 21:46:17 2006 +0000 windows-misc-20061021 * don't DebugBreak unless a debugger is attached * replace afsdcell.ini with CellServDB in error message * do not NetBIOS Reset adapters when checking to see if only the loopback is in use because doing so breaks the existing LANA bind * remove a deadlock in smb3.c * do not retry dirty buffer writes when flushing in response to a suspend * do not flush in response to a suspend when only the loopback is present commit 740013fcbf2273287414dd399b3020ed09cf07ba Author: Jeffrey Altman Date: Tue Oct 17 01:32:06 2006 +0000 windows-dbg-refcount-20061016 more code to assist in debugging scache refcount leaks commit 6bc62e6c906174ef76759d77b3c6c9067a424455 Author: Jeffrey Altman Date: Tue Oct 17 01:20:33 2006 +0000 windows-scache-ref-leak-20061016 more reference count leaks commit 5aa0347678c472d21b99af516c64578c4af41ea9 Author: Jeffrey Altman Date: Mon Oct 16 14:54:32 2006 +0000 windows-netidmgr-plugin-20061016 fixup build dependencies for afsp_version.h ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fixup copyrights commit 78c9881ed35d09416ddbd464214bb41f4429d05a Author: Daria Phoebe Brashear Date: Sat Oct 14 15:57:37 2006 +0000 keyring-pag-more-needed-defines-20061014 some kernel don't have this. for post-1.4.2 commit 3e10dc3a84037bf86a744c6631854b580d5fab4b Author: Daria Phoebe Brashear Date: Fri Oct 13 20:40:49 2006 +0000 audit-one-more-thing-20061013 it never ends commit e3d10f048b3cbaa278f8213d8de6874db80f7658 Author: Daria Phoebe Brashear Date: Fri Oct 13 18:36:30 2006 +0000 audit-remove-nested-valists-20061013 last straw make amd64, ppc happy for sure and for ever commit 453abf6aa149e27622745b818afb88019e22171a Author: Tom Keiser Date: Fri Oct 13 14:06:38 2006 +0000 aix-cleanup-20061013 fixes for aix pre 5.2 (statfs64), remove a c++ style comment (makes xlc sad) and make clean target clean commit 0e8238e7cb90c022ec126c05987d8258197a413a Author: Daria Phoebe Brashear Date: Fri Oct 13 06:12:17 2006 +0000 uae-translate-create-20061013 really the stubs should probably just translate the codes back. maybe for 1.6 commit c8a86da7f76a8e71d883cda39c10251b0910302c Author: Jeffrey Altman Date: Fri Oct 13 00:28:05 2006 +0000 windows-netidmgr-plugin-20061012 afsp_version.h is auto-generated ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix product version generation commit 2b96ba59194831ef298585c4f82d574a0790f3a6 Author: Jeffrey Altman Date: Thu Oct 12 06:57:40 2006 +0000 windows-scache-ref-leak-20061012 make sure the scache mutex is held across calls to cm_SyncOpDone commit e8a6b9977e637e304017cae8ac6d3fd03501b376 Author: Daria Phoebe Brashear Date: Thu Oct 12 05:20:59 2006 +0000 auditlog-sublist-fix-20061012 FIXES 35559 update so we don't botch the va_list child commit d71d42d29f923750be4f4f518b8d0e72dba8fa23 Author: Daria Phoebe Brashear Date: Thu Oct 12 13:22:28 2006 +0000 linux-aio-functions-improved-test-20061011 detect properly if we have nothing commit eca0d2bdc94cbdbaeccd3d56991019c4ac732064 Author: Chaskiel M Grundman Date: Wed Oct 11 14:14:47 2006 +0000 version-string-generation-consistency-20061011 FIXES 42320 try harder to reflect actual version commit cbc3b26165f18fbcf9e41b493541ed0a8035bc37 Author: Chaskiel M Grundman Date: Wed Oct 11 13:25:47 2006 +0000 elif-missing-defined-20061011 FIXES 42321 add missing defined() to avoid warning on macro commit e870e08280c27e6164b240be74057744352d7371 Author: Peter Nelson Date: Wed Oct 11 11:29:58 2006 +0000 rx-memset-param-swap-20061011 discovered via google codesearch commit f72c2fc3e75a13e3736a275df35597ad43f620fa Author: Asanka Herath Date: Wed Oct 11 05:32:16 2006 +0000 windows-netidmgr-plugin-20061010 Secure Endpoints Inc. is contributing its AFS plug-in for KFW 3.1's Network Identity Manager to OpenAFS under an MIT style license. commit 6e3aab757a6e33c62c216ab3ece722f0a7dda738 Author: Jeffrey Altman Date: Wed Oct 11 05:27:21 2006 +0000 windows-release-notes-20061010 fixup the file names to match the 1.5 branch commit 59234e93a7aaf2f62bdd19bea39681e74752d1c5 Author: Daria Phoebe Brashear Date: Tue Oct 10 23:20:35 2006 +0000 irix-compiler-hates-commas-20061010 damn is irix fussy commit 7be7dfe095a33ce354af2f3040d0486a6d463d95 Author: Jeffrey Altman Date: Tue Oct 10 23:07:56 2006 +0000 windows-no-more-win9x-20061010 don't install afsmsg95.h as it no longer exists commit ac52e2f3c0bec9298d020de963036409165f380e Author: Chas Williams Date: Tue Oct 10 22:59:10 2006 +0000 linux-dont-lock-around-inactivevcache-20061010 FIXES 42312 iafs_InactiveVCache() calls afs_InvalidateAllSegments() which says it should be called with the vnode locked. so the lock should probably be moved to afs_InactiveVCache() so it can be droppped before calling afs_remunlink(). commit 8fa4ca5b80bb2e0ac43bd9ae4883ac7f5b3928b8 Author: Daria Phoebe Brashear Date: Tue Oct 10 21:12:56 2006 +0000 irix-fgets-return-type-fun-20061010 of course, we were just throwing it away, but.... commit c60736030bc7f7a678fc44af90d001cd8c08acf5 Author: Jeffrey Altman Date: Tue Oct 10 16:55:49 2006 +0000 windows-scache-ref-leak-20061010 if cm_FindSCache is called the returned scache object must be released. commit 3c13e5f0c0423d5e724ab224af22d7d3606ef1b0 Author: Jeffrey Altman Date: Tue Oct 10 16:51:09 2006 +0000 windows-afscreds-20061010 prevent a stack overflow if the afsd_service does not successfully start after a request to do so is issued. commit 8b7e9da62578c3d10bf699062963c02aa59d1609 Author: Jeffrey Altman Date: Tue Oct 10 16:45:56 2006 +0000 windows-build-clean-20061010 more AFS_component_version_number.h files to remove commit 763dc42ff054dfd12c60aaf184271aedfffe589a Author: Daria Phoebe Brashear Date: Tue Dec 5 19:37:00 2006 +0000 revert-aix5-curpag-20061009 failed to commit this. commit now VS: ---------------------------------------------------------------------- commit aa7d443b6d8d45b68115c72ede6da68d863e33c7 Author: Tracy Di Marco White Date: Mon Oct 9 04:27:48 2006 +0000 nbsd-sysnames-20061008 FIXES 42019 add missing sysnames commit 747a8d8f41a34290c207327541372b4e1fcb0dec Author: Daria Phoebe Brashear Date: Mon Oct 9 04:15:45 2006 +0000 h-enum-r-avoid-extra-hold-20061008 FIXES 40699 avoid orphaning an extra hold commit 5ae8cf85e65e18a3d5593706c6f3f8d9435798e2 Author: Jeffrey Hutzelman Date: Mon Oct 9 04:14:02 2006 +0000 cellservdb-20061008 cellservb update from grand.central.org commit 1e9533907d4877f6b6aa70eb749e7a3e1717d861 Author: Jeffrey Altman Date: Mon Oct 9 02:48:44 2006 +0000 windows-scache-ref-leak-fix-20061008 pointer not pointer to pointer commit 8919e0d5175dae85991a3782f659621c5be4056f Author: Jeffrey Altman Date: Sun Oct 8 21:37:01 2006 +0000 windows-scache-ref-dbg-20061008 add debugging code that can be activated with #define DEBUG_REFCOUNT to assist in debugging scache refcount leaks commit 7231e2efe650b004168d443a290c4fed8b2db0a5 Author: Jeffrey Altman Date: Sun Oct 8 21:30:03 2006 +0000 windows-scache-ref-leak-20061008 plug two more scache refcount leaks commit c97374d6fd494ab790da7ae6c591abe0dac3d194 Author: Jeffrey Altman Date: Sat Oct 7 23:34:49 2006 +0000 windows-osi-prototypes-20061007 osi_LogCreate commit b4007635064f08d4d0f019acc9888f0d4005708c Author: Jeffrey Altman Date: Sat Oct 7 23:32:27 2006 +0000 windows-misc-cleanup-20061007 reformat some code; make sure that pointers are copied while mutexes are held; ... commit feb5f27c754325dcc5fd9eb13f305bc1c0172977 Author: Jeffrey Altman Date: Sat Oct 7 23:27:14 2006 +0000 windows-scache-ref-leak-20061007 return the cm_scache_t whose refCount was increased commit ffe26eb18da581d2df02f9531d97e31e1c6dee65 Author: Jeffrey Altman Date: Fri Oct 6 17:31:30 2006 +0000 windows-misc-fixes-20061006 #ifdef DEBUG_REFCOUNT the ref count log entries so they aren't always compiled in comment out the remaining location where the write lock on cm_scacheLock is dropped in order to obtain the scache mutex on the object returned from cm_GetNewSCache(). Dropping the lock results in more than one thread being given the same cm_scache_t which is more dangerous than blowing away the contents of the object without holding the mutex ensure that cm_BufWrite is always called with a non-NULL scp. Add an assertion to double check that we do it all the time. commit ffe5092c3107afa72696f8d164c3ec587c2255ad Author: Jeffrey Altman Date: Fri Oct 6 17:23:27 2006 +0000 windows-log-crlf-20061006 use CR-LF as the afsd.log EOL so that it can be read with notepad.exe commit 04b51cc8df7a3210ea18228743cb156c0e2c7115 Author: Tracy Di Marco White Date: Fri Oct 6 15:55:35 2006 +0000 netbsd-30-20061006 FIXES 40782 add support for netbsd 3.0, netbsd 4.0(ish) commit e39f4d87896c451afb8c38705de4c12fd3940182 Author: Chaskiel M Grundman Date: Fri Oct 6 14:59:54 2006 +0000 osi-probe-avoid-out-of-range-memory-reads-20061006 FIXES 41858 avoid oops on opteron due to accessing unmapped memory commit 775ea6f1b79b0e0e2b700e3894e01279e26ebbfa Author: Chas Williams Date: Fri Oct 6 14:27:44 2006 +0000 linux-2619-aio-and-read-write-changes-20061006 changes to support 2.6.19 commit f5e9182848b7c427acc515e7a7ed24afad655416 Author: Marcus Watts Date: Fri Oct 6 06:37:38 2006 +0000 pt_util-man-page-20061005 Initial man page for pt_util. commit b7117f61036c63238eb926c6eb71d42a56766501 Author: Jeffrey Altman Date: Fri Oct 6 06:13:49 2006 +0000 windows-more-misc-fixes-20061005 replace all DebugBreak() calls with osi_panic. remove calls to cm_RecycleSCache from VNOVNODE handler as its not lock safe to drop and re-obtain locks to adhere to the locking hierarchy restore reference to CM_SCACHESYNC_STOREDATA that should not have been removed. remove attempts to adhere to locking hierarching from cm_GetNewSCache. dropping the cm_scacheLock is too dangerous add a check to ensure that the scache refcount is not zero if there is a valid smb_fid_t pointing to it. more debug logging commit 4cd9eee0155edba89b77779af9aea4f1aa55cd96 Author: Jeffrey Altman Date: Thu Oct 5 21:29:39 2006 +0000 windows-misc-fix-20061005 still tracking down issues when large numbers of temporary files are created and deleted in the same directory from multiple machines. VNOVNODE must return CM_ERROR_BADFD ensure that all calls to cm_GetCallback are made from cm_SyncOp. add CM_SCACHESYNC_FORCECB logic to cm_SyncOp so that it can be removed from cm_GetAccess don't mix CM_SCACHESYNC_NEEDCALLBACK with CM_SCACHESYNC_STOREDATA or CM_SCACHESYNC_FETCHDATA commit 591460982c4372b461da8378682c9256dd913bba Author: Jose Nazario Date: Thu Oct 5 16:34:29 2006 +0000 bitwise-or-20051005 bitwise and, not logical for p->flags in vnode_stop reported by Jose Nazario commit 38d464e5791dbd96d6da85a0c0123f8b575f4e39 Author: Jeffrey Altman Date: Thu Oct 5 06:39:46 2006 +0000 windows-misc-fix-20061004 more cleanup from recent patches. comment out the recycling code because it is not possible to implement it using the current locking hierarchy. change cm_BufWrite to take a pointer to cm_scache_t instead of a fid which must be used to look up a new reference to the cm_scache_t. more often than not we already have the scp and in the one case we don't we can let the caller look up the scp and then call cm_BufWrite if it is found. If not, we have saved a function call and a bunch of lock operations. add a lot more logging. improve the scp mutex handling within smb_CloseFID commit b9fd1d4c7eb672ec092596af7826e87e2d931c40 Author: Jeffrey Altman Date: Wed Oct 4 06:29:25 2006 +0000 windows-wrong-lock-20061003 grab the correct mutex so we don't free one we are not holding commit 93b3be7d1adfcf90bb21009891d9e62b440aa629 Author: Jeffrey Altman Date: Wed Oct 4 02:35:43 2006 +0000 windows-oops-20061003 didn't mean to delete this release mutex commit de6a01e51d8ea97e943cb4fa93d6bba2ecae9644 Author: Jeffrey Altman Date: Wed Oct 4 01:23:30 2006 +0000 windows-multi-fix-20061003 misc cleanups hold scp->mx while recycling add FILE_NOTIFY_CHANGE_CREATION to the notification mask when adding or deleting files commit 665a125335c4844d35fa6510a38083602ef7fdbc Author: Jeffrey Altman Date: Wed Oct 4 01:18:43 2006 +0000 windows-fetchstatus-20061003 Don't call cm_GetCallback without checking the current callback status with cm_HaveCallback first commit 8da04000ec70e7eebe8bb18d317bb6b348b91449 Author: Jeffrey Altman Date: Tue Oct 3 04:22:37 2006 +0000 windows-multi-fix-20061002 Fix the following problems: it is possible for a file to be created, buffers to become dirty from writes, the file to be deleted, the stat cache entry to be reused, and the dirty buffers to remain dirty until the end of time. stat cache entry starvation can occur because of large numbers of dirty buffers which take too long to be written to the file server. The thread that writes dirty buffers in background writes/checks a small number of buffers, SQRT(buf-count), and then sleeps for 5 seconds. Writing all of the dirty buffers via this algorithm produces untimely results. threads can end up waiting for a callback on the same stat cache entry even though there are no threads actually attempting to perform the FetchStatus. And: Fix prototypes Optimize cm_GetNewSCache to reuse scache entries for deleted files and entries not in the hashtable before allocating a new one. This keeps the entries in the hashtable to a minimum and thereby improving performance for all other operations which must lookup a scache entry by FID. Add support for Sequential and Random Access flags commit b17a5d8192c08909ae57b540b25804ad9e1ae8a3 Author: Jeffrey Altman Date: Tue Oct 3 03:45:16 2006 +0000 windows-track-lock-tid-20061002 Keep track of the tid of the holding thread for writers commit 62e5dab3d6ea8105cec253b45cef3ebcc0da1930 Author: Jeffrey Altman Date: Tue Oct 3 03:27:22 2006 +0000 windows-scache-ref-leak-20061002 when handling VNOVNODE must release the scache entry. commit 0fe7b3a058b6c9df06d4df4af1e0621dbd53f44d Author: Jeffrey Altman Date: Thu Sep 28 13:58:04 2006 +0000 avoid-assert-for-missing-vnodes-20060928 specify the correct number of parameters for VForceOffline_r() commit 4bfe736b9157fa3ee4c1c851e53d66b18e774827 Author: Daria Phoebe Brashear Date: Wed Sep 27 22:13:15 2006 +0000 darwin90-ukernel-setjmp-conflict-20060927 FIXES 39354 setjmp isn't safe for #define KERNEL commit 6a2ac1e2d41b30dfd466e001f3a545bda4bc8da8 Author: Chas Williams Date: Wed Sep 27 21:01:10 2006 +0000 keyring-gcpags-20060927 FIXES 40659 do gcpags for keyrings without needing tasklist_lock commit 2201fd6d9ff41506c1bc60d677ae268a1de42fbc Author: Daria Phoebe Brashear Date: Tue Sep 26 03:22:28 2006 +0000 getcellunix-use-stdio-again-20060925 i have no idea why this is so ugly. put it back to something like how it was. commit c1d3a69976d7a6583a00176ff81dd66acb2cc07b Author: Daria Phoebe Brashear Date: Tue Sep 26 02:36:03 2006 +0000 copyonwrite-dont-assert-20060925 take it offline, don't assert. commit 9bd3d0926bbdc8ee9dedfe17bd137d5327e45a62 Author: Ken Aaker Date: Mon Sep 25 16:04:12 2006 +0000 getcell-still-stupid-20060925 FIXES 40829 should be fixed a third time too commit 9a5cfc73bc5f2d0193cfaa22fca20f1c65daafbb Author: Jeffrey Altman Date: Fri Sep 22 21:20:54 2006 +0000 windows-no-more-win95-20060921 after killing off win95 at the hackathon there were some build dependencies left behind. now we build again. commit 50852d6c81b7e244e6bde625fd30d2f7c5f0c923 Author: Jeffrey Altman Date: Fri Sep 22 21:18:50 2006 +0000 vioc-header-split-20060921 enable windows to build again commit faee281941502211c3ea8a62ffea85d934d9ba3a Author: Jeffrey Altman Date: Fri Sep 22 20:17:45 2006 +0000 windows-kfw-sdk-20060921 kfw 3.1 commit 928ad0445e91ecbfcd32a26e8c17b90ee0d83700 Author: Jeffrey Hutzelman Date: Fri Sep 22 12:16:24 2006 +0000 tasklist-lock-redux-20060922 try tasklist_lock weak binding in osi_probe if no tasklist_lock, fall back to rcu locking commit 955a58a5a850da4caeba9b45b0e8ff27a143b725 Author: Daria Phoebe Brashear Date: Thu Sep 21 22:10:28 2006 +0000 pr-changeentry-arg-types-20060921 FIXES 40568 this has been broken a while, we just noticed it because of prototypes commit b613480bd5eb6bc2a14c4e23229d90105291944c Author: Daria Phoebe Brashear Date: Thu Sep 21 12:47:20 2006 +0000 avoid-assert-for-missing-vnodes-20060921 right now if a vnode is missing when we try to clone, we could assert. ick. commit 86f4e7620b24505ec8c0b788e3040974ac2ea449 Author: Daria Phoebe Brashear Date: Thu Sep 21 12:38:04 2006 +0000 dont-close-this-afsconf-either-20060921 static means static commit 1221e482d786a56ca52568ed29a9c981e674ad7a Author: Daria Phoebe Brashear Date: Wed Sep 20 06:51:15 2006 +0000 salvage-zlc-update-20060920 avoid dealing so well with damaged namei volumes that we assume a temporary clone is damaged commit 361751cbf4b0cfef9a738cfcfbbd589eee621ade Author: Chas Williams Date: Tue Sep 19 22:33:10 2006 +0000 linux-i-blksize-test-20060919 this was missed in the configure test conversions commit 3e28a968e0b916c176b978da2807a7e4857faa18 Author: Jeffrey Altman Date: Tue Sep 19 06:48:22 2006 +0000 windows-loopback-install-20060919 FIXES 40291 Disable DNS Registrations for the Loopback Adapter and make sure that Netbios is turned on. commit 357771453be717ee10dc0d580f1b458008133ba3 Author: Daria Phoebe Brashear Date: Sun Sep 17 06:01:43 2006 +0000 solaris-fopen-sucks-20060916 FIXES 38566 avoid issue trying fopen when fds 0-255 are in use already yuck commit 57101f38a0a868b950e32bd70b95308b1edc243d Author: Daria Phoebe Brashear Date: Sat Sep 16 20:40:19 2006 +0000 fix-afsconf-leak-20060916 this one's not a leak commit 58e23eb620429f427cba72bbd2c982d81d9fbd9e Author: Daria Phoebe Brashear Date: Sat Sep 16 20:11:04 2006 +0000 amd64-linux-missing-syscall-nrs-20060916 they removed these. makes it harder to probe for the ia32 syscall table (ignoring the compilation issue) cheat. they aren't going to change... commit 52557c982e1ed65c694c5c1387ac2b385356438d Author: Chas Williams Date: Sat Sep 16 01:13:22 2006 +0000 xml-docbook-documentation-first-pass-20060915 needs more massaging to make it fit the tree, but, get it here first commit 3473fa4ec7c8a7362003ba3d278345339bbf3e36 Author: Daria Phoebe Brashear Date: Sat Sep 16 01:10:23 2006 +0000 darwin80-avoid-stack-free-20060915 thanks to apple for their help; all i did was code the patch commit 1c8080fe9dcb3713bf1231cf4b455e80c6f0c697 Author: Daria Phoebe Brashear Date: Sat Sep 16 00:23:18 2006 +0000 namei-emulate-flock-20060913 FIXES 39797 lockf when not locking and unlocking the whole file is fraught with peril commit de5f1c47e8af9a7e4fd1b77ff5fc085859813b59 Author: Jeffrey Altman Date: Sat Sep 16 00:17:23 2006 +0000 afsconf-leak-20060915 don't leak afsconf structs commit 914b2e27dcf5b231832959d0b02dc1e40ca24c81 Author: Tom Keiser Date: Fri Sep 15 00:58:24 2006 +0000 uae-avoid-dups-20060914 avoid duplicates in the errno space so we don't return the wrong error (something unexpected) commit 975897d476ca5ade26d2d546620ba3bd97d8182a Author: Jeffrey Altman Date: Wed Sep 13 18:49:58 2006 +0000 windows-afs-config-20060913 FIXES 3730 remove "Show Tray Icon" checkbox from afs_config commit 94ff5651cb84a26ab931626392908684fae913f3 Author: Daria Phoebe Brashear Date: Tue Sep 12 19:57:17 2006 +0000 suse-kernel-source-path-update-20060912 no one can ever agree on anything commit e7ec36ddeb0973c71514463862ad90d42f9b009c Author: Peter Somogyi Date: Thu Sep 7 02:08:39 2006 +0000 vol-voffline-avoid-early-freevolumeheader-20050906 FIXES 39422 don't free vp before we finish using it commit 19e16d34a61945dd1ff3d2f93e48662087654daa Author: Asanka Herath Date: Thu Sep 7 00:12:31 2006 +0000 windows-afs-shell-ext-32bit-20060906 Generate a new GUID for the 64-bit AFS Shell Extension and install the 32-bit version as part of the 32-bit tools commit 3dc9bcb1289bb868a336e820d589b03246c36bce Author: Chas Williams Date: Wed Sep 6 21:56:01 2006 +0000 keyring-dont-use-syscall2-20060906 avoid not-really-portable-use of syscall2 commit a63d753df88e547606f703764031ad1b9d18fa82 Author: Jeffrey Altman Date: Wed Sep 6 18:19:36 2006 +0000 windows-dot-dir-part-two-20060906 cm_LookupInternal can return the input stat cache entry when the name is "." the DNLC should not cache "." or ".." commit f47b934c133150fef80fec57ae738ca885b8a914 Author: Jeffrey Altman Date: Wed Sep 6 07:11:52 2006 +0000 windows-dot-dir-20060906 when evaluating paths with cm_NameI treat the component "." as a no-op. commit e68b0f9cb4c0216548bdb30cf8f3e93d23491fb8 Author: Jeffrey Altman Date: Wed Sep 6 06:09:13 2006 +0000 windows-install-licenses-20060905 port LICENSES file contents to installers commit b4d8384b6779369faa9c4fd533979f363ef4dc81 Author: Jeffrey Altman Date: Wed Sep 6 00:51:44 2006 +0000 windows-fs-prototypes-20060905 remove unused prototype commit 51b862ef8869823fd0ba09045b88cab9ab197117 Author: Jeffrey Altman Date: Wed Sep 6 00:47:34 2006 +0000 windows-vol-ntops-20060905 if the function is namei_XXX on unix then it is nt_XXXX on Windows commit 5bc1ab6cfabdfeb0e8f09308385d6680ce97645f Author: Daria Phoebe Brashear Date: Tue Sep 5 23:04:25 2006 +0000 pruclient-killer-logging-cleanup-20060905 vicelog this stuff instead of fprintf commit 56bbd155db6941d915cf199f6e23cccfeb359ce8 Author: Daria Phoebe Brashear Date: Tue Sep 5 17:30:33 2006 +0000 callpostamble-deal-with-null-host-20060905 FIXES 38566 don't dereference garbage when no host was set commit 2c103b8fb3a1b36e4c8eda986b8e82199d46e1b9 Author: Chaskiel M Grundman Date: Tue Sep 5 15:59:46 2006 +0000 salvage-zlc-update-20060905 deal with damaged namei volumes better commit 474df74c88464763d61889fbdcc1edd1167d4a94 Author: Jeffrey Altman Date: Mon Sep 4 18:36:23 2006 +0000 windows-vol-ntops-20060904 add nt_SetNonZLC() commit 5a57fce90246e380fc530dc3c8ad097852b31712 Author: Russ Allbery Date: Sun Sep 3 20:47:00 2006 +0000 autom4te-cache-is-evil-20060903 Purge autom4te.cache after running autoconf so that we don't ship its huge trace files in source releases. Add #!/bin/sh to the beginning of regen.sh just because. commit 96c22fdc0d399bb2749bc47316d866120bc02dcf Author: Chaskiel M Grundman Date: Sun Sep 3 06:50:12 2006 +0000 salvage-zlc-20060903 make salvager deal with zero link count files commit cd341e2fd7e621a929cad9ac2e722f5178902266 Author: Chaskiel M Grundman Date: Sun Sep 3 06:32:33 2006 +0000 nuke-do-not-pass-null-rock-20060903 don't pass a null rock inot nuke(), fixing earlier introduced bug commit 50880283c916f1311ad7af9040b5e98435a7a8a6 Author: Jim Rees Date: Thu Aug 31 14:22:50 2006 +0000 deprecate-fbsd-client-20060831 deprecate the FreeBSD client commit 7392f1d15f694adade1c8c51162f34bb2d03fd2b Author: Jeffrey Altman Date: Thu Aug 31 12:33:22 2006 +0000 windows-gui2fs-20060831 following ui guidelines, errors should display the HAND icon and warnings should display the EXCLAMATION. Success should display the INFORMATION icon. Let's get this right. commit 0617e067d741d7a75d9a4e3e49a49c4986f9869c Author: Jeffrey Altman Date: Thu Aug 31 11:28:24 2006 +0000 windows-fs-20060831 FIXES 38949 fs sq and fs mkm on Windows didn't behave as on Unix commit 2ec7ad2af02f770688d711d3a7ac90627a89a583 Author: Chas Williams Date: Thu Aug 31 06:15:15 2006 +0000 linux-param-generator-20060831 FIXES 36888 not yet pulling up commit d86f0c44d3c5910a6b54895484dc0286eac9bc73 Author: Chas Williams Date: Thu Aug 31 05:49:02 2006 +0000 inline-bug-for-linux-20060831 FIXES 38854 inline bug so we get sane oopses commit f56dff0860d5f9a9d92e9a06c1b7cd1728a2844a Author: Jeffrey Altman Date: Wed Aug 30 21:14:59 2006 +0000 windows-firewall-config-20060830 Enable the firewall detection logic to work on Vista commit 48471c805ee43192e3d3adf1ffac995c16257903 Author: Jeffrey Altman Date: Wed Aug 30 21:09:11 2006 +0000 windows-init-log-eol-20060830 change EOL to CR-LF for afsd_init.log commit f8b7be8f167589f649d664c863f51300c9f5e4cf Author: Jeffrey Altman Date: Wed Aug 30 07:31:47 2006 +0000 windows-t2-search-dir-info-level-20060830 return CM_ERROR_INVAL if we don't recognize the requested infoLevel commit a9bbe0e0dce33fd42cc944db3a657c95af6f6796 Author: Jeffrey Altman Date: Wed Aug 30 02:40:03 2006 +0000 windows-winsock-init-20060829 WSAStartup and WSACleanup do not need to be wrapped by the app to protect against multiple calls. commit 90b79e93e81a8a20c0b6e9dc9d279dc073517ee7 Author: Daria Phoebe Brashear Date: Tue Aug 29 20:07:26 2006 +0000 aklog-deal-with-feeble-kdcs-20060829 i guess i should just give up and fix this here commit 7ee51491035be767fc0e9d72a8471179b9874127 Author: Marc Dionne Date: Mon Aug 28 20:11:31 2006 +0000 get-sbdev-configure-test-20060828 FIXES 38736 the autoconf glue was missed before commit 93846a81d2ffadb7741700ff96a40426bda920fd Author: Jeffrey Altman Date: Mon Aug 28 18:17:13 2006 +0000 windows-pioctl-service-check-20060828 before attempting a smb query check the service status. fail immediately if the afs service is not running. commit 09f46c46d09fef191a43a42abf9224f29025ec56 Author: Jeffrey Altman Date: Mon Aug 28 06:36:01 2006 +0000 windows-talocale-20060829 initialize variables before use commit 8083dcea82bd2b2a43695047c14086d7d43c1a73 Author: Jeffrey Altman Date: Mon Aug 28 06:10:14 2006 +0000 windows-dll-install-20060829 install resource dlls in the same directory as the base modules commit 56d71eaae70eca2c6065b9cf463c18cc3f6c7356 Author: Jeffrey Altman Date: Mon Aug 28 06:04:03 2006 +0000 windows-shell-ext-20060829 How did the afs_shl_ext_XXXX.dll module ever load on any platform? Since the name afs_shl_ext.dll is not 8.3 we must specify the base name explicitly. Otherwise, it won't load. commit 93cd9cb88c813159712922e3bd46722913834b68 Author: Jeffrey Altman Date: Mon Aug 28 05:26:30 2006 +0000 windows-cleanup-20060828 cleanup AFS_component_version_number.h the right way commit 01e5faa0b2b34d7f7b03dcaf003624794c13f0d2 Author: Jeffrey Altman Date: Sat Aug 26 04:41:37 2006 +0000 windows-smb-set-eof-20060825 SMB_SET_FILE_END_OF_FILE_INFO is a LARGE_INTEGER not USHORT commit 5ba229419b3a699ec55c1be0198838c3499ca93f Author: Jeffrey Altman Date: Fri Aug 25 18:07:21 2006 +0000 windows-smb-alignment-20060825 on the wire smb data structures should be byte aligned commit 375a79f2a02ff2c16f9fcc54dba2b51e41b51c05 Author: Jeffrey Altman Date: Fri Aug 25 16:23:51 2006 +0000 windows-cm_volume-recycling-20060825 do not panic if we reach maxVolumes and there is a volume entry that can be recycled. commit 4076e99d91e3644f4544386a38c908e5b793b285 Author: Derek Atkins Date: Fri Aug 25 06:21:43 2006 +0000 keyring-test-harder-20060825 FIXES 38470 don't enable keyring pags in older keyring kernels commit 3cdf27d6f070dd93c48995c344fba3b9ab0ac48e Author: Chaskiel M Grundman Date: Fri Aug 25 05:47:00 2006 +0000 macos104-no-64bit-resid-yet-20060825 we're not ready for 64bit resid yet (in dir code) commit bfdf13de063363c34ece1a289e16136613cafaf8 Author: Jeffrey Hutzelman Date: Thu Aug 24 21:18:56 2006 +0000 vol-init-locallock-20060824 we never init this. oops. commit 60f1ed2d6d68a2ce8de825147a99c0638762ed19 Author: Daria Phoebe Brashear Date: Thu Aug 24 05:31:25 2006 +0000 pruclient-killer-fix-20060824 FIXES 37251 yeah, i should commit the fix this time. not my day commit d9486687e8549d4f29076ad095dfb09c14a33eca Author: Daria Phoebe Brashear Date: Mon Aug 21 21:38:55 2006 +0000 tweak-afsd-autotune-20060821 this (chunksize tuning) needs to be revisited commit ffa71e5a917606bddfabc1005ad6ca14c3e28731 Author: Daria Phoebe Brashear Date: Mon Aug 21 21:01:14 2006 +0000 specfiles-20060821 same for head commit b6f97376880bb38463b372d92b09a977957e0872 Author: Chaskiel M Grundman Date: Sun Aug 20 23:12:46 2006 +0000 tiger-fix-largefile-20060820 FIXES 37890 don't make uio offset an int. at the same time, fix resid similarly, and fix osi_file.c to accomodate that commit 75599f03de22b1fd6e2818536078e9129741dfb4 Author: Daria Phoebe Brashear Date: Sun Aug 20 06:31:42 2006 +0000 linux24-fix-20060820 fix ifdef damage commit b6da19fe253f456b7d9372d6620057bbd8ad2c8b Author: Chas Williams Date: Thu Aug 17 14:55:43 2006 +0000 linux-keyring-pag-update-20060817 FIXES 37887 if you manage to patch the syscall table, then the setpag() in the patched setgroups syscall and creates a new session keyring. it does contain the right pag id but this isnt the intended behavior. so setpag() becomes __setpag() which just does the group insertion. (and perhaps it should be called something else?). the stat count for the setpag operation might be more correct now (instead of also counting the pag restores). commit 16dc98ab4654f448909d59f65b2a8e3a55bc93b8 Author: Jeffrey Altman Date: Thu Aug 17 13:40:16 2006 +0000 windows-backconnectionhostnames-20060817 FIXES 37807 uninitialized variable reported due to dwAllocSize not being used within the initial RegQueryValueEx call. (ugh) commit 202efcf9f5707785ba4c7dab05de9d8dba11952c Author: Daria Phoebe Brashear Date: Sun Aug 13 21:17:04 2006 +0000 darwin90-updates-20060813 make things compile cleanly commit b21c13dc3ab751118220dc31276995050841a1ae Author: Chas Williams Date: Sun Aug 13 17:53:46 2006 +0000 linux-dentry-iput-20060813 FIXES 37576 update put_inode handler for swapping situation deadlock avoidance commit 3017c8dc541afbaed68f9399c348bbdfa7529f9b Author: Daria Phoebe Brashear Date: Sun Aug 13 17:45:48 2006 +0000 linux-gpl-only-tests-20060813 don't try to use gpl-only kernel symbols commit 031c1819239b5ece45027b25283d980ddc507c93 Author: Chas Williams Date: Sun Aug 13 17:40:27 2006 +0000 fix-congestion-tracking-20060813 FIXES 36951 fix congestion tracking commit 4baf136974d8845b7960708b804a87f1e6f512ff Author: Daria Phoebe Brashear Date: Sun Aug 13 05:52:08 2006 +0000 linux-updates-20060811 fix for current fc kernels, and clean up linux nfs translator commit ba05854b63e969abc6fd85644e5146d9d110c1d0 Author: Jason McCormick Date: Sat Aug 12 17:50:37 2006 +0000 linux-mutex-changes-20060812 update mutex declarations commit 7c76320e8b0bf49954f5b6f231305e36b7bc4edb Author: Daria Phoebe Brashear Date: Fri Aug 11 22:38:41 2006 +0000 linux-updates-20060811 fix for current fc kernels, and clean up linux nfs translator commit dc1531a528fc950253061c9ffb9a16248c9431e8 Author: Jim Rees Date: Thu Aug 10 22:03:35 2006 +0000 fix-includes-20060810 Fix kopenafs includes. commit d9de7beb995a1158e5701d397467e028ff55fe77 Author: Jim Rees Date: Thu Aug 10 21:50:40 2006 +0000 declare-ubik-client-20060810 Declare ubik_client in rpcgen. I don't like this fix but I hope it's just temporary until someone fixes the include dependencies. commit 677add475009261b8c1cc4b0cd8cbda985616a54 Author: Daria Phoebe Brashear Date: Thu Aug 10 18:06:10 2006 +0000 macos-install-vos-20060810 install vos in /usr/sbin commit aa4d289b87cda5790b268bbb44fd7806379d267f Author: Jeffrey Altman Date: Thu Aug 10 00:48:24 2006 +0000 windows-buf-queue-handling-20060809 don't free objects that are still on the queue. remove them first. commit cca848edb12abea4deb8f676b07182575d61186d Author: Jeffrey Altman Date: Thu Aug 10 00:27:50 2006 +0000 windows-backconnectionhostnames-fix-20060809 The previous code failed to specify the correct size of the REG_MULTI_SZ being written to the registry when appending an additional name to the list of Back Connection Host names. This would cause the written string to contain FOO\0B instead of FOO\0\BAR\0\0 this caused problems for Windows 2000 lsass.exe which failed to properly allocate the buffer for RegQueryValueEx and failed to check that it did not read beyond the buffer. If the list was not terminated with two nuls an exception would be thrown that could result in a lock being orphaned on the NTLMNameTable. This would in turn prevent authentications to UNC resources from completing. As a result, the startup of afsd_service.exe would fail if a GlobalAutoMapper drive was configured. The work around is to set the correct value in the registry before switching machine names or installing/removing the Microsoft Loopback Adapter. commit 09020663fad32a30cec3f425d6dee7807799eadb Author: Jeffrey Altman Date: Tue Aug 8 17:36:48 2006 +0000 windows-restrict-timeouts-to-cifs-20060808 If afsd takes longer than the cifs timeout to complete an operation the cifs client may break the virtual circuit and create a new one. this forces all file handles to be closed and locks to be released. Try to prevent the circuit from being destroyed by allowing the CIFS lanmanworkstation SessTimeout value to enforce upper limits on the Conn and Hard Dead Timeouts. Permit this automatic configuration to be disabled by setting specific configuration values for timeouts in the registry. commit f45d2d8e67e43faf3442031e29c681d24db10824 Author: Jeffrey Altman Date: Mon Aug 7 22:17:36 2006 +0000 windows-globalautomapper-thread-20060807 Move the establishment of the GlobalAutoMapper drives to a separate thread in order to prevent OpenAFS from reporting that the service did not start. OpenAFS considers the GlobalAutoMapper as deprecated functionality so it is ok to avoid the service failure report. commit 2bed0e5377e84241c579e95212ab7b2aa8b5df84 Author: Chaskiel M Grundman Date: Fri Aug 4 20:53:20 2006 +0000 solaris-sockaddr-storage-20060804 the head has the sockaddr_storage patch from the rxtcp work, so it needs this commit 9ec8e8242a839066c30bee4541de5f6dd1e6ca35 Author: Chaskiel M Grundman Date: Fri Aug 4 19:23:25 2006 +0000 solaris-syscall-update-for-prototype-20060804 since it's now prototyped, we needed to do this commit 146b525664afb6d3ffa9cbb658e700593d300f45 Author: Russ Allbery Date: Fri Aug 4 19:05:02 2006 +0000 signal-not-sys-signal-20060804 , not . commit 67b7c2a6bb66470c59dcc0b41ad395516ddb24dd Author: Russ Allbery Date: Fri Aug 4 18:58:46 2006 +0000 shlibafsauthent-linking-20060804 libafsauthent needs to link against libafsrpc. commit 9e01ca69f3ae4bee3edce3ca540bc08e042cc60b Author: Russ Allbery Date: Fri Aug 4 18:55:13 2006 +0000 shlib-build-error-reporting-20060804 Use set -e so that errors will be reported to make. commit 2cb59dc2b7d9b7963c75d1ec7e2511d815133b24 Author: Russ Allbery Date: Fri Aug 4 18:42:37 2006 +0000 death-to-remaining-longc-procs-20060804 Kill the remaining references to afs/longc_procs.h so that head will actually compile (whoops). For a header that no longer did anything, we sure included it in a lot of places. commit 16f06bd0cab3e0b7e08ee45c7bb4e86cae75b601 Author: Russ Allbery Date: Fri Aug 4 18:40:08 2006 +0000 fs-conv-sol26-move-20060802 Take advantage of the new platform infrastructure to move fs_conv_sol26 out of the vol directory and remove the annoying Autoconf support for optionally build it in favor of the platform support. We no longer care about upgrading inode file servers on DUX, so make fs_conv_DUX4 go away. commit 5fdbb9841b8bdd5009993c96b7c01955990c3174 Author: Russ Allbery Date: Fri Aug 4 17:11:31 2006 +0000 death-to-ultrix-20060804 Remove all remaining references to AFS_ULTRIX_ENV or pmax_* from the source tree. commit 43f1bcf65ae1f75694510524d9cb2d8fffcc5992 Author: Chas Williams Date: Fri Aug 4 16:55:21 2006 +0000 linux-keyring-pags-20060804 ok, well, first try commit a901d2b8ad9cfb3060b7824179b92b16e5f3dd14 Author: Chas Williams Date: Fri Aug 4 16:46:59 2006 +0000 linux-kernel-updates-20060804 updates for new stuff in linux kernels commit f3a77810db0044bd0fc3df1101269ab42b365fef Author: Russ Allbery Date: Fri Aug 4 16:43:38 2006 +0000 death-to-longc-procs-20060804 longc_procs.h was only used on Ultrix, about which we no longer care. Delete it, its installation rules, and the places where we were including it. commit 51799f7cc0337e6ecc7892be7b8700737712b5e5 Author: Chas Williams Date: Fri Aug 4 16:42:55 2006 +0000 linux-try-kbuild-20060804 FIXES 34561 the real reason i upgraded auto* commit 68382256a83363da98ecfbe0c1d2172542d0c042 Author: Russ Allbery Date: Fri Aug 4 05:12:05 2006 +0000 death-to-param-usr-20060803 The param.*_usr.h files are obsolete and no longer referenced. All of them except for param.ia64_hpux1123_usr.h contained #error directives saying not to use them. commit a8e9f2807b6b8b76dd836340408e5f3ba8bbd492 Author: Russ Allbery Date: Fri Aug 4 05:06:52 2006 +0000 man-todo-update-20060803 Update the to-do list for the man pages given the conversion of the aklog man page to POD and the removal of package and mpp. commit 5c03f31406276490f05ac2ce1325709447be7df6 Author: Russ Allbery Date: Fri Aug 4 04:55:39 2006 +0000 rxdebug-man-formatting-20060803 Add missing B<> and S<> markup to the SYNOPSIS. commit 5c90caf395060832f10c0d5c8befc589fea49826 Author: Jeffrey Altman Date: Fri Aug 4 04:44:46 2006 +0000 windows-cm-buf-20060803 improve readability, ensure that buffers we free are in fact cm_buffers, and ensure that we obtain the next buffer before freeing the current one commit 2247c0e499df70f2de1797e674ce1035514fc05c Author: Jeffrey Altman Date: Fri Aug 4 00:28:58 2006 +0000 windows-smb-no-showerrors-20060803 pop up error dialogs prevent auto shutdown and restart of afsd service on network adapater error commit 3002d38bcd30a1ac20c77a2c30a6858435f6d604 Author: Jeffrey Altman Date: Thu Aug 3 22:48:54 2006 +0000 windows-afslogon-null-ptr-20060803 FIXES 33962 do not dereference a null pointer effDomain commit b32073b9d3a95d014a43747cb873a2d6a8400ae3 Author: Russ Allbery Date: Thu Aug 3 03:57:06 2006 +0000 death-to-efs-20060802 We never define AFS_SGI_EFS_IOPS_ENV any more, so kill all the now-dead EFS code. commit 3a34d8cb4f749cfa0af3c2d81c460c2a46987102 Author: Russ Allbery Date: Thu Aug 3 03:37:12 2006 +0000 autoconf-likes-relative-paths-20060802 When using the install-sh that ships with the source tree, Autoconf substitutes in a relative path just to be annoying. Define the INSTALL variables in each individual Makefile so that they find the proper file. Remove the definitions from Makefile.config so that no one will accidentally get the wrong ones. commit b57f675bc3364c17fccc58ed56307f91213d3b3d Author: Russ Allbery Date: Thu Aug 3 03:34:35 2006 +0000 html-man-index-links-20060802 Add links back to the index at the top and bottom of each generated page. commit cf798932b5187c24d46a3e20d07aedb09e39ac66 Author: Russ Allbery Date: Thu Aug 3 03:18:43 2006 +0000 create-top-libdir-always-20060802 Always create the include and lib directories even if one builds specific targets. commit b8dd9c4c6b211432c4867780376d2b5c7fc08835 Author: Russ Allbery Date: Thu Aug 3 02:51:41 2006 +0000 sun-iow-includes-20060802 Solaris needs for _IOW. commit b34e03d1e6f4e0254851ae9b4e366be75bca5d7f Author: Russ Allbery Date: Thu Aug 3 01:25:59 2006 +0000 pam-aklog-20060802 A PAM module to call setpag and run aklog. Based on ideas by Sam Hartman and Doug Engert. Probably doesn't yet do everything that we want and needs more eyes, but it at least builds. commit f260f74ad95402d5484479c9490a334ace7662e9 Author: Russ Allbery Date: Thu Aug 3 01:24:37 2006 +0000 better-dirpath-sed-char-20060802 People might use + in paths. People might also use " in paths, but if they do, C doesn't work, so they lose anyway. commit 2ec9b1db031db06ae99f0b86a3329ff7a81cf777 Author: Russ Allbery Date: Wed Aug 2 22:54:51 2006 +0000 shlib-overhaul-20060802 Overhaul how we build shared libraries. Pull the code for building and installing shared libraries out into simple shell scripts that we can then evolve as we need to and make more sophisticated. Remove the details of how to use a mapfile from the Solaris Autoconf-driven configuration and move them to the Solaris case of the build script. In the process, make it possible to build more than one shared library in a single directory. Remove the last vestiges of libafssetpag from the sys directory; kopenafs now replaces all of that. Only link in syscall.o in the sys and kopenafs directories on those platforms that actually care so that we don't have to do work to generate a valid .o file that can be included in an archive. commit aebadcd5478994fec011368597004bef2439ccb6 Author: Daria Phoebe Brashear Date: Wed Aug 2 20:49:44 2006 +0000 aklog-stds-krb5-order-20060802 kfm needs this first so when you include com_err.h from afs as a side effect of krb5.h we don't explode commit fd099b3e763b6b2c5bfb87db0cae8a900f031ad3 Author: Daria Phoebe Brashear Date: Wed Aug 2 19:59:40 2006 +0000 endian-fixes-20060802 macos needs us to do weird stuff so -arch i386 -arch ppc works commit 62e6fc36b129729a571264bfb661114dce12bc2e Author: Jeffrey Altman Date: Wed Aug 2 19:18:42 2006 +0000 viced-sane-acls-bit-20060802 Add VICED_CAPABILITY_SANEACLS bit and -saneacls option to viced to enable it. commit 5fc2674bb85cf0266201ff6eaa16f2148315019b Author: Russ Allbery Date: Wed Aug 2 19:14:44 2006 +0000 death-to-more-dux-20060802 Delete more DUX configure machinery that we no longer care about since we have no DUX client and don't care about fs_conv_DUX. commit 2b20e5e61afa3e5bb1d196759c3b5da08f999a3e Author: Russ Allbery Date: Wed Aug 2 18:42:54 2006 +0000 no-pam-for-irix-20060802 Don't try to build PAM on IRIX; IRIX PAM is almost but not entirely unlike what we expect. commit 28114121fe045e82e286f93008b7d4b41ad824f2 Author: Russ Allbery Date: Wed Aug 2 18:35:25 2006 +0000 fs-conv-sol26-cleanup-20060802 We don't care about SunOS or DUX any more, so remove all the dead code. commit fc90c24df1b2822d734340b6004d3b2a045ac7ef Author: Russ Allbery Date: Wed Aug 2 18:33:30 2006 +0000 fs-conv-sol26-move-20060802 Take advantage of the new platform infrastructure to move fs_conv_sol26 out of the vol directory and remove the annoying Autoconf support for optionally build it in favor of the platform support. We no longer care about upgrading inode file servers on DUX, so make fs_conv_DUX4 go away. commit cfce015ead18c72ee921f480c73e9247a98838fc Author: Russ Allbery Date: Wed Aug 2 17:50:43 2006 +0000 death-to-dux-client-20060802 Remove the DUX client files. This code doesn't work on any current DUX system. commit 83b6575648535ccdc4973ab24240a5b3dfc2f0d4 Author: Russ Allbery Date: Wed Aug 2 17:47:29 2006 +0000 kopenafs-20060802 Add a shared libkopenafs that provides k_hasafs, k_setpag, k_unlog, and k_pioctl (in other words, enough for a PAM session module that calls an external aklog). commit 5c206470444f8f6531384a056c0a4484e127c01b Author: Russ Allbery Date: Wed Aug 2 16:54:11 2006 +0000 vioc-header-split-20060802 Modify vice.h so that it doesn't depend on afs/param.h. Split the VIOC* constant definitions out of afs/venus.h into a separate header file included by it. Update various comments to reflect a more recent version of reality. This is in preparation for kopenafs work so that kopenafs.h can include afs/vioc.h as well to get the same definitions. commit 5bee037fc0d1158b1dc19a4306d5e1fa2e1af45d Author: Russ Allbery Date: Wed Aug 2 16:45:34 2006 +0000 config-include-fixes-20060802 Include stdlib.h so that we have a prototype for exit. One fewer compiler warning during the build. commit 71a9dc8f789af60f48fa4d44a5b585901f54acb7 Author: Russ Allbery Date: Wed Aug 2 15:34:40 2006 +0000 simplify-platform-makefile-20060802 Simplify the recursion in the platform Makefile.in. commit 78880bc5dce716c7c5885f505bee7eca23ff50d6 Author: Russ Allbery Date: Wed Aug 2 15:12:42 2006 +0000 remove-unbaked-code-20060802 Remove the preliminary rxgk and Automake conversion, neither of which are finished or ready for prime time yet. Having this active in CVS isn't helpful and is mildly confusing at the moment. commit 3bfa53ed23d18e431d23f720e49e254ca6c27003 Author: Russ Allbery Date: Wed Aug 2 15:04:37 2006 +0000 death-to-dos-win95-20060802 Remove files that were only used for the DOS or Windows 95/98 ports, both of which are completely obsolete. Also remove InstallShield version 5 support. commit 4ea8536c908871f173d776fc475064761d47d85d Author: Daria Phoebe Brashear Date: Wed Aug 2 05:01:56 2006 +0000 macos-use-platform-copy-of-afssettings-20060802 we moved this to be made for real; use it commit 4d67cb2f1645239d1ef73a8847b17275e4cb3feb Author: Daria Phoebe Brashear Date: Wed Aug 2 04:48:27 2006 +0000 macos-platform-update-20060801 minor cleanup of the platform stuff commit 6e8a145a55ab7e4474338e8bbdf8187e2d5991ac Author: Daria Phoebe Brashear Date: Wed Aug 2 04:35:52 2006 +0000 macos-installer-20060801 partial updates commit 2eaae5ef3a6739b3d4edf3c8e6e3daf3fd096833 Author: Russ Allbery Date: Tue Aug 1 23:55:11 2006 +0000 death-to-null-20060801 General consensus is that the termlib hacks that necessitate the libnull.a hack don't matter on any current platform we build on, and even if it does, it should be dealt with in TXLIBS in osconf.m4. So remove all of that infrastructure and see what fails. commit d1da98ac49860379f772bc27bdd86ac410592ad3 Author: Daria Phoebe Brashear Date: Tue Aug 1 23:51:38 2006 +0000 darwin-platform-fix-20060801 get rid of tabs commit 1732c5cb5ac9c4b1c6bd656ea11992bfd22d03f0 Author: Russ Allbery Date: Tue Aug 1 23:30:03 2006 +0000 death-to-obsolete-readmes-20060801 Remove README.SECURITY given that we've already removed all the code that it was talking about. Remove references to README.OBSOLETE, since it's now gone. commit 80e88d6a80fc3fc0d15650f20ea7fc3fece1a1e4 Author: Jeffrey Altman Date: Tue Aug 1 23:29:15 2006 +0000 viced-capability-writelock-20060801 add write loc king capability commit b405868ca02880207bda1ec6eb4e21c7b0ac250c Author: Russ Allbery Date: Tue Aug 1 23:27:20 2006 +0000 death-to-package-20060801 Remove package, mpp, and wsadmin, along with the remainder of configure support for obsolete programs and the corresponding documentation. commit 25015276f80a12296848d0fc9a2960d2e0226159 Author: Russ Allbery Date: Tue Aug 1 23:16:42 2006 +0000 cvsignore-happiness-20060801 Update .cvsignore files to ignore everything we should be ignorant of. commit 4736c08e8ffe0929761d86580ff55ac1a6af9ef3 Author: Russ Allbery Date: Tue Aug 1 23:15:45 2006 +0000 volume-static-mismatch-20060801 VPrintExtendedCacheStats_r should not be static. commit 892d231ec91f17506c37cf727c0571a1ff85b0dc Author: Russ Allbery Date: Tue Aug 1 22:52:54 2006 +0000 dirpath-h-tmp-delete-20060801 Cleanup dirpath.h.tmp when dirpath.h doesn't need to be updated. commit 46574ccb91da54b28e41d8de7b3d50686a564468 Author: Russ Allbery Date: Tue Aug 1 22:49:36 2006 +0000 death-to-sia-20060801 Drop the SIA code (PAM for Digital Unix). commit 3f75e402535843b4e34c09b03fb5181758506d96 Author: Russ Allbery Date: Tue Aug 1 22:39:56 2006 +0000 death-to-login-20060801 Get rid of the AFS integrated login, which we no longer care about. commit f6971a141558711fb09d9fa15c9de67772047b32 Author: Daria Phoebe Brashear Date: Tue Aug 1 22:31:42 2006 +0000 djgpp-killer-20060801 kill djgpp code commit 088e1409f8d318697023341e2050a3e58708b0fd Author: Russ Allbery Date: Tue Aug 1 22:27:17 2006 +0000 platform-build-fixes-20060801 Add dummy makefiles for all the other supported architectures and fix a few issues with makefile inclusion in the Makefile.in and DARWIN/Makefile.in. commit c5613fadf59fba0cd91d60607a5f5d2ff4df516e Author: Daria Phoebe Brashear Date: Tue Aug 1 22:05:08 2006 +0000 macos-installer-20060801 partial updates commit eb1dd3306b6459572dbb2c4d58d07939c9c85b50 Author: Russ Allbery Date: Tue Aug 1 21:57:14 2006 +0000 we-hate-dce-20060801 Destroy all traces of dauth, including the DCE authentication support in afsweb. commit 86a29ebd32fd9cc48e367930709276a7c489e085 Author: Daria Phoebe Brashear Date: Tue Aug 1 21:43:34 2006 +0000 macos-move-afssettings-20060801 build this as part of the build commit 01441567bc08f814b79f5f583c867c63ea0c76c1 Author: Russ Allbery Date: Tue Aug 1 21:31:47 2006 +0000 dead-log-programs-20060801 log and passwd haven't existed for some time, so get rid of the Makefile rules for them. commit 15dae9264ffcaa9393a0cead4595602b589ce74b Author: Russ Allbery Date: Tue Aug 1 21:19:53 2006 +0000 death-to-des-stub-20060801 Remove des_stub; we don't care any more. commit 8df5dcbc91e6504e45e16b8e70d7108eeaa6458c Author: Russ Allbery Date: Tue Aug 1 21:03:54 2006 +0000 death-to-pinstall-20060801 Delete pinstall and convert the entire tree to use the install program found by configure (falling back on install-sh in the local tree). This means that we have to pre-create directories with install -d. Also redo the install and dest rules to be lists of install rules rather than dependencies driving separate make rules so that running make install will always update the target directory with the current code, even if there are files in the install area that are newer. Stop installing libafssetpag; we're about to kill it in favor of a different library. Remove some djgpp rules. commit 29dd7923817b621c5d14920513dc26c2f9fda530 Author: Jeffrey Hutzelman Date: Mon Jul 31 22:58:17 2006 +0000 linux-afs-translator-xen-20060731 FIXES 36646 nfs translator for linux, plus xen support for shared afs client ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 36646 add linux afs translator plus xen shared afs client support ==================== FIXES 36646 add linux afs translator plus xen shared afs client support ==================== FIXES 36646 add linux afs translator plus xen shared afs client support commit 67f04fa714580016bdbb707d962ce763023e31aa Author: Daria Phoebe Brashear Date: Mon Jul 31 22:12:39 2006 +0000 kreltime-guard-against-null-tm-20060731 so we can memset 0 and get defaults commit 75922872e6c29bd059db3b07b7b274e3c4172715 Author: Daria Phoebe Brashear Date: Mon Jul 31 20:01:08 2006 +0000 fslog-dpf-20060731 turns out it's nice to log why we exit commit da4775909094e8dc1e14fa9cdbf8ba3baaebf23a Author: Daria Phoebe Brashear Date: Mon Jul 31 19:15:15 2006 +0000 FIXES 35559 va_list isn't integral on ppc commit cc37bc5ae487dda611d2bf4b383b2d2cfd1ea675 Author: Russ Allbery Date: Mon Jul 31 18:34:26 2006 +0000 ka-forwarder-20060731 Add ka-forwarder. commit 8c4496602badc1b0aa2642e061a720d4d1f108b8 Author: Daria Phoebe Brashear Date: Mon Jul 31 17:50:32 2006 +0000 namei_mapper-20060731 add chaskiel's namei mapping tool to cvs and make a rule to build it commit 5f434b8087d3c73123860f853d15a0f51c03bf73 Author: Russ Allbery Date: Mon Jul 31 17:43:19 2006 +0000 aklog-man-page-20060731 Rewrite the aklog man page in POD and add documentation of the new flags and .xlog. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Fix my misunderstanding of what rxkad2b is. ==================== Fix unterminated B<>. commit 57ef7a5d999de2829e2f205f2308101819e7f08a Author: Christopher Allen Wing Date: Mon Jul 31 17:36:01 2006 +0000 bucoord-64-bit-cleanup-20060701 However, in bucoord/commands.c, bc_VolRestoreCmd(), bc_DiskRestoreCmd(), bc_VolsetRestoreCmd(), and bc_DumpCmd() were passing '0' as arguments instead of NULL. Because there is no prototype for bc_StartDmpRst() this results in a crash on 64-bit Linux. (when running 'volrestore' from an interactive backup session) commit c04c2a0b1aa266c67d2e7e056e6c3f9518a39a2a Author: Alessandro Dellavedova Date: Mon Jul 31 17:15:53 2006 +0000 fbsd-ifnet-flags-20060731 FIXES 35757 i should really fix this right commit 5a0c56d33b9bc842cee10afc977f59b04e46d728 Author: Jeffrey Altman Date: Mon Jul 31 16:52:43 2006 +0000 windows-cifs-vista-20060731 remove claim of support for Vista CIFS protocol version commit e6f6adc1bc310482baa868046e68c386ab1c822b Author: Hans-Werner Paulsen Date: Mon Jul 31 16:33:16 2006 +0000 libafsauthent-avoid-global-host-20060731 FIXES 36411 defining host globally in the rmtsysc interface: dumb commit 77c502047025d8073e4cd35c5e4851fd1d2eb369 Author: Daria Phoebe Brashear Date: Mon Jul 31 16:23:34 2006 +0000 vos-avoid-freeing-null-pointers-20060731 FIXES 36441 pretty obvious. don't. commit 8d2dbc51f40e61cbe6157c910dff18606cf84282 Author: Daria Phoebe Brashear Date: Mon Jul 31 16:18:13 2006 +0000 call-bzero-in-convertvolumeinfo-with-correct-size-for-dotreadonly-20060731 FIXES 36442 and slipstream in bzero() killing commit e199597d529a035f50e57e7dd653a8095313d246 Author: Tom Keiser Date: Mon Jul 31 16:07:49 2006 +0000 rx-readpacket-leak-20060728 avoid just allocating packets forever commit ebcfab8d3247ff6fa98726c88a55a5cec0d91f97 Author: Jeffrey Altman Date: Fri Jul 28 14:36:24 2006 +0000 windows-cifs-compatibility-20060728 more compatibility fixes to the CIFS gateway server commit a4211966d7f9d16dd2f93c9122ba09b4920dfd8e Author: Jeffrey Altman Date: Fri Jul 28 03:07:13 2006 +0000 windows-remove-bad-asserts-20060728 remove assert()s that should simply be if() commit b805981546444ba90c9d0b811358658e720f9277 Author: Jeffrey Altman Date: Wed Jul 26 14:52:56 2006 +0000 windows-cifs-undo-large-x-20060726 remove claim of support for LARGE_READX and LARGE_WRITEX commit d42394946fc8c4da27361e3ad39766f83b659fd1 Author: Jeffrey Altman Date: Wed Jul 26 14:01:55 2006 +0000 windows-cifs-rewrite-20060726 delta windows-cifs-rewrite-20060717 introduced a bug in Tran2SetFileInfo which would cause data loss by inappropriately truncating the file instead of setting the file length. this commit adds a new smb_SetSMBParmLong() function fix smb_ReceiveCoreWrite to check for locks before truncation and adds much debugging fix CIFS protocol negotiation and declares support for large readx and writex updates debugging strings for Tran2 functions configures the windows firewall before sleeping in cm_Daemon() commit 3167f707fdf582c8ca851a353ca0c82b92ccc947 Author: Jeffrey Altman Date: Wed Jul 26 13:49:41 2006 +0000 windows-integrated-logon-20060726 delta windows-integrated-logon-20060724 would cause Windows 2000 systems to blue screen with an exception in winlogon.exe. commit 68e8e996b6cc82d5097e82a4c9c8af9eb8c3c093 Author: Daria Phoebe Brashear Date: Tue Jul 25 15:44:46 2006 +0000 des-no-obsolete-encrypt-20060725 this version of encrypt() conflicts with current linux (which returns void) we don't use it, so, buh-bye commit 238ac51e80551bf57334867521817103fddd2cbf Author: Daria Phoebe Brashear Date: Tue Jul 25 15:38:31 2006 +0000 cellservdb-dl-sanity-check-20060725 protect me from myself commit 1a0329fef030fedce3fb12d9c641825b0d49f053 Author: Jeffrey Altman Date: Mon Jul 24 15:06:15 2006 +0000 windows-integrated-logon-20060724 * apply ACL restrictions to credential cache immediately after initialization * move file from system temp directory to user temp directory prior to starting executable as user to perform credential import commit 22f43b30a094669cc8b52bfb416ef6fb099bb93c Author: Jeffrey Altman Date: Thu Jul 20 22:44:30 2006 +0000 windows-ifs-cleanup-20060720 * fix up prototypes * remove unused variables * re-organize code for readability * fix type safety issues commit 8d4d47860baeb983759782f64d46ec70659e5022 Author: Jeffrey Altman Date: Thu Jul 20 07:06:42 2006 +0000 windows-ifs-afsrdr-20060718 updates to ifs afsrdr code to allow it to compile. commit 66db2c9bec2b6a38aab49eb31a992701930bd055 Author: Jeffrey Altman Date: Thu Jul 20 04:23:09 2006 +0000 windows-ifs-20060718 enable the afsifs code to build again commit 72abe41e1df0e530ae73e50b0b952b26d4e26683 Author: Daria Phoebe Brashear Date: Fri Jul 21 00:27:15 2006 +0000 aix5-curpag-20060719 curpag() exists in too many places anyway, fix em commit 14ed562c4b576bcfe6b0147b86fa5f7899d22c16 Author: Jeffrey Altman Date: Wed Jul 19 15:41:48 2006 +0000 viced-checkrights-loglevel-20060719 increase the log level on the "CheckRights: len=%u, for host=%s:%d\n" message to 5. commit 51d0c3c8d1daf63e2a9d07ff5be0e649eb821b0c Author: Tom Keiser Date: Wed Jul 19 05:11:06 2006 +0000 rxkad-typeindex-20060718 clean up an off by one error for type index commit 436e8fe17b2051db806e386db86b3de789afb2f0 Author: Jeffrey Altman Date: Tue Jul 18 17:02:04 2006 +0000 windows-wix-2_0_4221-20060718 * Updates to WIX installer to support the 2.0.4221 build * Removes unnecessary files from Release Notes commit 94e2fd2f51b671ee44e9ddd12b44c6d26aa149fe Author: Jeffrey Altman Date: Mon Jul 17 19:45:27 2006 +0000 windows-cifs-rewrite-20060717 a re-write of the Tran2 Query File Info, Query Path Info, Set File Info, and Set Path Info functions to make them more readable and ensure correctness. commit 7cb94029ce2092f2117742047cffd3c6b58292cd Author: Tom Keiser Date: Fri Jul 14 20:22:51 2006 +0000 aix-largefile-20060714 FDH_WRITE can return something great er than an int32 size for largefile commit d335c636e25d268631c8408cf6b1aa04b6043f88 Author: Jim Rees Date: Fri Jul 14 18:48:18 2006 +0000 discon-20060714 Implement PDiscon. Right now only sets nat mode. Untested. commit 3a8a83c061965195c4842d89b888e37cd4b33ee3 Author: Derek Atkins Date: Fri Jul 14 15:53:05 2006 +0000 linux-posix-lock-file-api-fix-20060714 fix lock enrollment for older kernels commit 6878e0b6348a649768274adbce77500fbd45caa4 Author: Daria Phoebe Brashear Date: Thu Jul 13 19:17:20 2006 +0000 vpurge-needs-no-lock-20060713 don't hold the VOL_LOCK during vpurgevolume volserver's transaction stuff (NewTrans, actually) precludes any problem commit 845b4ac1cf8f97c5c4d84e36109ef477edef4a31 Author: Daria Phoebe Brashear Date: Thu Jul 13 18:55:10 2006 +0000 rxkad-private-reorder-structures-20060713 based on fix from tkeiser@gmail.com for aix segfaulting issue; keep offsets of cprivate and sprivate's copies of type and level the same commit 8b898261c1c682f819856966f8158aba36d9abdb Author: Daria Phoebe Brashear Date: Thu Jul 13 18:38:21 2006 +0000 tsm-interface-simple-uid-20060713 for now we use afs_uint32 as a uid in the exported interface commit 4c1503ee9bf5769a9de247a86d7b9dae85bbd993 Author: Tom Keiser Date: Thu Jul 13 18:24:29 2006 +0000 aix-lam-20060712 tsm for aix5 commit 8f2aba65819a668fc4a78c0ab929932c23cbc381 Author: Jeffrey Altman Date: Mon Jul 10 20:24:08 2006 +0000 windows-wait-rx-hard-dead-time-20060710 Don't timeout based upon the LAN Workstation Session Timeout value. Instead wait for the rx hard dead timeout. commit 39af776e0e9c295aa24dcd31cd42d845980ad8d8 Author: Jeffrey Altman Date: Thu Jul 6 01:15:14 2006 +0000 windows-dllmap-20060705 afsrpc.dll and afsauthent.dll got too big for their allocations. commit 3aa506fe502f010135d25e0d6996f5cdc38a13bd Author: Jeffrey Altman Date: Wed Jul 5 20:18:55 2006 +0000 windows-vlserver-makefile-correction-20060705 so make clean works right (remove vldbint.h) commit 3d4b12626136a59bd876648e0d1360f629998df8 Author: Daria Phoebe Brashear Date: Wed Jul 5 19:34:01 2006 +0000 libafsrpc-export-xdr-20060705 " ld: warning: relocation warning: R_SPARC_COPY: file /usr/local/lib/libafsrpc.so: symbol rx_enable_stats: relocation bound to a symbol with STV_PROTECTED visibility Undefined first referenced symbol in file xdr_afs_uint32 /usr/local/lib/libafsauthent.a(ptint.xdr.o) ld: fatal: Symbol referencing errors. No output written to slapd collect2: ld returned 1 exit status " one can guess how that might be less than useful commit f720e922a982ec99d57adb0514878c65bafc4293 Author: Jeffrey Altman Date: Tue Jul 4 23:42:37 2006 +0000 windows-cifs-20060704 a mixture of updates to cifs compliance commit 941ac04165a9239a11b4ab908350dbfae24edfb9 Author: Jeffrey Altman Date: Tue Jul 4 22:22:35 2006 +0000 ubik-call-sucks-20060704 make ubik_Call removal work on Windows. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== another fix for Windows commit 15963ecb3459f34025c0e8fdbf8f1055e1e4a294 Author: Jeffrey Altman Date: Tue Jul 4 07:15:17 2006 +0000 viced-uninitialized-20060704 tcon in XStatsVersion. commit e117599fe17fdfca9c61d1883fe9bf9aa95e3918 Author: Daria Phoebe Brashear Date: Tue Jul 4 04:57:05 2006 +0000 fileserver-hates-pruclient-20060626 right now there is one struct ubik_client shared by all threads in the fileserve r, which sucks when one has it locked let's, uh, fix that. commit 4478d3a99a1baaee081048a20ac50e7af0223647 Author: Daria Phoebe Brashear Date: Tue Jul 4 04:50:46 2006 +0000 ubik-call-sucks-20060703 ubik_Call's pseudo-varargs construction is hideous put it out of its misery where possible commit a2d5bb078f3df6dc6fe992fdcaaf8b5a5607c0d6 Author: Tom Keiser Date: Mon Jul 3 19:41:31 2006 +0000 sol10u2-rename-20060703 FIXES 34774 In s10u2 the vnode path cache code was modified so that we're no longer guaranteed of having a valid path cache pointer for the lofs mount case. Attached patch changes gafs_rename to deal with this. Patch also removes unnecessary MODLOAD32 build rule from sun4x_510 case. commit 277eb30d32349ad1fd24b1ea02a8dfca86c79ef5 Author: Asanka Herath Date: Mon Jul 3 02:45:35 2006 +0000 windows-wix-sdk-20060702 Move SDK to \Program Files\OpenAFS\SDK commit 20b4f785b56ff604bab72d3b624aae74a9e5ae5d Author: Jeffrey Altman Date: Mon Jul 3 02:00:51 2006 +0000 windows-library-cleanup-20060702 Export rx_Finalize and rx_InitHost ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== * add afs_winsockCleanup() call to rx_Finalize * do not start listener threads multiple times ==================== * export rx_Finalize and pr_End ==================== afs_winsockCleanup commit e66467f382a31345f3ea9dd919ea703eccb623d9 Author: Jeffrey Altman Date: Mon Jul 3 01:57:37 2006 +0000 windows-afsauth-krb-20060702 Build the afsuth.krb library commit 5accc48e1b0db55c56ba64abe0450d511c0fdf2a Author: Jeffrey Altman Date: Mon Jul 3 01:55:54 2006 +0000 windows-nsis-sdk-20060702 Move SDK to Program Files\OpenAFS\SDK commit 61df8d9fc834b87d758d8581e73fa7c05198ecf4 Author: Jeffrey Altman Date: Mon Jul 3 01:54:19 2006 +0000 windows-afslogon-pr_end-20060702 * do not attempt to copy kfw krb5 creds if integrated logon disabled * disable use of automatic registration from afslogon.dll. calling pr_Initialize() results in rx_Init() being called which creates threads that prevent safe unloading of the dll. This is causing crashes in third party applications that call CreateProcessAsUser() which in turn temporarily loads afslogon.dll. * add life_to_time to afskfw.c in order remove the link to the rxkad and des libraries commit 1947002d11358b9427adce1d6e03f5357a416ad8 Author: Daria Phoebe Brashear Date: Sat Jul 1 06:01:29 2006 +0000 butc-prototyping-20060701 have some prototypes happy july 1 and what a crappy day it is commit 350c140d89198cb7f9f8b241188f9937d7da119e Author: Daria Phoebe Brashear Date: Fri Jun 30 20:44:19 2006 +0000 libcmd-support-version-switch-20060630 well, i guess adm will be sad until it exports AFSVersion, but, life is hard. commit 8a1a06b5eb0e415859fd841c3c4a6b578eaea022 Author: Tom Keiser Date: Fri Jun 30 15:03:04 2006 +0000 solaris-vfsops-20060629 fix symbol binding for modern solaris 10 patches (6/06) which kills a few we didn't need anyway commit 2dcf63ef4e044019bda5889f1de332432124bb71 Author: Tom Keiser Date: Fri Jun 30 14:57:43 2006 +0000 salvager-20060628 make ClearROInUseBit actually do it commit bc9f256f1c6d2ac26a0b6bfc15de85de895ecf0b Author: Christopher Allen Wing Date: Fri Jun 30 01:17:06 2006 +0000 rxbind-typo-fix-20060629 FIXES 34634 kill this obvious typo commit f0830f89a11a2fea06a26270a90c7ddf8365a533 Author: Jeffrey Altman Date: Fri Jun 30 00:24:20 2006 +0000 rxkad-rt34568-20060629 FIXES 34568 The use of strncmp() results in p->v5_str being treated as matching prefix instead of as the complete string. This causes "ftpa" to be considered a match for "ftp". commit a8dc93bf9f93a1ab74972c41d09af01da93ff230 Author: Jeffrey Altman Date: Wed Jun 28 16:00:33 2006 +0000 windows-bulkstat-eaccess-20060628 New CM_SCACHEFLAG_EACCESS flag is used to track whether the status information was the result of an EACCESS error during an inline bulk status call. If so, we have a callback but did not get any status info. When this flag is set we include the entry in future bulk status calls but otherwise treat the cm_scache entry as if it has a valid callback. The callback will be revoked if the ACLs on the object changes. commit cb395ac70a2387723b0eceb33afe293d2cbfbf71 Author: Jeffrey Altman Date: Wed Jun 28 06:33:28 2006 +0000 windows-inlinebulkstat-20060628 fix the timeout conditional and error handling so that all directory entries will be processed. now there is a problem in which transitioning from no tokens to tokens does not result in refreshed data. something to look into. commit 7fa3d8d735779c263eec66fecec5255d8407b2be Author: Jeffrey Altman Date: Wed Jun 28 04:22:40 2006 +0000 windows-inlinebulkstat-20060627 Activate previously implemented TryBulkStat code. Due to incorrect comparisons the code was never executed. Add support for InlineBulkStat with fallback to BulkStat and increase the size of CM_BULKMAX to 150. (3 * AFSCBMAX) Add CM_SERVERFLAG_NOINLINEBULK to track support for InlineBulkStat. Clear flag during InitCallbackState. commit 08c07df7eb8ab22857d0c23d8f7ab35532576039 Author: Jeffrey Altman Date: Tue Jun 27 23:52:37 2006 +0000 windows-fs-uuid-part-two-20060627 force new connections after uuid change commit 5c563c121e853a06bb47d0b8932276982e676150 Author: Jeffrey Altman Date: Tue Jun 27 23:18:29 2006 +0000 windows-fs-uuid-20060627 fs uuid [-generate] commit a8e481ddd92744944d2b06fd5c8ed28383297f6a Author: Jeffrey Altman Date: Tue Jun 27 22:48:23 2006 +0000 windows-uninitialized-vars-20060627 uninitialized pointers when dereferenced do bad things commit f2c64e15995abc6791923013805cca402e6f4e8e Author: Jeffrey Altman Date: Tue Jun 27 16:39:04 2006 +0000 windows-cleanup-20060627 * fix UAEACCES debug string * assign scachetype invalid when invalid * smb_WriteData prototype * update T2 search dir debug message to include unique commit 8de6593c6829eab9dae15fc38ba08f382ee7b096 Author: Jeffrey Altman Date: Tue Jun 27 05:02:57 2006 +0000 windows-do-not-release-null-20060626 uidp can be null. if so, do not release. commit 791b2141809fc0ad2da78ab3cd91303ac0ec482d Author: Daria Phoebe Brashear Date: Tue Jun 27 04:16:46 2006 +0000 fileserver-hates-pruclient-20060626 right now there is one struct ubik_client shared by all threads in the fileserver, which sucks when one has it locked let's, uh, fix that. commit 2a6f610ecadcc61f7fe332e63f8ffca7942e4193 Author: Asanka Herath Date: Mon Jun 26 06:47:04 2006 +0000 windows-wix-path-key-fix-20060625 properly set the path key commit 83e22d270ea07cd473bc98a5fb2e7191cb840a40 Author: Jeffrey Altman Date: Mon Jun 26 03:24:14 2006 +0000 windows-32bit-tools-client-dir-20060625 Modify afssw_GetClientInstallDir to check both the registry for both the full client installation as well as the 32-bit tools installation for the Client Install Pathname. commit ea499821f73a9f27aad36b1878cccd26b2dc55c5 Author: Jeffrey Altman Date: Mon Jun 26 03:18:21 2006 +0000 windows-wix-client-path-20060625 move tag to a component that will be installed as part of the 32-bit tools so that Client\Program is added to the PATH. commit 0eb04961602949683be26cbe002677b5ee537ab6 Author: Jeffrey Altman Date: Sun Jun 25 22:44:26 2006 +0000 windows-largefile-support-20060625 don't clear the no64bit when there is no server commit 67598a4f59ae485242d611d1a5e3dfa6e6c81784 Author: Dave Tanner Date: Sun Jun 25 20:50:37 2006 +0000 windows-torture-test-20060625 Torture Test commit fa4b139d02fe4b1224a9ca367a081ca95ec18dd6 Author: Jeffrey Altman Date: Sun Jun 25 20:50:02 2006 +0000 windows-largefile-test-20060625 Large File test commit 266c9339896d75ab36dc812f1e905d05be23e0fd Author: Qi Dong Date: Sun Jun 25 18:56:53 2006 +0000 windows-aklog-64bit-20060625 Prepare makefile to link against kfw 64-bit libs when they are available. commit ebef2766358b8cca53efd5c12bc951198eb246e0 Author: Qi Dong Date: Sun Jun 25 18:54:16 2006 +0000 windows-64bit-type-safety-20060625 Type casting commit 0b9b02178e7a3d8df39fec9c83f8b49230ce30d9 Author: Jeffrey Altman Date: Sun Jun 25 17:55:23 2006 +0000 windows-cleanup-20060625 cleanup AFS_component_version_number.h commit 8c3e1ad7578dfbfd26633fc12b91ea69c1f77436 Author: Jeffrey Altman Date: Sun Jun 25 15:59:38 2006 +0000 windows-wix-tools-on-i386-only-20060625 only build the 32-bit tools installer on i386 commit bfa26d1ddfc7727a9f8c2e79c8d608c586823a12 Author: Jeffrey Altman Date: Sun Jun 25 15:54:25 2006 +0000 windows-nsis-help-files-install-location-20060625 place the help files in the correct location commit 8e0033ba73ef9551cb24052ef90db677e4adad50 Author: Jeffrey Altman Date: Sun Jun 25 02:47:04 2006 +0000 windows-report-quota-diskfull-20060624 overquota and diskfull errors are detected while writing dirty buffers to the file server. A flag is set on the scp so that the error can be returned to the caller. cm_FSync was clearing the flag without returning the error. This permitted calls to Win32 WriteFile to report success even when they failed. commit a4cb03504075771e0f2cfebf931f91f29553c73a Author: Russ Allbery Date: Sat Jun 24 17:08:40 2006 +0000 rhel3-krb524-checking-20060624 FIXES 30589 Check for krb524 functions in libkrb524 if not found in libkrb5 so that the Kerberos v5 support will build on RHEL3. Thanks to Derek Atkins for the debugging and testing. commit 830756f8f73e1f67da6ec916cdfc3e4b9a677f71 Author: Jeffrey Altman Date: Sat Jun 24 15:09:34 2006 +0000 windows-viced-cbd-20060624 don't break platforms other than Windows commit 2a1aff4104dd9a71bebf1a63ca85ac86338b3b1b Author: Christopher Allen Wing Date: Sat Jun 24 06:47:09 2006 +0000 afsutil-includes-20060623 Include for prototypes of afs_inet_ntoa and afs_inet_ntoa_r. commit 7f219ecd3863398d7cc5317a55b8c3f735e8ef95 Author: Russ Allbery Date: Sat Jun 24 06:14:09 2006 +0000 autoconf-datarootdir-20060623 Autoconf 2.60 will replace some variables, most notably mandir, with values relative to datarootdir, a new variable. Add settings of datarootdir to the affected files. commit e264711295275b7b1372e701bf106cf75b342007 Author: Asanka Herath Date: Sat Jun 24 03:48:06 2006 +0000 windows-wix-help-files-install-location-20060623 place the help files in the correct location commit 015f9ce287c22df7a0b967ee0357d0816b4e0e54 Author: Asanka Herath Date: Fri Jun 23 08:54:27 2006 +0000 windows-largefile-support-20060623 This patch adds large file support (> 2GB) to the CIFS server and the cache manager. It also corrects a significant oversight where the definition of struct rx_call was inconsistent due to a failure to define AFS_PTHREAD_ENV prior to including rx.h in all source files. This prevented all errors during rx_Read and rx_Write to be ignored. commit ae9a07a8e0a5d0e83e138ef9bbd71b3e7e0072ea Author: Jeffrey Altman Date: Fri Jun 23 04:32:48 2006 +0000 windows-cm_syncop-buflocked-20060622 If cm_SyncOp is called with the buffer locked, it must be returned locked even on error. commit 4859232df55c94232a70d602cafe6a8bcc72d9dd Author: Jeffrey Altman Date: Thu Jun 22 22:48:32 2006 +0000 windows-no-freelance-vldb-failover-20060622 When Freelance mode is not in use the cache manager must load the root.afs volume of the default cell in order to be able to start. Unfortunately, if the first vlserver fails the request to obtain the volume information will timeout and no retries will be performed. This patch performs up to 10 retries in the initialization code in order to enable the vlservers to be marked down so that failover can occur. commit d53a0a8d5e58d6bb0a979d977889aa2bfcb19829 Author: Jeffrey Altman Date: Wed Jun 21 21:40:00 2006 +0000 windows-viced-cbd-20060621 typo commit f3a7cd67c5d9d225a688892b3d5948db11e9a82e Author: Jeffrey Altman Date: Tue Jun 20 23:09:46 2006 +0000 windows-viced-cbd-20060620 build the callback debug utility commit 7826b313868ec8ce975b65e5c430a9503fca4dd5 Author: Tom Keiser Date: Wed Jun 21 18:57:24 2006 +0000 aix-largefile-cleanup-20060620 some largefile cleanup and other minor aix tweaking commit 840ef4a80f3ec8378865232f23171c7c3485626b Author: Jeffrey Altman Date: Tue Jun 20 21:57:26 2006 +0000 windows-afsrpc-exports-20060620 New functions: rx_InitHost, rx_NewServiceHost commit 7af6b06cb6611a8925e3fa887ddf0a03542ee4dc Author: Jeffrey Altman Date: Tue Jun 20 21:32:55 2006 +0000 rxbind-for-servers-20060620 do not call parseNetFile on Windows where the function does not exist commit cb25e4400aa97379ec1b4390ddb3d343dc070935 Author: Daria Phoebe Brashear Date: Tue Jun 20 21:07:06 2006 +0000 revert-rx-magic-check-20060607 revert until i recode to avoid conflict with queues commit 06fa1f9c40432747724e6e55154bf54e1e3e94c5 Author: Jeffrey Hutzelman Date: Tue Jun 20 21:00:09 2006 +0000 viced-findclient-do-not-return-wrong-client-20060620 In h_FindClient_r it was possible for the wrong client to be returned and worse for it to be returned without the reference count being incremented. commit efd74baa950133de6ed92b7395be6d14ef63a58e Author: Rainer Toebbicke Date: Tue Jun 20 15:50:17 2006 +0000 viced-deadlock-20060620 FIXES 34073 * checks for client == oldClient * drops the H_LOCK prior to obtaining the WriteLock on oldClient in order to prevent a deadlock commit 1833072cc857fd0ee217f81e5be27f9f023cf9a1 Author: Jim Rees Date: Fri Jun 16 20:08:29 2006 +0000 no-divide-by-zero-20060616 Print nothing rather than dividing by zero if the cache manager doesn't return excessive cache params. commit 176c2fddb95ced6c13e04e7492fc09b5551f273c Author: Troy Benjegerdes Date: Thu Jun 15 16:51:25 2006 +0000 fs-getcache-show-more-20060615 show more info about cache usage, optionally commit 463d899a4f6527fc26d29e4cff31f65028cfa43f Author: Troy Benjegerdes Date: Thu Jun 15 16:42:24 2006 +0000 linux-current-already-used-20060615 don;'t conflict on use of current commit 2e691074fb6ce70e8352da3e57a746a77f7489f1 Author: Daria Phoebe Brashear Date: Thu Jun 15 16:12:13 2006 +0000 getaddr-avoid-looping-20060615 so it would be good to count these all off oops commit 592d97f9472abcf77496cef07261fa8766f60b9f Author: Daria Phoebe Brashear Date: Tue Jun 13 01:28:48 2006 +0000 rxbind-for-servers-20060612 FIXES 32308 support -rxbind switch for servers commit 33418253e06534b43ad44eaa71b7c4a84be7cb49 Author: Daria Phoebe Brashear Date: Mon Jun 12 17:19:27 2006 +0000 linux-enable-gcpags-20060612 enable gcpags commit b365b06d34a9450dc53ad22e8ecb3f6d922af5f4 Author: Chas Williams Date: Mon Jun 12 05:23:54 2006 +0000 recvackpkt-count-acks-and-open-cong-window-20060612 "the non AFS_GLOBAL_RXLOCK_KERNEL version of rxi_ReceiveAckPacket() wasnt counting 'hard' acks and not opening the congestion window. using rx_Readv() directs the incoming packets into the target iov, and sends a hard ack (skipping soft acks). " commit 3d1fc22c6ba5d07c831da79ffa01e3cf4d95322a Author: Daria Phoebe Brashear Date: Tue Jun 13 04:50:03 2006 +0000 getaddr-skip-loopbacks-version-for-macos-20060613 so rxbind does something sensible commit 1e5f6a17fcf4f7039bae756c22735b77a31ceec5 Author: Daria Phoebe Brashear Date: Tue Jun 13 00:58:33 2006 +0000 namei-dec-drop-lock-20060612 FIXES 17638 unsure why yet, or even if, but this is all that makes sense commit 40b690803a928da8bf25b1e03745e95f14fd1743 Author: Jeffrey Altman Date: Thu Jun 8 22:17:04 2006 +0000 windows-scache-recycle-fix-20060608 do not special case freelance entries commit 2c20a3d603fcc654759b8c90924f36468f8aae81 Author: Jeffrey Altman Date: Thu Jun 8 00:28:40 2006 +0000 windows-cifs-std-info-take-two-20060607 The "is a directory" value was being set one field beyond the end of the Standard Info reply structure. commit f6468e0f27c90b2e2385508f9a1f01b8b1d346d2 Author: Chaskiel M Grundman Date: Wed Jun 7 05:56:55 2006 +0000 no-client-tcon-20060607 remove client->tcon and avoid locking issues commit ff39cf322cff2b76290903203d3d6ee70b26ea1f Author: Chaskiel M Grundman Date: Wed Jun 7 05:31:33 2006 +0000 rx-magic-check-20060607 for pullup as /afs/andrew/usr18/cg2v/rx-magic-check.diff commit ed9a2181217f19b7ddbfe28118f6fb2f700b08ad Author: Chaskiel M Grundman Date: Wed Jun 7 05:25:38 2006 +0000 openlog-consistency-20060607 open logs consistently so assert logging is appended commit b8b1438716a14b596a68c2e77d54ca66009c01c2 Author: Russ Allbery Date: Tue Jun 6 23:33:07 2006 +0000 synchronize-xdr-20060606 Include the same set of xdr objects in the shared libafsrpc as are included in the static libafsrpc. commit 422f2d4523ae9be2ff3f1395db1dd62b0b3a3b4b Author: Jeffrey Altman Date: Tue Jun 6 17:57:43 2006 +0000 windows-smb-mountpt-is-dir-20060606 Be consistent about reporting mountpoints and invalid links as directories to the CIFS client. commit 81cd89320fe855d22f91bda461dd5cdba147b671 Author: Jeffrey Altman Date: Tue Jun 6 15:43:16 2006 +0000 windows-makefile-clean-20060606 cleanup additional files commit 36da63e03de7230b8464a50a58acf732ce994ff2 Author: Jeffrey Altman Date: Mon Jun 5 04:25:03 2006 +0000 windows-version-20060604 1.5.0002 commit 54eed0930a36c54db73f8e2d10c28b99c2c1e6bb Author: Jeffrey Altman Date: Mon Jun 5 02:29:19 2006 +0000 windows-notes-20060604 notes commit b30dcf9738d7fa87f8da4afa1f024376130b80a9 Author: Jeffrey Altman Date: Sun Jun 4 07:11:53 2006 +0000 viced-swap-old-cbcon-diff-20060603 FIXES 32985 swap cbconn when other side changes IPs commit f4f09d1c03cf738de6f73fc9d56502babd6743b4 Author: Jeffrey Altman Date: Sat Jun 3 18:59:35 2006 +0000 windows-scache-recycle-20060603 A deadlock was detected when performing "fs flushall" if the file server reports VNOVNODE. The scp->createBufferLock is already held by the current thread and there is no mechanism to propagate the knowledge. Therefore, an alternate mechanism for clearing the cache must be developed. A new function cm_RecycleSCache(scp,flags) has been extracted from cm_GetNewSCache(). This function performs the task of recycling an cm_scache_t object. When called from cm_GetNewSCache() with no flags the expectation is that there are no associated buffers that are queued to be read or written. When called from cm_Analyze() with the CM_SCACHE_RECYCLEFLAG_DESTROY_BUFFERS flag, any queued buffers will be de-queued and marked as if the operations were performed so the data can be discarded. This patch also addresses the following issues: * CM_ERROR codes were logged as "unknown" by cm_Analyze. * In response to VNOVNODE, the parent is only discarded if the current cm_scache_t is not a directory. * In the Ioctl FlushFile and FlushVolume functions, there were no checks to protect against flushing the Freelance SCache entries. * In FlushFile, the wrong cm_scache_t object was being released. * In cm_GetNewSCache, do not allow Freelance SCache entries to be recycled. Choose a new entry if cm_RecycleSCache fails. commit 99b572a00a342ab6ff003eb6736eb24a27e8fb15 Author: Chaskiel M Grundman Date: Fri Jun 2 22:12:27 2006 +0000 flock-handle-uae-errors-20060601 handle uae versions of errors for flock locks commit 3fdb1902c04153e3522e36c091b073dc7419ac65 Author: Joe Buehler Date: Thu Jun 1 16:57:15 2006 +0000 linux-vfsops-remove-redundant-code-20060601 FIXES 32783 remove redundancy commit 87313c96b1271b4730a27dcee1b6c062b0a37425 Author: Jeffrey Altman Date: Thu Jun 1 04:50:13 2006 +0000 windows-smb-fid-faster-20060531 Speed up the performance of the cache manager by not holding the smb_fid_t mutex across calls to cm_SyncOp and AFS RPCs. Ensure that all smb_fid_t flag references are protected. commit 397fb82b694e72d9259aaa7264ca432c007bdb6f Author: Daria Phoebe Brashear Date: Wed May 31 21:38:30 2006 +0000 fix-rx-getaddr-20060531 commit 134669a912a99b212fb4768d2a9a969cda5fffff Author: Jeffrey Altman Date: Tue May 30 17:56:51 2006 +0000 windows-smb-fid-deadlock-20060530 remove a deadlock introduced in 1.4.1 commit 83732fdb158e79b64774667ee09fc1b81062707e Author: Jeffrey Altman Date: Mon May 29 00:03:52 2006 +0000 windows-get-acls-20060528 It is possible to have a valid callback but not to have the required ACL info for the current user. Force acquisition of a FetchStatus but do so without making multiple calls. commit ee600c02e8f7c1299e3ebe13867f9aaa581c0141 Author: Jeffrey Altman Date: Mon May 29 00:01:26 2006 +0000 windows-hexdump-fix-20060528 do not allow unquoted percent signs to be logged commit 40415fe265d8e660f3698d8ab7f93004d589f902 Author: Jeffrey Altman Date: Fri May 26 22:11:15 2006 +0000 windows-access-fetchstatus-20060526 Do not call cm_GetCallback() directly. Always use cm_SyncOp(CM_SCACHESYNC_NEEDCALLBACK) commit 7ca1a339cb488fd97015e959e2a17e91e9b56409 Author: Jeffrey Altman Date: Fri May 26 07:35:34 2006 +0000 windows-dynamic-thread-priority-20060525 Dynamically adjust the priority of server threads based upon the age of the cifs request that is being processed. Bump the priority one level for each 15 seconds of age. commit c1e79275079cfa68d73cc3a008c3fb3b201f1068 Author: Jeffrey Altman Date: Thu May 25 18:11:57 2006 +0000 windows-head-tail-queue-removal-20060525 while investigating the cause of the delayed write errors it was observed that all of the sleep queues are LIFO. This has the side effect of encouraging starvation. Changing the queues to FIFOs revealed a serious problem affecting the use of all queues which use both head and tail pointers. The removal function osi_QRemove does not take a tail pointer and therefore the pointer is always left hanging. If the number of elements ever drops to zero the queue becomes corrupted. Added osi_QRemoveHT to be used whenever head and tail pointers are used. Updated all callers in afsd. commit b753ef7265b1970d1e38f3c65532af929102e1d6 Author: Jeffrey Altman Date: Wed May 24 23:59:51 2006 +0000 windows-smb-mods-20060524 Prevent smb_FindVCP from returning dead virtual circuits Treat "*." as an alias for "all" commit cefa6b1dce9aa3c12a7afbc0c6b4d68c3444758d Author: Daria Phoebe Brashear Date: Wed May 24 16:49:11 2006 +0000 getaddr-skip-loopbacks-version-for-macos-20060523 so rxbind does something sensible commit 1344a69c57f6c2b8e0588e4b18b1178bc596f190 Author: Hartmut Reuter Date: Tue May 23 17:29:11 2006 +0000 rxkad-var-tkt-len-20060523 FIXES 31966 allocate memory for struct rxkad_cprivate based upon the actual ticket size not the max ticket size commit 53f6c22a2b590279d0ea4859829aec71c0692983 Author: Jeffrey Altman Date: Tue May 23 05:47:29 2006 +0000 rx-rdwr-type-casting-20060523 type cast correctly commit 36f3bafb44aae8472453a1c39e9585b920a1bada Author: Jeffrey Altman Date: Sat May 20 04:14:07 2006 +0000 windows-aklog-afsid-lookup-20060519 if the cell matches the realm, do not lookup with realm commit 69c7d8ae707fd1a145b8eec756526603ddd370b7 Author: Jeffrey Altman Date: Sat May 13 15:22:20 2006 +0000 viced-host-mobile-client-20060505 Do not delete an old host entry because the UUID because the UUIDs of the clients at the old addresses are wrong. Remove the addresses. Do not allow the same host,addr,port combination to be added into the hash table multiple times. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Add some more logging Do not allow 'code' to be re-used for probing the uuid of the old host primary address because we are relying on the value of 'code' to indicate whether or not RCallBackConnectBack failed. If it did, we mark the client as VENUSDOWN, if not we marked it as RESETDONE. ==================== log the old addr, not the new one commit f6833e96f961de1c1d402646c87681f27bf926e9 Author: Jeffrey Altman Date: Thu May 11 13:36:06 2006 +0000 windows-smb-vcp-cleanup-races-20060511 Only allow one thread to mark the vcp dead commit bcabba994188a4c88bdae3c5252c9b0de5d163c8 Author: Daria Phoebe Brashear Date: Wed May 10 05:51:41 2006 +0000 viced-writevalloc-dont-vtakeoffline-20060510 random errors shouldn't take the volume offline commit 40916b821aa19fb2aa810e8828e563d80d89cc82 Author: Jim Rees Date: Tue May 9 19:41:47 2006 +0000 fbsd-saddr-20060509 Small fixes to get sockaddr_storage changes working on FreeBSD commit e55549af1447acf46b5fe7925d46841ddc641c14 Author: Jim Rees Date: Tue May 9 16:49:49 2006 +0000 snprintf-20060509 Change sprint to snprintf commit 66596cc677e8cbf7fa40ad2962ccc4547692afb5 Author: Jeffrey Altman Date: Tue May 9 06:18:08 2006 +0000 windows-addr-change-mods-20060509 When the client changes IP addresses, in order to obtain optimal performance it must: (1) force the replacement of all existing rx connections (2) ping all up and down servers commit 3a5acf0f09cf18ea0fefcef961fcfe2dbf978656 Author: Jeffrey Altman Date: Tue May 9 05:15:47 2006 +0000 bringing-rx-into-21st-century-20060504 rx_InitHost() port is in network byte order commit cabc803a62c2f3d20d41356bc177873bcf79c033 Author: Jeffrey Altman Date: Tue May 9 02:37:30 2006 +0000 windows-less-power-mgmt-logging-20060508 comment out some of the power mgmt log entries reducing the size of afsd_init.log commit 77fbc6a158a570f1816c87433c0e4c44c0fc8fce Author: Jeffrey Altman Date: Tue May 9 02:34:20 2006 +0000 windows-smb-vcp-clean-20060508 don't grab the vcp mutex after releasing the vcp commit f86e9dfd7b97e1e26730be2d960bef004d3d3a1f Author: Jeffrey Altman Date: Tue May 9 02:30:37 2006 +0000 windows-osi-lock-validate-20060508 perform lock type validation commit 948027777114c8061aaed3818dbdd836cfd87b11 Author: Daria Phoebe Brashear Date: Mon May 8 20:26:38 2006 +0000 macos-packaging-oops-20060508 no plugin yet commit c4b6c57f6706cf3672294c23a232d84aff107812 Author: Jeffrey Altman Date: Fri May 5 19:26:51 2006 +0000 windows-manifests-20060505 embed manifests when building tools needed for building OpenAFS commit ada9819fd630f6cbe6fb8d442e79326df1fcdcad Author: Jeffrey Altman Date: Fri May 5 17:27:21 2006 +0000 viced-host-logging-20060505 another place where dotted notation and port numbers were not being used in log output. commit 86ff4c4d6bd264210990b57cbdbbf6b40d742716 Author: Jeffrey Altman Date: Fri May 5 16:50:21 2006 +0000 windows-wix-vs8-20060505 Enable wix installers to build with VS8 compiler on X86 commit c17eb1925c6ba6ed41705829287abc6145d97163 Author: Jim Rees Date: Fri May 5 15:37:28 2006 +0000 cast-sockaddr-20060505 Cast sockaddr_in to eliminate warning commit 62afc0a8c1e8528b1a50b0d4b6ba2b10acbe9879 Author: Ken Hornstein Date: Fri May 5 06:47:37 2006 +0000 more-rx-updates-20060504 Suppress warnings from prototype changes. Trial code for OpenBSD support. Fix missing piece from UKERNEL. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== IPv6 support for Windows requires the use of ws2tcpip.h and associated restructing of include file order. commit 9b6343e20315c131085b4a8e7f2aeeca61ef39c0 Author: Ken Hornstein Date: Thu May 4 22:23:17 2006 +0000 bringing-rx-into-21st-century-20060504 Large series of changes to replace the use of afs_uint32 for IP address with struct sockaddr_storage in Rx. May even work with IPv6, but only tested with IPv4. Significant change to internal APIs; existing external APIs kept, new ones added that take struct sockaddr_storage arguments. commit ea3ed375e8f706456afddd23bff5ebf906565d92 Author: Jeffrey Altman Date: Thu May 4 05:54:19 2006 +0000 viced-hcps-logging-20060504 log whenever a client host does not have an hcps value. log the host by dotted ip-addr and port number commit 97a9d1964347e2b4b0f75e749b4d8f36d09fc876 Author: Tommie Gannert Date: Sun Apr 30 05:58:28 2006 +0000 windows-ansi-filenames-fix-20060430 FIXES 31202 Remember to perform an OemToChar() conversion of the file name being queried in Trans2QueryFileInfo commit 702e3346f36d448af8901d31c543d9d4b35bfa81 Author: Tommie Gannert Date: Wed Apr 26 16:22:33 2006 +0000 vlserver-rxmaxmtu-fix-20060426 use 'index' as offset to argv commit bf7404c3510d63b90c2cb15766f8455f79da90fe Author: Jeffrey Altman Date: Thu Apr 27 16:49:55 2006 +0000 windows-deadlock-and-race-removal-20060427 This patch fixes: * race conditions around cm_Lock() calls that were not protected by cm_SyncOp(LOCK) [asanka@secure-endpoints.com] * deadlocks caused by obtaining smb_fid_t->mx after cm_scache_t->mx * removes an extra Release smb_fid_t->mx that could result in releasing a mutex that is not currently held * changes the log representation of several return codes and fids to be consistent with other output commit b2b3aa1afb592955a9478c43367052fda6f4ffbd Author: Rainer Toebbicke Date: Wed Apr 26 16:43:17 2006 +0000 namei-delay-fsync-20060426 FIXES 30632 group fsync calls to speed up operations commit 9677ca31860dd39749e7b3c2695d7209c1737cb6 Author: Derek Atkins Date: Wed Apr 26 16:40:43 2006 +0000 os-probe-linux-2-6-9-20060426 FIXES 30514 make this work on 2.6.9 commit 811b7f89e83e327a96c2c4dffd2a9a58d784f88a Author: Christof Hanke Date: Wed Apr 26 16:36:21 2006 +0000 pam-configure-optmz-20060426 FIXES 30659 get rid of hardcoded optimize flags commit 5452bc370977d6911282b836d4725587a45f3285 Author: Daria Phoebe Brashear Date: Wed Apr 26 16:03:20 2006 +0000 md5-fix-20060426 the user struct macros hate us commit a88cb6c662d7fc0daed043ba40d971f4b5d2a05a Author: Jeffrey Altman Date: Wed Apr 26 14:56:31 2006 +0000 linux-probe-missing-commas-20060426 FIXES 30977 Add missing commas for non-2.6 x86_64 platforms commit ecdc5aca34b0f0dc6bf67eb95f8e6506c556ca26 Author: Jeffrey Altman Date: Tue Apr 25 07:40:48 2006 +0000 viced-write-locking-fix-20060425 According to src/libacl/prs_fs.h the PRSFS_LOCK privilege is only supposed to control read-locks. The PRSFS_WRITE and PRSFS_INSERT privileges are supposed to control write-locks. commit 7d46e23621515da4a6eeb68be72ce086a86dbb12 Author: Jeffrey Altman Date: Mon Apr 24 16:02:48 2006 +0000 windows-version-20060424 1.5.1 commit 67a28f0875fe7d96e028b5abee9a0e0d2e8a7112 Author: Jeffrey Altman Date: Mon Apr 24 16:00:50 2006 +0000 windows-notes-20060424 notes for 1.5.1 commit edff1e8788a2cadfd6bb9e08f9cfdbfb491924a6 Author: Jeffrey Altman Date: Mon Apr 24 15:25:12 2006 +0000 windows-pthread-cleanup-20060424 A number of crash reports have been filed with Microsoft in afspthread.dll. The crashes are occuring as the processes are terminating. In order to attempt to address this problem this patch adds support for a DllMain() entry point that is used to cleanup Thread Local Storage and the various RX queues. One theory is that processes are loading and unloading DLLs that are linked to afspthread.dll leaving the pthread data in a very inconsistent state after each unload. By cleaning up the static data during the unload, if afspthread is loading again it will be forced to initialize the data once again. commit 237ab6e5ba1e385d70601b48c89a56a409cc3050 Author: Jeffrey Altman Date: Sat Apr 22 20:44:28 2006 +0000 windows-insert-locking-without-afsid-20060422 This patch disables the lookup of the user's AFSID and instead solves the problem by tracking which cm_user_t created the file. If the user is unable to obtain a write lock and is the creator, then we check for the Insert bit. Otherwise, we deny access. commit d463c0f7c62472b699c89ae406e7a622ff81092d Author: Jeffrey Altman Date: Sat Apr 22 04:45:47 2006 +0000 windows-vista-20060421 Vista has a bug in the Netbios ADAPTER_STATUS output in which the first four bytes of the MAC address with 127.0.0.1. We must check for that when searching for the Loopback Adapter. commit 106d23c3ec8e3fc8a5d6f33ac0bd1f6020b787b3 Author: Jeffrey Altman Date: Fri Apr 21 16:08:17 2006 +0000 windows-notes-20060421 updates post 1.5.0 commit dc39c28d68f0122691d6f6059eaed90ddb2a4768 Author: Jeffrey Altman Date: Fri Apr 21 16:03:34 2006 +0000 windows-rx-init-fallback-20060421 when the cache manager is being frequently restarted (especially during debugging) the 7001/udp port is often not freed appropriately. This prevents the cache manager from running. This patch allows the cache manager to retry with a random port number. commit 507f4f14f8e620736b85904a0b98cbf4c355419e Author: Jim Rees Date: Fri Apr 21 15:58:38 2006 +0000 openbsd-packaging-20060421 Use tar and shell scripts instead of pkg_ for packaging. The new package system apparently depends on ports and can't be used standalone. commit 270e5a9077f7f217eb3188768fd9e2d6e1bc15e8 Author: Jeffrey Altman Date: Fri Apr 21 14:52:02 2006 +0000 windows-wix-20060421 missing close paren commit 625d0a2016cb914040a94fb811849ff25eab8dfc Author: Asanka Herath Date: Fri Apr 21 05:57:55 2006 +0000 windows-wix-32bit-tools-20060420 Add support for build a 32-bit tools package for use on 64-bit Windows. commit 4a1296c25ad8320ec72035b063910ca33c0c093f Author: Asanka Herath Date: Thu Apr 20 19:52:03 2006 +0000 windows-client-side-locking-20060420 In order to make the client side locking more usable, if the client is denied a lock by the server and the user only has read privileges, then we will allocate a local lock. Local locks are not allocated for write locks. There is a bug in the file server locking dating back to at least AFS 3.1 in which the lock privilege is used for read, write and insert locks. According to the docs, the lock privilege is only supposed to control read locks. Write locks on new and existing files are supposed to be controlled by the Write and Insert privileges. This will be fixed in the file server by another commit. commit 01fe275679740d516b78a477c8976fbefe1217b4 Author: Jeffrey Altman Date: Thu Apr 20 18:19:22 2006 +0000 windows-query-afsid-20060420 In order to properly handle the local allocation of locks the cache manager must enforce the locking rules associated with PRSFS_WRITE and PRSFS_INSERT and PRSFS_LOCK. Insert affects "new files" which in AFS are defined as any file that is owned by the user. Therefore, we must know the afsid of the user so that it can be compared to owner of the file. This commit includes a query using PR_SNameToId where the name is the name specified by the entity setting the token. There does not currently exist a Protection Service RPC to return the AFSID of the entity that the rx connection was authenticated as. Such a function will have to be added in order to make this functionality secure. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Export functions missing from the UNIX version and the PR_ functions required by the Windows Cache Manager. commit 06250078ecef7e8cb65ab2bd3aec85608bcb39db Author: Jeffrey Altman Date: Mon Apr 17 19:59:41 2006 +0000 rx-dpf-20060417 fix dpf to print the right thing and not simply fail to compile commit 8074632d6938e965d3f02cc07359d85276c25dbc Author: Jeffrey Altman Date: Mon Apr 17 16:20:50 2006 +0000 volser-dump-validate-input-20060417 This patch adds code to perform return code error checking for all calls to the ReadXyz() routines. If the rx connection was lost or if the dump format being parsed was incorrect there was an opportunity for data to the processed after an error had already been detected. In the best case this would have simply resulted in additional work being performed when it was not necessary but there was also the potential for modifying return values which would later be used as input to later operations. Better to simply catch the error when it initially occurs and be done with it. The ReadString() function had the potential to write into one byte prior to the start of the input array. ProcessIndex() would not properly close Fdhandle nor the StreamHandle if an error was detected. RestoreVolume() had a problem with the processing of incremental dumps. Originally AFS supported a concept of incrementals dumps which when restored would simply add their contents to the existing volume. One of the distinctions between the incremental and full dumps is that full dump processing is responsible for removing any vnode entries from the volume that are not present in the dump file headers. When the incremental dump support was removed, the RestoreVolume() function was broken. If a dump file contains multiple Dump Headers, then only the vnode entries in the first Dump Header would be marked as being restored. Any vnode entries restored from subsequent Dump Headers would be deleted when the RestoreVolume() function reached the end. By removing the assignment of 'tdelo = -1' within the loop that processes the Dump Headers, this bug is resolved. Although RestoreVolume is only called with the 'incremental' parameter == 0 at the current time, the check for non-zero values is restored and the "remove unrestored vnodes" functionality is disabled when a non-zero value is provided. The ReadVnodes() function did not perform error checking. commit f8103d800d8136d9f19fc880497741da859ff830 Author: Andrew Deason Date: Mon Apr 17 15:59:04 2006 +0000 vos-date-parse-errmsg-20060417 FIXES 30218 use the correct index value when printing the invalid date string commit c77421ff087d059b8723b8e44f19a87e860d5593 Author: Tom Keiser Date: Fri Apr 14 14:12:16 2006 +0000 aix-build-fix-20060413 FIXES 30089 don't include this other than in kernel commit bbf4620d2d5c0d80d01f737b5bdda794453dd4ad Author: Daria Phoebe Brashear Date: Thu Apr 13 22:08:19 2006 +0000 irix-ifnet-flags-20060413 make ifnet_flags b e defined for irix also commit 4d91ee63efb8b00dd2e6a1a50072928a94673175 Author: Daria Phoebe Brashear Date: Tue Apr 11 20:40:19 2006 +0000 inode-64bit-type-20060411 use a 64 bit type for 64 bit inode size with inode fileserver commit 9ebf2fed4a1af7134fa86d09c865802b05ed27d1 Author: Rainer Toebbicke Date: Tue Apr 11 20:27:03 2006 +0000 backup-dump-parameter-fix-20060411 this is a pointer, not an int, pass in NULL not 0 commit f1ef60c020feffb73b2aee4c1871afba039afb67 Author: Jeffrey Altman Date: Mon Apr 10 18:57:33 2006 +0000 windows-remove-active_vcp-20060410 The 'active_vcp' variable is no longer being used for any useful purpose and is the center of a race condition that could lead to an undercount of references to 'vcp' objects. Remove it. commit b85118420f7493dd5e61d5a1da35c6ffb28985b5 Author: Russ Allbery Date: Mon Apr 10 17:41:22 2006 +0000 man-page-fs-listquota-perms-20060410 fs listquota requires read on the directory, not list. commit 632d0c701b31877b4d74f5f3849a5a8054f7326a Author: Jeffrey Altman Date: Sun Apr 9 08:28:58 2006 +0000 windows-getvolstatus-20060408 don't prevent all calls to getvolstatus, just the ones that are not AFS pioctl calls. commit b9f22f0b7b9bf9aa746d3ef8ea63465b1cdadb97 Author: Jeffrey Altman Date: Sun Apr 9 05:52:38 2006 +0000 windows-protect-against-vcp-undercount-20060408 An undercount has been detected of the smb_vc_t objects stored in the smb_allVCsp list. Unfortunately, we have yet to be able to find the cause of the undercount so this patch adds logic to protect against the side effects until such time as the cause can be identified. commit 9817af2a81eded29eeefcf8ef4445301a7d348ea Author: Jeffrey Altman Date: Sat Apr 8 20:40:15 2006 +0000 viced-store-data-validate-input-20060408 The old StoreData RPC is only supposed to be valid for files smaller than 2GB. When StoreData64 was added, StoreData and StoreData64 were implemented as calls to common_StoreData64. This removed the bounds checking on the old StoreData RPC making it possible for operations beyond two 2GB to be requested even if the file server cannot support them. This patch adds a validity check to ensure that the requested file operations remain below 2GB. Failures return E2BIG. commit b9282fbe0f9c4eec359ecdce77b35c88cde54793 Author: Jim Rees Date: Fri Apr 7 18:26:49 2006 +0000 bsd-md5-20060407 Use kernel md5 on bsd. commit 78bb852509767ff32547c8dc90c385a4c503e0f9 Author: Jeffrey Altman Date: Fri Apr 7 06:34:26 2006 +0000 xstat_fs-fix-20060407 as pointed out by cg2v@andrew.cmu.edu the addition of performance collection data for the GetCapabilities RPC broke backward compatibility with previous builds because it altered the size of the data structure sent on the wire. Instead we count the number of GetCapabilties calls but do not gather performance timing data as this can be done using spare fields. commit 714df786894e6a9572e93d77b68384706abb02f0 Author: Chaskiel M Grundman Date: Fri Apr 7 06:21:38 2006 +0000 linux24-fix-osi-probe-20060407 linux-updates-20060331 broke 2.4 kernels commit 1b0f8949f1a7daf8614a5b6c9c65c68e70c37917 Author: Jim Rees Date: Thu Apr 6 15:39:04 2006 +0000 calc-inum-linux-only-20060406 Disable md5 inode calc on non-linux. commit a67acd0e9abc4b5a894db26887128a90e3016d65 Author: Daria Phoebe Brashear Date: Thu Apr 6 02:24:21 2006 +0000 md5-inode-numbers-20060405 FIXES 25849 an interface which lets you select md5 based inode numbers, and the csupporting code ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 25849 an interface which lets you select md5 based inode numbers, and the c^?supportin g code commit b3120246765e9f5d144ac470b66269ccbbce48a9 Author: Daria Phoebe Brashear Date: Wed Apr 5 14:45:58 2006 +0000 macos-packaging-update-20060405 FIXES 29226 copy cellservdb if there is none commit e687de8609045b46044876dc2f5941b038639714 Author: Jim Rees Date: Wed Apr 5 01:21:56 2006 +0000 test-heimdal-20060217 Add a configure test for heimdal and use it to build asetkey or not. Thanks to Derek Atkins for his helpful suggestions. commit a64e7f34bd3ea8912286b043428dfdeb3a3a37cc Author: Jim Rees Date: Tue Apr 4 22:32:22 2006 +0000 syntax-err-20060404 Fix syntax error (missing braces) Fix include file ordering Don't declare *tmpdir extern, we're initializing it here (even though there's no reason to) Fix OnlyOneVolume args to match proto commit 54ce580ef3fdb6c98a80d1104728b1e25d3fb9ff Author: Daria Phoebe Brashear Date: Tue Apr 4 21:51:13 2006 +0000 time-t-casting-fixes-20060404 FIXES 15169 hopefully the rest of this commit 62e28d9a0a6adc6e1f3c2938bfc530b54bea4158 Author: Chaskiel M Grundman Date: Tue Apr 4 02:41:12 2006 +0000 linux-enroll-locks-20060403 FIXES 25037 enroll our locks in the linux kernels' lock management commit ef95f2a0ce318e4c5ecad0d533b2b8e13040188b Author: Chaskiel M Grundman Date: Tue Apr 4 02:35:15 2006 +0000 vnop-ifdef-cleanup-20060403 make this less messy commit 14d6771b9ddb413d2e870c57a4ade070b5b045f0 Author: Jim Rees Date: Mon Apr 3 17:22:30 2006 +0000 iso-8601-20060403 Parse a pitiful subset of ISO 8601 in date/time strings commit 0fd8768c859b549c2294dcb4dc4cb315deb7caad Author: Jeffrey Altman Date: Mon Apr 3 00:54:40 2006 +0000 windows-minidump-20060402 change minidump default to include data segments commit f3cf7bcda211c0f6b305db309fe402d08206f8a9 Author: Jeffrey Altman Date: Mon Apr 3 00:44:56 2006 +0000 windows-util-makefile-20060402 remove duplicate entry for strlcpy commit ea59126e31672e3a1ed2958ea10ef5dbad24813e Author: Chaskiel M Grundman Date: Fri Mar 31 06:51:03 2006 +0000 linux-updates-20060331 FIXES 29122 29110 29112 fc5 and 2.6.16 updates commit f86af4af2600707f0573d6a5623b32116b4b0656 Author: Jim Rees Date: Thu Mar 30 18:13:39 2006 +0000 nat-mode-20060330 Code for "nat mode." Currently there is no way to set it, because it would be a bad idea to make this available to the casual user. commit d387dba5efc88b14696b72e6b18cfb1af264be04 Author: Daria Phoebe Brashear Date: Thu Mar 30 17:27:52 2006 +0000 viced-gethostcps-byte-order-20060328 don't call GetHostCPS after swapping away from net byte order commit 5b20ed35114473061015d3ff1904c12d0790c7ea Author: Russ Allbery Date: Wed Mar 29 21:44:16 2006 +0000 man-page-asetkey-20060329 Add a man page for asetkey. commit 5f70d9bb3ce0d1bb5db6604a53c52f483449e0d3 Author: Russ Allbery Date: Wed Mar 29 21:00:50 2006 +0000 man-page-kaserver-fix-20060329 SYNOPSIS was mislabelled DESCRIPTION and the man page was therefore missing the HTML formatting fixes. commit 2c96a91ba42674e35ca7d54c0c20a1725b733e37 Author: Daria Phoebe Brashear Date: Wed Mar 29 06:26:49 2006 +0000 viced-client-keep-conn-ref-20060329 FIXES 28966 keep a ref on the conn the client has a pointer to commit 1904db3fa3a0765f63ae4ecac23a8464818f1e9c Author: Daria Phoebe Brashear Date: Wed Mar 29 05:13:58 2006 +0000 viced-gethostcps-byte-order-20060328 don't call GetHostCPS after swapping away from net byte order commit a4f24472aa7abee6500188c6bb3acabcf96377bc Author: Garry Zacheiss Date: Tue Mar 28 19:39:45 2006 +0000 afsdb-len-signed-20060328 in order for -1 to ever be returned, it's gotta be signed... commit 467127075872971354e8dce10b7d596714448e04 Author: Jim Rees Date: Mon Mar 27 18:27:38 2006 +0000 ignore-new-targets-20060327 cvsignore new targets commit 1db522b6ac7df1d5f569d4cd654ead4dcbea91b4 Author: Daria Phoebe Brashear Date: Thu Mar 23 21:06:18 2006 +0000 debian-updates-20060323 from russ and sam commit 5a1bd817b82ad613b1b63738dfa4a08746531a96 Author: Daria Phoebe Brashear Date: Wed Apr 5 01:11:15 2006 +0000 build-system-updates-20060323 config.sub config.guess and some other scripting updates commit bb96daf441402cb6def2c20cc20f51d3d160b6e1 Author: Daria Phoebe Brashear Date: Thu Mar 23 16:07:30 2006 +0000 macos-packaging-fixes-20060323 update to make sure we have a cellservdb, that we shut down afs before an upgrade, and install the universal binary build script commit a1041136186dba50f035ddc9b97fbfb86469b504 Author: Daria Phoebe Brashear Date: Thu Mar 23 15:35:53 2006 +0000 afsd-fs-check-20060323 from debian, modified slightly. tell people why their filesystem sucks commit db8d1da77aa792e0d042bf5dbe041c534350b277 Author: Russ Allbery Date: Thu Mar 23 05:41:02 2006 +0000 man-page-todo-20060322 More to-do items for the documentation. commit c0ce1b880a48661ac307477317091a63e9763623 Author: Daria Phoebe Brashear Date: Wed Mar 22 20:05:47 2006 +0000 sunos-dos2unix-20060322 dumbest change ever commit 681419e6eda37488fee938c8abc1a59bbf2764c9 Author: Daria Phoebe Brashear Date: Wed Mar 22 19:57:04 2006 +0000 parisc-linux-lwp-20060322 pulled in from debian commit 095f64a7e9125a173a42d4ab95acba30ae21aa23 Author: Jeffrey Altman Date: Mon Mar 20 17:29:52 2006 +0000 windows-dafs-20060320 64-bit time_t pointer update ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== correct a type for consistency ==================== corrections to the dafs delta to allow compilation on Windows commit 2d43189490c04357e23329929c2c1846ed0c7ab0 Author: Asanka Herath Date: Mon Mar 20 17:20:01 2006 +0000 windows-64bit-wix-installer-32bit-tools-20060320 Construct an MSI for installing 32-bit AFS tools and libraries on 64-bit Windows for use with 32-bit Kerberos tools. commit c56c8a9b80ee96c1765fa0c186dcabe28fc3e5eb Author: Jim Rees Date: Mon Mar 20 16:15:23 2006 +0000 strl-20060320 src/util/strlcat.c src/util/strlcpy.c commit b8cbfc363767e07a80b5759c8df5383e4f04d65f Author: Daria Phoebe Brashear Date: Mon Mar 20 16:01:22 2006 +0000 tvolser-try-ntmakefile-20060320 first cut at ntmake for tvolser commit e6f0c0c68f6b4d415484eed556dd65bcaacc9585 Author: Jeffrey Altman Date: Mon Mar 20 13:38:36 2006 +0000 another-time_t-pointer-fix-20060320 do not pass in pointers to 32-bit values as pointers to 64-bit values commit 1b2fbe5fa9384eb5e1b19487eb6b0d201bea975e Author: Jeffrey Altman Date: Mon Mar 20 13:25:50 2006 +0000 another-time_t-pointer-bug-20060320 do not pass pointers to 32-bit values as pointers to 64-bit values. this results in memory corruption commit 3f061cc2c3a8998d8c8e34a49d5fb964bb434a08 Author: Pedro Perez Date: Mon Mar 20 04:45:06 2006 +0000 configure-help-clarity-20060319 Change "AFSDB RR" to "AFSDB DNS RR" for people who don't speak DNS. commit 8c622ec7d7d89b8272b6d190c3865e0560da47cb Author: Pedro Perez Date: Mon Mar 20 04:41:23 2006 +0000 readme-references-20050319 Refer to the right names of the extra README files. commit e63312e79aa747232239030807595356f40bc367 Author: Russ Allbery Date: Fri Mar 17 23:10:50 2006 +0000 sparc-linux-config-20060317 Collapse all of the sparc*_linux* cases into a single case. Not just for ease of maintenance -- this also results in clearer error messages for configurations that aren't supported and should allow building of the userspace tools for a few @sys types that the kernel build doesn't support. Reported by Michael Conrad and Karl Ramm. Patch has been in the Debian package for some time. commit 51ec2670116d95bb6bdcd7871fce685fc2eaaeb0 Author: Tom Keiser Date: Fri Mar 17 19:54:26 2006 +0000 dafs-20060317 FIXES 26648 demand attach/fast restart fileserver commit cba4f12e172ed6b7901b57709037c1f43febc309 Author: Daria Phoebe Brashear Date: Fri Mar 17 19:44:06 2006 +0000 dedebug-20051007 perhaps this should never be pulled up. anyway, implement dentry cache status dumping for linux.^? and provide a tool to dump it disabled (tool, not rpc) by default commit a9102a89f046e578df9e0e165e34c951a10b2c22 Author: Jim Rees Date: Wed Mar 15 19:32:49 2006 +0000 fix-includes-20060315 Now that we include arpa/inet.h, also include its prerequisites, and fix the ordering. commit c6203bc67e31d40a95f7ef5a4689d1d6b1b2ccd9 Author: Rainer Toebbicke Date: Wed Mar 15 18:34:26 2006 +0000 snprintf-needs-arpa-inet-20060315 FIXES 28226 include arpa/inet.h so we get inet_addr prototype commit 5c408ee134b096352d140b1ce6b58edcf6e492d5 Author: Dave McMurtrie Date: Wed Mar 15 18:27:43 2006 +0000 tokens-buffer-overflow-20060315 FIXES 28227 avoid a too-short buffer we try to fill with a username. doh. commit 9340a22d6eb7a0399630cbe332bf947fd534c3ee Author: Tracy Di Marco White Date: Wed Mar 15 18:22:30 2006 +0000 nbsd4-20060315 FIXES 27916 netbsd 4.0 support commit 5ca54f23629145a9452345bd2d514b8fb571f735 Author: Chas Williams Date: Wed Mar 15 16:26:06 2006 +0000 linux26-module-parm-versus-param-20060315 FIXES 27588 deal with 2.6 changes commit 247273c51b10fca2c8f5633d203aa6a042e19b3b Author: Neale Ferguson Date: Wed Mar 15 16:15:07 2006 +0000 s390-linux26-20060315 add s390 linux26 support commit a8b82b1a744859a3ce2796fd17f997e0bdd2b570 Author: Jeffrey Altman Date: Tue Mar 14 00:33:14 2006 +0000 viced-unspecified-host-hash-port-20060313 h_Alloc_r was not specifying the port for the newly allocated host when adding the host to the hash table. Use hashInsert_r instead so mistakes like this won't happen in the future. commit b89082ac8926fb77d505e5ad35c2c22c0e355114 Author: Jim Rees Date: Mon Mar 13 23:15:44 2006 +0000 cmd-protos-20060313 Fix protos for cmd funcs. commit 9afcb2529a72f0169313d65b8410f5093d14fc0a Author: Chaskiel M Grundman Date: Mon Mar 13 20:53:14 2006 +0000 viced-log-fix-typo-20060313 fix typo in addInterfaceAddr_r that is identical to the one that was fixed by viced-log-fix-type-20060210 in removeInterfaceAddr_r commit b1883ef6ad619ffa1fb76caf5d3568f69c1e3136 Author: Jim Rees Date: Mon Mar 13 19:18:07 2006 +0000 no-clid-for-bsd-20060313 Back out rev 1.28 for BSD. On BSD, clid is not necessarily a pid. Passing it to HandleFlock results in client hangs. commit 9d3faf66086f47b0cd4551075b336ee0ea567979 Author: Jim Rees Date: Mon Mar 13 16:26:27 2006 +0000 curproc-20060313 Possible fix for curproc panic reported by ober@linbsd.org. My guess is it will fix this one but others are lurking. commit 7b33107a9c92d8d72ad269c2c1da9a4adc52560a Author: Jeffrey Altman Date: Mon Mar 13 15:09:40 2006 +0000 multiple-local-realms-fix-20060313 Fix use of "=" instead of "==" in conditional. Re-order parameters of afs_is_foreign_ticket_name for consistency commit 9b1fa66828ecb02d782378f1717ac813ff657fdf Author: Jeffrey Altman Date: Thu Mar 9 21:49:04 2006 +0000 host-tossstuff-locking-20060309 the nonblocking locking was my fault. commit cc324ae0653a7d2170a065f61b8475d76cdf03c1 Author: Rainer Toebbicke Date: Thu Mar 9 16:25:48 2006 +0000 xstat-fs-callbacks-20060309 FIXES 27912 add new collection with callback stats commit d451a366fba93bdbfcd1dd40adf2335ed2d7adf7 Author: Jim Rees Date: Thu Mar 9 15:27:17 2006 +0000 openbsd39-20060309 Changes for OpenBSD 3.8 and 3.9. Based on ports by ober@linbsd.org and todd@fries.net. Untested. commit 346d85adb00b34473bbec176184df40bf4b245bc Author: Jim Rees Date: Thu Mar 9 14:36:35 2006 +0000 fstab-moved-20060309 fstab.c moved from viced to util commit 9f94892f8d996a522e7801ef6088a13769bee7c2 Author: Ed Moy Date: Thu Mar 9 06:35:14 2006 +0000 darwin-x86-and-leopard-20060309 updates for darwin x86, and pre-leopard commit 6e7d51187c881e6a785b88ccddbb083e52d58448 Author: Chas Williams Date: Thu Mar 9 06:05:46 2006 +0000 linux-updates-20060309 FIXES 27590 add missing variable test ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 27589 update for new mutexes commit da878c2b9d11471b3e59fc9fe0694a5e23e373c2 Author: Russ Allbery Date: Wed Mar 8 20:05:59 2006 +0000 man-page-bash-bashish-20060308 if ! command is a bashish. Use if command ; then : ; else instead. commit c2535c0ee725657d2e06dd29fd3fba0ec3a66138 Author: Jeffrey Altman Date: Wed Mar 8 05:04:36 2006 +0000 rx-panic-printf-20060307 restore use of printf in osi_Panic commit 9dc84c8c6c4682ab3c0a536a7ac10e997724f2b0 Author: Jeffrey Altman Date: Mon Mar 6 21:23:09 2006 +0000 windows-mkmount-20060306 allow case-insensitive matches for the parent of the mount point commit d0c343249ce0aad22d9577dd9bfea2bd72857e06 Author: Jeffrey Altman Date: Mon Mar 6 20:07:08 2006 +0000 windows-init-20060306 fix sysname string on amd64 add registry configurable CallBackPort to allow for forcing the client to use different ports when talking with the file server. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add registry configurable CallBackPort to allow for forcing the client to use different ports when talking with the file server. Add UAE errors to cm_Analyze debug output commit 9c687f10d013e423fb75d8049cc224218257c104 Author: Jeffrey Altman Date: Mon Mar 6 05:01:22 2006 +0000 windows-smb-log-packet-20060305 packet strings can contain %; do not parse as a format commit 638eef405b802fb1215efc9e828996a8c6381067 Author: Jeffrey Altman Date: Mon Mar 6 03:11:31 2006 +0000 windows-xstat-20060304 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== build xstat utils for windows ==================== more windows specific mods plus improved output of ipaddrs and port numbers when debugging commit c582cab1fb1708109f2aa26aab8eba189198e729 Author: Jeffrey Altman Date: Mon Mar 6 03:04:38 2006 +0000 windows-rx-lwp-clock-20060305 clock_Init() was broken because it would initialize rxi_clock0 with QueryPerformanceCounter() and then call clock_UpdateTime(). So instead of getting an ever increasing value you would get a fixed value determined by how long it takes to make a function call between to QueryPerformanceCounter() calls. commit f803153c992af44cea18f4c948c7f3fb2a72da45 Author: Jeffrey Altman Date: Sun Mar 5 22:31:11 2006 +0000 viced-host-type-consistency-20060305 make sure all the types for host and port are consistent commit cea063c0d48bb81c6349298ecdf5dfcc0f39733b Author: Jeffrey Altman Date: Sun Mar 5 20:53:28 2006 +0000 windows-no-smb-ioctl-info-20060305 don't support functions we don't implement. the CIFS trans2 get info ioctl is not equivalent to the AFS Get Volume Status function commit 3e70b7f3656be0a40fe45fb8ad9815abd2f541fe Author: Jeffrey Altman Date: Sun Mar 5 05:36:40 2006 +0000 viced-unsign-haddr-hport-20060304 haddr and hport should be unsigned commit 127ea5ae7df2d1441d4e636506ebadb07664311c Author: Jeffrey Altman Date: Sat Mar 4 22:02:57 2006 +0000 xstats-getcapabiliites-20060304 add the GetCapabilities RPC to the ops table commit 943dfd7a1e17a3232a44fd7d7bc6843ef50cdff8 Author: Jeffrey Altman Date: Sat Mar 4 21:39:25 2006 +0000 windows-deadcode-20060304 commit 3adadbb2281b5cf2b6cd854bfda7860c70792554 Author: Jim Rees Date: Fri Mar 3 20:27:23 2006 +0000 const-args-20060303 add const qualifiers to pr_Initialize and vl_Initialize args commit 8a0016cabd026bd586fc27a1dfad3220c66e4457 Author: Jeffrey Altman Date: Fri Mar 3 19:26:21 2006 +0000 viced-fix-tcallhost-20060303 fix type and declaration location commit 58b4069926c0e18c11c3fbe0969e94a269463183 Author: Jeffrey Altman Date: Fri Mar 3 18:26:45 2006 +0000 viced-remove-premature-commit-20060303 remove premature LockUpgrade/LockDowngrade commit commit f251b03175d5f58f4adbfd84dc29ab0a87cc71cb Author: Jim Rees Date: Thu Mar 2 22:42:56 2006 +0000 sysincludes-first-20060302 afs/sysincludes before other sys includes, please. commit 9da217cee811df78f07f47f51ad8202d1b47f812 Author: Jim Rees Date: Thu Mar 2 22:34:27 2006 +0000 probe-interval-20060302 Make probe_all interval tuneable, although there is no easy way to set it yet. commit c9a4d3363bc11722e017cac4ee83cbeb5d9583f7 Author: Chaskiel M Grundman Date: Thu Mar 2 06:42:47 2006 +0000 callback-get-refs-20060302 more updates, focused on issues found working at darwin, but actually generic issues commit d1156ad4f9b1e0fb07275fff976890fd3bc90e05 Author: Chaskiel M Grundman Date: Thu Mar 2 06:39:45 2006 +0000 refridgerator-update-20060227 try to make refrigerator work again commit c472a9c9165b3b742afd97b65c987b325c478b00 Author: Chaskiel M Grundman Date: Thu Mar 2 06:35:59 2006 +0000 darwin-access-exec-only-20060302 FIXES 27553 don't misenforce mode bits commit 8bfa2cdc6e79bf683ea035526e261940d1257daa Author: Chaskiel M Grundman Date: Thu Mar 2 06:33:44 2006 +0000 darwin-remove-fix-20060302 move the if inside the condition so we aren't screwed up on tiger commit 1cc6cddd85f8906b3b4a777b21e0981bbe1454f1 Author: Tracy Di Marco White Date: Thu Mar 2 06:31:30 2006 +0000 nbsd-30-pthreads-20060302 update for netbsd 3.0 commit c2ef97ea657f27af5fdc7811a8b6bb21ed535707 Author: Jeffrey Altman Date: Thu Mar 2 06:22:15 2006 +0000 viced-fix-comment-20060301 fix comment in h_GetHost_r commit 10f8d509df3a69e6dc684cfd81b5809adc5c9b09 Author: Chaskiel M Grundman Date: Thu Mar 2 06:21:42 2006 +0000 remunlink-needs-iocount-20060302 FIXES 27493 keep needed iocount for remunlink on darwin 8.0 commit 84a24d096c1159aef3aeec4b27d154f47acdcab9 Author: Jeffrey Hutzelman Date: Thu Mar 2 06:16:59 2006 +0000 viced-preamble-postamble-20060301 If the host obtained during the CallPremable and CallPostamble differ, then there is the possibility of a hold leak. This patch is a quick attempt to deal with the potential problem. If the problem occurs we log it in order to know for sure if this is in fact a problem. If it is, then at a later date we should perform a more extensive re-write in which the CallPreamble is used to obtain the host and the client and pass them both back to the caller which would not be required to obtain them again at a later date. commit 36a8e29045adfcf5d3c144b0ff0bc9d1398d11b0 Author: Jeffrey Altman Date: Wed Mar 1 19:12:05 2006 +0000 viced-h_Enumerate_r-fix-20060301 In h_Enumerate_r it is possible that the host may be released by the called procedure. Therefore, we must preserve the pointer to host->next before the call and hold the host it points to in order to ensure that it does not disappear out from under us. This ensures that although the H_LOCK can be dropped during the procedure and the host list can be rearranged we won't miss more than a handful of hosts during the enumeration. commit 31fd9994db1c58d5e851e5a0bd9d04a031557c8d Author: Jeffrey Altman Date: Wed Mar 1 06:42:46 2006 +0000 viced-h_gethost_r-host-hold-leak-20060228 when h_GetHost_r replaces 'host' with 'oldHost' we need to release the hold on 'host' and maintain the hold on 'oldHost' because if a hold was placed on 'host' in CallPreamble() it will no longer be released in CallPostamble() since 'oldHost' will now be bound to the client commit 6f707d94064646762e7014d19840b5b2902b3a4e Author: Jeffrey Altman Date: Wed Mar 1 05:04:00 2006 +0000 viced-client-refcount-leak-20060228 SRXAFS_CallBackRxConnAddr calls h_FindClient_r which returns a client with a refCount and the client->host held. The call to CallPostamble will release the host hold but not the client refcount. commit fc5acc01517260c661097cf84bddc359ca060bd3 Author: Russ Allbery Date: Wed Mar 1 05:02:29 2006 +0000 pretty-html-synopsis-20060228 Implement proper synopsis wrapping for HTML generation. This was done in three pieces. First, add HTML-specific tags to the POD to mark the synopsis for HTML purposes so that we can apply style information to it. Second, update the style sheet to indent all lines except for the first in the synopsis section. Third, add the appropriate S<> tags around option and argument pairs so that we don't wrap between the option and its argument. Unfortunately, due to the > style that looks nicer for other reasons, we have to use the very verbose S<<< >>>. Oh well. commit 2bd46f8a3915a37720e68d10a56a0ec33f508f67 Author: Jeffrey Altman Date: Wed Mar 1 04:08:57 2006 +0000 viced-host-hold-leak-20060228 fix a host hold leak although this one rarely occurs. commit fed1cdb02241f6cffee9cdcb5d334f227fd011bb Author: Russ Allbery Date: Wed Mar 1 00:12:52 2006 +0000 html-style-todo-20060228 Some style sheet updates and lots of to-do updates based on feedback from C. Alex North-Keys. commit 6321cca1a5bdda2c9e8d9688d220eff0edd850f9 Author: Russ Allbery Date: Tue Feb 28 23:43:03 2006 +0000 html-link-fixes-20060228 Make the mentions of subcommands in the fs command introduction links to the relevant pages, and add to README a to-do note to do this for the rest of the introductory pages. Fix links to man pages that contain underscores by working around a bug in Pod::Simple. commit 2c825a859033574b714c00d0e16ce06f126e1d6d Author: Jeffrey Altman Date: Tue Feb 28 23:24:23 2006 +0000 viced-panic-if-maxhosttables-exceeded-20060228 Do not allow HTBlocks to allocate more blocks than will fit in hosttablesptrs. Doing so corrupts memory. Panic instead until we can get this fixed right. commit 1705109815189f2c03323bc154feb639c76180ad Author: Todd M. Lewis Date: Tue Feb 28 23:09:08 2006 +0000 up-m-docs-20060228 Document the -m flag to up. commit 79a7ddac4da960e3337b7792f8a44fc82514f81d Author: Russ Allbery Date: Tue Feb 28 21:17:27 2006 +0000 amd64-linux26-fix-20060228 Restore the previous code for AMD64 under Linux 2.6, as the generic Linux 2.6 code apparently does not work with all AMD64 kernels. commit c41253bda7340f19b5f16d009393bf32f30ad24c Author: Chas Williams Date: Tue Feb 28 00:17:52 2006 +0000 systm-h-header-inclusion-20060227 FIXES 24765 avoid implicit references by including the prototypes from the header except on linux ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 24765 avoid implicit references by including the prototypes from the header except on linux commit 9243beff2b7677dbfc5259a534625b2252f0fc54 Author: Chas Williams Date: Mon Feb 27 20:46:25 2006 +0000 pod-updates-20060227 FIXES 26463 update pod files to deal with some section number changes commit ff1d11169bc19aeb451a97e8ccdc14e1109031e7 Author: Chaskiel M Grundman Date: Mon Feb 27 20:36:24 2006 +0000 tiger-updates-20060220 update lpioctl, setattr and free tuios commit 888b038c92c222f0ebb4b61f9f96bd56ce75dfed Author: Chaskiel M Grundman Date: Mon Feb 27 20:34:10 2006 +0000 darwin-bsd-flock-20060227 FIXES 25544 deal with posix flag in flock request on darwin commit df0ebd8b903eb5f62fb7e34c198020068d144669 Author: Daria Phoebe Brashear Date: Mon Feb 27 20:17:21 2006 +0000 shut-up-fucking-whiner-20060227 without further comment commit 50ed43bfb45202fb288130c0e716db013391d855 Author: Jim Rees Date: Mon Feb 27 18:31:18 2006 +0000 indent-style-note-20060227 Document our official indent style. commit f800113c3b2cb921a818d8823950c2ffeb18815b Author: Jeffrey Hutzelman Date: Sat Feb 25 06:44:18 2006 +0000 rmtsys-up-limits-20060225 FIXES 27095 raise limits of constants in rmtsys commit 2024fe94cb331fe4eeeff3626617ab8090ce70ea Author: Hartmut Reuter Date: Sat Feb 25 06:39:20 2006 +0000 vnop-remove-revised-lock-order-20060225 FIXES 27176 drop the tdc lock even rearlier commit ff46f60c198840986800a0205366361d39a91d06 Author: Jeffrey Altman Date: Fri Feb 24 07:48:21 2006 +0000 windows-ioctl-20060224 FIXES 27225 properly compute the length of the ioctl output buffer for each data segment commit 1bc6c3a78cbace4e6555119fb3b7f6e7ecfc245a Author: Jeffrey Altman Date: Fri Feb 24 07:45:35 2006 +0000 windows-freelance-default-20060224 change freelance default to on. this matches what the installers do. commit 9a0b4cac5650b844e5c97922c6631d1e8e9653cd Author: Jim Rees Date: Thu Feb 23 15:52:23 2006 +0000 aclprocs-protos-20060223 Prototypes for aclprocs. Also some other prototypes for viced. commit d3113a14e81c02993749b8f3bf0421809793f46d Author: Daria Phoebe Brashear Date: Thu Feb 23 12:32:25 2006 +0000 softsig-thread-hack-not-on-nbsd30-20060223 based on comment from gendalia@iastate.edu commit edd97cb225b714474de0a631cb36bb35af8c846b Author: Jim Rees Date: Wed Feb 22 20:29:01 2006 +0000 viced-cleanup-20060222 Prototypes, dead code removal, and other minor cleanups commit a2530f03bacc9d9115782b49bda40fc01294a70d Author: Jeffrey Altman Date: Wed Feb 22 05:07:48 2006 +0000 rxkad-krb5-improvements-20060222 correct precedence of && and || in conditional to determine when tkt_DecodeTicket5() should be called. optimize order of ticket property evaluation to delay call to get_key() which will require that a lock be obtained until after we know that all of the other checks will succeed. commit 9306554f9cc4198414e99eaec332703653b8d348 Author: Jeffrey Altman Date: Wed Feb 22 05:01:31 2006 +0000 viced-log-get-key-failure-20060221 log afsconf_GetKey() failure commit 0ef21914dad5ddda3aba8ec3f3f894261edc5c08 Author: Jeffrey Altman Date: Wed Feb 22 04:07:34 2006 +0000 server-rxmaxmtu-option-20060221 add -rxmaxmtu to allow setting the max send and receive RX MTU size commit d7a60f50a40da4acc28fe7ebbd145a25a9ba8b6d Author: Jim Rees Date: Tue Feb 21 21:07:57 2006 +0000 fbsd61-20060221 Param file for FreeBSD 6.1. Builds, untested. commit 10947ccc74b0bef53e152c7275760ab8873a176e Author: Daria Phoebe Brashear Date: Mon Feb 20 21:49:17 2006 +0000 cache-autotune-20060220 put in defaults so an old afsd will still start ok. commit 4808977d7d0e49e5d260a26113fd97cb48d5f844 Author: Jeffrey Altman Date: Mon Feb 20 15:26:21 2006 +0000 viced-client-cps-race-fix-20060220 remove a race condition between h_TossStuff_r and SRXAFS_FlushCPS by changing h_ID2Client to return the client with a refcount and then release the refCount with PutClient. when the CPS list is non-NULL and the viceid is ANONYMOUSID be sure to set the prlist_val to NULL if the prlist_len is being set to 0 since all of the tests are performed on prlist_val commit fc5bb308c77a211a796b4bb5de7952dc7a5630ed Author: Jeffrey Altman Date: Sat Feb 18 06:01:27 2006 +0000 rx-dpf-20060217 typo ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== conditionalize rx_intentionallyDroppedOnReadPer100 commit 9e3fdd9c3c2576ec9c5f465b2be936096ca20cd7 Author: Daria Phoebe Brashear Date: Sat Feb 18 04:58:28 2006 +0000 flushrec-prototype-20060217 add a prototype to shut up gcc4 commit 591d9c76c8d935809625cbaab248ca7c2770c751 Author: Chaskiel M Grundman Date: Sat Feb 18 04:53:34 2006 +0000 vnode-ref-verification-20060217 verify we got a ref when we call vnode_ref commit c135a53f926039009897b781555519ce366592da Author: Jeffrey Altman Date: Sat Feb 18 04:11:30 2006 +0000 rx-dpf-20060216 when dpf is in use, log error codes from abort packets and perform ntoh translation of addresses and port numbers. commit 55bdee41e635da3396ddd25234b3d5910921c1d5 Author: Chaskiel M Grundman Date: Fri Feb 17 21:57:12 2006 +0000 qremove-set-null-20060217 when we remove an object from a queue null its list pointers commit c320fae82541d3026c9d2a89ffce60fd17ad5ca5 Author: Chaskiel M Grundman Date: Fri Feb 17 21:43:42 2006 +0000 flushvolume-vhashq-consistency-20060217 avoid having vflushed vnodes in play commit 5e752a9cffcb057da595dcaebbf8d1a10c78b8f0 Author: Jim Rees Date: Fri Feb 17 17:58:21 2006 +0000 test-heimdal-20060217 Add a configure test for heimdal and use it to build asetkey or not. Thanks to Derek Atkins for his helpful suggestions. commit a8f0d4a30f55ac506cad1d82a416b2847ace99e6 Author: Daria Phoebe Brashear Date: Fri Feb 17 17:34:15 2006 +0000 hpux11-store-fd-sonner-20060217 FIXES 23112 based on report from jbuehler@spirentcom.com commit 167819c0c55a258357ff36cede5e79399d470a23 Author: Chaskiel M Grundman Date: Fri Feb 17 16:41:28 2006 +0000 darwin-x86-lwp-fix-20060217 make lwp work on darwin x86 commit 3d1e5e29f7a7a53c2286b81a59d67a2e4463112a Author: Jeffrey Altman Date: Fri Feb 17 15:35:38 2006 +0000 windows-notes-20060216 1.5.0 development build commit ca4fb5f2d08959e7296382318646047c452ba718 Author: Chaskiel M Grundman Date: Fri Feb 17 15:22:24 2006 +0000 darwin-lost-wakeups-20060213 eliminate the apparent lost wakeup problem in tiger commit 79cfa471a719b9b270f5d1fa1bbd25c1be8e1fd7 Author: Klas Lindfors Date: Fri Feb 17 14:48:09 2006 +0000 viced-has-as-member-locking-20060217 FIXES 26967 A crucial line was missing from DELTA viced-fix-check-rights-race-20060213 commit 532bc6e84c47a7c54cd3d900c74145c3dd23ee44 Author: Jeffrey Altman Date: Thu Feb 16 22:06:02 2006 +0000 windows-optimize-find-uid-20060216 Rename smb_GetUser to smb_GetUserFromVCP and add smb_GetUserFromUID. Use calls to smb_GetUserFromUID to reduce the number of times that the smb_user_t object is obtained and released during the processing of an smb call. commit 424ae50d1f7dfe0c3557d98f8ae9bc03a8265a21 Author: Jeffrey Altman Date: Thu Feb 16 22:03:47 2006 +0000 windows-server-ping-20060216 add logging of server addresses, status and capabilities prevent multiple threads from pinging the same server simultaneously. instead, threads block and then use the result of the ping that was already taking place. commit 1e3c9a9a4767f65cbe7fe251eac47a79eead71de Author: Jeffrey Altman Date: Thu Feb 16 22:01:45 2006 +0000 windows-daemon-check-registry-20060216 Add registry values to allow the defaults for daemon checks to be altered at startup. Log values to afsd_init.log. daemonCheckDownInterval daemonCheckUpInterval daemonCheckVolInterval daemonCheckCBInterval daemonCheckLockInterval daemonCheckTokenInterval commit cc0e245b7a8e374eef49f47d934c9b6f583bab51 Author: Jeffrey Altman Date: Thu Feb 16 21:59:19 2006 +0000 windows-lock-testing-20060216 turn on the support for backing byte range lock allocations with afs file server locks. commit e1f4dd1c26a1fedb637ed754644f8c141fa4c0db Author: Jeffrey Altman Date: Thu Feb 16 21:48:50 2006 +0000 windows-rx-wsaeconnreset-20060216 Deal with the fact that Windows returns WSAECONNRESET after an ICMP port not reachable packet was returned in response to a packet previously sent. commit 21e0734259ee2c575bfbbd970f2fa84253378267 Author: Daria Phoebe Brashear Date: Wed Feb 15 21:01:49 2006 +0000 linux-inode-i-mutex-20060214 new (2.6.16) kernerls have i_mutex instead of i_sem ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== make i_sem become i_mutex commit cee042e2f9f3e22e3cdb0c9535b122eb1714b691 Author: Chaskiel M Grundman Date: Wed Feb 15 20:53:02 2006 +0000 darwin-event-cleanup-20060215 clean up event resources added for deadlock avoidance commit 90d681405a744816435949c1c70a5f33d86ff12d Author: Daria Phoebe Brashear Date: Wed Feb 15 16:38:33 2006 +0000 asetkey-macos-20060215 make the same fix we do on aklog w.r.t com_err commit de53b41333d4d45834414bb8f28c4d0b1f6260dc Author: Daria Phoebe Brashear Date: Wed Feb 15 16:32:42 2006 +0000 darwin-ifnet-flags-20060215 darwin (8.0) already has this commit 658338b015fa6cd081726a6c96ab8c756857974a Author: Jeffrey Altman Date: Wed Feb 15 16:31:15 2006 +0000 windows-reg-fix-20060215 cleanup the back connection hostname code commit 33d58440d1fa3938ff627e888537c367d06b1bf9 Author: Chaskiel M Grundman Date: Wed Feb 15 07:01:40 2006 +0000 darwin80-mkdir-error-leak-fix-20060215 avoid a potential refcount decrement "leak" (well, the opposite, really) when a mkdir fails commit f3137f9efc47d9b3365fd6076b05ebb5b907c306 Author: Adam Megacz Date: Wed Feb 15 00:37:28 2006 +0000 macos-dynroot-start-anyway-20060214 start afsd if -dynroot specified commit 0ef6661fdcb452fc0ed2deb33560817c4b95674b Author: Adam Megacz Date: Wed Feb 15 00:33:45 2006 +0000 macos-afsdb-20060214 enable afsdb by default commit 848ed685c18e1fbdf550758c3e1d6c11e00d5239 Author: Chaskiel M Grundman Date: Tue Feb 14 20:32:45 2006 +0000 lookup-checkcode-bulkstats-20060214 do error code analysis on bulkstat results also commit 3828c257ae33306bbdd3c6db9381601fe5b1b110 Author: Jim Rees Date: Tue Feb 14 16:58:13 2006 +0000 dead-code-and-prototyes-20060214 Remove dead code and add prototypes. commit 44514e95164e74f539c102bec05add7404b9cc77 Author: Jeffrey Altman Date: Tue Feb 14 14:03:17 2006 +0000 windows-build-sys_name-20060214 Add the sys_name to the dest and obj directories in order to allow both 32-bit and 64-bit builds to be built from the same directory tree. commit 328544bd38f65525dad7b38a52c2d1407ea4b84b Author: Jeffrey Altman Date: Tue Feb 14 13:25:10 2006 +0000 windows-notes-20060214 updates commit b4fdd2ec6f035f6bb47402c17f80a4bedb2f10b2 Author: Chaskiel M Grundman Date: Mon Feb 13 18:51:55 2006 +0000 remove-recursive-vfs-getcontext-20060213 remove unused code commit 63031c0b8b1a00711a043431cb5d1c98834ab0cc Author: Daria Phoebe Brashear Date: Mon Feb 13 18:38:37 2006 +0000 solaris-afs-nfsrdwr-avoid-reading-past-end-of-file-20060213 FIXES 25747 avoid a panic when we attempt a read past the end of the file commit 0f9a5e3ad81a8583d486b3ee45aaebda50f6de06 Author: Daria Phoebe Brashear Date: Mon Feb 13 18:29:26 2006 +0000 revert-bkg-disable-var-20060213 remove the bkg daemon disabling commit 6c7a2901b00ae2f7df0bdff23b19fdd3b7f35156 Author: Jeffrey Altman Date: Mon Feb 13 17:09:36 2006 +0000 viced-fix-check-rights-race-20060213 FIXES 25869 acl_CheckRights() was generating core dumps because the client's prlist was being invalidated by h_TossStuff_r() as part of freeing the associated host. This patch fixes the problem in probably redundant ways. A missing hold on the host is now obtained. refCounts on the client are now preserved as part of GetClient()/PutClient(). Read/Write locks are now obtained on the client when accessing/manipulating the prlist. This patch adds the client parameter to GetVolumePackage() and PutVolumePackage() and adds the new function PutClient(). This patch removes the need for the client X had conn Y stolen by X messages. This is replaced by "deleted client X already had conn Y stolen by X. If we see this there is definitely a logic problem as the client should not be deleted at this point. We a no longer allowing the race condition that would have resulted in the original message. In addition, this patch fixes a problem with UAEs caused by the inappropriate translation of VICE error into UAEs when there is overlap between VICE error values and those in sys/errno.h. commit bfdc909b5477e493656b3e9fb744fdf5cd16e179 Author: Jeffrey Altman Date: Mon Feb 13 16:33:49 2006 +0000 windows-findacl-optimize-20060213 don't remove an entry from the queue and add it to the head if it already is the head. commit 8a6bfc54e5ff81bea0b78b45986f5115b2978adc Author: Jeffrey Altman Date: Mon Feb 13 16:28:59 2006 +0000 windows-new-server-ping-20060213 when adding a new server, mark it down to start. this will allow the Ping to use the short timeout when checking the real status. commit d9d798f78617026349e3c087c714e474e9eb2b7f Author: Jeffrey Altman Date: Sun Feb 12 06:25:37 2006 +0000 windows-off-to-the-races-20060211 several race conditions were introduced over the last couple of weeks. let's fix them. commit 81cfded7dbdf25d774375719ce02ebbfe698d77c Author: Jeffrey Altman Date: Fri Feb 10 18:43:22 2006 +0000 windows-vcp-fidsp-empty-20060210 protect against the case in which the vcp->fidsp list is empty which de-queuing smb_fid_t objects commit 0c77d5332da76d223b007f8e85e8d81148b17737 Author: Jeffrey Altman Date: Fri Feb 10 17:10:44 2006 +0000 viced-probe-uuid-on-old-connection-20060210 When we have found an existing host via Uuid, send the probe to the connection associated with the old host instead of the new one. If you send it to the new connection, we will fail to detect that the old host is no longer responding and hence that it should be removed. This should solve the 55 second delay problem seen from clients with Uuids that move addresses or sit behind a NAT. commit d2de9e69bc08e04c00083166a59847be246a9e8c Author: Jeffrey Altman Date: Fri Feb 10 17:07:43 2006 +0000 viced-log-typo-20060210 missing % in format string causes crash at log level 125 commit 3416916228624b6b446b5106f40c4d7e5fbd8cb0 Author: Daria Phoebe Brashear Date: Fri Feb 10 16:49:37 2006 +0000 viced-debug-port-numbers-20060210 fix port number printing to not print byteswapped port numbers commit 4b3c120e8e571f650e8274da553b1489cc34bd5e Author: Jeffrey Altman Date: Thu Feb 9 15:28:56 2006 +0000 windows-afslogon-20060209 replace sizeof(opt) with sizeof(LogonOption_t) add more debug statements commit e4c21e9c6fe4a030cf271b614d8e3d78130e4fc9 Author: Jeffrey Altman Date: Tue Feb 7 07:46:55 2006 +0000 viced-host-nat-20060207 When we discover a new address for an existing host we can take the opportunity to cleanup the hash table and the interface list if the new address differs from an existing address only by the port number. In that case we know the client is communicating to us from behind a NAT and the old addr/port number combination is no longer going to be of use to us. commit 6909509eca2a22b4b7003be60e0dbda75a30949c Author: Jeffrey Altman Date: Tue Feb 7 06:04:34 2006 +0000 viced-more-dbg-improvements-20060207 convert the rest of the addresses output in hex to dotted notation commit da0f2fdeca83a47d4c39814901ef862fdbfdb604 Author: Jim Rees Date: Mon Feb 6 17:18:12 2006 +0000 no-global-sunlock-20060206 Don't use global_sunlock on OpenBSD unless running smp kernel commit 77de32ed745d912e35990c5602b4a69a1b654973 Author: Jeffrey Altman Date: Mon Feb 6 07:06:33 2006 +0000 windows-winqual-20060206 Fix two bugs reported via Windows Crash Reporting: * Freelance initialization is somehow broken allowing the number of locally defined mountpoints to become negative. Due to the use of != instead of < in loops, it is possible to read/write unallocated memory. * GetTextualSid() was not properly handling a NULL output buffer pointer as an indication that the desired size should be returned. commit f504df317572835718037fe177073e3202905753 Author: Chaskiel M Grundman Date: Sun Feb 5 18:21:51 2006 +0000 darwin-avoid-bogus-name-caching-20060205 FIXES 26225 avoid the possibility of creating bogus cached named vnodes commit 3da66f26980d7cfcde54f6ba9c9a0114e23f6f40 Author: Jeffrey Altman Date: Sun Feb 5 17:45:34 2006 +0000 windows-mountpoints-20060205 * if the mountpointstring is empty, return No Such Path; do not panic commit 18e7ef272ab4efbd599c5d10174f0afd87c57c2e Author: Jeffrey Altman Date: Sun Feb 5 17:44:41 2006 +0000 windows-afslogon-20060205 * AFS_Logoff_Event must destroy tokens even if integrated logon is not being used unless LogoffPreserveTokens is non-zero commit f213588374ab92e27bb524cd747152270f9290ca Author: Jeffrey Altman Date: Sun Feb 5 07:44:50 2006 +0000 windows-afslogon-20060204 * fix LogoffPreserveTokens to work in the correct direction * modify behavior to avoid domain controller queries when integrated logon is disabled or the logon account is local commit 22b02189ecc70a94410fb1648da987d0964ddcaf Author: Jeffrey Altman Date: Fri Feb 3 23:21:04 2006 +0000 windows-todays-bugs-20060203 * cell names must be treated as case insensitive * smb logoff messages do not mean the user is logging off the machine. do not use as an indication that tokens should be destroyed * use the correct lock and avoid a deadlock when handling dead VCs commit 04c3d3cc3900914725c479b993a6313b0ef29e3f Author: Jeffrey Altman Date: Thu Feb 2 21:47:37 2006 +0000 viced-log-add-ports-20060202 * add port numbers to Host addresses so we can distinguish clients behind NATs * make messages consistent with regards to case and punctuation of "Host x.x.x.x:y" * convert hex addresses to dotted notation commit 57d3a8b72168bf03400ed42e8a8eab78ea75271c Author: Jeffrey Altman Date: Wed Feb 1 18:28:58 2006 +0000 windows-more-cleanup-20060201 missed one case where the vcpCounter wrapped fids at 0 commit 40d1b796c1dca9c51811224c5ad80bbd2c62cdb1 Author: Chaskiel M Grundman Date: Thu Feb 2 08:27:16 2006 +0000 bkg-disable-var-20060202 don't extern this commit 8b39114d5b36f60904e5a615a16b43b7e65c3017 Author: Jeffrey Altman Date: Wed Feb 1 18:02:29 2006 +0000 windows-more-cleanups-20060201 * remove all references to 'dead_vcp'; cleanup smb_vc_t's as soon as we know they are dead * add mx holds across the cm_cell_t updates * add cm_FindSCacheParent() and remove duplicate code elsewhere * add mx holds across scp->flags updates * add cm_CleanFile() * clear CM_SCACHEFLAG_CALLBACK when discarding callbacks * fix smb fid wrapping. wrap at 0xFFFF instead of 0 because 0xFFFF is -1 which is INVALID_HANDLE * add missing mx holds around vcp->flags updates commit 3aa14478bfcff9aedeedf986e09c6274b6c5ced3 Author: Tom Keiser Date: Wed Feb 1 16:20:07 2006 +0000 aix-prototyping-fixes-20060201 FIXES 26102 fix some prototypes and enable prototype enforcement for aix commit 73f52f37e4c1be81fad5122787382a480c220af5 Author: Tom Keiser Date: Wed Feb 1 16:09:01 2006 +0000 osi-audit-locking-fix-20060201 FIXES 25955 fix aix builds commit ecb9da5839e8e2ed0d52d87e426a728700bbd389 Author: Jeffrey Altman Date: Wed Feb 1 15:58:30 2006 +0000 getsomespace-r-rewrite-20060201 rewrite of GetSomeSpace_r to get rid of the brokenness we had before. also make GetCapabilities work like other rpc stubs which don't need callbacks commit bceabce8498127c550bbe5a9a430c8589f76d162 Author: Jeffrey Altman Date: Tue Jan 31 09:13:11 2006 +0000 windows-smb_fid_t-mx-20060130 *Includes the changes from STABLE14-windows-smb_fid_t-audit-20060125 as well: "Further testing revealed that some smb_vc_t objects could not be freed because the associated smb_fid_t objects never reached a zero refcount. Additional auditing uncovered cases in which there were holds not being released and others in which they were released to many times. This patch fixes the problems and improves auditability by modifying the behavior of the smb_IoctlXXX() functions to not release a reference that was obtained by the caller. Now the caller releases the reference." Fixup token deletion logic Surround all references to smb_fid_t flags and other references by obtaining and releasing the 'mx' lock. commit fbdd66aeef67a5a05bc41e33f046ff2879296617 Author: Ken Hornstein Date: Mon Jan 30 22:11:40 2006 +0000 merge-up-fixes-rxtcp-20060130 Merge in fixes to up from the rxtcp branch. commit 2e76a2450e06c93d7cdbc0fe07bd9302ac085952 Author: Chaskiel M Grundman Date: Sat Jan 28 19:20:44 2006 +0000 simple-darwin-disable-bkg-20060128 avoid potential hang by disabling bkg daemons on 10.4 for now commit 29277d96bfade62e437b9206f885af307c74e3ca Author: Chaskiel M Grundman Date: Sat Jan 28 18:06:06 2006 +0000 newvcache-dont-spin-20060128 make things so newvcache won't spin commit bb576b462d1d26cd07f03965c734ae6d2c5bd132 Author: Chaskiel M Grundman Date: Sat Jan 28 18:02:40 2006 +0000 reclaim-defered-flush-fixes-20060128 fix side effect of reclaim lookaside commit 90ceee2d37b9da00638b9ed08bd12e28cd7de667 Author: Daria Phoebe Brashear Date: Thu Jan 26 21:24:39 2006 +0000 up-cleanup-20060126 FIXES 25863 subsumes todd's fix commit a6a330b360ace80d6a1083577a5e46356f0e229b Author: Tom Keiser Date: Thu Jan 26 20:34:50 2006 +0000 osi-panic-revert-to-kandr-20060126 FIXES 25924 avoid prototype issue for now commit 78835720e0eac5897568f0ce32cd0ec20dc4c569 Author: Chas Williams Date: Thu Jan 26 18:55:18 2006 +0000 linux-vcache-extra-ref-unneeded-20060126 FIXES 25829 the dynamic/system inode version of the linux client already keeps an extra reference when the inode is on the vcache list. the inode/vnode should not go away while we are trying to flush the dcache children. commit 42f24a53f5aa7ad713654789928a57f8dac52102 Author: Jim Rees Date: Thu Jan 26 18:13:06 2006 +0000 remove-spurious-var-20060126 Remove unused local variable "lock". commit 1fb654e0c02ab6ca90d531a250639ecda6cea5e2 Author: Jim Rees Date: Thu Jan 26 18:11:23 2006 +0000 cast-pointer-20060126 Cast pointer to long for printf. "%p" would be a better fix, but is it supported on all platforms? commit 532147e45588039e6db64ef7deccfc1d5d21d16d Author: Daria Phoebe Brashear Date: Thu Jan 26 16:03:03 2006 +0000 macos-avoid-reclaim-hang-20060124 FIXES 25686 based on chaskiel's suggestion, implement a lookaside reclaim list commit f84de8044aab16ccaf961ba30a36929f2d1f1e50 Author: Chas Williams Date: Thu Jan 26 16:00:34 2006 +0000 more-rxglock-cleanup-20060126 FIXES 23321 more rx glock cleanup. eval for pullup after 1.4.1 commit c7df78fd7f9c4a29f8af32e49217806ef352ea01 Author: Chas Williams Date: Thu Jan 26 15:56:41 2006 +0000 linux26-build-update-20060126 FIXES 25879 KBUILD_BASENAME will need to be set in 2.6.15 and later for configure to work usefully commit 27c42be1b9dced92f578664d57f2dd92aa21c8a0 Author: Tom Keiser Date: Thu Jan 26 15:52:37 2006 +0000 ukernel-rx-knet-deref-20060126 FIXES 25927 pass correct parameter to avoid type mismatch commit ad86f80fc2a7c02452d4bf280236f4c5df317fe9 Author: Daria Phoebe Brashear Date: Thu Jan 26 15:49:05 2006 +0000 sol10-vnode-cleanup-20060126 Because we use a private pool of vnodes, it's up to us to trigger cleanup. here we do so. commit 9352092dfd4c6c2c9d1f5c383852aaa30c9fdff6 Author: Jim Rees Date: Wed Jan 25 19:44:15 2006 +0000 regen-no-doc-noise-20060125 Don't say we're building man pages if we're not. commit 6eb9f473add1426b52861574c841b1fdfd80367b Author: Russ Allbery Date: Wed Jan 25 05:59:38 2006 +0000 man-page-html-20060124 Initial cut at an HTML conversion of the POD reference pages. Requires Pod::Simple be installed (version 3.0 or later, probably). Also fix a POD formatting bug in the afs(1) man page noticed while testing HTML output. commit 1649de223462f5290974b7f05d09a41f9ff29bde Author: Daria Phoebe Brashear Date: Wed Jan 25 04:45:00 2006 +0000 macos-avoid-reclaim-hang-20060124 FIXES 25686 based on chaskiel's suggestion, implement a lookaside reclaim list commit 179b4c31d93b511a5762c818a47cddc0e364c9d3 Author: Jeffrey Hutzelman Date: Wed Jan 25 03:49:25 2006 +0000 release-avoid-negative-time-20060124 avoid any possibility of time going negative when releasing incrementally commit feccc2a98770fd48eee58d380671539e4bc1fdfb Author: Daria Phoebe Brashear Date: Wed Jan 25 03:24:25 2006 +0000 implement-vpeek-for-listvol-20060124 roll back for listonevolume (only) commit 1c53d7f34db626f6f44821844912e7f7012e5bfb Author: Chas Williams Date: Tue Jan 24 17:40:11 2006 +0000 usebuffer-macros-20060124 FIXES 25819 get rid of usebuffers macro usage warning commit 97304b84f76154d067717e3b34a3525abebc0cf7 Author: Jeffrey Altman Date: Tue Jan 24 23:22:00 2006 +0000 windows-continued-refcount-cleanup-20060124 * re-enable LogoffTokenTransferTimeout and LogoffTokenTransfer. Tokens are now destroyed at logoff based upon the values specified here. Default is ON and 120 seconds. Setting this to OFF will result in tokens never being destroyed. This will leak memory. * protect global queues with mutexes and avoid a variety of race conditions. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== rollback unintended commit commit 4a5dda84178842e3eaa61d03fecc96149333dd13 Author: Chaskiel M Grundman Date: Mon Jan 23 21:23:16 2006 +0000 viced-grow-h_maxSlots-20060123 and jhutz@cs.cmu.edu The size of h_maxSlots as computed based upon the value of MAX_FILESERVER_THREAD is too small. It is possible for h_lwpIndex (in the pthread case) to have produce the same Slot value for multiple threads. In that case it is possible for the following to occur: X: h_Hold_r(host) X: H_UNLOCK ... E: H_LOCK E: Check h_Held_r(host); it is true, so don't hold E: H_UNLOCK X: H_LOCK X: h_Release_r(host) X: h_TossStuff_r(host) [called by h_Release_r] X: H_UNLOCK E: CheckHost(host) The end result would be a crash due to a reference to a null field in the host processed by CheckHost. This patch is a bit of a hack in that it solves the problem by increasing the number of slots for threads and does not determine the correct number of threads the process should be allowed to produce. commit ff40c87da3ce4c6a7a58c08eaa223e8760dc8f73 Author: Jeffrey Altman Date: Mon Jan 23 21:13:19 2006 +0000 check-host-optimize-20060123 There should never be a case where h_Enumerate calls CheckHost with a host whose callback_rxcon that is NULL. However, due to a bug it ended up being the case that it happened. An examination of the CheckHost code showed that the check for the HOSTDELETED flag should take place before a reference to callback_rxcon is obtained. If HOSTDELETED were set, the code would simply release the reference immediately. However, the process of obtaining and releasing the reference required dropping and obtaining locks that would be a performance hit. commit db98b697fe4e1b38ac5e73d60dd101b2506e12a4 Author: Daria Phoebe Brashear Date: Mon Jan 23 21:04:31 2006 +0000 fs-getfid-20060123 add a fs subcommand to get a fid commit 7fde756a2c6f17e6a3b0db7659c6edcc2eaa0bd7 Author: Jeffrey Altman Date: Sat Jan 21 21:37:04 2006 +0000 windows-smb-logoff-or-abandonment-detection-20060121 This patch: (1) removes the rest of the dead logoff code that was originally stripped of any meaning by DELTA winnt-win2000-win98-afs-client-updates-20010623. (2) gives new meaning to smb_TokenTransfer and smb_TokenTransferTimeout. these variables now control how long a smb_username_t and its associated cm_user_t and its cm_cellinfo_t (including tokens) will be preserved after a logoff. (3) adds logic to detect logoff conditions (4) adds cm_CheckVCs(). This function probes the SMB client with a ECHO response to determine if the associated SMB virtual circuit is still valid. This is executed once every five minutes by smb_Daemon() and whenever the machine's IP addresses change. This allows abandoned VCs to be detected and the associated user credentials, file handles, and locks to be cleaned up. This will also prevent the exhaustion of the limited number of SMB sessions. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== and remember to mark the session dead so it can be re-used commit 96100b6dea66ea5053956e545ada6228aabe2e4a Author: Jeffrey Altman Date: Sat Jan 21 21:22:47 2006 +0000 h_gethost_r-hold-fix-20060121 fix hold errors commit 5790bf7cd0bcf3a9bf6d364e9bc6601b30feff8b Author: Jim Rees Date: Fri Jan 20 16:40:24 2006 +0000 host-cpu-20060120 Introduce @HOST_CPU@ and use it to find correct headers for FreeBSD build. commit 1afcbc944110ab22a23e83b52b7e5667c2567398 Author: Jeffrey Altman Date: Fri Jan 20 06:22:46 2006 +0000 windows-notes-20060120 more notes for 1.4.1-rc5 commit a784c131709a8252fa1e8cb4ce49cb0c655dd7aa Author: Chaskiel M Grundman Date: Fri Jan 20 05:19:47 2006 +0000 cached-lookup-mtpt-20060120 FIXES 25647 don't do lookups on the wrong vnode, if it's a mvstat=1 vnode, it's not useful commit f3a7aabbc523cc3e90b4cc11788523cc72e72822 Author: Tom Keiser Date: Fri Jan 20 05:05:35 2006 +0000 aix-vm-rdwr-fix-20060120 FIXES 25650 avoid a loop in vm_rdwr on aix. also fix ifnet_flags macro commit e367b6934d7970489a1b59d2a1e8a27e84f8efd9 Author: Daria Phoebe Brashear Date: Fri Jan 20 00:00:18 2006 +0000 cmdebug-no-zero-pad-output-20060119 length, dv and refcnt no longer 0 padded commit 70b76b3a1cff1dabe9b10b8222cd84fc207b6704 Author: Jeffrey Altman Date: Thu Jan 19 23:07:50 2006 +0000 windows-integrated-logon-hack-fix-for-proper-refcounts-20060119 The Integrated Logon hack of setting a token for a smb name different than the one associated with the current smb session fails when smb virtual circuits, sessions and username objects are properly reference counted. When refcounts are not leaked the constructed smb_username_t is destroyed immediately after the token is set since there are not references to it from a current session. The fix is to mark the smb_username_t object with a flag indicating that it was created by the Network Provider. This flag prevents the destruction when the refcount is zero so that it will be available at the time the smb session is created (just a moment or two later.) During the binding of the smb_username_t to the smb_vc_t the flag is cleared allowing the tokens to be destroyed when the smb session is closed. commit 5832d839f526279780714135c69f2db007dc504a Author: Jim Rees Date: Thu Jan 19 16:57:07 2006 +0000 bozo-log-fix-20060119 don't fclose(NULL) (found by ober@linbsd.org) fflush after printf instead of before add missing trailing newline in WARNING message consolidate the logic to make it clearer make tdate bigger (26 chars plus '\0'; not sure this is needed) commit 5112c06e8a68b88457ea438152103115cf69fe4a Author: Jim Rees Date: Wed Jan 18 22:31:22 2006 +0000 fbsd-opts-20060118 add -mno-mmx -mno-3dnow -mno-sse -mno-sse2 to kernel cc flags commit f59f69ea9f99dec429a966ac22e19647a02b2870 Author: Jim Rees Date: Wed Jan 18 16:03:28 2006 +0000 ifnet-flags-20060118 #define ifnet_flags to fix build on bsd commit 0806f60ab8d3cdd092449126eb0102a0fcd5edd0 Author: Daria Phoebe Brashear Date: Wed Jan 18 06:26:15 2006 +0000 linux-vrefcount-macro-fix-20060118 thanks to jhutz@cmu.edu for making me consider this commit 93efc4ae47cc942164c2dfee175df0760fbfca03 Author: Daria Phoebe Brashear Date: Wed Jan 18 02:21:00 2006 +0000 linux-kernel-bug-macro-inline-20060117 force oops inline instead of calling bug, so we can printk commit a02c04684df1a4992a14a4ef81919c717b9f3b8d Author: Jim Rees Date: Tue Jan 17 22:25:51 2006 +0000 regen-doc-20060117 slightly better documentation of regen.sh commit d921ee381aa46e4385524f0c31ca5ad606aa920a Author: Jeffrey Altman Date: Tue Jan 17 21:43:25 2006 +0000 windows-truncate-after-lock-check-20060116 In smb_ReceiveNTCreateX the lock check, cm_CheckNTOpen(), must take place before we allow the file to be truncated. commit 47d2ab228517deb7c3097ca4c5f46afd84e26098 Author: Chaskiel M Grundman Date: Tue Jan 17 17:08:34 2006 +0000 darwin-use-kthreads-20060117 FIXES 25542 use kernel threads for afsd processes instead of forked pids commit b81d0cf8af1c5788de399b630545945004f65345 Author: Chaskiel M Grundman Date: Tue Jan 17 17:05:31 2006 +0000 macos-locking-behavior-20060117 FIXES 25543 F_UNLCK is send as a command, remap to F_SETLK like everyone else commit ebf35c3f884b40616700b4b0b2462731cda290ae Author: Chaskiel M Grundman Date: Tue Jan 17 16:06:56 2006 +0000 tiger-sysctl-20060117 FIXES 25327 implementation of sysctl for tiger commit c19324c8574c66f18cd18f2df4beb486460205aa Author: Peter Somogyi Date: Tue Jan 17 04:59:11 2006 +0000 newvcache-can-fail-now-20060116 FIXES 22260 allow newvcache to fail without ooping sort of nasty, if you want more vcaches, say so. commit 4bb334ef6e40250630aec96b319de8db72619134 Author: Jeffrey Altman Date: Tue Jan 17 03:57:19 2006 +0000 windows-afsmap-20060116 strcpy -> strncpy commit 8d158c1b615ec2625756b8f124a9eaff94a67799 Author: Chaskiel M Grundman Date: Tue Jan 17 03:32:44 2006 +0000 remove-dead-prototype-20060116 remove dead prototype for osi_iput() commit 93e1cee7046984a81f0339484713649aceb25f3a Author: Chaskiel M Grundman Date: Mon Jan 16 21:15:21 2006 +0000 h-enumerate-r-fix-for-real-20060116 FIXES 24196 make this not simply wrong commit f7b9cd54e50e553486c2ad850df1a8ecaee0d954 Author: Jeffrey Altman Date: Mon Jan 16 16:22:27 2006 +0000 windows-rx-ehostunreach-20060116 another location where EHOSTUNREACH can be returned such that we can timeout the request immediately commit 880a6b66a5477e092d5bb74febbf24639d786c64 Author: Jeffrey Altman Date: Mon Jan 16 02:05:27 2006 +0000 windows-vc-locks-and-more-20060115 This patch fixes several issues: * the smb virtual circuits can be active and/or dead. this patch improves the handling of vc's making the transition from active to dead * correct the refcounts on the smb_user_t and smb_vc_t objects * replace the deprecated GetCurrentTime() with GetTickCounts() which is the new name. This function needs to be replaced with something else because its return value wraps after 49.7 days * hold the correct locks when adjusting the scp->fileLocksH queue * add new event log entries for unexpected session closures and send packet failures commit 9435d0e973bcde2d97031229f4a11c89fe4651ff Author: Jeffrey Altman Date: Sun Jan 15 08:10:00 2006 +0000 windows-ncb-error-strings-20060114 consolidate the use of NCB error strings in one place commit 36fd6d30cbda668209b7118499f2c70c5b0358a6 Author: Asanka Herath Date: Sun Jan 15 08:04:59 2006 +0000 windows-afsifs-20060114 minor style change commit 0a7b86c2bffeaf8bee75cbabf3378d8463778b73 Author: Jeffrey Altman Date: Sun Jan 15 08:01:49 2006 +0000 windows-eventlog-20051219 More messages for the event log commit ad207ee1134b42bd1a2204f7d91d0f4016a73c55 Author: Russ Allbery Date: Sat Jan 14 08:19:19 2006 +0000 sparc64-linux-typo-20060114 XLDFLAGS64, not XLDFLAG64. commit 0b24f2d91a444c4bb11b3eaf8082356907b32d44 Author: Troy Benjegerdes Date: Sat Jan 14 08:00:01 2006 +0000 sparc64-linux-20060113 Hopefully fix sparc64 Linux support with 2.6 kernels. commit 6cf662ca526cb9cbb9b93511008ab274834f6396 Author: Asanka Herath Date: Thu Jan 12 18:45:16 2006 +0000 windows-lock-data-versions-20060112 Add a lockDataVersion field to cm_scache_t. This data version is compared to the cm_scache_t dataVersion field in the following circumstances: * lock upgrades from read to write in which the lock must be released given current file server rpcs * lock downgrades from write to read in which the lock must be released given current file server rpcs * lost locks due to network disconnect. if the data version has not changed then re-obtaining the lock is safe to do commit af202cac551ad541a0a1ca4525b03c2ec05f6507 Author: Jeffrey Altman Date: Thu Jan 12 05:54:23 2006 +0000 windows-cmfinduserbyname-20060112 FIXES 25347 Fix invalid access after freeing newly allocated data structure commit 3e8b96cfc4596c3e9c6c3802c1bdca1784f86271 Author: Chas Williams Date: Wed Jan 11 21:37:06 2006 +0000 linux-clean-up-stupidity-20060111 get some of an inadvertant misapplied patch, and get rid of a redundant check commit fb6d1dacfc256386f32f59fe4335b546a7d368c3 Author: Jeffrey Altman Date: Wed Jan 11 04:44:49 2006 +0000 afs-sysnames-20060110 move allocations for SYS_NAME_ID_amd64_w2k and SYS_NAME_ID_i64_w2k to avoid conflicts commit 29924c8302431a25d4889ef4500fc5f0eeb97b2e Author: Chaskiel M Grundman Date: Wed Jan 11 04:23:22 2006 +0000 macos-reclaim-20060110 FIXES 25165 avoid a vnode cleaning pnaic during recycle commit ab7cfe62ec128b1205193ede1c769ddb369cc563 Author: Chaskiel M Grundman Date: Wed Jan 11 04:21:11 2006 +0000 macos-avoid-ref-leak-20060110 FIXES 25302 fix for the earlier fix commit 8a1d347b2e129a6085fb605f706917d88aa054b7 Author: Daria Phoebe Brashear Date: Tue Jan 10 15:09:55 2006 +0000 remove-vnop-mem-leak-20060110 avoid leaking mvid when we use .__afsXXXX renaming in remove commit 39b23a0dc16f2e26abf3b7df53bfadb98377748d Author: Daria Phoebe Brashear Date: Tue Jan 10 15:03:26 2006 +0000 remove-vnop-lock-order-20060110 FIXES 25118 finegrained dcache lock order not obeyed commit a9df3ca715f483a31c14b72bae3f548a4c9291d4 Author: Jeffrey Altman Date: Tue Jan 10 13:26:41 2006 +0000 windows-smb-username-refcount-20060110 the smb_username_t objects are reference counted but they were never released on their own accord. Instead the smb_uid_t objects when released were also cleaning up the smb_username_t. Since the smb_username_t is reused, now that smb_user_t objects are being cleaned up, this was a problem. commit 5deb4e521b7f1f8741c1f0ceeb8e33b4bf198c6a Author: Asanka Herath Date: Mon Jan 9 05:44:19 2006 +0000 windows-tests-winflock-20060108 Updates to locking tests commit 78c40badbd8c65d82f6c384fdff8056c03100b67 Author: Asanka Herath Date: Mon Jan 9 04:43:36 2006 +0000 windows-byte-range-locking-20060108 When SMB sessions are prematurely terminated as part of the tear down of the virtual circuit we must clean up any remaining file handles, tree connections, and user sessions. commit 36596b93e0b45cb1074b554e57c5f71171350f62 Author: Jeffrey Altman Date: Sun Jan 8 04:17:18 2006 +0000 windows-byte-range-locks-fix-20060107 fix the SERVERLOCKS_ENABLED macro commit 7d912795aae1ecb7a4a397f8572ee26fe62fe2da Author: Jeffrey Altman Date: Sun Jan 8 00:42:52 2006 +0000 windows-enable-byte-range-locking-20060107 re-enable byte range locking commit f057d9515c72609e4ca9e51ff96f658689679497 Author: Jeffrey Altman Date: Sun Jan 8 00:38:32 2006 +0000 windows-byte-range-locking-20060107 * Update architectural documentation * Allow locks to be obtained as soon as it is possible instead of enforcing a requirement that locks be granted in order. * Fix other bugs * Disable byte range lock processing commit 57e5d7c2aea61db5e2cac5f96192534d2e86aab2 Author: Jeffrey Altman Date: Sun Jan 8 00:30:40 2006 +0000 windows-eventlog-20051219 For afsd_service.exe, properly use the Event Log by constructing message strings stored in a MESSAGETEXT resource. This patch also removes a large number of debugging related event messages that should never have been seen by an end user. That data is now logged to the trace.log where it should have been logged initially. Similar changes need to be implemented for afslogon.dll and afscreds.exe The afsd_eventlog.[ch] files should be broken out into its own library so that it can be reused efficiently. The afsreg.h header was cleaned up to ensure name consistency and to remove the last vestiges of "IBM AFS". ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Do not change "AFS Client" to "OpenAFS Client" unless the installers are also updated. ==================== remove temporary files upon clean commit e07a781b20272a629f73cf8b2377ee8e3bd6cd99 Author: Daria Phoebe Brashear Date: Fri Jan 6 02:54:40 2006 +0000 macos-104-change-access-enforcement-20060105 don't improperly enforce read attribute restriction on child instead of parent when it's a directory avoid screwing ourselves on mode 0 files, also commit 8b015a5e325b52969203d0647f67945ab7e402cc Author: Chaskiel M Grundman Date: Thu Jan 5 05:31:34 2006 +0000 macos-vnode-get-fixes-20060105 The afs_pioctl.c change should fix a real crash (panic), but fs flushv isn't that common an operation. Other changes: don't GUNLOCK() around vnode_get(). we weren't consistent about it, and it doesn't appear to be strictly required. handle vnode_get() failures in more cases darwin_vn_hold will panic if vnode is terminating rather than mess up the refcounts. commit b36171907254a2b8a4f9cee0809da025869e00e8 Author: Horst Birthelmer Date: Tue Jan 3 21:26:40 2006 +0000 fbsd-vnode-includes-20060103 Generate vnode_if_newproto.h and vnode_if_typedef.h in case they aren't in the kernel build directory, for example if the kernel has been configed but not built. commit 40f151f5c47460927bcaa5b5a631057ae72790ad Author: Asanka Herath Date: Fri Dec 30 22:40:15 2005 +0000 windows-vista-wix-install-20051230 Update the MSI to install the network provider without impersonation commit 8863143052cb1a60de4fe90c1617df0bb3eca931 Author: Russ Allbery Date: Tue Dec 27 23:30:22 2005 +0000 man-page-rxgen-cmdebug-20051227 Add man pages for rxgen and cmdebug. The cmdebug man page was written from scratch based on the source code. The rxgen man page is a conversion of an old TeX document to POD. commit dc694b33608fb8d5fee55713fa39193e8d26266e Author: Jeffrey Altman Date: Tue Dec 27 20:00:10 2005 +0000 windows-ptc-rc-20051227 for ptclient.exe commit 3875eec844609443710d3b98a2ac795d7f2d9121 Author: Jeffrey Altman Date: Tue Dec 27 16:17:11 2005 +0000 windows-process-detach-20051227 The procmgmt library replaces the C RunTime Library's signal handlers but does not restore them on process detachment. This leaves the process with signal handlers pointing to invalid code that generates an invalid access error during process termination if the library was previously unloaded. commit 5a238125533fc826e3e39250fbc02e59bf352ec4 Author: Chas Williams Date: Sat Dec 24 01:07:43 2005 +0000 solaris-uniqtime32-20051223 FIXES 24445 afs really wants the 32 bit timeval/uniqtime stuff commit 518bebb032c410a520a8923a16263e605370d60c Author: Chaskiel M Grundman Date: Sat Dec 24 00:28:10 2005 +0000 darwin-dnlc-cache-purge-20051223 FIXES 22644 cache_purge() to hint to darwin that we changed something instead of letting it cache invalid data commit 97ebc776712b455b1e85df598b61ba6c847ca0a6 Author: Chaskiel M Grundman Date: Sat Dec 24 00:20:18 2005 +0000 tiger-fixes-20051215 potential reclaim in progress fix, and per Chaskiel, "I don't remember why I put it there, but the fact that it gets triggered means that we're leaking a vcache object lock. It looks like the "rename to .__afsXXXX" codepath is responsible (as afsrename does not use the fact that adp (or aodp) is locked by afs_remove, and locks it again. I'm surprised it's not deadlocking)" so i coded up a fix ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== chaskiel says The RHS shouldn't be a double negative... There's no bug (other than the assert itself) commit 856f5288e761e9dfaf720eb38a9bd4e7a053cb0d Author: Chaskiel M Grundman Date: Sat Dec 24 00:08:32 2005 +0000 darwin-lost-wakeups-20051223 FIXES 24492 rewrite for tiger to avoid losing wakeups commit 90bc5c0092652b047c4eabffb5577e05859c80f4 Author: Russ Allbery Date: Thu Dec 22 07:34:49 2005 +0000 man-page-misc-improvements-20051221 Add new man pages for livesys and voldump. Fix the man page for sys to say what it actually does, rather than implying that it works like livesys, and to recommend livesys instead. Fix a path error in the NetInfo documentation. Update the README for the current status, including listing all installed commands that don't have man pages. (There may still be some subcommands that don't have man pages but aren't listed.) commit 5fde2994348d1c7f6239f98aac355011125b06ad Author: Russ Allbery Date: Thu Dec 22 07:29:52 2005 +0000 man-page-installation-20051221 On installation, substitute the configured paths into the man pages, replacing the Transarc paths. Also fix a problem with the way that pinstall was being used to install man pages. (Silly me, I was assuming it had the same behavior as install.) This is just a quick first pass. Longer term, it's probably better to replace all paths in the man pages with unambiguous tokens and then replace those tokens instead of assuming that the man pages use Transarc paths and replacing those paths specifically. The current method has a few minor problems, such as not being able to distinguish between the various paths that make up /usr/afs/bin. Still, the results of this method are good enough to start with. commit f874f6691b3237158a223b891650d800ee8abdd3 Author: Jim Rees Date: Wed Dec 21 18:41:47 2005 +0000 aklog-obsd-20051221 make aklog build on OpenBSD commit b2b051fab1026a9bb1c2e9585c0d3c936c25a84e Author: Ken Hornstein Date: Wed Dec 21 18:22:08 2005 +0000 aklog-fix-install-Makefile-target-20051221 Fixed the install target so it installs asetkey instead of running it. commit 160854bd2bd9994b615216c566473598e871d13b Author: Russ Allbery Date: Wed Dec 21 00:41:17 2005 +0000 man-page-whitespace-20051220 Remove all trailing whitespace while we have the chance and there are no merge issues yet. commit 0b21e24d0a96401033d55d3c079c954138b7c50e Author: Russ Allbery Date: Wed Dec 21 00:37:16 2005 +0000 man-page-generation-20051220 Move man page generation out into a separate script that's just invoked from regen.sh, so that someone can run that separate script later if they wish. Make that script more robust against problems such as empty podN directories. Diagnose a missing pod2man and warn about old versions of Pod::Man. Also, remove the old programs used to do the initial conversion from HTML. Enough post-conversion editing was done that they're no longer necessary except for historical curiosity, and for that purpose they can be pulled out of CVS. commit 2de17470f0853da5eb8d37322ddb61ed844cd74a Author: Jeffrey Altman Date: Mon Dec 19 16:12:16 2005 +0000 windows-bg-fcrypt-20051219 use the faster bg-fcrypt commit 1b73452ba85993d990665d15031f2e1872929f1b Author: Jeffrey Altman Date: Mon Dec 19 15:51:28 2005 +0000 windows-64-bit-type-safety-20051105 SIZE_MAX should be UINT_MAX if not defined ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler commit 065f9e1196cf1067ad2bad9ecc49ed01b971a3a2 Author: Jeffrey Altman Date: Mon Dec 19 12:36:48 2005 +0000 windows-uninit-20051219 initialize the variable containing the afs id in case the pts lookup fails commit 02a6d180f3ee22ca3e79ab8fce552dd393beae12 Author: Jeffrey Altman Date: Mon Dec 19 12:35:15 2005 +0000 windows-rx-debug-disable-20051219 Provide a method to enable/disable rx debugging along as a part of "fs trace -on/-off" commit 37147a406e5a44d762c976773d7f3bd01154460a Author: Björn Torkelsson Date: Mon Dec 19 03:27:21 2005 +0000 linux-writepage-rename-20051218 The ocfs2 patch renames WRITEPAGE_ACTIVE to AOP_WRITEPAGE_ACTIVE, and Ubuntu has applied that patch to their version of the kernel. Allow for either. commit 376a5dd834ab6813fc955a2b535eb4ab4aea3c0d Author: Jeffrey Altman Date: Sun Dec 18 05:41:19 2005 +0000 separate-capabilities-by-source-20051217 This patch separates the client and viced capabilties; adds a viced capabilities for 64bit files; and modifies the Windows client to probe the viced capabilities the first time the client discovers the server and uses the capabilities RPC instead of the GetTime RPC to probe for Up/Down status ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== define the capabilities constants commit 8c3cf4b89445d969c9f85e929d5e030f53773f81 Author: Jeffrey Altman Date: Sat Dec 17 17:26:57 2005 +0000 windows-no-fds-20051217 when collecting rx statistics in response to an RPC query, the rx library attempts to enumerate the number file descriptors in use. This is fine except that file descriptors are a C Run Time Library concept on Windows and are not related to networking. In Visual Studio 8, the run time library will assert() if an invalid file descriptor is passed to fstat() which is the test used to determine if a file descriptor is valid. This patch simply returns 0 for the number of file descriptors in use because that is what would have been returned anyway with the existing code. What we probably want to return is the number of open socket handles. commit e5c8042e72a077bfcb05232c918995e9e965b7c2 Author: Jeffrey Hutzelman Date: Fri Dec 16 04:25:48 2005 +0000 vos-restore-parent-id-patch-20051215 avoid making broken readonlies when when you restore them commit 1fe17bc36513fffe745df2445754a19d3c0f9863 Author: Chas Williams Date: Fri Dec 16 03:36:16 2005 +0000 linux-dentry-multiple-mounts-20051215 avoid triggering BUG() when a volume is multiply mounted commit 914ac9204801982e1b1b9e827a92cd519ef18bfd Author: Tom Keiser Date: Fri Dec 16 03:31:18 2005 +0000 freedatabufs-mark-free-20051215 avoid an error with marking data packets free commit b34223345b07b16008e3b4253c2572bea25fca55 Author: Tom Keiser Date: Fri Dec 16 03:27:17 2005 +0000 multibreak-rework-avoiding-race-20051215 avoid a potential race finding the correct connection during MultiBreakCallBack_r commit d00359b24139753b8f6a62c6a9137c8f8ccd3b7e Author: Rainer Toebbicke Date: Thu Dec 15 15:15:30 2005 +0000 rx-osi_alloc-prototype-20051215 FIXES 24267 must provide prototype for osi_Alloc() on systems with 64-bit pointers and 32-bit int commit f75b0075a79807eaae4e071ea4d0f3bd60d7f547 Author: Rainer Toebbicke Date: Thu Dec 15 05:55:10 2005 +0000 rx-osi_alloc-prototype-20051214 FIXES 24267 include rx.h in order to safely include rx_prototypes.h in order to obtain a prototype for osi_Alloc() in order to prevent pointer truncation on systems with 64-bit pointers and 32-bit int. commit 544dedb6eddd353094a8c7d9b30d76b80f6d2a87 Author: Jeffrey Altman Date: Thu Dec 15 05:51:24 2005 +0000 multiple-local-realms-20051208 This patch extends the krb.conf file allowing the specification of multiple realms which should be treated as equivalents to the local cell authentication domain. Additional realms are specified on the first line of the krb.conf file and are separated by white space. In addition, the patch adds a new file stored in the same directory as the krb.conf file called krb.excl. This file contains a list of principal names, one per line, that must not be treated as local identities. The purpose of this patch is to allow organizations that are supporting multiple realms with synchronized user principal databases to allow their users to login with any of the realms and treat the principal names as equivalent to the local PTS identity. The exclusion is to allow certain names, such as those for administrative IDs, to be restricted to a subset of the realms. Further optimization of the afs_krb_exclusion() should be performed to remove the need to re-read the file. This patch should be considered a temporary solution until a more permanent set of extensions to the PT database and RPCs allow for the assignment of mechanism specific aliases for PT IDs. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== correction to exclusion list parsing commit f9f9894a2c4d98b60f68ef811e7827e67b2dfe88 Author: Jeffrey Altman Date: Wed Dec 14 05:39:56 2005 +0000 windows-ansification-20051214 use modern function declarations commit 8204b5968c0181e094f8369b94c5a4cf1a9de04a Author: Jeffrey Altman Date: Wed Dec 14 05:32:55 2005 +0000 windows-rpc-warning-20051214 If osi_InitDebug() fails due to RPC_S_NO_PROTSEQS, log to the afsd_init.log file a warning indicating that the registry should be examined for a misconfiguration of Windows. commit b99bd38da60f374a03382090fdaae906a00c8428 Author: Jeffrey Altman Date: Wed Dec 14 05:29:28 2005 +0000 windows-fs-setserverpref-vldb-20051214 prevent a panic condition if "fs setserverprefs -vlserver" is executed more than once before the vlserver is associated with a cell. commit aa2c784b5902691ec56103394c6725d7af6eaaa5 Author: Jeffrey Altman Date: Wed Dec 14 05:27:09 2005 +0000 windows-registry-20051214 Change all of the daemon check interval values so they can be set via the registry. commit 5d2b5780c463af51ffa264386daff210c633263f Author: Russ Allbery Date: Wed Dec 14 01:36:05 2005 +0000 retire-cat-pages-20051213 These can go now that we have POD versions of, in most cases, newer versions of the same documentation. commit f64a78e7013ebafd9ce4a0a50822a6087ff62f6c Author: Russ Allbery Date: Wed Dec 14 01:30:20 2005 +0000 man5-editing-pass-20051213 This completes the first editing pass of the man pages. Very little content editing has been done, but the server and client versions of various man pages have been combined into a single man page for the file (affects CellServDB, ThisCell, NetInfo, and NetRestrict), the descriptions of the various AFS cache files have been combined into one afs_cache man page, and the descriptions of the two butc log files have been combined into one butc_logs man page. For man pages for databases with two files, symlinks are now created on installation for the secondary file name. All of the man pages should now be ready for public review, additional editing and cleanup, and content editing. commit 68900af5e7dc40a52043d499eaa3babae992f8b9 Author: Rainer Toebbicke Date: Tue Dec 13 21:58:49 2005 +0000 fix-cbd-20051213 The attached patch makes the cbd program (the stand-alone version of the fileserver's callback.c) work again. (Now I expect 99% "what's that?" and 0% "what a relief!" reactions. As a reminder that's one of the things you might go hunting for after a 'kill -XCPU' to the fileserver - this program is probably used infrequently but the older you get... ) commit ab4abf15fef60308b982c73b6d1a17fa60577120 Author: Russ Allbery Date: Tue Dec 13 19:21:13 2005 +0000 man8-editing-pass-20051213 This completes the initial editing pass of the section eight man pages. Only small amounts of content editing has been done. Some known problems have been noted in README, but there will doubtless be others, as well as some lingering formatting problems. However, the quality should now be good enough for general public review. Some of the section eight man pages were really supposed to be section one, the package apropros and package help commands are too useless to document, and a few of the difficult-to-name section five man pages have now acquired names. commit cd6e2b99298bbb12d09b92b6b86de7f811f4e803 Author: Tracy Di Marco White Date: Sun Dec 11 18:57:15 2005 +0000 netbsd-statvfs-20051211 FIXES 22905 NetBSD 2.1 doesn't have statvfs, but the version numbering scheme changed so the test was getting this wrong. commit a6c0532569e401f125f62639bf9e2c5c0092edf0 Author: Russ Allbery Date: Sat Dec 10 18:47:40 2005 +0000 multiple-local-realms-fix-20051210 The krb.excl paths need to be defined for Unix as well. commit 77d0369d3bdeab78b02f306644ddb6133e1a1484 Author: Chas Williams Date: Sat Dec 10 18:28:03 2005 +0000 linux-srcdir-mapfile-20051210 FIXES 23317 Look for the shared library mapfile in ${srcdir} on Linux to allow for out of srcdir builds. commit d60224477f13bbf6a16d9582040e38d539859518 Author: Russ Allbery Date: Fri Dec 9 16:43:14 2005 +0000 man-page-readme-20051209 Initial documentation for the man page project, including initial notes on conversion, a start at a formatting guide, information on how to contribute, and an initial issues list of things I happened to notice while editing the section one pages. commit 7b5bfb1c1793c488fff06fc9014119a286ec86a7 Author: Russ Allbery Date: Fri Dec 9 14:50:02 2005 +0000 man-page-reorg-20051209 Generate the man pages in man1, man5, and man8 subdirectories rather than directly in the doc/man-pages directory to reduce clutter. Add a .cvsignore to reduce noise. commit 03b9fcc8834bfaaac069b27c0cd919934b68e833 Author: Russ Allbery Date: Fri Dec 9 14:48:56 2005 +0000 man1-editing-pass-20051209 Complete an initial editing and cleanup pass for all section one man pages. Fix various conversion problems, formatting inconsistencies, and obvious problems. Please note that no editing for content has yet been done; this is solely editing for formatting and correct conversion to POD. Also, add some additional section five man pages that were omitted from the first conversion run due to unusual file names, and globally replace CAVEATS with CAUTIONS in the man pages to match the original section name. The section one man pages should now be in reasonable shape and ready for additional review and further updates, although there are probably still remaining obvious problems. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== This file got the wrong name when it was originally committed. Fix. commit e3dfba8e6c10c296c09e9b0ac0c0355658ce0be7 Author: Russ Allbery Date: Thu Dec 8 12:14:33 2005 +0000 man-page-conversion-20051208 This is the initial conversion of the AFS Adminstrators Reference into POD for use as man pages. The man pages are now generated via pod2man from regen.sh so that only those working from CVS have to have pod2man available. The Makefile only installs. The pages have also been sorted out into pod1, pod5, and pod8 directories, making conversion to the right section of man page easier without maintaining a separate list and allowing for names to be duplicated between pod5 and pod1 or pod8 (which will likely be needed in a few cases). This reconversion is done with a new script based on work by Chas Williams. In some cases, the output is worse than the previous POD pages, but this is a more comprehensive conversion. This is only the first step, and this initial conversion has various problems. In addition, the file man pages that didn't have simple names have not been converted in this pass and will be added later. Some of the man pages have syntax problems and all of them have formatting errors. The next editing pass, coming shortly, will clean up most of the remaining mess. commit 71f9628a437e0ac7b9b9754d71c06ca5c3408061 Author: Jeffrey Altman Date: Thu Dec 8 01:01:30 2005 +0000 viced-multiple-ports-per-client-20051208 this patch replaces the single address in the Interface structure with an AddrPort structure. This enables the servers to send messages to the correct port if the port on the Interface does not match the port stored in the client itself. commit 151ac6c167e30ab0a5c22e95ff48d837d4e08cba Author: Jeffrey Altman Date: Wed Dec 7 12:01:32 2005 +0000 windows-afsd-service-20051121 add logic to process VNOVNODE in cm_Analyze. Force re-evaluation of symlink strings and flush the stat cache entry. force the use of new rx_connections when the server is marked down. prevent server objects from being freed if user preferences are set. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== improvements to VNOVNODE fix commit 78bc041fe6349136bf186e90a727566892584210 Author: Daria Phoebe Brashear Date: Thu Dec 1 15:18:08 2005 +0000 linux-26-390x-update-20051201 add linux26 version for symlinks commit 49f0f7bb0ee04b6f80a4f84dbfd00dbf8f274ac2 Author: Daria Phoebe Brashear Date: Thu Dec 1 07:36:35 2005 +0000 macos-103-20051201 last fixes i swear commit 3cccddb31f04deefbc20a52f95aabfa9e12853e5 Author: Daria Phoebe Brashear Date: Thu Dec 1 05:42:27 2005 +0000 macos103-20051201 one more fix commit 72e221c0c164557d4eac98d982370ca925085f96 Author: Daria Phoebe Brashear Date: Thu Dec 1 05:19:00 2005 +0000 macos-103-packaging-20051201 fix packaging script for 10.3 commit 05db09ada10f83666a8d46e734d26656e99397f2 Author: Daria Phoebe Brashear Date: Thu Dec 1 05:09:32 2005 +0000 volume-callback-fix-20051201 fix rainer toebbicke's callbacks vanishing issue. this was probably my fault merging commit 8887021eee01111f10e57db19885ace53ad46850 Author: Daria Phoebe Brashear Date: Thu Dec 1 04:13:18 2005 +0000 macos10-fstrace-catalog-20051130 package the fstrace catalog correctly for osx commit 9c3c2428250a8fd78af66fe8d5d6c467e8599b1d Author: Mike Garrison Date: Thu Dec 1 04:02:23 2005 +0000 files-per-subdir-math-error-20051130 FIXES 23811 use a bitshift instead of xor(!) commit 421e063d9b6500299b5e02b999b22c01dcc7c496 Author: Tom Keiser Date: Thu Dec 1 03:57:49 2005 +0000 freepackets-cbuf-leak-20051130 FIXES 23143 at least i'm guessing it fixes that one fix memory leak for multilevel packet queue stuff commit eeee5a9e14a693538a62565483db8f1b3d46cc99 Author: Jeffrey Altman Date: Wed Nov 30 06:39:40 2005 +0000 windows-afskfw-20051130 correct the construction of the client name (with realm) when krb524 is being used. commit ae2f1d3f68266a47d04b62fab577ada30990732c Author: Jeffrey Altman Date: Tue Nov 29 07:00:19 2005 +0000 rx-lock-leak-20051128 Fix a lock leak introduced when adding thread local packet queues. commit d94337feafeabe053d8fa4c6296ef776e4fd2597 Author: Daria Phoebe Brashear Date: Tue Nov 29 06:52:03 2005 +0000 macos103-update-20051129 make the kernel module work too commit efeedc4ac12632c619d1d4d719beac22478e14cc Author: Daria Phoebe Brashear Date: Tue Nov 29 04:58:49 2005 +0000 macos-103-update-20051128 roll up fixes for 10.3 commit 003667acda60ed5ec9397a4a1c02a37d51dc74e4 Author: Chas Williams Date: Tue Nov 29 04:12:11 2005 +0000 solaris-sparc32-largefile-20051128 FIXES 23296 readd largefile support for solaris sparc32 commit 390fd697a05fc51ddc5e7789b210736838780da4 Author: Chaskiel M Grundman Date: Tue Nov 29 03:40:58 2005 +0000 h-enumerate-r-safety-20051128 FIXES 23336 needs further testing, configure a low number of callbacks and hit the server. commit bb7b7cef7916787f55f51a6dc070e1fa4ca08021 Author: Chas Williams Date: Tue Nov 29 03:09:24 2005 +0000 linux-afs-put-inode-dont-race-20051128 FIXES 23318 hold lock across refcount check. oops commit 030ecf1af9773c0e058ded784dd096fc886fd6d8 Author: Jeffrey Altman Date: Wed Nov 23 05:00:34 2005 +0000 windows-locks-uninit-20051122 Initialize 'code' to non-zero at the top of each loop to avoid setting the last updated timestamp on skipped locks commit 5ce322c9f13522cf96addaf09804021c6d78b22f Author: Jeffrey Altman Date: Tue Nov 22 00:36:31 2005 +0000 windows-drivemap-renewal-20051121 When afscreds.exe performs a drive map renewal it should not delete all existing drive mappings. This undoes the efforts of the AFS logon network provider and any persistent mappings created with the explorer shell. This patch extends the interface to provide a mode in which DoMapShareChange does not remove unknown drive mappings. commit 81365856ce91121c82969f97c1e79d34d30da648 Author: Jeffrey Altman Date: Tue Nov 22 00:31:44 2005 +0000 windows-date-representation-20051121 change date representation to yyyy-MM-dd HH:mm:ss so that it sorts properly commit 3e6fdd48937b91fe9ec1322d2f89648fe8f6088d Author: Jeffrey Altman Date: Tue Nov 22 00:14:25 2005 +0000 windows-fetchstatus-logging-20051121 remove the cell and include the vnode in the FetchStatus log messages commit d99995ccfe30bff1f45f5f2e37beee7ac3566f3b Author: Jeffrey Altman Date: Mon Nov 21 15:51:37 2005 +0000 windows-wix-update-20051121 Wix 2.0.2419.0 changes the way that RadioButton values are specified. commit 73e126c4c4f44f20e67d8ced8a89558746e87a90 Author: Chaskiel M Grundman Date: Sat Nov 19 04:32:47 2005 +0000 deadvnode-locking-update-20051118 FIXES 22870 change how we do vnode locking to avoid locking on ourselves commit 54ad6e769e1362ad5a81c0ef91c49babad9a37f1 Author: Chaskiel M Grundman Date: Sat Nov 19 03:57:54 2005 +0000 macos-allow-cached-stat-access-20051118 FIXES 23257 allow cached stat info to be accessed for directories where a user has only "l" commit d3f9842bd4897b1b5c580858c3cb17326900548c Author: Jim Rees Date: Thu Nov 17 21:03:38 2005 +0000 print-64-20051117 On non-Windows use %llu for 64 bit printf. Thanks to Brent Graveland for pointing this out. commit 35ff383fcf1280b971a3730682d8991e93282e22 Author: Jim Rees Date: Tue Nov 15 18:43:15 2005 +0000 obsd-glock-decl-20051115 Fix decl of afs_global_lock so you can build with global lock disabled commit 6f82595a16750a3811526da9b4376a178e90bb49 Author: Jeffrey Altman Date: Mon Nov 14 06:04:23 2005 +0000 audit-locking-20051113 Add locks around writes to the audit log. This ensures two writes do not interleave. commit 4127de6c6ef90e28a9f32b40bd6360296cf6e93a Author: Jeffrey Altman Date: Mon Nov 14 06:00:34 2005 +0000 network-distance-server-prefs-20051113 Use network distance based server preferences for all server types not just file servers. commit bb0d0e7df0b41d34ba48dc28c986b477d68d49e4 Author: Jim Rees Date: Fri Nov 11 20:32:22 2005 +0000 fbsd-build-path-20051111 set default BSD_KERNEL_BUILD for FreeBSD >= 5.0. commit bdc22ef4d37a35c34c0aa93fff43e6bc4484f7d5 Author: Rainer Toebbicke Date: Wed Nov 9 14:58:29 2005 +0000 pod2man-update-20051109 build when there's no pod utils installed commit 685ba16a0b9db8cf5df2e875ff9a6e5b72d6539c Author: Jeffrey Altman Date: Wed Nov 9 03:00:07 2005 +0000 windows-release-locks-at-shutdown-20051108 remember to release all of the locks we obtained from the file server at shutdown. commit dc28ad2b6526faf697346e3ef8bc34e02c199758 Author: Daria Phoebe Brashear Date: Mon Nov 7 23:42:02 2005 +0000 hpux-store-fd-sooner-in-iopen-20051107 do this a little differently, it may change out from under us commit ce80f99d7f905ae0928983b6a560f9b8b82c34b7 Author: Rainer Toebbicke Date: Mon Nov 7 19:48:07 2005 +0000 cellconfig-make-nkeys-littleendian-20051107 cellconfig-check-for-corrupt-keyfile-20051007 should convert at least nkeys to host byte order before checking anything - fails on little endians otherwise. commit b02d80508faeb9df788089a4cfc5578781efb46c Author: Jeffrey Altman Date: Sun Nov 6 09:29:36 2005 +0000 windows-64-bit-type-safety-20051105 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== more corrections for use of 64-bit types on Windows ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler commit 14a373e19cce71ffc32dedf5f241840197381235 Author: Niklas Edmundsson Date: Thu Nov 3 04:10:05 2005 +0000 cvsignore-updates-20051102 FIXES 22861 add generated files to cvsignores commit 6792431d289a8bd5cc035907247c3d7b31a9b98c Author: Niklas Edmundsson Date: Thu Nov 3 04:05:46 2005 +0000 aix5-warning-error-cleanup-20051102 FIXES 22855 aix 5.1 and 5.2 should also build commit e240c805e238e803ae910487c9f87ee98f508414 Author: Jim Rees Date: Wed Nov 2 17:54:44 2005 +0000 cmdebug-obsd-ce32-20051102 OpenBSD has no easy way to printf a 64 bit int so just use PrintCacheEntries32 commit 14a985b93f053896c6cd7b2dce1ed07cbff7df73 Author: Daria Phoebe Brashear Date: Wed Nov 2 05:30:47 2005 +0000 hpux11i-64bit-iops-20051102 hpux 11i has 64 bit inodes commit e2c497b0368b13e84e6a6404c3761e28d40f2119 Author: Tom Keiser Date: Wed Nov 2 05:22:39 2005 +0000 fpq-bulk-free-math-error-20051101 fix a math error here commit c558c12d2b93d6ff664542ea4a667f97c4368588 Author: Jeffrey Hutzelman Date: Wed Nov 2 00:27:30 2005 +0000 linux-ia32-offsets-include-change-20051101 include these correctly commit eb39935d4b3bdad5ee64afa0b50deea09a18333c Author: Jim Rees Date: Tue Nov 1 18:44:38 2005 +0000 libafssetpag-bsd-20051101 bsd only: make a real syscall.o (but with no code) build libafssetpag commit 93cd1ed38932e8ddcedc8d082ab739ba949b90c7 Author: Daria Phoebe Brashear Date: Tue Nov 1 16:42:47 2005 +0000 hpux-vol-package-cleanup-20051101 make inode salvager large partition compliant make namei compile cleanly again commit 8cf272e5f16abfe6b90b01bc613bf7f47bc4336c Author: Asanka Herath Date: Mon Oct 31 22:12:03 2005 +0000 windows-tests-winflock-20051031 A windows specific file locking test app for exercising the byte range locking code. commit eaa142645227b1af8a7d41f8b9c376ddf789c532 Author: Jeffrey Altman Date: Sun Oct 30 01:59:57 2005 +0000 windows-checkserver-fix-20051029 the windows client was not treating Verror responses from the server as indicating the server as up if they were positive commit 288886618b347cdd2d4bfaa06a2df18b1a24229e Author: Jeffrey Altman Date: Sat Oct 29 21:13:43 2005 +0000 windows-daemon-timers-20051028 the daemon up server check was set for 1 hour and not ten minutes. turned all interval constants into variables so that they can be set via registry entries at a future time. commit 86b23327f8580f3b811b4bdc6734b28a79aa2993 Author: Jim Rees Date: Thu Oct 27 19:34:44 2005 +0000 ubik-trans-decl-20051027 add missing decl for struct ubik_trans commit 6b042d4edb7f26358523da9dcdb565ed023e00da Author: Ken Hornstein Date: Tue Oct 25 20:08:02 2005 +0000 integrate-asetkey-20051029 Add asetkey to the OpenAFS tree. commit 834507571e397dc3a07550ef86ca2c159068d1ff Author: Daria Phoebe Brashear Date: Tue Oct 25 07:30:52 2005 +0000 tbutc-solaris-and-vos-api-fixes-20051024 FIXES 22063 as tested for this and 22316 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 22316 the rest of this, since i forgot to apply the other file earlier oops commit 2bcece3cfad14f22759b1ec546646be900c3c504 Author: Jeffrey Altman Date: Tue Oct 25 03:07:50 2005 +0000 windows-rap-debug-20051024 some more debugging messages commit cc3bbcb8e69dee4fe303e4e6adfed02df830a1b6 Author: Jeffrey Altman Date: Tue Oct 25 03:02:27 2005 +0000 windows-afsd-makefile-fixup-20051024 put back the ifs rules accidently deleted by cmdebug-merge-20051024 commit 765e8606b9cda1f70f3117b4e1c7397d1ae42690 Author: Jeffrey Altman Date: Tue Oct 25 02:51:17 2005 +0000 cmdebug-merge-20051024 Merge src/WINNT/cmdebug.c into src/venus/cmdebug.c commit cfa7b866c8deb876b06fd634d34ecdd30fb9b819 Author: Ervin Fenyak Date: Sun Oct 23 20:05:40 2005 +0000 add-volupdate-counter-20051015 FIXES 18349 add a volume update counter. danger will robinson. see ticket for details. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add configure gunk ==================== add configure gunk ==================== make this happy in libadmin on e.g. solaris ==================== make this work on Windows commit e6e293bb899cb027648908d23848ce13901a7503 Author: Jeffrey Altman Date: Sun Oct 23 07:27:03 2005 +0000 vnop-attrs-fix-20051023 FIXES 22568 fix code broken in mac merge commit 47cc7643e1b04bacd858a3893accab8c377b34ac Author: Jeffrey Altman Date: Sun Oct 23 01:31:28 2005 +0000 windows-mkdir-root-exists-20051021 If a request is received to create the root directory of a device, return CM_ERROR_EXISTS instead of CM_ERROR_NOTFOUND for the nul-string file name. commit 3491c0ffc559ac39fd861ff4c31bd1b4c0d94201 Author: Daria Phoebe Brashear Date: Sat Oct 22 07:43:09 2005 +0000 macos-build-dmg-20051021 probably this script should take an argument which is the version string to use, and use it in the volume name and dmg name ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== probably this script should take an argument which is the version string to use, and use it in the volume name and dmg name commit 9e1a0f8a0d5e77a490992ace7a2d7839a361c661 Author: Jeffrey Altman Date: Fri Oct 21 00:32:40 2005 +0000 viced-audit-createfile-20051020 add the FID of the created file to the audit output for CreateFileEvent commit 1b7cbd1211ff12c983452e03ea0689360e1478d2 Author: Jeffrey Altman Date: Thu Oct 20 06:09:08 2005 +0000 windows-notes-20051019 updates commit 8b0b064f7ec60d8b5913248c97553ce3b7fdb775 Author: Jeffrey Altman Date: Wed Oct 19 21:10:52 2005 +0000 window-largeint-20051019 The large integer support was applying a <<32 to a 32-bit value. This is an undefined operation. commit a92aa204855b6459ac483f0dd5b704b4a52edec8 Author: Jeffrey Altman Date: Wed Oct 19 07:57:52 2005 +0000 windows-rxkadunknownkey-20051019 report RXKADUNKNOWNKEY as SEC_E_NO_KERB_KEY commit 9f0f50a2b165392fc0a62f82d8c54e35108ab429 Author: Jeffrey Altman Date: Tue Oct 18 21:52:47 2005 +0000 windows-locking-error-codes-20051018 cm_Lock(), cm_RetryLock() should not interpret servers be unreachable as a sharing violation. commit a923af27265c8d0aa359d57c8c47b50eb0dbeee3 Author: Jeffrey Altman Date: Tue Oct 18 21:50:06 2005 +0000 windows-ip-change-20051018 add a monitor to watch for IP Address changes. When a change is detected, wait 2.5 seconds for things to settle down and then check to see if down servers are reachable. commit f48eb4ab590f25162f45a1671ad0917c6ebceeee Author: Jim Rees Date: Tue Oct 18 16:53:06 2005 +0000 libafssetpag-temp-fix-20051018 Define SHLIB_LINKER for [fno]bsd Don't try to build LIBAFSSETPAG for [fno]bsd commit 5cd3d016fdbc6d14c6ac942b0b4e3e92a09755c5 Author: Jeffrey Altman Date: Tue Oct 18 16:29:59 2005 +0000 windows-error-codes-20051018 handle the CM_ERROR_ALLDOWN case when translating cm errors to nt status commit d16fb72074a3e81ad5ce295fbc49fa8707852545 Author: Jeffrey Altman Date: Mon Oct 17 22:28:12 2005 +0000 windows-fw-service-test-20051017 Do not perform Firewall Configuration if the firewall service is not installed commit 1ed8428d1e4710594a299d9e6d765a1bb414cb2a Author: Chas Williams Date: Mon Oct 17 21:45:39 2005 +0000 irix-no-xfs-checks-for-namei-20051017 FIXES 22435 don't do inode checks when using namei commit cd98a20f1c9e89eb44ef5c5349337292bd3ba243 Author: Jeffrey Altman Date: Mon Oct 17 20:31:31 2005 +0000 windows-firewall-configuration-20051016 Windows Firewall Policy cannot be accessed by a service unless from the Service Manager thread nor until the service is in a RUNNING state. Firewall configuration moved to cm_Daemon() thread. commit 8922ad369e1df7d9a983986b4eafe19153da55ae Author: Ken Hornstein Date: Mon Oct 17 20:00:38 2005 +0000 rename-afssetpag-dot-map-to-mapfile-20051017 The Solaris/Linux symbol export files must be named "mapfile" (see the definition of SHLIB_LINKER for Solaris). commit d5a7daef3c6b91782a3779f00b7b9cb9292c352d Author: Jim Rees Date: Mon Oct 17 18:49:53 2005 +0000 struct-socket-20051017 rx_prototypes.h needs struct socket now commit 3437c1ad7b15eef9c1e33f936ac500b360e1ff9c Author: Jeffrey Hutzelman Date: Sun Oct 16 01:55:59 2005 +0000 cellservdb-update-20051015 15 Oct 2005 commit 1968364520eb35b16b676a0a4abe7461da8ba87d Author: Jeffrey Altman Date: Sat Oct 15 22:51:28 2005 +0000 rxgen-server-prefix-prototypes-20051015 When producing prototypes for server side functions, use the correct prefix as specified in the input file. If there is no prefix, then do not output the prototypes as they will collide with the client side stub prototypes. commit 51fa307a0011d3ca27e6199631e1b2bdc75a9f50 Author: Jeffrey Altman Date: Sat Oct 15 22:45:43 2005 +0000 windows-universal-error-handling-20051015 properly interpret the universal error codes commit 19f1c37c067b0820236f0cdc53c3e7577a3ae7ca Author: Russ Allbery Date: Sat Oct 15 17:25:21 2005 +0000 shlibafssetpag-20051015 FIXES 18745 implement {sh,}libafssetpag commit 7d0647d5ee9ae0d9b003f0e0c765522aa1433d23 Author: Chas Williams Date: Sat Oct 15 16:51:09 2005 +0000 linux-write-dirty-pages-once-20051015 FIXES 20561 this time for sure, only write back once commit 0f422eae1934a55e666c2f4d8968713fd02ad5f0 Author: Daria Phoebe Brashear Date: Sat Oct 15 16:40:14 2005 +0000 default-largefile-on-20051015 turn on largefile fileserver by default commit 2699810c91aa883c51535e05f86c30bd7b665c2b Author: Russ Allbery Date: Sat Oct 15 16:22:15 2005 +0000 afsd-no-logfile-20051015 FIXES 18662 remove afsd logfile parm commit 16546f6826c4fac2a096840116277f913b861d85 Author: Russ Allbery Date: Sat Oct 15 16:07:44 2005 +0000 shlib-rationalization-200510155 FIXES 18767 make use of the export map. set a useful soname. commit 351a1e3d512dae952c5dcdaf4c818582a2450e85 Author: Russ Allbery Date: Sat Oct 15 16:00:57 2005 +0000 pod-man-pages-20051015 FIXES 19268 add pod generation of man pages commit 3d96fdb1825bd8c6bf76c11ed2fa5dc8f56aa532 Author: Frank Burkhardt Date: Sat Oct 15 15:54:28 2005 +0000 cellconfig-afsdb-use-dots-20051015 FIXES 20908 do lookup postpending a . commit 4f5ab395d66a287eb262d67a4935e928691c4cd7 Author: Chas Williams Date: Sat Oct 15 15:42:17 2005 +0000 darwin-x86-20051015 FIXES 20130 add support for x86 darwin commit 78eefa1c032e6e29fba1b90f4c1f8d76b91d973a Author: Greg Hudson Date: Sat Oct 15 15:37:10 2005 +0000 aix-afsdb-20051015 FIXES 20801 fix earlier issue with aix afsdb fix commit 7c8cf708a06d810bba065e2a49d6ed80e754e1a9 Author: Niklas Edmundsson Date: Sat Oct 15 15:23:05 2005 +0000 aix-warning-cleanup-20051015 FIXES 21066 clean up aix warnings. hint that large file support works commit 1c990adad6b654170849ccdaa1e5476d6caba9b4 Author: Tracy Di Marco White Date: Sat Oct 15 15:16:07 2005 +0000 nbsd20-amd64-20051015 FIXES 21562 add amd64 netbsd 2.0 support commit f3d6141262e32e788838afee5e6c7a277ce3d029 Author: Love Hörnquist-Åstrand Date: Sat Oct 15 04:42:47 2005 +0000 viced-help-abortthres-20051014 FIXES 22070 add help for abort thresshold switch commit a5f2ec497d2c3452d795aa1d98309414c2d8c0e7 Author: Jeffrey Altman Date: Sat Oct 15 04:36:57 2005 +0000 windows-check-locks-logging-20051014 add a log message so we can tell how long it took. commit ee1435d516a31e8ec2d07ec9021bf032ac12f9cd Author: Peter Somogyi Date: Sat Oct 15 03:32:06 2005 +0000 newvcache-can-fail-now-20051014 FIXES 22260 allow newvcache to fail without ooping sort of nasty, if you want more vcaches, say so. commit 2a4a4f417dd4193df9e0a3deae14aacd3f94ccb1 Author: Peter Somogyi Date: Sat Oct 15 03:12:17 2005 +0000 java-update-20051014 FIXES 21930 update java afs classes commit 410514dc6da0f9ff810668b5c75174e1ed6e4912 Author: Daria Phoebe Brashear Date: Sat Oct 15 03:03:53 2005 +0000 hpux11-no-kthread-iface-20051014 11.0 lacks this header. commit 012f413e4e35fce33a3039df7611c3ea3b66aeca Author: Chas Williams Date: Sat Oct 15 02:42:14 2005 +0000 solaris10-fs-find-afs-vnode-20051014 find the real vnode so cheating on solaris 10 will work commit a9fd6619a4e74930ae27744f95f04fefabaa6c9f Author: Jeffrey Altman Date: Sat Oct 15 02:18:34 2005 +0000 rxgen-multi-prototypes-20051014 FIXES 22349 generate prototypes for split stuff when the stub is multi commit 5487535dfc97bc78755737e05757b786637f4a81 Author: Jeffrey Hutzelman Date: Fri Oct 14 22:26:29 2005 +0000 linux-objdir-kernel-builds-20051014 FIXES 22352 allow objdir kernel module builds to work again commit 41fe908bead6b30e41fd9e4f5084cd5e1dc3ca4a Author: Jeffrey Altman Date: Fri Oct 14 12:18:15 2005 +0000 windows-pattern-matching-20051014 FIXES 4623 Pattern matching was broken. '?' should match zero characters if it appears before a '.' or at the end of the file name. commit ec38f9ed3236005114292f08d1c77891aa3a36d3 Author: Jeffrey Altman Date: Fri Oct 14 04:25:04 2005 +0000 windows-locking-init-req-20051013 two cm_InitReq() calls were in the wrong place opening the possibility for stack corruption commit ae7d5f250d96b7350ee369a74f71a89d646ddccc Author: Chas Williams Date: Thu Oct 13 21:59:13 2005 +0000 solaris10-afsd-waitpid-to-clean-contract-20051013 FIXES 22317 it seems like this might be a bug in solaris10 when handling contracts of exiting chilren who have created kernel threads. the rxlistener is a kernel thread on solaris and the child that starts the kernel_thread returns and exits. commit ed46ac49431f26e7063359ac96b174d1e7ec49e5 Author: Daria Phoebe Brashear Date: Thu Oct 13 20:55:35 2005 +0000 macos-cleanup-20051006 let's revert and try this again ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== try this again ==================== try this again commit f49876b8cb2acb94accda10d190c6cfe41a16b81 Author: Loïc Tortay Date: Thu Oct 13 19:25:05 2005 +0000 solaris10-nfs-really-20051013 FIXES 22318 fix array size so this all works commit bb33cbb6eb15664ff56ec5e93d95888878af3d7a Author: Daria Phoebe Brashear Date: Thu Oct 13 16:12:00 2005 +0000 macos-rollup-20051013 incorporating STABLE14-macos104-20051005 STABLE14-macos-cleanup-20051006 macos-cleanup-20051006 macos-cleanup-20051007 from the 1.4.x branch, which needed to be forward-ported to work here, sadly. commit b5f47e6d1574a6b267ece2d35f9d8d5a08414d7b Author: Chas Williams Date: Wed Oct 12 07:15:39 2005 +0000 solars-sparc32-largefile-20051011 readd largefile support for solaris sparc32 commit 981b6352250d3bd279cf9bacda4045ca673efa60 Author: Chas Williams Date: Wed Oct 12 07:09:35 2005 +0000 solaris10-ugly-avoid-ENODEV-hack-20051011 fix this a better way, rolling bsack earlier change commit 4e763d07cf510c3a12f2c12bf21c3ec25579b021 Author: Jeffrey Altman Date: Mon Oct 10 23:21:29 2005 +0000 windows-ticket-lifetime-20051010 The lifetime parameter is in minutes so treat it that way. commit f578cae38600970ad6b4da91f2f7b6c0f28a12c6 Author: Jeffrey Altman Date: Sun Oct 9 03:52:33 2005 +0000 macos-missing-files-20051008 add files missing after merge commit 2b4cbfe09beff325862f377bb509ce3515ad221b Author: Jeffrey Altman Date: Sat Oct 8 15:13:25 2005 +0000 windows-release-notes-20051008 Update description of Product ID generation. commit 8299e102c71ae0f3d04c17e089e8f960a7c2bb7e Author: Jeffrey Altman Date: Sat Oct 8 04:57:34 2005 +0000 rx-tq-waiter-rework-20051007 Only Broadcast to wake threads if there are threads waiting. commit 2dcb1cdc3d6f10b366d2b93970f5f1f83287e157 Author: Jeffrey Altman Date: Sat Oct 8 04:49:50 2005 +0000 windows-byte-range-locks-20051007 There was a race condition associated with maintaining the CM_FILELOCK_FLAG_CLIENTONLY flag on locks bound to scache entries for Read Only volumes. Therefore, we remove the use of the flag and simply test the RO status of the scache entry. commit 3b290d5b7972c589000837ea34f3ccbe047d36e0 Author: Daria Phoebe Brashear Date: Fri Oct 7 21:11:01 2005 +0000 dedebug-20051007 perhaps this should never be pulled up. anyway, implement dentry cache status dumping for linux. and provide a tool to dump it disabled (tool, not rpc) by default ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== perhaps this should never be pulled up. anyway, implement dentry cache status dumping for linux.^? and provide a tool to dump it disabled (tool, not rpc) by default ==================== perhaps this should never be pulled up. anyway, implement dentry cache status dumping for linux.^? and provide a tool to dump it disabled (tool, not rpc) by default commit 57134019771652937047519c4efd5f17b733190e Author: Daria Phoebe Brashear Date: Fri Oct 7 20:30:21 2005 +0000 viced-take-offline-on-ihopen-fail-20051007 when IH_OPEN fails, we should take the volume offline so it will be salvaged commit 4a2c3ed5ed878350199350598614bb5f82cf965b Author: Daria Phoebe Brashear Date: Fri Oct 7 20:29:30 2005 +0000 solaris10-nfs-trans-update-20051007 partial nfs translatlor update for solaris 10 commit 57e0d7e02d486c76f2004227f2918a92847377cf Author: Chas Williams Date: Fri Oct 7 20:24:16 2005 +0000 solaris10-ugly-avoid-ENODEV-hack-20051007 we need to fix this another way but put it here for now commit f7bc43154dc81503b0f6fba9c9135d8926d16ceb Author: Daria Phoebe Brashear Date: Fri Oct 7 20:18:21 2005 +0000 cellconfig-check-for-corrupt-keyfile-20051007 don't crash when we have a corrupt keyfile commit 602f2ae816208f49e08667c65a3eee42ecc39041 Author: Chas Williams Date: Fri Oct 7 18:22:19 2005 +0000 linux-cv-init-20051007 FIXES 20114 fix the CV_INIT macros commit 465273f096b1a1720ca07638537fd4c65d7d1d8d Author: Jeffrey Altman Date: Fri Oct 7 03:09:48 2005 +0000 windows-busy-vs-offline-20051006 Discovered a failure in the state machine. There was no method of distinguishing between all servers being Down (which is handled by the background thread) and all volumes being offline (perhaps due to a move). commit e8ad124c1622ab8a128b801a662db57ef587af68 Author: Asanka Herath Date: Thu Oct 6 18:29:44 2005 +0000 windows-lock-count-fix-20051006 lock counts were not being reduced on file close when the lock was lost. commit 8445720d36474797b67341991f15771dcb90b236 Author: Jeffrey Altman Date: Thu Oct 6 14:48:58 2005 +0000 windows-byte-range-locks-20051006 Do not mark locks lost simply because the ExtendLock failed. A lock is only lost if the server responds with EINVAL indicating that the lock no longer exists. A lock can be renewed by other clients that are also using the file. The client can make no assumptions about the status of a lock based upon the passage of time. commit b9b6cb7c25cb3bcd4d34d1a52a7915c9ba46df06 Author: Asanka Herath Date: Wed Oct 5 14:32:29 2005 +0000 windows-wix-product-id-20051005 As the file name of the OpenAFS installer changes with each release, so must the Product ID (but not the Upgrade ID). Therefore, do not hard code the Product ID in the Makefile, instead auto-generate it as part of the installer. commit b7d63fe7389e1b984bf29ef680f791837fe63386 Author: Jeffrey Altman Date: Wed Oct 5 14:22:35 2005 +0000 windows-byte-range-locking-20051005 Return the actual locking error such as "access denied" due to lack of 'k' privileges instead of a sharing violation. commit 248c22dd15e11ed0ef233a387cb4c1578fe8d71c Author: Jeffrey Altman Date: Tue Oct 4 18:44:22 2005 +0000 windows-exports-20051004 remove duplicate exports commit 83d0b569ee0a05d7a0e96de93c73a1be0813e3fa Author: Jeffrey Altman Date: Tue Oct 4 04:16:36 2005 +0000 windows-rxstats-20051003 strip the pioctl path from the input before reading the flags commit e12837391e2dbbf0cf113f9af64c4daeef6680a3 Author: Jeffrey Altman Date: Mon Oct 3 05:03:39 2005 +0000 windows-afscreds-20051002 FIXES 22032 Extend the fields so that more text can be displayed regarding the tokens. commit abde1e6281ff1403e67c6f573dd10be4c892fb9a Author: Joe Buehler Date: Mon Oct 3 04:13:26 2005 +0000 linux-rc-wait-for-salvager-20051002 FIXES 21754 rc file hack to wait for salvage to finish commit 543e49eaaea2290c4239dd79864384f11adb2607 Author: Daria Phoebe Brashear Date: Mon Oct 3 03:54:44 2005 +0000 memcache-set-default-write-size-20051002 based on comment from chas williams. set the default write amount as is done for ufs cache writes commit aee18ed884d2af05174594120ba1825bfe76c96a Author: Joe Buehler Date: Mon Oct 3 03:44:42 2005 +0000 hpux-build-updates-20051002 FIXES 21722 ndir.h has been changed. also, pthreads header doesn't match how we used it commit cb39d44cf56f51d6a14a6ba61f4b0662719aac8e Author: Jeffrey Altman Date: Mon Oct 3 03:29:45 2005 +0000 windows-release-notes-take2-20051002 place the text in the correct section commit 6a643ba40a75ed0a03ddf6986eb6bdd485335f6d Author: Jeffrey Altman Date: Mon Oct 3 03:17:56 2005 +0000 windows-release-notes-20051002 Document registry entries for RX stats gathering commit 43693952e7d7a2f7948940ab4376547ba691562b Author: Jeffrey Altman Date: Mon Oct 3 01:22:53 2005 +0000 windows-notes-20051002 changes for 1.4.0 rc6 commit 28b99d753cbb5ff1dd527a93c8c6ee9c5c5011dd Author: Jeffrey Altman Date: Sun Oct 2 15:48:25 2005 +0000 windows-shell-ext-default-buttons-20051002 many of the shell extension dialogs did not have default pushbuttons specified which would result in an undesirable end user experience commit f8bdf475e2260f8c8d70a4ddc053ef3ec086a416 Author: Jeffrey Altman Date: Sun Oct 2 15:46:13 2005 +0000 windows-shell-ext-prevent-unload-hack-20051002 The shell extension is unloading as it should but is never being loaded again. Since we have no clue why and no idea how to debug it, for now, just prevent it from being unloaded in the first place. commit c0013b2513b206edded080f0a4cea6e7e96ab281 Author: Jeffrey Altman Date: Sun Oct 2 10:07:16 2005 +0000 windows-shell-ext-server-status-20051002 Fix the server status dialog to properly call CheckServers and fix CheckServers to properly construct the data structure for the pioctl call. commit f3e2cdb5260e49d5335d37fdab909d360bbe7102 Author: Jeffrey Altman Date: Sun Oct 2 07:04:36 2005 +0000 windows-rxstats-20051001 Add interface to rxstats api commit bc536e32afbd921ff7be5065f92ec397ab7a2406 Author: Jeffrey Altman Date: Sun Oct 2 06:52:28 2005 +0000 windows-afsrpc-exports-20051001 Add missing exports commit e06475ff424f416086a1b859eb658e0f2ac9ed13 Author: Jeffrey Altman Date: Sun Oct 2 05:45:27 2005 +0000 windows-afs-shl-ext-rc-20051002 The DownServers dialog had the wrong resource id associated with the listbox. commit 2b1604240e664da572df922aa84b15b717fcd8ec Author: Jeffrey Altman Date: Sat Oct 1 13:10:41 2005 +0000 windows-fs-exa-20051001 Add reporting of the FID, cell, owner and group to the output of "fs exa" (on Windows only). There is no other means to obtain this data from a Windows client. commit 46e260b9e72925f9f5b2e5cee3159d4c6b02fc05 Author: Matthew Loar Date: Sat Oct 1 05:50:44 2005 +0000 windows-afscreds-20050930 FIXES 21958 For the afscreds program on Windows, if you right click the system tray icon to display the menu and then click on the taskbar, the menu is not hidden, but instead is covered by the taskbar. This is a common issue documented at http://support.microsoft.com/default.aspx?scid=kb;en-us;135788. commit f1454a2885c410f5e886fa136a61c70cc06d42df Author: Chas Williams Date: Thu Sep 29 21:34:55 2005 +0000 solaris-init-offset-for-write-20050929 passing a random nlen into afs_GetDCache() when in write mode seems to sometimes trigger overwrites. commit 49ee8b5cfc44964d0305f2e1cc6b4d5d4ab8b028 Author: Tom Keiser Date: Thu Sep 29 05:42:31 2005 +0000 makefile-dependancies-20050925 FIXES 21859 add missing dependancies to make it explicit who needs what commit 69a5db9fda91d5fc7becb85980f2f0595ebe7ed5 Author: Jeffrey Altman Date: Tue Sep 27 05:37:37 2005 +0000 windows-nsis-20050926 Install a Documentation Shortcut as part of the client install. It is independent of the Supplemental Documentation which is not required for the release notes. commit f2674a3d45dfe83efb5c0647e22e25f42c553d13 Author: Jeffrey Altman Date: Tue Sep 27 04:13:31 2005 +0000 windows-notes-20050926 more changes for 1.4.0 rc5 commit a1e9273ded1993c528576102fca290663854e0c8 Author: Asanka Herath Date: Tue Sep 27 03:40:16 2005 +0000 windows-wix-docs-20050926 Match the documentation location of the NSIS installer. commit 1512b602134bf46d78671628e438a5b7f9155524 Author: Jeffrey Altman Date: Tue Sep 27 01:35:21 2005 +0000 windows-release-notes-20050926 Document MSI Product Codes commit 54ce3cf1e76210aef198f7ca90c7eaeae9d6c484 Author: Jeffrey Altman Date: Tue Sep 27 00:30:33 2005 +0000 windows-installer-guid-20050926 New GUIDs for the 1.5 branch: amd64_w2k {A0A7B986-CF35-499c-9400-9A987F218127} i386_nt40 {93AFD8F0-C150-47bc-B318-A029222D8993} i386_w2k {E832F832-C937-46bc-8C1D-BC7EF6F3F62F} commit 0632bcbdabec3536582632097194abb65c36bf95 Author: Jeffrey Altman Date: Mon Sep 26 04:13:16 2005 +0000 windows-issues-20050925 update the outstanding issues list commit 06c41102b4b1ee1f120aa4d8f2081ab7ed24d720 Author: Jeffrey Altman Date: Mon Sep 26 04:10:42 2005 +0000 windows-notes-20050925 document changes for 1.4 rc5 commit a5ec94485bf57826c09be0a3fa44ae610e1cc7e8 Author: Jeffrey Altman Date: Mon Sep 26 03:51:41 2005 +0000 windows-index-title-fix-20050925 Fix the title to read OpenAFS instead of IBM AFS commit 7a3dd6f807beb3f516bcbcbe5cb2523fcd464c62 Author: Jeffrey Altman Date: Mon Sep 26 03:32:23 2005 +0000 windows-nsis-install-c-20050925 remove the new docs from non-en_US installs. We need to find someone to perform language conversion. commit cd8126f56c27848add91bb1e323ab40457472748 Author: Jeffrey Altman Date: Mon Sep 26 03:14:49 2005 +0000 windows-nsis-install-b-20050925 oops, missing '\\' commit 93b2789e897c707e37dfaac3a039773e681cdf7f Author: Asanka Herath Date: Mon Sep 26 02:19:01 2005 +0000 windows-wix-install-20050925 Add new HTML release notes to MSI commit da213bfa2904bdb3899982640822e9434d515b6c Author: Jeffrey Altman Date: Mon Sep 26 02:10:05 2005 +0000 windows-notes-remove-20050925 remove files whose contents are now maintained in the HTML files src/WINNT/doc/... commit a2e39eb0f239da83dc438806bcb0b4a5ee5e88d8 Author: Jeffrey Altman Date: Mon Sep 26 01:47:25 2005 +0000 windows-nsis-install-20050925 Update the installer to always install the release notes. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add all of the new directories commit 2c599161dbb255edee27c4fc176a8011408f2b47 Author: Jeffrey Altman Date: Mon Sep 26 01:18:00 2005 +0000 windows-release-notes-20050925 Update the installed documentation to include the new OpenAFS for Windows release notes. No IBM documentation is being removed but the top level index page has been re-written to indicate that the IBM docs are out of date. The new OAFW Release Notes have been added to the ReleaseNotes with a link. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Fix the link to the OAFW notes. ==================== fix the links to point to .htm instead of .doc commit 4e49cb6fcf340a74c68520476ceec598180b8134 Author: Daria Phoebe Brashear Date: Fri Sep 23 15:55:38 2005 +0000 revert-aix-afsdb-20050815 FIXES 20801 revert this until it's corrected. commit 9c7f6fa17209ce8cfbe73eefbcbb37aced31cc60 Author: Peter Somogyi Date: Wed Sep 21 16:13:28 2005 +0000 pthread-glock-volatility-20050921 FIXES 21526 deal with situations where pthread glock assert happens by asserting volatility. ick. commit fbba9553640a785bc449672d60870a6fcd043436 Author: Jeffrey Altman Date: Wed Sep 21 01:33:42 2005 +0000 rx-send-error-code-propagation-20050916 corrections to rx-send-error-code-propagation-20050915 for bsd commit 664c5f83fea216fe8e1213ba50cf955dd5d768a2 Author: Joe Buehler Date: Wed Sep 21 01:02:42 2005 +0000 aix-export-h-20050920 FIXES 21723 make sure we include our export.h and not the one from nfs. commit cc8cfd47bc506396501c9bd2225dd907567e36b7 Author: Jeffrey Altman Date: Tue Sep 20 00:24:26 2005 +0000 windows-icons-20050919 Associate the OpenAFS icon with the Control Panel and Service and the installers commit 277c3b4ecf11398457c617ecd63e6c7f1a52fd1c Author: Stephan Wienczny Date: Mon Sep 19 04:39:13 2005 +0000 linux-no-pf-freeze-20050908 FIXES 21424 new enough linux has no PF_FREEZE sigh commit 8aef0475415d2b67721b06aaad6a6aa47b3f2bf8 Author: Jeffrey Altman Date: Sat Sep 17 20:59:22 2005 +0000 windows-rx-debug-tid-20050917 add the thread id to the rx debug output commit 18bb5faec22ac8c000b7964eef635a1213500654 Author: Jeffrey Altman Date: Fri Sep 16 04:24:30 2005 +0000 windows-servers-all-down-do-not-retry-20050915 remove the logic in cm_Analyze that performs a flush of the server data and retries when all of the servers are marked down (aka ALLOFFLINE). Instead return an immediate error to the caller. The servers will be checked by the background daemon thread and made available when they are. commit 9ac9185b0feb87eff820963f83a6c861c49bdab5 Author: Jeffrey Altman Date: Fri Sep 16 03:27:15 2005 +0000 rx-send-error-code-propagation-20050915 * add a version of rxi_DebugPrint for Windows that uses OutputDebugString * migrate all printf statements to the dpf macro * stop masking the errors from rx_sendmsg() so that higher level functions can make decisions based upon the failure. * Windows reports EHOSTUNREACHABLE. Similar to Linux, if it is reported reset the send packet start time to 0 in order to immediately cause the server to be marked down. commit b08017e91f5b4d175b5c9b1f6d68adb9effa3360 Author: Daria Phoebe Brashear Date: Wed Sep 14 09:51:56 2005 +0000 rx-tq-waiter-rework-20050914 heavily reworked by jaltman@secure-endpoints.com and then a little further editing by me see if we can avoid doing to sleep forever waiting on the tq to flush ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== do not decrement tqWaiters in the while evaluation. This will result in an invalid count if the value was zero to begin with. commit bd1cc3d37b456b02d9d1446ae12962fdd97fa1a5 Author: Jeffrey Altman Date: Wed Sep 14 05:41:54 2005 +0000 windows-notes-20050914 Add note regarding AFSCache file fragmentation affecting performance Fix one of the RPC registry entries Document UUID re-generation change commit bbf6472a111727e739ec5216b431c1c9263af736 Author: Daria Phoebe Brashear Date: Wed Sep 14 05:28:11 2005 +0000 rx-no-data-on-call-zero-20050913 hopefully fix sven oehme's problem commit 870d414e6c3765ff52a65d1c06fbc5ddfb254f17 Author: Jeffrey Altman Date: Fri Sep 9 20:47:03 2005 +0000 windows-detect-uuid-cloning-20050909 Begin to store the Disk Volume Serial Number and Machine SID in the AFSCache file for use in detecting system clones. Clones must get a new UUID for the AFS Client. commit 604435daaf23c9883c6ac52c1c3b656ebacbaae7 Author: Jeffrey Altman Date: Fri Sep 9 20:43:07 2005 +0000 windows-fs-cleanup-20050909 remove unused variables commit 1d83f0e3b725643c32ec211694f554acd9d6777a Author: Jeffrey Altman Date: Fri Sep 9 13:51:43 2005 +0000 windows-pioctl-debug-20050909 log the pioctl path provided by the caller commit 9e348b344dfe9f3940f099beb2acc208fa90a61c Author: Jeffrey Altman Date: Wed Sep 7 20:19:10 2005 +0000 windows-fs-flushall-20050907 "fs flushall" is like "fs flushvolume" but flushes all data in the cache ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== typo commit 6d6789345ecab70c973cea46b5b262e92e153498 Author: Chas Williams Date: Wed Sep 7 18:38:56 2005 +0000 linux-root-fix-reval-20050907 FIXES 21390 revalidate the root vnode correctly so if we become replicated we don't lose commit d154b54b555ab1c0eca0a633a29e6d73a1ef35bd Author: Jeffrey Altman Date: Wed Sep 7 18:17:04 2005 +0000 windows-uuid-note-20050907 Warn users to remove AFSCache file when cloning machines with AFS installed commit 46e69c150286793e0c2238af01b8d4637b95dd54 Author: Chas Williams Date: Mon Sep 5 17:28:39 2005 +0000 linux-root-no-reval-20050905 don't revalidate the root afs vnode, so if root.afs becomes replicated out from under us we don't lose. commit e32a568a967d3a63832ac57f77032ca34fb7056d Author: Jeffrey Altman Date: Sun Sep 4 05:53:27 2005 +0000 windows-install-notes-20050904 updated install notes commit d9a958998c6a04e213532f908dbb2a559ea8c355 Author: Jeffrey Altman Date: Sun Sep 4 05:50:17 2005 +0000 windows-updates-20050904 most recent change descriptions commit fed9b0844cbd07717e0af1376573f835eb3aaade Author: Chas Williams Date: Sun Sep 4 05:10:14 2005 +0000 linux-remove-reval-shortcut-20050903 don't skip revalidation work so we don't end up with bogus directory dates commit fd8bfddd5ec9395a9ed5057e36abeb66beb976fb Author: Nathan Neulinger Date: Sat Sep 3 00:38:16 2005 +0000 shlibafsrpc-objdir-20050902 FIXES 21312 make objdir builds work again commit 599b57ed78f86eaeb543d67d3955f71865feae1e Author: Jeffrey Hutzelman Date: Fri Sep 2 23:48:35 2005 +0000 rx-propagate-error-20050902 if we have an error propagate it to new calls commit d04a62e64141903d17dd244e10094fd446ab73a7 Author: Jeffrey Altman Date: Fri Sep 2 18:23:50 2005 +0000 windows-pioctl-20050902 support '/' as well as '\\' in pioctl calls commit 001f9b9732a3a30ea0c51c12a0f69c400102d7a7 Author: Asanka Herath Date: Thu Sep 1 02:55:01 2005 +0000 windows-loopback-20050831 As stated in the afs-install-notes, the MS Client for Networks should be enabled on the loopback adapter, so enable it. Prevent an install failure by not calling CoInitialize twice in the same thread. commit 69a98684f0a85db5618a472835a0e588b01b5d6e Author: Jeffrey Altman Date: Thu Sep 1 01:00:41 2005 +0000 windows-gui2fs-20050831 Apply AFS Client Admins group protect to AFS Shell Extension Add support for \\afs\ to most commands except the symlink methods. commit 27b81213dfffc5c4d8979f1cc381084d924ea8e1 Author: Jeffrey Altman Date: Thu Sep 1 00:52:03 2005 +0000 windows-cell-expiration-20050831 When updating cell information from DNS, be sure to set a new timeout. When obtaining cell information from a file, check every two hours to see if it changed. commit 36c57c994ae750dd5f673de5574f0505d67b4e1f Author: Daria Phoebe Brashear Date: Wed Aug 31 22:35:40 2005 +0000 volser-audit-setids-fix-20050831 FIXES 21263 type is an int, not a string commit 682f5ffb21575587123ecbb7a5867d1c5495dd4e Author: Jeffrey Altman Date: Wed Aug 31 11:59:06 2005 +0000 windows-freelance-fs-symlink-20050831 Add support to allow use of \\AFS\ where is either a mount point or symlink. As is normally treated as a share name, we transform it into \\AFS\all\ for processing. commit 0b74a7d25c7f164702843b545615f906a6bdebbd Author: Eric Williams Date: Mon Aug 29 20:39:56 2005 +0000 windows-afslogon-code-init-20050829 Init 'code' to prevent false errors when integrated logon is disabled and the service is not running commit 920dc9dfc41a52a79f062f887d7cd656ea084f42 Author: Jim Rees Date: Mon Aug 29 19:58:05 2005 +0000 obsd-krb5flags-20050828 KRB5CFLAGS and KRB5LIBS for OpenBSD commit 308ed8fecbeb0a6eb70461016f9b726830cb7979 Author: Jeffrey Altman Date: Sun Aug 28 21:48:25 2005 +0000 windows-notes-20050828 updates commit e03a1b954f0cc2ae63aaa3506d44647d93f13db4 Author: Daria Phoebe Brashear Date: Sun Aug 28 20:59:55 2005 +0000 aklog-no-gmake-20050828 FIXES 21031 make aklog Makefile not use gmake/non standard make += syntax commit b9fc404bdf16fc3a61f13bffcaadc5d598d02cbd Author: Jeffrey Altman Date: Sun Aug 28 04:43:55 2005 +0000 windows-default-trace-log-off-20050827 Now that OAFW is ready for a stable series, we will default "fs trace" to off on non-Debug builds. It can be set to on via the TraceOption registry value. (see registry.txt) commit c0fea634084ee1c223c611c3ab3955a13d1ba884 Author: Jeffrey Altman Date: Sun Aug 28 04:32:44 2005 +0000 windows-add-tid-to-mutex-20050827 Add to mutex objects the ID of the thread that holds the lock. This will make future debugging much easier. commit 6620b9452bb3f270ebabc29a910918b1f17225f4 Author: Jeffrey Altman Date: Sun Aug 28 04:29:31 2005 +0000 windows-scache-deadlock-fix-20050827 It was reported that Microsoft Word when editing files stored in AFS would cause OAFW to fail to respond. It was determined that a scp->mx lock was not being released in buf_WaitIO if the no one was waiting on the scp. This patch corrects the deadlock and fixes some debugging messages. commit ee937439adc8d8ea214c9d53aee0ee5329697c80 Author: Jeffrey Altman Date: Fri Aug 26 14:46:11 2005 +0000 windows-remove-log-messages-20050826 The log message added to buf_LockedCleanAsync() during the debugging post 1.3.8201 is output for 1/10th of all buffers once every 5 seconds. This is a huge performance hit. Move the message so that it is only output for buffers that are actually dirty. Also, change the algorithm so that the sqrt() of the number of buffers are checked every 5 seconds instead of 1/10th. This will do a better job with very large cache sizes. commit 48b0320b201c2efe153098e8a5a5e4e6470a41c5 Author: Jeffrey Altman Date: Fri Aug 26 14:39:31 2005 +0000 windows-trace-log-to-dbgview-20050820 Added a new option for viewing the trace log data in real time ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Include the Thread ID in the output to make it usable for debugging deadlocks. ==================== alter the afsd_init.log tag for the TraceOption to not be Windows Event Log specific. commit f4471a8f188dd74617ef831a6dcbe677eb8a6acf Author: Jim Rees Date: Mon Aug 22 15:22:58 2005 +0000 recommended-bsd-options-20050822 Document recommended build options for Open and FreeBSD. commit 84e761d850c4cf5f76dd844e6e6f738a35f88102 Author: Jeffrey Altman Date: Sun Aug 21 00:22:59 2005 +0000 windows-afscreds-deadlock-20050820 found a deadlock in the expiration check if a MessageBox dialog is being displayed commit df72c49fbadfa6e30538f136aa2dd0a54e58c20d Author: Asanka Herath Date: Sat Aug 20 23:58:21 2005 +0000 windows-dfs-support-disable-20050820 remove the trailing 1 commit 1a2172275920d959bab3f21aacf0689814c83c87 Author: Jeffrey Altman Date: Sat Aug 20 02:27:48 2005 +0000 windows-better-vol-missing-messages-20050819 Use a different message for each vol error code instead of one for all commit 3e6b71d7aad3aeea23e313c5c63f5e2abda07a7e Author: Stefaan De Roeck Date: Fri Aug 19 20:34:34 2005 +0000 dirpath-canonical-should-be-local-20050819 FIXES 20954 ConstructLocalPath only checks the first argument (cpath) for needed translation from canonical to local, but not the relativeTo path, which is simply prepended when cpath doesn't begin with a '/'. commit aec3c2b19292c552705f1c0eb3065a26e0b03649 Author: Daria Phoebe Brashear Date: Fri Aug 19 20:20:44 2005 +0000 fix-busyat-enforcement-20050819 FIXES 20659 enforce busyat in the other half of the if commit 49802c76b1a4cc1fb67e704e449325899ae42f0e Author: Chas Williams Date: Fri Aug 19 16:32:24 2005 +0000 rmdir-dont-hold-kernel-lock-20050819 potentially fix one of the deadlocks people have been seeing commit e14ef50cd5f40b403e71cc2068c98c6e06f2c612 Author: Tom Keiser Date: Thu Aug 18 05:55:00 2005 +0000 des-nostats-20050818 FIXES 20921 just yank for now, we'll fix for 1.4.1 commit caa4c12b719763c6b35080a6e5f0beaf0d53c406 Author: Chas Williams Date: Thu Aug 18 05:11:59 2005 +0000 linux-inactive-in-place-of-remunlink-20050818 FIXES 20912 call afs_InactiveVCache() instead of afs_remunlink() for unlink, the "inactive" refcount is 1 now instead of 0. commit 1bc0250ec0793ee28d4cbec3fb5b929d541aa95c Author: Daria Phoebe Brashear Date: Wed Aug 17 20:25:29 2005 +0000 irix-gop-lookupname-20050817 irix of course won't build when your function doesn't match the prototype commit e465ee95b095d1bea7e37e0aeec0f4a781cf8231 Author: Jeffrey Altman Date: Wed Aug 17 19:50:18 2005 +0000 windows-dfs-support-disable-20050817 disable dfs processing until we get the Unicode CIFS support commit 9d396c4916fdac64fcface30e6637ca6e2911203 Author: Niklas Edmundsson Date: Wed Aug 17 17:16:50 2005 +0000 cache-autotune-20050817 This patch tries to implement the afsd default tuning parameters discussed in the thread starting at https://www.openafs.org/pipermail/openafs-devel/2005-May/012158.html I took the liberty of adding chunksize-tuning to the memcache too, with the motivation that people using large memcaches usually wants better bulk performance too. It seems to work for me using both disk cache and memcache of various sizes. commit c9bba4c460b54c48fe8ecb1b35fbe2a4efd4ac19 Author: Jeffrey Altman Date: Wed Aug 17 17:06:26 2005 +0000 windows-freelance-admin-20050817 When testing for IsFreelance() use the right path for symlink rm and fs rmmount. commit 128ec84945c1f0879e0df74259a55029f2ea48d6 Author: Jeffrey Altman Date: Wed Aug 17 11:38:55 2005 +0000 windows-version-1-5-20050817 Development version to 1.5.xxxx commit adbded121354fe6727edcad303e25d4d42b17bcb Author: Jeffrey Altman Date: Wed Aug 17 11:22:50 2005 +0000 windows-version-1-4-20050817 Update version to 1.4.0000 Yay!!!!! commit cc2c8c3a8efe073ff20dca356e859d0dbdcd62d9 Author: Daria Phoebe Brashear Date: Tue Aug 16 19:09:49 2005 +0000 kasadmin-prototyping-20050816 FIXES 20766 make kasadmin module prototyping correct again commit 68f5f09832ae0b9207951df717a4e33910d9a147 Author: Daria Phoebe Brashear Date: Tue Aug 16 18:58:27 2005 +0000 sgistuff-missing-files-20050816 FIXES 20766 these were overzealously killed (by me) fix commit 23e9aff4c95d3803923f4352bc37435805b4c68d Author: Jim Rees Date: Tue Aug 16 17:59:12 2005 +0000 reindent-afsd-c-20050816 reindent commit 14408c7e88c198d80ce89e90e209f48685da89da Author: Asanka Herath Date: Tue Aug 16 17:17:13 2005 +0000 windows-byte-range-locks-20050816 Byte range locks: The OpenAFS Windows client has to fake byte range locks given no server side support for such locks. This is implemented as keyed byte range locks on the cache manager. Keyed byte range locks: Each cm_scache_t structure keeps track of a list of keyed locks. The key for a lock is essentially a token which identifies an owner of a set of locks (referred to as a client). The set of keys used within a specific cm_scache_t structure form a namespace that has a scope of just that cm_scache_t structure. The same key value can be used with another cm_scache_t structure and correspond to a completely different client. However it is advantageous for the SMB or IFS layer to make sure that there is a 1-1 mapping between client and keys irrespective of the cm_scache_t. Assume a client C has key Key(C) (although, since the scope of the key is a cm_scache_t, the key can be Key(C,S), where S is the cm_scache_t. But assume a 1-1 relation between keys and clients). A byte range (O,+L) denotes byte addresses (O) through (O+L-1) inclusive (a.k.a. [O,O+L-1]). The function Key(x) is implemented through cm_generateKey() function for both SMB and IFS. The cache manager will set a lock on the AFS file server in order to assert the locks in S->fileLocks. If only shared locks are in place for S, then the cache manager will obtain a LockRead lock, while if there are any exclusive locks, it will obtain a LockWrite lock. If the exclusive locks are all released while the shared locks remain, then the cache manager will downgrade the lock from LockWrite to LockRead. Lock states: A lock exists iff it is in S->fileLocks for some cm_scache_t S. Existing locks are in one of the following states: ACTIVE, WAITLOCK, WAITUNLOCK, LOST, DELETED. The following sections describe each lock and the associated transitions. 1. ACTIVE: A lock L is ACTIVE iff the cache manager has asserted the lock with the AFS file server. This type of lock can be exercised by a client to read or write to the locked region (as the lock allows). 1.1 ACTIVE->LOST: When the AFS file server fails to extend a server lock that was required to assert the lock. 1.2 ACTIVE->DELETED: Lock is released. 2. WAITLOCK: A lock is in a WAITLOCK state if the cache manager grants the lock but the lock is yet to be asserted with the AFS file server. Once the file server grants the lock, the state will transition to an ACTIVE lock. 2.1 WAITLOCK->ACTIVE: The server granted the lock. 2.2 WAITLOCK->DELETED: Lock is abandoned, or timed out during waiting. 2.3 WAITLOCK->LOST: One or more locks from this client were marked as LOST. No further locks will be granted to this client until al lost locks are removed. 3. WAITUNLOCK: A lock is in a WAITUNLOCK state if the cache manager receives a request for a lock that conflicts with an existing ACTIVE or WAITLOCK lock. The lock will be placed in the queue and will be granted at such time the conflicting locks are removed, at which point the state will transition to either WAITLOCK or ACTIVE. 3.1 WAITUNLOCK->ACTIVE: The conflicting lock was removed. The current serverLock is sufficient to assert this lock, or a sufficient serverLock is obtained. 3.2 WAITUNLOCK->WAITLOCK: The conflicting lock was removed, however the required serverLock is yet to be asserted with the server. 3.3 WAITUNLOCK->DELETED: The lock is abandoned or timed out. 3.5 WAITUNLOCK->LOST: One or more locks from this client were marked as LOST. No further locks will be granted to this client until all lost locks are removed. 4. LOST: A lock L is LOST if the server lock that was required to assert the lock could not be obtained or if it could not be extended, or if other locks by the same client were LOST. Effectively, once a lock is LOST, the contract between the cache manager and that specific client is no longer valid. The cache manager rechecks the server lock once every minute and extends it as appropriate. If this is not done for 5 minutes, the AFS file server will release the lock. Once released, the lock cannot be re-obtained without verifying that the contents of the file hasn't been modified since the time the lock was released. Doing so may cause data corruption. 4.1 LOST->DELETED: The lock is released. 4.2 LOST->ACTIVE: The lock is reassertd. This requires verifying that the file was not modified in between. 4.3 LOST->WAITLOCK: All LOST ACTIVE locks from this client were reasserted. The cache manager can reinstate this waiting lock. 4.4 LOST->WAITUNLOCK: All LOST ACTIVE locks from this client were reasserted. The cache manager can reinstate this waiting lock. 5. DELETED: The lock is no longer relevant. Eventually, it will get removed from the cm_scache_t. In the meantime, it will be treated as if it does not exist. 5.1 DELETED->not exist: The lock is removed from the cm_scache_t. 6* A lock L is ACCEPTED if it is ACTIVE or WAITLOCK. These locks have been accepted by the cache manager, but may or may not have been granted back to the client. 7* A lock L is QUEUED if it is ACTIVE, WAITLOCK or WAITUNLOCK. 8* A lock L is EFFECTIVE if it is ACTIVE or LOST. 9* A lock L is WAITING if it is WAITLOCK or WAITUNLOCK. Lock operation: A client C can READ range (Offset,+Length) of cm_scache_t S iff: 1. for all _a_ in (Offset,+Length), one of the following is true: 1.1 There does NOT exist an ACTIVE lock L in S->fileLocks such that _a_ in (L->LOffset,+L->LLength) (IOW: byte _a_ of S is unowned) AND For each LOST lock M in S->fileLocks such that _a_ in (M->LOffset,+M->LLength), M->LockType is shared AND M->key != Key(C). (Note: If this is a different client from one whose shared lock was LOST, then the contract between this client and the cache manager is indistinguishable from that where no lock was lost. If an exclusive lock was lost, then the range is considered unsafe for consumption.) 1.3 There is an ACTIVE lock L in S->fileLocks such that: L->key == Key(C) && _a_ in (L->LOffset,+L->LLength) (IOW: byte _a_ of S is owned by C under lock L) 1.4 There is an ACTIVE lock L in S->fileLocks such that _a_ in (L->LOffset,L->+LLength) && L->LockType is shared (IOW: byte _a_ of S is shared) AND there is no LOST lock M such that _a_ in (M->LOffset,+M->LLength) and M->key == Key(C) A client C can WRITE range (Offset,+Length) of cm_scache_t S iff: 2. for all _a_ in (Offset,+Length), one of the following is true: 2.1 Byte _a_ of S is unowned (as above) AND for each LOST lock L in S->fileLocks _a_ NOT in (L->LOffset,+L->LLength). 2.2 Byte _a_ of S is owned by C under lock L (as above) AND L->LockType is exclusive. A client C can OBTAIN a lock L on cm_scache_t S iff: 3. for all _a_ in (L->LOffset,+L->LLength), ALL of the following is true: 3.1 L->LockType is exclusive IMPLIES there does NOT exist a QUEUED lock M in S->fileLocks such that _a_ in (M->LOffset,+M->LLength). (Note: If we count all QUEUED locks then we hit cases such as cascading waiting locks where the locks later on in the queue can be granted without compromising file integrity. On the other hand if only ACCEPTED locks are considered, then locks that were received earlier may end up waiting for locks that were received later to be unlocked. The choice of QUEUED locks were made so that large locks don't consistently get trumped by smaller locks which were requested later.) 3.2 L->LockType is shared IMPLIES for each QUEUED lock M in S->fileLocks, if _a_ in (M->LOffset,+M->LLength) then M->LockType is shared. 4. For each LOST lock M in S->fileLocks, M->key != Key(C) (Note: If a client loses a lock, it loses all locks. Subsequently, it will not be allowed to obtain any more locks until all existing LOST locks that belong to the client are released. Once all locks are released by a single client, there exists no further contract between the client and AFS about the contents of the file, hence the client can then proceed to obtain new locks and establish a new contract.) A client C can only unlock locks L in S->fileLocks which have L->key == Key(C). The representation and invariants are as follows: - Each cm_scache_t structure keeps: - A queue of byte-range locks (cm_scache_t::fileLocks) which are of type cm_file_lock_t. - A record of the highest server-side lock that has been obtained for this object (cm_scache_t::serverLock), which is one of (-1), LockRead, LockWrite. - A count of ACCEPTED exclusive and shared locks that are in the queue (cm_scache_t::sharedLocks and cm_scache_t::exclusiveLocks) - Each cm_file_lock_t structure keeps: - The type of lock (cm_file_lock_t::LockType) - The key associated with the lock (cm_file_lock_t::key) - The offset and length of the lock (cm_file_lock_t::LOffset and cm_file_lock_t::LLength) - The state of the lock. - Time of issuance or last successful extension Semantic invariants: I1. The number of ACCEPTED locks in S->fileLocks are (S->sharedLocks + S->exclusiveLocks) External invariants: I3. S->serverLock is the lock that we have asserted with the AFS file server for this cm_scache_t. I4. S->serverLock == LockRead iff there is at least one ACTIVE shared lock, but no ACTIVE exclusive locks. I5. S->serverLock == LockWrite iff there is at least one ACTIVE exclusive lock. I6. If a WAITUNLOCK lock L exists in S->fileLocks, then all locks that L is waiting on are ahead of L in S->fileLocks. I7. If L is a LOST lock, then for each lock M in S->fileLocks, M->key == L->key IMPLIES M is LOST or DELETED. --asanka ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Byte range locks added to change list ==================== should improve error codes, and allow lock promotions and demotions by releasing locks. ==================== More improvements to the byte range locking. Handle errors caused by a failure to have locking privs; report sharing violations when opening files; lie about locks on read-only volumes; implement shared read/write file creation in the smb layer. ==================== remove assertion ==================== must reference count local references to objects if the lock is being released ==================== Do not use a variable until you assign it a value ==================== remove an unwanted assertion and move the resetting of scp->serverLock to -1 into cm_LockMarkSCacheLost() so that others do not forget to set it. cm_LockMarkSCacheLost() is always called when the scp->mx is held so it is ok to do so. commit a09b27d0a0bdb9d967220388f76379ece4c7b5cb Author: Jim Rees Date: Mon Aug 15 23:30:47 2005 +0000 openbsd-pthread-20050815 Build pthread servers for OpenBSD. There is some evidence they might even work. commit cdb51cf26196ffc2f7a2c2090c73f7b0892ab119 Author: Jim Rees Date: Mon Aug 15 21:36:53 2005 +0000 automate-freebsd-systype-20050815 Determine freebsd systype automatically too. Thanks to "Todd T. Fries" commit fab147e843667d87323cdf9fcad2012ca942f6fd Author: Jeffrey Altman Date: Mon Aug 15 18:35:05 2005 +0000 afssyscalls-declarations-20050815 declare lsetpag() and lpioctl() since they are exported commit eb00f913748ba8651755451120a1f0d06b1e9cd2 Author: Jeffrey Altman Date: Mon Aug 15 18:27:52 2005 +0000 windows-smb-error-codes-20050815 Do not return error codes from the SMB/CIFS server that can be interpretted by the SMB/CIFS client as meaning that the AFS Client Service is not available. commit 1b0b0945caa4f6138f102dab22e78d2c4b048610 Author: Klas Lindfors Date: Mon Aug 15 16:54:50 2005 +0000 vos-format-cleanup-20050815 FIXES 20783 make sure partition name actually gets printed commit e4ca2e597c85ae8667e3963db847aab83aaf0ce2 Author: Niklas Edmundsson Date: Mon Aug 15 16:51:29 2005 +0000 aix-afsdb-20050815 FIXES 20801 make afsdb work on aix. use storage as thread-local when it is commit e0d9e434bb778a2507c1cd6d96c1faa2071f2b2c Author: Chas Williams Date: Mon Aug 15 16:47:38 2005 +0000 put-inode-speedup-20050815 FIXES 20820 don't bother with credp commit bbe78805681ec8303ab198288693586e8bfdb7f3 Author: Chas Williams Date: Mon Aug 15 16:39:51 2005 +0000 large-cache-fix-20050815 FIXES 20821 make large caches actually work commit 45d144da14c39ed48ae8be4f89d78cfc12985056 Author: Tom Keiser Date: Mon Aug 15 16:04:12 2005 +0000 aix-make-install-20050815 FIXES 20827 make install was broken on aix. fix it. commit 7c34c9b5c0fbdf0b9b9429c2e763c635857974ab Author: Jeffrey Altman Date: Sun Aug 14 12:25:06 2005 +0000 windows-afscreds-20050814 When tokens expire, do not display an obtain tokens dialog if there is no network connectivity to the kdc for the realm associated with the cell. In the en_US build, stop displaying the expiration time of tokens after the tokens expire. commit 50c5210a25d34bfc8cf027ccfb098460268911c8 Author: Jeffrey Altman Date: Sun Aug 14 03:10:07 2005 +0000 audit-fetchacl-20050813 Include the ACL value in the FetchACL logging. This combined with StoreACL can be used to compute ACL changes. commit 8ea5ed2c2b7d5ac5f66eaef5f8b615812aa69601 Author: Todd Fries Date: Sat Aug 13 21:49:00 2005 +0000 auto-obsd-version-20050813 Determine openbsd version automatically. commit c8db31cc2bf9b59d8b8cf7e5310079ff6c9e4a96 Author: Jim Rees Date: Fri Aug 12 22:26:09 2005 +0000 openbsd38-20050812 With thanks to "Todd T. Fries" OpenBSD 3.8. Introduce HAVE_STRCASESTR. commit 467a85164c054b9fa427d8033b0c7cf4911d5c44 Author: Russ Allbery Date: Thu Aug 11 18:55:50 2005 +0000 linux-pic-everywhere-20050811 FIXES 20781 Build shared libraries with -fPIC on all Linux platforms, not just the ones that absolutely require it. commit c9b0955360b34ab1f8775c5ccc55e77037e0d312 Author: Chas Williams Date: Wed Aug 10 20:21:27 2005 +0000 refrigerator-20050809 FIXES 20728 refrigerator takes void starting in 2.6.13 commit 42e081360efbfc847488aeaf4c604ea7030edccd Author: David Thompson Date: Tue Aug 9 19:39:26 2005 +0000 vos-ctime-fix-20050809 FIXES 20748 fix larger than 4 byte ctime case commit 0c931ef444c03fc1cc5fcb1a55fec0d32f4dda61 Author: Chas Williams Date: Tue Aug 9 14:41:13 2005 +0000 linux26-umount-force-doesnt-work-20050809 this was never finished, just revoke it for now commit 5740865dce2219de0826d72fe4f5bff70fadfdf3 Author: Daria Phoebe Brashear Date: Mon Aug 8 16:37:28 2005 +0000 logthreadnum-libafsauthent-20050808 FIXES 20412 export LogThreadNum so hings can link our libraries again commit 3e9c1b1f1a1b3d33c6af44d1fe79810ad2a3a0f8 Author: Daria Phoebe Brashear Date: Mon Aug 8 16:04:10 2005 +0000 revert-linux-write-dirty-pages-once-20050802 this needs to be revisited commit 9485ca85d36b7449bc4ad4895d2a96ec95ea7537 Author: Chas Williams Date: Mon Aug 8 15:58:32 2005 +0000 linux-panic-20050727 FIXES 20392 just call panic() on linux ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 20392 call BUG() instead commit 7e95d1bc89ebc6b1418ca1d69970efe00d30390e Author: Jeffrey Altman Date: Sat Aug 6 01:38:53 2005 +0000 windows-notes-20050806 updates for 1.3.8700 commit 520d3143e60a6f316c7bbd9677926b7ff62c01c1 Author: Jeffrey Altman Date: Sat Aug 6 01:37:13 2005 +0000 windows-version-20050806 1.3.8700 commit 4d0a6e73bf46847766512c15d2466627237409e5 Author: Jeffrey Altman Date: Sat Aug 6 01:34:50 2005 +0000 windows-afscache-validate-20050806 Ensure that queues that have forward and reverse pointers are consistent that either both are NULL or neither are. commit c264965a635a71e3b21d49da7dc0998a87dd67ba Author: Rainer Toebbicke Date: Thu Aug 4 21:44:57 2005 +0000 client-omit-zero-length-reads-20050804 The attached patch restores the behaviour of the 1.2.x client: writes appending to a file do not trigger a 0-length read which at best updates the current status. If another cache manager wrote to the same file in the meantime, the file status is updated only after the StoreData RPC (and for the changes the last one wins). commit b607770bc5d8a3ebe64153e906787a4fdb48eddc Author: Horst Birthelmer Date: Thu Aug 4 21:03:53 2005 +0000 checkservers-set-back-deadtime-correctly-20050804 the multirx version of this does this wrong. fix it. commit 67f1537746d2354d90cedfa0b425ce5f9622e4de Author: Daria Phoebe Brashear Date: Thu Aug 4 20:53:30 2005 +0000 revert-cache-size-limit-upping-20050728 let's re-examine this commit 177547465639d4ed65646edc4f635ac84819896e Author: Rainer Toebbicke Date: Thu Aug 4 20:31:33 2005 +0000 client-omit-zero-length-reads-20050804 The attached patch restores the behaviour of the 1.2.x client: writes appending to a file do not trigger a 0-length read which at best updates the current status. If another cache manager wrote to the same file in the meantime, the file status is updated only after the StoreData RPC (and for the changes the last one wins). commit fc0ca363da52144628a35abae30315257bbf76a8 Author: Eric Williams Date: Thu Aug 4 17:32:32 2005 +0000 windows-afsifs-20050804 addresses: byte-range locks work (mildly tested) fixes a reference counting error can shutdown/restart client code formatting major speed improvements fixes delete operation problem internal locking in more places i have reviewed this patch myself carefully. specifically, please review the changes to cm_buf.c and cm_callback.c. in cm_buf, i added the looping code because i ran into the following assert once. i am not sure why, and my attempt to diagnose the problem was not successful. apart from the byte-range locking code, the code has not change for quite a bit. commit 81b0f9cf1d0335a1e2f8ae897ba9566c1e4962e3 Author: Jeffrey Altman Date: Thu Aug 4 17:03:50 2005 +0000 windows-pioctl-update-20050804 change "fs wscell" to report the registry configured cell name when using freelance mode. change "fs mkmount|rmmount" to require membership in AFS Client Admins group when freelance mode is being used change "symlink make|remove" to require membership in AFS Client Admins group when freelance mode is being used Move some smb init debug messages to afsd_init.log commit 1bdc4cea4b01ca080a458ec65e3d783f464d5548 Author: Rainer Toebbicke Date: Wed Aug 3 05:45:53 2005 +0000 viced-dont-crash-on-link-enospc-20050803 when symlink gets ENOSPC don't assert. commit f6ff3f769a8e84e9148c3c47c9e82d1bcb7d6f6a Author: Chaskiel M Grundman Date: Tue Aug 2 19:59:46 2005 +0000 linux-vnode-aliases-20050802 FIXES 18613 you can end up hanging when you end up with multiple aliases for a single direct ory (dentry) as a result of @sys or multiple mountpoints. don't end up with multiple aliases, and avoid the situation commit 7ad3929e3c75aa2fabab7f72c79e42759562804f Author: Daria Phoebe Brashear Date: Tue Aug 2 15:03:42 2005 +0000 linux-fix-refrigerator-calls-20050802 it's CONFIG_PF, not CONFIG_PM commit 893849bdca91df3ec60b0b587c0b56500c04d70d Author: Chas Williams Date: Tue Aug 2 14:46:28 2005 +0000 linux-4gb-32bit-file-fix-20050802 FIXCES 20560 fix wrapping error on page offset commit 82b010d26adac3854507331b3bbbbcc2e07e50ef Author: Chas Williams Date: Tue Aug 2 06:15:54 2005 +0000 linux-group-putback-20050802 FIXES 20562 put back reference before discarding group pointer commit c893cf0e3ddce6c020a5fb28b6caa35ea3aa83c4 Author: Chas Williams Date: Tue Aug 2 06:11:38 2005 +0000 linux-write-dirty-pages-once-20050802 FIXES 20561 also done in afs_linux_write commit 4778f1fc153c5164b692866f1460e8ec58012de6 Author: Chas Williams Date: Tue Aug 2 06:08:45 2005 +0000 linux-4gb-32bit-file-fix-20050802 FIXCES 20560 fix wrapping error on page offset commit 7c5dcc5d439c3bbe8097b24b0efe8ca002ab71ff Author: Jim Rees Date: Sun Jul 31 18:22:50 2005 +0000 tq-uq-scope-20050731 Move local vars tq and uq back into proper scope commit f7b6f3022ddd20cc27d5f401023c35c98bd8eeec Author: Chas Williams Date: Fri Jul 29 15:49:31 2005 +0000 linux-osi-vfs-mkdir-20050729 FIXES 20479 mkdir so this works when building outside our tree commit 57bb8e09a33b9cabba8768d5261b8a85366e0307 Author: Stefaan De Roeck Date: Fri Jul 29 15:24:05 2005 +0000 audit-use-va-arg-20050729 FIXES 20311 use va_arg instead of int commit 2da4a84732acc3b049aab59ade3edf01cecb7669 Author: Jeffrey Altman Date: Thu Jul 28 23:15:50 2005 +0000 windows-doc-updates-20050728 updates for 1.3.8600 commit 3d43d87010a64fe6bf673cfc84bce14a0e8c1b51 Author: Jeffrey Altman Date: Thu Jul 28 23:09:20 2005 +0000 windows-version-update-20050728 version number to 1.3.8600 commit 4fc48af8346665004b566c80b2ec3b5146b6ab95 Author: Chas Williams Date: Thu Jul 28 15:38:36 2005 +0000 vc-hashing-be-less-expensive-20050728 use an afs_q so this is less expensive to deal with commit 459636211ca01c1b1c3fbe34ddb2fab50ceb49ea Author: Daria Phoebe Brashear Date: Thu Jul 28 15:17:47 2005 +0000 cache-size-limit-upping-20050728 based on work from wes chow allow larger caches without variable overflows. does not port to 1.4 as-is. commit 456462b314f7fc7ed25da7840c7087cba1dbc48b Author: Stefaan De Roeck Date: Tue Jul 26 19:14:14 2005 +0000 audit-use-va-arg-20050726 FIXES 20311 use va_arg instead of int commit b58c1f103ee2d2b615b9b78f594bb8285e05b3c1 Author: Chas Williams Date: Tue Jul 26 18:39:00 2005 +0000 linux-mmap-cleanup-20050726 FIXES 20391 avoid the vma close business, we don't need to do this to track maps commit a21fc56daf70d0433276eab29798542f6ef362ad Author: Chas Williams Date: Tue Jul 26 18:34:05 2005 +0000 linux-reduce-stack-use-20050726 FIXES 20337 don't do pointless work in osi_NetSend, and save some stack commit 575cbd4a2f231f7bcaaf92a356afa61a4ae170dc Author: Jim Rees Date: Tue Jul 26 16:25:43 2005 +0000 openafs-sleep-20050726 tsleep on "afsslp" in afs_osi_Sleep commit eff25c1899fd0a96199764ff26ef1084228f48cd Author: Chas Williams Date: Tue Jul 26 14:34:31 2005 +0000 linux-largefile-fix-20050726 FIXES 20396 use the generic read/write functions, but set the superblock up correctly. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 20396 make old 2.4 happy commit 969a49f6d9c2ee5c496629aff0b4e4b0df05fb64 Author: Daria Phoebe Brashear Date: Thu Jul 28 22:50:01 2005 +0000 amd64-no-red-zone-20050725 why are we not -mno-red-zone here? commit ab22c7a587126c100d3c4fe40465f5ba3ebc25f4 Author: Jeffrey Altman Date: Sat Jul 23 02:16:06 2005 +0000 windows-misc-20050722 Add debug logging to SMB and CM Locking code Optimize cm_Analyze by only performing a cm_CheckServers on the current cell instead of all cells Add code to detect loops to the cm_scache_t validation routines. commit 724b6e639afee800663cb6ce9dbb9717cdca2b70 Author: Chas Williams Date: Thu Jul 21 17:30:50 2005 +0000 unlink-fix-20050721 fill in parent after processFS commit 7926c85fdfb82761b673887c3c2441ead9a274ea Author: Jeffrey Altman Date: Thu Jul 21 15:54:18 2005 +0000 viced-multiprobe-fix-20050721 see if a uuid actually matches what we though was there commit 2f3bdd36ee9e5fef465026d452b08e4d927f70a6 Author: Hans-Werner Paulsen Date: Thu Jul 21 06:06:27 2005 +0000 fssync-fix-log-20050721 don't call Log like it's ViceLog commit 9e32ad33139376f6d109addb8add5024915bf025 Author: Peter Somogyi Date: Thu Jul 21 05:56:02 2005 +0000 afsclient-cellopen-avoid-global-var-20050721 FIXES 20215 avoid use of global variable in CellOpen to avoid thread problems commit da5187d4b4093b32f811631d3cc57c746e4b23a3 Author: Hartmut Reuter Date: Thu Jul 21 05:52:33 2005 +0000 dir-buffers-use-nullidx-as-none-20050721 FIXES 20214 since 0 is a valid number use -1 (NULLIDX) commit f00e35f7a23c6caeba58dc77ab53334514b9d31e Author: Chas Williams Date: Thu Jul 21 05:46:51 2005 +0000 checksysname-stack-usage-20050721 FIXES 20227 fix misuse of MAXSYSNAME for MAXNUMSYSNAMES commit bd1eba7f4091b7e2ef4264476d3ed3e54cc228f4 Author: Sabin Iacob Date: Thu Jul 21 05:41:09 2005 +0000 linux-refrigerator-check-20050721 FIXES 20209 don't call refrigerator unless we have a kernel which supports it commit ea20d8d6c244521bd72a42a4aef1f92bd03800e8 Author: Daria Phoebe Brashear Date: Tue Jul 19 15:44:53 2005 +0000 vnrehash-avoid-cachecheck-change-20050618 unlocking and locking lets us race and makes cacheCheck potentially go bad commit fb1b339a017936da78e13d4afbeaebcfaa29ef00 Author: Jeffrey Altman Date: Tue Jul 19 06:06:12 2005 +0000 windows-explorer-remove-mountpt-fix-20050719 FIXES 20137 the gui version of fs rmmount was reading random memory. commit ef934e388cdc09e9afe7234aedad318618207104 Author: Karl E. Kelley Date: Tue Jul 19 03:51:26 2005 +0000 aklog-segfault-fix-20050718 FIXES 20198 I have built openafs 1.3.85 on an emt64 platform on RedHat Enterprise 4, and found that the aklog supplied with 1.3.85 (not the one in the afs-krb5 conversion kit) consistently segfaults when aklog is called with the "-path ...." parm. It works properly when called with no parms. I traced this down to the call to the readlink() call in aklog_main.c, when the params structure references were removed the nesting was changed on an if statement that changed the logic and allowed the do while loop to loop past the end and de-reference a NULL pointer. commit 0c678579113a84be09c8f734352f8a681751ba8e Author: Daria Phoebe Brashear Date: Fri Jul 15 20:16:27 2005 +0000 pt-util-no-cmd-seek-20050715 i guess someone was dumb at some point and failed to completely remove bogus options commit 3f3fdba33058521bc3f68edf56ef56910d32f0c8 Author: Jeffrey Altman Date: Fri Jul 15 13:17:53 2005 +0000 windows-cmdebug-20050715 add TellMeAboutYourself functionality and report on capabilities if they are known. Used instead of WhoAreYou when supported by the cache manager. commit 1acd90549f183f185ac119096ba8c3fa1dcb3596 Author: Jeffrey Altman Date: Fri Jul 15 13:09:47 2005 +0000 windows-aklog-tweaks-20050715 * type correction * formatting * other cleanup commit 1c3d89463e55844de7b22ca80f72ed7fabda66e7 Author: Jeffrey Altman Date: Fri Jul 15 12:56:42 2005 +0000 windows-config-cache-path-20050715 FIXES 20007 Update AFS Control Panel to display the default cache location based upon the SYSTEM %TEMP% environment variable. commit d51baa42c4e1962816803bc391d88f4319d32110 Author: Jeffrey Altman Date: Fri Jul 15 04:23:18 2005 +0000 audit-pts-supergroups-20050714 PTS SuperGroups failed to compile with auditing due to a missing #define commit 7498def5fb32c043bb4800bb79d9d3684031b46d Author: Christopher Allen Wing Date: Fri Jul 15 02:19:27 2005 +0000 misc-aklog-fixes-20050714 FIXES 20092 Fix various minor problems with aklog, including the return type from main, removal of #ifndef __STDC__ code, missing includes, removal of unused variables, correct number of arguments to pr_Initialize, correct argument type for pr_SNameToId, and use of getcwd instead of getwd. commit 2fdb50e1b87458c5bba76c269da41184bd9497ce Author: Chas Williams Date: Wed Jul 13 16:51:50 2005 +0000 linux-dynamic-inodes-20050713 remove errant log message commit f21fa57453f4c94690c56cf4933b4eed82d99edc Author: Jeffrey Altman Date: Wed Jul 13 15:22:06 2005 +0000 windows-aclent-deadlock-20050713 Discovered a deadlock due to a violation of lock order. We may not attempt to obtain a lock on a cm_scache_t mutex while holding the cm_aclLock. commit 2d5bb80889f877fcacec02cc229a0960b9852081 Author: Zach Schimke Date: Tue Jul 12 18:48:49 2005 +0000 freevclist-static-20050711 these are static now, make it so commit 68d8b397aadb3985435d157ddfbc48f56bee66b3 Author: Jeffrey Altman Date: Tue Jul 12 05:26:23 2005 +0000 windows-version-20050712 1.3.8500 commit 855d3669b28707afd8f9fe59d2a857eafb0552af Author: Jeffrey Altman Date: Mon Jul 11 23:12:49 2005 +0000 auditlog-include-timestamp-20050710 add a timestamp to auditlog commit 652f3bd9cb7a5d7833a760ba50ef7c2c67214bba Author: Chas Williams Date: Mon Jul 11 19:45:47 2005 +0000 linux-dynamic-inodes-20050710 i slipped a rollback on the linux 2.4 dentry stuff for osi_UFS* in here at the same time. this patch lets us use kernel inodes instead of our own pool. commit 685989647d0fb31eca60e0900cea1598d5c001d8 Author: Karl E. Kelley Date: Mon Jul 11 04:22:16 2005 +0000 linux-and-64bit-cleanup-20050710 FIXES 19166 fix warnings found on x86_64 linux commit 85d429528bfba3e909d9614320fbaad84473dfe3 Author: Jeffrey Altman Date: Sat Jul 9 15:20:38 2005 +0000 audit-add-and-fix-messages-20050708 update and add some more audit logging ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Fix logging of authenticated user name commit 09b145f6bf0a1cca5947cb14128a146423197558 Author: Daria Phoebe Brashear Date: Fri Jul 8 22:22:44 2005 +0000 kdump-vcache-update-20050708 FIXES 19292 wasn't updated when struct vcache was. oops. commit 46ff986a42e3cce761ad5830e9e2792d67d5a156 Author: Jeffrey Altman Date: Fri Jul 8 20:58:25 2005 +0000 pr_Initialize-fix-20050707 The previous patch to pr_Initialize() opened an opportunity for afsconf_Check() to be called with a NULL pointer if tdir == 0. Prevent this occurrance. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fixed one null pointer reference but not the other. ==================== commit the rest of jeff's fix commit fbbb6db84c85061bd010df068485927b1a3a628f Author: Jim Rees Date: Fri Jul 8 17:53:43 2005 +0000 freebsd60-20050708 Fixes for FreeBSD 6.0 snap5. Builds and runs but has locking issues. commit 06e66a65c5aaff6d3095fd989ef013df0acc4477 Author: Russ Allbery Date: Fri Jul 8 02:18:55 2005 +0000 krb5-configure-fixes-20050707 FIXES 19862 Use krb5_creds rather than struct krb5_creds, add missing test in if statements for krb5_creds structure probes, and tweak the configure output. commit f829393c716330b65a96d5cc0c33b2c83e9b4bc4 Author: Pascal Terjan Date: Thu Jul 7 03:32:39 2005 +0000 coda-xfs-header-defines-fun-20050706 make this better, we should never have been doing it as we were before commit 043900fb415e2eb5327fd3c3f89064a403b3166e Author: Daria Phoebe Brashear Date: Thu Jul 7 03:00:45 2005 +0000 aklog-assume-old-autoconf-20050706 old autoconf is my fiend commit 2695a18459c3f5294a6de2cd2d13d725d61840e9 Author: Daria Phoebe Brashear Date: Thu Jul 7 02:31:05 2005 +0000 vos-ctime-help-20050705 FIXES 6031 kept looking at this backwards, fix is obvious commit c6a736486eb2704efd03082ff067858a198ae6d0 Author: Jeffrey Altman Date: Thu Jul 7 01:23:15 2005 +0000 windows-vs2005b2-20050706 Visual Studio 2005 Beta 2 has been released. As part of this release Microsoft has tightened the rules for their C++ compliance. * no longer can a variable declared in a for() statement be used outside of the associated command block * no longer can a function or variable be declared implicitly as 'int' * several types such as size_t have become 64-bit values on all platforms * due to type changes the C++ function names in libraries have changed. This requires the use of different .DEF file export lists commit 2428f3eee3c84b745e04c5ee70d9405df620b385 Author: Jeffrey Altman Date: Wed Jul 6 15:11:28 2005 +0000 windows-ntbuild-20050706 Update the default sysname to i386_w2k in the ntbuild.bat file commit 16b6696938bea2a27651ca246afef7ad794c99f0 Author: Jeffrey Altman Date: Wed Jul 6 06:10:46 2005 +0000 windows-config-param-20050706 New param files for new sysnames commit 8f72c44972c86001607ce90b28c018f55a40b364 Author: Peter Somogyi Date: Wed Jul 6 00:43:38 2005 +0000 util-admin-64bit-20050705 FIXES 19631 serverAddress is an int; don't copy a pointer size commit 16d67791dce45e5d4ee9b854c796492ffcde2113 Author: Daria Phoebe Brashear Date: Tue Jul 5 16:33:24 2005 +0000 auditlogs-for-everyone-20050702 all servers now take -auditlog (path), send ibm-style auditlogs there, rotate the logs like the normal server logs, and will log thread ids when it's multiprocessor. /usr/afs/local/Audit can also be used like on aix on other platforms now. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th e logs like the normal server logs, and will log thread ids when it's multiproce ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now. ==================== all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th e logs like the normal server logs, and will log thread ids when it's multiproce ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now. ==================== all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th e logs like the normal server logs, and will log thread ids when it's multiproce ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now. ==================== Windows build dependency changes to support the audit logs commit 092cc5c9e693b2c4248e1c56b80fb198b49c31a3 Author: Ken Hornstein Date: Tue Jul 5 16:08:34 2005 +0000 aklog-update-20050705 fix typo in #error statement commit 391566e0b4173a3342b493048e152d9d1b7e0eb1 Author: Troy Benjegerdes Date: Tue Jul 5 16:06:08 2005 +0000 aklog-principal-rewrite-20050705 fix second_comp call to be correct for macro commit f6d99fbba133ba996610d0c00457408fede942dc Author: Jeffrey Altman Date: Sat Jul 2 03:44:42 2005 +0000 windows-afsdb-fix-20050701 Fix AFSDB queries using DNSAPI to always terminate the query string with a period. commit d48a6d9548f9c3c2f1fe8af564cbdfc6fb35bbe0 Author: Ken Hornstein Date: Fri Jul 1 05:40:52 2005 +0000 aklog-forgot-quote-20050701 Forgot closing quote in #error directive. commit 233b7043ce22a120e52b2d1194a2603c659de735 Author: Ken Hornstein Date: Thu Jun 30 22:06:15 2005 +0000 aklog-heimdal-integration-20050630 The necessary autoconf/C glue to make aklog work with Heimdal. commit ed54c889202b51361f3f01df80930e9577baa914 Author: Jeffrey Altman Date: Thu Jun 30 19:02:03 2005 +0000 windows-logon-20050630 Add a method to disable the deletion of tokens at logoff ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add a registry entry to prevent token destruction at logoff commit 0fed4743ae7763bf0b7c2c273cd54730e01f2249 Author: Jeffrey Altman Date: Thu Jun 30 06:06:54 2005 +0000 pts-logging-20050619 enhance pts logging commit 25ecdbd2c4f1f02a7d449278c4b01f3938aba86d Author: Jeffrey Altman Date: Thu Jun 30 06:02:50 2005 +0000 windows-notes-20050630 latest updates including new afs-install-notes section on debugging commit f2e86f4e03559dc45f4457960f302cb58e0ff59d Author: Daria Phoebe Brashear Date: Thu Jun 30 04:10:31 2005 +0000 threadid-logging-20050629 log thread ids for any debug level commit 4464c62f92541c8b1f46260d6c4cbdd1ba4cf85f Author: Robert S Murawski IV Date: Wed Jun 29 03:43:28 2005 +0000 windows-nsis-20050628 Support for NSIS 2.07 including named installation configurations and an Icon for the uninstall entry listed in the Add/Remove Programs control panel. commit b60eb36f4b4d7e519b054895f3b44dfd396b2602 Author: Jeffrey Altman Date: Wed Jun 29 03:42:14 2005 +0000 windows-notes-20050628 pre-1.4 commit 09e871e52fac858a22b0b41a5f414b8b69a79e2d Author: Jeffrey Altman Date: Wed Jun 29 03:41:55 2005 +0000 windows-readme-20050628 Updates to describe NSIS 2.07 commit f89bb3cd972d82685ed02805d478ff63637537e6 Author: Ken Hornstein Date: Fri Jun 24 04:57:39 2005 +0000 fix-kerberos-autoconf-20060623 Commit remaining autoconf fixes for aklog. commit a61ff319b7a9cec29b02579c20a338c46a8d2c55 Author: Jeffrey Altman Date: Fri Jun 24 04:01:48 2005 +0000 windows-aklog-naming-20050624 Correct for the behavior of pr_SNameToId() lowercasing the username commit 3b58e267504b715a8535858d161527a35afa7a7c Author: Ken Hornstein Date: Fri Jun 24 03:54:13 2005 +0000 fix-getcrypt-command-description-20050623 Fix the description of the getcrypt command. commit 272ed1c01d2ae6eea9aaafb84df59c53ceffbb83 Author: Ken Hornstein Date: Fri Jun 24 00:43:48 2005 +0000 aklog-cleanup-rxkad2b-20050623 Clean up the aklog source, and add support for rxkad2b tokens. commit c4b1decf6caacb13db666f516ceaf9b65e4371ab Author: Jeffrey Altman Date: Thu Jun 23 15:23:50 2005 +0000 pr_init-fix-20050623 for the longest time aklog implementations with automatic pts registration have included a work around for a bug in pr_Initialize. The bug fails to reset the connection when the cell changes. This patch fixes that bug. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== for the longest time aklog implementations with automatic pts registration have included a work around for a bug in pr_Initialize. The bug fails to reset the connection when the cell changes. pr_Initialize has been fixed so we can remove the hack. ==================== remove the pr_Initialize force cell change hack from afskfw lib commit dbd69d19e43ecdb74be531ab847c8aba48c025d3 Author: Daria Phoebe Brashear Date: Wed Jun 22 18:35:20 2005 +0000 objdir-20050622 FIXES 19341 try harder to make builds work in cases where you're building into an alternate directory with old autoconf (mkdir vs mkdir -p) commit 854db695f9a643b969aab86d76602dbb1666cc10 Author: Daria Phoebe Brashear Date: Wed Jun 22 14:47:19 2005 +0000 hpux11-vfsck-20050622 make vfsck build for hpux commit ee5bee633a26efbeea30a5c44aef2d2055f39520 Author: Jeffrey Hutzelman Date: Tue Jun 21 23:19:09 2005 +0000 amd64-udebug-20050621 fix 64 bit glitch in udebug commit 7ad8a32a0ebbbd2be37eb3a323b23bc017dc1423 Author: Daria Phoebe Brashear Date: Tue Jun 21 23:14:17 2005 +0000 aklog-configure-backport-20050621 make old autoconf work again commit eb3124e2227b4837183f3b742a64341b0eba1f4c Author: Ken Hornstein Date: Tue Jun 21 22:15:23 2005 +0000 Add missing Makefile.in that I apparantly forgot. commit 6e732a8032b921b358337606ebf2972b3dbf7baa Author: Jeffrey Altman Date: Mon Jun 20 15:09:18 2005 +0000 windows-afsifs-20050620 more IFS reformatting that was not committed in the window-afsifs-20050617 delta commit 13814630d6b61c65f86151f8ba6668e3ec43c495 Author: Jeffrey Altman Date: Mon Jun 20 15:01:22 2005 +0000 pts-logging-20050620 Modify log levels to equal: Lookups at 125 Creates at 25 Modifies at 5 Modify Windows makefile to build ptclient.exe commit a63ba494bf909ed36b75556cb1f4d33ce13b76c5 Author: Jeffrey Altman Date: Sun Jun 19 18:56:44 2005 +0000 pts-logging-20050619 enhance pts logging commit f43f102c71f69a1b0bd6d4ea7cb7f0c74e67b083 Author: Chas Williams Date: Sun Jun 19 18:39:03 2005 +0000 linux-change-dentry-cleanup-20050619 try to make this work in 2.4 also commit 9b1430c2d028dd38ce7392297cfe572d82a4c173 Author: Jeffrey Altman Date: Sun Jun 19 18:37:38 2005 +0000 threaded-logging-20050619 update logging to be able to show threads commit 0f61c69103bada5f4039ffd3968d7e8b92eb9bf6 Author: Daria Phoebe Brashear Date: Sun Jun 19 18:17:42 2005 +0000 viced-firstclient-retry-20050619 FIXES 1345 avoid race as we add a new client commit bcdb5a184ee597244fe1c7a8c708ee6bf796d07a Author: Ken Hornstein Date: Sun Jun 19 02:06:21 2005 +0000 more-aklog-fixes-20050618 Fixup aklog so it will compile (at least on MacOS X). Include basic autoconf glue. commit c4c11566986877903ac5bdf73e6c2241ef72de9d Author: Daria Phoebe Brashear Date: Sun Jun 19 01:14:14 2005 +0000 rxkad-stats-do-it-right-20050618 fine, let's just do this right commit d201f1e234c14b0fef5c55ed9016f0df956e38b7 Author: Daria Phoebe Brashear Date: Sun Jun 19 00:50:40 2005 +0000 move-rxkad-stats-20050618 fine, let's try this again, so aklog doesn't lose, but this sucks commit b5461fc5a8350a5a1110e225da62caa7bf0e7245 Author: Daria Phoebe Brashear Date: Sun Jun 19 00:23:46 2005 +0000 vlprocs-extended-user-logging-20050618 update log message to provide full username commit f16d1cef70e138b71a04d9c71ab067a1dc947867 Author: Daria Phoebe Brashear Date: Sun Jun 19 00:22:31 2005 +0000 lock-client-around-acl-checkrights-20050618 FIXES 1345 one of the like 3 crashes there. thanks love commit 91953e8c0774697902ca025dd7969f0acc9c9ec2 Author: Daria Phoebe Brashear Date: Sun Jun 19 00:20:45 2005 +0000 lwp-protoize-20050618 protoize lwp directory commit b6b62c852178e171eb00b1548ec169dcb51abf1b Author: Daria Phoebe Brashear Date: Sun Jun 19 00:20:35 2005 +0000 log-protoize-20050618 protoize log directory commit 379e3be3196aeb3fefaa1e9296e52a9f8018550a Author: Daria Phoebe Brashear Date: Sun Jun 19 00:20:01 2005 +0000 ppc-darwin80-20050618 this is actually a throwaway commit cc2f4ac0b36e79b137d03dcea32bb59bd1bceb8d Author: Daria Phoebe Brashear Date: Sun Jun 19 00:17:12 2005 +0000 audit-protoization-20050618 protoize libaudit commit b680a2d1221144c07d15a40d495146d2c84d2b13 Author: Daria Phoebe Brashear Date: Sun Jun 19 00:15:22 2005 +0000 libafsdep-des-stats-20050618 for rxkad stats dependancy when doing only_libafs build commit a32bbb929bcb5988af419ea03640f2220c22c330 Author: Daria Phoebe Brashear Date: Sun Jun 19 00:05:00 2005 +0000 readme-devel-20050618 we have protoized kernel code now commit e4df380272ef8aab22af50cbffd8d338336f4894 Author: Jeffrey Altman Date: Fri Jun 17 17:15:25 2005 +0000 windows-afsifs-20050617 Not all of the chunks applied on the last commit commit 329a79234449dcadbaf0aa7c09a3b74fea834746 Author: Jeffrey Altman Date: Fri Jun 17 17:07:46 2005 +0000 window-afsifs-20050617 Updates to the afsifs-20050615 DELTA. * Fix the build system * Reformat the code * Update docs commit ff8554593ffb580a43b3d0e45d9b8ee1455a8fac Author: Eric Williams Date: Wed Jun 15 19:51:54 2005 +0000 afsifs-both-20050615 this patchset makes it build both ways. commit 3cc3cedba03827ba3796740a40f2f75bba85a44e Author: Eric Williams Date: Wed Jun 15 17:51:44 2005 +0000 afsifs-20050615 Windows IFS client code and build option commit be485c959856311853303f5633687adb1efc5109 Author: Jeffrey Altman Date: Mon Jun 13 15:30:42 2005 +0000 windows-logon-20050613 fix the return value of IsServiceStartPending. use IsServiceRunning and IsServiceStartPending in the while loop commit 8f5d90c7cf6137fc5fde1e4063ceb62aeb1abcd1 Author: Jeffrey Altman Date: Mon Jun 13 02:06:57 2005 +0000 windows-installer-updates-20050612 Add asetkey.exe Add uninstall.exe and associated shortcut to Wix Fix ability to uninstall loopback adapter on non-English Windows versions ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add clean rule ==================== use "uninst" for rule instead of "uninstall" ==================== build wix/uninstall directory ==================== add OpenAFS logo icon commit 06597a0e03faf2f5d4cd8d3f72b93017970b28fd Author: Jeffrey Altman Date: Sun Jun 12 12:44:55 2005 +0000 windows-misc-fixes-20050612 if scp is not known when flushing dirty buffers, find it by fid only free the server list when one was obtained hold the scp mutex until after the associated bufp flags are updated only get the volume by id if there is a server callback map CM_ERROR_ALLOFFLINE to NT Remote Host Down commit a08552748100597bea748b17a9ae1b8ddf4a9aa7 Author: Jeffrey Altman Date: Sun Jun 12 12:25:13 2005 +0000 windows-asetkey-20050612 Add asetkey.exe to the Windows distribution commit 324cd9710526238056801d9b19ef1626db7f3c78 Author: Jeffrey Altman Date: Fri Jun 10 22:37:37 2005 +0000 pipe-logging-fix-20050610 fstat calls should be lstat ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fstat calls should be lstat bang in the wrong place commit 72de37a9c45f7d1184ef0c23465d2b79dbfe93c5 Author: Tony D'Amato Date: Fri Jun 10 22:11:07 2005 +0000 sgi-afs-rename-decl-fix-20050610 achar -> char commit 4af80bc2045ee85592a82bc9aacaee71f8667ea0 Author: Jeffrey Altman Date: Fri Jun 10 22:07:05 2005 +0000 unbalanced-unlock-20050610 Addition of __EXPERIMENTAL_CALLBACK_CONN_MOVING if defined left an unbalanced H_UNLOCK. Semi-colons after H_LOCK and H_UNLOCK were missing. commit a70bec720087aab99909861c346cc59d14107278 Author: Jeffrey Altman Date: Fri Jun 10 21:54:23 2005 +0000 windows-afslogon-20050610 replace wfhile(TRUE) with while(afsAutoStart) commit 51a587b9607df9da903dabff5db5e0d668fc0b0b Author: Jim Rees Date: Tue Jun 7 18:37:10 2005 +0000 dont-restrict-nfiles-20050607 Let afsd compute cachefiles as cacheblocks/10 instead of limiting it to 50000 in the XLARGE and XXLARGE cases. commit 8502de9a4b4ad3cc106f497ae0c5442e21197262 Author: Russ Allbery Date: Sun Jun 5 17:20:48 2005 +0000 linux-no-smp-modules-on-uniprocessor-20050605 FIXES 18738 don't try to build smp modules with uniprocessor kernel. this may need to be revisited for the redhat buildsys commit 3b414bb125ce226ee79edb5bf0c524c4b3a3e75f Author: Jeffrey Altman Date: Sun Jun 5 15:52:21 2005 +0000 windows-version-20050605 1.3.8400 commit 01845badd5da293cb360fb54fc25d25558a150d4 Author: Jeffrey Altman Date: Sun Jun 5 15:45:02 2005 +0000 windows-notes-20050605 updates for 1.3.84 commit be6ccec728bf2cad77f5aad83a706a281baaf9d0 Author: Jeffrey Altman Date: Sun Jun 5 14:38:56 2005 +0000 windows-syncop-waiting-20050605 Forgot to remove unneeded flag commit dfd34687f29ea2c20c5c0438ab4dba11e077f889 Author: Jeffrey Altman Date: Sun Jun 5 07:44:32 2005 +0000 windows-buf-waiting-20050605 The function cm_SyncOp() can cause threads to wait either because there is a state conflict on the current use of the cm_scache_t object or a state conflict on the cm_buf_t object. Waiting is always performed on the cm_scache_t object. However, if the conflict was with the cm_buf_t object there was no method for waking up the thread when the conflict is cleared. Now all of the cm_buf_t waiting functions also take a cm_scache_t and waiting threads are woken if necessary. cm_scache_t and cm_buf_t objects now have waitCount and waitRequest fields. The WAITING flag is now cleared by the waking thread who sets waitCount to zero. Many improvements to trace logging for these issues. commit dcb55704f990790898780fc7a280b1a378440b9c Author: Chas Williams Date: Sat Jun 4 18:08:55 2005 +0000 linux26-clear-inode-locking-20050603 respect i_state flag (works for my test case, if it works more broadly i will pull up) commit edb1f92a67c5875b6be11621fe1b519c01877e8f Author: Daria Phoebe Brashear Date: Sat Jun 4 15:42:12 2005 +0000 split-dcache-fixes-20050604 based on discussions with jhutz@cmu.edu and chas@cmf.nrl.navy.mil commit 23cbd8f646dac8dbe3d5615e8a59e1170a281f07 Author: Chas Williams Date: Thu Jun 2 06:20:23 2005 +0000 solaris10-optimization-20050602 FIXES 17262 declare certain things volatile to make solaris compiler less cranky commit ab0f8ed43b863aeccbb98c8beae545cfeb40ee36 Author: Tracy Di Marco White Date: Thu Jun 2 05:40:53 2005 +0000 netbsd-fileserver-shutdown-20050601 FIXES 16897 do what we do on darwin commit 9e110558c26b1f3b4c3f96fa9c4b3c1cb9e60dd7 Author: Tracy Di Marco White Date: Thu Jun 2 05:27:27 2005 +0000 netbsd-399-20050601 FIXES 18288 add support for netbsd 3.99 commit 7df1794eda61b60539c5bc3afcc384ea39f80c08 Author: Chas Williams Date: Tue May 31 22:12:28 2005 +0000 d-reval-one-more-20050531 last try commit fa00cacf48e66c275604d616112e0b74932ace44 Author: Jeffrey Altman Date: Tue May 31 21:33:52 2005 +0000 windows-undo-20050531 undo last change commit c4c2f33340660948943d5ebff45e7ebd8085d647 Author: Daria Phoebe Brashear Date: Tue May 31 20:55:35 2005 +0000 rxkad-stats-cleanup-20050531 define this in kernel commit 528c511aabaefcafc01361c8038766ce56fe8e45 Author: Jeffrey Altman Date: Tue May 31 18:36:28 2005 +0000 windows-more-races-20050531 a couple of more locations at which cm_SyncOpDone() either was not called or was called without holding the scache mutex. commit 1ceb19954b0b4bfca3d500803649debc0e9c001a Author: Jim Rees Date: Tue May 31 16:43:59 2005 +0000 use-test-r-20050531 Use "test -r" instead of "test -e". Not all systems (Solaris) have -e. commit e844445243f837f9bc2fc52b503af99ecd44427e Author: Jeffrey Altman Date: Tue May 31 15:18:38 2005 +0000 windows-logon-cleanup-20050531 remove debugging messages commit 4c143cf63df724637d765b8ade88a9f5aa97107e Author: Jeffrey Altman Date: Tue May 31 14:23:54 2005 +0000 windows-des-stats-20050531 Put the declaration for rxkad_stats back into the stats.h but only for Windows. We don't want to deal with figuring out all the dependencies today. commit d9f9724c9562f8ae0115394454dd2dd96ac258ff Author: Daria Phoebe Brashear Date: Tue May 31 03:11:38 2005 +0000 rx-queue-macros-rename-20050530 /usr/include/ctype.h on macos 10.3.9 now uses _Q bah commit c87ae4f82cacacef68a2b54ad21e17ac6d5ddfae Author: Daria Phoebe Brashear Date: Mon May 30 18:34:30 2005 +0000 rxkad-stats-cleanup-20050530 minor reorg so everything links ok commit 5343ad18e33b97e808fdf377bbdb2c76bb63da0d Author: Jeffrey Altman Date: Mon May 30 11:49:30 2005 +0000 not-cplusplus-20050530 variables must be declared at the start of a block. commit ad4634fca26d92c9496dbbd70e7c970c1f84a5ad Author: Jeffrey Altman Date: Mon May 30 11:46:38 2005 +0000 windows-double-declare-20050530 rx_global_stats is being declared twice in the header file each time with different properties. Remove the one that is not conditionalized. commit e5d21400b799c34af8ed63cf5dba2ee95c83cd87 Author: Jeffrey Altman Date: Mon May 30 06:36:16 2005 +0000 windows-include-des-20050529 Create an include/des directory and copy stats.h into it commit b9ae6e9547471c4006e4ac00879b3cb9bcefe47b Author: Tom Keiser Date: Mon May 30 06:22:04 2005 +0000 parallel-attaching-20050529 FIXES 18999 allow parallelization of VInitVolumePackage so attaching volumes can be sped up commit 25b0681893b3c41cfeba213f9a6b7bfd0d85c685 Author: Tom Keiser Date: Mon May 30 05:55:12 2005 +0000 pthread-rxkad-stats-20050529 FIXES 17547 speed up rxkad by keeping stats per-thread commit b56513ffd69bbcd94afb2b1e1509aae63fa438fc Author: Chas Williams Date: Mon May 30 05:36:25 2005 +0000 memcache-dont-dump-buffer-20050529 FIXES 18944 don't bother dumping what may not be a readable buffer while tracing when using memcache commit 2995362346abd9691bc8d4ceca57247e1954fb1d Author: Chaskiel M Grundman Date: Mon May 30 05:33:30 2005 +0000 linux-vnode-aliases-20050529 FIXES 18613 you can end up hanging when you end up with multiple aliases for a single directory (dentry) as a result of @sys or multiple mountpoints. don't end up with multiple aliases, and avoid the situation commit 44350283a2fc3c18954169f42edda14063e86535 Author: Peter Somogyi Date: Mon May 30 05:20:19 2005 +0000 s390x-linux26-remove-externs-20050529 FIXES 18987 remove externs in param for s390x linux26 commit c915a6bce730fca994aef77b8a3224a3f126bae7 Author: Jeffrey Altman Date: Mon May 30 05:13:13 2005 +0000 windows-notes-20050529 Update notes for 1.3.8300 commit c7db062bea6e57242554a3eb8aa32ac0271c45ae Author: Chas Williams Date: Mon May 30 05:12:10 2005 +0000 d-reval-fin-20050529 FIXES 18588 last try at fixing d-revalidate commit c640e271d893ac8275b3ee50b04f8775dca384b5 Author: Daria Phoebe Brashear Date: Mon May 30 05:07:56 2005 +0000 module-license-url-20050529 FIXES 18596 url with module license info commit ec84a819de10eac9ede8e2499b35d61bb4840744 Author: Chas Williams Date: Mon May 30 04:57:02 2005 +0000 vcache-cleanup-20050529 FIXES 18368 clean up unused stuff in struct vcache commit 96472a6b3a71d5d5ef57e2481680920a7e006ffe Author: Jeffrey Altman Date: Mon May 30 04:55:47 2005 +0000 windows-stuff-20050529 (1) Replace all calls to getenv() with GetEnvironment(). getenv() does not read from the real environment but instead from a copy created by the C RTL. (2) Add support for preserving Kerberos 5 tickets during the Integrated Logon process. Now when Integrated Logon is used, the tickets will be stored into the default ccache within the user session. (3) Stress testing at MIT uncovered two code paths that could leave threads in a permanent sleep state under heavy load. Calls to cm_SyncOpDone were added to plug this hole. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Install afscpcc.exe and register the KFWLogon WinLogon Event Handler commit d049ca2ae4e7708df028fca739c2a35ccb906bfb Author: Tom Keiser Date: Mon May 30 04:39:50 2005 +0000 rx-fpq-bulk-free-20050529 FIXES 19027 After profiling RX for a while, I've found a few more bottlenecks in the packet handling code. This patch addresses a couple of these issues. The major change in this patch is a new API to allow bulk packet alloc/free ops on rx_queue's of packets. Benefits include reduced lock contention on rx_freePktQ_lock, elimination of a lot of unnecessary cache line invalidates, and reduced register window thrashing on sparc. In addition, this patch dedicates one rx_packet per thread to rxi_SendAck, since that function is in the critical path, and represents a large percentage of execution time. commit 985171769d01bfa8cd583e75c08d13949ac201fc Author: Tracy Di Marco White Date: Mon May 30 04:35:52 2005 +0000 netbsd-pam-20050529 FIXES 18924 pam support for nbsd commit b15721aef16f9b8b689bfc0be01a434f88610919 Author: Roman Mitz Date: Wed May 25 00:12:52 2005 +0000 discard-rx-streams-20050524 FIXES 18895 they wouldn't compile anyway. remove references also. commit 57150405dac2e8ba5b815e880107dda7c48cbd58 Author: Klas Lindfors Date: Wed May 25 00:06:43 2005 +0000 make-clearcallback-faster-20050524 FIXES 4413 hash callbacks twice so we can discard them more quickly. commit 0d57910b60b3283803464eb26cd0a33d16c2d7db Author: Daria Phoebe Brashear Date: Tue May 24 21:32:36 2005 +0000 unroll-macos-104-20050523 we'll finish it on a branch and remerge; 1.3.83 needs to happen and 1.4 needs to go out. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== we'll finish it on a branch and remerge; 1.3.83 needs to happen and 1.4 needs to go out. commit 280e10315e00d9f3545bb5176f08c58512385571 Author: Asanka Herath Date: Tue May 24 06:12:19 2005 +0000 windows-loopback-20050524 Find the loopback adapter installer by hardware ID instead of English name. commit 2d130131201d78a47d097412d64c98268d481579 Author: Jeffrey Altman Date: Mon May 23 14:57:55 2005 +0000 windows-notes-20050523 more fixes commit eb7ef65dfa95bbc035a54d15b594a19c1e94335a Author: Jeffrey Altman Date: Sun May 22 06:53:44 2005 +0000 windows-delonclose-20050522 Fix support for the CreateFile(DELETE_ON_CLOSE) option. commit 4e6733a0520bc0221bdda085ffa83bd23463a599 Author: Jim Rees Date: Fri May 20 20:26:53 2005 +0000 bsd-config-20050520 config stuff for OpenBSD 3.7, FreeBSD 5.4 and 6.0 commit c20d9c0eabb6f6186f21e2f5bd7e125c9a9aee37 Author: Jim Rees Date: Fri May 20 20:19:26 2005 +0000 obsd-time-20050520 Remove extern time from OBSD/osi_machdep.h. It's in sys/kernel.h. Suggested by irene.braun@ualberta.ca. commit 657a6ea09ea18ee597038816b7e0bf3b77c12c5d Author: Jeffrey Altman Date: Wed May 18 23:29:32 2005 +0000 windows-version-20050518 1.3.8300 commit 9bb874fc2c51907542c1bbafa2377f3aabf9bb20 Author: Jeffrey Altman Date: Wed May 18 23:27:19 2005 +0000 windows-notes-20050518 1.3.8300 commit 5b6865886258ea102c90dfb3af65b68d979ef936 Author: Jeffrey Altman Date: Wed May 18 23:22:03 2005 +0000 windows-afssvrmgr-20050518 Link resulting executable to kerberos 5 commit 10f6e5d6e2960469eb4d0e75f62fa9b33629b132 Author: Jeffrey Altman Date: Wed May 18 23:01:10 2005 +0000 rx-makecall-race-fix-20050518 On at least one system it was noticed that threads waiting in rx_NewCall would starve forever (aka deadlock). This was the result of one out of two problems related to a race condition on the RX_CONN_MAKECALL_WAITING bit flag. This flag was set once in rx_NewCall and cleared in rx_EndCall. However, it was possible for the flag to be cleared even though there were additional flags waiting in rx_NewCall. This was due to a failure to check the value of makeCallWaiters before clearing the flag and also due to a failure to properly lock the access to the makeCallWaiters field. The second problem was an ability to destroy a connection on which threads are waiting within rx_NewCall. commit 70a7e29bc0ad770d56a11e45d0bea84727eed755 Author: Chas Williams Date: Wed May 18 14:52:24 2005 +0000 linux-str-inlines-20050518 add #include in the param file after fixes unresolved ref to strlen from xdr.o via inline commit 6143eed83ce1d0f413b141c2c8d585dd649ce7d1 Author: Jeffrey Altman Date: Tue May 17 19:25:21 2005 +0000 windows-dnlc-corruption-20050517 It has been noticed that on startup there may be corruption of the dnlc freelist. In particular, some items on the list are actually in use. This patch will cause the dnlc to be purged if corruption of the freelist is detected. It also makes changes to ensure that items placed onto the freelist are in fact cleaned to prevent confusion. The purge function is corrected to set that magic field to the correct value. The validation function is fixed to not CloseHandle the same handle twice. commit 0d4b01ba892240979dcf8d0cbf98e618607d97cd Author: Jim Rees Date: Sun May 15 21:54:50 2005 +0000 fix-vrefcount-20050513 fix VREFCOUNT macro for XBSD ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== and everything else. commit 015c5356d9910688c497f860f70ed277e263239b Author: Jim Rees Date: Sun May 15 21:40:15 2005 +0000 freebsd60-readme-20050515 Add FreeBSD 6.0. Consolidate linux kernel header notes in Linux Notes section. Reformat system types section. commit 761c6ca7ff623a85532cd11c946734925a0e1dbc Author: Daria Phoebe Brashear Date: Fri May 13 22:43:55 2005 +0000 macos104-not-yet-20050513 rewrite attrs section a bit to deal with 10.4 commit 65682542456058462ff9cfa41543a6d5024721c6 Author: Daria Phoebe Brashear Date: Fri May 13 04:00:24 2005 +0000 macos104-not-yet-20050512 virtualize vnode refcount "greater than" testing so we can use tiger primitive commit 38f6b037e42d0e9342d846da33014719b68088a8 Author: Jim Rees Date: Thu May 12 21:06:59 2005 +0000 fix-tuiop-20050512 tuiop, not tuio commit a5cb6d6c4e4fef19dc1b02a138bc671605e68a8a Author: Chaskiel M Grundman Date: Thu May 12 19:30:35 2005 +0000 macos104-not-yet-20050511 further work ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== ifaddr/ifnet compat macros for older versions, and clean up afs_server interface ot use it. fix vnode_isinuse macros ==================== further work ==================== further work commit 116c2d680ebcb7bd977ee13c8ad2fe94e59ecfe3 Author: Jeffrey Altman Date: Wed May 11 22:33:33 2005 +0000 windows-scache-release-20050511 Add additional "if !NULL" checks before calling cm_SCacheRelease commit 1279af120c1a876e975892c12deba1ff255e9936 Author: Jeffrey Altman Date: Tue May 10 04:34:03 2005 +0000 windows-minidump-20050509 Enable support for Minidump generation and crash reporting commit dca8867b9eb8b578078ee6ebe17d46766c06fd62 Author: Jeffrey Altman Date: Tue May 10 04:33:28 2005 +0000 windows-server-manager-20050509 Enable KFW support for server manager commit aa2f2fdd143904329ead91873dca0e55f0af141d Author: Jeffrey Altman Date: Tue May 10 04:32:30 2005 +0000 windows-makefile-20050509 reorganize dependencies to allow kfw to be integrated into Server Manager commit 144e51ccd06b25dc08d9ba3435614fe72c94bf85 Author: Jeffrey Altman Date: Tue May 10 04:31:56 2005 +0000 windows-notes-20050509 latest updates commit c206977d93116adf1d8ff79f2fd6374fa5a728fc Author: Chaskiel M Grundman Date: Sun May 8 07:49:43 2005 +0000 macos-104-not-yet-20050508 shadow@dementia.org to blame for some of this. commit 5afb5d6246d34948d15e93d1af9c2370d26c9f3a Author: Klas Lindfors Date: Sun May 8 07:16:45 2005 +0000 export-calleraccess-via-pioctl-20050508 FIXES 18442 provide pioctl to get CallerAccess bits commit f519e0457caaff9be2926518efffac586202e266 Author: Chaskiel M Grundman Date: Sun May 8 07:09:19 2005 +0000 volinfo-fixes-20050508 FIXES 18391 large (>31bit) volume id handling and fixed handling of cloned volumes commit ccdab705071cf7ab1a508b06bf09b472806a8b1f Author: Christopher Allen Wing Date: Sun May 8 07:05:09 2005 +0000 linux-proc-read-seq-file-20050508 FIXES 18612 use sequenced file interface for proc copy of CellServDB commit c1315b3b63b2ca2a1b95c63ede59d25bb9f6fe93 Author: Tom Keiser Date: Sun May 8 06:59:58 2005 +0000 fix-64bit-assign-int64-20050508 FIXES 18611 make this match the way the 32 bit (struct lo/hi) version works commit 2669e1103bc733df4e27e24438c72d7d39a4c476 Author: Marc Horowitz Date: Sun May 8 06:55:45 2005 +0000 sparc64-linux26-20050508 FIXES 18485 add sparc64-linux24 port commit 160c01035ca3775d8bf21dd9a34bd0f51f309159 Author: Steve Roseman Date: Sun May 8 06:50:23 2005 +0000 aix-auth-speedup-20050508 FIXES 18467 The security module "afs_dynamic_auth" can get VERY slow if trying to authenticate against a user in a large NIS password file. This happens because it "replaces" getpwnam with code which loops through the "passwd" file. this 1) makes external programs use the "real" getpwnam, and 2) changes the internal routine afs_getpwnam_int to use getpwnam instead of iterating. commit e8efb3970aef3ec9d2f2ca01a4550ed6c7cf62a1 Author: Chaskiel M Grundman Date: Sun May 8 06:46:14 2005 +0000 linux-copyin-copyout-dont-check-errors-20050508 FIXES 18293 improved macros which do error checking commit f6883dfbbcbe14f65c2b9e44f2841392050e755f Author: Chas Williams Date: Sun May 8 06:38:15 2005 +0000 d-revalidate-redux-20050508 FIXES 18588 when the callback for a directory is broken the children of this vnode are not invalidated as well. so VerifyVCache() always believes these vnodes to be up to date since they will still have the CStatd flag. perhaps breaking the callback on a directory should also clear CStatd on children vnodes? this isnt a problem for other operating system which go through the dnlc which does purge the children entries for the vnode in question during ClearCallBack(). since d_revalidate now avoids the dnlc (and afs_lookup) the following patch tracks the parent vnode's DataVersion (just the lower half really but this should be sufficient) in d_time. if the parent has changed then the dentry is flagged as neededing updated. commit ba9a46089417c13ca5570839713ddeadc2413ef7 Author: Daria Phoebe Brashear Date: Mon May 2 03:04:45 2005 +0000 macos104-not-yet-20050501 push first group of 10.4 changes commit 35c9cef27e3f60588b5b15e3795d9475ed377e32 Author: Jim Rees Date: Fri Apr 29 22:55:58 2005 +0000 freebsd60-mount-20050429 Fix new FreeBSD mount vfs op. Client works now, at least for a little while. commit 02bbfe94abe7aa617d3e841df7e1fab98f43c64c Author: Jeffrey Altman Date: Fri Apr 29 21:00:10 2005 +0000 windows-version-20050429 1.3.8201 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== 1.3.8201 (do it right this time) commit 2a46337042e9aee6ddb3152f8edd892db7ebdeb4 Author: Jeffrey Altman Date: Fri Apr 29 20:51:18 2005 +0000 windows-fix-kfw-dependency-20050429 a failure to install KFW would lead to crashes commit e89913282cfe3a9cc029911e0d6bb24bad90892a Author: Jeffrey Altman Date: Fri Apr 29 20:49:58 2005 +0000 windows-notes-20050429 1.3.8201 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove AFS Gateway option commit 36957dd203ddb45d993e1ea9ad1ffaeccc3b9390 Author: Jim Rees Date: Fri Apr 29 19:24:01 2005 +0000 freebsd-20050429 Move module init/uninit code from module event handler to vfs ops Use VFS_SET for FreeBSD 6.0 commit ff6259a9c4122f098328c2b256093bd32f979e8f Author: Jim Rees Date: Fri Apr 29 18:01:08 2005 +0000 getpid-20050429 rename our getpid() to osi_getpid() to avoid name collision with kernel version commit a15d665e1d3a5cb564f2d32d6700b1bdef069728 Author: Daria Phoebe Brashear Date: Fri Apr 29 02:48:21 2005 +0000 macos-osi-flushpages-20050428 reenable osi_FlushPages commit 4fa2511a449a332a0217ab00dbdb9714ce4aa156 Author: Daria Phoebe Brashear Date: Thu Apr 28 23:14:57 2005 +0000 split-dcache-20050427 split for rw/ro dcaches to allow portion of cache to be dedicated ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== update commit 7a4c7609c8ec87030813687b4a015ea58281ffaa Author: Jeffrey Altman Date: Thu Apr 28 19:12:43 2005 +0000 windows-version-20050428 1.3.8200 commit 1e75a2fdc1979beba0df0837e4588230acfdc4c1 Author: Daria Phoebe Brashear Date: Thu Apr 28 06:02:19 2005 +0000 vnode-nusers-avoid-potential-overflow-20050428 a byte is very small... commit 965864f2ed8659b02c0ff6ed88ca2b8d24271837 Author: Chaskiel M Grundman Date: Thu Apr 28 04:10:19 2005 +0000 osi-initcacheinfo-cleanup-20050427 FIXES 18429 remove extraneous variable, be consistent about cacheMnt type commit 48e618ff0aa6708bcc2fe8cd577f7db7342e8c48 Author: Peter Somogyi Date: Thu Apr 28 04:04:13 2005 +0000 change-s390x-linker-binding-20050427 FIXES 18447 to avoid binding against xdr_int_internal in xdr use from the pam module commit c90b1bd66a8c2565a4b6927d2344768b0768c545 Author: Chaskiel M Grundman Date: Wed Apr 27 22:43:18 2005 +0000 linux-always-glock-20050427 finish this up, always glock on linux commit 8085bc4d476a2e77b26454929cdfa1d034c754f7 Author: Jeffrey Altman Date: Wed Apr 27 16:32:22 2005 +0000 windows-callback-race-20050427 cm_EndCallbackGrantingCall contained a race condition due to the release of the cm_callbackLock in the middle of the for() loop. The race was removed by optimizing out the call to cm_CallbackNotifyChange(). There is no reason this needed to be called once per callback revoke in the list. commit bd6345779e38b4de1d7b83269cace93ccc8bfb8a Author: Jeffrey Altman Date: Wed Apr 27 16:28:00 2005 +0000 winnotes-20050427 more updates commit f2558d6b89d4d3e6effbd8fc3868303cc3e69e7b Author: Daria Phoebe Brashear Date: Wed Apr 27 02:49:47 2005 +0000 add-ptprocs-prototype-use-20050426 thanks to Chris Wing for pointing this out commit e911b292af2c35f8f4af29aed26c557bf856d498 Author: Daria Phoebe Brashear Date: Wed Apr 27 02:36:40 2005 +0000 daemonize-log-somewhere-so-fds-can-close-without-harm-20050426 FIXES 18405 switch to VLog from printf commit 35285dad3e20e50f592afa95d994b68ded5c8b2b Author: Tom Keiser Date: Mon Apr 25 21:52:59 2005 +0000 rx-fpq-optimize-20050425 FIXES 17805 here's a patch that reduces the overhead of transfers between the local and global free packet queues. The old algorithm was O(n) in the number of store instructions -- 7 per rx_packet. I've added some bulk transfer macros to the rx_queue package. Now, the number of store instructions is O(1) -- 6 total. This should help reduce bus contention and cache line invalidates on SMPs. commit 3a30e787f2ab5c16bc1fdf34d74f67963ef63155 Author: Daria Phoebe Brashear Date: Mon Apr 25 18:20:16 2005 +0000 linux-global-sunlock-always-20050424 ok, well, in the land of pre-emption i guess we need this always commit 7631e20aa097ff062cbd3b04f2d483e3e7a95707 Author: Chas Williams Date: Mon Apr 25 15:54:54 2005 +0000 linux-dentry-revalidate-one-more-20050424 further updates commit 9213494ea84370f095d1d43e81b78fa11e5529e7 Author: Chaskiel M Grundman Date: Sun Apr 24 15:54:03 2005 +0000 add-missing-inotify-test-20050424 so we actually detect the inotify sem commit 937e96cfd192c86affa8a86f24ea4a5cdd81c7cd Author: Chas Williams Date: Sun Apr 24 15:26:53 2005 +0000 dentry-revalidate-cleanup-20050424 clean up dentry_revalidate one more time so performance improves commit 87de2a0c8f3870017dddaf7cc7e3a748a7c71fb4 Author: Niklas Edmundsson Date: Sun Apr 24 15:24:57 2005 +0000 aix53-20050424 add param file for aix 53 check for cache partition type commit 6115ace770c1b63db2bae9a883c63c7f478315a6 Author: Rainer Toebbicke Date: Sun Apr 24 15:19:55 2005 +0000 maintain-volume-filecounts-20050424 maintain file counts in volume header commit 21610a43f7bd4a0f1df1c1184308c04b26d77785 Author: Christopher Allen Wing Date: Sun Apr 24 15:16:21 2005 +0000 use-daemon-in-bosserver-and-afsd-20050424 provide daemon() if none exists. call it in bosserver and in afsd for afsdb handler ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add the file, too commit 1ecb15494a769dad02d2278dbe50d34cab0cab05 Author: Chas Williams Date: Sun Apr 24 15:01:29 2005 +0000 avoid-leaking-stat-info-20050424 otherwise we are effectively giving stat powers to people who shouldn't have it commit 6c0ca56a91dba4e74819d169a387f9c07be6ec9a Author: Chaskiel M Grundman Date: Sun Apr 24 02:02:52 2005 +0000 osi-file-use-dentry-open-20050423 FIXES 18335 use dentry_open et al instead of doing the work ourselves commit 784854caceb5b9fa6e1a6db1446887b99b4bb14e Author: Daria Phoebe Brashear Date: Sun Apr 24 01:54:42 2005 +0000 linux-osi-module-proc-csdb-sprintf-bug-20050423 FIXES 18334 remove extraneous %s commit 8e3f1f45b0615e38aa8b8171b2d99e0d2d72cc0a Author: Jim Rees Date: Fri Apr 22 15:57:09 2005 +0000 freebsd60-20050422 Preliminary FreeBSD 6.0 support. Builds, but unlikely to work. commit 8a009bf15110b94245c638e89ea91bbbd859238c Author: Jim Rees Date: Thu Apr 21 23:08:12 2005 +0000 ignore-ytab-20050421 add y.tab.h to .cvsignore commit 0223153f50ea07e7714ddd34e00317210a01b15f Author: Michael Niksch Date: Thu Apr 21 13:03:43 2005 +0000 restore-tab-20050421 Restore lost tab. commit 9198f00b19d0ba793d62241973403d7d1e8acfab Author: Jeffrey Altman Date: Thu Apr 21 03:16:57 2005 +0000 windows-shell-ext-remove-mtpt-20050420 Conditionalize the AFS->Mount Point->Remove menu item based upon whether or not the selected item(s) contain mount points commit 1099227e08af3df856d8a998746d98405e3ef04b Author: Tom Keiser Date: Wed Apr 20 22:21:16 2005 +0000 rx_fpq_take_three-20050420 FIXES 17805 I've been stress testing a patch all weekend that changes the way thread-local packet quotas are computed. I was able to replicate the unbounded packet alloc problem on unix server components by eliminating my code from rxi_StartServerProcs that sets the maximum number of expected threads. This patch makes the upper thread limit get computed on the fly, adds some thread-local free packet queue statistics, and a few other minor tweaks. I still don't have a working windows development environment, so I can't say whether this will fix all the windows client problems. But, the unbounded packet allocation problem should go away with this patch. stress testing on windows succeeds as well. commit 92920f732d8c9b2ca623ede5ffe5a56e98e32624 Author: Jim Rees Date: Wed Apr 20 17:35:44 2005 +0000 fix-vc-v-macro-20050420 Fix IsAfsVnode and friends for OpenBSD and NetBSD. Use "v" instead of "vc" for vnode args to macros (cosmetic only). Redefine OpenBSD macros instead of using #ifdefs in afs_osi.h. commit 5dd44b7a0f04ea43ca8ddea97ae7f1591de9fd54 Author: Jeffrey Altman Date: Tue Apr 19 22:06:22 2005 +0000 windows-hookdll-20050419 Some more tweaks for hook dll processing. commit 77111b823235eefbcc43a61fc7917d25c1bdac44 Author: Chas Williams Date: Tue Apr 19 17:27:25 2005 +0000 linux-conflate-rdwrs-20050419 FIXES 17561 conflate the 2 rdwr routines we have commit 9b506fb588eb884b3255f298f204b36e95b46851 Author: Niklas Edmundsson Date: Tue Apr 19 16:50:25 2005 +0000 aix53-20050419 add aix 5.3 support commit c0753e9ee7ff61ecd162cebbb30da7f0a8ca0bb6 Author: Jeffrey Altman Date: Tue Apr 19 07:26:27 2005 +0000 windows-hooks-20050418 Add new hooks from "AfsdHook.dll" to the afsd_service.exe AfsdInitHook - where you currently have one AfsdRxStartedHook - after RxInit but before SmbInit AfsdSmbStartedHook - after SmbInit AfsdBkDaemonHook - called by the BkDaemon thread and is executed once per cycle AfsdStoppingHook - called just after a shutdown event has been received but before any shutdown has been performed AfsdStoppedHook - called just after all shutdown operations after completed but before the service terminates The type of the function is BOOL ( APIENTRY * AfsdHook )(void) in all cases. Returning FALSE will cause the service to shutdown. commit f4f8176464bab9256786135df2f09fe8b129e7c1 Author: Jeffrey Altman Date: Tue Apr 19 06:04:35 2005 +0000 windows-O_NOBLOCK-20050418 O_NOBLOCK is not defined on Windows commit c630f81194666e438d93b79fc2510d112050e524 Author: Jeffrey Altman Date: Tue Apr 19 06:04:03 2005 +0000 windows-rx-ts-fpq-20050418 FIXES 17805 Add a new function called rx_StartClientThread() which parallels the behavior of rx_StartServer but is used for initializing client threads. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 17805 Add a new function called rx_StartClientThread() which parallels the behavior of rx_StartServer but is used for initializing client threads. Also, disable RX_TSFPQ_ENABLE for Windows as it slows the client down. commit 66b82d3c10101b70abcbcc6933b439aa1904600f Author: Jeffrey Altman Date: Tue Apr 19 06:03:10 2005 +0000 windows-formatting-20050418 keep formatting consistent commit ebf2022608aa239756a3a43e18ece02f3e512abc Author: Jeffrey Altman Date: Tue Apr 19 06:02:48 2005 +0000 windows-free-lib-20050418 call FreeLibrary not CloseHandle commit 61c5f8c0c89cb15f2bc4e47edb018c33d9ba256e Author: Daria Phoebe Brashear Date: Mon Apr 18 21:09:38 2005 +0000 macos104-not-yet-20050418 push first group of 10.4 changes commit e93bf762518b9afe91dee604e46fd8339c78360d Author: Jeffrey Altman Date: Mon Apr 18 15:43:50 2005 +0000 windows-syscfg-20050418 GetAdaptersAddressess -> GetAdaptersAddresses commit bf094cb5f4994d403c1fd0f6bf26c83447d95ae9 Author: Chaskiel M Grundman Date: Mon Apr 18 15:30:53 2005 +0000 linux-fmode-set-20050418 to avoid problems where we don't get truncated commit 7b71eb265efc727c88de0f25c1c6569831e6cbf9 Author: Rainer Toebbicke Date: Mon Apr 18 15:28:05 2005 +0000 logging-in-linux-vnodeops-sucks-20050418 given that we keep ending up with these weird errors, it's just not worth it. commit d8c0cc4c26fc779cf157fba07606060500555f38 Author: Robert Banz Date: Mon Apr 18 15:25:34 2005 +0000 solaris-largefile-not-on-ia32-20050417 disable largefile on solaris x86 32 bit commit eb71287333da152158cb2ea35c8f6c9f97752e6c Author: Jeffrey Altman Date: Mon Apr 18 03:28:31 2005 +0000 missing-eof-20050417 add missing eof commit 93ece98ccb1fd54c8c10848c574efe8932befc28 Author: Daria Phoebe Brashear Date: Fri Apr 15 20:39:33 2005 +0000 ptserver-restricted-mode-20050415 add restricted mode to pts only admins can make changes commit 6fe57dcfdae6efbf1aaf8e994e280c813c8c30dd Author: Daria Phoebe Brashear Date: Fri Apr 15 20:32:31 2005 +0000 make-linux-proc-cellservdb-info-20050415 use info hook instead of read so we can have larger than a slab commit 16982614437754880951c8a1c0220e61d13eccf7 Author: Daria Phoebe Brashear Date: Fri Apr 15 20:04:55 2005 +0000 license-compromise-20050415 just copy the full list of licenses here. bleh. commit 44eac0a8ac135b76876c6740b852406dad042f97 Author: Daria Phoebe Brashear Date: Fri Apr 15 20:02:08 2005 +0000 license-update-20050415 FIXES 18131 collect all licenses here commit a72d598e09a935f5974243cd622e0b986222b8b8 Author: Kris Van Hees Date: Fri Apr 15 19:43:57 2005 +0000 vos-release-compare-update-timestamps-20050415 FIXES 17758 use last updated timestamps to determine if a release needs to be done commit c38270884ad47b4d04d6212739e2fcee34568d3a Author: Peter Somogyi Date: Fri Apr 15 19:34:30 2005 +0000 fix-rxkad-prototype-20050415 FIXES 18079 fix cbc_encrypt prototype commit 2dc87bcf1e632444b163eea94172b77e7d376d5c Author: Daria Phoebe Brashear Date: Fri Apr 15 19:33:22 2005 +0000 kill-struct-osisocket-20050415 FIXES 18079 more complete version of what's in the patch, kill all refs to struct osi_socket in favor of just osi_socket from psomogyi@gamax.hu commit 4625fe8f93518d68bb61f58bb51a9c430ede37e9 Author: Chas Williams Date: Fri Apr 15 19:23:06 2005 +0000 viced-already-regd-warning-20050415 FIXES 18049 the ethernet address is irrelevant commit 3e20db8bbbcfd4f725d803b705b8816aa84f859d Author: Jeffrey Altman Date: Fri Apr 15 17:01:40 2005 +0000 windows-locking-freeacls-20050415 Ensure that the appropriate mutex locks are held on the stat cache entry referred to by the acl back pointer when performing a cleanup commit bee80ed64c042d63e9a57875a064744199d44996 Author: Jeffrey Altman Date: Fri Apr 15 17:00:15 2005 +0000 windows-memmap-adjust-20050415 Prepare to allow the maxVolumes and maxCells parameters to become independent of the MaxStats value commit 671b02194a49c2548bdad45d2f1ba3c6452f3d43 Author: Chas Williams Date: Fri Apr 15 14:40:31 2005 +0000 sema-init-takes-2-args-20050415 FIXES 18271 init sema correctly commit b086690fbb27b8ee31c8d8f546f9ed4824007cd7 Author: Daria Phoebe Brashear Date: Fri Apr 15 14:31:42 2005 +0000 fifo-logs-20050415 use O_NONBLOCK during open if it's a fifo suppress SIGPIPE in case we care (EPIPE handling still not needed: return value of write is discarded) commit e2d6d9bf2e8d628096b9ce4d6eb558524231bac4 Author: Jeffrey Altman Date: Thu Apr 14 06:46:34 2005 +0000 windows-winlogon-logon-event-20050414 Apparently the problem with multi-domain forests with cross- realm trusts to non-Windows realms was not entirely solved. The authentication to the AFS SMB service failed because the wrong name was being used. Using ASU as an example, the authentication was being performed with the name "QAAD\user" (an account in the forest root) and not "user@ASU.EDU (the MIT Kerberos principal used to login with) The solution was to add an additional dependency on KFW in order or to be able to easily obtain the client principal name stored in the MSLSA ccache TGT. This information is used in two locations: - the pioctl() function - a new WinLogon Event Handler for the "logon" event. The pioctl function will now be able to use the correct name when calling WNetAddConnection2() and the "logon" event handler will now be able to call WNetAddConnection2(). The hope is that the "logon" event handler will be called before the profile is loaded but I have not guarrantee that will happen. commit bdc7e43117706d0aa46d3b6435489e9d4c2b0888 Author: Daria Phoebe Brashear Date: Thu Apr 14 05:41:59 2005 +0000 support-named-pipe-logs-20050414 so log files can be named pipes commit 5aab14c8434e9ea5f3bfa05b6a8cc20de1856c6a Author: Daria Phoebe Brashear Date: Thu Apr 14 05:29:34 2005 +0000 renamefile-for-mrafslogs-20050414 call the renamefile wrapper so mrafs style logs on windows work like other logs commit cffa1571bb7122cdd5fc18251685af5a3c5cbaaa Author: Chas Williams Date: Thu Apr 14 05:22:24 2005 +0000 kill-rxglock-20050413 FIXES 18222 the rxglock was being defined out by all the platforms, just kill it. commit 004be0249387802cc7abe45d50c6f8b67c4832d0 Author: Tom Keiser Date: Thu Apr 14 03:41:18 2005 +0000 rx-fpq-trying-again-20050413 FIXES 17805 this time we'll work it out on windows. multitier free packet queues to increase performance commit 7dd07b912b62b62cc19a24abfd6ebd81abc3cca7 Author: Chas Williams Date: Thu Apr 14 03:32:46 2005 +0000 bye-getitimer-20050413 FIXES 18221 stop using getitimer on linux commit dbeab01c12fd61305b9b5cc9a61036d934db1ce8 Author: Chas Williams Date: Thu Apr 14 03:25:02 2005 +0000 kill-rxglock-20050413 FIXES 18222 the rxglock was being defined out by all the platforms, just kill it. commit 12df63ce9a626dded034e90f92ec9f15326ab96c Author: Chaskiel M Grundman Date: Thu Apr 14 03:18:33 2005 +0000 linux26-unlocked-ioctl-20050413 FIXES 18224 add unlocked_ioctl support and compat_ioctl support commit c7774aa1177e4363db92d7c309263204093a440d Author: Chaskiel M Grundman Date: Thu Apr 14 03:13:50 2005 +0000 tbutc-avoid-lwp-libs-20050413 FIXES 18225 stop using lwp family libs when building tbutc commit d489574156ff01b0a8ff362c14eb12d9a8642d1f Author: Chas Williams Date: Thu Apr 14 03:09:46 2005 +0000 kill-clock-advance-20050413 FIXES 18228 we don't use clock_Advance, so it's gone commit 9307de2fe7780b2df43b5f8e21871f8e5eb633dc Author: Peter Somogyi Date: Thu Apr 14 02:59:34 2005 +0000 aix-volser-fix-retry-20050413 FIXES 18240 destroy lock only after we gave up permanently commit 40e03e078f02fd819a187457678b001065a0972f Author: Douglas Engert Date: Thu Apr 14 02:38:37 2005 +0000 hpux1123-parisc-20050413 FIXES 18245 hpux 11.23 changes for parisc commit 0fb256419d48beadc6236481b6b27839e6ad6dd9 Author: Chaskiel M Grundman Date: Thu Apr 14 02:14:21 2005 +0000 linux-inotify-sem-20050413 FIXES 18260 add inotify sem detection commit 84d997e240979271472721e80980cc6d9f19b9e5 Author: Chaskiel M Grundman Date: Thu Apr 14 01:54:25 2005 +0000 rx-dont-use-kmutex-outside-linux-kernel-20050413 FIXES 18261 don't use kmutex in prototypes outside linux kernel commit 87e748f20df109be127827f7f45c1ce549e217f4 Author: Tom Keiser Date: Mon Apr 11 19:10:58 2005 +0000 cblater-hold-lock-on-broadcast-20050411 avoid race from not holding lock around fsync_cond broadcast commit a054c419176c6ad73dafed66ce6acfbdf3f36952 Author: Daria Phoebe Brashear Date: Mon Apr 11 19:03:03 2005 +0000 cleanup-rcmd-killing-20050411 cleanup killing of rcmds. commit 1ca15ed253d8273a9b47c9da95ea1c59412f3e8b Author: Daria Phoebe Brashear Date: Wed Apr 6 22:24:27 2005 +0000 linux-follow-link-light-needs-putlink-20050406 based on research by cg2v@andrew.cmu.edu and suggestion of jhutz@cmu.edu needed so kmaps are balanced by kunmaps commit b5be28de3093b225c2a2e927ecefe395d9a74388 Author: Chaskiel M Grundman Date: Wed Apr 6 06:08:56 2005 +0000 afsdb-lock-20050405 init one more lock commit 28c0189fa2a5880ef0c8f89645c69673def29027 Author: Daria Phoebe Brashear Date: Wed Apr 6 05:46:03 2005 +0000 osi-probe-old-kernels-20050405 old kernerls lack __user commit d0879e78e6a8824eb745359a00b1d3170b977eaa Author: Jeffrey Altman Date: Tue Apr 5 03:16:43 2005 +0000 windows-rx_mtu-20050404 cmdebug -addr should report the rx_mtu size if it is set and less than the actual mtu size commit 54d6578ae68f8a093661a69fa763499f10457623 Author: Jeffrey Altman Date: Mon Apr 4 12:51:02 2005 +0000 windows-notes-20050404 final updates before 1.3.81 commit 9e811713859a45e644f28c606e79701e422ea3f9 Author: Jeffrey Altman Date: Mon Apr 4 12:37:28 2005 +0000 windows-version-20050404 1.3.8100 commit 04ab517de87cb01c49b33afa74b25b7577a91c92 Author: Garry Zacheiss Date: Mon Apr 4 08:42:59 2005 +0000 make-afs-h-includable-outside-kernel-20050404 so you don't need to define KERNEL to cinlude this commit 9e7c3c015f2b89d360de43f70b8eb69d8adc9c10 Author: Garry Zacheiss Date: Mon Apr 4 08:34:58 2005 +0000 kdump-update-20050404 make kdump build again commit 9b10a8c4b85180a202123815b948581dda036d66 Author: Daria Phoebe Brashear Date: Mon Apr 4 06:02:56 2005 +0000 remove-insecure-and-ntp-20050403 rcmds, inetd, ftpd and ntp are gone. leaving the files in the cvs head for now. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== rcmds, inetd, ftpd and ntp are gone. in 1.4, files also go away. commit de920422171ab134f2821d1dd2feeb542750a0f7 Author: Daria Phoebe Brashear Date: Mon Apr 4 05:26:36 2005 +0000 remove-rx-2tier-freepacketq-20050403 needs more work. commit 2eda44d7eb3c1adc103600a3c3695e37b238441f Author: Daria Phoebe Brashear Date: Mon Apr 4 05:17:56 2005 +0000 macos103-update-20050403 use system vnodes. one remaining bug, dangling vnodes at shutdown. commit 2a3d2ad3af1a0443fe59d48b2889f2508ec5fe5f Author: Tom Keiser Date: Sun Apr 3 21:20:54 2005 +0000 vos-partinfo-summary-portability-20050403 make this work on systems with non-native 64 bit int commit 5c6b956257f4f43122d393eaf119ad7616084576 Author: Tom Keiser Date: Sun Apr 3 21:12:36 2005 +0000 rx-2tier-freepacketq-20050403 FIXES 17805 The attached patch turns the rx free packet queue into a 2-tiered cache with a local thread-specific queue, backed by a global queue when using pthreaded rx. The patch is against 1.3.79. Preliminary benchmarks show scalability much closer to 2 cpus on sparc with this patch. Also, fileserver performance under heavy load is improved: 50% improvement in throughput for sequential writes, and a 10% improvement in performance for random writes against an smp sparc solaris 10 fileserver. commit 4bf562265c18433868e3ae28c4b6fb3dd30d57af Author: Tom Keiser Date: Sun Apr 3 21:09:53 2005 +0000 hid2client-write-lock-20050403 FIXES 17867 h_ID2Client currently returns a client struct with a shared lock. The only caller of h_ID2Client (SRXAFS_FlushCPS) immediately calls BoostSharedLock. This patch just goes ahead and makes h_ID2Client return it with the write lock so we don't enter the Lock struct mutex multiple times in a row. This also happens to remove the last reference to BoostSharedLock in the tree. commit f9971b7729d31ecb08d22dcd3511f924c6681214 Author: Andrej Filipcic Date: Sun Apr 3 21:00:11 2005 +0000 alpha-linux26-20050403 FIXES 18081 alpha linux26 port commit c5c9bf0a7896047381d2d07ddaa954b231b7f356 Author: Chaskiel M Grundman Date: Sun Apr 3 20:53:43 2005 +0000 rx-clock-rollover-fix-20050403 FIXES 17990 itimer rollover comes faster now; handle it. commit becb3ea3ce793972f95523a3efd88f8c43837675 Author: Chas Williams Date: Sun Apr 3 20:48:32 2005 +0000 more-linux26-cred-fixes-20050403 FIXES 18009 instead of crget() getting a groups_alloc(0) just to put it, we just fix crref()/crdup()/afs_pioctl() to do the "right" thing added missing task_lock()'s as well. commit 423125bcb611a1790df93a6090959dab7364056a Author: Daria Phoebe Brashear Date: Sun Apr 3 20:37:29 2005 +0000 license-update-20050403 FIXES 18131 collect all licenses here ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 18131 install LICENSE into destdir builds commit f96befff4353f7820afb7e1436360f84f92a902c Author: Daria Phoebe Brashear Date: Sun Apr 3 20:21:19 2005 +0000 hpux-license-update-20050403 FIXES 18129 update hpux psf file copyright info commit f8831d1ed74a3da346bb24162d1bace8467e3ab7 Author: Daria Phoebe Brashear Date: Sun Apr 3 20:13:11 2005 +0000 macos-update-packaging-20050403 FIXES 18127 add apsl 2.0 license. note it in ReadMe.rtf. update buildpkg to provide afsd options sample. update post_install to use sample ThisCell and options if none provided. commit face6451fda9809a28cf6bec42f50f211b51d07d Author: Sven Oehme Date: Sun Apr 3 20:02:28 2005 +0000 linux-ppc64-26-20050403 FIXES 18114 add support for ppc64 linux26 commit 10afa98bcd952b490d850054115e945bb44fd79f Author: Daria Phoebe Brashear Date: Sun Apr 3 19:48:16 2005 +0000 new-gcc-cleanup-20050403 more picky about some of this stuff, and it's right, so let's clean it up commit 228f109a4303db018f3e52db0822f8d70dc10d43 Author: Daria Phoebe Brashear Date: Sun Apr 3 19:32:20 2005 +0000 remove-insecure-and-ntp-20050403 rcmds, inetd, ftpd and ntp are gone. leaving the files in the cvs head for now. commit 2f9948b7e72b5dde1d46ecb05498e8f0248aee67 Author: Sven Oehme Date: Sun Apr 3 19:17:58 2005 +0000 s390x-linux26-flavor-check-20050403 FIXES 18112 add missing flavor bit check for s390x commit 412854593cf368006c18e6c0dc607a9ecd76a0e0 Author: Niklas Edmundsson Date: Sun Apr 3 19:13:30 2005 +0000 aix5-allocator-cleanup-20050403 * Removed memory allocation functions only used on AIX and ancient HPUX. If the performance penalty is noticeable, implement a wrapper at the osi-level in the same manner as LINUX/FBSD (ie not sprayed throughout the code). * Removed all remnants of splnet()-style locking, it was not sufficient for MP anyway which the real locks are. Affects only AIX and HPUX. * Drop the global locking in rxi_Alloc since the real locks do their jobs, affects only AIX41 and up (ie. MP capable OS). * Fix the non-kernel wrapper for osi_Alloc/Free on AIX to take void * in the same manner as the rest of the functions. IMO this wrapper shouldn't be necessary since you should never ever malloc() 0 bytes, but since it's there I'd guess someone made stupid assumptions somewhere... * Restores MAXKTCTICKETLEN to 12000 on AIX * Restores AFS_LWP_MINSTACKSIZE to 48k on AIX (might affect server-stuff) commit 706530c295dcf528d7307a524020457a0a6d5f59 Author: Daria Phoebe Brashear Date: Sun Apr 3 19:09:05 2005 +0000 openafs-kill-dead-code-20050403 Code ifdef'd any of AFS_MACH_ENV, AFS_GFS_ENV, AFS_DEC_ENV dies Code ifdef'd AFS_SUN_ENV either becomes AFS_SUN5_ENV or dies as appropriate, in the kernel only. The database servers etc are probably still buildable, and I still have a SunOS 4.1.4 machine. ;-) But the Solaris vnops get all SunOS 4 code nuked. Uses of AFS_ALPHA_ENV which secretly meant OSF/1,D/UX,Tru64 become AFS_OSF_ENV. Bozon lock use gets its own ifdef. OSF and Solaris define it. Darwin and any BSDs have bozon lock usage removed: note that only OSF and Solaris were bothering to *init* the bozon lock during NewVCache. Bozon locks are for platforms where basically we could end up deadlocking ourselves because of how locks are handled. Some nonsensical ifdefs removed. Some if 0'd code removed. Some obsolete code (hpux pre-10, for instance) removed. commit 15d82b857efc21fd80f250d2f315e12f8b20db2a Author: Jeffrey Altman Date: Sun Apr 3 06:32:35 2005 +0000 rxdebug-unsigned-20040403 use unsigned types when displaying stat data via printf commit 6beff57613f56870218af992b1ae394aecb9fe09 Author: Jeffrey Altman Date: Sat Apr 2 10:06:44 2005 +0000 windows-notes-20050402 updates for version 1.3.81 commit 48b2968e0a3ff5f07bd1e04f01e625b110d78482 Author: Jeffrey Altman Date: Sat Apr 2 09:23:50 2005 +0000 windows-deadlock-20050402 One final deadlock was found in cm_TryBulkStat(). Do not hold the scp->mx through the RXAFS call. commit 9a3844a96b07ffa7b677460d0a9f0dbffd774e03 Author: Jeffrey Altman Date: Fri Apr 1 00:36:04 2005 +0000 windows-time-20050331 Replace the time translation hack based on smb_NowTZ with a purely mathematical conversion from UTC based unixTime (time_t) to UTC based FILETIME commit 0a9609d8eb599dfe11ff04d8752e15b58c3ef89d Author: Jeffrey Altman Date: Thu Mar 31 07:05:21 2005 +0000 windows-afsd-minor-20050330 Add bounds checking to the comparison of fid->vnode and cm_localMountPoints when Freelance mode is used. Fix typo in DJGPP section of smb.c Use rx_connection * instead of rx_call * in previous fix to cm_dcache.c commit b9bf7ee01acc7f2646fbc6e09c1ca8d41cc59d55 Author: Jeffrey Altman Date: Wed Mar 30 21:49:35 2005 +0000 windows-stress-test-fixes-20050330 Ran more stress tests against 1.3.80b on a dual processor machine and found a number of additional errors which could be fixed. cm_callback.c: correct the refCount handling of server lists when processing registering callbacks on the scache entry cm_conn.c: cm_Analyze was not handling the CM_ERROR_NOSUCHVOLUME case. In this case force a retry and Force Update the Volume info cm_dcache.c; do not hold mx locks around calls to rx_NewCall(). That is why we have reference counting on the rx_connection objects. cm_ioctl.c: replace references to afsdcell.ini with CellServDB cm_utils.c: formatting cm_vnodeops.c: improve the logging and add a missing call to cm_EndCallbackGrantingCall() cm_volume.c: allows cm_volume_t objects to be reused if their ref count is 0 and we have hit the maximum number allowed. smb.c: improve the logging and the handling of dead_vcp references. If all of the SMB sessions and NCBs are in use, return BUSY to the CIFS client. smb3.c: convert constants to preprocessor symbols commit c167d56b1afcf5f4dfb0fc50a430504e253a77c1 Author: Daria Phoebe Brashear Date: Sat Mar 26 07:10:39 2005 +0000 linux-vnode-macros-20050326 here's a place where we passed a vcache instead of a vnode for linux. doesn't matter today, might as well fix it now. commit 1156923e08d95972105fcb99045b29b2c7732fc5 Author: Chaskiel M Grundman Date: Sun Mar 27 21:19:45 2005 +0000 lwp-deal-with-unaligned-memory-20050326 FIXES 18050 don't double-free lwp stack space commit 4cbe2e7ebfc993a3d09d558cd58757e0b858facd Author: Daria Phoebe Brashear Date: Sat Mar 26 06:53:44 2005 +0000 rx-getaddrs-skip-loopback-addr-on-bsd-too-20050326 as reported by Tracy Demarco-White commit 79703698011d196616561072b6c531ad0a4f8c68 Author: Daria Phoebe Brashear Date: Sat Mar 26 05:37:42 2005 +0000 darwin-vnode-macros-20050325 use vnode to vcache conversion macros commit 977184e22026ae177427faf6c31fe920cbfae7e6 Author: Daria Phoebe Brashear Date: Sat Mar 26 00:44:39 2005 +0000 darwin-fstrace-20050325 holy crap, it just worked. commit 93ed4e14f0c1d8cee113f29e151bab14554b51cd Author: Jeffrey Altman Date: Fri Mar 25 17:58:47 2005 +0000 acl-maxentry-comment-20050325 correct the comment related to the maximum number of entries in an ACL. the number of ACEs must be less than or equal to ACL_MAXENTRIES not less than ACL_MAXENTRIES. commit 2ba2c97f90fdb9d3afa44f0436e1e9b46eb7feba Author: Daria Phoebe Brashear Date: Thu Mar 24 01:53:46 2005 +0000 sb-list-fix-20050323 fix gaffe from my attempt at this commit d33cd7595bc7afffec277d761d911b54e39f3dbf Author: Jeffrey Altman Date: Wed Mar 23 22:31:13 2005 +0000 windows-logon-20050323 Fix initialization error when getting domain parameters commit ef8eb1aef619b40f0c88a473841dc8e215ab1e72 Author: Jeffrey Altman Date: Wed Mar 23 22:30:09 2005 +0000 windows-version-8002-20050323 1.3.8002 commit 6132fc038434759daabd5d501cbcfa99de963654 Author: Jeffrey Hutzelman Date: Tue Mar 22 23:52:59 2005 +0000 kbuild-one-more-try-20050322 and shortly i will confirm it works for all cases commit 19b681e32b4ae0f488a48af5c9acc4d5c87144bf Author: Jeffrey Altman Date: Tue Mar 22 19:39:44 2005 +0000 windows-toplevel-makefile-20050322 fix build dependencies for vl headers commit 46f7713f16c8c96983872a801cf1ce9cf7b80530 Author: Jeffrey Altman Date: Tue Mar 22 05:42:29 2005 +0000 windows-smb-fix-20050322 the use logon cache hack only works on xp and above. do not give up use of smb auth simply because it fails fix the smb_vc_t refCount fix to smb_CopyPacket. Only hold a smb_vc_t if there is one. commit 8d8fe4947882300c45347379fd826b7a55743951 Author: Jeffrey Altman Date: Tue Mar 22 05:40:13 2005 +0000 windows-version-20050322 1.3.8001 commit 247a58de77004ec10c2e55451d99dd04bd982df4 Author: Jeffrey Altman Date: Mon Mar 21 16:27:59 2005 +0000 windows-smb_vc_t-refcounts-20050321 conditionalize the assertions on smb_vc_t refcounts as they are only for debugging. We know there is a problem but don't want to deal with it for the 1.3.80 release. added logging info for each hold and release. perhaps that will provide a clue in the future ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== When copying a packet we must increment the vcp refcounts commit f9e3781fdb7600c5beba5727d4ddc7a86bd54b58 Author: Ervin Fenyak Date: Mon Mar 21 02:54:11 2005 +0000 vos-extended-format-20050320 FIXES 17961 vos listvol -extended with -format option (vos listvol -extended -format) had no effect. After applying the patch, vos listvol -extended -format outputs tab delimited output. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 17961 move variable declaration to the beginning of the block commit 6650b683bf999293d3473d0f7e2dd3fd4dc0daf7 Author: Daria Phoebe Brashear Date: Sun Mar 20 20:37:39 2005 +0000 linux-inotify-20050320 yay more inode fields. commit 4be6888040a9671e91e0732867a07a153c4d4d26 Author: Michael Niksch Date: Sun Mar 20 20:26:19 2005 +0000 install-cfgafs-20050320 FIXES 17712 cfgafs shoudl be installed regardless of AIX64 commit 5a8f1057b0e9d07246af9213b8388dee0a64fd41 Author: Chas Williams Date: Sun Mar 20 20:18:08 2005 +0000 linux-crref-held-longer-20050320 FIXES 17917 hold the cr ref longer we were putting it too soon commit 158f2d91b9e0a911494b3755768e209b12dea980 Author: Chaskiel M Grundman Date: Sun Mar 20 20:12:05 2005 +0000 linux-rx-spinlocks-for-preempt-20050320 FIXES 17966 force linux spinlocks on when CONFIG_PREEMPT is involved commit 1aa23c665347d00f9ef4f81e58830799a6e4783d Author: Chaskiel M Grundman Date: Sun Mar 20 20:08:06 2005 +0000 afs-lock-init-20050320 FIXES 17939 add missing afs lock initialization commit 3b6e82294bcf1e1545b3b3767289a5f7abc922c1 Author: Vitaly Chernookiy Date: Sun Mar 20 19:38:44 2005 +0000 linux-libafs-makefileproto-call-kbuild-correctly-20050320 FIXES 17972 call the script directly out of srcdir instead of looking elsewhere commit 70a8bba77b7e03d29edd8fab9b1cac098d1a7338 Author: Chaskiel M Grundman Date: Sun Mar 20 19:23:19 2005 +0000 amd64-linux-rx-clock-fix-20050320 FIXES 17950 avoid initial delay in rx on amd64 linux due to interval timer issue commit 37f7895c48c2a5cafae15ae79d04f196e6fa6989 Author: Tom Keiser Date: Sun Mar 20 15:11:54 2005 +0000 vos-partinfo-summary-mode-20050320 FIXES 17868 add a summary mode to vos partinfo commit 2cfd611e919524ec39403a1eef3970a41f2e348f Author: Jeffrey Hutzelman Date: Sun Mar 20 15:07:19 2005 +0000 linux-find-kernel-build-link-path-to-kernel-headers-20050320 look in /lib/modules for a path to the kernel build instead of just in /usr/src commit b0b3b02bd18c404d9323d1a060abbdfbdcc2e0af Author: Jason McCormick Date: Sun Mar 20 15:00:43 2005 +0000 linux-afsd-rc-better-defaulting-20050320 FIXES 17630 default to a small cache rather than breaking if the client is ill-configured commit efda40565de69c3b144d78b77c32d8d7d2833211 Author: Ervin Fenyak Date: Sun Mar 20 14:32:06 2005 +0000 afsd-rxpck-switch-20050320 FIXES 17837 add rxpck switch to afsd to allow overrding maxpackets commit af22fcd182df1ebe31aec70b6544c5bd58a97d01 Author: Daria Phoebe Brashear Date: Sat Mar 19 20:42:04 2005 +0000 revert-salvager-verbosity-entirely-20050319 simply remove the verbosity added to salvager commit ab67e8970f8342d4814737b6c27204dc3f6a1d6b Author: Jeffrey Altman Date: Thu Mar 17 17:50:22 2005 +0000 windows-notes-20050317 final notes for 1.3.80 commit 9055824240a1c7c5b1a13c179159922098ba0b05 Author: Jeffrey Hutzelman Date: Thu Mar 17 17:42:26 2005 +0000 CellServDB-update-20050317 Public CellServDB 16 Mar 2005 commit 54119c1e0e479b32fc77db42ea1a308621804d7e Author: Harald Barth Date: Thu Mar 17 15:52:54 2005 +0000 nosettime-20050317 Make -nosettime default for afsd. Use -settime to get old behavior. commit 164d4ee959547e4791a497bc86377b269ec43dd2 Author: Jeffrey Altman Date: Wed Mar 16 21:37:07 2005 +0000 windows-dns-crypt-20050516 Found another case in which the windows client could break connections which should not be broken if cryptall is on. If the connection is unauthenticated because there are no tokens, the connections will be broken. If a site relies on AFSDB records and the client machine is configured to append a domain suffix to all queries it is possible for "foo" and "foo.bar" to appear to be separate cells. fixed by appending a trailing '.' to all AFSDB queries if there is not already one. commit 1c5e550e99b3a7fd8fc53106f8e4ac01860a2ef8 Author: Jeffrey Altman Date: Wed Mar 16 04:49:02 2005 +0000 rollback-20050315 Rollback changes to 1.68 commit 0949ca36faf493b235a4fde03b3b9a3eb3745d9c Author: Jeffrey Altman Date: Tue Mar 15 00:55:56 2005 +0000 windows-notes-20050314 Update notes to describe fix for cross realm trusts to Windows multi-domain forests commit 80d60b9cd1275c4a4ded571c5876a1e704baf53e Author: Jeffrey Altman Date: Tue Mar 15 00:43:21 2005 +0000 windows-comments-20050314 Update the comments to indicate how we force authentication to be performed against the Windows logon cache instead of a domain controller and how BackConnectionsHostNames will work in Longhorn Beta 1. commit 834adacf6a65609d2d013b31ccbfba44d540abfa Author: Jeffrey Altman Date: Fri Mar 11 18:16:47 2005 +0000 windows-mumble-20050311 Add new registry setting to force a lana to be treated as a loopback Move hack to force use of MSV1_0 cache commit 01a4455f37921829896f47fa26465a587fd394f9 Author: Jeffrey Altman Date: Fri Mar 11 07:30:00 2005 +0000 windows-1380-20050310 updates for 1.3.80 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== update issues list commit 0b90d69f8a44e6c7ba20553cfb7d5cf7072bab57 Author: Jeffrey Altman Date: Fri Mar 11 05:33:12 2005 +0000 windows-pcache-20050310 This patch applies all of the work done to add persistent cache support, cache manager debugging, and a variety of bug fixes. A full description will be committed within doc/txt/winnotes as part of a later commit. commit c41aa8245ed0b9847d40671fa72d34350a75a569 Author: Daria Phoebe Brashear Date: Fri Mar 11 04:35:39 2005 +0000 fix-linux22-20050310 fix accumulated linux 2.2 damage commit d82d85f7c4802db6ddadb42657d4ffa72b6c10cf Author: Daria Phoebe Brashear Date: Fri Mar 11 02:54:49 2005 +0000 volinfo-dont-bomb-on-attach-failure-20050310 let volinfo keep going in the face of failure commit d849943aabd248fde92686094e7bb82fb29d451b Author: Tom Keiser Date: Tue Mar 8 22:14:50 2005 +0000 vos-listaddrs-dont-infinite-loop-20050308 FIXES 17814 avoid possible infinite loop in vos when checking a non-existant uuid commit a91a5fc68658f845f18d288925d4ef0498e29f93 Author: Johan Danielsson Date: Tue Mar 8 22:09:29 2005 +0000 linux-osi-gettime-avoid-collision-20050308 FIXES 17802 don't reuse tv as a variable name in osi_GetTime macro commit e9084af7bfe8ef50e4ebbc57b580b8f6fffbf230 Author: Chaskiel M Grundman Date: Tue Mar 8 22:05:45 2005 +0000 linux-writepage-sync-20050308 FIXES 17792 "The attached patch 1) makes afs_linux_writepage_sync do the required lock_kernel and AFS_GLOCK()'s instead of making the caller do it. 2) removes the 2.4+ afs_linux_updatepage wrapper function which just calls afs_linux_writepage_sync and is only called by afs_linux_commit_write 3) removes the kmap/kunmap in afs_linux_{prepare,commit}_write on 2.6 since the caller of afs_linux_{prepare,commit}_write (do_generic_file_write) does the kmap/kunmap itself, and has since before 2.4.19 (early 2.4's do require it, and it doesn't break anything to do it twice, so !defined(AFS_LINUX26_ENV) is appropriate)" commit 011a40a56da8c36ebfe6d3216d35ec5618132393 Author: Chaskiel M Grundman Date: Tue Mar 8 21:57:41 2005 +0000 osi-lookupname-nuke-dirvpp-20050308 FIXES 17791 osi_lookupname doesn't need dirvpp anymore commit 4e3107a00270132b23194a0e776504f4cb425251 Author: Chas Williams Date: Thu Mar 3 16:56:48 2005 +0000 osi-syscall-fix-20050302 FIXES 17666 fix typo _nr should __nr commit 248d5402fe893044e37b7395887c7e5b69829836 Author: Love Hörnquist-Åstrand Date: Mon Feb 28 20:18:11 2005 +0000 fake-admin-on-create-file-20050228 pass back admin in status bits for create file commit 7c3aeba6869320852e3366b48e4549f83edab79b Author: Karl Ramm Date: Sun Feb 27 18:31:42 2005 +0000 salvager-less-verbose-20050227 make the salvager less verbose commit 6477c929cda3e6ebd2be5235132eded0f3268421 Author: Daria Phoebe Brashear Date: Sun Feb 27 04:26:41 2005 +0000 fix-uae-20050226 sometimes the proeprocessor is cranky. bah. commit 403e8cfa5e4a48a778175fc09a8c2b1637cbb127 Author: Jeffrey Hutzelman Date: Fri Feb 25 19:51:51 2005 +0000 osi-probe-update-20050225 update osi_probe for machines with no mmap2 commit c9b63162b696589b6772847038f73bfd5d1df896 Author: Daria Phoebe Brashear Date: Fri Feb 25 19:49:10 2005 +0000 cblater-protection-and-paranoia-20050225 with additional fix from jaltman for case where we need to get a fresh fe. don't reuse FE_LATER file entries. commit 21fae1faf649e946f276912d94c58ec589c4b3de Author: Daria Phoebe Brashear Date: Fri Feb 25 18:02:35 2005 +0000 unified-afs-cleanup-20050225 use EIO as base error commit e697e7bd13e40cafb5eb146ab0a8ec207ba84f13 Author: Jeffrey Altman Date: Fri Feb 25 17:42:17 2005 +0000 fe-clear-status-on-reuse-20050225 jeff pointed this out yesterday, it may fix more than he guessed. commit 89d655566f3c9556768e83ab9e8cc4b272be2fc0 Author: Daria Phoebe Brashear Date: Thu Feb 24 15:21:28 2005 +0000 tviced-log-thread-at-high-loglevel-20050224 if loglevel > 999, log thread id as part of logging commit 202d87e6ec0fafa3c87af3dc16d46b0294c35451 Author: Sam Hartman Date: Thu Feb 24 05:04:50 2005 +0000 ppc64-linux26-param-20050224 FIXES 15581 missed before commit 0801ce99b717954c9748c9170ebde4dacd98ac63 Author: Daria Phoebe Brashear Date: Thu Feb 24 04:44:59 2005 +0000 fix-uae-20050223 make uae flag not secretly overflow hostFlags commit 0b1be0bedb8a7e6dcaed6e6f353d46c89966ad21 Author: Chaskiel M Grundman Date: Wed Feb 23 23:07:31 2005 +0000 ioctl32-linux26-20050223 FIXES 17669 add ioctl32 support for linux 2.6 commit f7ff156ec1f2daf9c9c81c44314034e178132717 Author: Chas Williams Date: Sun Feb 20 05:42:47 2005 +0000 ia64-smp-definition-20050220 FIXES 17640 change how smp is defined so we pick up a mutex commit cb3ec9004e095a11db6e349d6feef6d08243aa19 Author: Jeffrey Hutzelman Date: Wed Feb 16 22:47:35 2005 +0000 unified-osi-probe-2-20050216 FIXES 17548 update osi_probe commit 66735f54b79bcc610f6185df98d9caeab8476a8b Author: Chas Williams Date: Wed Feb 16 19:22:49 2005 +0000 solaris-x8664-support-20050216 FIXES 17628 add amd64 support for solaris 10 commit ef85cb144dc433879cfd05d0fd3a380d7ce78098 Author: Tom Keiser Date: Wed Feb 16 19:13:01 2005 +0000 fix-multirx-checkservers-20050216 FIXES 17549 put results in an array. commit d164b1d311f55af08e020d3d163f67595271b003 Author: Harald Barth Date: Sun Feb 13 00:23:52 2005 +0000 fbsd-amd64-20050212 initial fbsd support for amd64 commit c92132eba3250d3ef3647b578a363be970496597 Author: Daria Phoebe Brashear Date: Sat Feb 12 19:52:19 2005 +0000 solais10-declares-mem-funcs-20050212 mem* funcs now declared in sys/systm.h with a different prototype so there's a conflict. (but delcared means they exist, so this is fine) commit cefe48fc1353c0f5e2831b8b81443d35e983fc96 Author: Chaskiel M Grundman Date: Sat Feb 12 19:47:03 2005 +0000 store64-cleanup-20050212 fix several deficiencies in 64 bit file size handling commit e4552599b0e1d1ef8b8100a901510591f2e0c6b7 Author: Chaskiel M Grundman Date: Fri Feb 11 22:37:31 2005 +0000 linux-avoid-leaking-refs-20050211 FIXES 17451 hopefully this fixes all the not-able-to-unmount leaks commit 8d1d71913cebee105416affa940fe96d63b12696 Author: Chaskiel M Grundman Date: Fri Feb 11 22:27:22 2005 +0000 linux-sysincludes-needs-slab-20050211 add linux/slab.h to includes commit d47aace39f22a83f7c15b28c631695dc6aa362b5 Author: Chas Williams Date: Thu Feb 10 16:30:41 2005 +0000 linux26-inode-got-i-sb-list-20050204 another thing to do at inode initialization commit a0732a579ac1aea9cfdee2de530b3afcffe30bac Author: Chas Williams Date: Thu Feb 10 04:49:10 2005 +0000 linux-flush-release-rewrite-20050209 FIXES 17509 rewrite afs_linux_release and afs_linux_flush commit 08b998f798b44673f058b6a262c81cc077f20123 Author: Daria Phoebe Brashear Date: Thu Feb 10 03:57:27 2005 +0000 client-conndeadtime-tunable-20050209 make the fs and not just the vldb interface dead time tunable commit 3aaeae0ee6fa13209fff93fd5d9dfe709804cee5 Author: Daria Phoebe Brashear Date: Thu Feb 10 03:02:46 2005 +0000 linux-lwp-work-around-signal-lossage-20050209 some versions of linux seem to lose signals sometimes. very annoying. commit 641c2b17efbffa523818a950761e612e9fc6f5f7 Author: Jeffrey Altman Date: Mon Feb 7 19:27:35 2005 +0000 windows-misc-20050207 smb3.c: another fix for pattern matching. Patterns can include '<' and '>' instead of '*' and '?'. Treat any pattern with angle bracket as star patterns afslogon.c: instead of retrying the username lowercased if it is all uppercased. retry the username lowercased if it was not already lowercased. this captures the mixedcase username case. afskfw.c: If Leash is configured to not import tickets from the MSLSA, neither should we. cm_vnodeops.c: If the second to last component of a path is a symlink and the last component cannot be found, return NOSUCHPATH instead of FILE_NOT_FOUND. commit 96e09aa1099e7877dffb5134fe24edfa261032b4 Author: Guillaume Rousse Date: Mon Feb 7 15:31:31 2005 +0000 linux-libafs-fix-20050207 create osi_vfs.h in the right place commit 5d0ed437731496c6f2441fffe9994a50a3814168 Author: Chas Williams Date: Fri Feb 4 21:13:51 2005 +0000 linux26-inode-got-i-sb-list-20050204 another thing to do at inode initialization commit 053e901f6bbd3237ca58147d4986e1c528ae503d Author: Jeffrey Hutzelman Date: Fri Feb 4 21:09:58 2005 +0000 ubik-remote-ntoa-20050204 afs_inet_ntoa needs a prototype for 64 bit systems commit d5495f26ec6e02bc09ad0d6ee6a9a62f545bfd9c Author: Jeffrey Altman Date: Fri Feb 4 04:55:51 2005 +0000 windows-longfilename-matching-20050203 retry pattern matching when ambiguous matches are found for long file names commit a6f560b80575a246b4ee347622f1fd3f6fdd1420 Author: Daria Phoebe Brashear Date: Thu Feb 3 17:02:54 2005 +0000 macos-dont-inactive-vnodes-were-still-referencing-20050203 don't VOP_INACTIVE if we intend to keep using the inode, the refcount will go bogus commit 09feb1be1711dbbe053b572915df4384f488eb0e Author: Jeffrey Altman Date: Mon Jan 31 18:52:30 2005 +0000 windows-misc-20050131 afskfw.c: fix cross-realm token acquisition in ANDREW vs CS CMU case cm_aclent.c: when ACL's timeout, remove them from the associated cm_scache_t object's randomACL list and place them on the end of the ACL LRU queue correct tgtLifetime to be unsigned smb3.c: fix case sensitive matching commit 51ec9e099e22e16dbf8aee3333568b9ff26abd3f Author: Chaskiel M Grundman Date: Sat Jan 29 05:46:42 2005 +0000 linux-tasklist-lock-weak-20050129 FIXES 17424 weak binding to tasklist_lock commit f126dbdbe226bb05687f0bcbd0e379431f666219 Author: Jeffrey Hutzelman Date: Sat Jan 29 05:41:59 2005 +0000 osi-probe-syscall-20050129 FIXES 17405 add osi_probe commit 4cc0394af02a07a0000dd4ce9384398d8b03a6f4 Author: Jeffrey Altman Date: Thu Jan 27 00:09:32 2005 +0000 createx-null-ptr-20050126 Don't release null scps commit 4c27de95394d44e2066413de7eca65315b83cacb Author: Jeffrey Altman Date: Thu Jan 27 00:00:10 2005 +0000 windows-aclent-20050126 Undo the FreeACLEnt lock as it is an automatic deadlock commit ff2e55343fdf14d730825c8e09dbe42b6037abb8 Author: Chas Williams Date: Wed Jan 26 22:07:33 2005 +0000 revert-afs-indextimes-in-dcache-20050125 FIXES 17377 indexTimes needs to persist, revert for now commit 1de152256aeb1d2b54e177a327404efe2504c815 Author: Chas Williams Date: Wed Jan 26 21:09:08 2005 +0000 afs-indextimes-in-dcache-20050125 FIXES 17377 move indextimes array into dcache struct commit e41837e876f7dc947e8718b6dc972b803023eae5 Author: Jeffrey Altman Date: Wed Jan 26 15:51:46 2005 +0000 winnotes-update-20050126 add dr watson info to install notes. update changes list commit 516614090190f34cb74ec741cf06f86384bff4d1 Author: Jeffrey Altman Date: Wed Jan 26 15:49:14 2005 +0000 windows-misc-20050126 * The list of ACL entries was becoming corrupted because the function which obtained a free entry was doing so without the appropriate lock being held. * Changed the default @sys name list to "x86_win32 i386_w2k i386_nt40" for 32-bit x86 systems. The default for itanium will be "ia64_win64" and "amd64_win64" for amd 64-bit processors. commit ff3436446e1c8447d0f9703b088c6d65c6845aa0 Author: Jeffrey Altman Date: Tue Jan 25 23:24:43 2005 +0000 windows-misc-20050125 The list of ACL entries was being corrupted because the function which obtains a free ACL entry was doing so without the appropriate lock being held. Returning Not A Directory is not the right thing to do when we are attempting to resolve a path if the error is found on one of the intermediary path components. Instead return No Such Path or No Such File as appropriate. commit e86eb73e30fe492c8be99a0a7a4788ec1b136ead Author: Jim Rees Date: Tue Jan 25 23:00:35 2005 +0000 obsd-vattrs-20040125 compare vattrs against VNOVAL, not -1 fixes mode setting now that modes are 32 bits commit 9b7e78b048869e0319a369912d9fef63288dca7f Author: Chas Williams Date: Tue Jan 25 20:19:17 2005 +0000 unpin-out-of-order-oops-20050125 FIXES 17346 unpin before freeing commit 8a68d38977d4311a62350dd60645e39ded4650f1 Author: Jeffrey Altman Date: Tue Jan 25 18:46:33 2005 +0000 rxdebug-withWaited-20050125 copy/paste error corrected. 'withWaited' never assigned a value commit 96cf60ef3e830d16325fba664044f751ca164f85 Author: Daria Phoebe Brashear Date: Tue Jan 25 06:54:31 2005 +0000 linux-mmap-ro-means-no-write-20050125 don't allow a write map of a file which cannot be written to commit 187f26a3afe805180268322d93dd7e01974c5fb1 Author: Nathan Neulinger Date: Fri Jan 21 22:02:02 2005 +0000 no-copy-libafs-builds-20050121 make things so file copies from src/libafs don't happen; change how libafs_tree is done commit 72ea4e2c690d28b6c5c464368099b49dac847642 Author: Chas Williams Date: Fri Jan 21 19:13:33 2005 +0000 linux-revised-dentry-invalidation-20050121 FIXES 17337 "the latest 2.6 version of "tryflushdcachechildren" is probably good enough for 2.2/2.4 as well. further, we can just call d_invalidate() to make things less complicated. unification is good. its seen limited testing here under 2.4/2.6." commit 01aca8ca222373d71941cd007bdc00260bd3ff5c Author: Nickolai Zeldovich Date: Fri Jan 21 18:27:37 2005 +0000 rx-hash-table-mod-prime-20050121 see https://lists.openafs.org/pipermail/openafs-devel/2004-September/010967.htmland https://lists.openafs.org/pipermail/openafs-devel/2004-September/010968.html commit 110b1f14bd5b5548211ece9a32c540490e0aef6a Author: Douglas Engert Date: Fri Jan 21 17:44:36 2005 +0000 rx-packetreadwrite-adjust-offset-20050119 offset - l must be zero in the second loop pass to avoid overwrites commit 90115511209e59ff4728a66a575899312fdf3e5b Author: Daria Phoebe Brashear Date: Fri Jan 21 14:33:40 2005 +0000 readd-qwaiting-20050121 FIXES 5616 the problem was caused by optimization on solaris. sigh. commit 76d6e43eb8e1ec72fcfde7cf8f303f954c11da14 Author: Daria Phoebe Brashear Date: Fri Jan 21 14:31:38 2005 +0000 linux-no-log-in-tryflushdcachechildren-20050121 FIXES 5835 just don't log, and lock order doesn't matter commit a0ce71a84374cc0600813a3101b76f89df04ee76 Author: Jim Rees Date: Thu Jan 20 18:00:28 2005 +0000 alloc-confusion-20040120 use osi_Alloc instead of osi_AllocLargeSpace for tokens, to match free commit 7f430a45aa12108ed1dc93e4a41ac154b1397818 Author: Jim Rees Date: Thu Jan 20 17:59:02 2005 +0000 obsd-cred-ptr-20040120 **credpp, not *credp (OpenBSD only) commit dacae61bda0105497e912b3cdac429066cd68fcf Author: Jim Rees Date: Thu Jan 20 17:33:38 2005 +0000 re-indent-20040120 re-indent so I can read the file so I can fix a bug commit 73437ee7d469765df30285369301e3907fee0a3c Author: Chas Williams Date: Wed Jan 19 22:46:06 2005 +0000 linux26-vcache-reclaim-cleanup-20050119 "ok, if you ever drop dcache_lock you need to go to restart (i think that's pretty clear). shrink_dcache_parent() _might_ reduce a dentry count to 0. in the previous version, it seemed to make the assumption that this would always happen. if shrink_dcache_parent() is unsuccessful and the dentry is a directory, we cant restart. we would just find the the dentry again and do the same thing over (we could always d_drop but you shouldnt do this to active directories -- see d_invalidate). if we find a busy dentry, we abort all processing for this inode. going back to restart would find the same busy inode. (i suppose we could use a d_flag to keep track of which dentry has been shrunk. this has other trouble, like who resets the flag and when?) since we only do this for directories and d_alias typically only grows due to soft/hard links (as far as i can tell) this scheme seems reasonable." commit 8ccd2d91d89fc3ed0170a458853ec95ff274c87d Author: Chaskiel M Grundman Date: Wed Jan 19 22:35:40 2005 +0000 dirbuffer-fid-is-index-20050119 "The new buffer code (which I wrote) did not deal with dcache object re-use, as I had conflated the concepts of "dcache * reuse" and "dcache slot reuse". This patch should fix this problem. It now stores the dcache index (aka slot number, which is the same as the numeric part of the cache file's filename) in the buffer instead of the ephemeral struct dcache pointer." commit f42701022203605f8509b106fe8ca1677666aaa9 Author: Jeffrey Altman Date: Wed Jan 19 05:14:11 2005 +0000 rx-multiple-packets-20050118 Doug Engert reports that large tokens are corrupted when being sent using RX. This patch fixes two bugs which prevent the transmission and receipt of multiple packet exchanges. commit 5f498279b827675a48c80b7c2f43c78d8e41d406 Author: Jim Rees Date: Tue Jan 18 16:15:36 2005 +0000 obsd-cleanups-20040118 remove dead code add (commented out, non-working) new reclaim code commit eabe2b6f77da6913b4a6bd51220708c363762fe6 Author: Jeffrey Altman Date: Tue Jan 18 07:36:25 2005 +0000 windows-smb_vc_t-refcounts-20050117 Rework the reference counting of the smb_vc_t objects to use smb_ReleaseVC and smb_HoldVC. Add missing counts for references from waiting locks. Fix cm_ioctl.c to allow it to compile once again. commit cadc5b46e103fd543814d450dd9a568961c9886a Author: Chas Williams Date: Sun Jan 16 16:49:06 2005 +0000 linux26-rename-more-cleanup-20050116 FIXES 17284 cleanup how renaming does moving and unhashing of dentries commit 646028dbdb90640f14f7a22aede858432ffa9025 Author: Chaskiel M Grundman Date: Sun Jan 16 16:43:34 2005 +0000 linux26-dcache-lock-20050116 FIXES 17266 "The changes I submitted previously, and committed as linux-26-vlru-cycle-20041012 do not satisfy necessary invariants of the dcache api. 1) the dcache_lock is not held when calling d_unhashed and list_empty(&dentry->d_subdirs) 2) the caller of d_prune_aliases does not hold it's own ref on the inode Patch attached.(has been used lightly for a month or so)" commit 091d64876bea6737dd6cf89a9232dd11d0072677 Author: Chaskiel M Grundman Date: Sun Jan 16 16:41:33 2005 +0000 linux26-zomb-gcpags-cleanup-20050116 FIXES 17265 clean up for newer non-TASK_ZOMBIE kernels commit 8db7eb1876380df8100c5df37e6a25a7ebc4f43b Author: Chas Williams Date: Sun Jan 16 16:36:53 2005 +0000 linux25-rename-rehash-not-move-20050116 not tested yet commit 9e81a8e4c2e7830ab18de1f5dd23dfc916ef2bf0 Author: Matthew Miller Date: Fri Jan 14 17:36:39 2005 +0000 linux26-rlim-20050114 detect rlim stuff for linux 2.6 commit 270f675b6f64df5cca73de2ae097a12fd56c59b9 Author: Chas Williams Date: Fri Jan 14 17:31:31 2005 +0000 fstrace-linux-proc-20050113 FIXES 17240 support /proc interface commit d9e55baca180891ef999919118a5ad2d73764abb Author: Daria Phoebe Brashear Date: Fri Jan 14 03:03:27 2005 +0000 fs-busy-stats-20050113 add support for counting number of vbusies returned commit 0cea4432fcceff07103cb4df0eba9b5667ce1fa4 Author: Johan Danielsson Date: Fri Jan 14 01:34:54 2005 +0000 linux26-pag-copy-groups-always-20050113 FIXES 17226 always copy the group list on linux 2.6 commit 7854052b3827a3853cb80a6f7de5dcc32756aa95 Author: Chas Williams Date: Fri Jan 14 01:27:26 2005 +0000 x86-sol10-param-cleanup-20050113 FIXES 17082 make user section match kernel section commit 2519680a2c93f4a3049e64bd22760510775e3343 Author: Chas Williams Date: Fri Jan 14 01:11:48 2005 +0000 sol10-afsd-rc-20050113 FIXES 17036 install an rc file for solaris 10 commit ed02afba553ca9944c5e3c338188ba38b5946a0c Author: Love Hörnquist-Åstrand Date: Fri Jan 14 01:07:45 2005 +0000 nbsd30-20050113 FIXES 16889 netbsd 3 this time for sure commit 0a872abd75fa27bb91aa2724c54fc72fce03f241 Author: Daria Phoebe Brashear Date: Fri Jan 14 01:04:13 2005 +0000 largefile-efbig-20050113 FIXES 16964 return EFBIG instead of E2BIG commit a18937e6a4e5f8a3266e6208bf51fea9bb636c48 Author: Douglas Engert Date: Fri Jan 14 00:57:32 2005 +0000 sol9-vfsck-interleave-becomes-si-20050113 FIXES 16941 fix remaining fs_interleave ref commit e4961402747d02f51b0ea82aad7f0d4f774dbeac Author: Rainer Toebbicke Date: Thu Jan 13 23:55:27 2005 +0000 lih-host-hold-20050113 FIXES 17211 "lih_r now leaves the current lih_host held, and h_Releases those for which it changed mind during h_Enumerate. It also closes the window that ClearHostCallbacks_r opens. The problem was: due to the leak on the h_Hold table, rx connections and host and client structures stopped being garbage collected once the fileserver went through GetSomeSpace_r. Only relevant for "busy" servers, many would never even invoke this routine." commit 543d4464d8afe11e74b239abb5da20b0269259b3 Author: Chas Williams Date: Thu Jan 13 23:50:15 2005 +0000 linux26-avoid-memory-zone-fun-20050113 FIXES 16965 " the wake_up_bit() mechanism has replaced 'per object' wait queues (atleast when testing for single bit changes). the actual wait queue to use is determined using a hash on page->flags (which encodes the zone table in the lower 8 bits). afs inodes come from a vmalloc() since afs gets all the inodes in one go. vmalloc()'d memory apparently doesnt get mapped to any particular zone. so when an afs inode uses wake_up_bit() they index off the end of the zone_page table. " commit 1307b891888c61debe2eadd47ddfe8717fc75ddd Author: Daria Phoebe Brashear Date: Thu Jan 13 23:37:21 2005 +0000 memcache-no-volitems-20050113 Don't try to open VolumeItems when using memcache commit b11e76ce63b6c23265d17d5597342e4aa296f6c0 Author: Jeffrey Altman Date: Thu Jan 13 04:47:37 2005 +0000 windows-fs-wscell-20050112 when freelance mode is in use, "fs wscell" will now return "Freelance.Local.Root" commit 5a3eddc8ba75832c55e322c7189ff5f20df834fe Author: Jeffrey Altman Date: Thu Jan 13 04:46:18 2005 +0000 windows-pioctl-20050112 Fix a bug introduced in 1.3.75 within Tranceive(). If the file handle is invalid, be sure to return an error. commit 4c861ab65683add205d062790036b27123d0fe6b Author: Jeffrey Altman Date: Wed Jan 12 21:34:36 2005 +0000 windows-misc-20050112 New AFS Logo Icon Fix the assignment of the dataVersion for the freelance scache entries Fix the calling convention of the AFSD Service Main function to be WINAPI. commit 1a8519de16a2dad989300da94d597fac57c20c0f Author: Daria Phoebe Brashear Date: Fri Jan 7 23:08:27 2005 +0000 rx-avoid-xmit-overflow-panic-20050107 instead of losing, just send the packets and then make another pass to collect more commit d3fc023d07f923eb53c28d2bc480745ae9227593 Author: Jeffrey Altman Date: Wed Jan 5 04:23:58 2005 +0000 windows-notes-20050104 updates commit 1a3e8d9e1641a301a87dd0a0f5b2ca5ef2528e58 Author: Jeffrey Altman Date: Wed Jan 5 04:18:34 2005 +0000 windows-remove-extra-parameter-20050104 aklog.c - remove extra parameter from pr_Initialize() commit ca1c67688bf92903c9803976e918266753ef0aae Author: Jeffrey Altman Date: Wed Jan 5 04:17:16 2005 +0000 windows-cb-deadlock-20050104 afskfw.c - remove extra parameter to pr_Initialize afsd_service.c - move SERVICE_STOP_PENDING to before we start to do any work. afsd_init.c - initialize rx and rpc after starting the cache manager cm_callback.c - release cm_callbackLock before attempting to re-obtain scp->mx lock in cm_EndCallbackGrantingCall() commit 5bbfc9302503af54ecfd78450abc0b1edf88a860 Author: Jeffrey Altman Date: Mon Jan 3 01:29:29 2005 +0000 windows-misc-fix-20050102 fix typo commit 48ba9a0cd5869264790e3d0d539dd7798813009c Author: Jeffrey Altman Date: Mon Jan 3 01:13:44 2005 +0000 ptuser_h-20050102 add ptuser.h to provide prototypes for ptuser.c ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add ptuser.h commit c27d32d2efbd7d8b085083c0f3c349ca99ffd74c Author: Jeffrey Altman Date: Mon Jan 3 01:11:21 2005 +0000 new-afs-logo-icon-20050102 Use a new icon file based upon the new OpenAFS logo for afs_config.exe and the afs control panel. commit 635abf2d8fb4cfb94ecb396f125e8b65af1d7813 Author: Jeffrey Altman Date: Mon Jan 3 01:07:56 2005 +0000 windows-misc-20050102 * The AFS Service needs to respond to SERVICE_ACCEPT_SHUTDOWN messages in addition to SERVICE_ACCEPT_STOP. * Move RPC shutdown until after the SMB and RX shutdown procedures complete. Block until RPC shutdown is complete. * Modify afslogon.dll (integrated logon) to wait for service if its state is START_PENDING. If the timeout period occurs, reset to the retry interval and not the sleep interval. * When renewing the server list for a cell obtained via DNS AFSDB records, the cm_cell_t entry must be removed from the list of all cells. Otherwise, the list of cells will be corrupted. * In the dcache and scache modules, use the cm_scache_t dataVersion instead of the cm_fakeDirVersion. * Synchronize fs.c with the unix version. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Include ptuser.h for prototypes. ==================== link to afsutil.lib for hostutil functions commit d3d4af7795dd7371750bfdb9612b6419561cf32b Author: Jeffrey Altman Date: Fri Dec 24 17:21:06 2004 +0000 windows-virtual-memory-20041224 * The variable used to determine whether a file or virtual memory mapped cache is used was not properly initialized to a default value. If the registry setting "NonPersistentCaching" was not set, the choice would be random. Properly initialized to be "file". * The memory mapped view was never unmapped before closing the file at service shutdown. This is now properly cleaned up. * Default location of Cache file is now %TEMP%\AFSCache commit a66c63315b2cb83cc356068972ba4ffbbcb609f1 Author: Daria Phoebe Brashear Date: Fri Dec 24 06:31:35 2004 +0000 dux-vnops-cleanup-20041224 move DUX code out of vnops and into dux os dependant code commit a69e758875b420de6d5ae8ac9c303da5b708d63b Author: Jeffrey Altman Date: Thu Dec 16 20:11:08 2004 +0000 windows-notes-20041216 document bug found in 1.3.75/76 release commit f26bd30c980288132f800ebbc1bfc1a2b281c2b2 Author: Jeffrey Altman Date: Thu Dec 16 19:02:05 2004 +0000 windows-freelance-default-root-cell-20041217 Forgot to add trailing dot on auto-generated default root.cell mountpoints. commit b6ef8c484f47e100298e5187abf117e7cc88e242 Author: Jeffrey Altman Date: Mon Dec 13 23:48:21 2004 +0000 windows-smb-auth-debug-20041213 Add more OutputDebugF() calls to the smb auth routines to assist in debugging commit 570b2df988688c309d4e58a663f06093ec504e84 Author: Mike Becher Date: Fri Dec 17 15:33:43 2004 +0000 linux-rxk-header-update-20041217 update header to not defien _LINUX_CODA_FS_I if it is commit f639e4b41ef12bb78feb27495952f065b917fc73 Author: Mike Becher Date: Fri Dec 17 15:30:55 2004 +0000 kdump-update-20041217 update kdump for ia64_linux26 commit f4f365c7c9c604ef52f0c6d28d61b7f297167706 Author: Mike Becher Date: Fri Dec 17 15:28:19 2004 +0000 ia64-linux26-20041217 add ia64 linux26 support commit 1c8ad1139cce630f77854a3d9f2e7bf4cabd8889 Author: Mike Becher Date: Fri Dec 17 15:13:19 2004 +0000 linux-rc-update-20041217 update rc scripts for 2.6 commit 937ba22002f3bb3dddf45c4906349a48c7601cb7 Author: Christof Hanke Date: Fri Dec 17 14:41:36 2004 +0000 linux26-generic-sendfile-20041217 FIXES 16842 enable loop mounting to work. commit ae3cbf270fc84bd315981b5abb6a19699c635223 Author: Travis Broughton Date: Fri Dec 17 13:45:56 2004 +0000 dumptool-update-20041217 FIXES 16751 large file support for dumptool commit 2d52203a51c96adde5bbeb9fa79720f01c538f63 Author: Jeffrey Altman Date: Thu Dec 16 20:06:47 2004 +0000 windows-version-update-20041216 1.3.7700 commit 0d4b452e25bd8b1672fc46aa13afbe640b3ce58b Author: Jeffrey Altman Date: Mon Dec 13 23:43:17 2004 +0000 windows-afs-all-20041213 In addition to establishing a connection with \\AFS; use \\AFS\all to ensure that we can access ioctl calls even if other methods fail. commit 29e4920cd86d7186fc96c442666b698b60499874 Author: Jeffrey Altman Date: Mon Dec 13 14:04:25 2004 +0000 windows-version-number-20041213 1.3.7600 commit d9c409437d443a95ddefede0db91f7639de5e183 Author: Jeffrey Altman Date: Mon Dec 13 14:03:55 2004 +0000 windows-smb-and-symlinks-20041213 Fix bug in automatic symlink generation for freelance root.afs. do not create symlinks if cell resolution fails Update SMB files to use preprocessor symbols for InfoLevel constants. commit 3400f8d4da4c0f08bc226730f4d00b252fbad52e Author: Jeffrey Altman Date: Mon Dec 13 14:02:32 2004 +0000 windows-notes-20041213 update notes for 1.3.7600 commit 19ff527496735814a68af3c406be91c28f49f4f6 Author: Jeffrey Hutzelman Date: Sat Dec 11 11:02:00 2004 +0000 implement-vpeek-for-listvol-20041211 FIXES 16765 All of AFSVolListOneVolume, AFSVolXListOneVolume, AFSVolListVolumes, AFSVolXListVolumes currrently attach each volume to be listed with V_READONLY. This makes the fileserver update and sync the volume header before releasing the volume to the volserver. The result is that volume list operations are slow, and generate lots of fileserver load, as Jimmy pointed out during his talk this afternoon. The attached patch introduces a new attach mode, V_PEEK, which is like a cross between V_READONLY and V_SECRETLY. It can be used for read-only operations on the volume header, where it is not necessary to inform the fileserver that the volume is being accessed. The patch also changes the above-named RPC's to use the new mode. commit 6cd93d304142724c7c0fd37272e84f1a7eacb951 Author: Jeffrey Hutzelman Date: Sat Dec 11 10:52:16 2004 +0000 fix-linux-kvers-setting-20041211 FIXES 16763 set SYS_KVERS reasonably on linux always commit efb0f66b66821d5155d7c1b0232427c4b5af2c73 Author: Daria Phoebe Brashear Date: Fri Dec 10 21:57:06 2004 +0000 revert-mwaitprocs-20041210 FIXES 5616 revert this for now commit 80016e804616f7d233831716b1127e3a48c51038 Author: Jeffrey Altman Date: Fri Dec 10 10:47:17 2004 +0000 ubik-calliter-update-20041210 if we're going to prototype it we need to match this commit 8c912bedbcb532d6aa40134a54679539ae8b7245 Author: Daria Phoebe Brashear Date: Fri Dec 10 10:03:54 2004 +0000 sys-depinstall-20041210 add depinstall in sys directory commit e9c5e2af894e3556c1758e3bf60ba2f140bb6654 Author: Jeffrey Altman Date: Thu Dec 9 23:14:01 2004 +0000 windows-multihomed-20041209 FIXES 16564 Add support for VL_GetEntryByNameU and VL_GetAddrs for the purpose of working with multi-homed servers commit 8f660ba178b0a05bea16331c4335ca9f377a9006 Author: Kris Van Hees Date: Thu Dec 9 16:16:55 2004 +0000 linux-page-follow-link-light-20041209 FIXES 16742 new 2.6 uses page_follow_link_light detect and use commit f8432c77965a79047429b18ae0ee214a45e4c9a4 Author: Chas Williams Date: Thu Dec 9 16:14:21 2004 +0000 linux-remove-negative-dentry-20041209 FIXES 16735 during unlink, afs sometimes renames the file instead of deleting it. this isnt reflected properly in the dcache in linux. the following patch attempts to address this issue. newname is renamed to afs_newname and exported. afs_linux_unlink() checks to see if the file is open. if so, it creates a negative dcache entry using the name suggested by afs_newname(). then dmove() moves (exchanges) dp and __dp. __dp is now a negative dentry for the old name and is put/dropped. commit e400114f4486cc7be18de13a3a68a38b446620d3 Author: Daria Phoebe Brashear Date: Wed Dec 8 22:55:28 2004 +0000 only-libafs-update-20041208 only_libafs needs sys on irix commit 867c3010731daa89f58e54c2c620215de0a94c1f Author: Jim Rees Date: Wed Dec 8 18:33:48 2004 +0000 ubik-iter-proto-20041208 prototype, casts, and proper arg count for ubik_CallIter thanks to Christof Hanke for some of this commit 038116a881c1773cda50eca783f5308a52121681 Author: Chaskiel M Grundman Date: Wed Dec 8 17:21:04 2004 +0000 linux26-dont-fix-inode-size-ourselves-20041208 hopefully fix cache truncation commit 727a2a01ccc8fd4645deafba590f583e4a19b288 Author: Matt Benjamin Date: Wed Dec 8 10:39:58 2004 +0000 STABLE12-umlinux26-20041202 FIXES 16591 umlinux 26 support. i wonder what i just reverted commit 655de549a4115c4ebdb18417aeeba4280ad54162 Author: Daria Phoebe Brashear Date: Wed Dec 8 10:35:02 2004 +0000 update-irix-bhvl-20041208 define BHV_IS_BHVL(x) to 0 for non-CELL cases where BHV_PREPARE is defined. 6.5.20f is "broken" commit e8e9a297bc92f40ff03a468b64e8f0b5c930fa6c Author: Jeffrey Altman Date: Wed Dec 8 10:19:57 2004 +0000 wix-update-20041208 Add new Property for StoreAnsiFilenames ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Add property for StoreAnsiFilenames commit 8a9f304b868bd74a30c1059253acd2094673ad8b Author: Jeffrey Altman Date: Wed Dec 8 09:12:52 2004 +0000 windows-version-20041208 1.3.7500 commit 3b361484428cd276627c92add48747c57f3db360 Author: Robert S Murawski IV Date: Wed Dec 8 09:09:34 2004 +0000 nsis-installer-20041208 Preserve previous install settings when upgrading commit f41121f32825cf31de238af871605d523727b9cf Author: Daria Phoebe Brashear Date: Tue Dec 7 22:26:46 2004 +0000 x86-solaris-20041207 fix my mistake commit d271c1c295d138fa5da622a4dd9136d535f4e42d Author: Douglas Engert Date: Tue Dec 7 18:30:11 2004 +0000 sparc32-no-largefile-20041207 FIXES 16719 disable largefile on 32bit sparcs see the bug for better commentary commit 54643e26780bed06f1194602426f16dffcf9077d Author: Daria Phoebe Brashear Date: Tue Dec 7 18:24:44 2004 +0000 afsd-chunksize-error-20041207 FIXES 16723 based on work from mmokrejs@ribosome.natur.cuni.cz commit beff42414aeb908b141f116d2b47b2a5baee28ad Author: Harald Barth Date: Tue Dec 7 16:48:57 2004 +0000 aix-5-update-20041207 updates for aix 5 commit d6c8b023bb580ccb48198fb4ee070b9e1f950f51 Author: Harald Barth Date: Tue Dec 7 16:36:43 2004 +0000 volname-cleanup-20041207 cleanup how volname or id number is parsed commit 4d550ad6b6ec430e3d2564f37ed4b471f8928a38 Author: Matt Benjamin Date: Tue Dec 7 15:59:12 2004 +0000 umlinux26-20041207 FIXES 16591 umlinux 26 support. i wonder what i just reverted commit 1183771a422a00fcc95d47d06b71479fcc99f4b7 Author: Joakim Fallsjö Date: Tue Dec 7 14:23:36 2004 +0000 sunx86-20041207 update to provide sun x86 support commit 882a97985726eadbf1be7e936e08be8ce2712cce Author: Jeffrey Altman Date: Tue Dec 7 12:41:15 2004 +0000 winnotes-20041207 update text files for StoreAnsiFilenames. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Allow users to choose to store file names in AFS using ANSI code pages instead of OEM code pages. commit 00d1015b18d00e683e21a069baafe76761ebb81b Author: Matt Benjamin Date: Tue Dec 7 05:45:26 2004 +0000 umlinux26-20041202 FIXES 16591 umlinux 26 support. i wonder what i just reverted setting mps correctly. fixed now ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 16591 umlinux 26 support. i wonder what i just reverted commit a3b31a12531558717d46b501222040c1bf4c1402 Author: Jeffrey Hutzelman Date: Tue Dec 7 05:07:06 2004 +0000 rxdebug-more-dewarn-20041207 FIXES 16660 more dewarning commit 60a97cdc87340de738835d8548b8e76f45ad731e Author: Daria Phoebe Brashear Date: Mon Dec 6 16:43:20 2004 +0000 lwp-elf-labels-on-solaris9-need-underscore-20041206 solaris 9 x86 wants _ in labels. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== solaris 9 x86 wants _ in labels. nope, i lied commit d39b99f3da856672edd61adb82532039631b7cb4 Author: Jim Rees Date: Mon Dec 6 14:17:47 2004 +0000 no-oscheck-20041206 remove ostype and osrelease check; more trouble than they're worth commit cca8097cb99349bd57aca44113cc0c3cebb537ca Author: Jeffrey Altman Date: Mon Dec 6 12:00:24 2004 +0000 windows-smb-20041206 Fixup references to SMB Dfs functions. Now need to fill in the details commit fe97ddf25b550365fd54a3300fa7388cf71d8631 Author: Jeffrey Altman Date: Sun Dec 5 21:20:00 2004 +0000 windows-shutdown-20041205 Synchronize the shutdown of all smb_Server threads by waiting on a shutdown event before continuing Do not lock a buffer object if the attempt to obtain the buffer failed. commit d2d84479cfc9288cfa2c6d7c012ad0418229d225 Author: Jeffrey Altman Date: Sat Dec 4 21:30:25 2004 +0000 windows-pioctl-20041204 Be more agressive about trying to establish a connection to the SMB server if it fails. This requires adding a new dll: secur32.dll commit eb164be09070dbf3aeabaa04afef5d16cdbfaa7a Author: Jeffrey Altman Date: Sat Dec 4 21:29:35 2004 +0000 windows-version-20041204 1.3.7402 commit 38ed975350a879cd2a8d45c3e71aa2ed49e8b664 Author: Jeffrey Altman Date: Sat Dec 4 21:29:10 2004 +0000 windows-freelance-20041204 perform a bit more error checking and logging when loading mountpoints and symlinks from the registry commit 86420864cddb9148b89eafc9926b92910e576697 Author: Jeffrey Altman Date: Sat Dec 4 21:28:21 2004 +0000 winnotes-20041204 make note that the contents of this file are no longer up to date commit a8d0ca81a8d79b65e265ebf67ae6b9ddc868cac6 Author: Jeffrey Altman Date: Fri Dec 3 01:26:14 2004 +0000 windows-afsd-init-20041202 Fix a memory overwrite condition caused when the BackConnectionHostNames key does not exist commit 40d674c9bcefc9b701a2e39edbf3f7e54c8fbcc0 Author: Matt Benjamin Date: Thu Dec 2 05:59:55 2004 +0000 rxdebug-use-afs-ntoa-r-20041202 FIXES 16050 use afs_inet_ntoa_r in rxdebug for consistency commit bdd73ef446e4fb1788f414549f39a63ac2419470 Author: Horst Birthelmer Date: Wed Dec 1 23:48:14 2004 +0000 afs-server-multi-rx-clesnup-20041202 clean up multirx code 's use of lock commit 75e31ca662dc32581bde67ef5102ec15bac1be60 Author: Jeffrey Hutzelman Date: Wed Dec 1 23:38:53 2004 +0000 amd64-linux-dewarn-20041202 FIXES 16342 clean up warnings for amd64 commit ffce916e8e37662bb032287a06ee85c28c5e2b3a Author: Jeffrey Hutzelman Date: Wed Dec 1 23:36:48 2004 +0000 rx-dewarnify-20041202 FIXES 16277 dewarnify rx commit a8cb095e85fba7ecdeb7bdb7848cfb2f498d5cc8 Author: Jeffrey Hutzelman Date: Wed Dec 1 23:31:54 2004 +0000 osi-gettime-20041202 FIXES 16346 osi_GetTime needs to bdeal with 64 bit time on platforms that have it commit db3a694498e6fc000933e2a8fd30e8812dd75a65 Author: Matt Benjamin Date: Wed Dec 1 23:21:18 2004 +0000 umlinux26-20041202 FIXES 16591 umlinux 26 support. i wonder what i just reverted ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 16591 umlinux 26 support. i wonder what i just reverted setting mps correctly. fixed now commit 70df053245459ebb9b3874719fbc5229b94c114c Author: Douglas Engert Date: Wed Dec 1 23:07:21 2004 +0000 ubik-calliter-pass-all-args-20041202 FIXES 16556 pass in all args to ubik_CallIter instead of doing (pseudo) varargs commit 93bc285e69f1588b04224e65424bfb7e67b14f6d Author: Jeffrey Hutzelman Date: Wed Dec 1 22:53:30 2004 +0000 vol-bless-20041202 FIXES 15928 add volume blesser commit f32f9810b188878e1e79b004873f91c1c538d40e Author: Jeffrey Hutzelman Date: Wed Dec 1 22:46:22 2004 +0000 linux26-set-mps-correctly-200412102 FIXES 15645 set MPS correctly when compiling on 2.6 commit d8e6630fffbbc6635c49c8c6d45a4550144e7f94 Author: Chaskiel M Grundman Date: Wed Dec 1 22:40:47 2004 +0000 libafsrpc-assertion-failed-20041202 FIXES 16432 need AssertionFailed in libafsrpc. ndon't need casestrcpy in libafsauthent VS: ---------------------------------------------------------------------- ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 16432 need AssertionFailed in libafsrpc. ndon't need casestrcpy in libafsauthent commit b208926c260105159bdf03bf219966a341e76197 Author: Jeffrey Altman Date: Tue Nov 30 16:53:59 2004 +0000 windows-pioctl-debug-20041130 Output the error number and not just the text string when reporting failures from CreateFile. commit 53f0da3fb019cbc44bc012fbf0af0c85e7341381 Author: Jeffrey Altman Date: Tue Nov 30 07:40:11 2004 +0000 windows-notes-upd-20041130 update docs commit 9ba17afadb859bf9e3ef912aa1a4c120b7998eb5 Author: Jeffrey Altman Date: Tue Nov 30 07:31:07 2004 +0000 windows-auto-disable-sig-verify-20041130 If the desired cache size is greater then 700MB auto disable the signature verification check in order to prevent fragmentation of memory. commit f8ce184140b2f54bd2d82d4f62b47b5387225419 Author: Jeffrey Altman Date: Tue Nov 30 07:21:35 2004 +0000 windows-maxmem-20041130 There is currently a maximum cache size of 1.3GB. The limit is imposed by the largest contiguous block of unused memory within the 2GB process space which can be assigned to the memory mapped file. Unfortunately, when the executable digital signature verification code is activated Windows sees fit to further segment the process memory which in turn reduces the size of the maximum cache file to less then 800MB. If larger cache sizes are desired, a new registry value should be set: HKLM\SOFTWARE\OpenAFS\Client (DWORD) "VerifyServiceSignature" = 0x0 Setting this value will disable the runtime verification of digital signatures on afsd_service.exe and the afs dlls which it loads. It will not disable the the version number check on those same files. The signature verification is not a security messure and is only meant to enhance the ability to afsd_service.exe to detect potential destablizing mixtures of DLLs from incompatible distributions. commit 852a0518624c13e45a4d0f2561b171687e07b9cc Author: Jeffrey Altman Date: Mon Nov 29 21:05:26 2004 +0000 windows-digital-sigs-and-more-20041130 Switch the Trust Provider used to verify the validity of executables and libraries to the Software Publisher Trust Provider. Add code (with Asanka's help) to extract the certificate details and log them to afsd_init.log. Ensure that if files are signed that all of the files are signed by the same entity. Add a number of missing prototypes Correct conversions from time_t to long or short. commit 0f1892f09b123d8251c99e81106aae49b42d477e Author: Asanka Herath Date: Mon Nov 29 09:23:46 2004 +0000 windows-clean-20041129 Cleanup clean targets to not break with cmd shell commit 1a050671c9af89857a31cd41e13c64e95ae7a8e3 Author: Jeffrey Altman Date: Mon Nov 29 08:12:11 2004 +0000 windows-dyn-symlinks-20041129 in the freelance root.afs volume, instead of creating a mountpoint when a name is evaluated and it is a partial representation of a cellname, create a symlink. commit a3c06afa0b7a9a94248af080bc5208291c08e08f Author: Jeffrey Altman Date: Mon Nov 29 07:56:35 2004 +0000 winverifytrust-20041129 Add support for WinVerifyTrust(). If afsd_service.exe is a digitally signed executable, make sure that all of the associated binaries not only have the same file version number but are signed as well. commit a688328e8524f7232bfc294ea02b4d87d7172656 Author: Jeffrey Altman Date: Sun Nov 28 02:07:45 2004 +0000 windows-freelance-init-20041127 replace the registry population scheme with cm_freelanceAddMount based on the CellRootName commit 3c487ecb59c0bace3a417245f639f7e3388ae5dc Author: Jeffrey Altman Date: Fri Nov 26 17:09:51 2004 +0000 windows-robust-freelance-20041126 Implement new functions: cm_freelanceMountPointExists and cm_freelanceSymlinkExists. Use them along with other validity checks in cm_freelanceAddMount and cm_freelanceAddSymlink to ensure that name collisions do not occur and that empty strings are not valid file names. A symlink may not have a name which would resolve to a valid cell name. Doing so would prevent access to the cell. commit 976465c87e027a3721a464324cf1d83c522dd996 Author: Jeffrey Altman Date: Fri Nov 26 08:32:16 2004 +0000 windows-scache-locks-20041126 replace all direct manipulations of the cm_scache_t refCount field with calls to cm_{Hold,Release}SCache[NoLock](). add missing call to cm_HoldScacheNoLock in freelance Mount Point re-initialization code. experiment a bit more with "special folders". ensure that checks for "desktop.ini" are case insensitive. commit 081993a6274866507bfa3969a7b692a24e6491e1 Author: Dave Tanner Date: Thu Nov 25 01:25:30 2004 +0000 windows-ini-file-mapping-20041124 Install registry values to force a mapping from afsdsbmt.ini file updates via the old profile API to the new HKLM\Software\OpenAFS\Client\Submounts key. commit 2a7cf0d2ae5094dcf2b09e5794c86fe4326b9c4f Author: Love Hörnquist-Åstrand Date: Wed Nov 24 18:57:58 2004 +0000 netbsd21-20041124 netbsd 2.99.x (aka 3.0) support (aka 2.1?) commit 487bf88c403cbe0ae93b92556623913962b4b871 Author: Jeffrey Altman Date: Wed Nov 24 18:42:31 2004 +0000 windows-updates-20041124 update docs ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== conditionalize the cleanup of language files on their existence ==================== reformat parts of afsd_init.c add support for version number checking to afsd_service.exe ==================== Fix the afs_config.exe submount dialog operations: Edit Submount name and Remove submount entry. ==================== Fix the version info data stored in the resource block to use the same language identifier as is advertised. commit 50ca88be2a8dcce74ba9386d0161c39e46e1d57c Author: Jeffrey Altman Date: Tue Nov 23 04:19:42 2004 +0000 freelance-import-20041122 Fix the afs_freelance.ini import code. Check both the Client install directory and the %WINDIR% directory for afs_freelance.ini commit 06edeed70c9b3c7a2b8909c2069e720c97478799 Author: Jeffrey Altman Date: Tue Nov 23 03:49:05 2004 +0000 windows-misc-20041122 the VC++ 2003 Toolkit is missing some important libraries. remove it from the README-NT file ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== update docs ==================== simplify the freelance import from afs_freelance.ini code. don't generate an new file if the old one does not exist. begin conversion from old string functions to new strsafe functions. this will need to be done for all of the afsd_service.exe source modules before we can regularly use VS .NET 2005 Add support for VL_GetEntryByNameN. Still need to figure out what needs to be done for VL_GetEntryByNameU. (multi-homed support) ==================== fix a deadlock situation if an Obtain Tokens dialog is produced by an expiration event and the user chooses to cancel instead of obtain new credentials. commit cef225f20e88cffaaa4a4a7dfc74d39137bc4e64 Author: Ken Hornstein Date: Fri Nov 19 20:01:29 2004 +0000 aklog-intergration-20041119 Import the aklog source from the MIT AFS-Kerberos 5 migration kit. commit 32c55d118baa6315402d896d6b874705fe1189a5 Author: Daria Phoebe Brashear Date: Thu Nov 11 07:12:42 2004 +0000 kdump-in-kernel-20041111 first step at integrating kdump functionality into the kernel; all the rx stats. commit 9b579bf0f77b6832897c5b50fa6a5f6b40940717 Author: Daria Phoebe Brashear Date: Thu Nov 11 04:34:40 2004 +0000 proc-cellservdb-20041110 put a cellservdb in /proc/fs/openafs commit fbec56963df5d556056e4da37c3b6468a1ca69c5 Author: Nathan Neulinger Date: Thu Nov 11 04:24:13 2004 +0000 update-objdir-20041110 make objdir builds work (with fix from shadow@dementia.org in src/rxkad/...) commit aa204b0a4b586a3bfec532c16bd64a5964f092f5 Author: Daria Phoebe Brashear Date: Thu Nov 11 04:20:45 2004 +0000 mask-loopback-address-allow-loopback-interfaces-to-be-advertised-20041110 some software network adapters use instances of lo but are real network adapters . allow them to be advertised. the modified functions are called only in the pro cess of collecting a list to advertise. at the same time, make sure we mask 127.0.0.1. i wonder if that's a mistake. commit 248aa3980eb4cf35d153119ed88b94a129ea9198 Author: Jeffrey Altman Date: Tue Nov 9 17:07:28 2004 +0000 windows-version-bump-20041109 1.3.7400 commit 8e3f7c5cb04a2e2950f2c56cd41f697b857ae8a7 Author: Jeffrey Altman Date: Tue Nov 9 12:47:36 2004 +0000 winnotes-upd-20041109 windows note updates for 1.3.74 commit c0dd32748f5a64676ddbc7897d1a622e0f250cd7 Author: Horst Birthelmer Date: Mon Nov 8 19:59:57 2004 +0000 aix-vol-salvage-make-malloc-not-be-cast-20041106 When you have a 64bit big endian machine with a 64bit off_t in the stat the salvager won't work. Malloc takes an "unsigned long" and a implicit cast will be almost always zero :-). commit 565126d68eed60e5787be6202fb38619baeab3e5 Author: Sam Hartman Date: Mon Nov 8 06:30:37 2004 +0000 ppc-linux26-20041108 FIXES 15770 support ppc linux 2.6 commit c3d9ed3cb553747b9b317fc4794755ba98afc24b Author: Jeffrey Hutzelman Date: Mon Nov 8 06:26:01 2004 +0000 readdir-report-correct-inums-20041108 FIXES 15962 We currently try fairly hard to make stat() on a volume root return the same vnode number as is listed for the mount point by readdir(). This behaviour is desirable; in fact, getcwd would not work otherwise. However, we are _not_ careful about making readdir list correct inode numbers for "." in a volume root or ".." in a directory whose parent is a volume root. This means that applications which examine these entries will still see inconsistent inode numbers. Clearly, it would be more desirable to report consistent inode numbers in all cases, instead of only in some cases. The attached patch, written while I was tracking down some NFS translator problems (which ultimately proved to be unrelated), makes readdir return consistent inode numbers for volume roots. We are running this on a few machines and have seen no problems, but it has not been extensively tested. commit 40c1d00508b3ad9e4384ad7cc3f39f7a206c4014 Author: Douglas Engert Date: Mon Nov 8 06:20:54 2004 +0000 vfsck-sol9-breadwrite-args-20041108 FIXES 15927 fix arg types for bread/bwrite for solaris 9 commit 31dd436712c7119a0bcb0ad534b7e9e6304dd298 Author: Jeffrey Hutzelman Date: Mon Nov 8 06:07:16 2004 +0000 nfs3-no-readdirplus-20041108 FIXES 15961 don't support readdirplus in nfsv3 commit 08af3229f3c4d961e5d662e049476229fbb11767 Author: Chaskiel M Grundman Date: Mon Nov 8 06:04:12 2004 +0000 callback-rxcon-use-safely-20041108 FIXES 15973 add get/put refs to all callback rxconn usages to preclude any possibility of race commit 884335d78318aca00293245c9d481fd285ceba59 Author: Jeffrey Hutzelman Date: Mon Nov 8 05:52:36 2004 +0000 nfs-root-mtime-20041108 FIXES 15960 don't reset root mtime, solaris 9 wants it to be the same across multiple calls commit ee23c5f90a7069bd8203fbf44575da361a63d7b8 Author: Daria Phoebe Brashear Date: Mon Nov 8 04:03:10 2004 +0000 any-way-damnit-20041107 no comment. commit 27fbf495163784c7d9a88001441b671f446ce547 Author: Daria Phoebe Brashear Date: Sun Nov 7 17:11:50 2004 +0000 mask-loopback-address-allow-loopback-interfaces-to-be-advertised-20041106 some software network adapters use instances of lo but are real network adapters . allow them to be advertised. the modified functions are called only in the pro cess of collecting a list to advertise. at the same time, make sure we mask 127.0.0.1. i wonder if that's a mistake. commit 10c1abfa31273ebf99c5eaf401cb8c5b9e8df0dd Author: Chaskiel M Grundman Date: Sat Nov 6 07:16:54 2004 +0000 client-dir-package-interface-update-20041106 FIXES 15726 cleanup from dread-do-validation; change to using dcache and not just fcache commit 756488a8395b5c45ceb383ca0106164e24bcb66c Author: Kris Van Hees Date: Sat Nov 6 07:02:44 2004 +0000 vos-timestamp-handling-20041106 FIXES 15708 fix timestamp handling on create; display "never" for copy time commit 6dce8ba4e23c6482856aaf35cb5dc5168ef054cc Author: Chas Williams Date: Fri Nov 5 04:21:29 2004 +0000 irix-largefile-update-20041104 from peter tripician via chas. update so largefile support stands a chance of working commit df99b514f619cde44b223a0e1f22ba856e548842 Author: Jim Rees Date: Thu Nov 4 15:49:58 2004 +0000 openbsd36-20041104 auto-detect OpenBSD 3.6. commit 98057f4ac4047e1b28bfa56cd91c32ee04a2a8b4 Author: Jeffrey Altman Date: Tue Nov 2 06:10:29 2004 +0000 dnlc-optimize-20041102 * Optimize calls to the DNLC. Do not search if the FID is the Freelance root.afs volume. Do not search if we are looking for the magic _._AFS_IOCTL_._ name. * Enable Buffer Trace logs in debug builds. commit 66cf365c50efa09b0629cf3c211659b070457f63 Author: Jeffrey Altman Date: Mon Nov 1 11:45:29 2004 +0000 readme-nt-20041101 Remove last vestiges of Win9x comments Update Wix 2.0 information Provide download or ordering information on how to obtain all the necessary tools required to build OpenAFS for FREE commit b9f527243e6aa7fc24a0ea0e52d1ec753dd04fa9 Author: Asanka Herath Date: Mon Nov 1 10:45:48 2004 +0000 wix-compatibilityK-20041101 Wix has been updated. to avoid warning/error messages some changes to the scripts were required. there were no changes to functionality. commit 5745d6e260998288c2411057b661e3ff33ece78e Author: Jeffrey Altman Date: Sat Oct 30 00:38:53 2004 +0000 windows-invalid-dir-handles-20041029 * Define new error CM_ERROR_TOO_MANY_SYMLINKS * Fix storage location for Freelance Mount Points broken in previous patch * Correct locking throughout the Directory Search code which was resulting in invalid handle errors being generated when objects were freed while they were still in use by the CIFS client commit f0824d9f4e06d2f305dcc63cf0d10f9fe3ccb805 Author: Jeffrey Altman Date: Thu Oct 28 22:20:10 2004 +0000 ioctl-dbg-windows-20041028 Output error codes in hex commit a3da9532a930720e4e9fba5f6520c3c9e1d67bc4 Author: Daria Phoebe Brashear Date: Thu Oct 28 21:46:42 2004 +0000 inlinebulk-put-ref-on-error-20041028 if we got an error during InlineBulk, put back the reference commit 2fbfef7f9157aad571307564faae1ce7aae4e3be Author: Daria Phoebe Brashear Date: Thu Oct 28 19:08:06 2004 +0000 drop-h-lock-around-putconn-20041027 the problem with rx_PutConnection is h_FreeConnection uses the host global lock ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== the problem with rx_PutConnection is h_FreeConnection uses the host global lock but it shouldn't matter (callback conn should be a client not server conn and thus not h_FreeConnection on cleanup) further, we should free the conns we GetConnection'd not the ones still in the host struct at the end. commit 28171bbc9c33d40e6e0064c951a1ab542b48a3de Author: Jeffrey Altman Date: Thu Oct 28 17:37:52 2004 +0000 more-freelance-symlinks-20041028 * Fix Find Cell By Name pioctl call to return a name "Freelance.Local.Root" for the fake root.afs volume. This allows the IsPathInAfs() type functions to succeed for \\AFS\all * Add missing dialog template for Explorer Shell Extension Symlink->Add operation * Increase the acceptable length of the link destination path in the Add Symlink dialog box support code. * Fix up some missing prototypes commit f8c4c2fd3b831794cbcd16c1689179cd593ea491 Author: Jeffrey Altman Date: Thu Oct 28 15:33:05 2004 +0000 windows-unused-vars-20041028 remove unused vars commit c7f18e4946ffe5b22b19079ad412bd962bed5092 Author: Jeffrey Altman Date: Thu Oct 28 02:22:25 2004 +0000 windows-docs-20041027 Documentation updates commit 4cbee84b4c1d1eca5913a64a392e2b31779ca7b5 Author: Jeffrey Altman Date: Thu Oct 28 02:13:51 2004 +0000 windows-freelance-symlink-20041027 * Remove the fallback to KRB4 in afskfw when obtaining tokens * Add support for symlinks to Freelance root.afs volume Stored at HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks = ":." Use symlink.exe to create, list, or remove commit e751ec6a3683a175e1cdad910dd1311d61f632e1 Author: Jim Rees Date: Wed Oct 27 20:46:54 2004 +0000 fbsd53-20041027 support for FreeBSD 5.3 builds and runs as well as it did on 5.2 commit 5bacdac16c2efda7a22125ce89cc617d6ba2c285 Author: Jim Rees Date: Wed Oct 27 16:01:03 2004 +0000 acinclude-fbsd-20041027 auto-detect FreeBSD 5.3 commit 0297f7d573b1acd5428816f39400880076746cf2 Author: Jeffrey Altman Date: Tue Oct 26 02:55:32 2004 +0000 undo-patch-windows-20041025 pull patch which breaks submount creation from gui commit 0e8e8c988950b94ae71d815817b1474d0c4ddab1 Author: Jeffrey Altman Date: Tue Oct 26 02:53:40 2004 +0000 windows-misc-20041025 * fix loading of SysName from the registry * reformat cm_scache; change flags to unsigned ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== * fix loading of SysName from the registry * broken patch to tab_drives.cpp - this will be pulled commit 58f0334640f989a955930cae37d43d86aa999509 Author: Jeffrey Altman Date: Wed Oct 20 05:16:57 2004 +0000 hklm-reg-fix-20041019 fix the logic to ensure that HKLM is checked if HKCU does not exist for EnableKFW and Use524 commit cabe659f112e70e5ff9e5979b14a6ac6057af58e Author: Daria Phoebe Brashear Date: Tue Oct 19 23:34:33 2004 +0000 provide-fPIC-method-for-amd64-20040508 FIXES 3680 allow building fPIC on amd64 commit 37e865b235ad6e7d85c4cc47f842d60c60965b4a Author: Daria Phoebe Brashear Date: Tue Oct 19 07:07:53 2004 +0000 irix-cleanup-20041019 clean up my messes. commit 9f3a32c75121490eb1260e6ee36da7bb5ec8cccf Author: Jeffrey Altman Date: Tue Oct 19 01:51:48 2004 +0000 windows-cleanup-20041018 cleanup AFS_component_version_number.h commit 8b09add2a4b52d02a6ffc2c9dedaaa7eddbedc26 Author: Jeffrey Altman Date: Mon Oct 18 23:31:56 2004 +0000 lang-clean-fix-20041018 Fix the for loop used to clean the language directories commit 78736ba21b90199de364f235aa7d03cd3ec6666d Author: Jeffrey Altman Date: Mon Oct 18 21:25:58 2004 +0000 windows-version-update-20041018 1.3.7300 commit efee9917cbb3130dfd73b5f064c4ff266c284333 Author: Daria Phoebe Brashear Date: Mon Oct 18 19:39:16 2004 +0000 configure-linux-header-path-help-20041018 thanks to Kris Van Hees for pointing this out commit 98a7c79f2f9fee1ac66d4ab96a9acf6258f58ff7 Author: John Bucy Date: Mon Oct 18 07:49:45 2004 +0000 setpag-print-throttled-20041012 kernel printf when we start throttling for time commit 8bb47b67a00bd4ff6a89d57cff706aba0551db8a Author: Daria Phoebe Brashear Date: Mon Oct 18 07:12:49 2004 +0000 partly-revert-volser-restore-timestamp-cleanup-20041018 messes up creation field on new volume. commit 8b7de1a484228a77048fee98c73b7fe8b7a550ab Author: Jeffrey Hutzelman Date: Mon Oct 18 07:08:14 2004 +0000 amd64-ccobj-update-20041018 update ccobj for amd64 commit 8e335f4079d2c62d7cfe932eb46b59b8ceb695c1 Author: Jeffrey Altman Date: Mon Oct 18 05:22:18 2004 +0000 windows-version-20041017 update version to 1.3.7200 commit 02d99c8c98be8921147d9f84c4d2fe1be2235d9f Author: Jeffrey Altman Date: Mon Oct 18 03:44:14 2004 +0000 freelance-end-of-line-20041017 modify the algorithm used for loading mount point entries to ignore all data beyond the terminating dot. commit 564f4a8022beaf9e131f784fa15ea00759b5bd80 Author: Jeffrey Altman Date: Sun Oct 17 22:19:13 2004 +0000 flushonhibernate-20041017 Fix Asanka's patch. commit 3c291a5fcce47c361670266e466a4785aaddda08 Author: Asanka Herath Date: Sun Oct 17 22:02:01 2004 +0000 flushonhibernate-registry-20041017 Add a new FlushOnHibernate registry option to allow users to disable the Power Management Flush support commit 1fd9a66fc692bf003feab8d1d2b4eaa8dc18fe56 Author: Jeffrey Altman Date: Sun Oct 17 22:00:24 2004 +0000 winnotes-updates-20041017 Updates for 1.3.72 New FlushOnHibernate registry option commit 3d15cfc3ca8fb159e8b4a22717a3d53421e3c88a Author: Jeffrey Altman Date: Sun Oct 17 21:24:19 2004 +0000 krb5-no-dot-20041017 Generate error in the client if a krb5 principal contains a dot in the first component. commit 3c89433fc9e5229ad19c2096f5758a7730c47f0c Author: Jeffrey Altman Date: Sun Oct 17 16:18:24 2004 +0000 local-system-acct-20041017 When testing for Administrator privileges always grant them to the Local System account commit 38a75434706093569359e7d87b8726fd8f865955 Author: Jeffrey Altman Date: Sun Oct 17 03:46:56 2004 +0000 wix-clean-20041016 Clean the intermediary build files before each build. commit c8feac3a2e8dcd89882aa1d9edf9b08566b162ea Author: Jeffrey Altman Date: Sun Oct 17 03:44:52 2004 +0000 windows-updates-20041016 * Correct the handling of Over Quota errors * Update all of the reference count fields to use unsigned long instead of shorts or ints * Reformat touched files ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== * Update reference count fields from short to unsigned long commit 4803a9d7f9ad7952148b45a8ebb04eeb1e69127a Author: Jeffrey Altman Date: Sat Oct 16 23:41:18 2004 +0000 des-fix-mustalign-20041016 FIXES 15637 Forgot to fix the MUSTALIGN case commit 43dca8542be38c947e6cbee45293f183f3d4ed93 Author: Jeffrey Altman Date: Sat Oct 16 23:31:49 2004 +0000 des-fix-20041016 FIXES 15637 Correct previous patch. commit 85835f169cf47207795e00cbc2dae6fd77950f78 Author: Daria Phoebe Brashear Date: Fri Oct 15 07:01:35 2004 +0000 rx-peer-and-conn-refcounts-now-unsigned-int32-20041015 FIXES 15459 in an extreme case, the peer object refcount could wrap we should probably also log if wrapping is imminent commit 5862d1612aaab259fa7f7bbb07776b7c7fa04ee8 Author: Jeffrey Altman Date: Thu Oct 14 02:52:05 2004 +0000 pioctl-debug-20041013 Add more debug statements commit c66f4f6f50ed50502847a9b1dfb750bd61e57586 Author: Peter Nelson Date: Wed Oct 13 22:00:04 2004 +0000 makefileproto-linux26-20041013 add "linux26" to the case where we symlink asm commit 8be8a671c5dfa478b571c70d6c6a9757ebec553d Author: Chaskiel M Grundman Date: Wed Oct 13 17:29:36 2004 +0000 h-tossstuff-r-leak-20041013 don't leak host hash objects in h_TossStuff_r commit 1bf42dd73c2f47137cb4adfc682ac852b696bf68 Author: Peter Nelson Date: Wed Oct 13 15:46:29 2004 +0000 amd64-use-flock-20041013 so we stand a chance of compiling on amd64 commit 9ce92cb420da6c003257aeef092480d6c0131278 Author: Jeffrey Altman Date: Wed Oct 13 15:23:25 2004 +0000 uninitialized-vars-20041013 FIXES 15604 initialize flags in SetFields so that it has a default value otherwise a runtime exception is generated on windows due to lack of initialization before use. commit 33809f6c7382ab07d018809922a2a2b06e798b63 Author: Joe Buehler Date: Wed Oct 13 15:07:53 2004 +0000 linux-pagelaunder-avoid-deadlock-20041012 FIXES 15239 mmap'd files can deadlock on linux; fix by not letting kernel free pages out of our space predictively ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 15239 mmap'd files can deadlock on linux; fix by not letting kernel free pages out of our space predictively commit 181c134ed87385f38261893b02c6554b892fbbfd Author: Jeffrey Altman Date: Wed Oct 13 07:41:38 2004 +0000 expand-strings-20041012 Stop blowing away the drive mappings of REG_EXPAND_SZ values due to the use of the incorrect order of the parameters commit 4050980d3c1f7eec40a95a1c35122b89ff2a651c Author: Jeffrey Altman Date: Wed Oct 13 03:48:24 2004 +0000 winnotes-20041012 Update documentation files with latest changes commit d8a4052f72bb5620559ff80bc4ef36e8daf6f0e1 Author: Jeffrey Altman Date: Wed Oct 13 03:30:49 2004 +0000 rx-refcount-20041012 FIXES 15585 * use new rx_GetConnection/rx_PutConnection functions to increment/ decrement the refCounts on the rx_connection objects so that the objects are not invalidated during RXAFS_xxx calls when: - the user tokens change - the global cryptlevel changes * import SysName from registry and parse along white space boundaries commit 63a1a5b27cc0ec321069cfa7b73715f059c98348 Author: Horst Birthelmer Date: Wed Oct 13 02:28:25 2004 +0000 aix-des-cleanup-20041012 incrementing pointers behind casts apparently pisses of vac 6 commit 3e9f470025ad4191c084dee6e129d3320bf1d9fd Author: Jeffrey Hutzelman Date: Wed Oct 13 02:16:40 2004 +0000 amd64-linux26-20041012 FIXES 15617 support for amd64 linux26 commit 2fb7971aa120a92d1cf58c3940f85f7a7b3d091f Author: Jim Rees Date: Wed Oct 13 02:10:58 2004 +0000 build-fcrypt-from-domestic-20041010 don't install rxkad/domestic/*.c, just compile them where they live commit 512f3b0555c10d26ea6b05695471481df11fe1c9 Author: Eric Melski Date: Wed Oct 13 02:04:55 2004 +0000 solaris-fix-ulimit-write-size-bug-20041012 FIXES 15609 convert nonsensical comparison to one which makes sense in light of code and comments below it commit d566c1cf874d15ca02020894ff0af62c4e39e7bb Author: Chaskiel M Grundman Date: Wed Oct 13 01:51:00 2004 +0000 dread-do-validation-20041012 FIXES 15340 so we can do directory object validation in DRead() commit ef08d58e9361ca72b22bff091c870dbcae6ab1f1 Author: Chaskiel M Grundman Date: Wed Oct 13 01:36:59 2004 +0000 linux-26-vlru-cycle-20041012 FIXES 15339 it was only a matter of time... commit f1e789f75f3ccc7f7055cfebc970437680931a61 Author: Chaskiel M Grundman Date: Wed Oct 13 01:30:03 2004 +0000 asmlinkage-for-pioctl-20041012 FIXES 15338 another place where we need to declare a function asmlinkage commit e106a39fe62a8d338ac7f8cf4ed857c97a9b3484 Author: Jeffrey Hutzelman Date: Tue Oct 12 21:51:55 2004 +0000 cleanup-rx-peer-leak-20041012 if the peer was the second in the chain we could throw away our reference to the first, effectively leaking it forever. commit 07d62e8a6f266f554ee39720941da8254bbbc518 Author: Chaskiel M Grundman Date: Mon Oct 11 23:31:26 2004 +0000 linux-setgroups-need-asmlinkage-20041011 FIXES 15460 sys_setgroups pointers must be asmlinkage everywhere commit d98a0af85d857f74ba8c50ae85f397a526822cb8 Author: Daria Phoebe Brashear Date: Mon Oct 11 19:39:55 2004 +0000 viced-callback-lock-host-during-multi-breakcallback-20041011 since it looks like CheckHost is using a gc'd client conn, this more or less has to be it. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== since it looks like CheckHost is using a gc'd client conn, this more or less has to be it. and don't deadlock. ==================== since it looks like CheckHost is using a gc'd client conn, this more or less has to be it. and don't deadlock. ==================== since it looks like CheckHost is using a gc'd client conn, this more or less has to be it. and don't deadlock. commit 3b9cdc23b5122e371139828e557732c5e434230a Author: Jeffrey Hutzelman Date: Mon Oct 11 19:35:30 2004 +0000 rx-getputconnection-20041011 FIXES 15584 add Get/PutConnection funcs to diddle conn refCounts. commit d0898af1876fcbd5ac6962a8e11b3ca776791fde Author: Sam Hartman Date: Mon Oct 11 19:19:35 2004 +0000 osi-timeval-can-be-timeval-20041011 FIXES 15580 since the timeval is used only internally, let's just use struct timeval commit 1d1412bbc4b19b901dde5f6f2a16223be2230026 Author: Sam Hartman Date: Mon Oct 11 17:21:28 2004 +0000 ppc64-26-support-20041011 FIXES 15581 commit 9a0eb2496d990b6bb4fcd3a459047f7434835c87 Author: Daria Phoebe Brashear Date: Mon Oct 11 17:01:58 2004 +0000 libafsrpc-cleanup-20041011 FIXES 15586 remove unwanted files commit d8453a3f467e6350da304dbc0f494591737662cd Author: Jeffrey Altman Date: Mon Oct 11 00:50:37 2004 +0000 windows-combined-20041010 * fix the Windows cache manager to prevent it from replacing the rx_connection object associated with the cm_conn_t object on each and every operation if "fs crypt" was set. This explains the dramatic performance difference when crypt is used vs clear. The problem: 'cryptall', a boolean flag indicating whether or not "fs crypt" is set, was being compared to the rx_connection cryptlevel which is either rxkad_clear:0 or rxkad_crypt:2. 1 != 2 and therefore the rx_connection was always destroyed and replaced on each and every operation. Lock the cm_conn_t object around every call to RXAFS_xxxx functions. It is not safe for the cm_conn_t object to not be locked because rx_DestroyConnection might be called from another thread if: - the user's tokens have changed or expired - the crypt mode has changed * Modify cm_Lookup to evaluate a list of possible values for @sys instead of just a single entry. Re-write cm_ExpandSysname and add cm_LookupInternal. * Reformat affected files * Add cache file name to cache creation errors commit 346f60b807693c5ee480d105520b4a11cc283675 Author: Jim Rees Date: Sun Oct 10 03:13:41 2004 +0000 crypt-take-voids2-20041009 make various crypt/decrypt routines take void * args to eliminate more compiler warnings commit d114c46e85624c1988a7f61a872251660c7d52c4 Author: Daria Phoebe Brashear Date: Sun Oct 10 03:03:11 2004 +0000 pr-initialize-dont-leak-ref-20041009 we were leaking an afsconf_Open ref. let's not. commit d4d2fc438654939348b92dca1b8a6b09b56dfd6c Author: Daria Phoebe Brashear Date: Sun Oct 10 02:53:32 2004 +0000 generic-client-init-function-20041009 FIXES 15464 so we can have this code in just one place commit d764e768f94464021462e4b53c40a467eb4840f3 Author: Chaskiel M Grundman Date: Sat Oct 9 23:34:45 2004 +0000 linux-disable-pmtu-discovery-20041009 FIXES 15505 don't set DF bit; use setsockopt to turn of kernel "pmtu feature" commit 2ad64703d4942b7a64751c24aa8af790b271f93e Author: Jim Rees Date: Fri Oct 8 20:30:37 2004 +0000 add-rocks-20041008 add rocks to cmd args to match prototype commit 7e7475981f2f0ba9fa8937c07514548580834981 Author: Kevin Coffman Date: Wed Oct 6 18:35:19 2004 +0000 revert-fix-seclevel-20041006 Ticket #15367 revert rev 1.12 fix-seclevel-20030213: Use requested security level instead of "clear" in pr_Initialize commit ba58f50caf44e14493eaa5ccaf5d30f17b792782 Author: Jim Rees Date: Tue Oct 5 21:40:59 2004 +0000 crypt-take-voids-20041005 make various crypt/decrypt routines take void * args to eliminate more compiler warnings commit 04ec8ea29d1440beca6e8be9bac12a64650c900b Author: Jeffrey Altman Date: Mon Oct 4 08:35:13 2004 +0000 admin-group-nsis-20041004 correct the test for -create and -remove so that the proper action is taken for each commit e845efc4428fa5764eb5e450b7f5ec8a805eb4f7 Author: Jeffrey Altman Date: Sun Oct 3 15:06:46 2004 +0000 pioctl-debug-20041003 Add a new registry value HKLM/SOFTWARE/OpenAFS/Client "IoctlDebug" DWORD which when set to a non-zero value will output error messages to stderr. This is to assist in debugging ioctl failures when fs.exe, tokens.exe, etc. fail because of an inability to open the ioctl file name. commit fdaf6f793398fb7dd61bdb7030447918dbe30b38 Author: Jeffrey Altman Date: Sun Oct 3 14:53:35 2004 +0000 windows-symlink-access-20041003 FIXES 15250 One more fix for the symlink problem. Access control checks cannot be performed until after we have walked all of the symlinks. Otherwise, we are checking access to the symlink itself and not to the file. commit 2469663d0d4b2df8100ec8e09954163ddf1aa042 Author: Jeffrey Altman Date: Sun Oct 3 14:34:27 2004 +0000 win-power-mgmt-flush-test-20041003 The windows power management code responds to a request to suspend or hibernate by performing a "fs flushvol" as the logged in user on each of the SMB/CIFS mounted shares. This can be very time consuming if the cell servers cannot be reached. This patch adds a test to ensure that there is at least one network adapter in the machine which is not a loopback adapter. While developing this patch other areas of concern have been raised. The power management code waits a fixed period of time based upon the hard dead timeout before allowing the suspend/hibernate to continue. This allows the machine to shutdown even if there are active flush operations being performed. This defeats the benefit of performing the flush at all. A better mechanism could be developed if the functions called via cm_IoctlFlushVolume returned and checked error codes. Then it might be possible to abandon the flush operation if a Server Not Reachable state was obtained. The power management flush operations will also not work on Terminal Server. This would be important in the case where a terminal server is shutting down due to a switch over to a UPS. The reason it does not work on Terminal Server is that there is that it is not possible for afsd_service.exe to enumerate the SMB/CIFS shares and impersonate the individual logged in users. It would be preferred for there to be a new cm_FlushAll() function implemented which was not dependent on the use of the ioctl mechanism for the purpose of identifying a volume ID or a user ID. commit 3f2e943d430ea85ece5c1f96f197122a7c47851c Author: Daria Phoebe Brashear Date: Sat Oct 2 16:54:28 2004 +0000 vol-fix-nuke-iteration-and-nuke-globals-20040928 allInodes global dies; don't use ti as an iterator right after freeing it. commit 9592e1b10c23d99a9f7b29b77033b054974bbff1 Author: Jim Rees Date: Fri Sep 24 16:42:32 2004 +0000 rx-nprocs-static-20040924 make nProcs static so it will count up correctly also change its scope to eliminate compiler warning commit d3c732bcbd5970f4f20cf5576fa43269e37c99d4 Author: Nickolai Zeldovich Date: Fri Sep 24 02:42:28 2004 +0000 rxi-flushwrite-fake-a-better-empty-packet-20040923 Fake a better empty packet in rxi_FlushWrite(), with enough space for an rxkad header. Otherwise rxi_PrepareSendPacket may panic. commit d7c3b0a1466654961160e5cd1db632f6c419e07c Author: Daria Phoebe Brashear Date: Thu Sep 23 04:55:52 2004 +0000 threaded-volserver-and-protoization-update-20040922 fix a deadlock between GCTrans and DeleteTrans more protoization commit d69e6641e5fc423b41fcfc9345a6f917ec958f37 Author: Jeffrey Altman Date: Wed Sep 22 16:04:59 2004 +0000 kfw-hklm-registry-fix-20040922 Fix the registry query in afskfw.lib to read the HKLM machine value even if the HKCU key is present. Update text in the install notes to better describe the krb524 issues commit b40090233989aad1b96fdd9fd9d8d0478c2abd6e Author: Jeffrey Altman Date: Wed Sep 22 07:00:56 2004 +0000 windows-force-krb524-20030921 Provide mechanisms to force the use of krb524 via afscreds, afslogon, and aklog. afslogon and afscreds rely on a new "Use524" registry value (see registry.txt) and aklog has a new "-m" command line option. commit a135e0d30c077e19c3f10f7a6ccc46fa3fb6c234 Author: Jeffrey Altman Date: Tue Sep 21 21:05:14 2004 +0000 cifs-pattern-match-20040921 The pattern matching algorithm was failing to match strings when the pattern terminated in a '*'. The logic was also too complex because it failed to simply the patterns prior to processing. Any combination of '*' and '?' == '*' according to the Windows file name pattern matching rules. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 15365 The pattern matching algorithm was failing to match strings when the pattern terminated in a '*'. The logic was also too complex because it failed to simply the patterns prior to processing. Any combination of '*' and '?' == '*' according to the Windows file name pattern matching rules. commit e07406e551cc5c67e83c9985dbbfe5952ada6518 Author: Jeffrey Altman Date: Tue Sep 21 15:00:08 2004 +0000 windows-links-20040921 FIXES 915 FIXES 15250 * smb_ReceiveCoreRename() was factored to produce smb_Rename() which is used by both the original function and the new smb_ReceiveNTRename(). smb_ReceiveNTRename() supports the creation of HardLinks in addition to Renaming. smb_Link() is a new function which creates HardLinks via cm_Link(). cm_Link() is a new vnodeops function which creates links using RXAFS_Link(). smb_ReceiveNTRename() does not support the File Copy and Move Cluster Information operations described in its interface. ReceiveNTRename is under documented in CIFS-TR-1p00_FINAL.pdf. * When opening files via symlinks, we should follow the symlinks until we reach the actual file stat cache entry. The stat cache entry of the file should then be stored in the FID instead of stat scache entry of the symlink. * return bad operation errors for all unimplemented functions even if we do not know the functions exist. * Log bad packets and unknown operation packets to the trace log * Map CM_ERROR_BADOP to STATUS_NOT_SUPPORTED instead of 0xC09820FF * Update list of known CIFS operations to include all those listed in CIFS-TR-1p00_FINAL.pdf. commit 9a213dba7776f9571d34c8b11416d88440ece827 Author: Daria Phoebe Brashear Date: Mon Sep 20 03:07:22 2004 +0000 rx-unrefd-peer-may-be-gcd-so-be-safe-20040919 this means we potentially "lose" some received bytes in the tracking, but the alternative is to add and then drop a ref (which i suppose would be ok) commit cbe0d7cc1daca4a2d9a634f7cdb8da8d01ad050d Author: Daria Phoebe Brashear Date: Fri Sep 17 14:35:51 2004 +0000 rx-stats-calls-waited-ever-20040917 keep track of the number of calls which have waited for a thread ever (not just those waiting now) update rxdebug to be able to print it. commit 1ea05bb5679ba0e00b02ef2b20f72f7b2c39eb14 Author: Christof Hanke Date: Wed Sep 15 04:54:28 2004 +0000 segments-keep-chunkbytes-and-validpos-in-sync-20040914 FIXES 15200 "Basically, the pointers (struct dcache *)->validPos and (struct dcache *)->f.chunkBytes are not kept in sync." commit 8c887b207210e0b7b01d2c8621149e8a92d0224c Author: Jeffrey Altman Date: Thu Sep 9 21:19:06 2004 +0000 nsis-1400-compiler-20040908 Add support for MS VS 2005 commit 24da12afa3b7b79b4af097daa39b98093e10a743 Author: Jeffrey Altman Date: Wed Sep 8 22:35:33 2004 +0000 time_t-pointer-conversions-20040908 FIXES 15169 Modify all parameters to functions which take a pointer to time_t to actually provide a pointer to time_t instead of pointers to long, afs_int32, afs_uint32, etc. This is to provide compatibility with systems that use 64-bit time_t typedefs such as the IBM compilers for AIX and the Microsoft Visual Studio 2005 compiler. This patch does not address any of the issues of data loss caused by converting 64-bit time_t to 32-bit signed or unsigned values. commit f31658317a77346759f165ff13b5dcf77a8b3683 Author: Jeffrey Altman Date: Wed Sep 8 06:52:20 2004 +0000 windows-misc-20040907 * modify registry.txt to replace QWORD with DWORD ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== * add expanded registry support to "submounts" commit 4d906fec23916230936763ef36d6bc7a79c8eebf Author: Nickolai Zeldovich Date: Thu Aug 26 22:07:01 2004 +0000 placate-netbsd-cc-20040826 netbsd's cc doesn't like multiple semicolons in variable declarations, so let's adjust the XSTATS_DECLS macro appropriately. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== netbsd's cc doesn't like multiple semicolons in variable declarations, so move OSI_VC_CONVERT down to the last statement commit 33460d3571b0faf4ca394aa6f7f4980b20942895 Author: Jim Rees Date: Thu Aug 26 19:14:37 2004 +0000 fix-missing-config-quote-20040826 fix missing quote and CPPFLAGS from last commit commit d05d58a816059b8489d1aaf1b0c8bf126f65755a Author: Rainer Toebbicke Date: Thu Aug 26 18:45:59 2004 +0000 snprintf-ip-printing-20040826 don't treat ip address as long long, cast to 32 bit... commit ce6d83d6aa2af4da6a3010bad10ff2dbcb44fcf2 Author: Daria Phoebe Brashear Date: Thu Aug 26 06:15:57 2004 +0000 allow-loopback-interfaces-to-be-advertised-20040826 some software network adapters use instances of lo but are real network adapters. allow them to be advertised. the modified functions are called only in the process of collecting a list to advertise. at the same time, make sure we mask 127.0.0.1. i wonder if that's a mistake. commit cb1b41b159b98881f66319d7f65d941ba9fab911 Author: Sven Menke Date: Wed Aug 25 21:39:21 2004 +0000 linux-5-arg-sock-create-20040825 update for sock_create 5 arg with a better configure test commit 5e1c6d613544574e61aedbf456fbd6f36c04383f Author: Daria Phoebe Brashear Date: Wed Aug 25 08:21:39 2004 +0000 no-interleave-on-solaris-9-20040825 a patch does away with it and it doesn't look like we need to care commit 854d15634a149777070a08ebe8ce59029e88f2e2 Author: Jeffrey Altman Date: Tue Aug 24 08:09:47 2004 +0000 version-update-20040823 1.3.71 commit bca5ba20e678ffc7b5dbbd3d9e2760b16b1ff1a9 Author: Jeffrey Altman Date: Mon Aug 23 20:36:22 2004 +0000 expand-drive-mappings-20040823 Drive mappings are now per user and stored in the registry. Allow them to continue to use environment variables in the paths. commit f1ff3887a269a541eb42b13c7e743ad0394e0bef Author: Daria Phoebe Brashear Date: Mon Aug 23 17:15:36 2004 +0000 libafsauthent-mapfile-update-20040823 export a few more symbols commit 40d2f5f7c02e28cf471d284e5be9fb97c91d145a Author: Jeffrey Altman Date: Mon Aug 23 16:49:45 2004 +0000 windows-admin-group-20040823 Update text files for 1.3.71 and describe the new Windows Authorization Group "AFS Client Admins" ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Add support for "AFS Client Admins" windows authortization group ==================== NTMakefile changes for Admin Group commit 65884b7d946f045f0f3c6ee15f0d808181e6e756 Author: Asanka Herath Date: Fri Aug 20 21:11:57 2004 +0000 wix-admin-20040820 - Support administrative installations ( 'msiexec /a openafs-en_US.msi') - Register services as interactive - Move product code into NTMakefile.i386_nt40 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== - Move product code into NTMakefile.i386_nt40 commit 97031c31689312a783630e1c270372a063949e46 Author: Rolandas Naujikas Date: Fri Aug 20 21:07:18 2004 +0000 afslogon-20040820 Modifications to support local machine profiles redirected to AFS commit e82bc5223192fc2a7270aec53aed951ba4a24cae Author: Alf Wachsmann Date: Fri Aug 20 05:05:14 2004 +0000 kdb-enhancement-20040820 FIXES 6355 - It resolves all IP addresses to names unless the "-numeric" parameter is used. This is the same behavior as "fs listcells [-numeric]" - If the "-numeric" parameter is used, IP address will be printed in dotted decimal form instead of a 8 digit hex string. - A new parameter "-long" allows to print all information for all entries in the log. This is the same info you get for entry XYZ when called with "-key XYZ" only you get this for _all_ keys. The output is slow if not also called together with "-numeric commit 59cc46ef7e41d21288034df0a850b1c2ca7b4e5c Author: Steve Roseman Date: Fri Aug 20 04:55:56 2004 +0000 aix-config-guess-20040819 FIXES 6352 detect aix 5 commit b0f773c41c68fd7833a669693d30b27a12f3ba8e Author: Nickolai Zeldovich Date: Thu Aug 19 22:37:51 2004 +0000 fix-indent-bug-with-lock-macros-part-four-20040819 Thanks to jaltman for pointing out some files I missed (basically those in two-level deep directories). commit c18d67d9a0d653b6557824d3583c827f076e29d3 Author: Horst Birthelmer Date: Thu Aug 19 21:25:22 2004 +0000 aix52-updates-20040819 make des crypt module be built without optimization. make aix 5.2 be "supported" make ukernel work on aix 5 commit 7c01e673176e9de75620a9765aacc25324ce36a4 Author: Jeffrey Altman Date: Thu Aug 19 20:50:03 2004 +0000 callback-deadlock-20040819 cm_CallbackNotifyChange(scp); must not be called with scp locked commit f2b18e7af85093f88b8afb8d7a344fd15fc90164 Author: Rolandas Naujikas Date: Thu Aug 19 20:47:56 2004 +0000 non-ad-afs-profile-20040819 NetUserGetProfilePath function provided by Rolandas Naujikas commit 481b170d88e1821bd4d498e3c75e514facbff0a5 Author: Hartmut Reuter Date: Thu Aug 19 06:42:20 2004 +0000 aix-5-updates-20040819 updates to aix 5 code since last patches commit 06478aeaae1e7812230f31c63e9cae8b7cc1b643 Author: Nickolai Zeldovich Date: Thu Aug 19 03:19:13 2004 +0000 fix-indent-bug-with-lock-macros-part-three-20040818 Add trailing semicolons to more macros and re-indent. commit 1d6cf7729ca06c95eb4dd8b2f72d61bda6010304 Author: Daria Phoebe Brashear Date: Thu Aug 19 02:37:24 2004 +0000 revert-linux26-selinux-20040621 well, i'm not sure what the right way to deal is, seeing as this change weas reverted later in the kernel commit 3fa71885aecae85a3ddadc04dd1fcbfaa2a7e8b0 Author: Nickolai Zeldovich Date: Thu Aug 19 02:34:47 2004 +0000 fix-too-many-close-parens-20040818 Noone seems to be using this code anyway, as it's been non-compilable for 2 years now. But indent noticed that we have too many close-parens in there, so might as well fix it... commit 5ca50c575abed691bf2e726f84f35241fcef8242 Author: Daria Phoebe Brashear Date: Thu Aug 19 02:16:04 2004 +0000 banish-fstrace-trydcachechildren-entirely-20040818 we really don't need this... commit 4d44764c157b1310de81e010975ae5867028fa5b Author: Daria Phoebe Brashear Date: Thu Aug 19 02:07:10 2004 +0000 butc-xbsa-cleanup-20040818 make things compile when xbas is defined. commit fc441042fcfe619cc8fac528886782caed12ab48 Author: Daria Phoebe Brashear Date: Thu Aug 19 01:58:18 2004 +0000 linux-kernel-header-tests-20040818 check for existance of some headers (in_systm.h, mm_inline.h) to decide on inclusion commit 6f1cd5a43e1240ecc7a964b8236e25e1d0e46fca Author: Hartmut Reuter Date: Thu Aug 19 01:28:29 2004 +0000 ubik-multihome-byte-order-problem-20040818 "Playing around with multi-address database servers on little-endian machines I found out that there is one conversion of the ip-address too much" commit 788ca86bdc139ee42aeecceb4b453c87bfd2426f Author: Nickolai Zeldovich Date: Thu Aug 19 01:22:38 2004 +0000 fix-indent-bug-with-lock-macros-part-two-20040818 Add trailing semicolons to _LOCK and _UNLOCK macros and re-indent. This should've been in fix-indent-bug-with-lock-macros-20030729 but somehow it slipped by and I've only found it now. commit 9a39ae21fea305029f1bcdc6a864170ff6503793 Author: Daria Phoebe Brashear Date: Thu Aug 19 01:11:37 2004 +0000 aix-install-cfgafs-20040818 based on feedback from tdamato@odu.edu commit 0ed8f55d597a247980412f004852446d8f138324 Author: Daria Phoebe Brashear Date: Thu Aug 19 01:08:50 2004 +0000 aix-make-install-install-everything-20040818 install the other stuff when you make install commit 399785acf166dac15123889c28974ff06d6d2de0 Author: Daria Phoebe Brashear Date: Wed Aug 18 23:46:37 2004 +0000 attachserverproc-dont-dequeue-if-not-in-queue-take-two-20040818 nWaiting ended up negative, because the dequeuer (GetCall) decremented. commit 3de51188f75dd1503c300d87cc00c30b0ba4a0b0 Author: Jeffrey Altman Date: Wed Aug 18 18:52:03 2004 +0000 time_t-20040818 Make sure the response of time() is stored in a time_t commit f21740a0acc44ae5493bbe1f53b94acc14af0ac8 Author: Jeffrey Altman Date: Wed Aug 18 18:10:17 2004 +0000 time_t-200408018 time values in the cache manager and smb engine which are passed to the run time library must be of type time_t and not long or int or unsigned long or unsigned int or ... commit ddaba14e372c96f572b0762f1f0de824aac06d5a Author: Jeffrey Altman Date: Tue Aug 17 21:16:01 2004 +0000 cellservdb-20040817 update to current gco commit 202a27f07329527f2a488d8d949b572879846aab Author: Jeffrey Altman Date: Tue Aug 17 18:15:37 2004 +0000 osilog-messages-20040817 move the cm_GetCell_gen debug messages to the trace log commit 1ae8a71dfa8a5efea7d31ad985746b026b444f48 Author: Jeffrey Altman Date: Tue Aug 17 16:25:33 2004 +0000 smb-notify-callback-expire-20040817 When the callback expires on an scache item, if there is an smb client listening for updates send it is a notification of change. This will force the smb client to refresh its listener which will in turn cause a new callback to be registered. Also, remove debugging statements from GetServer/PutServer commit 3dce18d2481ee07ac27af8bd691d640247526a5d Author: Jeffrey Altman Date: Tue Aug 17 05:21:17 2004 +0000 post-1-3-70-windows-changes-20040816 * Fix aklog.exe to not add the AFS ID to the username * PTS registration of new users to foreign cells has been added to afscreds.exe * The cm_Daemon thread is used to perform checks for down servers, up servers, volumes, callback expirations, lock maintenance and token expiration. Due to a gaff in larger integer division the thread never performed any work. Instead the current time computation would always be less then the trigger times. This had an adverse affect on the client's ability to maintain communication with servers, keep volumes up to date, and flush user tokens and acls when they have expired. This was broken when the 1.3 branch was modified to support VC7 which no longer included largeint.lib * An initialization problem with the Freelance code was detected while fixing the callbackRequest. The cm_rootSCachep object is obtained during afsd_InitDaemons() but the callback information is incomplete. The callback information will not be obtained until cm_MergeStatus is called from within cm_GetCallback. Unfortunately, cm_SyncOp did not properly test for the conditions under which the callback information must be obtained. * Reports have been filed indicating that callbacks were being lost. An examination of the code indicated that the cm_server_t objects were not being properly reference counted by the cm_scache_t and cm_callbackRequest_t objects. In particular, the cm_server_t objects may have been freed from beneath the cm_conn_t objects. All of the reference counting is now done via the functions: cm_GetServer cm_GetServerNoLock cm_PutServer cm_PutServerNoLock this improves the ability to track the referrals. Each cm_BeginCallbackGranting Call now allocates a reference to the cm_server_t. The cm_EndCallbackGrantingCall either frees the reference or transfers it to the cm_scache_t cbServerp field. These are then appropriately tracked through the cm_Analyze call. * Ensure that the dnlc hash table is the same size as the dir name hash table (as per original author's note). Increase the dnlc CM_AFSNCNAMESIZE to a multiple of 8 for compatibility with 64-bit systems. * fix smb_ApplyV3DirListPatches to properly apply the hidden attribute to dotfiles when the infoLevel < 0x101 and cm_SyncOp has failed. * Fix the Freelance registry initialization code. There was a possibility that some systems could end up with garbage in the registry during a clean install. commit e6c7148abed9f88d6dd83ce8dba77a434cce231a Author: Kris Van Hees Date: Mon Aug 16 22:23:26 2004 +0000 initialize-i-security-20040816 modern 2.6 kernels with i_security need this such that if the i_security field got garbage-collected out from under us we don't deref a null pointer. commit 8651d7a69315735db866e7bf6a9539e10a6b1f9f Author: Sven Oehme Date: Wed Aug 11 16:45:35 2004 +0000 s390x-20040811 zLinux on S390x (64 bit S390) commit cf8a163c20179d76075653af243305446604bc92 Author: Love Hörnquist-Åstrand Date: Tue Aug 10 21:35:08 2004 +0000 netbsd20-config-20040810 cleanup config files for NetBSD 2.0 commit 46b847e3678f01b5f1bd2ef4db54cb66a55d057e Author: Love Hörnquist-Åstrand Date: Tue Aug 10 20:57:09 2004 +0000 netbsd-lwp-no-param-h-20040810 fix NetBSD process.o build commit 2e8a3050d39ead364cad038647f0049b5c03b119 Author: Jeffrey Altman Date: Tue Aug 10 05:07:58 2004 +0000 1-3-70-release-really-20040809 Restore the installation of afslogon.dll as a winlogon event handler. Microsoft identified the problem as being a newly added restriction on the behavior of DllMain entry points. Network operations such as bind() may no longer be called. The ICF blocks them but does not cause an error to be returned. commit 7a2fea24df9600e5f2f0f46a2a28864b25b34601 Author: Jeffrey Altman Date: Tue Aug 10 01:16:34 2004 +0000 xp-sp2-fix-plus-20040810 The XP SP2 problem was caused by attempting to call bind() from within DllMain which is no longer permitted. Added a new function AfsLogonInit() which is called from every entry point to ensure that the necessary initializaton is performed. Cleaned up the prior fix to smb3.c to better test the invalid conditions. commit 3fd571cb1014f61101e0b82fc9944f9d5285cea1 Author: Jeffrey Altman Date: Mon Aug 9 21:51:56 2004 +0000 null-pointer-20040809 protect against a null pointer reference in smb_ReceiveV3Trans when its the first packet and the totalData and totalParms are 0 commit 4394e421bb9baadde8a26daaf58f3e15ace30349 Author: Jeffrey Altman Date: Mon Aug 9 10:45:35 2004 +0000 msvs8-20040810 changes to support building under msvs8. this will allow us to produce 64-bit binaries. commit 7bc57bc068238b9f8c672b502c8f7ddef7ab01a9 Author: Joakim Fallsjö Date: Mon Aug 9 10:18:51 2004 +0000 solaris-x86-9-support-20040809 osconf stuff for solaris x86 9.0 commit d98157d514dd000f68e0b27cd73b4039715d7433 Author: Jeffrey Altman Date: Mon Aug 9 06:13:38 2004 +0000 remove-winlogon-key-20040810 Make sure installers remove winlogon event handler key commit 88418dccc815ac6f6439c74a8b7d2da4076df473 Author: Daria Phoebe Brashear Date: Mon Aug 9 05:35:51 2004 +0000 tvolser-default-20040809 build and install tvolser on platforms with tviced. commit 544afa6bcc2dd8a72f58e1fb9e95517a0abba7e3 Author: Jeffrey Altman Date: Mon Aug 9 05:20:07 2004 +0000 release-1370-20040810 Disable the installation of the WinLogon Event Handlers to avoid problems with XP SP2 Final Release booting and profiles being released on logoff. Update version to 1.3.7000 Add VS8 entries to the build system commit c1b72715c2c3c88c8edacc82440512a63808c1b6 Author: Daria Phoebe Brashear Date: Mon Aug 9 05:13:57 2004 +0000 prepare-for-1-3-70-20040809 get configure scripts ready for 1.3.70 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== unget configure scripts ready for 1.3.70. not what i meant to do commit aa72caacc4092bb29bd13df19f2e19456d48c8cc Author: Daria Phoebe Brashear Date: Mon Aug 9 05:07:33 2004 +0000 enable-largefile-clients-20040808 the linuxes should all work. it at least builds on openbsd. i can't imagine freebsd doesn't work, likewise "netbsd 2.0", only question is hpux. commit bdbb4fd7672216fe3e56831a2ff9a52d39c08736 Author: Daria Phoebe Brashear Date: Mon Aug 9 04:30:18 2004 +0000 irix-largefile-client-20040808 enable largefile support in the client commit b26b38a321b6b3f07277b73b111c2b8e65d87cc0 Author: Daria Phoebe Brashear Date: Mon Aug 9 04:25:45 2004 +0000 irix-osi-cred-decl-20040808 add cred declaration for irix back commit 9a2ff82f9b23b60a4c96b0cef0a3785281d1da55 Author: Daria Phoebe Brashear Date: Mon Aug 9 02:23:32 2004 +0000 dux50-largefile-client-20040808 good here also commit faf9b110123a014d233ea8e5a783018f9e4b8a15 Author: Daria Phoebe Brashear Date: Mon Aug 9 01:58:50 2004 +0000 dux-rxk-init-is-void-20040808 rxk_init is a void function commit 20074af8e13da929dbc9c493edd54a5d425224be Author: Daria Phoebe Brashear Date: Mon Aug 9 01:54:05 2004 +0000 dux-min-direct-20040808 someone removed d_fileno from the generic case, put it back there. (maybe it was me, who knows...) commit 3ffd1b18ad08d2f0797c583184bd1ac6a3dd958f Author: Daria Phoebe Brashear Date: Mon Aug 9 01:24:57 2004 +0000 dux-kernel-cleanup-20040808 more "cleanup cleanup" commit 34a078003da5328d089bdea01da079d55dcdf52d Author: Daria Phoebe Brashear Date: Mon Aug 9 01:17:33 2004 +0000 dux-gcpags-20040808 pidtab and npids need to be pulled in so this works commit 1a7e336a169fff770933c3ca963ce625f8693d3b Author: Daria Phoebe Brashear Date: Mon Aug 9 00:59:51 2004 +0000 dux-vol-cleanup-20040808 make partition code work again on dux commit fc2133da492c9adb6edfcec9e63fcf7c15f04885 Author: Daria Phoebe Brashear Date: Mon Aug 9 00:57:23 2004 +0000 ubik-reorder-functions-20040808 avoid need for prototypes by reordering commit 5f93afbeff04804d4aaf05eb263dd53ae1e68fab Author: Daria Phoebe Brashear Date: Mon Aug 9 00:49:52 2004 +0000 dux-lwp-makefile-fix-20040808 tru64 hates indented comments inmakefiles commit 3feb2837fa769f57729aad5c9eb1cd9a90974c9b Author: Daria Phoebe Brashear Date: Mon Aug 9 00:12:55 2004 +0000 macos-largefile-client-20040808 libcc_kext is needed for ashldi3, ashrdi3, so that long long operations don't result in undefined symbols commit 5bc0d218f5ee1488301c641734fad636fb282bee Author: Love Hörnquist-Åstrand Date: Sun Aug 8 20:21:33 2004 +0000 rxgk-import-20040808 not actually hooked in yet, but getting it in so we can work with it. commit 2376b591d08cfae37e39eedee849cbb12bb9932c Author: Daria Phoebe Brashear Date: Sun Aug 8 20:07:09 2004 +0000 macos-10-autoconf-update-20040808 10.3.4 and 10.3.5 work commit ed1098ad102490a2540832a849cf64e96ccf8a39 Author: Daria Phoebe Brashear Date: Sun Aug 8 19:14:08 2004 +0000 solaris-largefile-client-20040808 enable largefile client for sparc and x86 solaris 8 and on. commit e3627407b26881034f9501d115781fef39b28128 Author: Jeffrey Altman Date: Sun Aug 8 17:55:28 2004 +0000 debug-messages-20040808 make sure that all messages logged to the Event Log are also in the trace log commit 3d790dd2326f1268a33a70c07eb06d6438ceb052 Author: Jeffrey Altman Date: Sat Aug 7 22:32:46 2004 +0000 winnotes-20040807 document new freelance functionality and update install notes ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== more updates commit 99cd190567f969366051f67f0fbc03919b375cdd Author: Asanka Herath Date: Sat Aug 7 17:56:26 2004 +0000 hidden-dot-files-20040807 Hide dot files even when we can't stat the file. commit 9fef137786ed5da93fa3ed982119cba35f54e606 Author: Jeffrey Altman Date: Sat Aug 7 15:14:17 2004 +0000 unused-vars-20040807 remove unused variables commit 413f2aaf6098c52bb9c8f9a421c70a617df35a17 Author: Jeffrey Altman Date: Sat Aug 7 15:12:11 2004 +0000 free-serverref-list-20040807 Freeing the cm_serverRef_t has proved to be a challenge to get it right. We now pass a pointer to a pointer to the first object in the list to the function. We must be very careful to not destroy the list as we walk the contents of the list with the extra level of indirection. On the other hand, when we are freeing members of the list which have reached a refCount of zero, we must be sure to maintain the fiction of the extra level of indirection. commit e8553285e20c4650340eccb8928ef0cebe94c36e Author: Jeffrey Altman Date: Sat Aug 7 14:45:59 2004 +0000 ignore-me-20040812 ignore this commit commit 0cf725772b6c019401ad485906d0c08d885536e5 Author: Jeffrey Altman Date: Sat Aug 7 06:44:05 2004 +0000 freelance-misc-20040807 Added a change monitor to the HKLM\SOFTWARE\OpenAFS\Client\Freelance key. When a change occurs mark the root.afs data as invalid and for it to be reloaded on the next access. This allows administrators to modify the mount point list without restarting the service. The freelance client used to provide a fake modification time for the root.afs volume data and its mount points of 7/09/2001 14:24 EDT. Added code to extract the last modification time of the Freelance registry key and use that instead. The time now represents the most recent mount point change. smb3.c: Fake the timestamp if we can't stat the file. A zero FILETIME value causes problems. commit 6fc2e2900cc68973a05acedf51462281d8fc89c0 Author: Tracy Di Marco White Date: Fri Aug 6 22:48:28 2004 +0000 netbsd-20-update-20040806 make it compile with current netbsd commit 01845f22fb5847b30c9ab9c687f926ddcd3e35d2 Author: Daria Phoebe Brashear Date: Fri Aug 6 21:13:44 2004 +0000 netbsd-has-long-long-20040806 feedback from gendalia@iastate.edu commit bcc2794e26de749359f06a382dd87ae62610d285 Author: Jeffrey Altman Date: Thu Aug 5 17:51:41 2004 +0000 ntlang-20040805 No longer warn about executing language registry file. commit c35e327595565d36b6965374d2c6237c3dd76f54 Author: Jeffrey Altman Date: Thu Aug 5 17:50:04 2004 +0000 ntbuild-lang-20040805 No longer warn about executing a language registry file since the file no longer exists and is not used with the new installers commit 4c20d3d1fc11bfb1b8fc054d991caa2d6e36dede Author: Jeffrey Altman Date: Thu Aug 5 17:47:28 2004 +0000 winnotes-20040805 Updates winnotes with current info ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== summary of changes performed this week for 1.3.70 commit 432479c4bb20fef14043cf913bdd669d01281990 Author: Jeffrey Altman Date: Thu Aug 5 17:31:34 2004 +0000 mpr-lib-required-20040805 All executables which include the pioctl functions now require mpr.lib to be linked commit 1adc13467055e916b45e54c010dda1f6917bd4cb Author: Jeffrey Altman Date: Thu Aug 5 17:28:10 2004 +0000 winxp-sp2-pioctl-20040805 On Windows XP SP2, when a Kerberos principal is used for login and the KDC is not reachable, Windows will return a DOWNGRADE_DETECTED error when attempting to open the ioctl file. This is because NTLM will not be permitted when there is the potential of an attack. There is a hack to get around this. Manually create a CIFS connection to the AFS client service while specifying the current user's name. This will use the cached password and allow the downgrade to NTLM. commit 0ce0ec85860dcc0f8541f0bcab75f9a91806defa Author: Jeffrey Altman Date: Thu Aug 5 17:24:27 2004 +0000 nsis-20040805 Correct missing debug conditional commit fd297f88e4d4299e51dcc5e9afce8db4a5599d45 Author: Jeffrey Altman Date: Thu Aug 5 17:23:25 2004 +0000 readme-nt-20040805 Update readme with latest WiX installer info commit c50f171f2c9922c6d156f33f12af40ebbcade70d Author: Daria Phoebe Brashear Date: Thu Aug 5 15:48:09 2004 +0000 findclient-print-stolen-clients-20040805 when a client is "stolen" due to a race, print it. commit fca4ef8bfdfd2ddc0dba970427783e4841b5bb50 Author: Asanka Herath Date: Thu Aug 5 04:09:26 2004 +0000 loopback-install-20040804 If the backup hosts file can't be deleted, try changing attribtues first, and failing that try to come up with a unique name for the backup instead of failing. commit b4566d725e1aa4f57d1e6db5821c590a4b6da7c0 Author: Daria Phoebe Brashear Date: Wed Aug 4 20:41:53 2004 +0000 partly-revert-rx-cleanup-20040804 if there's a callback connection to a multihomed client, you need this or you end up with multiple connections, one per IP, being made from the single connection commit 29971c6e9f79f936e5c0b87a4c858543180b2b74 Author: Jeffrey Altman Date: Wed Aug 4 20:30:03 2004 +0000 ticket-6077-20040804 FIXES 6077 Patch from Joe Buehler modified by Asanka commit 993051678f84137fd216a95ca3af84a59ca66451 Author: Asanka Herath Date: Wed Aug 4 17:36:10 2004 +0000 misc-post-1366-20040804 Update documentation on cache control and credential manager options in MSI deployment guide. 'CachePath' setting in registry allows REG_EXPAND_SZ type. Update registry documentation for 'CachePath' setting. Both installers save the credential manager command line options in registry. Fix handling of existing 'afsdcell.ini' file in WiX installer. WiX 2.0.1927 changed the XML schema. The WiX installer has beed updated accordingly. commit fc128997e7d9b4bd4555731da60bd6a425179596 Author: Jeffrey Altman Date: Wed Aug 4 16:54:42 2004 +0000 shortcut-params-20040804 Fix the retrieval of the shortcut params from the registry when the HKCU\Software\Openafs\Client key exists but the AfscredsShortcutParams is missing. commit 306f75eb4cfe174da3ad7524320316109d75bd76 Author: Jeffrey Altman Date: Wed Aug 4 16:52:56 2004 +0000 server-list-refcount-20040804 cm_GetVolServers must return a pointer to the pointer to the server list so the volume can be updated when the list is freed commit 03dd9eefd3e8e797493463522ee9f3eb1e36e8bd Author: Jeffrey Altman Date: Tue Aug 3 21:10:36 2004 +0000 freelance-deadlock-20070803 oops commit 986bee7d66fc98e7efb14575939ca30ad6152f57 Author: Jeffrey Altman Date: Tue Aug 3 20:40:31 2004 +0000 freelance-deadlock-20040803 Avoid deadlock in Freelance mount point re-initialization commit cb1730a07c0ed597b2cd59e85366204af459f2ea Author: Jeffrey Altman Date: Tue Aug 3 18:27:52 2004 +0000 windows-misc-20040803 Increase max chunksize to 128K from 32K. Windows uses 64K SMB writes. The large chunksize helps reduce the overlapped write to afs issue. Increase number of server threads from 4 to 25. Also helps to aleviate the symptoms of the overlapped write to afs issue. I can now write files as large as 80MB. 120MB files still fail. Export pr_CreateUser and pr_SNameToId from afsauthent.lib in order to allow aklog.exe to use them to determine if a new pts uid should be created for a user when accessing a foreign cell. Modify pioctl to output a message to stderr if a Downgrade Detection error has been returned when attempting to open the __IOCTL__ file. Increase version number to 1.3.6601 Use HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer:Logon User Name to determine the current user name for the afscreds.exe display Do not allow submount names to have forward or backward slashes Add debug info to cm_ioctl to track token addition and deletion Add register new user code to aklog.exe from KenH's AFS kit Correct test in cm_callback.c for freelance root.afs volume which should not have been applied when freelance was not active. commit 268b92917024bab8321b347275afe32ff8e0e5cc Author: Jim Rees Date: Tue Aug 3 15:45:49 2004 +0000 fix-lwp-includes-again-20040803 Fix lwp includes AGAIN. commit acfafa740df96b71989383fd24191d1ef03cb6d1 Author: Jeffrey Altman Date: Sun Aug 1 01:20:34 2004 +0000 submount-20040731 Change "Description" field to "Submount" commit 4a4c214cbcbf65e2028a57e36fe774eb3cf23192 Author: Jeffrey Altman Date: Sun Aug 1 01:19:08 2004 +0000 osi-save-strings-20040731 Increase the save string length to 128 from 30 in order to be able to handle principal names, paths, etc. commit 16e5767cc91e62721ce8c14ba6180efb9f404b97 Author: Jeffrey Altman Date: Sun Aug 1 01:16:37 2004 +0000 misc-windows-20040731 Move most log entries to the osi trace log from the afsd_init.log Add log entries to help diagnose the lost callback problem Fix a variety of type errors in header files and casts More fixes for cm_Analyze. Do not allow a retry to be performed if the timeLeft on the call has expired. Forcing a retry resets the timeout period causing the call to never expire. The side effect is that the SMB sessions never close. When the Windows SMB client times out it will create a new session at a rate of one per 66 seconds. This causes the SMB session limit to be exceeded and we panic. Modify the SMB Session limit to be four less then the number of SMB NCBs. This is because the server itself uses 4 NCBs which are not associated with sessions. commit 6eaeb762448b0887cd3319bbd4cdb242838bc3b2 Author: Jeffrey Altman Date: Fri Jul 30 21:02:57 2004 +0000 server-list-and-volume-updates-20040730 As discovered previously, the cm_serverRef_t objects were not reference counted. This resulted in the objects being freed while they were still in use. This patch adds reference counting to the cm_serverRef_t objects which are locked using the cm_serverLock. Once the reference counting was fixed it became immediately obvious that cm_VolumeUpdates could not succeed in altering the state of a server list from ALLOFFLINE to NOTBUSY. cm_VolumeUpdate calls cm_Analyze without a fid_t object which was required to obtain the server list for the affected volume. Of course, cm_VolumeUpdate has a pointer to the volume so cm_Analyze was updated to take an optional pointer to a cm_serverRef_t which avoids the need for the fid_t object. commit 24411ebbd7a2644225b60b83c1fb36912fb34145 Author: Jeffrey Altman Date: Fri Jul 30 05:04:27 2004 +0000 get-server-list-20040729 Undo the previous patch. the server list can't be cloned. instead we will have to refCount the cm_serverRef_t objects. This is going to be a lot of work. To be continued ... commit e5453d2814a45978d291133e3e0799c27ed1361c Author: Rainer Schöpf Date: Thu Jul 29 22:29:18 2004 +0000 linux26-dont-lose-afs-smp-status-20040729 this should be fixed better later, but for now we'll go with this commit 9c5895b8c124a307fb2f7c939fdf7d62901d1bba Author: Chaskiel M Grundman Date: Thu Jul 29 19:51:20 2004 +0000 vos-shadow-print-status-correctly-20040729 we were printing that volumes were shadowed to partition partition instead of server partition commit 333d836050361ae3a7423da9e270784db378bdf0 Author: Jeffrey Altman Date: Thu Jul 29 17:55:01 2004 +0000 aklog-20040729 Fix afs_realm_of_cell5() to validate the return value of krb5_get_host_realm commit 20cfcb0aea5aedc63fcb2695d540ed28c5cf899d Author: Jeffrey Altman Date: Thu Jul 29 15:38:57 2004 +0000 nonpersistentcaching-20040729 document new value commit 46bafc8a620ba956f057b47a32287a87a857e407 Author: Asanka Herath Date: Thu Jul 29 15:34:21 2004 +0000 virtual-cache-file-20040729 This is a variation of Joe Buehler's request. New registry key "NonPersistentCache" places the cache file into the Windows paging file. One limitation of doing so is that the page file cannot be grown with "fs setcachesize" and the associated ioctl. commit 924fb5f5b96e4288a70bf64deee37886f78e2d38 Author: Asanka Herath Date: Thu Jul 29 14:53:35 2004 +0000 server-ref-list-20040729 There was a race condition where between a thread calling cm_GetServerList and using the returned server list, another thread could free the server list. Now cm_GetServerList duplicates the server list with proper locks held. Callers of cm_GetServerList call cm_FreeServerList to free the returned list. commit 2395eb60757025a47b5d729948baf1951cc4467a Author: Daria Phoebe Brashear Date: Thu Jul 29 05:29:33 2004 +0000 afsmonitor-update-stat-descriptions-20040729 FIXES 5952 correct list of available stats commit d6df153cead8ecd26645320a05576a4636947c66 Author: Alf Wachsmann Date: Thu Jul 29 05:20:52 2004 +0000 afsmonitor-results-fix-20040729 FIXES 5929 use the correct variable when converting result sto ascii commit 276d7351122263a76ce0122e36b8218569480e2f Author: Alf Wachsmann Date: Thu Jul 29 05:17:02 2004 +0000 afsmonitor-document-usage-20040729 FIXES 5931 update the docs to reflect the usage correctly commit 9e6977f39e04f9700b1923f7167331f59cb711ae Author: Alf Wachsmann Date: Thu Jul 29 05:09:18 2004 +0000 afsmonitor-remove-pointless-if-20040729 FIXES 5933 an if in an else which will always trigger is dumb commit 5ece0001b8bf4de2c6e3b7afc435f322e887cad5 Author: Alf Wachsmann Date: Thu Jul 29 05:03:31 2004 +0000 afsmonitor-document-stat-entries-correctly-20040729 FIXES 5934 NUM_CM_STAT_ENTRIES should match the docs commit 0bc9af9ed91689ef8a9e0c631b927f1674195a35 Author: Jeff Mahoney Date: Thu Jul 29 04:57:03 2004 +0000 makefileproto-configer-cleanup-20040728 make config tool for MakefileProto processing able to deal with e.g. "linux26" for all linux 2.6 platforms commit b1289615e1737536769ca7e1a83434b140102c7b Author: Alf Wachsmann Date: Thu Jul 29 04:53:27 2004 +0000 afsmonitor-categories-correction-20040728 FIXES 5951 wrong number of categeories defined. oops. commit 21592fe61aac073eca6807dec1b294b475735cfa Author: Kris Van Hees Date: Thu Jul 29 04:44:08 2004 +0000 volser-restore-timestamp-cleanup-20040728 FIXES 5926 This patch solves the problem of how timestamps are handled by during a 'vos restore' by allowing the specification of there the creation and last updated timestamps are taken from: - generate a new one using the current time - retain the one in the target volume if there is one - restore the timestamp from the dump file This is needed to allow sequences of restoring incremental dumps on top of full dump work, and to ensure that a subsequent vos release can do a real incremental release for the restored incremental dumps. It also fixes the fact that the vos exa command hides potential problems with timestamps by refusing to display a last updated timestamp that is older than the creation timestamp. commit 08a623793fa7e9fc5c4428f5b575eded9b40e6bd Author: Phil Holland Date: Thu Jul 29 04:36:53 2004 +0000 darwin-rc-script-update-20040728 FIXES 6027 update rc script to support stopping afs commit 9728182c00db80f61aa78e225ecaffcc4df7615c Author: Phil Holland Date: Thu Jul 29 04:32:56 2004 +0000 darwin-afsdb-handler-signal-mask-20040728 FIXES 6027 mask signals on darwin so afsdb handler doesn't die commit f01257a2042a4c39186b4f417f71b6024beaf61e Author: Rainer Schöpf Date: Thu Jul 29 04:18:07 2004 +0000 afs-dont-shutdown-if-not-started-20040728 FIXES 6001 if the module is loaded, but afsd hasn't been started, don't allow a shutdown. commit 4054aec72b4cfd922a044d73bf92f73374219638 Author: Kris Van Hees Date: Thu Jul 29 04:13:37 2004 +0000 afs-suser-consistent-20040728 FIXES 6034 always call afs_suser() with one arg. always take one. commit e5e7801db895b1e57ff99fb59371aee47ac33b9c Author: Rainer Schöpf Date: Thu Jul 29 04:08:48 2004 +0000 linux-null-superblock-if-mount-failed-20040728 FIXES 6002 The appended patch resets afs_globalVFS to NULL if /afs cannot be mounted, eg., if no cell server is accessible. There are two advantages: - it is possible to do "afsd -shutdown" to terminate all daemons - more importantly, if /afs cannot be mounted, the linux kernel will probably free the superblock, ie the memory pointed to afs_globalVFS. commit 563894500fa0a108aeec400077b57b062b7db96c Author: Daria Phoebe Brashear Date: Thu Jul 29 03:46:48 2004 +0000 rx-provide-binding-version-of-init-20040728 i should be dragged away and beaten for this first pass at interface to allow bound Rx sockets ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== i should be dragged away and beaten for this ==================== i should be dragged away and beaten for this first pass at interface to allow bound Rx sockets ==================== i should be dragged away and beaten for this first pass at interface to allow bound Rx sockets ==================== i should be dragged away and beaten for this first pass at interface to allow bound Rx sockets ==================== i should be dragged away and beaten for this first pass at interface to allow bound Rx sockets ==================== i should be dragged away and beaten for this first pass at interface to allow bound Rx sockets ==================== i should be dragged away and beaten for this first pass at interface to allow bound Rx sockets commit 5dc0642264fd97ab255ff5b15c08a172eb25f831 Author: Daria Phoebe Brashear Date: Wed Jul 28 22:49:18 2004 +0000 fssync-more-offline-volumes-20040728 just let the offline volumes array be larger commit 40d54d5dd1c64564410f9efa8806b97e952a00ca Author: Jeffrey Hutzelman Date: Wed Jul 28 21:59:58 2004 +0000 lwp-track-qwaiting-second-try-20040728 FIXES 5616 track qwaiting lwps rather than potentially leaking them commit b20129a33794c2c1b28852cb2e6af51eb2e9e06d Author: Jeffrey Altman Date: Wed Jul 28 04:54:19 2004 +0000 unc-paths-current-directory-20040727 fix the handling of unc paths in pioctl calls when the current directory is the unc path. (not likely to be the case with cmd.exe since it does not support pure unc path environments. 4nt.exe shows the problem though.) commit 49fb21afc5a9c0f5d5568d93167b6d8561ba78a5 Author: Jeremy Mika Date: Tue Jul 27 17:24:40 2004 +0000 fbsd53-20040727 FreeBSD 5.3 has an extra thread arg to vflush() commit 58069bf38068b559e10460b0d6c814d0cd7c96ad Author: Jim Rees Date: Tue Jul 27 15:39:31 2004 +0000 bsd-new-releases-20040727 Preliminary support for FreeBSD 5.3 and OpenBSD 3.6. OpenBSD osi_vnodeops.c patch from brent@graveland.net (slightly modified) Remove obsolete src/lwp/process.fbsd.s to prevent further confusion commit 22fbf94fcd6a3be86f197b26ffdcd5891fd91906 Author: Asanka Herath Date: Tue Jul 27 14:32:38 2004 +0000 msi-deployment-guide-20040727 a guide to making organization specific modifications to the msi installer commit 71530bc5c0e6cfffc5d18f1766d6cada9e608b5f Author: Tommie Gannert Date: Tue Jul 27 14:23:11 2004 +0000 registry-txt-20040727 Remove duplicate entries commit 93a9087c5c2876ed8f4718cced27c82b9e1b51e9 Author: Jeffrey Altman Date: Tue Jul 27 22:34:46 2004 +0000 freelance-rw-20040727 Fix cm_Lookup to properly set the rw flag when adding Freelance mount points based on whether the filename begins with a '.' Fix cm_FreelanceAddMount to set the cellname to the cellname without the '.' when rw mode is used and a cellname is not provided. commit b02dabd24edd97a44f5f27ca5116e47588981660 Author: Jeffrey Altman Date: Tue Jul 27 00:24:09 2004 +0000 winnotes-20040726 Updates for 1.3.66 commit 92076d87491618f3194da528d8d824d3888dad95 Author: Asanka Herath Date: Tue Jul 27 00:22:20 2004 +0000 afsd-20040726 Prevent a TID allocated for IPC from being used for anything other than RAP. Implement NetServerGetInfo instead of returning an error. When looking for shares, go through root.afs first before trying to add a mount point. commit 3c402009821570b840641be6afe261f1187f0da3 Author: Jeffrey Altman Date: Tue Jul 27 00:14:42 2004 +0000 afslogon-20040726 Only display the "Integrated Login failed" message box if Integrated Login is in fact being used. commit 06634de3494db97c182b3452e1f7a9b70e608606 Author: Jeffrey Altman Date: Tue Jul 27 00:01:31 2004 +0000 afsconfig-dns-cells-20040726 Another annoying bug. afs_config.exe now validates cell names against DNS in addition to the CellServDB file. commit 7ab88f29eae461f7e6aee819e2e6885921a173f2 Author: Jeffrey Altman Date: Mon Jul 26 21:40:23 2004 +0000 misc-patches-20040726 Update .cvsignore files for windows ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== cleanup uninitialized variables ==================== more dlls to be replaced ==================== When determining the full path of a UNC path, strip the server and share names commit 1d4e40b3604daec3d1cba3f2f4b473d6dc7fd2f4 Author: Jeffrey Altman Date: Mon Jul 26 20:08:42 2004 +0000 freelance-cellid-20040726 Replace Freelance cellid constant 0x1 with a #define and set its value to 0xFFFFFFFF to avoid collisions with the root.cell volumes on remote cells. commit 0b41cf16f003a9d60a6fbf3941d6de94e9243195 Author: Jeffrey Altman Date: Mon Jul 26 03:48:47 2004 +0000 novolume-20040725 if we are going to return CM_ERROR_NOSUCHVOLUME do it whenever the server list is empty. If the server list is empty, allDown and allBusy will always be set but there is nothing we can do. commit 0dbdc359dfbcf794303b398f00692b914c5f0f6b Author: Jeffrey Altman Date: Sun Jul 25 22:47:20 2004 +0000 version-update-20040725 Update version to 1.3.66 commit c281138620a634e805f86b29d6dd58fdc4dcb286 Author: Jeffrey Altman Date: Sun Jul 25 22:45:19 2004 +0000 kfw-2-6-4-20040725 Update KFW SDK to 2.6.4 commit 3a89df255ce6de5b7bf4473931e9cdfe5b059156 Author: Jeffrey Altman Date: Sun Jul 25 21:53:09 2004 +0000 small-tweaks-20040725 * update winnotes * add osi trace log entries to help diagnose issues with overlapped writes from CIFS client * fix osi trace log entries for freelance add mount to use osi_SaveLogString * fix afscreds "Start Service" to automatically obtain tokens if kerberos tickets are available * update afscreds systray menu to use "..." after Remove Icon * remove extra "." in wix installer resource commit 1a711beba6e8e0ea402a5c85f58263fe508eab3d Author: Jeffrey Altman Date: Sat Jul 24 19:59:32 2004 +0000 force-vol-upd-20040724 Change cm_ForceUpdateVolume to not try to perform an immediate update. Just set the CM_VOLUMEFLAG_RESET flag. Calling cm_UpdateVolume calls cm_connByMServers which then calls cm_Analyze which is how we ended up having cm_ForceUpdateVolume called in the first place. commit 6c2eaf58156782c8665d647a33040f17680fd774 Author: Jeffrey Altman Date: Sat Jul 24 16:25:35 2004 +0000 global-drives-20040724 If creating the global drive letter fails, attempt to cancel the previous use and then re-create. commit e73c65900fe5285f9bbff9783d10713b2b9bdd36 Author: Jeffrey Altman Date: Sat Jul 24 09:31:15 2004 +0000 smb-extended-20040724 Don't fallback to SMB_AUTH_NTLM. Apparently, allowing SPNEGO to be used each time prevents the failure of authentication when logged into Windows with an external Kerberos principal mapped to a local account. commit ed8fdaa8e152ed1e607b187b15ae072db30ccfa9 Author: Asanka Herath Date: Sat Jul 24 08:35:04 2004 +0000 wix-updates-20040723 Change default security level to 'crypt'. Add registry key for SMBAuthType. Add configurable property for SMBAuthType. Remove high security mode option from the UI. Workaround UI bug where a text control would redraw twice, once properly, once without interpreting format codes when there are two properties to replace. commit efd0f88ed5a90bff92ab2b3b7ad47c02d704c450 Author: Jeffrey Altman Date: Fri Jul 23 23:58:24 2004 +0000 down-before-busy-20040723 slight correction to previous patch. check allDown before checking allBusy commit 74197f04f373758368dcc99a86260d62e55625ac Author: Jeffrey Altman Date: Fri Jul 23 23:25:23 2004 +0000 install-notes-20040723 Update the install notes to describe conflicts between SMB Authentication and Windows machines configured with non-Windows Kerberos authentication used to map to local accounts. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== More updates to smb auth vs external kerberos login commit 56f82397c60ce968f7d02c9bba22bc6489f7e162 Author: Daria Phoebe Brashear Date: Fri Jul 23 23:06:22 2004 +0000 linux-null-out-stat-struct-20040723 FIXES 3812 we should memset this to 0. we should also only do it once for linux 2.2. code is slightly different in the cvs head. commit d4b14b4e947b44c8e167c81d07554ca52bc814ff Author: Jeffrey Altman Date: Fri Jul 23 22:55:23 2004 +0000 allserversdown-20040723 When all servers associated with a volume get into the CM_SERVERFLAG_DOWN state, the error CM_ERROR_ALLOFFLINE would be returned by cm_ConnByMServers. cm_Analyze was then supposed to be pausing for 5 seconds and then reset the volume information. Unfortunately, although it called cm_ForceUpdateVolume, cm_ForceUpdateVolume does not reset the CM_SERVERFLAG_DOWN state on the servers. Therefore, when cm_ForceUpdateVolume calls cm_ConnByMServers it would be given a CM_ERROR_ALLOFFLINE. In other words, there was no way out of the state. cm_Analyze will now reset the CM_SERVERFLAG_DOWN as well as setting the server status to not_busy after its 5 second wait. This will allow cm_ForceUpdateVolume to actually reset the volume information, and refresh it if servers for the volume are newly accessible. Also, added some missing locking calls in cm_Analyze. In cm_ConnByMServers, change the error reporting to return CM_ERROR_ALLBUSY only when all servers are busy or down; return CM_ERROR_ALLOFFLINE when all servers are down; and only return CM_ERROR_NOSUCHVOLUME if the server list for the volume is empty. In all other cases return CM_ERROR_TIMEDOUT. commit f84f7306a3bfe143fba59294429af3ba1598222d Author: Jeffrey Altman Date: Fri Jul 23 00:21:06 2004 +0000 afslogon-domain-20040722 Fix null reference to bstr when active directory is not available during a short domain acquisition commit 7da4cd1adc8ce09effe52071691d5bafa32371f2 Author: Jeffrey Altman Date: Thu Jul 22 23:41:27 2004 +0000 prototypes-20040723 fix prototype for afs_realm_of_cell commit 1a5fbdb9432add6f5acad22d7ee787d567c00fca Author: Jeffrey Altman Date: Thu Jul 22 23:15:37 2004 +0000 afslogon-20040722 the procedure used to obtain the profile directory failed in Domains which were not Forests. If ADS_NAME_INITTYPE_GC fails, we must try ADS_NAME_INITTYPE_DOMAIN which requires the Domain. Added a Domain parameter to QueryAdHomePathFromSid. This was easy to obtain in the NPLogonNotify since the logon domain is provided as a parameter. Unfortunately, the domain provided to the winlogon event notification routine is the user authentication domain, not the logon domain for the local machine. Needed to create a GetLocalShortDomain function which uses the IADsADSystemInfo COM interface to obtain the local short domain. With this in place, we can now properly detect the profile directory in all cases. Document MaxLogSize in registry.txt commit d538abeb1b03b4a77d18aa17e13ac8347f4df336 Author: Jeffrey Altman Date: Thu Jul 22 10:42:40 2004 +0000 misc-cleanup-20040721 pass the correct data type into afssw_GetClientCellServDBDir commit 2743691b770268ba0584369aa960ef2f656759b4 Author: Jeffrey Altman Date: Thu Jul 22 10:23:52 2004 +0000 misc-cleanups-20040721 * Cleanup debug logging. In particular, allow the TraceOptions registry value to be used as a bit flag as it was intended. Give each type of debugging its own value instead of having each module test for the zero bit. * Modify the handling of the afsd_init.log file. This file originally was replaced on each start. However, with auto-restart this causes any error information from the previous halt to be lost. So it was changed quite a while back to append forever. The problem with this is that the file gets unreasonably large. Solution: add a new registry value, MaxLogSize, which determins how large the file should be allowed to become before truncation. The default is 100K. The magic value 0 means grow indefinitely. * Update afslogon.dll. Cleanup logging. Fix some errors. Remove unused variables. AND do not Forget Tokens on Logoff if the profile is located in AFS space. * Fix a bug introduced yesterday in cellconfig.c which caused problems accessing the CellServDB file * Update the NSIS installer to replace the CRTL DLLs instead of overwrite them. * Add new Startup Winlogon handler to initialize the TraceOption. commit efce9b6f2994bb1e0a9f28f059e9733fb0d964fb Author: Daria Phoebe Brashear Date: Wed Jul 21 23:23:38 2004 +0000 fstrace-avoid-double-glock-in-dentry-code-during-fstrace-20040719 fstracing on a linux machine and trying to fs flush a file in the cache would trigger a hang on a machine with SMP kernel. fix it. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fstracing on a linux machine and trying to fs flush a file in the cache would tr igger a hang on a machine with SMP kernel. fix it. commit 9bc1b6a7b9f09922d2a097b36e4e5f8d763eaece Author: Jeffrey Altman Date: Wed Jul 21 22:41:33 2004 +0000 trace-logging-20040721 TraceLogging is supposed to be activated for different purposes with bit flags. The osi log and afslogon both used the same bit flag. Bit 0 is now for afslogon; and Bit 1 is for osi log. commit 0e64553af6333305fbd227635a1800c476539b48 Author: Jeffrey Altman Date: Wed Jul 21 17:08:28 2004 +0000 cifs-rap-20040721 Fix smb_ReceiveRAPNetShareEnum to report the correct buffer size to the client commit b0920fe9c2cfbb314146c7a9941aec3cc20b96c8 Author: Jeffrey Altman Date: Wed Jul 21 15:05:59 2004 +0000 registry-docs-logoff-20040721 * Update Windows Notes files * Modify logoff procedure to use a pioctl to check if an arbitrary path exists within AFS * Add a new registry value HKLM\Software\OpenAFS\Client CellServDBDir which can be used to locate the CellServDB file in an arbitrary directory commit feb3e7641257afd050f1dc6b11d5a7fc09f58a30 Author: Jeffrey Altman Date: Wed Jul 21 06:27:44 2004 +0000 afslogon-20040720 Do not release the AFS Tokens at logoff if the user's profile was loaded from AFS. In this case we must keep the AFS tokens because we have no idea how long writing back the profile might take. commit 8517719bc83406e966b472067c43156db5b5da5d Author: Asanka Herath Date: Wed Jul 21 05:43:07 2004 +0000 smb-rap-20040720 Add CIFS RAP support to the SMB server. This allows AFS to be queried with NetGetShareInfo, NetGetServerInfo, etc. This allows the AFS SMB server to be browsed using NET VIEW. commit 3ed447174447e7d423f28dddb9244a2465ed28b4 Author: Jeffrey Altman Date: Tue Jul 20 16:51:07 2004 +0000 user-auth-cell-20040720 remember to return the authentication cell name if found commit fd8e75df5ef3dd503a31c75c952655ecd50213c4 Author: Jeffrey Altman Date: Tue Jul 20 16:48:18 2004 +0000 submounts-20040720 Fix afsshare.c to strip the MountRoot off the afs-path before inserting into the registry Fix smb.c to read the submounts out of the registry. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix submount extraction from registry commit aa9dff3b1b5d3a483862773a211395a8d02566ce Author: Jeffrey Altman Date: Tue Jul 20 06:16:35 2004 +0000 afsshare-20040719 correct off by one error commit 25ec4c8140f765d5d25874947a12cc193ac2f88d Author: Jeffrey Altman Date: Mon Jul 19 23:40:12 2004 +0000 ioctl-freelance-20040719 Do not perform a Cell Search when the name matches the SMB IOCTL filename. This is a special name and is not to be treated as a cell. The failure to find the name produces DNS queries as well as disk access. commit 32ee04d17d1709050b567494cb115ec0a4a6b3e0 Author: Daria Phoebe Brashear Date: Mon Jul 19 16:25:16 2004 +0000 pthread-ft-approxtime-is-time-20040719 for tvolser most code paths simply never result in time being updated. seems dangerous. commit f02a7996b96c646df6d210347e26a501a136b44d Author: Jeffrey Altman Date: Mon Jul 19 15:39:38 2004 +0000 win32-fd_set-20040719 Make sure that we do not alter the FD_SETSIZE on Windows. On Windows this is an array of FD_SETSIZE. FD_SETSIZE does not define the maximum socket handle value. commit 60446a8ffe48e9ab93bb8657f7fe29010c1ebfda Author: Asanka Herath Date: Fri Jul 16 05:49:26 2004 +0000 registry-20040715 Description of new afslogon functionality commit 7930ab49288141d4ebbe6bd58c8841f817891ed7 Author: Asanka Herath Date: Fri Jul 16 05:40:54 2004 +0000 strsafe-20040715 String Safety fixes commit 9a8b4bbd934d4490f3bc9df127d1ce3e1ae67268 Author: Jeffrey Altman Date: Fri Jul 16 04:56:46 2004 +0000 ntmakefile-20040715 Updated makefiles to avoid macro redefinitions and add new files to src/WINNT/afsd commit 01e6e22c15c646931c63e2595f063a8e3822c1b4 Author: Asanka Herath Date: Fri Jul 16 04:48:22 2004 +0000 afslogon-20040715 New file for AD logon processing routines. commit fe991aa74f9c289a36f6ecae7e74bb42c2b178c6 Author: Jeffrey Altman Date: Fri Jul 16 04:38:25 2004 +0000 afslogon-wix-cleanup-20040715 - Fix NTMakefiles in many directories to define WIN32_LEAN_AND_MEAN NOGDI to avoid macro redefinitions - update text files - add "authentication cell" registry value for afscreds.exe From asanka@mit.edu: Network provider : - If the user is logging into an AD domain, then look up the user's profile path, find out which cell it's in and then authenticate to that cell instead of the default cell. - Domain specific registry keys - A few fixes for handling UNICODE_STRINGs smb3.c : - Delete partial security context during negotiation client_cpa : - As per the SDK which says we must handle CPL_INQUIRE message, we do. Also fixes a small bug where the icon isn't properly set when viewing the Control Panel folder. loopbackutils.cpp - Don't bother setting the app data template, because we are setting it in the MSI anyway. install/wix/NTMakefile - Add a configurable symbol AFSDEV_AUXWIXDEFINES which can be used to customize a build of the msi. install/wix - Move afslogon.dll to SYSTEM32 directory - Add registry keys to support WinLogon notifications. - Rename afsdcell.ini to CellServDB and move it to the client directory. - If there's already an afsdcell.ini in the Windows directory, copy that over to the client directory instead. - Add descriptions to AFS client and server services commit 8063c68dc8a57447cac39444197511d21257ea88 Author: Jeffrey Altman Date: Thu Jul 15 17:26:35 2004 +0000 winnotes-20040715 Update Windows note files with the latest changes. commit aeae9c030125ab14b1a465b667d43d5984ef8236 Author: Jeffrey Altman Date: Thu Jul 15 07:53:12 2004 +0000 nsis-installer-20040714 Move afs_cpa.cpl control panel to the OpenAFS\Client\Program directory and register it in the registry via the HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls\ key. commit f63ba24b48cab6484ba37e58564b3b42a612437e Author: Jeffrey Altman Date: Thu Jul 15 06:24:22 2004 +0000 nsis-20040714 Rename afsdcell.ini to CellServDB Add Winlogon Event Notification support Move afslogon.dll to %WINDIR%\System32 commit 671792a8d2ffc68153d812d4b2a9078f287c7f55 Author: Jeffrey Altman Date: Thu Jul 15 06:22:14 2004 +0000 cellservdb-20040714 Search for the CellServDB in the OpenAFS client install directory not in the %WINDIR% directory commit 674afe86c0ffbc808803127564a744ee59311737 Author: Jeffrey Altman Date: Thu Jul 15 06:20:33 2004 +0000 afslogon-20040714 Add a Winlogon Event Notification handler to afslogon.dll to process Logoff events. Upon Logoff call ktc_ForgetAllTokens() on behalf of the logged off user. Fix a filename wildcard matching error introduced a few versions back. commit 7aca33e6ebeafc96af8e62a99fea9b9bfae8bf25 Author: Jeffrey Altman Date: Wed Jul 14 07:34:09 2004 +0000 incorrect-level-of-indirection-20040713 When freeing a server_t, do not indirect to GC the connections commit 59d81d9d24f8bc1fecdab7cd7661f1145fb10066 Author: Asanka Herath Date: Wed Jul 14 07:12:20 2004 +0000 xp-sp2-icf-20040713 Windows XP SP2 adds a firewall which blocks all incoming ports by default. This patch adds support to the AFS Client Service (but not the AFS Server) to automatically open the firewall to ports in use by the application. One of the new requirements of this functionality is the use of the latest Platform SDK "Microsoft Platform SDK for Windows XP SP2". ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== For the XP SP2 SDK both the Core and Data Access SDKs are required commit ccea80c085da5671a0b7228eec9f67ddb92ffe77 Author: Hans-Gunther Borrmann Date: Wed Jul 14 05:46:48 2004 +0000 butc-xbsa-20040714 FIXES 5827 update for xbsa 5 commit 4f13d9daa981d1c55c19a1606a5f0638846ffe88 Author: Chas Williams Date: Wed Jul 14 05:34:46 2004 +0000 glock-kernel-lock-ordering-20040714 FIXES 5836 make lock order consistent some routines have kernel lock held when entered, so... commit b7b62574fdf64e5d6aa4e3dd932bafc59685f5c0 Author: Chas Williams Date: Wed Jul 14 05:21:54 2004 +0000 fix-fstrace-for-linux-20040714 FIXES 5835 don't deadlock when flushing dcache children commit 4aba717d6404cad38583e96eb38227f542dad430 Author: Chas Williams Date: Wed Jul 14 05:14:31 2004 +0000 linux-free-dont-drop-alloc-sem-20040714 FIXES 5831 dropping semaphore not needed, so don't commit f70a694a15c7ce6d042506e9b8af5323056faeda Author: Christoph Becker-Freyseng Date: Wed Jul 14 05:08:06 2004 +0000 linux24-update-20040713 FIXES 5713 make getgroups compile deal with afs_suser(x) and afs_suser() commit 8e3383a9eacb39a0e90eaabf5c78679c720f8e39 Author: Jeffrey Altman Date: Wed Jul 14 04:28:36 2004 +0000 no-more-ini-files-20040713 Get rid of all %WINDIR% INI files afs_freelance.ini moved to the HKLM hive SOFTWARE\OpenAFS\Client\Freelance afsdcell.ini moved to the Openafs Client install directory and renamed to CellServDB to match Unix and the Openafs Server. afsdsbmt.ini moved to the registry. Submounts are moved to HKLM hive SOFTWARE\OpenAFS\Client\Submounts. Active Maps and Drive Mappings are moved to the HKCU hive SOFTWARE\OpenAFS\Client\Active Maps and Mappings. CSCPolicy is moved to HKCU hive. afsdns.ini is no longer used. NSIS installer updated to migrate the afsdcell.ini to CellServDB The cm_freelance.ini module has been modified to migrate the afs_freelance.ini data to the registry on first execution. The afsdsbmt.ini file data is not currently being migrated. commit f2235b4832f9745608cde593daa22fcf79070220 Author: Jeffrey Altman Date: Tue Jul 13 14:09:16 2004 +0000 migrate-to-registry-20040713 * NTMakefile: missing commit from SMB AUTH patches * cm_config.c: obtain location of CellServDB from registry [HKLM\SOFTWARE\OpenAFS\Client] "CellServDB"=reg_sz This will allow us to move from %WINDIR%\afsdcell.ini to C:\Program Files\OpenAFS\Client\CellServDB. This is necessary for compatibility with Terminal Server in which applications are not given access to %WINDIR%. * cm_freelance.c: migrate freelance mount point data from %WINDIR%\afs_freelance.ini to the registry [HKLM\SOFTWARE\OpenAFS\Client\Freelance] Each value, whose name is unimportant, contains one mount point entry. After the first execution of this code, the current data in afs_freelance.ini will be moved to the registry and then all subsequent data access will be performed via the registry. The afs_freelance.ini file will be deleted after the migration has occurred. commit 10e32e99cea35cfe0da7726171fb2343f5e52a35 Author: Jeffrey Altman Date: Tue Jul 13 07:22:53 2004 +0000 ntlm-back-connection-hostnames-20040713 Add function configureBackConnectionHostNames(void) On Windows XP SP2, Windows 2003 SP1, and all future Windows operating systems there is a restriction on the use of SMB authentication on loopback connections. There are two work arounds available: (1) We can disable the check for matching host names. This does not require a reboot: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "DisableLoopbackCheck"=dword:00000001 (2) We can add the AFS SMB/CIFS service name to an approved list. This does require a reboot: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0] "BackConnectionHostNames"=multi-sz The algorithm will be: Check to see if cm_NetbiosName exists in the BackConnectionHostNames list If not, add it to the list. (This will not take effect until the next reboot.) and check to see if DisableLoopbackCheck is set. If not set, set the DisableLoopbackCheck value to 0x1 and create HKLM\SOFTWARE\OpenAFS\Client UnsetDisableLoopbackCheck else If cm_NetbiosName exists in the BackConnectionHostNames list, check for the UnsetDisableLoopbackCheck value. If set, set the DisableLoopbackCheck flag to 0x0 and delete the UnsetDisableLoopbackCheck value commit 229051032dbf6a56e99fa3231990df6c61b6fa9b Author: Daria Phoebe Brashear Date: Tue Jul 13 07:08:32 2004 +0000 admin-doc-sysname-20040713 FIXES 4054 update docs to reflect sys being static. commit 320ddefc691b71ba4bf29a91ced8e55028f9bfb6 Author: Hans-Gunther Borrmann Date: Tue Jul 13 06:52:44 2004 +0000 butc-xbsa-20040713 FIXES 5761 update for butc xbsa support commit 4bd03a76c55b6f90f82a3625207ed31be375bcf8 Author: Rainer Schöpf Date: Tue Jul 13 06:49:54 2004 +0000 kdump-linux-26-20040713 FIXES 5814 update kdump for linux 2.6 commit 3791318ca4faa230dc32304c055896661fc24fa5 Author: Rainer Schöpf Date: Tue Jul 13 06:45:14 2004 +0000 afs-cold-shutdown-20040713 FIXES 5768 use correct syscall parm for cold shutdown commit d03840f85c698a39483b225133898a36d57dce2e Author: Jeffrey Altman Date: Sun Jul 11 22:22:57 2004 +0000 smb-auth-20040711 Over last several years significant efforts have been made to work around the inability to protect user tokens from use by inappropriate entities. The tokens are associated with a given userid and session by a combination of an SMB based ioctl and an authenticated/encrypted RPC. This has opened the door for tokens to be borrowed by other users if they could connect to the same SMB server with the identical userid. This was trivially possible because the SMB connections were unauthenticated. This patch adds two forms of authenticated SMB connections: NTLM and Extended Security (aka GSS SPNEGO). By default Extended Security mode is used. This patch has been tested on 2000 workstation, 2000 server, XP SP1, and 2003 Server, and XP SP2 RC2. The Extended Security works on all platforms except for XP SP2 RC2 regards of whether or not the machine is part of a domain or not; and whether or not a local or domain account is used. On XP SP2 RC2, attempts to use negotiate Extended Security result in a Logon Denied error from AcceptSecurityContext() and a substatus code of 0x7C90486A is logged to the Security Event log via the NTLM SSP. The SMB AUTH NTLM mode succeeds on XP SP2 RC2. Disabling SMB Authentication or specifying the use of NTLM mode may be done via the registry. Value : smbAuthType Type : DWORD {0..2} Default : 2 If this value is specified, it defines the type of SMB authentication which must be present in order for the Windows SMB client to connect to the AFS Client Service's SMB server. The values are: 0 = No authentication required 1 = NTLM authentication required 2 = Extended (GSS SPNEGO) authentication required The default is Extended authentication commit 5489c6c955748d43c942009b7b93f0704607f80f Author: Jeffrey Altman Date: Sun Jul 11 21:56:27 2004 +0000 unicode-strings-20040711 UNICODE_STRING buffers are measured by their length field; do not assume they are nul terminated commit ec5b34b8fc1d0871c9a4a7ca62161ae1429fd45f Author: Jeffrey Altman Date: Thu Jul 8 15:45:58 2004 +0000 winnotes-registry-20040708 Add descriptions of Global Drive Mappings; MaxCPUs, and Environment Variables commit 3f337727bc68794db172b5d5163e96938d917f89 Author: Jeffrey Altman Date: Thu Jul 8 14:25:40 2004 +0000 aklog-uninitialized-variable-20040708 make sure that the krb5_context is initialized to 0. Otherwise, we might try to free it. commit f328d29f96f1db187bf6e0080491c4372d07391a Author: Jeffrey Altman Date: Thu Jul 8 14:24:00 2004 +0000 local-rpc-20040708 change the default RPC type from "ncacn_np" to "ncalrpc" This says to use local rpc instead of named pipes from the client to the server. Named pipes can still be used by specifying the "AFS_RPC_PROTSEQ" environment variable. commit 3fb32a2561e3171761e7b434cde1da4d37b2aef2 Author: Love Hörnquist-Åstrand Date: Thu Jul 8 06:35:26 2004 +0000 openafs-for-arla-20040708 FIXES 5490 allow use of openafs binaries with arla's linux 2.6 support commit fa82c5e6a9a6eadd97588b6b2e028fe0595bb375 Author: Kris Van Hees Date: Thu Jul 8 06:23:53 2004 +0000 solaris10-20040624 FIXES 5396 as substantially done by Jeff Woodward , work diffed out and slightly rewritten ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 5396 this should be the correct way to give up the socket on all solaris versions commit 775933e89544da31c0cf22cd0937614f5616c50e Author: Jeffrey Hutzelman Date: Thu Jul 8 06:16:55 2004 +0000 rx-lwp-fdsetsize-20040708 FIXES 5615 limit our fd set size so we don't "lose" fds. commit c4b6351fc56fe853b0cc97a2e6c6c68ce68f251f Author: Jeffrey Hutzelman Date: Thu Jul 8 06:11:34 2004 +0000 lwp-track-qwaiting-20040708 FIXES 5616 track qwaiting lwps rather than potentially leaking them commit 85a973a7b997b66d009e46c8b4116c00e1182b3c Author: Rainer Schöpf Date: Thu Jul 8 05:52:38 2004 +0000 afsd-bitch-about-xfs-not-about-dir-for-memcache-20040708 FIXES 5728 make afsd complain if cache partition is linux don't complain if no cachedir and we're -memcache. commit cccb91291f77ce0c6be0ed4659b43c848938e022 Author: Jeffrey Altman Date: Thu Jul 1 09:00:40 2004 +0000 dns-fix-20040630 Fix the dns portion of cm_GetCell() to prevent against a NULL pointer dereference when the ttl expired. commit a193405623427b9c0de034ebd3f6e982c745853b Author: Jeffrey Altman Date: Mon Jun 28 17:33:20 2004 +0000 afscreds-aklog-only-20040626 Modify the Obtain Tokens dialog to allow a blank password if a full principal name is provided. (for aklog only requests) commit d26145606529756389f07c2e518ca841ecbf8d6c Author: Jeffrey Altman Date: Mon Jun 28 17:29:42 2004 +0000 freelance-rw-mounts-20040626 Extend Freelance code to support r/w mount points in the fake root.afs volume commit 7262f41cd15dfe54e8f2bae3212c48ee21815cb9 Author: Jeffrey Altman Date: Mon Jun 28 17:28:38 2004 +0000 afskfw-aklog-only-20040626 If no password is specified, perform aklog only using the provided principal name commit e2149ea3f246c9fa946f781e1a678d71bdba2e50 Author: Jeffrey Altman Date: Fri Jun 25 22:18:44 2004 +0000 maxcpus-20040625 Add documentation on MaxCPUs entry. commit 5f1c38764d4d23587234740d215342e7daf11f87 Author: Jeffrey Altman Date: Fri Jun 25 20:48:44 2004 +0000 hyperthreading-bad-20040625 Give folks an option of running afsd_service.exe on fewer processors than are installed in the machine. A new registry value TransarcAfsDaemon/Parameters MaxCPUs allows a restriction to be applied. Set to 1 to use a single CPU (or hyperthreading instance) The restriction is applied with SetProcessAffinityMask() commit 291f2e2043eae83d0cbbd541ab0dfa76fab0b94c Author: Jeffrey Altman Date: Thu Jun 24 19:57:51 2004 +0000 nsis-default-loopback-ip-20040624 correct the default loopback IP addresses used 10.254.254.253 mask 255.255.255.252 commit 4586c298ae2d44e3a577a1097b394841bf7216ca Author: Jeffrey Altman Date: Thu Jun 24 19:24:14 2004 +0000 windows-install-notes-20040624 A first cut at installation notes for windows. commit 51d766814160caa6ce6af0d08ac96af3c22a095b Author: Kris Van Hees Date: Thu Jun 24 18:38:19 2004 +0000 solaris10-20040624 FIXES 5396 as substantially done by Jeff Woodward , work diffed out and slightly rewritten commit f42cf2a991b9ac37f9525cbdd7afddd02bb4c9b9 Author: Chas Williams Date: Thu Jun 24 18:28:03 2004 +0000 linux-make-lock-unlock-20040624 FIXES 5430 don't double lock the kernel commit c91503f32dc94515ce623428d6da04fabcb83cf6 Author: Daria Phoebe Brashear Date: Thu Jun 24 17:56:20 2004 +0000 getce64-cleanup-20040624 get rid of 64bit client & !64bit env case: won't work as is. commit 62c7e9dafc4fd6e6ecfcd552f86d7407fd3b9389 Author: Daria Phoebe Brashear Date: Thu Jun 24 17:55:00 2004 +0000 irix-ukernel-define-64bit-env-move-200406024 FIXES 4896 don't include afs_sysnames.h before defining AFS_64BIT_ENV oops commit fa71ea11afba7b727579b8369b60d10f5e8ef0dd Author: Asanka Herath Date: Thu Jun 24 17:28:51 2004 +0000 wix-add-crypt-20040624 1. Add gui option for SecurityLevel. 2. Fix grouping of symbol files. commit ec3b49a1cd0288706dd7518cad36e38df39025da Author: Jeffrey Altman Date: Thu Jun 24 05:51:54 2004 +0000 loopback-20040623 properly set dependencies for NSIS and wix targets to build loopback target ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== do not install a second loopback adapter if one is already installed. ==================== 1. Custom actions should not depend on any library that is not in the Windows distribution. Change makefile to link with a static runtime. 2. Add common reporting mechanism to report ActionData messages back to the MSI process during the loopback installation. 3. CoInitializeSecurity can be called only once per process. When running as a custom action DLL under the MSI process we won't be able to successfully call this since the MSI process beats us to it. ==================== Compensate for difference in argument passing in MSI and RunDll32 commit d346e2ed5314ee9b00f31045d56cfb50a29aaaa0 Author: Jeffrey Altman Date: Thu Jun 24 05:16:46 2004 +0000 version-1365-20040623 Version number to 1.3.6500 commit cc0abf8054c1aa51ea63fcacd7081e469422cd6b Author: Asanka Herath Date: Thu Jun 24 05:12:07 2004 +0000 nsis-20040623 Remove obsolete registry entry: TruncateNetbios commit 8dbd908bddee81d10c84740d737b6406bb0e2973 Author: Asanka Herath Date: Thu Jun 24 05:11:02 2004 +0000 wix-20040623 1. We are packaging debug symbols for all builds. In a checked build the default is to install debug symbols while on a free build debug symbols won't be installed unless asked to. 2. Change impersonation level for loopback installation. 3. Change UI to allow for ActionData messages during the long wait while the loopback is installed. 4. Add templates for displaying ActionData. 5. Parameterize language resources. commit 74e6409d65a906cb80f3ca659e56f813a5500531 Author: Daria Phoebe Brashear Date: Wed Jun 23 23:25:06 2004 +0000 darwin-updates-20040623 this should be switched to use the freebsd style getnewvnode perhaps it will be commit c7d8ba8371b75504ea541f98e7faba63d515f382 Author: Jeffrey Altman Date: Wed Jun 23 21:22:42 2004 +0000 winnotes-20040623 Updated change list and issues list to reflect the state of the world as of 1.3.65 commit d763078f3a081ff9bf24f94ca9844e4d9b2fc926 Author: Marcus Watts Date: Wed Jun 23 16:01:04 2004 +0000 ptserver-flags-default-switch-20040623 FIXES 5418 allow ptserver flags to be defaulted different per switch commit 4e2c9285f412438efaf42227cef5709153a004f2 Author: Daria Phoebe Brashear Date: Wed Jun 23 15:27:35 2004 +0000 prototyping-20040623 i had this laying around, i don't know from when, but i should flush it to cvs commit d344a584239383a4d51b450f41e654d70fc3fc0a Author: Marcus Watts Date: Wed Jun 23 14:45:09 2004 +0000 ptserver-flags-default-switch-20040623 FIXES 5418 allow ptserver flags to be defaulted different per switch commit a8cb8a265067c5e360cb7421d9ecafa43fce30a0 Author: Daria Phoebe Brashear Date: Wed Jun 23 14:35:20 2004 +0000 cvsignore-updates-20040621 FIXES 5209 update cvsingore files commit 6b18244984f94e8959455839b3f73d25c87ef450 Author: Jeffrey Altman Date: Wed Jun 23 14:17:22 2004 +0000 loopback-ok-2000-20040623 The afsloopback.dll will configure the LMHOSTS and HOSTS files for "AFS" therefore it is safe to use the loopback adapter on win2000 even though it does not support broadcasts commit 5d7681b5aa5ab9290be007101515a2d258f9bcf1 Author: Jeffrey Altman Date: Wed Jun 23 14:03:30 2004 +0000 use-afsloopback-20040623 Use the new afsloopback.dll in NSIS commit 5d133b13a78f79fc9eb4ba6a3f905b644ab7795e Author: Jeffrey Altman Date: Wed Jun 23 09:30:19 2004 +0000 wix-use-loopback-dll-20040622 alter wix installer to use msi interface to afsloopback.dll instead of instloop.exe commit 50e18fe02468daf94a6d5f851f60543dbf015737 Author: Jeffrey Altman Date: Wed Jun 23 09:12:07 2004 +0000 wix-msi-loopback-20040622 convert wix installer to use msi interface to loopback dll instead of instloop.exe commit be70343e2a5e4d050363c8cad1a1132e43d24a51 Author: Jeffrey Altman Date: Wed Jun 23 08:48:18 2004 +0000 new-loopback-dll-20040622 Construct a new afsloopback.dll which contains the routines for installing, removing, and verifying the existance of a loopback adapter. This dll will be used by both the NSIS and the Wix installers. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Update the wix installer to use the new version of instloop.exe which uses the new afsloopback.dll commit e0b9d58142e2796f342383143d33a9c58f989413 Author: Asanka Herath Date: Wed Jun 23 04:55:13 2004 +0000 license-mit-20040622 Add MIT's license to their Wix contributions commit f7be9862d956a10e4cf3d85889d1ea91fa0f29be Author: Jeffrey Altman Date: Tue Jun 22 20:00:37 2004 +0000 dword-instead-of-bool-20040622 use DWORD instead of bool for function return types commit 6a035f21605e625e3d07a7f39d7298c40dfdc60b Author: Jeffrey Altman Date: Tue Jun 22 06:04:32 2004 +0000 default-realm-20040621 Set the default build realm to openafs.org commit a4950863fc0528df9f12ba2dafc3ac7329e5d740 Author: Asanka Herath Date: Tue Jun 22 05:00:13 2004 +0000 wix-changes-20040621 1. Fix choice for logon options to include only 'not integrated', 'integrated' and 'integrated with high security'. 2. Add configuration page to select whether or not to run afscreds.exe when logging in and also choose the command line options for afscreds.exe. 3. Assert that all dependencies are satisfied at install time when installing the server component. 4. If running in full UI mode and installing the server component, the user is notified about dependencies and given a choice to review selections or just let the installer add the required components. commit 6ed3d79dbd1183557098755d89dbb414c1ce1b89 Author: Rainer Schöpf Date: Mon Jun 21 22:56:37 2004 +0000 rx-xdr-deal-with-linux26-regparm-20040621 deal with regparm side effects in xdr calls. no clue if this works without regparm yet, that might actually be an issue commit e82999dedffd04e456b943d481a48db427ba6422 Author: Rainer Schöpf Date: Mon Jun 21 22:54:15 2004 +0000 linux26-i-security-20040621 configure test is shadow@dementia.org's fault test for i_security inode field and init if exists commit 1c94ac6950f3943027023cce668b1cf15f8d5b41 Author: Rainer Schöpf Date: Mon Jun 21 22:46:17 2004 +0000 linux-syscall-asmlinkage-20040621 FIXES 5138 deal with asmlinkage for CONFIG_REGPARM, so afs syscall prototype matches declaration commit cebf4da48df4187828f8a26b8ab8443f473a35be Author: Matthew Miller Date: Mon Jun 21 22:40:53 2004 +0000 linux26-vermagic-cleanup-20040621 clean up vermagic to not be defined twice commit b9683ad8508e3640c73f5764aa3095b27dcaf9a3 Author: Robert S Murawski IV Date: Mon Jun 21 22:22:39 2004 +0000 nsis-debug-symbols-20040621 Force Debugging Symbols to on when Debug installer is used commit 9cae2bb1f3a39933a2a1fc4dc292a054288b70db Author: Jeffrey Altman Date: Mon Jun 21 21:13:55 2004 +0000 loopback-installer-fix-20040621 Convert all Loopback installation code to use Unicode always Fix case sensitivity of loopback adapter type comparison commit 827ff40465832184b40d4006a4169f4612f757b6 Author: Kris Van Hees Date: Mon Jun 21 21:06:18 2004 +0000 linux26-selinux-20040621 FIXES 5372 add selinux configure checking, and make sock_create take extra arg if needed commit e1092aa9b560499a48394f35f5f4e8cef7ef0d19 Author: Chas Williams Date: Mon Jun 21 21:01:50 2004 +0000 linux26-cred-cleanup-20040621 FIXES 5362 change how cred is stored on linux 2.6 commit 7b06d5a9f53ee984fe16b6b034af2e5432f63cd6 Author: Love Hörnquist-Åstrand Date: Mon Jun 21 20:57:52 2004 +0000 venus-clean-livesys-20040621 FIXES 5316 update clean target commit f8b90da03c42d2734eec3cc50e03aec2f854a301 Author: Daria Phoebe Brashear Date: Mon Jun 21 20:53:07 2004 +0000 aix-makefileproto-updates-20040621 FIXES 5252 fix makefileproto for aix to not use $$ commit d9765e5bd5650853ed5612f5e29ab787182e952f Author: Jeffrey Hutzelman Date: Mon Jun 21 20:30:18 2004 +0000 linux26-allow-suspend-20040621 FIXES 5208 necessary changes for swsusp to work. commit 25a1518f04378e205375f63b01d579b62b3dcbc7 Author: Rainer Schöpf Date: Mon Jun 21 20:17:14 2004 +0000 linux-afs-call-printf-20040621 FIXES 5138 add missing printf arg commit 50125cb62ad4695ed122b603742829d137d584a1 Author: Asanka Herath Date: Mon Jun 21 18:48:11 2004 +0000 wix-msi-installer-20040621 One more file for the Wix installer commit 54f02cabe2404a48c30053ed0469c67fc97333cb Author: Jeffrey Altman Date: Mon Jun 21 18:25:35 2004 +0000 missing-file-20040620 Forgot to checkin cm_vnodeops.h commit cb5052f2e9b0c060ac51cd52f4790a22a2b57e37 Author: Jeffrey Altman Date: Mon Jun 21 18:23:36 2004 +0000 readme-nt-20040620 Update README-NT with details on Wix MSI installer (last time README-NT did not get picked up by cvs) commit 4606c98156cbc8c66254a97fbfdf898bcfb9101a Author: Jeffrey Altman Date: Mon Jun 21 06:59:18 2004 +0000 missing-file-nsis-20040620 add missing file to nsis installer commit b7aab5ea00d95f398d24472be998cd5cd9b08134 Author: Jeffrey Altman Date: Mon Jun 21 06:24:04 2004 +0000 msi-wix-installer-20040620 Update README-NT to include details on Wix MSI installer builder. Modify build system to create work directories and provide "wix" and "install-wix" build targets commit a5a69cd4b05bc55f7258252b4cc63fdf425aa48a Author: Asanka Herath Date: Mon Jun 21 06:21:44 2004 +0000 wix-msi-installer-20040620 New MSI installer based on the open source Wix installer builder commit 64a65ad7dc896ff39d68a9e622ee457c009ed5d7 Author: Jeffrey Altman Date: Sat Jun 19 17:00:13 2004 +0000 fs-sysname-20040619 Begin the process of supporting multiple sysnames on Windows as is done on Unix. These changes replace the internal variable with a list of sysnames. Still to do: change command line interface to allow entry of multiple names; and replace cm_ExpandSysName() with code similar to Unix which allows expansion of one element in the list at a time. commit 83d1e43ad551ffd0436d76d1cbfbf000f957c208 Author: Jeffrey Altman Date: Sat Jun 19 16:18:58 2004 +0000 safe-strings-20040619 Begin to make use of the Microsoft strsafe library to avoid buffer overruns. commit b899b0ff5793139a0a86c01bf701cf186beee383 Author: Asanka Herath Date: Sat Jun 19 05:21:07 2004 +0000 ntmakefile-auth-headers-20040618 break up auth build step into two parts to avoid circular dependency in the build process commit 83c6908646e58fc8091d55d1013e012f48becb69 Author: Jeffrey Altman Date: Fri Jun 18 21:08:50 2004 +0000 ntmakefile-part-two-20040618 check in the correct version. commit faae04d83540098cd015d9926837c9e2b0ee4397 Author: Jeffrey Altman Date: Fri Jun 18 20:58:13 2004 +0000 ntmakefile-reorder-20040618 place 'auth' before 'afsdobjs' to ensure creation of afs/cellconfig.h allow DESTDIR to be specified as an arbitrary location earlier in the build process. commit 16f5052b412ab00cff7a0d9ca8f504333c0c2213 Author: Robert S Murawski IV Date: Fri Jun 18 19:56:03 2004 +0000 nsis-loopback-20040618 loopback installation executable code. the license is GPL which is ok because the NSIS installer does not contain any IPL code. commit f5f358bb164b717abcf4471389875eac4196e622 Author: Jeffrey Altman Date: Fri Jun 18 18:36:33 2004 +0000 afscreds-krb5-principal-error-20040618 afscreds did not properly construct kerberos 5 principals with multiple components. This prevented the use of user/admin@REALM tgts. commit 2cacc256d996fcdb024da70a933f92aeec9d9f3c Author: Jeffrey Altman Date: Fri Jun 18 06:05:48 2004 +0000 nt-makefile-configuration-change-20040617 Add support for building symbols in all configurations commit fcb7d1569f9a7803a144fc79c38d793d6aaace35 Author: Robert S Murawski IV Date: Fri Jun 18 06:03:19 2004 +0000 nsis-installer-updates-20040617 New BSD License for compatibility with GPL and NSIS licenses. Add Loopback Adapter installation Add Debugging Symbols for all builds (optional module) Add user configuration of afscreds.exe startup commit 5ffd9096680e15f886950359868585cf30fb508f Author: Jeffrey Altman Date: Fri Jun 18 05:59:51 2004 +0000 fs-admin-20040617 Add Is Administrator requirement to fs functions. - checkservers with a non-zero timer value - setcachesize - newcell - sysname with a new sysname list - exportafs - setcell - setserverprefs - storebehind - setcrypt - cscpolicy - trace Should create a user group to which users can be added so that non Admin users can issue fs commands. commit 113167c778e265d9002ee48cf5eda613b9cd444a Author: Jeffrey Altman Date: Fri Jun 18 05:56:48 2004 +0000 kfw-support-update-20040617 Fix improper use of krb5_data data field as null-terminated string. Reuse pre-existing context for obtaining the realm from the afs cell. commit c9fa134e65c557abf7a25122b2581b962ac1481f Author: Jeffrey Altman Date: Fri Jun 18 05:52:25 2004 +0000 nt-power-mgmt-fix-20040617 The fixed timeout of 19 seconds was too short. Should be set to the value of HardDeadtimeout as set by cm_conn.c. The failure to specify an adequate timeout value prevented successful Hibernation and Standby mode access when network connectivity was not available. commit 18a9be2b18b7baf3eb0d1aa40a6337c97bd0571e Author: Jeffrey Altman Date: Fri Jun 18 05:49:20 2004 +0000 nt-readme-upd-20040617 Update requirements for building OpenAFS on Windows 2000/XP/2003 commit e81615d0f1ca357eb5e44a0c3b54046798702a8f Author: Daria Phoebe Brashear Date: Mon Jun 14 09:36:09 2004 +0000 darwin-updates-20040613 complain if TryReclaim gets a vnode which is on the inactive list ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== be willing to instantiate a ubc in our lookup vop (rename needs this so the followup vget doesn't get a vnode with no ubc) refuse to instantiate a ubc if VORECLAIM is set rework rename 2 links to same vnode case. (yes, you can have hard links in AFS) ==================== drop the parent directory ref and remove name from the kernel name cache when recycling a vnode. commit bc9bbe8a955aabfcf42265e3d81a60b5f4c1aa40 Author: Jim Rees Date: Tue Jun 8 18:27:46 2004 +0000 fix-havecallbacks-proto-20040608 afs_HaveCallBacksFrom, not HaveCallBacksFrom commit c3d0a688212d42f0ad6f028f900eb838646119cc Author: Jim Rees Date: Tue Jun 8 17:09:09 2004 +0000 temp-fix-PCallBackAddr-20040608 temporary fix for compiler warning in PCallBackAddr commit 202f407a15c23bc238018c3d57e0bb22e7b5b9bd Author: Chas Williams Date: Mon Jun 7 20:54:33 2004 +0000 objdir-libafs-ko-20040607 FIXES 4943 make libafs.ko build in objdir environment commit 4f33ab1992fad680478e70e3c1adf466fea08d9b Author: Daria Phoebe Brashear Date: Mon Jun 7 20:52:51 2004 +0000 export-havecallbacksfrom-20040607 i suck, the PCallBackAddr stuff needs this commit 3c1e497d753ad1201a564bb73fd3103724aba28f Author: Chas Williams Date: Mon Jun 7 20:48:50 2004 +0000 linux-use-page-count-macro-20040607 FIXES 4944 use page_count macro instead of accessing directly commit 7329d33e22eede068a17d583202c6ec2c1d1fc83 Author: Jeffrey Altman Date: Mon Jun 7 07:22:57 2004 +0000 freelance-fake-root-vol-id-fix-20040606 * add debugging to allow fs trace -dump to be used for freelance operations * Change the volume id associated with the fake root.afs from 0x20000001 to 0x00000001 to prevent confusion of remote cell root.afs volumes with the fake root.afs. (way to go Derrick.) * add function prototypes to cm_freelance.h commit a749be9ff374aafc1ddb04cfc9f616c186dc60e7 Author: Jeffrey Altman Date: Sun Jun 6 04:51:41 2004 +0000 uninitialized-variable-20040605 cm_dns.c: getAFSServers() did not initialize the output parameters before testing them when setting the return value. It therefore returned success when the network was unavailable. Bad Bad Bad. commit 326e26068fe8136c2c943665f8cf84cacc12cf9b Author: Jeffrey Altman Date: Sat Jun 5 21:11:06 2004 +0000 kpasswd-uninitialized-20040605 FIXES 4994 More uninitialized variables commit 6d4bdfc2f78605b4339523577d7726101eb38b42 Author: Jeffrey Altman Date: Sat Jun 5 19:59:41 2004 +0000 winnotes-20040605 Document changes up to this date since 1.3.64 and new registry values commit d58233a52f3d705b039d690c4cc0befd1ac54408 Author: Jeffrey Altman Date: Sat Jun 5 19:57:58 2004 +0000 timeout-logic-20040605 * The timeout logic in the AFS Client Service has been wrong for sometime. It is based on two different assumptions. First, the SMB client timeout is a fix value as was the case with OS/2 Lan Manager. This assumption is incorrect. The SMB timeout in Windows is a dynamic value computed based upon a fixed minimum timeout to which is added time based upon the size of the request and the performance characteristics of the connection. Second, it is the responsibility of the SMB Server to enforce the timeout requirements of the client. This is untrue. The SMB Server cannot be expected to know the requirements of the client. More importantly, if the SMB server uses the SMB client timeout as a value to restrict its behavior as an RX client, the performance characteristics of the local SMB session would be used to prematurely terminate WAN connections with significantly different performance characteristics. The timeout logic has therefore been modified in the following manner: . the Lan Manager Workstation (SMB) Session Timeout is used only as a basis for configuring the Connection Dead Timeout and Hard Dead Timeout values. The Connection Dead Timeout must be at least 15 seconds longer than the SMB Timeout and the Hard Dead Timeout must be at least double the Connection Dead Timeout. . New registry entries have been added to allow the Connection Dead Timeout and Hard Dead Timeout values independent of the Lan Manager Workstation Session Timeout . The test to enforce the SMB Client Timeout has been removed. One of the side-effects of removing the enforcement of the SMB Client Timeout is that regardless of whether or not the SMB client is available to receive the response (and how would the SMB server know) the RX protocol response can be used to update the AFS Client Service state for ready access by future SMB client requests. This should be the end of the "Server paused or restarting messages" commit 304fbc25279cef35724f042e0a6bf5a43a51e7a0 Author: Jeffrey Altman Date: Sat Jun 5 07:02:39 2004 +0000 cell-info-do-not-delete-20040604 * cm_cell.h: define new bit flag CM_CELLFLAG_VLSERVER_INVALID * cm_cell.c, cm_ioctl.c: Do not delete cell info either because it has been removed from the CellServDB file or because the volserver info becomes invalid due to dns ttl expiration. This is necessary because the cell info is pointed to by other structures which require continued access to the cellname and username fields. * cm_ioctl.c: provide UNC support for the MakeMountCmd commit 414fe9588a3532fcb648be3b9a7fbc04baa5e14b Author: Jeffrey Altman Date: Fri Jun 4 07:02:18 2004 +0000 ioctl-unc-20040603 * pioctl.c: handle another UNC case in GetIoctlHandle ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== * cm_ioctl.c: avoid running off the end of a string commit eb48b8e6caca5ac85dae43b2bbf029f8fb8a17aa Author: Jeffrey Altman Date: Fri Jun 4 04:10:44 2004 +0000 ioctl-changes-20040603 Fix more edge cases for ioctl handling. * cm_dcache.c: reformat the file to make it possible to set breakpoints on conditionals * cm_ioctl.c: add a call to smb_FindShare() when processing UNC paths * cm_vnodeops.c: move debug message from the afsi_log to the osi_log * fs_utils.c: reformat * smb.c: change smb_FindShare to take a smb_user_t * instead of a pointer to the input smb_packet_t. Change calls to smb_FindShare to use new prototype. * smb.h: change prototype for smb_FindShare * smb3.c: Change calls to smb_FindShare to use new prototype * smb_ioctl.c: reorganize use of smb_user_t so it can be passed to smb_IoctlPrepareRead in order for it to be used in the call to smb_FindShare. commit 913876f3a96da9608a18852cb54035854b0eb854 Author: Jeffrey Altman Date: Fri Jun 4 04:00:39 2004 +0000 ioctl-handle-20040603 * Fix GetIoctlHandle so that it will create the handle on the correct volume when a drive letter is not specified as part of the source path commit 4a69168cdf111e1e0ea77e7ecee612602bb75937 Author: Love Hörnquist-Åstrand Date: Thu Jun 3 06:13:27 2004 +0000 i-hate-aclocal-20040603 FIXES 4922 aclocal wants [] around macro names. good for aclocal. commit 1d5ddeb9dbb34108f5c3c1b6356d9dcdd86988d5 Author: Chas Williams Date: Wed Jun 2 20:40:34 2004 +0000 gconfd-lock-fix-20040602 FIXES 4905 "i believe i have managed to track this down to a missing lock_kernel() in the dentry (lookup) revalidate routine. this missing lock was already fixed in the 1.3 tree when i submitted the 2.6 support patches (although its not quite right i think -- the shrink_dcace_parent() should happen under the BKL)" commit 0dbbc2c4c5741859ce75afa253294c901625018f Author: Jeffrey Altman Date: Wed Jun 2 15:52:04 2004 +0000 ntmakefile-20040602 update comments commit fc250cc0be2dd73dad05b869bb41a7f3e12e8079 Author: Jeffrey Altman Date: Wed Jun 2 15:50:23 2004 +0000 win32-ewouldblock-20040602 * enable detection of EWOULDBLOCK errors on Windows commit b0161198cfbe35fd2663ad849d0ebe33c057c289 Author: Daria Phoebe Brashear Date: Wed Jun 2 09:43:02 2004 +0000 callback-rxcon-move-20040602 FIXES 4891 apply it disabled in the fileserver, but provide mech for client to suggest a particular IP address to the fileserver ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 4891 apply it disabled in the fileserver, but provide mech for client to suggest a pa rticular IP address to the fileserver ==================== FIXES 4891 apply it disabled in the fileserver, but provide mech for client to suggest a pa rticular IP address to the fileserver ==================== FIXES 4891 apply it disabled in the fileserver, but provide mech for client to suggest a pa rticular IP address to the fileserver commit 07ba4620cf956d1cecd5bcd4448179b681c1cc3b Author: Daria Phoebe Brashear Date: Wed Jun 2 09:39:34 2004 +0000 vos-new-repsite-cleanup-20040601 FIXES 4730 if for some reason we got into a situation where all ROs were marked NEW_REPSITE in the vldb, vos release without -f deals very poorly. force a -f, and also, never print "Old Release" for the RW, to avoid confusion ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 4730 if for some reason we got into a situation where all ROs were marked NEW_REPSITE in the vldb, vos release without -f deals very poorly. force a -f, and also, ne ver print "Old Release" for the RW, to avoid confusion commit d37b482873d1652ba74ac61005d49cd5facf7d96 Author: Daria Phoebe Brashear Date: Wed Jun 2 09:18:28 2004 +0000 irix-make-ukernel-build-20040602 FIXES 4646 ukernel needs 64 bit type defined, define it. commit fe370813b95b0268ecb134c8c20bfe8d4ba9ee4b Author: Daria Phoebe Brashear Date: Wed Jun 2 08:43:48 2004 +0000 linux-dont-mark-writer-on-mmapped-RO-20040602 FIXES 4892 don't mark an mmapped RO as an execOrWriter. commit 404f837d577da5ef46e99c63b9c7e7aba7a9ef45 Author: Michael Pronath Date: Wed Jun 2 08:08:46 2004 +0000 adviseaddr-call-dont-shadow-code-decl-20040602 FIXES 4536 removed shadowed declaration of code commit 5191f0038305b5b356dbb17d891fecf68ee2daac Author: Nathan Neulinger Date: Wed Jun 2 08:04:15 2004 +0000 volinfo-large-size-update-20040602 FIXES 4679 make volinfo useful for >4gb commit d5dfb9113bb6444fb46ab90ff807d40fdb6180d6 Author: Jeffrey Hutzelman Date: Wed Jun 2 07:15:45 2004 +0000 linux-26-build-updates-20040601 FIXES 4767 use 2.6 kbuild infrastructure to build modules. updates proc mechanism. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 4888 use 2.6 kbuild infrastructure to build modules. updates proc mechanism. commit 5d9fcb30347e97471e5604828ef433683ca7a766 Author: Daria Phoebe Brashear Date: Wed Jun 2 07:08:01 2004 +0000 attachserverproc-dont-dequeue-if-not-in-queue-20040602 FIXES 4699 can't see what else this can be. pile of details in the ticket. commit 7a46d3a0766a34816c468f5e00b720994778466b Author: Jeffrey Altman Date: Wed Jun 2 06:21:16 2004 +0000 unc-enable-fs-20040601 * modify cm_ParseIoctlPath() to be able to handle arbitrary UNC paths of the form \\netbiosname\mount\path. This enables all of the fs commands and the shell extension to be able to work with UNC paths. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== * add support for UNC paths commit 8d442bea4f760366b0c2bb2053e0ebf6ffa3d5c6 Author: Rainer Toebbicke Date: Wed Jun 2 03:49:28 2004 +0000 rx-protect-queue-during-debug-20040601 FIXES 4811 "in rx_packet.c:rxi_ReceiveDebugPacket() the rx_idleServerQueue is scanned without taking a lock first. The queue_Remove macro zeroes the ->next field (luckily), but this can lead to a crash when Murphy strikes and the entry gets removed during the scan: queue_Scan will dereference 0x0 -> next. " commit 3d66364e7255e7802760cad2d12ea90be7366584 Author: Sam Hartman Date: Wed Jun 2 03:40:03 2004 +0000 make-distclean-do-it-20040601 FIXES 4814 remove some of the crap we were missing commit ab10f17e126312b34443acb32bfb21fc4ebde601 Author: Daria Phoebe Brashear Date: Wed Jun 2 03:37:45 2004 +0000 provide-fPIC-method-for-amd64-20040508 FIXES 3680 allow building fPIC on amd64 commit de972e77b34ab454310dbb495aa25f7c76b24c19 Author: Jeffrey Altman Date: Tue Jun 1 03:45:24 2004 +0000 corrections-winafs-20040531 * cm_server.c: remove locking from cm_FreeServer(). Must call while holding a write lock * afskfw.c: Remove manual dynamic loading of ktc_xxxx functions Change some of the debugging logic commit 78f184e3076a015508db89cfc345710c3d0c3aec Author: Jeffrey Altman Date: Sun May 30 16:54:13 2004 +0000 afscrds-dns-20040530 * Fix afscreds.exe (by updating afskfw.lib) to search for cells via DNS if the cell configuration cannot be determined via CellServDB commit d64679ee4c125f6df5772007b69a9d7a1b69c32e Author: Jeffrey Altman Date: Sun May 30 15:39:05 2004 +0000 dns-and-server-ref-counts-20040530 * Add debug info to test whether CM_BUF_WAITING or CM_SCACHE_WAITING are ever set more than once at a time * Fix the management of lists of cm_cell_t structures when using DNS to lookup cell information. The previous code would fail to reuse the same cellID for a cell if DNS was used more than once for a given cell name. When the ttl expired, a single cm_cell_t could be inserted into the cm_allCellsp list more than once producing a loop. In addition, the vlServerp list belonging to the cell was not freed resulting in improper refCounting of the servers. * Add DNS support to cm_IoctlNewCell() which previous only examined the CellServDB file * Add cm_FreeServer() function and call it from cm_FreeServerList() to properly garbage collect cm_server_t objects * Add numVCs variable to smb.c to track the number of smb_vc_t objects created and use it to initialize the vcID field which previously was set to 0 in all objects resulting in FindByID collisions. commit 52898404c69832c3954cb746b7529174d57169fc Author: Jeffrey Altman Date: Sun May 30 01:25:19 2004 +0000 rx-debug-20040529 Fix MakeDebugCall to properly check the return code of select() and recvfrom(). Do not copy data buffer unless recvfrom() succeeds. commit 6b488b4c99ae5b57143ed2417638b60b0b546a4f Author: Jeffrey Altman Date: Sun May 30 00:47:59 2004 +0000 batch-commits-windows-20040529 * Fixed DNS lookups to work consistently throughout the OpenAFS product instead of just from within the afsd_service.exe * Added a runtime check to ensure that AFS Client Service SMB Server is accepting connections before attempting to mount global drives. * Read IP addresses for volume servers out of the CellServDB file if gethostbyname() on the hostname fails. * Fix getcellconfig() to populate both the Hostnames as well as IP addresses when loading cell data via DNS * Increase the Connection Dead Time to 50 from 20 seconds Increase the Hard Dead Time to 120 from 40 seconds (matches the Unix values) * Fixed an assertion validating the number of allocated NCBs * Fixed the build environment to consistently build for Windows 2000 and above. (APPVER = 5.0) * Fixed rx_debug to properly validate the receipt in incoming data with select() and recvfrom(). Do not copy data out of the socket buffer unless success is indicated. commit e21149cec321d055c715d0362e77a85118cdf561 Author: Nickolai Zeldovich Date: Thu May 20 20:15:04 2004 +0000 uafs-fixes-20040520 Make uafs not crash if uafs_fstat() is used. Fix open(O_RDONLY). commit 0d1159c724a03ff10a4b31641e8b07d5722dc360 Author: Jim Rees Date: Wed May 19 21:31:18 2004 +0000 banish-ushort-20040519 Change ushort to afs_uint16. ushort is a SysV thing, not present in FreeBSD. commit 849122ff1113b5e2c5f1fb2d90bd6b363da7a72a Author: Nathan Neulinger Date: Wed May 19 16:47:16 2004 +0000 kdump-build-update-20040519 FIXES 4639 more cleanup of kdump build commit b1ae3fc1a6e30392e08b93177b005cc6fa79f27f Author: Chas Williams Date: Sat May 15 07:43:09 2004 +0000 linux-26-updates-20040515 FIXES 4027 update autoconf for linux 2.6 commit 7d2dd14c62f2bd06278eb1907f12a2ad3bd20a59 Author: Love Hörnquist-Åstrand Date: Sat May 15 07:32:35 2004 +0000 netbsd-has-statvfs-20040515 FIXES 4535 netbsd has statvfs, use it commit c05beb30dc90a745a5a1a812fc7658afbf2a38b1 Author: Nathan Neulinger Date: Sat May 15 07:16:55 2004 +0000 kdump-build-cleanup-1-20040515 FIXES 4521,4522 remove KDUMP/KDUMP64 configure stuff, clean up kdump targets in Makefile commit e59d92b03e187506ccae82df7cbd530ae81ce11f Author: Love Hörnquist-Åstrand Date: Sat May 15 07:11:40 2004 +0000 salvager-log-instead-of-abort-20040515 FIXES 4533 insert of assert, log an error commit 4ec1f3fcd36a265b564a30af6e59b184568db196 Author: Daria Phoebe Brashear Date: Sat May 15 05:53:30 2004 +0000 rx-include-afsconfig-before-param-h-20040515 FIXES 4578 make sure afsconfig.h is included before afs/param.h commit 02f83314df745178ff48eeb3bcb6918d176bcf54 Author: Jim Rees Date: Wed May 12 18:57:11 2004 +0000 openbsd-35-20040512 Add OpenBSD 3.5 notes to top README. commit a2233de3fd00a3351078429943ce8af1e9e8bcae Author: Jeffrey Altman Date: Tue May 11 23:31:51 2004 +0000 cellservdb-20040511 Latest CellServDB as of 2004-05-11 commit 6b50d377b0b4ff2af12044c1dc15d37aad864e76 Author: Jeffrey Hutzelman Date: Tue May 11 21:36:13 2004 +0000 linux26-proc-interface-use-long-not-int-20040511 FIXES 4462 arguments to sys_call are long, not int ioctl returns -ERROR, not -1 return -EINVAL on ioctls we don't know commit a2c0be066193802b7c1d3aa2d21c8bb2a50ff06d Author: Jeffrey Altman Date: Tue May 11 21:08:57 2004 +0000 update-winnotes-20040511 Update the changes and issues files for the 1.3.64 release commit ce5e3e99d7e0f3518644f531068fd7ab1cf1f521 Author: Nathan Neulinger Date: Tue May 11 20:52:28 2004 +0000 kdump-reorder-nfsclient-header-20040511 FIXES 4520 nfsclient.h needs afs.h for MAXNUMSYSNAMES definition commit 7db901bda1bdbbe23a9ebcb0264e94c617ac2bb2 Author: Jeffrey Altman Date: Tue May 11 20:43:20 2004 +0000 nt40-version-20040511 Update version number to 1.3.6400 commit f6318c58054c7e6435494925dc5ed4cdd7f13557 Author: Jeffrey Altman Date: Tue May 11 20:35:02 2004 +0000 reference-counts-20040511 Correct VC reference counting. (not that it is used for anything but there is no reason the reference counting should be allowed to perpetually increase) Fix smb_FindFID. Do not do anything if fid == 0 without SMB_CREATE_FLAG being set. Ensure that the event object name is unique by both the fid and the vcid. commit 7441eb8f59a946fa568ae2f6bf361a6f687039c3 Author: Jeffrey Altman Date: Tue May 11 14:26:14 2004 +0000 move-memdump-file-20040511 Move the memdump file produced on Windows by "fs memdump" from %WINDIR% to %WINDIR%\TEMP commit 265c009c72e7a7cbb29421c06f13fc97179e287a Author: Jeffrey Altman Date: Tue May 11 03:45:20 2004 +0000 KRB5KRB_AP_ERR_BADADDR-retry-20040510 retry once if KRB5KRB_AP_ERR_BADADDR error is received while attempting to obtain tickets. This is often produced when using transitive trusts. a retry is then successful. commit 6f571891869a3a4f903bdb5953579d4c655419f9 Author: Jeffrey Altman Date: Tue May 11 03:08:50 2004 +0000 off-by-one-20040510 off by one error when allocating memory for mountPointStringp in cm_GetSCacheEntry when using Freelance mode commit 861fa50de1d54ed7b333e9b86c63262707c0d3a9 Author: Nickolai Zeldovich Date: Mon May 10 14:51:16 2004 +0000 ukernel-take-two-20040415 Make uafs work enough to support readdir() ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Make uafs work enough to support readdir() (add casts for irix) commit 329f256d42fcf575fca3216a2107e3e155a64b7e Author: Jonathan Curley Date: Mon May 10 05:39:21 2004 +0000 linux-26-provide-proc-interface-instead-of-syscall-20040507 FIXES 4462 provide /proc file interface to use instead of AFS system call. doesn't solve the PAG problem. commit ad57d95089928e7626bef13bb2dbc87bec90a049 Author: Daria Phoebe Brashear Date: Mon May 10 04:43:02 2004 +0000 snprintf-irix-needs-sys-socket-h-20040510 6.5.9 or so wants sys/socket.h to get AF_INET commit 05060d53255a17478e78a9a07e50c6d62640e5dc Author: Daria Phoebe Brashear Date: Mon May 10 04:18:58 2004 +0000 provide-fPIC-method-for-amd64-20040508 FIXES 3680 allow building fPIC on amd64 commit 3812a973cd6c8329ce18802a7c5bb980308ae87a Author: Jeffrey Altman Date: Sun May 9 05:39:05 2004 +0000 user-instance-20040508 Enable afscreds.exe to support instance components of usernames for non-kfw token retrieval commit 98bcba19235a6ff40ba9c3dd1bf4054a870d8a20 Author: Jeffrey Altman Date: Sun May 9 05:04:52 2004 +0000 case-sensitivity-20040508 Correct the number of parameters to cm_Lookup calls in smb_ReceiveNTCreateX and smb_ReceiveNTTranCreate. Also, do not allow directories to be created if there are any files with names that differ only by case. Miscellaneous reformatting. commit 8023007863f21234104aa3588b798e32fd4b9192 Author: Daria Phoebe Brashear Date: Sat May 8 05:50:38 2004 +0000 kdump-linux-install-typo-20040508 FIXES 4430 fix @? to be $? commit 75b51e6192d9758e5abf1984c139ecc00be397b6 Author: Daria Phoebe Brashear Date: Sat May 8 05:47:10 2004 +0000 update-README-20040508 update list of supported platforms, slightly commit 686eb8de49c3e59a99cbd8f1e93cc0949a253621 Author: Hartmut Reuter Date: Sat May 8 05:45:36 2004 +0000 aix-dynamic-auth-20040507 FIXES 4278 make dynamic auth work for aix 5 commit 87f6d5a8f003f71724c7a49c6ab178a3f1efd2f9 Author: Chas Williams Date: Sat May 8 05:33:07 2004 +0000 writethru-dslots-allocate-once-20040507 FIXES 4071 only allocate once for WriteThroughDSlots commit 9e9a617786ed6b21fcf8f052e08f2a9f9b75fe0e Author: Chas Williams Date: Sat May 8 05:28:35 2004 +0000 dcache-shutdown-free-20040507 FIXES 4070 free dcache list during shutdown commit b660e7d7cd3029e7325ba8af7ea0bb15e0d43436 Author: Chas Williams Date: Sat May 8 05:26:37 2004 +0000 linux26-updates-20040507 FIXES 4068 define NGROUPS if it doesn't exist commit fc25d8cf697db8fde0eb3e89b39a1fbd39a6313c Author: Chas Williams Date: Sat May 8 05:23:56 2004 +0000 add-shutdown-server-20040507 FIXES 4067 cleanup server list during shutdown commit bfe8ffc7278b4f7850a20eaf604527cc762978c4 Author: Chas Williams Date: Sat May 8 05:22:19 2004 +0000 shutdown-cell-free-cellname-list-20040507 FIXES 4066 also free cellname_list when doing shutdown, part of quest to free all allocated memory commit dd38ea87cf0208463e64379e9b74fbe5fc7297fe Author: Chas Williams Date: Sat May 8 05:20:39 2004 +0000 shutdown-vcache-free-after-using-20040507 FIXES 4065 don't free the VClist until after use commit fae4792e91bfd16b1d15f912dab88a90851ec8e9 Author: Chas Williams Date: Sat May 8 04:58:27 2004 +0000 linux26-update-20040507 FIXES 4027 updates for modversions and for symbols which we don't need to grovel out of the kernel commit 48e39b49431d902b6c51723df70b62a45b4e1f8d Author: Joe Buehler Date: Fri May 7 15:56:00 2004 +0000 ntmakefile-20040507 remove extraneous '*' characters from C2OBJ rules commit 6b1cb8b1a8fcb8f48110e4583e38b696d38f6c05 Author: Jeffrey Altman Date: Thu May 6 22:06:58 2004 +0000 active-mapping-20040506 Write active drive mapping data to afsdsbmt.ini from afs_config.exe commit 847d870c14c0c9b126d5a1691c10e5fc4b3e412b Author: Jeffrey Altman Date: Thu May 6 21:52:16 2004 +0000 mounttab-20040506 ensure that we do not access an array with -1 commit d941303ccc06e2d5ee517d8f25f5b4e095e2ad2f Author: Jeffrey Altman Date: Thu May 6 21:46:31 2004 +0000 afsd-20040506 Andrei provided a replacement for the pattern matching algorithm. It has been applied but the old version is still there and can be activated with a #define The KFW_AFS_get_cred() routine does not use the "instance" parameter so removed it. commit 2d788598693ec1578d2f3abafe5858c44f67fe57 Author: Jeffrey Altman Date: Thu May 6 21:40:03 2004 +0000 incorrect-filename-after-install-20040506 the TaAfsApp_1033.dll was incorrectly installed as TaAfsAppl_1033.dll This prevented the user manager from starting commit 620cd80707f42a280b64a933a3a0751ab5c58855 Author: Jeffrey Altman Date: Thu May 6 21:37:12 2004 +0000 mkdir-20040506 Make src/WINNT/aklog directory if missing commit 9552283298757ca7f44643a5a26cf909e12c589f Author: Jeffrey Altman Date: Thu May 6 16:17:29 2004 +0000 case-sensitivity-20040506 from asanka@mit.edu We now strictly prefer exact case matches. This does incur a performance penalty because we can no longer be satisfied with an inexact matches in cache (we make an extra trip to the server to make sure there aren't any exact matches or pick up the extra match if there is one). Of course, the name lookup cache is now case sensitive. * cm_dnlc.c : case sensitive name lookup cache * cm_vnodeops.{c,h} : changes to cm_Lookup to first look for exact matches, failing which, look for inexact matches. Also, only put a name in the name lookup cache iff it exactly matches something on the server. * smb.c : look for exact matches first. * smb3.c : as above. Also T2 Search is used by the SMB client to resolve filenames. Respond accordingly. and: * added new CM_ERROR_AMBIGUOUS_FILENAME mapped to ERROR_POTENTIAL_FILE_FOUND This error is not yet used but is intended for situations in which an AFS volume contains two files which differ only by case "Foo" and "FOO" and the user says "DEL foo". Since we do not have an exact match by case the existing code deletes one of the two files at random. In the future we want to return an error. commit 786ead5cef01d76169a4fec33a6eb584fa5cea5e Author: Jeffrey Altman Date: Thu May 6 15:21:44 2004 +0000 ipaddrchg-20040506 ipaddrchg.[ch]: contains the ip address change monitor thread functionality which was previously in afskfw.[ch] but which is now a library in src/WINNT/afsd commit d44da96287a7cb5c6a67fd7c18112b52a6180085 Author: Jeffrey Altman Date: Thu May 6 15:19:19 2004 +0000 afscreds-20040506 creds.cpp: add support for principal name instances to the Obtain Tokens function. Previously instances were not parsed. main.cpp: Fix the -M (renewMaps) option to always call DoMapShare() mounttab.cpp: When removing a drive mapping, remove the "active" entry from the afsdsbmt.ini file. commit 233fa17c01c614c2d436d1c285c728fcb30b746a Author: Joe Buehler Date: Wed May 5 19:49:47 2004 +0000 lzma-compress-20040505 Use lzma compression instead of bzip2 commit e2af5db575e71bb3a7d5a75be9144d0fdbc2ba60 Author: Jeffrey Altman Date: Wed May 5 04:24:57 2004 +0000 uninitialized-variable-20040504 Do not assign reference to declaration in cases which declaration is not assigned a value. commit 14005bc769bbca0a1944aacce1f4c9aae7d55d9b Author: Jeffrey Altman Date: Tue May 4 23:48:15 2004 +0000 afskfw-library-20040504 Migrate KFW functionality from src/WINNT/client_creds/afskfw* into a a new library to be shared by afslogon.dll, afscreds.exe Add KFW support to afslogon.dll ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Migrate KFW functionality from src/WINNT/client_creds/afskfw* into a a new library to be shared by afslogon.dll, afscreds.exe Move IP Address Change Monitor into new source files. Add smbname support to the KFW set token functionality in afscreds.exe commit 48f4c91cb4957ddf3763c39ce7a802b9b726cfd7 Author: Nathan Neulinger Date: Tue May 4 22:38:15 2004 +0000 dangling-comments-are-bad-20040504 Fix an unterminated comment.. Oops! commit 0b807876f1d68ef8a76bf31a1a63bb9642b0d348 Author: Nickolai Zeldovich Date: Tue May 4 10:36:01 2004 +0000 fun-with-a-profiler-20040504 fun with a profiler: afs_RemoveVCB accounts for 20% of the total AFS client CPU utilization, even under a moderate vcache turnover rate of less than 10 new vcache's per second. introduce a hash on the afs_cbr objects to speed this up. if you are seeing your AFS client being CPU-bound, e.g. on your web server, you may want to try this. commit 64b8ee9d887c4d7d669734e30bfd66c758efb51e Author: Nathan Neulinger Date: Tue May 4 10:31:55 2004 +0000 linux-handle-short-reads-gracefully-20040504 break out of the read loop with EIO if we've reached EOF, rather than looping forever hoping the file will grow. commit 5b6b91e6b803536058203a3404190af39bfa9292 Author: Nickolai Zeldovich Date: Tue May 4 10:31:11 2004 +0000 add-missing-uafs-prototypes-20040504 add missing prototypes for uafs_seek commit 746aab497cce0987431909734a6b28ef2f6e15af Author: Jeffrey Altman Date: Tue May 4 05:05:25 2004 +0000 csc_policy_logon_updates-20040503 From Andrei: CSC Policies Updates to afslogon.dll: attempt lowercased name on authentication failure if LSA provided name is all upper-case. commit cedfdb08734dcf4fcd4aa7dead5bf9af0809a2df Author: Robert S Murawski IV Date: Sun May 2 23:09:22 2004 +0000 nsis-server-updates-20040501 This implements: 1) Does not delete server config data on uninstall 2) If an upgrade or a re-install with existing server config data, will not auto-start the Server Configuration Wizard. 3) Checks for RPC keys on install. (I believe you only need one because not all of the keys are required for AFS to work. However, it might require TCP or UDP based RPC) Still to do: 1) Server data should be destroyed if user answers "No" to "Do you want to keep your existing configuration data?" 2) If installing when existing server configuration data is present, populate the client cell to be the contents of the "ThisCell" file. commit 86c8433bc6ef85f44a9a6f65e62dd710b4300fa6 Author: Jim Rees Date: Tue Apr 27 20:43:04 2004 +0000 obsd35-20040427 get ready for OpenBSD 3.5 (due May 1) commit e1814aeb8427090304d6577de9c732a880022aad Author: Jeffrey Altman Date: Tue Apr 27 19:58:48 2004 +0000 fixes-from-andrei-20040427 Cleanup the makefile to remove unnecessary defaultlib restrictions Remove the DST fix added to address Rodney's bug with the timezone being off by an hour on files one hour after the time change. Still need to identify the real cause. Finally fix once and for all the afsd_service.exe shutdown error. The ServiceHandler must be declared with the WINAPI calling convention because it returns a value. commit e116ec14765a25a2af41d456065f78b281783a12 Author: Jeffrey Altman Date: Tue Apr 27 19:54:28 2004 +0000 release-vs-debug-flags-20040427 Move a few debug only compiler flags into a debug only build section of the makefile commit f4cc1fdc491e7e217686d22673d17acd882e7153 Author: Jeffrey Altman Date: Tue Apr 27 02:26:01 2004 +0000 no-mfc-20040427 remove the reference to afx.h. there is no reason to bring in MFC for lanahelper.lib. (thanks to Andrei) commit 519e7f0669d61c1d339d156f96469bbd68a328e3 Author: Nickolai Zeldovich Date: Mon Apr 26 22:39:33 2004 +0000 check-if-compiler-supports-__FUNCTION__-macro-20040426 Add an autoconf check to see if the compiler supports __FUNCTION__ and __LINE__ commit a40db2ebc0490dfd63f02900fa2aa077a8276f6a Author: Jeffrey Altman Date: Fri Apr 23 04:43:24 2004 +0000 kfw-upds-20040422 (1) remove the tkt_lifetime table which is no longer used (2) improve the handling of token to k5 principal mapping (3) assign the REALM to the token client name if the realm of the cell does not match the realm of the user commit 9374963fcade1390ce97e388c19ccf104f969f18 Author: Jeffrey Altman Date: Fri Apr 23 04:38:54 2004 +0000 ren-msgbox-logfile-20040422 Several fixes: (1) the log file afsd_logp should not be referenced in the smb modules instead the smb_logp should be used (2) Properly define the dummy_MessageBox function as _stdcall (3) When afsd_service.exe fails due to a Network Error (IP address change) display a MessageBox to the end user (4) Fix "rename foo foo" to not generate a "destination file exists" error (Thanks to asanka) commit 171cec34dcca479573551ac7a48b3892b1442f87 Author: Chas Williams Date: Wed Apr 21 03:20:21 2004 +0000 linux26-more-updates-20040420 FIXES 4027 . osi_cred now uses struct group_info . the big kernel lock has been moved from the fs generic code for some of the operations in 2.6 . 2.6 now just uses iput() and hooks the appropriate routines . the dummy inode list handling should be clearer commit 37d106e228998d58cfe3427ba9bdae66e464c042 Author: Jeffrey Altman Date: Tue Apr 20 15:56:16 2004 +0000 kaanswertoolong-20040420 when determining whether or not the ticket len is too long for the receiver to accept we want to compare against the actual ticket length and not MAXKTCTICKETLEN which is what is used when sizeof(ktc_ticketAnswer) is used for comparison. commit daa011af022ac9b7434aa86be0489692c616ae67 Author: Nickolai Zeldovich Date: Mon Apr 19 06:43:58 2004 +0000 more-memory-leak-fixes-20040418 Another memory leak plugged; thanks to Jeffrey Altman for noticing it. commit 6f22e163a5e79df4ce96d7234a634fc717fa1e4a Author: Nickolai Zeldovich Date: Sun Apr 18 07:13:47 2004 +0000 memory-leak-fixes-20040417 Fix some memory leaks. commit b06c35909060e644f170b3210e7934803e74aae4 Author: Nickolai Zeldovich Date: Sun Apr 18 07:10:33 2004 +0000 more-uafs-support-20040417 Some more minor uafs fixes commit 66e04e9f88452b4afef19fb8dbba431018ec1bbb Author: Nickolai Zeldovich Date: Sun Apr 18 07:09:49 2004 +0000 add-fs-exa-file-support-20040417 Make "fs exa filename" print out the FID for the filename, not just the status for the volume containing that file. commit 194c348298d146fe5a59892de0da2d8fb461e537 Author: Jeffrey Altman Date: Sun Apr 18 04:16:14 2004 +0000 uninitialized-20040417 ngroups was uninitialized. This produced a run-time warning even though its value was never used in subsequent calls. set to 0. commit 733af496e822a07f216ec3d815946cb0212c4e1b Author: Nickolai Zeldovich Date: Fri Apr 16 07:26:11 2004 +0000 more-memory-scrubbing-20040415 Scrub the callBacks array just in case, as we're exposing some arbitrary kernel stack contents to the user. commit 5db578e0786707b6ab1bf94a830bf8cff9bb4902 Author: Nickolai Zeldovich Date: Fri Apr 16 05:57:01 2004 +0000 dont-leak-random-kernel-data-20040415 Zero out data structure being returned to user, so that we don't send random kernel memory garbage to them. commit cd495f072760736c3e962ed11796e6d682b98f98 Author: Nickolai Zeldovich Date: Fri Apr 16 00:49:13 2004 +0000 make-uafs-work-a-little-20040415 Make UAFS at least a little more likely to work. commit e604accb426158b00be8442c8cc6bc82b4f1eb65 Author: Nickolai Zeldovich Date: Thu Apr 15 23:48:12 2004 +0000 fix-linux-build-20040415 It's AFS_LRALLOCSIZ, not AFS_LRALLOCSIZE. commit f3983124b17e00357c5ae21c2d98939784fe6b9e Author: Jeffrey Altman Date: Thu Apr 15 22:04:21 2004 +0000 ticket-1241-20040415 Correct mistaken use of >= when > is appropriate commit fa189b670dbbbf493b86f1c56539ff2693ed49c0 Author: Jeffrey Altman Date: Thu Apr 15 03:23:41 2004 +0000 ntmakefile-20040414 Fix the makefile to build with vc.net 2003 in a release configuration. /GZ and /Ox are mutually exclusive commit fad225bab61ac1a3be430aacd9af9ef0cf675561 Author: Jeffrey Altman Date: Thu Apr 15 03:21:23 2004 +0000 resource-fix-20040414 There was one more off by one error in the resource file enumeration preventing the loading of the "Drive" string table entry commit f8ed1111d76bbf36a466036ff74b44e1425be8bd Author: Jeffrey Altman Date: Thu Apr 15 00:26:13 2004 +0000 ticket-1241-20040414 FIXES 1241 Modify buffer allocation to support tokens up to MAXPIOCTLTOKENLEN (3*sizeof(afs_int32)+MAXKTCTICKETLEN+sizeof(struct ClearToken)+MAXKTCREALMLEN) in length. commit 1757180dab3f5fb74044f665f5e603fafa8e7e22 Author: Ken Hornstein Date: Tue Apr 13 21:41:11 2004 +0000 fileserver-no-longer-asserts-when-read-past-EOF-20040413 commit 4a0729240ae03929502de36039b6f982c08c905d Author: Jeffrey Altman Date: Tue Apr 13 04:47:50 2004 +0000 uninitialize-20040412 Fix uninitialized use of ltto commit 9dc32a5a18ac5a9228e916f207ee2e7815ab741e Author: Jeffrey Altman Date: Tue Apr 13 04:06:17 2004 +0000 aklog-20040412 MIT's aklog.exe imported into the OpenAFS for Windows distribution ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== MIT's aklog.exe imported into OpenAFS for Windows commit f3cd6ca06315691c46f9a3f917099efaed57fe3d Author: Chas Williams Date: Mon Apr 12 20:42:19 2004 +0000 linux-26-progress-20040412 FIXES 4027 if you complain about any of it, you better include a patch, or risk being severely flamed. very much a work in progress commit 6a3068af6a1237302e6baa59d64a65b4e2cf45e3 Author: Jeffrey Altman Date: Fri Apr 9 07:48:22 2004 +0000 md4-md5-20040408 Integration of Heimdal MD4/MD5 code ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Integration of Heimdal's MD4/MD5 code ==================== Integrate Heimdal's MD4/MD5 code ==================== Integrate Heimdal's MD4/MD5 code ==================== Integrate Heimdal's md4/md5 code ==================== Integration of Heimdal's MD4/MD5 code commit 02deda384d77262b733437872833ce1fc0e91234 Author: Jeffrey Altman Date: Fri Apr 9 06:57:39 2004 +0000 remove-extra-compare-20040408 do not check for i < 2000 and i < MAXKTCTICKETLEN commit efd0c52372a9439dfee20d69a9d09870a7d5a038 Author: Jeffrey Altman Date: Fri Apr 9 00:32:03 2004 +0000 cross-realm-obtain-tokens-afscreds-20040408 If afscreds.exe you can now obtain credentials for cell "foo.com" with credentials from "user@BAR.COM" when specifying a password. This is a first step since if there are already valid credentials for "user@BAR.COM" the password should not be requested. That would allow you to obtain tokens for multiple cells with the same kerberos tgt. commit 6bcdc8cae3bafcc37da491117050c16d58e1bcbf Author: Jeffrey Altman Date: Thu Apr 8 23:20:39 2004 +0000 unitialized-vars-20040408 Fix uninitialized pname reference Rename afs_int32 pname to pnum commit 99c6354d4f92eadf5d57f4001d0fadc37ef4f40c Author: Jeffrey Altman Date: Tue Apr 6 23:31:03 2004 +0000 more-mutex-20040406 Rodney found in his logs "Event Object Already Exists fid_t" messages. This lead to another location in the code where problem mutex usage was missing. In this case, multiple fid_t structs were created with the same fid number. commit afb8a665406f68fd9996b8c9e6f444880d533aff Author: Jeffrey Altman Date: Tue Apr 6 23:26:37 2004 +0000 va_args-20040406 Who at IBM was stupid enough to believe it is acceptable to pass a va_args variable into a function without initializing it with va_start()? Why would you ever bother to do otherwise? commit 6818e27fc3adcf6f800d80db6caaca5e65292eb9 Author: Jeffrey Altman Date: Tue Apr 6 09:54:54 2004 +0000 debug-changes-20040406 Add run time checks to the compiler flags when debug commit 991edf329f7e0bff7a8b1f86337fab3aa4a321a6 Author: Jeffrey Altman Date: Tue Apr 6 09:53:15 2004 +0000 i-need-sleep-20040406 * fix uninitialized return variables in smb.c and smb3.c * open the osi_log file as early as possible in afsd_init.c * create an argv to use for non-service executions * add support for \\afs\.cellname for rw volumes ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Do not use IsKerberosLogon() it does not always report the right value. commit 00543744955243dcfb829286aacc6e3d7bb88c89 Author: Chas Williams Date: Mon Apr 5 23:39:51 2004 +0000 linux22-fix-20040405 FIXES 3909 make linux 2.2 work again commit b624c2bc738ab053761383043ef8f960b15e16cb Author: Jeffrey Altman Date: Mon Apr 5 07:32:57 2004 +0000 afs-release-notes-20040405 release notes as of 1.3.63 commit b32ac50073e8fe7b6a3034afba98b807dbdae410 Author: Daria Phoebe Brashear Date: Mon Apr 5 07:26:17 2004 +0000 remove-vnop-dont-umount-fix-entirely-20040405 circumstantially it doesn't work. /afs/andrew.cmu.edu/usr/shadow/tempdata is a file and mvstat is 2, so I get EISDIR. so i'll remove this for now and fix it after the next release. commit 3e45fd85912ad14fa88eb7d16fa1dfe6c3c8664c Author: Chaskiel M Grundman Date: Mon Apr 5 07:21:33 2004 +0000 darwin-pageout-limit-to-filesize-20040405 FIXES 3870 previously we weren't limiting to file size, now we are commit 1f5b66ecaac6fb3b0ba34f3cfe32410f3199fa86 Author: Jeffrey Altman Date: Mon Apr 5 07:00:11 2004 +0000 version-1-3-6300-20030405 Update version number to 1.3.6300 commit aa7f0cf9d5f56405e813a3218b39081fa35cda80 Author: Jeffrey Altman Date: Mon Apr 5 05:26:45 2004 +0000 preserve-server-config-20040404 Fix the replacedll macro Comment out the code which deletes the server configuration files on AFS Server uninstall. We need to do this to protect existing volumes if the product must be uninstalled and reinstalled commit 5a8e37d8820d63587bf8acf916da06bfe7daa893 Author: Jeffrey Altman Date: Mon Apr 5 03:16:11 2004 +0000 for-rodney-20040404 Formatting changes Fix the problem with a corrupted cell table when using \\afs\cell-alias Attempt to fix Rodney's DST problem. Added a check for tm_isdst to the computation of the local vs GMT differential. commit 4ad381d8959ba11a2991e6001464d367dd4054ab Author: Jeffrey Altman Date: Sun Apr 4 03:41:07 2004 +0000 shell-extension-20040403 Fix missing resource strings for Symbolic Links and error strings (english only) commit 0d00d2f08da7fe37cc14babd111d49c17e732409 Author: Jeffrey Altman Date: Sun Apr 4 03:38:49 2004 +0000 nsis-installer-20040403 Change UpgradeDLL to ReplaceDLL Fix missing pts.pdb commit 1f0e197dbfa920f1e257524f0055d294ce252052 Author: Jeffrey Altman Date: Sun Apr 4 03:35:47 2004 +0000 ktc_nt-20040403 Increase TBUFFERSIZE to match increase in KTCMAXTICKETSIZE commit 0a0f0e023b761ec7d04778e14568681ae7105627 Author: Jeffrey Altman Date: Sat Apr 3 23:33:35 2004 +0000 tchar-ptr-20040403 TCHAR != TCHAR * but MS VS .NET 2003 does not care. Why not? commit 4449276b5c16ca59fb95bfb573018ede60303763 Author: Jeffrey Altman Date: Sat Apr 3 23:16:37 2004 +0000 upgrade-dll-20040403 Apply the upgradedll to .CPL files as well as .DLL commit 086376b593f78d390d4031b2840b38dea1c1a2f2 Author: Jeffrey Altman Date: Sat Apr 3 20:50:37 2004 +0000 afsd-improvements-20040403 continuing attempts to identify the cause of the crash after the service shuts down successfully. (without success) Add shutdown logic for SMB and RX daemons. Fix Global Drive Mapping Add Global Drive Unmapping commit 9a7b375bcf2999d1bc92803a0d6af0d927233112 Author: Jeffrey Altman Date: Sat Apr 3 20:47:22 2004 +0000 fix-missing-parameters-20040403 Fix missing username parameter in calls to Mount Drives commit ce17273242d6864becde3c58fd0c75d1cc42fdb6 Author: Jeffrey Altman Date: Sat Apr 3 20:45:48 2004 +0000 resource-20040403 conflict resolution commit 426f7d6a01b6530417f7b565321ce527f3c094fb Author: Jeffrey Altman Date: Sat Apr 3 20:43:15 2004 +0000 precedence-20040403 != has higher precedence than & commit 9e4d68ffba1d0e6d370f80ced8e199e203db7b9a Author: Jeffrey Altman Date: Sat Apr 3 10:34:16 2004 +0000 more-cleanup-20040403 removal of unused variables, formatting, comments, etc. commit 536c4547d6c31031d96a9b2b05b5888d88bd0b7e Author: Jeffrey Altman Date: Sat Apr 3 08:59:53 2004 +0000 even-larger-ticket-sizes-20040403 Microsoft Windows 2003 max ticket size is 12000 commit c38e32c7786e7a913cb431c81d5ffc9dc0a30cf1 Author: Jeffrey Altman Date: Sat Apr 3 08:17:52 2004 +0000 reformatting-20040402 Reformatting of the source code. Minor editorial changes to comments. commit 2d0b67fed04275407daa5f9f1130def159bdc063 Author: Jeffrey Altman Date: Fri Apr 2 17:41:27 2004 +0000 unitialized-return-variable-20040402 krb5_des_decrypt() does not initialize the return value to 1, failure, therefore it returns random success (0) values when ticket types of DES-CBC-MD5 or DES-CBC-MD4 are used because we do not have checksum functions for those types. commit 4c6238b3d9a18bc5ac0bb0ebde1dc2d47f7cdb22 Author: Jeffrey Altman Date: Fri Apr 2 12:12:01 2004 +0000 restore-original-size-test-20040402 feeling like an idiot. the original test compared the size of the ticket field in the ktc_token struct allocated by the app which might be smaller than the size of the field defined in the library commit 8939c5189d4ef626de580dd4790499ceaa56b2b4 Author: Jeffrey Altman Date: Fri Apr 2 11:54:35 2004 +0000 something-weird-20040402 something weird. the previous commit had diff marks. commit 92e83f6d684d967d3fdbb4c2147a98a3eba45fbf Author: Jeffrey Altman Date: Fri Apr 2 11:52:49 2004 +0000 one-more-try-20040402 much too sleepy. TBUFFERSIZE for all tbuffers commit 64fe0b914d0f4d22feb24239995a50be9c8288cb Author: Jeffrey Altman Date: Fri Apr 2 11:41:58 2004 +0000 lowercase-cell-20040402 Lowercase the cell name (from realm name) for which we are requesting set/get token operations Return the error code generated by the ktc_SetToken operation and not one of the many Kerberos operations. commit 49fd75dce4a56ce76659aaff296e9e106c614b00 Author: Jeffrey Altman Date: Fri Apr 2 11:39:13 2004 +0000 maxticketsize-20040402 When processing pioctl() operations, properly perform the test of the ticket size to the ktc.ticket field. The field is of fixed size MAXKTCTICKETLEN and not some value which is adjusted based upon the content of the message. commit 2b0160125f80266e811987a1fc453fa892e7f2c1 Author: Jeffrey Altman Date: Fri Apr 2 08:46:07 2004 +0000 maxktcticketlen-20040402 The buffer size for the ktc_SetToken and ktc_GetToken should be of size MAXKTCTICKETLEN not some arbitrary value. commit 52abace67922a1da7c99334a2352817721fb1f42 Author: Jeffrey Altman Date: Fri Apr 2 07:56:24 2004 +0000 windows-server-config-20040402 Corrections to the libadmin interface for the Windows Server Configurator ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Use lanahelper.lib for the server configurator as well commit 3ee69178951dcb50168d53e4d4c7f2c032c4c273 Author: Ed Moy Date: Thu Apr 1 23:26:22 2004 +0000 macos-fstab-fun-so-fileserver-works-20040401 so we use getfsent and actually find vice partitions (and make volinfo work) commit 1503077a553eefe40104b7b60300ea4ac1d825f3 Author: Jeffrey Altman Date: Thu Apr 1 20:53:49 2004 +0000 rxkad-increase-token-ticket-sizes-20040401 In order to support the large ticket sizes produced by Microsoft Active Directory and allow the use of raw Kerberos 5 tickets as tokens increase the size of MAXKTCTICKETLEN and MAXKRB5TICKETLEN to 4096 from 344 and 1024 respectively. commit 10e3aa6cc28d74bcc65eaf43fcf78c229fed72b6 Author: Jeffrey Altman Date: Thu Apr 1 20:51:09 2004 +0000 kill-afsd-20040401 Remember to kill afsd_service.exe when uninstalling. commit 3f91e4305a8261e202e71d62f119fd92940dc9cd Author: Jeffrey Altman Date: Thu Apr 1 20:49:49 2004 +0000 smb-8dot3-pattern-matching-20040401 Do not enforce the funky 8dot3 pattern matching rule that the first "." is special when using long file names. (you must use "*.*" and not "*") Instead only enforce it when performing 8dot3 searches. commit a346d60fee93916b6a6e0ecace8cd2d77a695ffe Author: Jeffrey Altman Date: Thu Apr 1 20:46:42 2004 +0000 afsd-debugging-20040401 Add additional debugging during initialization commit 9692a83f626cf362c2b796a9ea79d80dcf1dc8fe Author: Jeffrey Altman Date: Thu Apr 1 20:45:03 2004 +0000 resource-string-loading-20040401 Fix TaLocale_Initialize to be thread safe Fix String Resource loading to not generate exceptions which must be caught by try-catch(...) commit c357237a23785092f1d5b46824612a3ba3720b3a Author: Jeffrey Altman Date: Thu Apr 1 20:43:06 2004 +0000 kfw-ak5log-20040401 Remove internally defined life_to_time. Instead rely on version in rxkad Use kvno = RXKAD_TKT_TYPE_KERBEROS_V5 when setting tokens. No longer use krb524d. Fix the assignment of the username and instance to place the instance within the aclient.instance field instead of appended to the aclient.name field. commit 784c86de8cc5e8329fafceeb5724957c31239024 Author: Jeffrey Altman Date: Thu Apr 1 20:38:37 2004 +0000 windows-srvr-cfg-resource-20040401 Renumber and re-organize all of the String Table entries to adhere to the rules specified for dynamically loading them with the tools in WINNT/talocale. All numbers must be sequential. Each block must begin on a mod 16 == 0 value. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Update resource constants to avoid conflicts commit a75d4cd3f8c4c90ace20da98c543ae745b88e089 Author: Jeffrey Altman Date: Thu Apr 1 20:29:38 2004 +0000 ntmakefile-clean-20040401 Cleanup the *_component_version_number.* files in all directories commit b197192bcc2922b98f05909e88a32616680c82ae Author: Daria Phoebe Brashear Date: Fri Mar 26 07:42:21 2004 +0000 winnt-dont-display-ibm-legal-message-20040326 remove the ibm legal message display at bosserver startup commit df33edc04970e10262ac04c9b80ad1d7e7c26327 Author: Jeffrey Altman Date: Fri Mar 26 06:39:23 2004 +0000 win-xp-sp2-20040325 Support for punching holes in the Win XP SP2 Firewall for AFS Cache Manager Callbacks commit 2e455c370266d8f522532b8a8b4073ee603cd89b Author: Daria Phoebe Brashear Date: Thu Mar 25 23:25:50 2004 +0000 pam-login-sia-et-al-reorg-20040325 FIXES 3680 rework top makefile to build pam or not depending on acinclude.m4 commit 7e55cf6c267e808315ed0150202423e6ce9f0b50 Author: Nickolai Zeldovich Date: Thu Mar 25 22:52:15 2004 +0000 remove-vnop-dont-unmount-fix-20040325 Make remove-vnop-denies-unlink-on-mtpt-20040325 more likely to work, and don't forget to afs_PutFakeStat() while we're at it. After we call afs_EvalFakeStat(), there's no way that mvstat can be 1 -- either the object wasn't a mountpoint and it'll be mvstat 0, or EvalFakeStat will evaluate it and it'll be mvstat 2. commit df744ad374e51255883eb69dcf9f226d673af7be Author: Daria Phoebe Brashear Date: Thu Mar 25 22:10:54 2004 +0000 remove-vnop-denies-unlink-on-mtpt-20040325 FIXES 3724 if mvstat is 1, we're a mountpoint; simply short circuit EISDIR and return commit 75f081a027e10c335e680136b44f60af6e0357b4 Author: Jeffrey Altman Date: Thu Mar 25 19:37:41 2004 +0000 afsd-service-shutdown-crash-20040325 More fixes to the afsd client service which do not result in solving the problem but still should be done. commit 82817983fec1cdffe8bc9f2fc0d2f8edaa48ac9d Author: Jeffrey Altman Date: Thu Mar 25 19:35:49 2004 +0000 global-mapping-20040325 Undo change imported from MIT bulk changes commit 02991c3b70950049a157231df29cdf6669095e50 Author: Jim Rees Date: Thu Mar 25 17:04:44 2004 +0000 openbsd-20040325 go back to using afs_vget instead of VREF for VN_HOLD in afs_vget, only insert vnode in mount queue if it came off freelist commit a1bfd0339cb3a6bcb42ac9821972ce34d59c5fb5 Author: Jim Rees Date: Wed Mar 24 22:53:19 2004 +0000 openbsd-packaging-20040324 fix small typo commit 819a0a44fe6da377584c58eea33285c4ba54353f Author: Daria Phoebe Brashear Date: Wed Mar 24 17:36:57 2004 +0000 viced-dont-atoi-NULL-20040324 FIXES 3726 check argument number when processing args at startup commit 6ec96854457716f5b056007b013db998c1f31683 Author: Jeffrey Altman Date: Wed Mar 24 09:47:06 2004 +0000 nsis-install-20040323 Uninstall should be deleting CRT and MFC DLLs; not be installing them Add new startup flags to the LogonScript for Integrated Logon commit 8b6ff6ca6b73051104ffd8bf1a8ee74b0be7ce74 Author: Jeffrey Altman Date: Wed Mar 24 09:24:16 2004 +0000 static-cm_dnsEnabled-20040323 Make cm_dns.c cm_dnsEnabled static to prevent potential conflict (not really) with a variable of the same name in afsd_init.c commit fa95e92340e92f23ddb7bd182c3b2d1cc98b6763 Author: Jeffrey Altman Date: Wed Mar 24 09:22:59 2004 +0000 bad-checkin-20040323 bad checkin commit 344b1f3f2ce5d50c560d905199dbac9d2c2165e0 Author: Daria Phoebe Brashear Date: Wed Mar 24 08:40:19 2004 +0000 sunx86-59-sysname-id-20040324 add missing sysname id for solaris 9 x86 commit afcb78c966d30aae222c5d3b3812e315396ca03b Author: Daria Phoebe Brashear Date: Wed Mar 24 08:38:15 2004 +0000 aix52-add-param-header-20040324 FIXES 3718 copy and modify the aix 5.1 header commit 074c2f0909c389bc4fee44e7849650a44e1695fd Author: Jeffrey Altman Date: Wed Mar 24 08:35:36 2004 +0000 version-update-20040323 1.3.6200 commit 28c0534dfbfdb90809118ddf9fa5d224a828c11b Author: Jeffrey Altman Date: Wed Mar 24 08:32:16 2004 +0000 no-getcellconfig-error-20040323 don't produce a MessageBox when getcellconfig fails commit 5cf8fc1d99460d3d7a99bf0950b7e8f6852515e7 Author: Jeffrey Altman Date: Wed Mar 24 08:27:36 2004 +0000 no-longjmp-20040323 Do not use setjmp/longjmp in multithreaded code. It will destroy the stack. commit 14de0321462526f69390586475e56950abd53c92 Author: Jeffrey Altman Date: Wed Mar 24 08:25:39 2004 +0000 integrated-logon-20040323 Cleanup the integrated logon code. Remove memory overwrites. Refactor the rest of the code. Make it readable. commit 5865e9cbd8f3b7c91e0bdd6cd4c1bbe1f10bdaa0 Author: Jeffrey Altman Date: Tue Mar 23 04:45:29 2004 +0000 doug-nsis-20040322 apply patch to include more header and lib files. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Fix doug's patch. remote extraneous colons Move (once again) the DependsOnXXX values to the right place. (how did these end up back in NetworkProvider?) commit 08845d854861dd7c4b1cefce61e49e4e8d01dc2b Author: Jeffrey Altman Date: Mon Mar 22 05:40:52 2004 +0000 uninstall-exception-handler-20040321 Before we shut down the service and return control to the service manager uninstall the exception handler before it gets unloaded from the process. commit f31cd9a4f3911aafd5b0c634b2159edcd6150972 Author: Jeffrey Altman Date: Mon Mar 22 04:09:48 2004 +0000 power-mgmt-20040321 #define REGISTER_POWER_MANAGEMENT commit 45ca8632f29e21e00bf8d687beff1d5aa8106a75 Author: Jeffrey Altman Date: Mon Mar 22 04:07:10 2004 +0000 power-mgnt-close-handles-20040321 Close the Handles before terminating the thread to ensure that additional power events cannot be queued during shutdown. commit efc9d62e932c283700ce7ad66258fb6eb63a8a04 Author: Jeffrey Altman Date: Sun Mar 21 23:03:56 2004 +0000 nofindlanabyname-20040321 Disable the Find Lana By Name functionality for 1.3.61 because it appears to be causing grief for too many people. commit ec0b44efad35f859057c1e059f9723202de52666 Author: Jeffrey Altman Date: Sun Mar 21 21:35:27 2004 +0000 version-1-3-6100-20040321 update version to 1.3.6100 commit 8ef7d621c5903eeeacaeded88384e38e4f666339 Author: Jeffrey Altman Date: Sun Mar 21 20:56:25 2004 +0000 nsis-installer-20040321 Remove Rob's new way of installing services as it does not appear to work properly. Add in code to test the legitimacy of the upgrade to ensure we don't try to upgrade an old IBM AFS version that isn't supported Make sure that the only AFS in the PATH is ours and that we are only in once. Add the TransarcAFSDaemon entry into the Control\NetworkProviders::Order value to support Integrated Login Build service.exe and killer.exe with static libraries to avoid run-time dependencies at install and uninstall time ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Check both Client and Server for unsupported previous installation commit 53029f4827f2769fe149f5082e11428cfdc92cf5 Author: Jeffrey Altman Date: Sun Mar 21 19:48:49 2004 +0000 debug-log-20040321 A more informative log message plus fix uninitialized variable commit f1a997e27528fce3ea550e51f01f853806602d33 Author: Jeffrey Altman Date: Sun Mar 21 11:41:57 2004 +0000 VLCallBack-vos-20040321 The variable 'm_unique' is an afs_uint32 where the desired parameter must be of type struct VLCallBack when attempting to call VL_GetAddrs. I do not know how this code ever worked on any platform as the stack was being overwritten. This produced binary, vos.exe on windows, also generates massive memory leaks. I do not think we care all that much because the utility does not stay around all that long. However, the fact that the API makes it so easy to lose memory is scary. commit 6b11da1d0c4b7773be3aa4888d87e37fe3011239 Author: Jeffrey Altman Date: Sun Mar 21 05:24:19 2004 +0000 nsis-service-20040320 Incorporate a new NSIS library ServiceLib.nsh which will allow us to avoid using the Service.exe which we must build from Service.cpp commit 4e5c8d47a2e15bd827ee9d6f627d0c66d52301e8 Author: Jeffrey Altman Date: Sun Mar 21 04:27:10 2004 +0000 registry-20040320 Document "NoFindLanaByName" commit 010b9d04371b7abb0fa3d943fe75d849d87744d9 Author: Jeffrey Altman Date: Sun Mar 21 03:12:55 2004 +0000 more-optimizations-20040320 Replace all calls to lana_GetNetbiosName with GetClientNetbiosName which performs the local caching commit d1bbfc0d0e1348bf2faffb2c784bae3038435b71 Author: Jeffrey Altman Date: Sun Mar 21 03:05:45 2004 +0000 find-netbios-optimize-20040320 In Mount_ReadSubmount() cache the first response to GetNetbiosName() since the result won't change and the work necessary to get the result is considerable. We don't want to be calling it loops over and over again. commit e3b52b0bc6089a100df804698c96081cd48e8229 Author: Jeffrey Altman Date: Sat Mar 20 18:42:16 2004 +0000 prevent-crash-at-shutdown-20040320 The Power Management Exit routine was instructing the thread to terminate but was not waiting for the conclusion of the operation before returning control to the caller. This allows the service to pass control to the Service Manager before cleanup was properly completed. commit aaed9b1a5a8799290b7063a173e5bb0a023cf3d0 Author: Jeffrey Altman Date: Sat Mar 20 18:00:01 2004 +0000 per-user-registry-20040320 Rename existing registry Read/Write functions to Global Add new registry functions to support Per User Read/Write operations Clean up references to Registry Key strings Change "ShowTrayIcon" to be a "Per User" item from a "Global" item commit 804a85a4872643925e0d204ff301ef68aca2bef6 Author: Jeffrey Altman Date: Sat Mar 20 17:23:48 2004 +0000 fs-setserverprefs-bug-20040320 FIXES 3555 Rodney Dyer (UNCC) reported that the "fs setserverprefs" command if issued multiple times would result in the AFSD server becoming unresponsive. This appears to have been caused by improper use of writeLocks, a failure to use writeLocks when necessary, and improper reference counting on the cm_server_t data structures placed into the cm_allServersp list. commit c763e4b64308867c4bbc36f243462701c63874bf Author: Jeffrey Altman Date: Sat Mar 20 07:55:38 2004 +0000 tab-drives-20040319 the mount root is used to define mount paths not the netbios name commit 2b0462c68d9a319d56743a67d850bd5218d34840 Author: Jeffrey Altman Date: Sat Mar 20 01:03:08 2004 +0000 use-dns-install-fix-20040319 allow use of dns to be configurable commit 16125086891f14efb1618e2d5ac30697518007db Author: Jeffrey Altman Date: Sat Mar 20 01:01:07 2004 +0000 non-kfw-probe-fix-20040319 Fix the non-KFW case of the KDC Probe. Prevent infinite loop. commit 24cee2b758cfd8f1ed4054781034ab97fdadaae3 Author: Jeffrey Altman Date: Sat Mar 20 00:56:28 2004 +0000 version-update-20040319 Update version to 1.3.6090 commit 4b0f00c40799cdecfaaac232dea41afed1fd8219 Author: Jeffrey Altman Date: Fri Mar 19 19:50:27 2004 +0000 dns-fixes-20040319 Reorganize some debug statements to put them in more consistent locations Do not initialize the internal dns support if using the Windows DNS API. (Win2000 and above) commit bd1febc8932662ff6407af62cc7093f25c42078d Author: Jeffrey Altman Date: Fri Mar 19 19:44:31 2004 +0000 nsis-installer-20040319 Fix: The use a provided CellServDB file option was not working. You can't compare a filename to "1" and expect it to work. Add: Make the use of DNS optional and default it to off. commit e53d7575f364efe014fe01bb85b38f5a1f404b3a Author: Jim Rees Date: Fri Mar 19 16:38:29 2004 +0000 obsd-vnops-warnings-20040319 eliminate compiler warnings commit 9c05a6f66d6a1e0c2c3e13a98042a104fd33d15d Author: Jim Rees Date: Fri Mar 19 15:37:10 2004 +0000 freebsd-mkdir-panic-20040319 don't vput(dvp) on error return from afs_mkdir (vfs already does this) bug found by, and fix tested by, adridg@sci.kun.nl commit c396fdec11f575cfa8adcdc268e30eeec2e98449 Author: Daria Phoebe Brashear Date: Fri Mar 19 07:58:52 2004 +0000 irix-ucred-is-really-cred-20040319 FIXES 3651 gotta wonder what crack monkey came up with this AFS_UCRED is ucred in osi_machdep.h, and ucred is redefined to cred in osi_vfs.h whatever commit e1cc03f597954d6e70086dbccf989f791b123c66 Author: Jeffrey Altman Date: Fri Mar 19 05:16:24 2004 +0000 getipaddrlist-20040318 Improve error checking in GetNumOfIpAddrs to prevent potential invalid memory access if the IP Address Table cannot be accessed. (win2000 with no privs) commit 48913f747f4f3df491295b78a51167dfa7f0d264 Author: Jeffrey Altman Date: Fri Mar 19 03:52:07 2004 +0000 afslogon-20040318 Fix memory deallocation errors (never call free() on memory allocated by GlobalAlloc() or LocalAlloc()) Modify event logging to be consistent between High and Low Security Only generate a random user name when using High Security. Use the normal user name when running with Low security. commit e8fc0557d3da988b9a830af0dd0b84c27a4c1ff4 Author: Jeffrey Altman Date: Fri Mar 19 01:09:40 2004 +0000 notifyaddrchange-20040318 NotifyAddrChange() on Win2000 without privs fails. Detect the failure and terminate the IPChangeMonitor thread to prevent an infinite loop eating up system resources. Anyone have a clue which bits are required? commit 8f0422422defc4e74f05e0e36c54f810c204bfa5 Author: Jeffrey Altman Date: Thu Mar 18 06:13:55 2004 +0000 the-correct-mkdir-fix-20040318 Apply the correct file including the fix to the MIT recursive directory creation patch. commit 1d568df733ce07f252800b1e2ca86cf89ee8625f Author: Jeffrey Altman Date: Thu Mar 18 06:10:12 2004 +0000 mkdir-fix-20040318 Fix recursive directory creation from MIT for single component case. commit c9aaa428368f9a3eb0d1bff45c185929fcfaa5b2 Author: Daria Phoebe Brashear Date: Thu Mar 18 05:12:18 2004 +0000 irix-attempt-to-detect-kernel-mem-routines-20040317 FIXES 3651 first pass at routine to detect kernel mem* routines ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 3651 second try ==================== FIXES 3651 third try ==================== FIXES 3651 this time for sure. includes the definitions too, this way we can not have macros conflict with headers we don't need ==================== FIXES 3651 this time for sure. includes the definitions too, this way we can not have macros conflict with headers we don't need ==================== FIXES 3651 this time for sure. includes the definitions too, this way we can not have macros conflict with headers we don't need commit 83b2f72a94b9e6953006acef4729694ee6b74271 Author: Jeffrey Altman Date: Thu Mar 18 04:32:20 2004 +0000 move-readme-to-top-20040317 Move the README files to the top directory where they belong. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== As of 1.3.60 move the Windows Readme files from src to top directory commit 455c1786bc1e833006b0229a76b5258e04045843 Author: Jeffrey Altman Date: Thu Mar 18 04:03:21 2004 +0000 windows-readme-updates-20040317 Add warning to WIN9X indicating that OpenAFS probably won't build on WIN9X anymore. Describe the new build procedure for 2000/XP/2003 in README-NT commit 3110c898e71856bfb63a21ea40004582e2a21283 Author: Jeffrey Altman Date: Thu Mar 18 03:39:54 2004 +0000 fix-install-bugs-20040317 Fix: Compatibility with IBM/Transarc and 1.2.10 installations Correct Pathname Compatibility with incorrect Pathname from 1.3.xx > 1.3.5299 Call CheckSDK on upgrades commit 367c8076b1a38dc6294dfb7f394512dfe3311766 Author: Jeffrey Altman Date: Thu Mar 18 01:46:48 2004 +0000 a-better-way-20040317 Make the directories first, then the trailing spaces won't matter. commit 18cdb6be81e22cbd31f8ed5b2b39a241a6a21218 Author: Jeffrey Altman Date: Thu Mar 18 01:42:36 2004 +0000 missing-spaces-20040317 Add trailing spaces to xcopy commmands. commit 096366d658312d882751aac401a5241996dcc7e8 Author: Jeffrey Altman Date: Thu Mar 18 01:20:10 2004 +0000 nsis-20040317 make sure that afscreds.exe is terminated after executing with the -z option. commit eecfad90abfb3db3f132da21c97e5fe31ca39fb7 Author: Jeffrey Altman Date: Thu Mar 18 00:34:50 2004 +0000 update-afsdcell-20040317 grab current version from http://grand.central.org/dl/cellservdb/CellServDB ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== grab latest version from http://grand.central.org/dl/cellservdb/CellServDB commit 03c7ef7b7fcfced553456cf3c40974705fbb7f8e Author: Jeffrey Altman Date: Thu Mar 18 00:00:15 2004 +0000 1360-version-20040317 Update the version number to 1.3.6000 commit c7b595608e1a691194871be239de3e02823cace8 Author: Daria Phoebe Brashear Date: Wed Mar 17 08:24:13 2004 +0000 darwin-new-systypes-20040317 make autoconf figure it out for us commit 7e1fa15ac11ece2a7a08fa3637e8c789aea39127 Author: Daria Phoebe Brashear Date: Wed Mar 17 07:51:57 2004 +0000 aix-install-kmods-20040317 would be nice if make dest worked again commit b0601bd700b74a76adaf8daa865cc47b4eead312 Author: Daria Phoebe Brashear Date: Wed Mar 17 07:21:43 2004 +0000 aix64-dont-build-on-aix4-20040317 don't build the 64 bit stuff on aix 4 commit 02ed7daa25442fbe33b7be8743c4fb0e10d8492d Author: Daria Phoebe Brashear Date: Wed Mar 17 06:43:34 2004 +0000 support-nfs-translator-sysname-lists-20040317 support sysname lists in nfs translator commit a14a3dd7c19f54c434fc01d4dafd0384d1f9c608 Author: Daria Phoebe Brashear Date: Wed Mar 17 06:38:38 2004 +0000 macos-update-readme-20040317 FIXES 3317 update readme to indicate success through 10.3.3 commit 9f546d5700193beabc00761b4f8e9e1532cc5a12 Author: Daria Phoebe Brashear Date: Wed Mar 17 06:27:37 2004 +0000 distclean-remove-include-lib-20040317 FIXES 3610 include a lib directories generated during build not removed fix it. commit 1da4853098c494e35fcb00089381d69446fdbd5d Author: Jeffrey Altman Date: Wed Mar 17 04:20:31 2004 +0000 fix-typo-20040316 fix last commit commit 7bb8cfd27fa67987872100cda07df2f4a2cff1f7 Author: Jeffrey Altman Date: Wed Mar 17 04:17:20 2004 +0000 use-oldstyle-netbios-name-for-default-20040316 For UNCC, allow old style netbios name to be the default for this release to give them time to convert their scripts to use \\AFS\... instead of \\%MACHINENAME%-AFS\... commit 8022d7659eb2ab04bc4102c5a016857bf5815d1a Author: Hartmut Reuter Date: Wed Mar 17 02:29:39 2004 +0000 aix-largefile-update-20040316 FIXES 3647 don't allow reading past the end of a file commit ec0ba71b30179be312452208bed139db0d9f01cf Author: Jeffrey Altman Date: Tue Mar 16 22:03:00 2004 +0000 reg-expand-str-20040316 Change the NetbiosName registry value from REG_SZ to REG_EXPAND_SZ and add the necessary code to expand the strings. This will allow the use of %COMPUTERNAME%-AFS in case people want to explicitly use a non-portable name. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Update text for NetbiosName value. commit b0ba6348441e330509e444d77753d44940da19dd Author: Jeffrey Altman Date: Tue Mar 16 16:21:42 2004 +0000 registry-20040316 Fix the DependsOnGroup NetworkProvider key to ensure it is placed in the correct location Change the location of the ShowTrayIcon key so that we no longer store user data in the HKLM Transarc tree ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Move the locations of the ShowTrayIcon and cell name based expiration reminder keys out of the HKLM\SOFTWARE\Transarc... key and into the {HKCU,HKLM}\SOFTWARE\OpenAFS\... tree. This is safe to do because these keys are transient in nature (created by afscreds.exe) and really do belong to the user and not to the machine. commit 462160c4d08d45dcc2ec9ec46397e83b4fb62c0c Author: Jim Rees Date: Tue Mar 16 16:19:07 2004 +0000 freebsd-pkg-builder-20040316 Mention the FreeBSD package builder, with warning. commit 6580ab06807de87fe6b4f7c9b83de004a8774772 Author: Jeffrey Altman Date: Tue Mar 16 16:15:36 2004 +0000 registry-notes-20040316 Update the registry usage for 1.3.60 Add information for the Network Provider values and the AFSCreds.exe values. commit 741486ef8356743aa3b42b07b9501c42ac1e1dec Author: Jeffrey Altman Date: Tue Mar 16 04:40:10 2004 +0000 service-dependencies-20040315 Fix the location of the registy values to be used for specifying the service dependencies of the AFS Network Provider. AFS is dependent on PNP_TDI (tcpip, netbt, etc); RpcSs; and NetBios. Upgrades were failing to read the Cell name from the proper location so that it could be restored. commit 18fde45d13a62f7e861887adffaa08bbbc63d2b3 Author: Jeffrey Altman Date: Tue Mar 16 04:32:45 2004 +0000 kfw-thread-safety-20040315 Add a mutex semaphore around the kfw initialization code to prevent multiple threads from attempting to initialize simultaneously. commit 348e26e10deaee7306a739c4f25ae8c0bf8bf5c4 Author: Dr. Dieter Mack Date: Mon Mar 15 18:51:03 2004 +0000 uss-kauth-support-lockout-20040315 FIXES 3637 minor reformat by shadow@dementia.org make uss kauth support account locking correctly. commit a70f5d8c51c9f81414f7604907f97caefa904657 Author: Jeffrey Altman Date: Sun Mar 14 01:28:24 2004 +0000 hourglass-20040313 Ensure that all functions which perform a pioctl() call also change the icon to an hourglass. Replace calls to InAFS() with the function IsPathInAfs() and remove InAFS() since they were identical functions. commit 79af038ceaecba4cf4a79308e6798baa0798fd20 Author: Jeffrey Altman Date: Sat Mar 13 21:51:07 2004 +0000 lets-get-it-right-20040313 the NSIS script crashed on a test machine. Fix the use of variables. When using the System.dll plug-in; you must use $1..$9 instead of $R1..$R9 commit 974943281e6bdb2c4d61f0e2dbc1115fbb2b9890 Author: Jeffrey Altman Date: Sat Mar 13 21:24:41 2004 +0000 update-to-nsis-script-20040313 Modify NSIS script to prevent overwriting variables commit d4b9b483df4f91928d1d6e1cf7e14901acc0566a Author: Jeffrey Altman Date: Sat Mar 13 21:07:36 2004 +0000 mutex-token-access-20040313 This is an initial crack at one of the big problems with the existing AFS client. Multiple processes in a single session or in multiple sessions (terminal server) can step on each others toes. This is because the dual use of RPC and SMB calls to perform operations. Since nothing is done in a single synchronized step, there are plenty of opportunities for data overwrites to occur. The change was to add a Global Mutex within all of the ktc_XXXToken calls. The use of "Global\" prefixed kernel objects are only supported on Win2000 and above. This is fine because this is all we claim to support. But if someone was to decide to run this code on NT4 or Win95 anyway bad things will now happen. This should probably be cleaned up if someone has time. commit 9b8b47a3d2402224f2180150ce1d49419625fc41 Author: Jeffrey Altman Date: Sat Mar 13 21:00:52 2004 +0000 empty-cell-name-fix-20040313 If the Registry contains a "Cell" entry which is the null string don't crash. Instead panic and log an appropriate error. commit facb3c0102a65522165fcb03dcbc8a5db9409bfc Author: Jeffrey Altman Date: Sat Mar 13 18:34:23 2004 +0000 add-registry-values-20040313 Add registry values to enforce service startup dependencies Increase the RxMaxMTU value from 1200 to 1260 based upon experience running across the Cisco VPN at MIT, Cert, and Fermi. commit 04f4e9849434bf06c89ed13b941f5b969d142373 Author: Jeffrey Altman Date: Sat Mar 13 18:28:39 2004 +0000 registry-call-optimizations-20040313 Do not read the same value from the registry three times in the same function. commit f3599342f6e85e01a351fb35bad0ee518b2a4980 Author: Jeffrey Altman Date: Sat Mar 13 18:26:42 2004 +0000 remove-extraneous-code-20040312 Remove calls to obtain the netbios name which is placed into variables which are never referenced. commit ffb5b960276fb59da08d4312690ff60cc36959e6 Author: Jeffrey Altman Date: Sat Mar 13 18:24:14 2004 +0000 remove-loopback-test-from-smb-20040313 Now that the loopback test is being performed within the LANA Helper library we should not be performing the test in the smb init code. commit 5febc849d9f4bd6b84bede9c23e840a0795fc2d5 Author: Daria Phoebe Brashear Date: Fri Mar 12 05:56:59 2004 +0000 linux-ukernel-pthreads-ugliness-fix-20040312 really an autoconf test should do this. in the meantime we do this. commit 4a4b438592af15bb1a574d77d18e404a65dacd8d Author: Daria Phoebe Brashear Date: Fri Mar 12 03:27:32 2004 +0000 juafs-makefile-fix-20040311 make the juafs rules not break the makefile (remove bogus quoting) commit 01653376bf4e649e755e5d1a3f0aaab147dd0975 Author: Daria Phoebe Brashear Date: Fri Mar 12 02:30:45 2004 +0000 irix-deal-with-sh-versus-make-vars-20040311 FIXES 3322 so the LDFLAGS variable doesn't get shadowed we do this commit e0a1f4ab4374852323660a250781865a545c4986 Author: Jim Rees Date: Thu Mar 11 22:35:45 2004 +0000 freebsd-pkg-builder-20040311 freebsd package builder not quite right yet, the rc file won't work commit dd2979bce9926895b2da1f534779c906dfd4db51 Author: Jim Rees Date: Thu Mar 11 20:39:07 2004 +0000 openbsd-shutdown-panic-20040311 openbsd: use vrele instead of AFS_RELE in unmount to avert panic acquire GLOCK in mount (not really needed but oh well) other finnicky and needless tweaks commit e1281a2014433fce1ec31caa2652cbf1ef743b6a Author: Chaskiel M Grundman Date: Thu Mar 11 20:22:07 2004 +0000 inode-largefile-attempt-20040311 FIXES 3519 attempt to deal with large file fileservers for inode versions. not done yet commit 49038f32b99088448609b54165dcc08b6429abc0 Author: Jim Rees Date: Thu Mar 11 19:14:46 2004 +0000 openbsd-vrefs-20040311 OpenBSD bug fixes: fix vnode refcount botch introduced by freebsd merge fix yet another deadlock in the vnode reclaim path commit fc4ab52ec4839afb91168f846b84a05bc6df60cc Author: Lynn Zhang Date: Thu Mar 11 07:31:46 2004 +0000 buserver-support-clones-20040311 FIXES 3355 support ubik clones in buserver as with other ubik servers commit 7b838f474b15f038d52603758460d987dbcf0369 Author: Daria Phoebe Brashear Date: Thu Mar 11 07:24:23 2004 +0000 base64-elsewhere-20040311 base64 is in util, and has a different name. commit 70a4232ec9d6b0b0fd4931e255a811afa86e2499 Author: Daria Phoebe Brashear Date: Thu Mar 11 07:20:31 2004 +0000 irix-afs-osi-credp-declared-elsewhere-20040311 revert to 1.2 declaration for irix commit 5cef3a3fca214a8ce576928bf922214f156bc5dc Author: Nathan Neulinger Date: Thu Mar 11 07:15:52 2004 +0000 viced-revert-EIO-and-instead-use-zero-length-20040311 FIXES 3594 this was the other considered approach, i'm unsure why it's needed, but we'll play along for now. commit bfc88419b13fc1df44f033dcd3a73a92b2f46693 Author: Daria Phoebe Brashear Date: Thu Mar 11 06:30:58 2004 +0000 rx-user-dont-redefine-isafs-glock-for-ukernel-20040311 rx/UKERNEL/rx_kmutex.h already covers this commit 76405667dcc7fe0dc91651d44346c686a6951515 Author: Daria Phoebe Brashear Date: Thu Mar 11 06:05:54 2004 +0000 aix-update-linktest-20040311 aix hates darwin, again. include netinet/in.h (which was implicit from rx/rx.h before) to make aix happy commit 04c2e8aef35efde22d0fcc678bd3163fbf47b54f Author: Daria Phoebe Brashear Date: Thu Mar 11 05:40:31 2004 +0000 aix-uafs-dir-compile-20040311 make dir package work for uafs on aix commit d0f33e1d88e6e252b9abffea77f2d5712ca3c23c Author: Jim Rees Date: Wed Mar 10 23:01:50 2004 +0000 freebsd-20040310 Support for FreeBSD 5.x client. Both 4.x and 5.x now use vnodes from the system pool instead of attaching a private vnode to the vcache. Most of this is from Garrett Wollman , I just did some integration and made it work again on 4.x. commit 9eea027e69d630d64da24fc1b69ac36c9a153e43 Author: Daria Phoebe Brashear Date: Wed Mar 10 17:14:13 2004 +0000 aix-dont-build-64bit-on-aix4-20040310 no 64 kit module for aix4.3.3 commit d3b28b180b1099c0267d6d9492ed319e277ef772 Author: Daria Phoebe Brashear Date: Wed Mar 10 17:12:08 2004 +0000 aix5-missed-autoconf-support-20040310 put back the aix5 stuff in autoconf files commit 7e1b1a2e0d6a70832ea993af71d130a0a8ff8239 Author: Daria Phoebe Brashear Date: Wed Mar 10 08:35:38 2004 +0000 macos-build-update-20040310 make the head build again. commit 99dbd4c52b0a8a13dc9e12662433dc4a856ddd4f Author: Jeffrey Altman Date: Tue Mar 9 05:47:30 2004 +0000 nsis-lang-file-fixes-20040308 Cleaned up the language file installations. Place language files in the same directories as the non-language files. Do not install the MSVC files twice. Install debug symbols for language files for all languages; not just German. commit 5afe47f3dbc93e21f88b9f198305a23f1d30a563 Author: Jeffrey Altman Date: Tue Mar 9 04:45:32 2004 +0000 nsis-improvements-20040308 UpgradeDLL updated by Rob Murawski Rob and I replaced dll installs with upgrades I removed all of the support for beta versions of NSIS now that 2.0 is officially released. commit 1269df5ffaebedeabb2afec48199500311cdc458 Author: Jeffrey Altman Date: Tue Mar 9 03:07:27 2004 +0000 unmap-debugging-20040308 Add more debug info to DoUnmapShare commit 91dac9e5b54925c2f410bd34b441fe8c44534f02 Author: Jeffrey Altman Date: Tue Mar 9 03:06:32 2004 +0000 afscreds-unmap-command-line-option-20040308 Add -z option to afscreds.exe which is called from the installer to unmap the drive shares when uninstalling OpenAFS. commit 5af850b9eefc20b6ae27ca1403917be0dc5294f9 Author: Jeffrey Altman Date: Tue Mar 9 02:02:38 2004 +0000 event-object-naming-20040308 Restore event object naming to the pthread objects. Be sure to identify the objects by PID this time to avoid conflicts. commit 1e97e0dcab286036411e320197158a6556fd6268 Author: Jeffrey Altman Date: Tue Mar 9 02:00:18 2004 +0000 kfw-not-installed-bug-20040308 * Remove attempt to free a krb5_context when KFW is not installed. commit 946b2218e29eef34e00355bffa70348dbb511acd Author: Jeffrey Altman Date: Tue Mar 9 01:57:34 2004 +0000 add-path-to-log-20040308 Discovered after wasting a huge quantity of time that it is possible for OpenAFS to be installed on machines already containing the IBM/Transarc AFS. Add the PATH environment variable to the log to allow this situation to be detected. commit 4c29d908300ed37f190681c07aa24c6e8dfbab1e Author: Jeffrey Altman Date: Mon Mar 8 14:02:50 2004 +0000 long-lifetimes-20040308 Add long kerberos 4 ticket lifetime support commit e0461bfb375a634850043b77b477e7015fbc3e9e Author: Jeffrey Altman Date: Mon Mar 8 02:23:34 2004 +0000 kfw-changes-20040307 * Increase debugging of the KFW code; * Remove the krb5_cc_remove_creds commit 28fe0be851223d4d08f1d4c54d9501592b96ac86 Author: Jeffrey Altman Date: Mon Mar 8 02:05:44 2004 +0000 fs-admin-privs-20040307 Add a requirement for Administrator privileges to the "fs setserverprefs" command. commit 2ad3f0377c1b1cb976379ba66d0df48f9c0bae0c Author: Jeffrey Altman Date: Sat Mar 6 21:38:48 2004 +0000 netbiosName-cellname-20040306 Add support for a new form of automatic share name generation \\netbiosName\cellname which means that on systems with the loopback adapter you can now refer to the athena.mit.edu afs cell as \\afs\athena.mit.edu\ This is implemented within cm_FindShare(). If the share name is not one of the special ones and cannot be found in the Submounts table, check to see if it is a known cell name, If so, create a path to the share of /afs/sharename with the "sharename" being lower cased. (I hope there are no cell names in mixed or upper case. This won't work.) commit 4ec7d4f8c29bbf750e85c68d684984c693470693 Author: Jeffrey Altman Date: Sat Mar 6 15:25:47 2004 +0000 NTMakefile-dependencies-20040306 Update dependencies on various libraries to enforce consistency checks commit c34c5822cd1629700e5da86b4a8b6cb879f071d8 Author: Jeffrey Altman Date: Sat Mar 6 13:27:48 2004 +0000 corrections-to-MIT-merge-20040306 * Corrections to MIT merge caught by Asanka. commit 30ad9faeb214fc1a2d362b79e73eb117ed2fe49c Author: Jeffrey Altman Date: Sat Mar 6 08:09:13 2004 +0000 lanahelper-20040305 Minor updates. Fix AFS Root UNC path string; add debugging code (off by default) commit 9be2bdb79de58c6c39478791bc1f4722a3c25483 Author: Jim Rees Date: Sat Mar 6 02:42:53 2004 +0000 inaddr-any-20040305 use INADDR_ANY instead of ADDR_ANY. commit 01059dcb66eef9d220b096730b9f168f42098865 Author: Jeffrey Altman Date: Fri Mar 5 23:27:07 2004 +0000 drivemap-fix-take2-20040305 * See I knew it wouldn't work. Revert to loop used in revision 1.14 commit 52d6f0920660cc736ee4b44edb566e9c2617550f Author: Jeffrey Altman Date: Fri Mar 5 23:19:33 2004 +0000 drivemap-fix-20040305 * an attempt at a cheap fix which probably won't work. commit 13c71ca0d33cde3dd9daecebb91012223e159b7f Author: Jeffrey Altman Date: Fri Mar 5 23:09:18 2004 +0000 lanahelper-library-20040305 * at my request Asanka Hearth of MIT ripped out all of the code used the compute the Netbios Name of the SMB Server and the mountRoot and constructed one commonly used library called lanahelper.lib. This library is now constructed in the WINNT/afsd directory and used throughout the tree. At least we now have consistency if nothing else. commit 93bb47640c5b672d924d934a6b81fab8a8410027 Author: Jim Rees Date: Wed Mar 3 22:41:05 2004 +0000 no-cdev-fsync-20040303 don't try to fsync() a character special dev reported and fix suggested by Helmut Jarausch commit ce9f211c09043f4888e46258f9d800e5c575a646 Author: Jeffrey Altman Date: Wed Mar 3 03:32:42 2004 +0000 smbname-consistency-20040302 These changes are an attempt to provide a bit more consistency when it comes to the establishment of SMB drive mappings. Whenever mappings are created, the same name is used when a name can be found. This is supposed to mirror what is performed in the integrated logon DLL. commit c5689df2864cb1f863cd35d760eefdb75ec4d965 Author: Jeffrey Altman Date: Tue Mar 2 15:41:43 2004 +0000 fix-service-start-permissions-20040302 When merging the Skyrope changes I forgot to specify the SERVICE_START privilege necessary to allow the -N option to work. commit 2617395f90db0c94c5c556c87ca0e82cc20fe649 Author: Jeffrey Altman Date: Tue Mar 2 07:23:41 2004 +0000 security-class-object-leak-20040301 Incorrect reference count management results in a leak of rx_securityClass objects. commit b37097c6b72528753bb81c15a254e00f2d29dbbd Author: Jeffrey Altman Date: Tue Mar 2 04:14:43 2004 +0000 name-event-objects-20040301 When naming event objects allocated in a library, make sure the names are unique by including the process id. commit 6152f1e0f21a8261bf5093ed972f1bdf4b20854f Author: Jeffrey Altman Date: Tue Mar 2 04:12:07 2004 +0000 openafs-nsi-20040301 Add two new registry keys: RxMaxMTU (DWORD) = 1200 (decimal) NoFindLanaByName (DWORD) = 1 (decimal) DEBUG builds only commit 403e46be7dfee98ef9ee818cf4b37530c5df1755 Author: Jeffrey Altman Date: Tue Mar 2 04:09:32 2004 +0000 afsi_log-buffer-20040301 Increase the size of the final buffer to be large enough to hold all of the data which is being written to it. commit 65b2c45287a42a7e6555c3a300e58e05d22c4039 Author: Jeffrey Altman Date: Sun Feb 29 22:22:19 2004 +0000 smb_fid_t-leak-20040229 There was a significant leak of smb_fid_t objects produced when copying files from an AFS volume. This is clearly part of the problem reported by UNCC. However, there is still an unexplained memory leak associated with reading and writing files even if the data is only being read from the cache. I am noticing reports of memory allocation overruns from the Debug CRT when freeing SCache objects. This could be a side effect of whatever is causing the memory leak. This will require more research. commit 85caa4d1ded464b2d89eb8d2a14a6cedf93de08c Author: Jeffrey Altman Date: Sun Feb 29 02:38:26 2004 +0000 win32-name-event-objects-20040228 This is a very bad leak of Event Objects. Name all of our event objects in an attempt to identify the source of the leak. Apparently, the leak is not coming from any Event Objects we are creating directly. Did find a misallocation of event objects in the smb code for the initial session object. Fixed. commit d83b9bb75aac67ef79857b731e421dbb6168311f Author: Jeffrey Altman Date: Sat Feb 28 19:13:26 2004 +0000 findlanabyname-20040228 * an attempt to fix the problems with stack overwrites when calling the undocumented calls does not work. check it in anyway. commit 7942e801d9b911139c6a947f5d6f7f32bee2dd7b Author: Jeffrey Altman Date: Sat Feb 28 19:10:05 2004 +0000 hidedots-fix-20040228 * Fix the Hiding of dot files. attributes were computed but never applied due to typo during merge * Prevent crashing during service shutdown by power management thread commit f0f49b80b0f4c5b400874dbe1fdeb6993bf20bee Author: Jeffrey Altman Date: Sat Feb 28 06:26:05 2004 +0000 afscreds-shortcut-params-20040227 Obtain Shortcut Parameters from Registry Key {HKLM, HKCU}\SOFTWARE\OpenAFS\Client (REG_SZ) AfscredsShortcutParams Default value is "-A -M -N -Q" if not found commit 1d7c0cc9024e0c142d0741baa5dde046c5c37057 Author: Jeffrey Altman Date: Sat Feb 28 06:20:12 2004 +0000 nsis-afscreds-shortcut-params-20040227 Add Shortcut Parameters to AfsCreds.exe -A -M -N -Q A automatically attempt to obtain tokens on startup if needed M renew drive maps N background check monitors network configuration and attempts to obtain tokens or restart client service if needed Q do not start AFS wizard commit d10a43683ae0beb844275f960f6dae26f31bd64a Author: Jeffrey Altman Date: Fri Feb 27 20:38:48 2004 +0000 NoFindLanaByName-regkey-20040227 Add a new registry entry "NoFindLanaByName" which can be set to 0x01 (DWORD) to disable the FindLanaByName lookup in case it crashes commit 4d9e419c8cdefc5fd9085beec6144eb6109fb8ad Author: Jeffrey Altman Date: Fri Feb 27 18:36:09 2004 +0000 enablekfw-part2-20040227 Current User should have priority over Local Machine commit c9b834d6e72189cacc08be199f16598ae53fe9a1 Author: Jeffrey Altman Date: Fri Feb 27 18:35:22 2004 +0000 enablekfw-regkey-20040227 * Add new Registry Key: {HKLM,HKCU}\\SOFTWARE\\OpenAFS\\Client DWORD EnableKFW Default value if missing is 0x01 commit 4cc93fd62692082cb6b847fa6ded2daaae91c1e0 Author: Jeffrey Altman Date: Fri Feb 27 18:20:34 2004 +0000 morgan-patch-20040227 * Add error checking and logging for WaitForMultipleObject calls * Place log file in directory pointed to by TEMP env variable if defined * Use the platform defined value for MAXIMUM_WAIT_OBJECTS instead of the value 100. (WinNT.h defines this as 64) * Add a new registry value "AllSubmount" which can be set to DWORD 0x00 to disable the automatic creation of the \\AFS\all submount. This is for sites which wish to restrict access to the world. commit 4eb61ff3471652427c1ff03cd4e413550f01cb95 Author: Jeffrey Altman Date: Fri Feb 27 07:40:20 2004 +0000 nsis-new-reg-strings-20040227 Make the NSIS installer create the registry strings for NetbiosName = "AFS" and MountRoot = "/afs" commit 94c5d9d6ad90bfc1b6943cce913377ee6fbb0320 Author: Jeffrey Altman Date: Fri Feb 27 07:35:25 2004 +0000 fix-unc-binding-message-20040227 Fix the UNC Binding message. commit 702e858526dad2dbec9564b9a60bfaaaea70c0ad Author: Jeffrey Altman Date: Fri Feb 27 06:44:46 2004 +0000 nbname-instead-of-mountroot-20040227 When determining what name should be used for the NetbiosName query the registry value "NetbiosName" instead of "MountRoot". commit 33f9f204bbe69637c160d9d09659f8c8fe617f1e Author: Jeffrey Altman Date: Fri Feb 27 06:21:59 2004 +0000 fix-getlana-typo-20040227 GetUncServerName had a typo which was using "=" instead of "==" not good. :-( commit 569602eb625780e02658bda84d325e7aec9e1794 Author: Jeffrey Altman Date: Fri Feb 27 06:02:18 2004 +0000 no-wspp-builds-20040227 the WSPP build references in the current ntbuild.bat are extraneous as there are no references to the defined variable anywhere else in the build system. remove them from ntbuild.bat commit a16b140dc876c4f52d15ba9f49ae7263653259cd Author: Jeffrey Altman Date: Thu Feb 26 19:22:35 2004 +0000 skyrope-mit-merge-hell-20040226 From Skyrope: The Skyrope work attempted to improve on the end user experience of using OpenAFS in the following ways: * Obtain tokens using renewable Kerberos 5 tickets in order to reduce the need for end users to renew expired tokens * Monitor the list of IP Addresses in order to detect changes in the network configuration which might affect the reachability of cells or the state of the AFS Client Service. When cells are newly reachable, obtain tokens for the cells. If the AFS Client Service is not running, start it. If tokens are expiring attempt to renew them. * Use KDC probes to detect the accessibility of realms/cells. If the KDC is not reachable, do not prompt the end user for a username and password. (fs probe is not implemented on windows) * Automatically obtain tokens using the Windows Logon Session Kerberos credentials (if available) * Allow tokens for multiple cells to be obtained by using the same Kerberos 5 tickets. (no UI yet implemented) * Perform drive mapping persistance by tracking it within the afsdsbmt.ini file instead of relying on the Windows Shell to persist the state. * Add new afscreds.exe command line options and change the default set used when creating the "AFS Credentials" shortcut in the Start Menu->Programs->Startup folder. From MIT: * Auto-detection of loopback adapters. Use "AFS" as the netbios name when a loopback adapter is installed. * Support for responding to power management events. Used to flush the cache when the machine is about to suspend, hibernate, or shutdown * Documentation of Registry entries * Support for Extended SMB Requests * Beginning of support for true Event Log reporting from a message database * Hidden Dot File support (configured via the HideDotFiles registry option) * Configurable Max number of Multiplexed Sessions (MaxMpxRequests registry option) * Configurable Max MTU size (RxMaxMTU registry option) * Configurable Jumbogram support (RxNoJumbo registry option) * Configurable Max number of Virtual Connections per Server (MaxVCPerServer registry option) * Win32 DNS API support * Addition of SMB_ATTR_xxxx defines for use instead of hex numbers * A variety of heap access and resource deallocation errors corrected in the SMB code * Support for recursive directory creation * Modifications to the en_US version of the client configuration dialog (need to port to other languages) Notes on the current check-in: * The KfW code will always be used when installed on the machine. This code only supports Krb5 and will not work with Krb4 only realms. A registry flag indicating whether or not KfW should be used if found needs to be added. * afscreds.exe needs to have a registry entry created to control the parameter list it should be started with. There should be a dialog to control this in the installer and within afscreds.exe * The MIT method of auto-assigning the mount-root and the netbios name is in conflict with the morgan stanley submissions in some parts of the code. If you are using the loopback adapter with this code both the "NetbiosName" = "AFS" and "Mountroot" = "/afs" registry options must be specified. This will be fixed in coming days. commit be6c29629b697077cdbeb979e9a8e8b149726267 Author: Jeffrey Altman Date: Tue Feb 24 20:23:42 2004 +0000 remove-nbt-reg-entry-on-XP-20040224 In discussions with Andrei Keis at Morgan Stanley it has become clear that the NBT registry parameter which disables the use of port 445 should only be used on Windows 2000. commit 6e880ed20e91ce1f83f8493b56947ef1d13dbf0f Author: Daria Phoebe Brashear Date: Fri Feb 13 18:58:39 2004 +0000 revert-linux-sysname-list-estale-fix-20040213 (despite just committing a leak fix) we can no longer find a kernel where this is needed so we'll leave it in the cvs history but revoke it. it may have been a "special" kernel commit 09d4822ebe7e5696244b56efaaf57e72eac82377 Author: Daria Phoebe Brashear Date: Fri Feb 13 18:55:36 2004 +0000 linux-sysname-list-free-sysstate-20040213 required by linux-sysname-list-sys-links-resolve-dentry-20031109 eithout this, if you're in a directory that the second or later entry in a sysname list resolved to, pwd returns ESTALE. force the true path to have its dentry cached. commit eca259c292f430de52414111e1b1514b22114510 Author: Sven Oehme Date: Tue Feb 3 06:23:30 2004 +0000 linux-ppc64-fixes-20040202 FIXES 3058 linux ppc64 port commit 0008bb59882acebb9a65f8ce76357686fb5a6e8c Author: Andrej Filipcic Date: Tue Feb 3 05:57:49 2004 +0000 amd64-update-20040202 FIXES 2756 deal with types in newer amd64 distributions initialize some variables commit 526c586898d5509a4abfdbd17e20c7325b75b312 Author: Daria Phoebe Brashear Date: Tue Feb 3 05:43:23 2004 +0000 fs-return-EIO-when-starting-read-beyond-EOF-20040202 FIXES 1493 large file support asserted when attempting to read beginning past the end of the file commit 3c4dd454dd61d9dc96ae32a41ff71a9e626ef458 Author: Hartmut Reuter Date: Tue Feb 3 05:31:52 2004 +0000 dumptool-largefile-support-20040202 FIXES 2720 make dumptool support large files commit 3f73524386f38f1a6fe004fec4dee6afbc3f288c Author: Daria Phoebe Brashear Date: Tue Feb 3 05:24:11 2004 +0000 macos-protect-kpasswd-20040202 FIXES 1893 rename kpasswd to kpasswd.afs in /usr/bin since krb5 kpasswd is included commit 43118d9396d26adf107530d49b60245b756d7455 Author: Shantonu Sen Date: Tue Feb 3 05:10:24 2004 +0000 darwin-avoid-hang-on-rename-20040202 FIXES 2967 this version deals with afs being multiply mounted. return EXDEV on cross device rename attempts as upper layer doesn't deal for us commit bb236704d338312192c155f83cd5584d2184d951 Author: Tom Maher Date: Tue Feb 3 04:53:43 2004 +0000 acquire-fsync-lock-inside-while-loop-20040202 FIXES 3205 in order to not violate the invariant that pthread_cond_timedwait be called with a locked mutex, we must relock if we unlock. commit 0a0b3c0974ab16ba574cdb65b9e1fafa7a932c13 Author: Jim Rees Date: Fri Jan 23 16:53:35 2004 +0000 dir-buffer-protos-20040123 take yet another stab at getting dir buffer prototypes right commit 80747b803f6923040545496c040ba67aee542355 Author: Jeffrey Altman Date: Thu Jan 15 04:13:37 2004 +0000 nsis-run-time-lib-fixes-20040114 - Update the installer script to properly install the required runtime libraries for all compilers - Update the AddToPath and RemoveToPath files commit 8730b44612435377a114a024efdb920b78db1897 Author: Daria Phoebe Brashear Date: Wed Jan 14 21:30:59 2004 +0000 kdump-linux-sucks-more-20040113 make it build on newer rhel attempt to deal with hugemem kernel dumbness commit 276df5918b057765e50b4c8a48ec8060f8abe5a7 Author: Jeffrey Hutzelman Date: Sat Jan 10 16:59:35 2004 +0000 ubik-election-epoch-fix-20040110 ubik's ability to keep quorum broke when unix time passed 2^30 seconds. Buy us another 2^30 seconds. commit c4f94dd3a5c1d15273bc54e4f42fc9069c3a3613 Author: Jeffrey Hutzelman Date: Thu Jan 8 21:54:10 2004 +0000 vos-move-copy-improvements-20040108 FIXES 2815 add switches to vos move and vos copy. add vos clone. commit d56b95d9a213cb862aeb1f31b6f2c9078530f631 Author: Jeffrey Altman Date: Sun Jan 4 10:39:03 2004 +0000 avoid-long-windows-shell-timeouts-20040105 * cm_conn.c: assume that if all of the servers for a cell are DOWN that there is NOSUCHVOLUME. We can't return TIMEDOUT because this assumes there is a server which is up and the windows shell will in turn continue to try to reach it for several minutes on each refresh. Of course, each refresh occurs more frequently than the timeouts. We can't return ALLOFFLINE because that in turn results in an attempt to cm_ForceUpdateVolume() will a NULL (cm_fid_t *). That in turn causes a null reference and a crash. * cm_volume.c: place a check in cm_ForceUpdateVolume() to return without performing its job if there is no (cm_fid_t *) value. Unfortunately, this in a ALLOFFLINE situation places the service into an infinite loop. Question: why is cm_ForceUpdateVolume() ever being called with a NULL parameter for the (cm_fid_t *)? * cm_smb.c: change the NTStatus for CM_ERROR_NOIPC to Remote Resources instead of Access Denied. * cm_buf.c: add a debugging statement commit 06af6dc9cfd16d42a90f0a58f0d47fa7d0b9cc41 Author: Jeffrey Altman Date: Fri Jan 2 07:03:47 2004 +0000 nsis-do-not-install-sdk-with-client-20040101 From Rob Murawski: This is a diff with the changes we talked about for making a separate section for the SDK files. It is not installed by default, unless the SDK files already exist. (To keep them consistent on the machine) Also, a fix to the ShouldClientInstall function to properly handle downgrades. commit 47eac162efd4d6cce9aa7207095a0980f16ca1e1 Author: Daria Phoebe Brashear Date: Thu Jan 1 07:58:38 2004 +0000 undo-flexelint-screwage-20040101 irix cc wants this prototype commit 49b42ef91dba7b866eb485546b87e0792cbd5474 Author: Daria Phoebe Brashear Date: Thu Jan 1 07:47:54 2004 +0000 irix-osi-prototypes-20040101 add prototypes header for irix kernel module commit c8185c54f742bdc2550687ea746cd6984008c96f Author: Daria Phoebe Brashear Date: Thu Jan 1 06:51:25 2004 +0000 vos-full-listvol-irix-20040101 irix needs a inet_ntoa prototype commit 858264ca909259e60526768e21e4681cdf85c97f Author: Daria Phoebe Brashear Date: Thu Jan 1 06:22:31 2004 +0000 undo-flexelint-breakage-20040101 make irix cc happy commit 754d8a94accd046499d433ed512ed9a21fb277cb Author: Daria Phoebe Brashear Date: Thu Jan 1 05:56:25 2004 +0000 undo-flexelint-damage-20040101 unfortunately the problem with making flexelint happy is that irix's cc becomes sad. commit c5e75ee015b791012f70a8d5238c0b8fad08b1eb Author: Jeffrey Altman Date: Tue Dec 30 22:34:18 2003 +0000 nsis-installer-20031230 remove some additional warning messages commit 02b6bdbc6ae00863e302936ce164aca20eec6de3 Author: Jeffrey Altman Date: Tue Dec 30 22:31:03 2003 +0000 nsis-installer-take-three-20031230 only use IsSilent on 2.0b3 commit a35d7330fd36eb4bc518d7b7d89885f6787ce1e1 Author: Jeffrey Altman Date: Tue Dec 30 22:24:11 2003 +0000 nsis-installer-take-two-20031230 Left out one change commit e445236521e23071e5a9adf335835cf77e87f4a5 Author: Jeffrey Altman Date: Tue Dec 30 22:21:33 2003 +0000 windows-nsis-installer-update-20031230 NSIS released v2.0 RC1 today. Updated the installer script to build with it. commit af52472a7595a2d848ec33785a00546e6551d17a Author: Nickolai Zeldovich Date: Sun Dec 28 01:26:32 2003 +0000 fix-softsig-on-freebsd47-20031227 The workaround for Darwin of setting a signal handler for SIGUSR1 appears to also be needed on FreeBSD 4.7. commit f91e4fd0e7481592944a1b2a077bfd637fdd231b Author: Jeffrey Altman Date: Sat Dec 20 19:28:07 2003 +0000 do-not-delete-krb5-ini-20031220 Do not delete krb5.ini unless we were installing KfW commit f35416a7fff2f0105ea0816611f16ed308998177 Author: Daria Phoebe Brashear Date: Sat Dec 13 00:04:56 2003 +0000 dir-header-dont-conflict-with-kernel-protos-20031208 kernel module has disjoint buffer package commit d938729a11c98e25d6be533d380e33245e88c0d9 Author: Daria Phoebe Brashear Date: Fri Dec 12 23:37:37 2003 +0000 libadmin-test-client-restore-prototypes-20031212 won't build without these. put em back. commit 829975edc7a38b0f214b98bd778c7aa8e51d0e65 Author: Daria Phoebe Brashear Date: Fri Dec 12 23:29:49 2003 +0000 dlq-moveb-also-returns-void-20031212 nothing even uses it... commit 61e6580fb675881db6fd8fdc7b82e343c3f920ea Author: Daria Phoebe Brashear Date: Fri Dec 12 23:16:12 2003 +0000 ulock-rellock-actually-returns-void-20031212 but seriously. commit 3458ec42cba8614967ce016268388e59ee178b43 Author: Jeffrey Altman Date: Fri Dec 12 01:21:06 2003 +0000 path-fixes-for-bos-logs-20031211 Fixes to paths to enable Bos Logs to function -Rob commit 46c42a763777c565d646c52888b98a1efa705962 Author: Jeffrey Altman Date: Fri Dec 12 01:20:14 2003 +0000 nsis-patches-20031211 To do list: * remove /wizard from afssvrcfg.exe shortcuts * add a "runonce" for afssvrcfg.exe /wizard when the Server is installed * enforce a restriction of no Freelance mode when the Server is installed * enforce a requirement of the Client install when the Server is installed * add a control panel shortcut to afssvrcfg.exe * remove "recommended" tag from the AFS Server option >>>>>>>>>>>>>>>>>>>>> This is everything we talked about, plus: 1) Fixes the installer so re-installation behaves as expected. All existing settings are preserved. (With the exception of what is modifiable during install. The cell name is prepopulated, but the user CAN change it) 2) Likewise, an upgrade will retain previous settings. (There might be a point from which you cannot upgrade, i.e., from IBM 3.4 or something) 3) Variables named consistently, more code left out if NSIS 2.0b4. -Rob commit 3d1da03178b2ff43010a814db78f99925ecb5e71 Author: Daria Phoebe Brashear Date: Thu Dec 11 19:06:16 2003 +0000 pr-initialize-silence-error-on-empty-dir-20031211 FIXES 2678 don't print an error if we're just flushing the cached directory info commit 94682458df6867991ec8354cd9d9ee2773a6be4c Author: Jeffrey Altman Date: Thu Dec 11 03:57:56 2003 +0000 nmake-convenience-20031210 Add new targets install-nsis and install-is5 to perform both a build and an installer in one shot commit 95e9e5dbbd7486b4930083d86b2f23085491bbbf Author: Jeffrey Altman Date: Thu Dec 11 03:21:20 2003 +0000 fix-netaddconnection2-call-svr-config-20031210 TEXT("") -> NULL commit 3e90ead98c4ac6da489d154300aa8e37106fe30f Author: Jeffrey Altman Date: Wed Dec 10 22:17:48 2003 +0000 murawski-20031210 Murawski's daily patch for NSIS: * user selectable registry settings * generated files placed in $(OUT) tree * installer produced in $(DEST) tree * auto-detection of previous installation * better naming to distinguish build date and Release vs Debug commit 3fe290665fba0fb6d1d715bee15a32dbcf840ce1 Author: Jeffrey Altman Date: Wed Dec 10 18:12:01 2003 +0000 nsis-registry-changes-20031210 Turn off High Security Mode Logon Option Turn on Freelance Client Turn off Use DNS Turn on Crypt Option commit 943ff7831500e47c08af55c7c33c731f5c192b45 Author: Jeffrey Altman Date: Wed Dec 10 08:01:35 2003 +0000 tal_string-was-coded-wrong-from-the-start-20031209 tal_string defines three types: String, Ansi, Unicode and provides functions to convert between them. The initial problem with this module was a lack of consistent memory allocation. The secondary problem was incorrect conversion of between string types. commit ad5a7108ead6d279c0b67409c3c0a73de8b8cb72 Author: Jeffrey Altman Date: Wed Dec 10 07:49:55 2003 +0000 oops-20031209 oops, typos commit 95252680a90f1fdcebeb53ef5834fcab5144493b Author: Jeffrey Altman Date: Wed Dec 10 07:48:06 2003 +0000 tal_string-must-allocate-memory-20031209 The tal_string routines must always allocate memory otherwise they double free strings. commit 14d9380559c1e931300179dd01f18239c478b923 Author: Jeffrey Altman Date: Wed Dec 10 07:03:55 2003 +0000 use-closesocket-not-close-20031209 In Winsock, the function to close sockets is closesocket() not close() commit 0f4d93c3091f1c31eeab2174e4262f3e686e83d5 Author: Jeffrey Altman Date: Wed Dec 10 07:02:43 2003 +0000 disable-optimizations-20031209 Many of the subtle problems we are seeing with the AFS Server are being aggrevated by compiler optimization bugs. Disable for now. commit a31feefdb13544bd3edb9295a5c866a2d4d81a17 Author: Daria Phoebe Brashear Date: Tue Dec 9 23:07:57 2003 +0000 volser-salvagedirhandle-fix-arg-order-20031209 make the order of these consistent with the vol package commit b6d499bf3cef0ac2a936b839f417f3aaba22faab Author: Jeffrey Altman Date: Tue Dec 9 21:44:42 2003 +0000 nsis-20b4-support-20031209 Add support conditionally building NSIS 2.0b3 or 2.0b4 commit ba08e660976786dc4a4a7f2d8415be2002802ef9 Author: Jeffrey Altman Date: Tue Dec 9 21:34:00 2003 +0000 remove-extraneous-appsver-20031209 Remove extraneous reference to APPSVER variable. This might have been an attempt at turning on debug info for the .NET compiler for non-debug builds. The debug builds already have debug info turned on. commit ebd13b027277211e78b2e83394020ef23c89d996 Author: Daria Phoebe Brashear Date: Tue Dec 9 19:58:28 2003 +0000 fix-ih-lock-macros-20031209 FIXES 1774 probably safe to remove trailing ; in ihandle.h now too. commit 6285a23dfdba8310171455f5d1950edcdb4809dd Author: Jeffrey Altman Date: Mon Dec 8 22:40:56 2003 +0000 nsis-installer-updates-20031208 From Rob Murawski. Add upgrade/downgrade support to NSIS installer Comment out the Loopback Installer code commit 36ac69eedca1b2de6119ddd19b99dd302d5a496b Author: Daria Phoebe Brashear Date: Mon Dec 8 07:31:57 2003 +0000 vol-linux-dont-assume-ext2-20031208 to deal simply with /usr/include/linux potentially having 2.6 kernel headers in newer linuxes. given that we might not have ext2 as root, this check probably wasn't sufficient anyway. commit 4b01f15c0c699ededec18dadf97469ba564f1cd0 Author: Jeffrey Altman Date: Mon Dec 8 06:18:46 2003 +0000 format-fix-for-fs-windows-20031208 spacing errors in List Quota command commit 6dc76e27f0a2993db0e360ceaf5ad9426966e0b3 Author: Daria Phoebe Brashear Date: Mon Dec 8 06:09:12 2003 +0000 fssync-extern-loglevel-20031208 wanna use LogLevel to determine whether to log? make sure it's declared. commit a3339d25459ea4cda9c2b01edfbddbef0f5c9859 Author: Jeffrey Altman Date: Mon Dec 8 06:08:45 2003 +0000 winnt-afsd-fs-header-fix-20031208 Improper prototype declaration commit 3f98530173838e31ce72564996872147c2d59995 Author: Daria Phoebe Brashear Date: Mon Dec 8 06:03:58 2003 +0000 protoize-buffer-20031208 we need a definition for struct buffer. while we're at it, protoize the whole file. commit 35192ba9e3bd8ffa0372373904f481471a671d56 Author: Daria Phoebe Brashear Date: Mon Dec 8 05:50:39 2003 +0000 ptserver-prototype-ubik-20031208 since ubik got prototypes, we have to make our shadow functions the same commit 2ea2e4debaf3b6863f9ae00a157f4684b872fb68 Author: Jeffrey Altman Date: Mon Dec 8 04:32:27 2003 +0000 import-fs-formatting-to-windows-20031207 TICKET 2651 Import string formating from venus/fs.c commit 705241efee4119b0f5c089771e5384a8a0dc9d66 Author: Jeffrey Altman Date: Mon Dec 8 04:01:20 2003 +0000 set-service-error-condition-afsd-20031207 TICKET 2619 If the service crashes unexpectedly (eg, when the network adapter list changes) we should return an error code so that system policy can be used to determine if the service should be automatically restarted. When there is an error GlobalStatus gets set to a non-zero value. If GlobalStatus is set, we will return ERROR_EXCEPTION_IN_SERVICE to the Service Manager. commit 8bdaee9e18359b3fb62ac19f26ee9a01fdb2195e Author: Jeffrey Altman Date: Mon Dec 8 03:14:08 2003 +0000 remove-int64-conversion-warnings-20031207 Use casting to avoid repeated conversion warnings resulting in data loss. commit 85f6cefe70b502b706ff57f5e79d3c555641e969 Author: Jeffrey Altman Date: Mon Dec 8 02:54:14 2003 +0000 jbuehler-add-missing-extern-c-patch-20031207 Add extern C modifiers to non-C++ functions in Windows files commit d5070bd9a08c0532364125909192347ea7f2f227 Author: Jeffrey Altman Date: Mon Dec 8 02:41:17 2003 +0000 more-must-returns-20031207 More must returns value warnings cleaned up commit 0c23b6fd77e6497c707a4cd1a3bebc94657bf6bc Author: Jeffrey Altman Date: Mon Dec 8 02:37:55 2003 +0000 ntmakefile-fix-20031207 remove extraneous include of src/config/NTMakefile.version commit 3dc648d7610641a530b06ecaddac6f6e576e1b74 Author: Jeffrey Altman Date: Mon Dec 8 01:45:23 2003 +0000 add-missing-return-values-20031207 Add missing return values producing warnings on Windows commit 08248560ea17cb0068025c821d08325ce18dc014 Author: Jeffrey Altman Date: Sun Dec 7 23:18:33 2003 +0000 ticket-2618-corrections-20031207 Remove extraneous declarations in dir.c commit 21caaae64f4565d1a7ed82e326ef852d4cd3642f Author: Jeffrey Altman Date: Sun Dec 7 22:49:00 2003 +0000 ticket-2618-patches-20031207 TICKET 2618 flexelint patches for prototype handling from Joe Beuhler >>>>>>>>>>>>>>>>>>>>>>>>>>>> This patch adds a bunch of missing prototypes, makes various corrections to global prototypes, and removes global declarations that are not needed. One set of added prototypes is commented out because it applies to some printf-like functions that are implemented the way it used to be done before varargs existed, and they need to be unprototyped or the code will fail to compile. (There are a number of functions in the OpenAFS code that need to be converted to use varargs...) There is one place of note in src/WINNT/afsd/fs.c where typedefs for afs_int32 and afs_uint32 conflict with afs/stds.h. I just added a note to that effect. Prototypes in src/WINNT/afsd/fs.c are incorrect for Windows NT. I don't know whether the return type involved changes from platform to platform -- they come from .xg files. Some prototypes are now commented out or #ifdef'd to match the code that uses them. Some global variables conflict between modules and have been made static. The bufferBlock variable was of two completely different types... In src/config/stds.h, I changed the declaration of afs_intmax_t to reflect the fact that the Windows platform supports 64 bit integers. This may be incorrect semantically, but I believe it is needed for the %llx format to match afs_intmax_t arguments (for printing of inodes mainly, I believe). There were two different declarations for the rxkad_stats structure -- I synced them up. - Joe Removed the conflicting typedefs from src/WINNT/afsd/fs.c Removed the changes to src/config/stds.h. Added declaration of AFS_64BIT_CLIENT to src/config/NTMakefile.i386_nt40 instead. Do not remove unused variables which are defintions of data type values. Instead comment them out to avoid space utilization and warnings. commit 4ceaebdbda533374ab7c66a832096988379a3ec8 Author: Jeffrey Altman Date: Sun Dec 7 03:39:50 2003 +0000 afssvrcfg-updates-20031206 Replace the mechanism used to register drives with WNetAddConnection2. This will hopefully be more reliable than then older code which was unable to register drive mappings. Corrected error string formatting. commit 8d0d3f16c3d6ee54154da056071d0e0befcfaeae Author: Jeffrey Altman Date: Sat Dec 6 21:17:39 2003 +0000 add-multiple-interface-support-20031206 The ubik support on Windows only verified against the first address on the system even if that address was assigned to a disabled interface. commit b2d84ee04786127ce73acf0120cefaf5095dc989 Author: Jeffrey Altman Date: Sat Dec 6 20:11:12 2003 +0000 reorg-ntbuild-20031206 Reorganize ntbuild.bat to place all of the user edits at the front commit 334f5f00f109dddeba5f9c5e09088302c51b4b16 Author: Jeffrey Altman Date: Sat Dec 6 19:29:31 2003 +0000 fix-memory-alloc-srv-cfg-wizard-20031206 The Windows AFS Server Config Wizard would produce an invalid memory deallocation error from the memory management routines due to the failure to allocate PROGRESSDISPLAY objects with the same tools used to deallocate them. commit 999ec32f9d1325b261ce1c64e0f2a1271f5752c9 Author: Jeffrey Altman Date: Sat Dec 6 19:01:41 2003 +0000 more-NSIS-fixes-20031206 from Rob Murawski commit 46b23d72d2b0637794c3efd85dafaca1ba92beed Author: Jeffrey Altman Date: Sat Dec 6 17:41:53 2003 +0000 add-pdb-files-to-server-nsis-20031206 Add PDB files for debugging to NSIS Server install commit 6e667ed9d1759d7679431cc0fd3aba4fa2e05c45 Author: Jeffrey Altman Date: Sat Dec 6 17:01:30 2003 +0000 more-vc-net-installer-fixes-20031206 Make sure we get the included libraries correct for install commit 53e72a1ec157ece226e9a2eb10c42c1158cc7203 Author: Jeffrey Altman Date: Sat Dec 6 16:01:03 2003 +0000 another-correction-ntbuild-bat-20031206 I wish .BAT files had IF-THEN-ELSE instead of just IF commit 6826cde0a6deff9e67f821fe4c7a86d5a1b2ee56 Author: Jeffrey Altman Date: Sat Dec 6 15:41:38 2003 +0000 no-debug-for-free-builds-20031206 Reorganize makefile to not generate debug files for free builds. commit 7bcb1e53bf4ed53d37f4b9d94b64a7b9507fb103 Author: Jeffrey Altman Date: Sat Dec 6 15:40:17 2003 +0000 correct-include-for-cl1300-20031206 CL 1300 uses the mfcatl paths just like CL 1310 commit 235cd101fde89df7c4777bd7369aae51ef9b0695 Author: Jeffrey Altman Date: Sat Dec 6 06:19:03 2003 +0000 nsis-installer-updates-20031205 Remove need for MakeCommon.bat Produce nsi-includes.nsi from NTMakefile Update OpenAFS.nsi to use MFC70.DLL and MFC71.DLL as needed. (Need to confirm with Rob Murawski) commit ad9367a9ada10016f704256fc017fbb7c8b77141 Author: Jeffrey Altman Date: Sat Dec 6 06:15:46 2003 +0000 product-version-number-update-20031205 Modify the variables used to construct the product version numbers to allow these same values to be used with the NSIS installer commit 090f882fd9917e05a65911a0611f432ad554b323 Author: Jeffrey Altman Date: Fri Dec 5 23:17:20 2003 +0000 typo-correction-ntmakefile-20031205 Fix a typo in msvcrtd.dll reference commit 492387b8d2f6b3b73684ace93999ee1661f078ac Author: Jeffrey Altman Date: Fri Dec 5 23:10:04 2003 +0000 updates-to-NSIS-to-support-debug-crt-20031205 Updates to NSIS installer scripts to conditionally build with debug or non-debug CRT libraries; also, now supports conditional library usage based upon the MS Compiler version used commit c6c803432275b27b8cffd87e664f148c77f3215b Author: Jeffrey Altman Date: Fri Dec 5 22:19:50 2003 +0000 i386_nt40-lex-macro-fix-20031205 Not that anyone has used it in forever and therefore would not notice but the LEX macro was a version number "1.2.2 a" instead of a program name. Changed to "flex -l" but it really depends on which lex type program is being used commit 7a60256d585487d3aa3b8cd5e62d9714bbd961c0 Author: Jeffrey Altman Date: Fri Dec 5 21:59:31 2003 +0000 NSIS-installer-debug-mode-20031205 NSIS installer debug mode activiation based upon AFSDEV_BUILDTYPE commit 5d0958127a05378bc85f186fdbdc049b7256d4b0 Author: Jeffrey Altman Date: Fri Dec 5 21:56:33 2003 +0000 pdb-files-for-checked-builds-20031205 Produce PDB files in the DEST/CHECKED tree for use by NSIS installer commit fb7ed4bf35c5e0d13445aae9275bb14ad54f0496 Author: Jeffrey Altman Date: Fri Dec 5 20:07:26 2003 +0000 fix-ntbuild-bat-20031205 Fix conditional contruction of AFSDEV_LIB variable commit 333b371389f6dc3fc5ff2ccadd359cbe119db5b0 Author: R. Lindsay Todd Date: Fri Dec 5 08:35:57 2003 +0000 largefile-support-continued-20031205 FIXES 1493 configure switch and minor largefile cleanup. not done. commit afb1b03e750d553066b47c0436b31a65ce751c14 Author: Daria Phoebe Brashear Date: Thu Dec 4 19:53:37 2003 +0000 vos-full-listvol-on-by-default-20031204 at the suggestion of miles@cs.stanford.edu commit ebe5567b3beec22e6e0608c3ff14b57dd625cf73 Author: Daria Phoebe Brashear Date: Thu Dec 4 17:02:38 2003 +0000 salvager-remove-orphaned-header-20031204 FIXES 2522 this should be fixed for the global case, but that's harder to test commit 0935f3838f451fc6e995e5c13ccf31afef7a97b1 Author: Nathan Neulinger Date: Thu Dec 4 16:47:05 2003 +0000 libafsrpc-fix-objdir-breakage-20031204 FIXES 2615 the not gmake workaround broke objdir builds. sigh. commit f0c992107a0d0e19ccbcff4836fd3697f4d861d9 Author: Kris Van Hees Date: Thu Dec 4 16:33:54 2003 +0000 solaris-kdump-build-rationalization-20031204 make kdump64 and kdump32 get built with sanity on solaris commit 8be29dc51638254f210795625c47a903104a0629 Author: Kris Van Hees Date: Thu Dec 4 16:23:28 2003 +0000 salvager-fix-misparented-vnode-1-20031204 if vnode 1 gets a parent (which is incorrect) arrange for it to be cleaned up properly commit 90f461c9128efd9980a9e7d75a9359fd5d253562 Author: Douglas Engert Date: Thu Dec 4 16:10:43 2003 +0000 hpux-1123-update-20031204 update the hpux 11.23 on ia64 support don't build libuafs. make kernel modules build. fix afsd. commit 2fba10f1637e655ce0402c9e935b3f1fe6f9967e Author: Jeffrey Altman Date: Wed Dec 3 23:28:50 2003 +0000 fix-checked-build-libraries-20031203 checked builds were linking against non-debug versions of the MFC libraries which produced warnings at link time. Replaced with the debug versions. commit 708b147ba544fa55b6969691a9ba81e3a96af105 Author: Jeffrey Altman Date: Wed Dec 3 20:07:55 2003 +0000 typo-20031203 commit 877a7bd74169b871b53179dfd4c742e411af3a58 Author: Jeffrey Altman Date: Wed Dec 3 20:06:37 2003 +0000 more-missing-crtdbg-includes-20031203 For when you are debugging ... commit c46ebfb07e99ff4d0758de6d1f8aabe215b6934d Author: Jeffrey Altman Date: Wed Dec 3 19:44:59 2003 +0000 add-missing-include-file-afsd-windows-20031203 ctrdbg.h but only when _DEBUG is defined commit 2542d907f1f1ffacebc0dda3715dd9f70490c3e7 Author: Jeffrey Altman Date: Wed Dec 3 19:24:38 2003 +0000 i-hate-bat-files-20031203 Add missing % at end of variable names to be compatible with cmd.exe commit 79b9432758f49ead13cec005d02a8b512adcca27 Author: Jeffrey Altman Date: Wed Dec 3 15:58:55 2003 +0000 do-not-make-commits-after-24hrs-awake-20031203 .BAT files do not use the same syntax as makefiles. don't make commits after being up more than 24 hours straight. commit dfed0829ddd9994b5077034bc2821913cea873ee Author: Jeffrey Altman Date: Wed Dec 3 04:53:12 2003 +0000 ntbuild-support-for-visual-studio-net-2003-20031202 Add LIB and INCLUDE files for Visual Studio .NET 2003 (Thanks to Rob Murawski for details) commit 1c5a7b4ea135dcccadea1775922a783c5fc42989 Author: Daria Phoebe Brashear Date: Mon Dec 1 20:16:02 2003 +0000 rpc-rename-avoid-loop-20031201 enumerated solution (n vnodes cannot yield n+1 loop passes) suggested by jhutz@cmu.edu. avoid looping forever on a corrupt parent. commit 6b81e7a4bb2f9ee2e748a945b233f301a7566732 Author: Daria Phoebe Brashear Date: Mon Dec 1 05:35:04 2003 +0000 tvolser-update-20031121 add transaction mutex to handle global list of transactions commit 6b375af14f6cfe6d6cc02a68b6c437853a640160 Author: Jeffrey Altman Date: Sun Nov 30 15:39:33 2003 +0000 remove-duplicate-include-from-shell-ext-cpp-20031130 Remove atlconv.h include the second time it is listed commit a42c1000050dd154ad61ce00d1e691a7081349e4 Author: Jeffrey Altman Date: Sun Nov 30 03:52:59 2003 +0000 update-version-number-for-windows-20031129 Updated the version number to 1.3.51 for both nt40 and win95 However, it is unlike that win95 will build at this point in time. Its version of the makefile had not been touched since 1.2.2b commit 1b618cd71fecd52a7923fda357dd11bdd59d652b Author: Jeffrey Altman Date: Sat Nov 29 22:50:14 2003 +0000 jaltman-missing-variable-20031129 jbuehler left out a variable declaration commit 61cf9fa731654b943a271dcf585b95062fbe7a4c Author: Jeffrey Altman Date: Sat Nov 29 22:07:57 2003 +0000 jbeuhler-flexelint-bugs-found-20031128 This patch covers bugs found by running flexelint on the CVS code on Windows NT. - incorrect enum used in al_creds.cpp and various other files - use of local after it goes out of scope in al_wizard.cpp - uninitialized class members in afsclass/* - cm_config.c looks like it has code commented out accidentally - useless statement in alert.cpp - no default case handling in problems.cpp - strange use of & on booleans in set_clone.cpp - fgets() and fclose() on closed stream in cellconfig.c - memory leak in cellconfig.c - *scanf into variables of unknown length in cellconfig.c - incorrect pointer passed to getAFSServer() in cellconfig.c - possible buffer overflows in userok.c - address of array in bos.c - too many arguments for printf() in commands.c - return code not saved in bucoord/main.c - bad types for argv arrays in bucoord/main.c - probably incorrect initializer list in ol_verify.c - extra argument to TLog() in lwps.c - memory leak in cmd/cmd.c - lack of typecast on malloc() in a couple files - lower-case L for long constant in touch.c (is it a 1 or an l...) - parentheses nesting error in util_cr.c - apparently invalid case fall-through in util_cr.c - various memory leaks in util_cr.c - macro missing parens in crypt.c - macro missing parens in quad_cksum.c - null pointer deref in kpasswd.c (CVS work in progress?) - Print_bos_ProcessState_p() code does not look correct - extra argument to printf() in kas.c - typo in vsprocs.c - macro missing parens in iomgr.c - address of array in threadname.c - storing result of getch() in char type in waitkey.c (may not match EOF constant) - storing pointer to local car in global in ptserver.c (benign -- it is in main()) - address of array in rx_lwp.c - macro missing parens in rx_packet.h - impossible == (signed vs. unsigned?) in rxdebug.c - bogus constants in xdr.c and xdr_array.c (possible security implications?) - incorrect test of fd for open file in update/server.c - dangerous unparenthesized macro in get_krbrlm.c - buffer overrun in regex.c - missing comma causes string concat and bad array init in vlclient.c - comparison of string < 0 in ntops.c - default case has no code in vos.c -- Joe Buehler >>>> Comments: Several comments for FIXME left in the code - unaddressed commit a95c759cd7601e0755f380ebe3b2b5493a188104 Author: Jeffrey Altman Date: Sat Nov 29 21:46:30 2003 +0000 missing-assert-h-20031129 Missing assert.h for added assert() commit 21ca23297494f1cf8e578fd848bfcd0be2c360cd Author: Jeffrey Altman Date: Sat Nov 29 21:37:50 2003 +0000 jbeuhler-flexelint-fun-with-printf-20031128 This patch addresses a number of problems with printf-like functions. Most of them are %x formats applied to pointers (which could be a problem depending on the architecture I would assume). There is a %p format for pointers on many machines but I don't know if it applies to all supported OpenAFS platforms so I didn't go that route. There is a buffer overflow fix to ktime.c There are a couple places where incorrect format characters were used. One call had two arguments swapped. Other fixes include the use of PrintInode() and %s formats for printing inode numbers. The code was inconsistent in this regard -- sometimes PrintInode() was used, sometimes it was side-stepped. There is one place where a local shadowed another variable, so I renamed the local. The last segment points out that an fdset need not be anything printable with an integer format. -- Joe Buehler Comments - The fdset comment relates to a WinSock only file on which the size is a pointer to int. Modified the source to use a %p instead of %x as it is supported on Windows. Added an assert(p != NULL) to src/rx/rx_packet.c commit e5a76ae386e909f151b6bde140a727520bffeee1 Author: Jeffrey Altman Date: Sat Nov 29 20:31:49 2003 +0000 jaltman-flexelint-aggregate-initialization-patches-20031129 Address FIXME concerns in jbuehler-flexelint-aggregate-initialization-patches-20031129 commit 10750393dc96b5892e6ae95b95f61e5009a7c2b8 Author: Jeffrey Altman Date: Sat Nov 29 20:23:24 2003 +0000 jbuelhler-flexelint-aggregate-initialization-patches-20031129 This patch mainly makes explicit some initializations that were implicit. There are several places where it looks like the missing initialization may be a bug, and I have inserted comments to that effect in the relevant patches. Someone needs to look at them and supply whatever is missing (if anything is). In make_keyperm.c, an array was sized too large. -- Joe Buehler commit 6e2f4f9df4d1370f3131d0904229e51a6365604d Author: Douglas Engert Date: Thu Nov 27 05:52:51 2003 +0000 hpux-rx-attach-file-struct-to-socket-20031124 FIXES 2450 attach a struct file to the socket; clean up when done commit 9ca613da43045d6e10a969af19345cf5851d48fc Author: Daria Phoebe Brashear Date: Thu Nov 27 02:27:55 2003 +0000 solaris-make-hates-dollar-lessthan-20031126 the $< macro support in solaris make is different from every other make due to POSIX not being fully specific. a perl script cleans up the mess, and gives us a different mess. commit cef7b6ae8c6751c23d98ed88d4d8a6f7481a5eb2 Author: Douglas Engert Date: Thu Nov 27 01:23:13 2003 +0000 hpux-snprintf-support-20031126 FIXES 2587 need sys/socket.h on hpux commit 49ab5ed14a0e5f98104146c01c1f03fcd9409ab3 Author: Douglas Engert Date: Thu Nov 27 01:17:34 2003 +0000 ia64-hpux1123-support-20031126 FIXES 2579 necessary changes to support hpux 11.23 on ia64. commit 93bd3784d68d56c33e1d94d19fbb18e7bfbf01ce Author: Jeffrey Altman Date: Wed Nov 26 21:32:52 2003 +0000 ticket-2584-patches-20031126 commit d15973aa12bf4eeb5d0d03497281cc4a946d1c27 Author: Douglas Engert Date: Mon Nov 24 22:44:20 2003 +0000 hpux-ia64-dont-optimize-lwp-20031124 FIXES 2450 remove -O when compiling lwp commit ff9c60a3c86c9891ac8420f82524e7eefe1a4d1a Author: Jim Rees Date: Mon Nov 24 22:09:18 2003 +0000 fix-joe-beuhler-patches-20031124 minor fixes to Joe Beuhler's NT patches for non-NT commit fc7931f4f23a7f2d368716abb6a194be559f9d0d Author: Jeffrey Altman Date: Sun Nov 23 04:52:52 2003 +0000 joe-beuhler-patches-20031122 Joe Beuhler's many patches merged into the tree commit 0f7c8a031073801e155d3158bc40df74d9944344 Author: Daria Phoebe Brashear Date: Sat Nov 22 03:11:46 2003 +0000 threaded-volserver-progress-20031114 not ready for primetime. not even close. commit 5e52289abf12261b9575a0226ae8c7b5e37e6e51 Author: Daria Phoebe Brashear Date: Sat Nov 22 02:57:04 2003 +0000 tvolser-update-20031121 add transaction mutex to handle global list of transactions commit 1972aa4414857e46d8e3537b143bc380e10d0833 Author: Jeffrey Altman Date: Sat Nov 22 01:28:05 2003 +0000 jaltman-afsd-loopback-w2k-and-noipc-patches-20031121 * Change handling of CM_ERROR_NOIPC to return an Access Denied error instead of a Bad Network Name error. The reason is that Bad Network Name results in a subsequent query by many apps to find a good network name which cannot be accomplished. Access Denied is more appropriate and results in an immediate error return. * Disable the Loopback Adapter hack for operating systems prior to Windows XP because the Loopback adapter on previous versions does not perform loopback operations on Broadcast messages which are necessary for the proper registration of the NETBIOS name for the AFS Service. * Many minor corrections to uninitialized variables; spelling errors; formatting errors; etc. commit 955d376ddd00f4c35d65c646dabefc7d159bf710 Author: Jeffrey Altman Date: Fri Nov 21 22:34:16 2003 +0000 rob-murawski-afscreds-scm-patch-20031121 Reduce the requested list of permissions to the minimum necessary to access the service manager and service for the requested task. commit 111e5bb562049818518e58a8f5dbf3e622977eca Author: Jeffrey Altman Date: Fri Nov 21 18:56:01 2003 +0000 fix-CH-lang-resources-for-afs_setup_utils-20031121 Rename afs_setup_utils/lang/zh_CH/afs_setup_utmls.rc to afs_setup_utils.rc commit f968f826e47e47d9a43023e45fd4963481a6b778 Author: Jeffrey Altman Date: Fri Nov 21 18:36:01 2003 +0000 afscreds-drivemap-updates-20031121 #undef REALLOC before importing drivemap.h to prevent the use of the wrong memory allocation routines. Remove extraneous code which computed strings which are no longer used and worse produced misleading debug information Improved consistency of drive mapping when HIGHSECURITY is in use commit 803678a90033b54606337e033cff5393a92adb5a Author: Jeffrey Altman Date: Fri Nov 21 18:33:10 2003 +0000 thread-and-timer-corrections-to-afscreds-20031121 Changes to afscreds to place the obtain tokens dialog into a separate thread to prevent blocking of the Windows Message queue. Requires utilization of mutex semaphores to protect credential data structures. Previous versions of afscreds would set/unset the timer event every time the program received an event indicating user activity including dragging the mouse across the systemtray icon. This resulted in extremely unpredictable behavior. Now the timer event is only turned off when it must be turned off; and turned on when it must be turned on. The result is a credential expiration check once a minute. commit df95472c3aa809493802d3c61f733f8fc2f853e0 Author: Jeffrey Altman Date: Fri Nov 21 15:41:04 2003 +0000 shadow-to-jaltman-bkbox-02-20031121 Remove another file which was included in the bkbox patch but is really autogenerated. Add a command to dolastcmp.bat to conditionally delete golast.bat if it exists. Otherwise, the initial CD command which is meant to be written to the file is lost. commit 7cf05a5e371c3f05540f050ba77f8715def16358 Author: Jeffrey Altman Date: Fri Nov 21 15:26:05 2003 +0000 shadow-to-jaltman-bkbox-01-20031121 Incorrectly committed NTLang.bat when it is copied from src/config commit 98544e6ab469a190c4e7c322365cc369c91484fc Author: Jeffrey Altman Date: Fri Nov 21 07:59:35 2003 +0000 patch-from-shadow-to-jaltman-bkbox-20031120 This massive patch contains changes in several significant areas for Windows: - the ability to specify the mount point to be something other than /afs - functionality to assist debugging of the NT Services - support for languages other than English (NTLang.bat) - revisions to the Build system to support separate trees for src, obj, dest and free or checked; allow any MS compiler to be used - updates to NSIS installer build - mutex locking added to critical locations - updates to IS5 directory tree creation - update to afswsNetscape_config.sh commit 69116e6cae89692a4aca60d4087d25f8f21ff3a4 Author: Jim Rees Date: Wed Nov 19 21:59:18 2003 +0000 compiler-warnings-20031119 fix various compiler warnings some are from jbuehler@hekimian.com commit d08f4a716fcfb012ae82d184b4cdd938048e4daa Author: Joe Buehler Date: Wed Nov 19 21:43:29 2003 +0000 error-typo-20031119 confusion of == and = commit b737d56f2970e0963b53fc39f1ed27cf417c2f53 Author: Nickolai Zeldovich Date: Wed Nov 19 04:02:29 2003 +0000 fixed-and-improved-afscp-20031118 Fix afscp to make it build and fix the -u option. Add support for explicitly specifying a file by host/fid. commit 63ba8d77fb139abdde915b5b44318edc9bc1bcbd Author: Garry Zacheiss Date: Mon Nov 17 23:21:52 2003 +0000 callbacks-later-locking-order-20031117 be consistent in the order we hold H_LOCK and FSYNC_LOCK; in this case acquire FSYNC_LOCK as needed. commit 7207fd6d3100dc5fd8736b944e41c26d1514bcde Author: Daria Phoebe Brashear Date: Sat Nov 15 05:57:42 2003 +0000 volser-protoization-20031114 more protoization in the volserver commit b1dd6e87cb615dcad234537751fb20ce91febeda Author: Daria Phoebe Brashear Date: Sat Nov 15 04:59:08 2003 +0000 threaded-volserver-progress-20031114 not ready for primetime. not even close. commit 76d2b6dabbf251a0e4e4149ba2da1395d9db9954 Author: Kris Van Hees Date: Sat Nov 15 04:02:37 2003 +0000 volser-restore-create-timestamp-not-touched-on-incremental-20031114 FIXES 2521 The issue: when you restore an incremental dump to an existing volume, the creation timestamp of the target volume gets reset to the current timestamp (literally the timestamp of when the 'vos restore' command is being executed). That messes things up for any subsequent 'vos release' operation, because such operation then needs to do a full release rather than an incremental one. For large volumes that can be quite an issue. commit e0d79ffeb6f456bbd6cc506752c7b166f43308eb Author: Joe Buehler Date: Sat Nov 15 03:20:01 2003 +0000 remove-redefined-warnings-20031114 FIXES 2512 don't redefine KABADARGUMENT commit 973c617d000fed52519de6da221ca8c85f6a17a9 Author: Joe Buehler Date: Sat Nov 15 03:14:32 2003 +0000 cvs-remove-wow3-20031114 FIXES 2505 remove empty file which came with the source commit 012a26f20b83dd259df0257709fee69572362d95 Author: Nathan Neulinger Date: Sat Nov 15 03:12:16 2003 +0000 restorevol-needs-gethostbyaddr-20031114 FIXES 2514 so restorevol will link on solaris commit 4458dd4410207fcdf8dec6789f0397adc6ce7b01 Author: Daria Phoebe Brashear Date: Sat Nov 15 03:08:10 2003 +0000 callback-rxcon-protection-20031114 FIXES 2498 CheckHost() sets the HOSTDELETED flag on a host, does its touch, calls H_UNLOCK at the end of its function; AddCallBCal1 in a different thread grabs the lock, does its thing. Gets to GetSomeSpace_r(), which calls h_Enumerate_r; the host in question isn't held, so h_Enumerate_r calls h_Hold_r and h_Release_r on the host that CheckHost() set the HOSTDELETED flag on; h_Release_r sees the HOSTDELETED flag and calls h_TossStuff_r, poof, we have our broken host entry for ClearHostCallbacks_r to trip commit 423c279a498ac4f691522f6d11e67921fd3d79e0 Author: Daria Phoebe Brashear Date: Sat Nov 15 03:02:23 2003 +0000 tail-dont-use-dash-one-20031114 FIXES 2453 new tail axes -1 support commit 79b67c7461097ab5ca1dac9b9c1f069dfb4d290d Author: Daria Phoebe Brashear Date: Fri Nov 14 23:36:16 2003 +0000 namei-ihandle-leak-20031114 FIXES 2518 namei_dec now logs if you have open ihandles when you unlink a file ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 2518 flush all dir buffers we have cached when rewriting a volume from a restore avoids holding an ihandle which has an open fdhandle for an unlinked file ==================== FIXES 2518 remove logging code for now. it appears to trigger on some possibly legitimate operations. commit 0402a8c4405193e364cca9b66e59380e49799d15 Author: Jim Rees Date: Wed Nov 12 16:07:28 2003 +0000 more-posix-regex-20031112 remove more REG_BASIC commit d4b1d61d21de06465d81f57261e9d35dd386605c Author: Nathan Neulinger Date: Wed Nov 12 14:23:30 2003 +0000 regex-no-reg-basic-20031112 apparently not all posix regex implementations have REG_BASIC. get rid of it since it's the default. commit 917af567222abc6ec18730c067298f8c384cb8f1 Author: Jim Rees Date: Tue Nov 11 19:03:09 2003 +0000 rx-multi-incs-20031111 fix rx_multi includes so it will compile commit 456f1dfdc6cb04ba93e58b5af58e86305bb173cf Author: Jim Rees Date: Mon Nov 10 22:25:28 2003 +0000 rmtsys-uninit-20031110 fix uninitialized variable found by jbuehler@hekimian.com consolidate duplicate cases so this won't happen again commit edbf777400771ef0e5f262cfcba0d4271e18d9a0 Author: Daria Phoebe Brashear Date: Mon Nov 10 02:04:17 2003 +0000 cachemgr-rx-multi-gettime-20031109 use multi Rx to GetTime all servers we wish to talk to in parallel. This should have the effect of compressing the amount of time to time out all fileservers to (1 times full set of Rx transmit intervals) instead of (n times same). VLservers get handled out of band and so aren't in scope for this change. commit 2d3fda8c82c24b01537ed10fe614ce5eea130754 Author: Daria Phoebe Brashear Date: Mon Nov 10 01:36:09 2003 +0000 linux-sysname-list-sys-links-resolve-dentry-20031109 without this, if you're in a directory that the second or later entry in a sysname list resolved to, pwd returns ESTALE. force the true path to have its dentry cached. commit c5110942b97b06d423f0452cd9fceb219db1b513 Author: Joe Buehler Date: Fri Oct 24 07:31:49 2003 +0000 bos-fix-mode-complaints-20031024 FIXES 2277 complain correctly about mode commit e2e93aa8920c0b1bfc672a555a59eb4e15dbeaae Author: Ed Moy Date: Fri Oct 24 07:25:58 2003 +0000 macos103-20031024 FIXES 2325 support for macos 10.3 for 1.2.10 commit b35d52ba80e9c3236685311d47976365e3413319 Author: Jim Rees Date: Wed Oct 15 22:38:40 2003 +0000 freebsd-vnode-if-20031015 generate vnode_if.h dynamically for FreeBSD commit 7e554cf673820fe5a4ac11a57f47b4172ae97024 Author: Jim Rees Date: Fri Oct 10 21:01:56 2003 +0000 openbsd-deadlock-fix-20031010 release global lock when calling getnewvnode thanks to wollman@khavrinen.lcs.mit.edu for finding this commit 5f705ff1b9f1593123d3bcdf6b41105b1ed9d59b Author: Garrett Wollman Date: Fri Oct 10 15:08:31 2003 +0000 use-posix-regex-20031010 use posix regex if available instead of re_comp eliminates need for -lcompat on the BSDs, so remove it from XLIBS commit 7a8a5aaec374eb9040283d9d4d0ef2bd321e072d Author: Jim Rees Date: Fri Oct 10 14:12:05 2003 +0000 fix-lwp-20031010 abort needs _C_LABEL too add dependency on process.i386.s to process.o commit c4af168c73dce3cd059727d0ee0b607683eb2094 Author: Jim Rees Date: Thu Oct 9 17:13:16 2003 +0000 openbsd35-20031009 OpenBSD 3.5 config files fix afs_osi_suser for 3.5 (from provos@citi.umich.edu) commit 0bc7169a9c7abf2dc1b2a13cb97bf366a3174649 Author: Jim Rees Date: Wed Oct 8 14:48:11 2003 +0000 openbsd-20031007 use poll instead of select for 3.5 and beyond reported by provos ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== works much better if you check the right vnode pointer commit dc0e2fe16a877a1100945bbf15951296a3c23d23 Author: Jim Rees Date: Wed Oct 1 15:04:34 2003 +0000 freebsd5-20031001 FreeBSD 5.2 config files. commit 161a1f65095eb6da989a7386588918c9ec5ef640 Author: Kris Van Hees Date: Sat Sep 27 07:23:30 2003 +0000 ubik-dont-serve-data-while-syncing-20030927 while we're syncing a new database over, and if the sync fails, don't keep serving out of the truncated and/or trashed database. set the db version to 0 before starting the sync. commit d4d4680f403dd0f857a6571a0d9a8adfa1fbdc2d Author: Jim Rees Date: Fri Sep 26 17:57:45 2003 +0000 openbsd-20030926 check for (v_type == VNON) from VFS_VGET in UFSOpen remove dead prototypes from osi_vnodeops.c commit b39bf74e58096c0c8bc6c52cad8ffb0aa319200d Author: Jim Rees Date: Thu Sep 25 17:26:10 2003 +0000 more-sysnames-20030925 add openbsd 3.3-3.4, freebsd 5.1-5.2 (from wollman@khavrinen.lcs.mit.edu) commit 66ebac7872c41a57584ae7e734686e8486b08ac1 Author: Love Hörnquist-Åstrand Date: Wed Sep 24 20:26:54 2003 +0000 deal-with-new-gcc-multiline-behavior-20030924 FIXES 2154 "foo bar" is right out deal. commit 5b7f5d6f44d9ee73ba36b1507d929344bfb463a6 Author: Love Hörnquist-Åstrand Date: Wed Sep 24 20:02:05 2003 +0000 lwp-elf-bsd-and-assembly-cleanup-20030924 FIXES 2153 commit 5d4f88c5c32a63e368b9750481abf6c37a5bfde9 Author: Love Hörnquist-Åstrand Date: Wed Sep 24 19:54:10 2003 +0000 fsync-wait-typing-mistake-20030924 FIXES 2155 correct refs to fsync_wait commit 42d23ccf9aafc264a5e9d47bceb979c8e8caa0bf Author: Daria Phoebe Brashear Date: Wed Sep 24 19:33:36 2003 +0000 linux-dentry-revalidate-make-sysname-lists-work-20030924 pass the unmangled name into afs_lookup in dentry_revalidate if dnlc lookup fails. commit a4d467351ab715e20f94a31aa1aa1cc82c4b1564 Author: Robert A Basch Date: Tue Sep 23 22:44:16 2003 +0000 windows-doesnt-always-have-long-long-20030923 Still can't assume long long exists; can break Windows build. commit c5b9483a47f3240b6a12a97bb0028ea0e9dd3cef Author: Daria Phoebe Brashear Date: Mon Sep 22 20:19:21 2003 +0000 callbacks-later-remove-lhs-cast-20030915 FIXES 2100 lhs cast illegal, some compilers barf, remove it. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 2100 lhs cast illegal, some compilers barf, remove it. this time commit the correct patch commit d3093f2ba6eb7370f0056e1c140cb879212c75ba Author: Alf Wachsmann Date: Mon Sep 15 22:39:10 2003 +0000 vos-fix-fprintf-args-20030915 FIXES 2096 kill extraneous argument to fprintf commit ea4a465aa48fd79c6b04a3f9bb438d9c88daa85a Author: Jeffrey Hutzelman Date: Mon Sep 15 22:31:01 2003 +0000 res-search-test-shouldnt-use-res-close-20030915 FIXES 2099 res_close() not part of generally accepted resolver api commit 387f83d8d879be170c294fca66629d7559ff0619 Author: Jeffrey Altman Date: Mon Sep 15 22:12:28 2003 +0000 winnt-newcreds-dialog-missing-attribute-20030915 FIXES 2119 DS_CENTER attribute missing from dialog. commit 18d060c68d32807b1c694e58ae524d817d46266c Author: Jeffrey Altman Date: Mon Sep 15 22:02:25 2003 +0000 winnt-avoid-leak-and-memory-corruption-in-afscreds-20030915 FIXES 2120 WINNT/talocale/TaLocale.h conditionally defines REALLOC() to TaLocaleReallocFunction(). WINNT/client_creds/afscred.h conditionally defines REALLOC() to AfsCredsReallocFunction(). Unfortunately, AfsCredsReallocFunction is never used because REALLOC is always defined first by an include of Talocale.h within afscreds.h. This is a problem because it results in memory being allocated within a DLL and then freed by the EXE. This results in both a memory leak in the DLL and memory corruption in the EXE. commit 5aa025d9e46a47811818ae14d371837d5e518f48 Author: Robert A Basch Date: Sat Sep 13 21:14:32 2003 +0000 windows-doesnt-always-have-long-long-20030913 commit d2a51dfe9ab5a2f10fb734a95db8333030275279 Author: Jim Rees Date: Tue Sep 9 22:14:34 2003 +0000 freebsd50-20030909 use VFS_VGET with correct args instead of igetinode fix str warnings in dir.c commit c734141bdcd5dc2909ce2805c79b003f1397c9bd Author: Daria Phoebe Brashear Date: Thu Sep 4 16:57:38 2003 +0000 irix-volser-lwp-stack-20030904 FIXES 2031 may be needed on more platforms based on suggestion from salvet@ics.muni.cz commit b033d78f2906b313da957771d0b8cca536e63ea2 Author: Nathan Neulinger Date: Thu Sep 4 16:45:38 2003 +0000 sys-dont-rebuild-for-aix-files-20030904 FIXES 2040 hack, touch the files so we don't rebuild for them commit 8b59d97972fa80a2a65acbba10199de264fbab1b Author: Jeffrey Altman Date: Thu Sep 4 16:41:00 2003 +0000 winnt-use-current-platform-sdk-20030904 FIXES 2068 _WIN32_WINNT definition must match _WIN32_IE to use current platform sdk commit 333975e8797232b0e5c59572430e273dd169529b Author: Jeffrey Altman Date: Thu Sep 4 16:35:05 2003 +0000 winnt-checked-do-debug-20030904 FIXES 2069 Disable optimization; generate full debug info in objs for checked build. commit b124918ec9c2f92bd51b5ed66ba195c414178532 Author: Daria Phoebe Brashear Date: Thu Sep 4 16:22:56 2003 +0000 winnt-binaryify-icos-20030903 at suggestion of rsm4@cssd.pitt.edu commit 368b3eb0aa4016621b8a1004693faacb8c2f959a Author: Robert S. Murawski Date: Thu Sep 4 04:30:30 2003 +0000 winnt-nsis-installer-update-20030903 more work on the nsis installer should be mostly complete commit 21c5eaa31f165e830dfd4720c0d0fbb7f63f1a77 Author: Hartmut Reuter Date: Wed Sep 3 17:47:15 2003 +0000 aix52-support-20030903 AIX 5.2 support does not include param.h does not include deadlock fix for afs_vnop_remove.c commit b796ecc392e743c583d6a6be4f80378ead772bbc Author: Daria Phoebe Brashear Date: Wed Sep 3 07:48:02 2003 +0000 linux-fstrace-syscall-return-code-20030903 so fstrace doesn't get bogus return values commit 741e7005daf323cf8890f26aa92e8d78baefb43c Author: Jim Rees Date: Fri Aug 29 23:00:04 2003 +0000 freebsd50-20030829 pass thread, not proc, to VOP_[UN]LOCK in afs_write pass correct bio arg to biodone in afs_strategy fix some warnings reformat some #ifdefs for clarity commit 352ffae3d2cb87cec6c94c8fc5f2d1402f00dd7a Author: Robert S. Murawski Date: Fri Aug 29 03:12:24 2003 +0000 winnt-nsis-installer-server-support-more-languages-20030828 make server available to install. support more languages. commit a80ce6e4dbd804a91a3d17ebf82a8db82c488af2 Author: Robert S. Murawski Date: Fri Aug 29 03:11:28 2003 +0000 winnt-server-dirpaths-fix-20030828 make server stuff actually be able to run commit c0fb8c9cbb6aba73fecf8a333648192122a0de42 Author: Jim Rees Date: Thu Aug 28 16:19:17 2003 +0000 ukernel-osi-credp-20030828 also declare and init afs_osi_credp for ukernel. thanks to nathan for bug report. commit 9053e5c9468fbf0092ae167d606632f1a45b4284 Author: Robert S. Murawski Date: Thu Aug 28 04:46:04 2003 +0000 winnt-64bit-env-20030827 define and support 64 bit env on windows commit 3467c697025a8d857a023cba549f0218e6dbb04e Author: Nathan Neulinger Date: Thu Aug 28 04:16:33 2003 +0000 voldump-builds-with-volser-20030827 avoid circular dependancy issue. commit 84413f9d4a4d6eda515c33e50f6ac86ec7e8d236 Author: Robert S. Murawski Date: Thu Aug 28 01:43:05 2003 +0000 winnt-nsis-installer-20030827 make the nsis installer actually work. commit f40f466c7f5086e425f53a15022396f550874aa5 Author: Jim Rees Date: Wed Aug 27 22:43:16 2003 +0000 osi-credp-20030827 Use a pointer for afs_osi_cred, and crget() instead of just inventing one. Required for FreeBSD, which puts a mutex in the cred. Not strictly required for other BSDs, but it's more correct. commit 3d50a78236db35d1e97a0f2b5dc0b620cba37b09 Author: Daria Phoebe Brashear Date: Tue Aug 26 19:05:54 2003 +0000 packed-int64-macros-20030825 these were missing for the non long long cases. ew. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix NSIS installer build paths clean up base64 support for nt clean up int64 support in volser ==================== these were missing for the non long long cases. ew. ==================== these were missing for the non long long cases. ew. commit 75ac7f8bf3b5f3b37fdb1c2383a4bac493f651da Author: Jim Rees Date: Tue Aug 26 16:09:28 2003 +0000 fix-format-20030826 minor silly indent/format fixes commit c1157da616ee27667f46bdecd8438736b32ba8b1 Author: Robert S. Murawski Date: Tue Aug 26 04:03:32 2003 +0000 winnt-build-cleanup-20030825 include unified afs error support for winnt. removed dup'd code. supports building an installer with NSIS ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== include unified afs error support for winnt. removed dup'd code. supports building an installer with NSIS remove orphaned osi_malloc header ref ==================== more updates. make libadmin build, fix dependancies for unified_afs, copy rxstat header out during build ==================== fix NSIS installer build paths clean up base64 support for nt clean up int64 support in volser ==================== more updates. make libadmin build, fix dependancies for unified_afs, copy rxstat header out during build commit d1e8e34e6112e3f5013f4ffc5db7be8faef082da Author: Daria Phoebe Brashear Date: Tue Aug 26 03:43:21 2003 +0000 dir-dont-oops-on-corruption-20030825 If afs_dir_GetBlob gives us a corrupt blob, try to handle it gracefully. Ideally, we'd figure out *why*, but, what crash dumps? commit d7cf6a26e0cb0dfa577286dc45036eb33123632d Author: Robert S. Murawski Date: Mon Aug 25 21:36:40 2003 +0000 winnt-nsis-installer-20030825 include NSIS installer files commit 46c3ff8515349476c30bfd4bf5c75e160d90f0ae Author: Daria Phoebe Brashear Date: Mon Aug 25 21:33:27 2003 +0000 dumpsize-int64-support-non-64bit-platforms-20030825 this didn't compile on non long long platforms. again, ew. commit 0f97dbabceab1dc8345ae5273af8d817317733bd Author: Nathan Neulinger Date: Sun Aug 24 22:22:39 2003 +0000 vol-dump-tool-20030824 FIXES 2008 create direct-from-disk volume dump tool commit 292a9377c9783a9ff7fd9bfbbc91690790c6ffe2 Author: Robert S. Murawski Date: Sun Aug 24 18:17:44 2003 +0000 winnt-update-to-build-again-20030824 get things closer to building again for winnt port commit 3254836ee9ac6ef6e090ac3be68a6131adf5b701 Author: Robert A Basch Date: Wed Aug 20 23:41:06 2003 +0000 fix-indent-lossage-20030820 Fix lossage that breaks Windows build introduced by running indent. commit ec35af350a4a2d89940139461a9d5b82996ea0b2 Author: Nickolai Zeldovich Date: Sat Aug 16 00:50:27 2003 +0000 use-largespace-for-osifile-20030815 Use AllocLargeSpace for osi_file's on Linux because it sometimes exceeds SMALLOCSIZ. commit d2c30d069bb9ea803b347d9482ef788f59da3566 Author: Nickolai Zeldovich Date: Thu Aug 14 04:55:55 2003 +0000 memory-allocation-fixes-20030813 Properly free allocated memory from osi_AllocLargeSpace and check the amount of memory requested from osi_AllocSmallSpace to avoid a possible panic. commit f249aaeede96d99434cd0112cc2189e8c7266c8c Author: Robert S. Murawski Date: Tue Aug 12 05:06:37 2003 +0000 winnt-dotnet-support-20030812 "The 1.2.10 build ALMOST builds out of the box in Visual Studio .NET 2003. The MIDL compiler's default option changed from /NO_ROBUST to /ROBUST in version 6.0.359. So I propose that we put the /NO_ROBUST switch in the NTMakefiles as part of the command line." commit 63fb9cd1d4dee92be77141fa45d8534432bb3110 Author: Daria Phoebe Brashear Date: Mon Aug 11 23:22:02 2003 +0000 ptprocs-supergroups-stub-20030811 have a stub to go with the unifdef'd .xg file. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== have a stub to go with the unifdef'd .xg file. make the stub actually work. i wonder if it's ok to cheat like this. (return RXGEN_OPCODE) commit be95c11413b06f4a3e6007e46c04a1e0bf34c70e Author: Kris Van Hees Date: Mon Aug 11 20:29:21 2003 +0000 usermode-linux-configure-cleanup-20030808 clean up configure test for usermode linux commit 8f00fdfd5fc09f6c341125d46fa7457108dfa796 Author: Daria Phoebe Brashear Date: Fri Aug 8 22:54:30 2003 +0000 reindent-again-20030808 FIXES 1774 catch things which crept in. if emacs hadn't started ignoring my code formatting settings this would suck so much less.... commit 28fb8f1e02e1a8f4f058281b41311b9846656388 Author: Kevin Coffman Date: Fri Aug 8 22:34:28 2003 +0000 ptserver-supergroups-cleanup-20030808 FIXES 1834 last changes needed for nested pts groups commit e11771d8a344f0bd84d93c3c0acef44069fe07b3 Author: Matthew A. Bacchi Date: Fri Aug 8 22:20:46 2003 +0000 ptutil-use-libcmd-20030808 FIXES 1276 use libcmd in pt_util commit 856ae10278b1624c15c8ac6291026da12f8b7352 Author: Daria Phoebe Brashear Date: Fri Aug 8 22:00:09 2003 +0000 pinstall-execve-adhere-to-posix-20030808 FIXES 1886 pass in null env in posixly-correct manner commit 08db75c1968917a452f1d7c2a8a88b7a3e538ded Author: R. Lindsay Todd Date: Fri Aug 8 21:40:42 2003 +0000 large-file-support-20030808 FIXES 1493 large file support in the fileserver, again commit 0e49bd804aaca2b86a6adac5496ca793675fe870 Author: Alf Wachsmann Date: Fri Aug 8 21:27:58 2003 +0000 bos-error-string-args-cleanup-20030808 FIXES 1822 remove bogus arguments to printf in bos commit 0a0ba24b62329dab8780f6217e56f91921ee6982 Author: Kevin Coffman Date: Fri Aug 8 21:22:11 2003 +0000 viced-vlserver-rpc-proto-20030808 FIXES 1835 add prototype for vlserver function to stifle warnings on aix commit bab4e2dd948c96f6f2545e4b7ca3b17e0a27d506 Author: Kevin Coffman Date: Fri Aug 8 21:21:27 2003 +0000 remove-unneeded-mman-include-20030808 FIXES 1835 don't include mman.h in lwp fasttime commit 06a041b9ddbc36cb47d973d16fbbc93ab2af5c49 Author: Kevin Coffman Date: Fri Aug 8 21:10:11 2003 +0000 objdir-build-cleanup-20030808 FIXES 1833 so objdir builds can work on aix commit d6eefb7be58f4de0057691213e023fc7bb9fd49e Author: Kris Van Hees Date: Fri Aug 8 20:55:03 2003 +0000 afs-prefer-backup-volumes-on-mountpoints-option-20030808 afsd option (-backuptree) and proc interface code for linux to enable preferring backup volumes when crossing mountpoints once in a tree of backup volumes. commit 937a911c674551bf66ac440da43e329ba6b0fda2 Author: Douglas Engert Date: Fri Aug 8 21:01:25 2003 +0000 hpux-build-fixes-20030805 so we can build cleanly on hpux 11.22 commit f77455bd8676f203168c92e423a3fb11c82c635e Author: Jim Rees Date: Mon Aug 4 18:48:33 2003 +0000 lwp-reformat-20030804 fix lwp.c:Debug() macro so lwp.c will reformat correctly other minor cosmetic fixups commit f7c4f16110497457263851fed22a0c2ed50521c0 Author: Daria Phoebe Brashear Date: Tue Jul 29 23:34:33 2003 +0000 butm-restore-from-large-files-20030729 make restore also work from large files commit 5227918cb93f8f6b0c0c8c9a02e50c728fc1fce8 Author: Nickolai Zeldovich Date: Tue Jul 29 19:58:19 2003 +0000 fix-indent-bug-with-lock-macros-20030729 Add trailing semicolons to lock/unlock macro invocations to make indent do the right thing, and re-indent. commit 42396526a7f141ed1d03ba1b2451fc7475773258 Author: Daria Phoebe Brashear Date: Tue Jul 29 03:00:47 2003 +0000 opteron-linux-sys-call-hack-fix-20030728 smp machines need a larger search space? commit cd84e65f972ef53b45df742dfef67c04e94c95fd Author: Daria Phoebe Brashear Date: Fri Jul 25 19:15:15 2003 +0000 package-build-rules-20030715 allow building of macos packages from make commit 7356b6696e7b22f0d130fe27ef6233bc251b9a0d Author: Daria Phoebe Brashear Date: Fri Jul 25 05:38:01 2003 +0000 use-strerror-if-available-20030725 discover and use strerror instead of sys_errlist and sys_nerr. commit 26891bbac0e4aea5402bf44651d284194d503270 Author: Daria Phoebe Brashear Date: Fri Jul 25 05:30:31 2003 +0000 linux-largefile-defns-20030724 make usd library able to write large files on i386 linux commit 1a2fa8bd5cca6d69f13b5da47cc175d6337dabcd Author: Daria Phoebe Brashear Date: Wed Jul 23 17:30:11 2003 +0000 butc-notice-eot-20030723 if we're going to check for BUTM_EOT, have a chance in hell of finding it. and not, say, 0. commit 7161b7362f44b5294034ce71391e7b68245a5b7f Author: Jim Rees Date: Thu Jul 17 17:00:56 2003 +0000 freebsd-51-20030717 add support for FreeBSD 5.1 (builds, kernel module not working yet) commit 71a364dc0077390833aaf99ab042001c9a73570e Author: Nathan Neulinger Date: Wed Jul 16 23:22:54 2003 +0000 undo-reindent-newline-20030716 FIXES 1782 so the message catalog doesn't upset tools. commit 872bc94f8ce5d38f0a12e7cec455a2cb368b7427 Author: Daria Phoebe Brashear Date: Wed Jul 16 00:28:24 2003 +0000 reindent-20030715 FIXES 1774 thanks to nneul@umr.edu for providing a script to do this. gnu indent 2.2.9 options: -npro -nbad -bap -nbc -bbo -br -ce -cdw -brs -ncdb -cp1 -ncs -di2 -ndj -nfc1 -nfca -i4 -lp -npcs -nprs -psl -sc -nsob -ts8 ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 1774 fix subst mistake commit 744212766fed382ede385a0b62b49a9b10fadcfc Author: Jim Rees Date: Tue Jul 15 20:49:30 2003 +0000 freebsd-5x-20030715 use curproc->p_pid instead of getpid() (conflicts with kernel getpid) pass correct number of args to afs_close commit 40d7a8b4f144d13628ac18b35e8c861af35beab6 Author: Daria Phoebe Brashear Date: Tue Jul 15 06:30:04 2003 +0000 hpux-make-packaging-target-20030715 FIXES 1315 make the make rule able to make packages commit 8ce988f5fd7e801b8801607ed468e8a3cff4c7f2 Author: Nathan Neulinger Date: Tue Jul 15 00:43:45 2003 +0000 aix-objdir-build-20030714 FIXES 1763 we never get this right. commit 55738b0971210912d1d515943f3bde95be36ad39 Author: Jim Rees Date: Fri Jul 11 19:45:07 2003 +0000 freebsd-5x-20030711 more curproc -> curthread commit 7eeb271d9f12498b77f90a28c063bdfcb22afa39 Author: Robert S. Murawski Date: Fri Jul 11 03:12:46 2003 +0000 winnt-fileinfo-is-directory-20030710 correctly report directories by not setting field in incorrect position in reply. commit ddac9ce59abee2f53d6243b05c502966dfc9ad56 Author: Kris Van Hees Date: Thu Jul 10 22:52:15 2003 +0000 linux-usermode-better-test-20030710 test the source tree and not the running kernel commit 378de32cbca1bbe3bf605f72a222ec0a655a8c6b Author: Daria Phoebe Brashear Date: Wed Jul 9 20:44:46 2003 +0000 package-build-rules-20030709 allow building of macos packages from make commit c59e18c174569393ada98bb2ff1ab80c51c07b2b Author: Daria Phoebe Brashear Date: Wed Jul 9 19:55:32 2003 +0000 macos-pkg-update-csdb-20030709 attempt to update cellservdb before building packages commit e8775604576da0b1c1b180f0c0922222522c0dd5 Author: Paul Weber Date: Wed Jul 9 19:06:59 2003 +0000 hpux-packagings-20030709 FIXES 1315 updated packaging for hp-ux 11.00, 11.11 and 11.22 commit e6b5dee3bcdd7dc825c3b60df7c6893a31fa2c85 Author: Daria Phoebe Brashear Date: Wed Jul 9 18:41:02 2003 +0000 no-kerberos-env-20030709 you really don't want AFS_KERBEROS_ENV commit 7e11fe0bb2dbe66de36b6aa2bf1383fd47c83c55 Author: Jim Rees Date: Mon Jul 7 23:30:46 2003 +0000 openbsd-packaging-20030707 add bos to usr/vice/bin strip -x usr/vice/bin/* commit b6a2aae8216822024d1ca844beaf866a02f3cdff Author: Jim Rees Date: Mon Jul 7 23:09:27 2003 +0000 openbsd-flock-fix-20030707 release all locks on last close, not just those for this process (not correct but better; needed for posix) only sleep for remaining time in afs_osi_Wait if woken before timeout add proto for afs_open commit 75c205ed892a36be13b75d37718d8207c5a5abcb Author: Kris Van Hees Date: Mon Jul 7 22:58:39 2003 +0000 linux-uml-update-20030707 remaining update for uml, already i 1.2.10-rc2 commit fc60d09e3d6b20ffa3cc25368a3c06f20dd3cd9c Author: Jim Rees Date: Mon Jul 7 18:04:04 2003 +0000 openbsd-vnops-20030707 always return child locked in lookup add support for PDIRUNLOCK flag commit 71bf49aa93c393bd977155c54e423da0d2a36ad9 Author: Jim Rees Date: Mon Jul 7 17:15:48 2003 +0000 freebsd-4x-fix-20030707 fix merge screwup commit 4dd74ef18256f6052bc7279aff68d347fb723bd6 Author: R. Lindsay Todd Date: Wed Jul 2 02:03:17 2003 +0000 splint-support-20030701 FIXES 1493 add splint support targets to makefiles add support files commit a633a9920803860e8b4167501f0ffa171fcf40c2 Author: Daria Phoebe Brashear Date: Wed Jul 2 00:53:09 2003 +0000 translate-more-vol-errors-20030701 based on complaint from Ryan Underwood on openafs-info. translate to EDQUOT and ENOSPC actually instead of just returning random numbers commit 526316e97b0eb6e60789c2ce46a9183542c04682 Author: Daria Phoebe Brashear Date: Tue Jul 1 23:55:12 2003 +0000 snprintf-varargs-fun-20030701 this probably needs a better fix. however, one some platforms, we see: ./snprintf.c: In function `afs_vsnprintf': ./snprintf.c:227: `short int' is promoted to `int' when passed through `...' ./snprintf.c:227: (so you should pass `int' not `short int' to `va_arg') and it won't compile. are there platforms where short is correct? commit 3f8b428d52feb45e6d2dc3577c7c38306c98e0d8 Author: Jim Rees Date: Tue Jul 1 23:41:22 2003 +0000 freebsd-50-creds-20030701 freebsd 5.0 module now loads and runs! init creds in osi_Init don't call crhold on afs_osi_cred, because the mutex is invalid afs_xioctl takes a thread, not a proc commit 239067b1476801254c502c348893bb49553b5e74 Author: Daria Phoebe Brashear Date: Tue Jul 1 23:21:34 2003 +0000 linux-i-alloc-sem-usage-20030701 modern kernels appear to use i_alloc_sem around truncation commit f43c2f4412d670ce1131dc429cb43302352df3e4 Author: Hartmut Reuter Date: Tue Jul 1 23:02:58 2003 +0000 aix-51-support-20030701 FIXES 1661 make afs work for aix5.1 64 bit. some code cleanup commit 4bda27a286acb45ce87131eb43d80dbcbe5e5b39 Author: Douglas Engert Date: Tue Jul 1 20:43:08 2003 +0000 winnt-enable-global-drive-mappings-20030701 FIXES 1614 This will allow access to AFS from system processes and scheduled tasks. It also means that each user does not have to map AFS to his own drive. commit f661ad4e58f6ad7fd9aea9755c141e0a2d742b66 Author: Peter Breitenlohner Date: Tue Jul 1 20:39:18 2003 +0000 ptserver-make-main-int-20030701 FIXES 1645 don't declare main void. commit 9d1570615849e9f83e78d365fb98df743f512550 Author: Peter Breitenlohner Date: Tue Jul 1 20:34:23 2003 +0000 libadmin-pts-pointer-fixes-20030701 FIXES 1647 fix pointers to eliminate warnings commit 4fc1bbdf9406bf28e9027d68d3b861ded9b65fd5 Author: Peter Breitenlohner Date: Tue Jul 1 20:30:30 2003 +0000 use-lncurses-instead-of-path-20030701 FIXES 1648 use -lncurses instead of explicit path commit 96c7261a229207a44e483cce52478fbb1b35fe96 Author: Peter Breitenlohner Date: Tue Jul 1 20:27:54 2003 +0000 ignore-pam-module-if-no-headers-20030701 FIXES 1649 we check for pam headers; use the result commit 88e2d8e292e687d3193dcaff62ffd5f2ab4f72ad Author: Peter Breitenlohner Date: Tue Jul 1 20:23:51 2003 +0000 gcc-warnings-cleanup-20030701 FIXES 1650 add headers, cleanup castings commit 010af620459e2af0841810f1b232eccd7bc4ccb1 Author: Peter Breitenlohner Date: Tue Jul 1 20:14:29 2003 +0000 eliminate-bogus-rebuilding-20030701 FIXES 1651 so makefiles have proper dependancies commit a75f0516f52d967a1ffa0088fddaff88fe3f40bb Author: Peter Breitenlohner Date: Tue Jul 1 19:57:05 2003 +0000 kdump-build-cleanup-20030701 FIXES 1654 don't rebuild kdump on every pass commit e28aaca5ede7e7d4caecb46af1ee67a9879b1b75 Author: Jim Rees Date: Tue Jul 1 19:12:18 2003 +0000 protos-20030701 add proto for init_et_to_sys_error() commit a4bfe58a1b2dfe7dc84e593678d80e4247e5d62f Author: Jim Rees Date: Tue Jul 1 19:06:38 2003 +0000 freebsd-20030701 freebsd: eliminate unresolved symbols kernel module loads now, but doesn't get very far commit 4e7136740c8c41e49d9d88969feab4bc0eff8a2a Author: Jim Rees Date: Mon Jun 30 20:51:57 2003 +0000 label-in-col-1-20030630 put asm labels in col 1 (some asms are picky picky) commit 88f3f666dee7a74d2011cddb4415377bbda3c108 Author: Jim Rees Date: Mon Jun 30 20:44:50 2003 +0000 with-bsd-kernel-headers-20030630 add --with-bsd-kernel-headers configure option thanks to nathan for help with this commit b251040bb2086d9bc85f9c79ea53e83407c04492 Author: Jim Rees Date: Sat Jun 28 20:39:03 2003 +0000 freebsd-20030628 change freebsd kernel module name to libafs.ko (required by kldload) commit cf984d3d5ca6d68c6dc7cc38d75efa68dba6c0d4 Author: Jim Rees Date: Fri Jun 27 21:54:31 2003 +0000 openbsd-oops-20030627 back out my last commit. I'm told it's not wanted. commit f0245940b88cbe35e3c00364f29127d00e8af0df Author: Jim Rees Date: Fri Jun 27 21:32:28 2003 +0000 freebsd50-20030627 makefile changes to build freebsd 5.0 kernel module commit 4ec35eae77327cbe2feaa3316246ea108c6adee2 Author: Jim Rees Date: Fri Jun 27 20:55:46 2003 +0000 openbsd-20030627 use -fno-stack-protector for all openbsd after 3.2 commit 819df73c887c7999cf8163e0e95477a88a67490a Author: Daria Phoebe Brashear Date: Fri Jun 27 15:12:06 2003 +0000 bozo-ubik-needs-rx-20030627 make ubik depend on rx, not vice versa commit def59db27bb8a6b2b123547b30054d8ff380366e Author: Daria Phoebe Brashear Date: Fri Jun 27 15:07:47 2003 +0000 rx-xdr-rename-userland-symbols-also-on-amd64-linux-20030627 because the XDR struct is different on amd64, we need to do this to avoid tainting namespace of processes which otherwise use XDR and wouldn't use ours otherwise. this should be done otherwise, or maybe we *should* use the vendor XDR when we can. commit e458134e448ebcebadf876d8d891081375db80ee Author: Jim Rees Date: Fri Jun 27 15:01:21 2003 +0000 strl-20030627 add strlcat, strlcpy to libutil ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== src/util/strlcat.c src/util/strlcpy.c commit 51c36cd685ed8cd912dcba865c852d168f75c7fb Author: Jim Rees Date: Thu Jun 26 18:00:11 2003 +0000 bsd-no-sysparam-for-asm-20030626 don't #include sys/param.h in asm code (lwp/process.s) commit 038ee0211017a7318c74409c63d5fb2db9a5e63d Author: Ben Creech Date: Wed Jun 25 19:51:53 2003 +0000 windows-zombie-fix-20030625 To refresh your memories, this past semester, NC State experienced a problem wherein the OpenAFS Client for Windows would go into a zombie state and stop responding to traffic on the SMB interface until restarted... commit 2efac26e48946b3928966b93dcee21dc5f73b40e Author: Brent Graveland Date: Tue Jun 24 20:30:59 2003 +0000 openbsd34-20030624 openbsd 3.4: add -I${TOP_INCDIR} to lwp/process.s compile flags use afs_strcat commit e0306e8c05c16b176f9861b271d358bcdded74d2 Author: Jim Rees Date: Tue Jun 24 20:24:18 2003 +0000 openbsd-groups-20030624 openbsd: use the right creds in afs_xsetgroups don't clobber the ucred pool by running off the end of the group list don't over-hold creds commit 7ac709c80bed82db08d0c7d71f91be34feeb63a2 Author: Joakim Fallsjö Date: Mon Jun 23 23:46:19 2003 +0000 sun-x86-20030623 also use process.i386.s for sun x86 commit 3cd54ac636d38fb45ea957382c669e8b5d2df8cc Author: Jim Rees Date: Mon Jun 23 23:14:06 2003 +0000 setpag-proto-20030623 use prototype for setpag for freebsd too commit 89a13a3bb1713359f0c3d2ba4d44d078d5264765 Author: Jim Rees Date: Mon Jun 23 22:48:49 2003 +0000 handlecontext-20030623 only include code for HandleContext when it's needed, and make it more obvious when HandleContext is needed commit 5db7b8a88cd0f570e851333228f1f62b71d8c124 Author: Jim Rees Date: Mon Jun 23 21:27:39 2003 +0000 add-strcpy-for-openbsd-20030623 add strcpy() to afs_util.c for OpenBSD 3.3. Please don't look at my previous attempt to fix this. commit d7f00e40498be72c7426cf7731329fc71ce0de6f Author: Jim Rees Date: Mon Jun 23 18:02:17 2003 +0000 i386-elf-20030623 break out i386 code from lwp/process.s to separate source file, as discussed at workshop. add support for OpenBSD 3.4, contributed by Brent Graveland (requires kernel patch for lkm; see: http://graveland.net/openbsd/openafs-on-openbsd commit 725db719eee937cff6f764289b822fc428d5b0d5 Author: Nathan Neulinger Date: Mon Jun 23 17:04:29 2003 +0000 vol-extra-logging-on-attach-detach-20030623 FIXES 1387 add extra logging, revert in cases where you don't have log level turned up commit e2507583d54d55576500d59a7205fa5dce0259a3 Author: Jim Rees Date: Fri Jun 20 16:42:07 2003 +0000 freebsd-64bit-env-20030620 Add AFS_64BIT_ENV to all FreeBSD param files commit 8236e418cc829a30eb6176184a9fe3b51c7ed1ba Author: Nathan Neulinger Date: Fri Jun 20 01:40:15 2003 +0000 more-warnings-and-prototyping-work-20030619 FIXES 1816 abstracted from work by toddr@rpi.edu commit 738be8220e48ccccb35d016d750e1721efaf64ca Author: Nathan Neulinger Date: Fri Jun 20 01:35:19 2003 +0000 snprintf-string-includes-20030619 and some warnings killed. anyhow it should be happier now commit 5f09e7031d8fa4e44d94eace5b326785eee99027 Author: Daria Phoebe Brashear Date: Fri Jun 20 00:38:57 2003 +0000 add-maintainer-clean-target-20030619 oops. make INSTALL's idea of the target name work also, in addition to "pristine" commit d73fc1d60295f41b6e897cb87315bd31d8e2891f Author: David Magda Date: Fri Jun 20 00:37:32 2003 +0000 vsnprint-af-inet-bsd-header-20030619 the bsds also need socket.h to get a definition for AF_INET commit 4b2f1af543680039c791242d5bd594a3cd3061f0 Author: Paul Weber Date: Thu Jun 19 23:03:29 2003 +0000 hpux-packagings-20030619 FIXES 1315 updated packaging for hp-ux 11.00, 11.11 and 11.22 commit bc9ff0f64010b5ed886389ed584fb1c7c8169dc5 Author: Chaskiel M Grundman Date: Thu Jun 19 20:00:31 2003 +0000 windows-file-versioning-20030619 FIXES 1488 It adds: - the binary version of the file version/productversion, which the MSI engine sort of want files in MSI packages to all have. This requires another variable to be maintained in NTMakefile.i386_nt40 (Please don't change the value from 1,2,910,0 to 1,2,9,1 or something like that. The last number group in the version is considered completely insignificant by some things) - some file typing, which I don't know if anything cares about - Some new items in the stringfileinfo table, (InternalName and OriginalFilename) without which explorer won't show use the version info in constructing tooltip text. - Actually setting ProductVersion and FileVersion to something real - Language codes, which the MSI engine also wants commit befd22d01d34ccc09c85d7ef0fc683a7df2d77ae Author: R. Lindsay Todd Date: Thu Jun 19 18:35:44 2003 +0000 logging-changes-for-large-files-20030619 FIXES 1493 create afs_vsnprintf. use it in FSLog. add new types which are intmax and uintmax, 32 or 64 bit as needed.. some casting. commit 106a54eef7dc4e97fd229a7fc0a63a2d69a8ab01 Author: Nathan Neulinger Date: Thu Jun 19 18:20:08 2003 +0000 ident-cleanup-20030619 FIXES 1549 change to /* */ comment style ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 1548 i think indent is being stupid, but whatever. ==================== FIXES 1545 get rid of macro usage with causes "spurious" else ==================== FIXES 1544 comment in ifdef'd out code should be a comment ==================== FIXES 1543 make definitions ifdef notdef'd look like definitions commit 3caa5d6e9691c7d0d19964983f7c4fc6ff948046 Author: Daria Phoebe Brashear Date: Thu Jun 19 18:08:09 2003 +0000 des-add-error-so-indent-deals-20030619 FIXES 1546 important to make sure build still errors out commit f5f73a560ea423a384e3f209ad1d2a3d598bc588 Author: Nathan Neulinger Date: Thu Jun 19 18:06:29 2003 +0000 aix-cv-macro-fix-20030619 FIXES 1547 fix macro escaping commit da3adbb189c5487d4d9e928f9b529e8e99d780b7 Author: Daria Phoebe Brashear Date: Thu Jun 19 17:55:10 2003 +0000 uss-rename-lex-to-lex-file-20030619 FIXES 1550 so reindenting will not do the wrong thing. commit af1a0ea039223063b582cb44e55a4b58d1ec2836 Author: Manuel Pereira Date: Thu Jun 19 17:53:09 2003 +0000 java-jafs-update-20030619 FIXES 1565 updates to java jafs, make it work with new cell code. commit 43011a3a0013aa17a941f8ac0abf87f3efe7df7b Author: Ryan Lantzer Date: Thu Jun 19 17:43:15 2003 +0000 winnt-avoid-nosuchvolume-for-down-servers-20030619 FIXES 1568 a volume could be marked "no such volume" and hence disappear if a server went down until fs checkv. commit 2bff2bb6f3ba79d4c26ee7d7f3de0898c9e5296f Author: Nathan Neulinger Date: Thu Jun 19 17:31:33 2003 +0000 ptserver-rxgen-cleanup-20030619 FIXES 1573 get rid of placeholders, inline opcodes.. commit 0f53b559c34aa4bef8161eda7d7c21c898908119 Author: Nathan Neulinger Date: Thu Jun 19 17:28:58 2003 +0000 cvsignore-updates-20030619 FIXES 1580 update cvsignore files commit 7f16752202c603eadb6d88ae4cee8b55e8c66436 Author: Daria Phoebe Brashear Date: Thu Jun 19 17:17:20 2003 +0000 use-mkstemp-correctly-on-linux-20030619 FIXES 1603 might as well fix it all. commit 1f3990e5eafb6bd9dfdae28ce4fea5b8e5cff79e Author: Nathan Neulinger Date: Thu Jun 19 17:06:58 2003 +0000 vos-getsize-20030619 FIXES 1574 ported basically verbatim from work by ilya@ccmr.cornell.edu and mitch@ccmr.cornell.edu. add estimator of dump size support to vos/volserver commit 3dbc33ad071b9cf22fcef6c9c51f829edb0ece87 Author: David Magda Date: Thu Jun 19 14:56:49 2003 +0000 fbsd-pagefree-proto-20030619 s/vnode_pager_freepage/vm_page_free/ to avoid proto conflict remove vnode_pager_freepage from afs_prototypes.h commit a8dd10c862abeba2c05809b9fd921293b7e5e5e6 Author: Nathan Neulinger Date: Tue Jun 17 18:28:00 2003 +0000 check-mkstemp-in-config-20030617 check for mkstemp in configure use HAVE_MKSTEMP in src/butc/tcudbprocs.c commit ae5e2f7865ce1dee9649aa6992f49fc89eb52669 Author: David Magda Date: Tue Jun 17 18:08:19 2003 +0000 use-mkstemp-20030617 have the BSDs use mkstemp(3) commit ecfcebec10542834fe770d2f1c98baa77aaaf90e Author: Daria Phoebe Brashear Date: Tue Jun 10 21:42:51 2003 +0000 rxkad-ticket-cleanup-20030610 kill forward decls and dead code. commit 8a33c2d8a590d92df27d7febf708449feae17254 Author: Daria Phoebe Brashear Date: Tue Jun 10 20:18:34 2003 +0000 rxkad-check-tkt-length-20030610 tkt_DecodeTicket didn't seem to check that ticketLen < MAXKTCTICKETLEN didn't matter since no callers failed to check, but we should enforce this where the limit is commit 10a00664e344fd8d8bb2089c5e8a43a62050a5ed Author: Daria Phoebe Brashear Date: Tue Jun 10 20:15:07 2003 +0000 opteron-no-modversions-ia32-sys-call-table-fun-20030610 attempt to deal if modversions is disabled commit b609b807d24d336dfe8a0939249001dc8874c69a Author: Joakim Fallsjö Date: Fri Jun 6 22:11:25 2003 +0000 winnt-give-better-debugging-20030606 offer better messages in certain cases commit ad61a30d57eaf91d6c4edde632459b7e3d9f8700 Author: Daria Phoebe Brashear Date: Fri Jun 6 20:58:09 2003 +0000 linux-rx-listener-flush-signals-20030605 FIXES 1409 make sure we flush signals before calling force_sig. i don't know why this matters, but it does. commit 3fd6efb40fb4b81874cd1d48a1b529a175383e55 Author: Daria Phoebe Brashear Date: Thu Jun 5 22:42:07 2003 +0000 rx-avoid-leaking-nwaiting-20030605 thanks to kolya@mit.edu for suggesting moving rather than adding the decrement and confirming sanity. basically if a call ended up call->error it was possible to queue_Remove() it, drop the call, and not rx_nWaiting--; result should be observed as rxdebug reporting waitprocs when threads were idle. commit 718f25e62e7249682f8e9deddb1eb72408f4df9e Author: Daria Phoebe Brashear Date: Thu Jun 5 15:11:44 2003 +0000 amd64-hook-ia32-table-20030519 if sys_call_table is exported and ia32_sys_call_table isn't, we need it this way commit 2acd0d9937f6040ab8b9dc0ce3304706136fac87 Author: Daria Phoebe Brashear Date: Wed Jun 4 17:11:55 2003 +0000 amd64-hook-ia32-table-20030521 keep track of the ia32 table separately. annoying but needed. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== provide the variables we need for ia32 sys call table if sys_call_table is exported commit 244fde00a9da55b4a55cc3c0944b28d28b90e597 Author: Nathan Neulinger Date: Tue Jun 3 05:31:08 2003 +0000 afsd-check-for-bad-partition-type-20030602 FIXES 1455 disallow cache directory of types we know cause problems ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 1542 typo commit ee00daa36432ba6eac6004c6c691aaab98c0e62f Author: Chaskiel M Grundman Date: Mon Jun 2 23:44:39 2003 +0000 softsig-update-20030602 FIXES 1435 changes to help us die and to unblock all signals to wait on commit 07f9b84fd75eaf7d1ea7129044d01da6532a8de6 Author: Chas Williams Date: Mon Jun 2 19:11:40 2003 +0000 kernel-reduce-stack-use-20030529 FIXES 1485 so we allocate instead of using memory off the stack in the kernel paths commit d0bb3b8fa0aa57634df3aadc2cf86eca6ad4a6c6 Author: Paul Weber Date: Mon Jun 2 15:47:12 2003 +0000 hp-packagings-20030602 FIXES 1315 add HP pacakging files commit e110b1d34a7141a1fdfe4570418545c59945ce6d Author: R. Lindsay Todd Date: Mon Jun 2 15:37:48 2003 +0000 logging-cleanup-20030602 FIXES 1493 logging function cleanup and protoizing commit df3dbd15787b2523681a3ff8a5c2a2ba22155314 Author: R. Lindsay Todd Date: Mon Jun 2 15:35:59 2003 +0000 splint-fileserver-volserver-cleanup-20030602 FIXES 1493 add "make splint" target for viced, vol, volser and clean up for splint commit a04ba28f72ab3d23ce46e71d165c1d8707c5b40e Author: R. Lindsay Todd Date: Mon Jun 2 15:27:54 2003 +0000 largefile-2nd-try-base-work-20030602 FIXES 1433 another try at largefile support. macroize so things can be easily cut over commit 87ba62cc9bbdf64e95eba97b9d85453c08c86bce Author: Nathan Neulinger Date: Thu May 29 19:23:15 2003 +0000 prototyping-20030529 FIXES 1455 more prototyping. commit e011b31bfa2a511ef663a85ffd548e64303a4c3c Author: Jeffrey Hutzelman Date: Thu May 29 19:03:14 2003 +0000 syslog-tags-20030515 FIXES 1266 include a program tag in syslog output commit 5ecdab3b75c02784ae6d87e93a92d1a3f705c83d Author: Chaskiel M Grundman Date: Wed May 28 19:34:38 2003 +0000 closer-to-vc7-support-20030528 FIXES 1334 VC7 dropped support for the LARGE_INTEGER functions (linking against largeint.lib doesn't seem to have any effect) commit aaea47afd223021d98e6c5f3b778fe8b0fd472d8 Author: R. Lindsay Todd Date: Wed May 28 19:18:08 2003 +0000 start-splint-support-20030528 FIXES 1493 only part of this bug commit ce4f08f0a9ab6fc7a2c40267aebc48934ec6dfb9 Author: Daria Phoebe Brashear Date: Thu May 22 16:51:08 2003 +0000 linux-system-calls-return-long-20030522 the kernel says they return long. returning int causes sadness. stop being sad. commit 20656c4a44c4ae294e99eaa60cf8137a2fda51d3 Author: Daria Phoebe Brashear Date: Thu May 22 16:16:19 2003 +0000 revert-pioctl-return-negative-errors-on-linux-20030522 syscall stub handles it. this is actually an overflow on 64 bit system commit 7d710fd45f7f6fa06de22d4f524342d02ae4afcd Author: Daria Phoebe Brashear Date: Thu May 22 15:22:18 2003 +0000 pioctl-return-negative-errors-on-linux-20030522 otherwise we can end up with errors that make no sense. commit 580f1ffc506bb925c28af824e08f84318f1dca64 Author: Daria Phoebe Brashear Date: Thu May 22 05:57:31 2003 +0000 switch-to-strerror-20030522 FIXES 1458 your brights brighter, your whites whiter. well, at least compilers won't bitch that sys_errlist[] isn't supported anymore. commit 4b88ff73550199014d552f9fddc74785fa5eccdb Author: Daria Phoebe Brashear Date: Wed May 21 20:56:28 2003 +0000 linux-group-syscalls-return-long-20030521 these return long. also call the underlying handler expecting to get a long back commit ad98c8d9562f8d56ba8497467480a2de49e1527a Author: Thomas Mueller Date: Wed May 21 15:45:05 2003 +0000 close-cellaliases-20030521 FIXES 1481 don't leak a ref to CellAliases commit 055e0b99f911a1c821cf6264f72bad61d8e63d11 Author: Daria Phoebe Brashear Date: Wed May 21 14:42:53 2003 +0000 amd64-copy-args-for-ia32-table-20030520 first cut at an opteron port commit 831e17246314f6204b1fe05c8f8a23a3be6b728a Author: Daria Phoebe Brashear Date: Tue May 20 08:02:53 2003 +0000 amd64-hook-ia32-table-20030519 first cut at an opteron port commit 9dfb5d60479847c630d46bf67a6cd9570a5b1a21 Author: Daria Phoebe Brashear Date: Tue May 20 05:01:15 2003 +0000 amd64-linux-port-20030428 first cut at an opteron port commit a9b72c443e4bd074ecabe7ed005354e55c69b53d Author: Daria Phoebe Brashear Date: Tue May 20 04:57:44 2003 +0000 linux-use-kernel-net-include-dir-for-net-20030519 since we can end up trying to include things which exist in include/net but not include/linux, try to rationalize. commit 7fa099db6f796eb1eb0528cf8b7b68d27f510dd7 Author: Daria Phoebe Brashear Date: Tue May 20 04:49:29 2003 +0000 linux-look-for-syscall-h-in-kernel-20030519 some new kernels appear not to have linux/syscall.h in the kernel. no clue. commit a8b536e7d3f45abd20fa0ea293f5f313189114d4 Author: Daria Phoebe Brashear Date: Fri May 16 18:42:28 2003 +0000 linux-try-sys-wait4-20030516 we may have close/wait4 instead of close/chdir or open/exit commit f1198f411ff0ca77fef0957107cd07ff2ed9bed6 Author: Nathan Neulinger Date: Thu May 15 18:10:39 2003 +0000 stifle-valgrind-20030515 FIXES 1379 shut up valgrind on zeroing allocations commit 6c4bb9b335a3e5464007c61b6c4e4f286281ef0b Author: Daria Phoebe Brashear Date: Thu May 15 17:59:12 2003 +0000 linux-busy-cache-partition-while-afs-running-and-dont-allow-afsd-shutdown-while-afs-mounted-20030515 FIXES 1454 otherwise you can get into situations where you get strange oopses and superblock corruption commit 36225d657349c6dad851fee286a200ef1d3a82b4 Author: Daria Phoebe Brashear Date: Thu May 15 17:41:25 2003 +0000 vol-more-logging-20030515 FIXES 1453 much more to do here. start with this. commit 5012151295bef1f99944041fd19083ffc7c3f912 Author: Jeffrey Hutzelman Date: Thu May 15 17:23:37 2003 +0000 salvage-allow-hardlinked-logs-by-date-20030515 FIXES 1259 a switch causes salvager to create salvagelog hardlinks by date so logs are preserved forever commit 390083af2e4444c5c6ffc14a573728250f9c7df1 Author: James Peterson Date: Thu May 15 16:41:11 2003 +0000 winnt-add-osi-event-mc-20030515 FIXES 1373 add missed file commit 68c67f8621f8d76f430b7329c1db8d6704ec0037 Author: Jeffrey Hutzelman Date: Thu May 15 16:25:08 2003 +0000 solaris-deal-with-gatekeeper-stupidity-20030515 FIXES 1261 make gmake not try to link libafs.o and libafs.nonfs.o into another object commit 3c66862d6932430e64e7abbd8c87fffd47b5e2cd Author: Christopher Allen Wing Date: Thu May 15 16:16:26 2003 +0000 setgroups-return-errors-negative-20030515 FIXES 1383 return errors negative as linux kernel needs commit 26ee3fcc3947c8df88b5e95d413b5144f13c7e6a Author: Alexei Kosut Date: Thu May 15 16:00:27 2003 +0000 darwin-mount-and-disk-arbitration-enhancements-20030515 FIXES 1363 * Allow AFS to be mounted multiple times, each mountpoint with its own root volume. This allows usage similar to the Windows client, e.g., mounting a drive that contains only the user's home directory. Our users find this much easier to work with than having to navigate the entire AFS tree in the Finder or open/save dialog. * Have afsd register /afs with the DiskArbitration system when mounting it. This means that the root afs volume shows up in the Finder immediately, and prevents the Finder from getting confused by additional AFS volumes later on. * Add a "-nomount" option to afsd, which prevents afsd from mounting /afs. We use this by default on our Mac OS X client, so that AFS doesn't show up in the interface at all unless the user explicitly asks for an AFS volume to be mounted. This is especially handy for portable or remote users who don't always have a network connection, since there isn't an AFS filesystem around to hang the Finder if the AFS servers can't be contacted (the cache manager may still hang, but since there are no AFS volumes mounted, the rest of the OS doesn't notice). * Make it so that /afs (mounted by afsd) will not unmount unless MNT_FORCE is given. This prevents the user from accidentally ejecting /afs in the Finder, and also works around a DiskArb bug in Mac OS X (possibly fixed in 10.2) where autodiskmount would sometimes unmount /afs when logging out, even though it's marked as non-ejectable. commit 19b1a9015f5546881c3c077e4c39d2b8d167dfc5 Author: Jim Rees Date: Thu May 15 15:53:28 2003 +0000 pioctl-buffer-size-checking-20030515 don't check output buffer size against PIGGY commit 0683dd7fcdc4e8ecb6e3bf79dc0c8d1c2ebec022 Author: Jim Rees Date: Wed May 14 23:08:25 2003 +0000 openbsd-20030515 OpenBSD 3.3 is out now, and seems to work. commit b6e4d69eff29ed7b3bb280f38c979987165b00d4 Author: Jim Rees Date: Wed May 14 22:47:32 2003 +0000 openbsd-20030514 #include afs/sysincludes.h for OpenBSD. I suspect other systypes will need this too. commit ffeb03ae952b671691387421e0e4319fef97a7c9 Author: Alexei Kosut Date: Wed May 14 16:47:24 2003 +0000 osx-fake-mode-bits-20030513 FIXES 1362 give up on waiting for apple to get things right, which probably means they never will. commit e970988aa1c8ed1b3ab90fdb693be4edebf4dcb5 Author: Nathan Neulinger Date: Wed May 14 16:14:54 2003 +0000 more-prototyping-20030513 FIXES 1351 some ansification in src/ubik, more prototyping commit 3673e304fd72cf75912cb19b781227c6e53ca897 Author: Nathan Neulinger Date: Wed May 14 16:10:23 2003 +0000 kdump-deal-with-vnode-to-vc-change-20030513 FIXES 1350 so kdump can compile again commit d4828d32266cbd6cd9786c5d6e7e6312925e691e Author: Alexei Kosut Date: Wed May 14 16:06:41 2003 +0000 darwin-use-perl-instead-of-grep-20030513 FIXES 1361 perl is installed by default. grep isn't. use perl. commit 1932dede050797bcb3a7592e9b0663c696acd48f Author: Nathan Neulinger Date: Wed May 14 15:54:53 2003 +0000 vol-additional-logging-20030513 FIXES 1387 additional logging for attach/detach. commit 5bd1a6140aa79cd3ac7e8e384a4f84d4fe3f008c Author: Douglas Engert Date: Wed May 14 15:37:06 2003 +0000 solaris8-dont-read-binding-file-20030513 FIXES 1434 Sun changed read_binding_file in a patch; Make sure we avoid the problem. We don't need to call it if afs was already in /etc/system. commit d9eab68f86dd90cd4cfee623eaca35cd9248b864 Author: Matthew N. Andrews Date: Wed May 14 15:30:51 2003 +0000 rx-bulk-example-cleanup-20030513 FIXES 1436 make the bulk example work commit 436ebe8a8a3463c80d6ae4498a96b66d358ab29c Author: Jim Rees Date: Tue May 13 22:22:19 2003 +0000 rx-mtu-params-fix-again-20030513 remove redundant decl of rxmtu commit 7aa0acdbc893e351241066aba2eadc28e64baf62 Author: Nathan Neulinger Date: Tue May 13 05:27:59 2003 +0000 rxgen-xdr-call-stifle-warnings-20030513 FIXES 1349 eliminate some warnings in generated code from rxgen commit fcdc120ce70a189ca7ed908688721b72ab3ffe77 Author: Kris Van Hees Date: Tue May 13 05:23:56 2003 +0000 i386-user-mode-linux-support-20030513 FIXES 1396 support for usermode linux commit bdd9476a9a8df914b1f8d634c1c4bc564cbcb132 Author: Nathan Neulinger Date: Tue May 13 05:11:01 2003 +0000 vol-gi-prototyping-20030513 FIXES 1432 changed slightly by shadow@dementia.org to not need forward decl. commit 49358c8ae7cee5b9c91f1d2bddde5a7601f5a573 Author: Nathan Neulinger Date: Tue May 13 05:05:39 2003 +0000 rx-mtu-params-fix-20030513 FIXES 1433 define needed variables outside ifdef commit 7cd283e55e3559a42f451cf5d5f5d9dd09d20f21 Author: David Howells Date: Tue May 13 04:55:13 2003 +0000 pioctl-buffer-size-checking-20030512 FIXES 1413 buffers are signed, should be checked for negative in addition to smaller than PIGGYSIZE; also, check out buffer size before calling pioctl handler. commit c3cee1da8cab49810ba7509fdf17feba3258fd05 Author: Daria Phoebe Brashear Date: Tue May 13 02:58:32 2003 +0000 volser-ros-use-parent-id-20030512 FIXES 1448 everything shoudl be done as the parent volume id so the volume group stuff works right. otherwise, we create things which get stored under one "tag", try to open the, under another "tag" and they aren't there, because it doesn't hash the same. commit 079af80b44d6175d4def489338a25159aa82a1af Author: Daria Phoebe Brashear Date: Thu May 8 19:53:48 2003 +0000 linux-gcpags-deal-correctly-with-uid-tokens-20030508 look at the correct uid, so we don't gc in use tokens commit ab088215909fb60067adbdaab168556ea99f97fe Author: Jeffrey Hutzelman Date: Mon May 5 20:58:36 2003 +0000 winnt-eventlog-newline-fixes-20030505 Clean up newline conventions in src/WINNT/eventlog/lang/*/event.mc. Existing files were in CVS with CRLF newlines, and so some Windows tools would check them out with CRCRLF. Unfortunately, the mc-compiler can't handle CRCRLF newlines. Fixing the files in CVS to have LF newlines (like all proper text files) makes the problem go away -- they end up with CRLF if checked out using tools that do newline conversion, and LF-only if not, and the compiler accepts either. commit 6cb978478120614f0f9df21a08a3be9decc89435 Author: Daria Phoebe Brashear Date: Mon May 5 17:13:25 2003 +0000 ubik-dont-copy-stack-garbage-when-netinfo-forces-primary-address-change-20030505 don't mess up count by reusing it commit 76832e229efa8ee34e0aeead0c13381f027e92fd Author: Daria Phoebe Brashear Date: Mon May 5 16:40:25 2003 +0000 mapname-allocate-enough-space-for-pr-nametoid-20030505 the alternative is to crash when we get a foreign user here commit e9993b1fce5a9d0260d94e95811a5b5dd79ef4ad Author: Nickolai Zeldovich Date: Wed Apr 30 02:14:43 2003 +0000 add-afsdb-aliases-for-cellservdb-cells-20030429 Add cell aliases we find using AFSDB for cells that have been statically configured via CellServDB. This preserves the AFSDB implementation behavior from before the cell code rewrite. commit 31629a79253aecd5c330597817fd1e04c27a390b Author: Jim Rees Date: Tue Apr 29 22:39:36 2003 +0000 freebsd-50-20030429 FreeBSD 5.0 kernel module compiles now, but not likely to work yet. commit dd2cad1e18dcb1912576986feda399954cab2ee2 Author: Daria Phoebe Brashear Date: Tue Apr 29 00:30:09 2003 +0000 no-sysincludes-in-rx-20030428 not the correct fix but without it linux/vnode.h conflicts with osi_vfs.h when both get included. commit f5df7b1d97572b6a0cd5f8a3a7b0f752ae111905 Author: Daria Phoebe Brashear Date: Tue Apr 29 00:05:57 2003 +0000 autoconf-deal-with-res-search-as-macro-20030428 on some platforms, res_search is a macro for __res_search, find it anyway commit 509c965d0aef031293edc0fcf3e97587d1deac73 Author: Daria Phoebe Brashear Date: Mon Apr 28 22:38:20 2003 +0000 amd64-linux-port-20030428 first cut at an opteron port commit 1c67a70709df397461183b77b724a6e9a4d20eca Author: Jim Rees Date: Fri Apr 25 16:54:48 2003 +0000 proto-20030425 add missing prototype for ClearHostCallbacks_r() commit 5c8d5da46088ece3eed29e6abec7706abfeeb701 Author: Nickolai Zeldovich Date: Thu Apr 24 20:21:31 2003 +0000 uae-dont-translate-zero-20030424 Leave a zero return value as zero, rather than translating to UAEMEDIUMTYPE. commit 05be212fea360747dbe5a9681ca81459b3d6ac62 Author: Rainer Toebbicke Date: Thu Apr 24 14:37:15 2003 +0000 viced-shutdown-avoid-deadlock-20030424 don't deadlock on H_LOCK if we need to shut down in an emergency commit 9948575c6ec949ff9212830a143ef1713fcc22ed Author: Jim Rees Date: Thu Apr 24 00:03:45 2003 +0000 freebsd-50-20030423 more FreeBSD 5.0 kernel module work. commit 42a1981fff5c9b3f4855e4f9200fb6a9de53642b Author: Daria Phoebe Brashear Date: Wed Apr 23 05:31:14 2003 +0000 afs-analyze-avoid-potential-loop-20030423 avoid potentially looping forever in e.g. afs_FetchStatus because we exit afs_Analyze too early to increment busyCount, and despite having areq->busyCount non-zero we have servers still not_busy which are already down that we'll never talk to again. that combined with no conn means we never touch most of afs_Analyze, exiting early with shouldRetry set. incrementing busyCount whenever we exit with shouldRetry set should ensure we can never end up looping forever. commit ea410c1c4d78c74419a300ab1ee1aee62ea5db17 Author: Rolf Sattler Date: Tue Apr 22 17:45:07 2003 +0000 winnt-xdr-mem-needs-limits-h-20030422 as received from scoot williams commit f135e42fbf5267b37d4d0cdc7542b2771fdb20a8 Author: Chas Williams Date: Tue Apr 22 16:45:40 2003 +0000 fs-include-string-function-prototypes-20030422 so fs won't segfault on ia64 linux commit ddd9554560a44314a029d7d2d59af8b7aaaec8ca Author: Daria Phoebe Brashear Date: Tue Apr 22 06:27:17 2003 +0000 pass-pointers-for-uuid-printing-20030422 pass pointers for uuid string building commit 5cebfdc757655ba0762b3edd5d9dbdd3dc5f25dd Author: Daria Phoebe Brashear Date: Tue Apr 22 06:25:50 2003 +0000 cellconfig-unlock-mutex-on-error-20030422 clean up my own mess (i bet). certain error cases weren't being cleaned up properly before we returned commit 3960ee3bb834dafb74ad64be1f84713046187b6c Author: Chaskiel M Grundman Date: Mon Apr 21 17:37:08 2003 +0000 freebsd-20030421 add .PHONY target for libafs commit 26d844a4532dd8dad16f9d0389814fb9ab65a2f8 Author: Jim Rees Date: Thu Apr 17 23:14:30 2003 +0000 openbsd-20030417 use the correct group list entries (1,2) for pag (duh) commit 8c788b1e757bc841b36637c8e6876dcd33d9d809 Author: Kevin Coffman Date: Thu Apr 17 16:05:58 2003 +0000 aix-20030417 I had to do the following to do a 'make dest' on AIX in a directory separate from the source: commit 5d443e0d36850182cb1fe86baad7fa37f58ef842 Author: Jim Rees Date: Wed Apr 16 23:28:52 2003 +0000 freebsd-50-20030416 More FreeBSD 5.0. Most of it builds now. commit 26c8bff4ee47b1feb1b522ac57163df43eb0ecf2 Author: Jim Rees Date: Wed Apr 16 20:47:07 2003 +0000 ignore-20030416 ignore all MakefileProtos in libuafs commit 6eac7d68178e5d0800d3ac00c63b50e1ef0378dc Author: Joakim Fallsjö Date: Mon Apr 14 16:45:54 2003 +0000 solaris-x86-port-already-htons-20030414 rx_port is already htons() and htons is a NULL-op on sparc but not on x86... make shutdown actually work on x86 solaris commit e233f0646c81f671f0c70d209ba601f864e3d82a Author: Garry Zacheiss Date: Mon Apr 14 00:53:07 2003 +0000 update-news-file-20030413 Note minimum version requirement for 2.2.x series Linux kernels, and also note incompatability between 1.2.9 afsd and older kernel modules. commit 8cb30fa5fb6084f5a6b67120ab1155b7da029e9f Author: Daria Phoebe Brashear Date: Fri Apr 11 18:50:12 2003 +0000 softsig-dont-block-critical-signals-20030411 blocking these seems to prevent all threads from dying when the kernel gives e.g. SIGSEGV to one of the processes. since softsig is to protect us from what signals we handle might do in the handler, this should be fine commit 2abc69100118bb1e50efcb061c60d71ca5b77a7b Author: Garry Zacheiss Date: Fri Apr 11 01:58:23 2003 +0000 update-news-20030410 Update NEWS file with important changes going into 1.2.9. commit 5946081876332bfb53eecf48448b42412ddf9925 Author: Daria Phoebe Brashear Date: Thu Apr 10 20:57:22 2003 +0000 linux-try-more-kernel-paths-20030410 FIXES 1364 try /usr/src/linux-2.4 in addition to /usr/src/linux commit abc9f6b19029fc76093d8c2d1326ad1b36fa1b00 Author: Garry Zacheiss Date: Thu Apr 10 20:23:23 2003 +0000 darwin-map-more-versions-20030410 Reocgnize MacOS X 10.2.5 as ppc_darwin_60. commit 429cc8b6467726795bf46bdf1aa612400aa7afdf Author: Love Hörnquist-Åstrand Date: Thu Apr 10 19:55:03 2003 +0000 rxkad-2b-deal-with-expiry-20030410 FIXES 1369 return the actual error and not RXKADBADTICKET always commit dbced93c1a46e82f42a4ec51c0accfce38f49ada Author: Kevin Coffman Date: Thu Apr 10 15:55:32 2003 +0000 static-return-from-structname-20030410 return pointer to static data from structname() needed by aix, probably others too. This bug has been around forever! commit 3ab4af08ac9262e3384602fe49a4697acdd3ebd8 Author: Love Hörnquist-Åstrand Date: Tue Apr 8 22:38:18 2003 +0000 viced-file-readonly-fs-support-20030408 add missed curly braces so VannilaUsers don't get EACCES commit 2b295f43938a1b7defc151111a15021f197317fa Author: Jim Rees Date: Mon Apr 7 21:24:39 2003 +0000 afsutil-protos-20030407 remove redundant prototypes and move to afsutil_prototypes.h fix protos for int64_to_flipbase64 thanks to Alexei Kosut commit f40a6356f7917b164c4b949bc1916dbcb83a2f38 Author: Daria Phoebe Brashear Date: Mon Apr 7 21:11:35 2003 +0000 h-gethost-r-race-20030401 FIXES 1308 don't deref null identP if code was -1 commit 3ab37f714824d90701caa9123fc7c820aa411bcb Author: Michael Niksch Date: Mon Apr 7 18:56:28 2003 +0000 salvager-aix-update-20030407 make it work with namei commit dd517125c21e010954989d60caa31bc2da7ca394 Author: Daria Phoebe Brashear Date: Mon Apr 7 18:38:56 2003 +0000 flushhostcps-20030407 make it so flushhostcps can't try to Release when no host was found, which was apparently the problem dlc@cs really observed. commit 75f02de7034f20663781cf20851ef8d6f5ed5f46 Author: Jim Rees Date: Fri Apr 4 21:15:54 2003 +0000 openbsd-33-20030404 param file for OpenBSD 3.3. untested but "should work." commit 26a36110b0b23267526bffdbf6d0ef0b0a1b094d Author: Jim Rees Date: Fri Apr 4 19:04:22 2003 +0000 freebsd-5-20030404 preliminary work on freebsd 5.0 kernel module commit a7c365f5cc5049343b06d0983ad254edbbd78796 Author: Jim Rees Date: Fri Apr 4 17:49:33 2003 +0000 openbsd-20030404 changes suggested by mcmer@gmx.net commit 2dd8bbd1e267f85b8caf3f7f9a48b5837e7f2a79 Author: Jim Rees Date: Fri Apr 4 17:09:21 2003 +0000 remove-redundant-proto-20030404 remove redundant rxk_NewSocket proto commit 9dc3708d5fbe5604558dde4a206bfe6846f47183 Author: Love Hörnquist-Åstrand Date: Fri Apr 4 16:53:00 2003 +0000 freebsd-5-update-20030404 re-apply rev 1.6 patch, lost in rev 1.7 commit dd6f6844b50880445b3dae0dc01292ba45bf7641 Author: Jim Rees Date: Thu Apr 3 22:46:51 2003 +0000 openbsd-20030403 these never worked, and it seems unlikely anyone will ever use them commit 4f92bc4d347a43604d4d39132080d4e929e5cbde Author: Daria Phoebe Brashear Date: Thu Apr 3 22:42:22 2003 +0000 obsd-create-file-so-configure-shuts-up-20030403 so configure won't whine commit e1e6e7e95fd8a9ef0b97fb46a58ee422e2964ee4 Author: Jim Rees Date: Thu Apr 3 15:48:53 2003 +0000 fix-window-size-20030403 print actual limits if window too small commit 5967b22698c8aeb51131a62c56a2f7fbf1f8e79e Author: Daria Phoebe Brashear Date: Wed Apr 2 01:22:16 2003 +0000 h-gethost-r-race-20030401 FIXES 1308 Thanks to Chaskiel Grundman for explaining what was happening: - the connection is old and pre-existing, but has no host structure. - 2 calls come in - the first one enters h_GetHost_r, and h_Lookup_r returns null (but identP is non-null, since rx keeps it around until it gc's the connection) The first thread calls WhoAreYou, which succeeds, it then calls InitCallBackState3 (after H_UNLOCK) note that the host has been inserted into the hashtable - the second thread enters h_GetHost_r, and calls rx_GetSpecific. it then calls h_Lookup_r. h_Lookup_r will block (new host is locked), but eventually returns the new host - InitCallBackState3 returns, and the frees the old identP, replaces it, and unlocks the host. - the first thread returns from h_Lookup_r. boom. the changes: -call rx_GetSpecific after h_Lookup_r returns (and potentially slept) -removes an if wrapping which always is true (since !interfValid is always true) -don't realloc identP if it exists -don't free an old one by calling rx_SetSpecific either commit f14686ea2e4d10381554bd466d236dd9b9479e4a Author: Garry Zacheiss Date: Mon Mar 31 19:22:04 2003 +0000 darwin-map-more-version-20030331 Recognize MacOS X 10.2.3 and 10.2.4. commit b9eb8cc6695a0dc903b10cd763041f5cfd6a1764 Author: Daria Phoebe Brashear Date: Fri Mar 28 21:26:20 2003 +0000 solaris-fs-rolled-20030328 for solaris 9 u2 commit 20e15449ae0a816939f57f1e6dd9d75f1a9c76db Author: Onime Ehimika Ohireime Date: Fri Mar 28 17:41:04 2003 +0000 linux-execsorwrites-at-close-20030328 FIXES 1215 fixes bad interaction with openmosix comment from derrick: i'm still not sure what's going on here. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 1215 fixes bad interaction with openmosix somehow diff screwed up the first time and applied one hunk wrong. comment from derrick: i'm still not sure what's going on here. commit 73b42831167926d1743ad894d5c560d41c5f8a1a Author: Nathan Neulinger Date: Fri Mar 28 09:35:53 2003 +0000 revert-large-file-support-20030328 FIXES 1341 sadly there are problems. how long before this comes to the fore again i don't know. commit dd85569dfeee6802e85ae93a08ae5c675b227b70 Author: Nathan Neulinger Date: Fri Mar 28 09:30:53 2003 +0000 rxstat-fix-objdir-builds-20030328 FIXES 1340 change where we include headers from commit 2d3c470ff7517b90c03ff310100ed5122fb34974 Author: Nathan Neulinger Date: Fri Mar 28 09:27:32 2003 +0000 volser-cleanup-clone-trans-20030328 FIXES 1339 so we don't leave an idle transaction around commit 665e86f6fc4fbca43fd0d827d25f3de5f074e082 Author: Daryl Clevenger Date: Fri Mar 28 09:21:13 2003 +0000 flushhostcps-init-held-20030328 init held so flushhostcps is more useful. commit bdf9ebb4b7ac05d2574b51701952cd1aa377f1e7 Author: Jim Rees Date: Thu Mar 27 20:29:51 2003 +0000 fix-window-size-20030327 Fix off-by-one error in window size calculation commit cd159fddccbf19448e73a3a468268590f26ba59c Author: Daria Phoebe Brashear Date: Wed Mar 26 17:23:16 2003 +0000 shlibafsrpc-export-missing-des-symbols-20030326 symbols libafsauthent wants but we don't have commit 937ec63685f69f55eb0a6ce39ab94dc475eb5fe6 Author: Daria Phoebe Brashear Date: Wed Mar 26 09:10:59 2003 +0000 linux-rxk-listener-shutdown-cleanup-20030323 get rid of need for sys_kill commit 45dd8988f28ff573200136edda16d5592a757bff Author: Nathan Neulinger Date: Tue Mar 25 21:10:40 2003 +0000 rxkad2b-allow-no-kvno-20030325 allow a missing kvno field to work usefully commit 3fa5f389b2b7778cf0df5a506c91b427b147c4c2 Author: Daria Phoebe Brashear Date: Sun Mar 23 19:43:47 2003 +0000 move-up-cell-initialization-in-cachemgr-20030323 may be related to an oops at startup commit d14d08e35b95b2482bb074fe174db1e2b55da49d Author: Chaskiel M Grundman Date: Sun Mar 23 06:44:26 2003 +0000 linux-kthreads-reparent-20030323 so we don't get orphans on afs shutdown commit 953c54df1e1a2c92bcd6f926b43c80dffc3dca1f Author: Jim Rees Date: Fri Mar 21 20:06:16 2003 +0000 openbsd-20030321 Restore lost -O2 CFLAG commit eede2119c35b4b134af8becb72de56b449b16617 Author: Dan Hyde Date: Fri Mar 21 19:26:36 2003 +0000 xdr-mem-take-II-20030321 Fix pasto in xdr_mem security patch. commit 38cec12f2c45d4d2f544acedeeffafec70a89582 Author: Chaskiel M Grundman Date: Fri Mar 21 18:28:31 2003 +0000 linux-hold-tasklist-lock-in-get-page-offset-20030321 tasklist_lock must be held to traverse list commit 7f4d43ac2f6d7b44a5f07be6e59d45bf9c6736dc Author: Jim Rees Date: Fri Mar 21 17:59:28 2003 +0000 xdrmem-getbytes-20030321 See, for example: http://web.mit.edu/kerberos/www/advisories/MITKRB5-SA-2003-003-xdr.txt This source is unused but it seems like a good idea to patch it anyway. commit 4731e86a441df09b893a8bf3973a51a404f69d9a Author: Daria Phoebe Brashear Date: Fri Mar 21 14:00:31 2003 +0000 linux-one-more-stupid-configure-test-20030321 pointed out by zacheiss@mit.edu that i missed this. oops commit 284d3edd2375f672057aef638c0e0afd41cc559d Author: Daria Phoebe Brashear Date: Wed Mar 19 22:20:56 2003 +0000 redhat-81-support-again-20030319 once more. maybe this time they'll release something that looks like this commit 65b819d0afdc7c951d3033b598b01dcf73d2ca16 Author: Jim Rees Date: Wed Mar 19 22:20:31 2003 +0000 openbsd-20030319 Add -fno-stack-protector to kernel CFLAGS for OpenBSD post-3.2. commit e069717085e80e893d095e02865995dbfa5ec1f8 Author: James Peterson Date: Wed Mar 19 03:01:17 2003 +0000 volser-no-convertvol-on-windows-yet-20030318 not ready for windows yet commit 1312d1179d4a97e9c62eb26ef55f60007cd35872 Author: Daria Phoebe Brashear Date: Tue Mar 18 23:47:51 2003 +0000 kaserver-disable-krb4-crossrealm-20030317 to deal with krb4 security advisory ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== to deal with krb4 security advisory type mismatch for krb4_cross pointed out by Jack Neely commit 668e5d7ef502f6ffaf56c88f4446501e713ac6bb Author: Jim Rees Date: Tue Mar 18 14:30:48 2003 +0000 fix-my-screwup-20030318 Back out my last unnecessary "fix." commit 4f35fbb68005579f626d021632e899301f551c66 Author: Love Hörnquist-Åstrand Date: Tue Mar 18 03:54:51 2003 +0000 viced-vbusy-when-getclient-fails-20030317 more paranoia to not crash if GetClient fails, since there's apparently a race we haven't found yet commit 6f7795fc9fed660596dcbca4859b7a4feb66bc72 Author: Jim Rees Date: Mon Mar 17 17:26:22 2003 +0000 fix-errnos-20030317 Put non-unix errnos inside of #ifdef __linux__. This should be a temporary fix, waiting for real fix from Derrick. commit c808793afdbb58aa66954bdb8b666624faca7bce Author: Daria Phoebe Brashear Date: Mon Mar 17 15:55:16 2003 +0000 winnt-undo-backslashes-20030317 get rid of weird includes commit 4e2a1d6ce6434ac67ff7bbe8f800f27489902bc4 Author: Love Hörnquist-Åstrand Date: Sun Mar 16 14:30:15 2003 +0000 macppc-netbsd-20030316 Preliminary support for macppc-*-netbsd*. Untested? commit a29f51c64797c5fe0f3b6408cff55a403592fca1 Author: James Peterson Date: Sat Mar 15 15:08:30 2003 +0000 windows-more-updates-20030315 updates for build system commit 8af8241e94284522feb77d75aee8ea3deb73f3cc Author: Thomas Mueller Date: Fri Mar 14 20:46:51 2003 +0000 vol-ro-to-rw-tool-20030314 FIXES 1262 allow converting an ro to an rw on namei servers commit 5df76f7321420832c14f9d1862eee13b081b39af Author: James Peterson Date: Fri Mar 14 20:11:44 2003 +0000 windows-build-updates-20030314 support for V6.0 and .Net complier, compile from either NT4.0 or XP Source and object are separated into different directories. The directory tree would look as follows: Base from %AFSROOT% environment variable %AFSROOT%\src\... - all source and generated source %AFSROOT%\obj\checked\... objects from a checked build %AFSROOT%\obj\free\... objects from a free build %AFSROOT%\obj\dest\checked\... DEST folder from a checked build %AFSROOT%\obj\dest\free\.... DEST folder from a free build Before you start the build, you must build an object tree by issuing the following: nmake -f NTMAKEFILE mkdir ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== support for V6.0 and .Net complier, compile from either NT4.0 or XP Source and object are separated into different directories. The directory tree would look as follows: commit 69a511d5b8a051f4961c3a6503566537893cb96a Author: James Peterson Date: Fri Mar 14 19:59:44 2003 +0000 winnt-client-config-submount-fix-20030314 "Atempts to add a new drive, to the root, with a sub mount name, will sometimes return error #35" commit 48acf9c2d71ccd34ab7a95a8593a1689131fc032 Author: Chaskiel M Grundman Date: Fri Mar 14 19:47:35 2003 +0000 winnt-include-sanity-20030314 FIXES 1332 include headers by their usual name instead of trying to be special commit ff6394b2e40b4c7c58b32a6e901656a12eb1faf1 Author: Ryan Lantzer Date: Fri Mar 14 19:45:40 2003 +0000 winnt-give-nosuchpath-if-thats-what-we-mean-20030314 FIXES 1329 "The Windows AFS client returns the error ERROR_NOSUCHFILE, where the same request on a local NTFS volume returns the error ERROR_NOSUCHPATH." commit de4a11b01da1fbf9dd253d16134e200486b76ff3 Author: Ryan Lantzer Date: Fri Mar 14 19:38:47 2003 +0000 winnt-stat-cache-ref-leak-fix-20030314 FIXES 1327 avoid leaking stat cache entries commit 3c3971439731f691dc9faa55ace72596e808b4d9 Author: Chaskiel M Grundman Date: Fri Mar 14 19:24:37 2003 +0000 rx-init-stats-mutex-20030314 instead of what rx-init-mutex-before-calling-getudpsocket-20030313, just init the mutex earlier where others are done commit 3c22e61e23aae56cf8e40776c4327f7d640efa10 Author: James Peterson Date: Thu Mar 13 20:36:28 2003 +0000 winnt-client-config-submount-fix-20030313 "Atempts to add a new drive, to the root, with a sub mount name, will sometimes return error #35" commit 7187d07423c1f3b4db3abc57a44f28c394a9e8ee Author: Daria Phoebe Brashear Date: Thu Mar 13 19:01:24 2003 +0000 rx-init-mutex-before-calling-getudpsocket-20030313 pointed out by cg2v@andrew.cmu.edu commit f54bdeeb8501ae07d94d0e4205073518974bfbea Author: Nathan Neulinger Date: Thu Mar 13 14:06:51 2003 +0000 largefile-do-offsets-correctly-when-64bit-but-not-largefile-20030313 a 64 bit aware platform may not support largefiles yet commit 8443abeb38c8f28eacbe4fd69fe01cd6b738fc21 Author: Jim Rees Date: Tue Mar 11 16:25:45 2003 +0000 ignore-unified-files-20030311 cvsignore unified_afs.[ch] commit 8e30890a9fbc8e21cdd340de81422f7b979322b9 Author: Jim Rees Date: Mon Mar 10 20:09:42 2003 +0000 tovolume-is-char-star-20030310 tovolume is a char *, not an int commit 47df7e9f3ac680b2c672c34277bf34ffe6ef8737 Author: Douglas Engert Date: Mon Mar 10 20:02:35 2003 +0000 hpux11i-20030310 Support for HPUX110 commit 4f33d5b42854623a38d73e2b32d4fc872db356f7 Author: Daria Phoebe Brashear Date: Mon Mar 10 16:11:49 2003 +0000 cbd-all-flag-in-usage-20030310 cbd supports -all; put it in usage. commit 980b1cf91546904600b890d0be8e2a053086d8e1 Author: Daria Phoebe Brashear Date: Mon Mar 10 02:38:37 2003 +0000 afs-error-translation-update-20030308 make it vaguely useful. now with client side(tm) commit 644c4935f89ae1c5de6837ec2f8e2322c77612b3 Author: Daria Phoebe Brashear Date: Mon Mar 10 02:08:33 2003 +0000 vol-prototyping-20030309 prototype much of the vol package commit 9e4371373b3f743f28f90684da96e36cf4bb2fd5 Author: Daria Phoebe Brashear Date: Mon Mar 10 02:06:34 2003 +0000 ptserver-typo-20030309 "transarction" huh? commit 5e96617632a703d76953ab8d5953ab15f983cbb3 Author: Daria Phoebe Brashear Date: Mon Mar 10 02:04:03 2003 +0000 bnode-reorganize-source-20030309 get rid of unneeded forward refs by reorganizing code commit 7780a78a93acd23abd4f69d26a41690ce75dc0ba Author: Daria Phoebe Brashear Date: Mon Mar 10 02:03:09 2003 +0000 util-symbol-renaming-and-cleanup-20030309 rename more stuff into the util_ space use it some other cleanup in the util package commit 08534f1345f9a4e0fbf7ecb8cfb96bbd6d20ba40 Author: Daria Phoebe Brashear Date: Mon Mar 10 02:00:20 2003 +0000 xstat-protoizing-20030309 protoize one more directory commit 863b113a4d77aab791cebe54c51cdabcfa3b4dfd Author: Daria Phoebe Brashear Date: Mon Mar 10 01:59:12 2003 +0000 cleanup-licensing-and-transarc-references-20030309 tired? on a plane? need some mindless (maybe that's mind-numbing) stuff to work on? clean up licensing and references in code comments. it's big fun. commit 3d15d2f5026c84f095a520f839b3d6dcd8f34502 Author: Daria Phoebe Brashear Date: Mon Mar 10 01:33:57 2003 +0000 unified-errors-define-away-missing-errors-20030310 define missing errors commit ed554fda9c96080d66b0f1d09a9b363fbb91ed50 Author: Daria Phoebe Brashear Date: Mon Mar 10 01:25:36 2003 +0000 unified-afs-remove-dup-20030309 one of the errors was duplicated. oops. commit 35f1dec615df221adaaf71f7807c1ffffc2997a3 Author: Daria Phoebe Brashear Date: Thu Mar 6 17:11:22 2003 +0000 afs-error-translation-update-20030306 make it vaguely useful. still need client side ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== make it vaguely useful. now with client side(tm) ==================== make it vaguely useful. now with client side(tm) ==================== make it vaguely useful. now with client side(tm) commit 9dd6683e347712b8d7f8e5d653f7dbf479a31553 Author: Daria Phoebe Brashear Date: Thu Mar 6 16:12:46 2003 +0000 unified-afs-errors-20030306 error table for "unified afs errors" commit c4a1aeaf8c09979d9ff845681cc4530df872e5a1 Author: Daria Phoebe Brashear Date: Thu Mar 6 15:43:56 2003 +0000 initial-error-translation-implementation-20030306 client still needs to "untranslate", and the error tables themselves need to be defined and the server-side array populated commit 7ee56b700d73fd524bb92c628fe43d62e4365d6c Author: Daria Phoebe Brashear Date: Thu Mar 6 08:21:02 2003 +0000 windows-cm-getcellbynum-rpc-20030306 missing stub commit 8a641dbdf6a1d198ceb878c69c45495590e7296e Author: Daria Phoebe Brashear Date: Tue Mar 4 16:27:17 2003 +0000 cacheout-some-fixing-20030304 not done, but it doesn't get compiled anyway so it doesn't matter that i left it broken commit 50ee992c314f5b05a1c8d15fbf8cc9e8f169f81e Author: Daria Phoebe Brashear Date: Tue Mar 4 16:26:29 2003 +0000 protoize-callback-interfaces-20030304 more random protoizing commit 2712c1202ab17436ced8b466575c8bebdd9f68b7 Author: Daria Phoebe Brashear Date: Tue Mar 4 16:19:46 2003 +0000 capabilities-20030304 need to remove dummy capability, but otherwise this is the rpc part. commit 4484c4d97164bc708b3477e60f828f2e80187485 Author: Daria Phoebe Brashear Date: Tue Mar 4 15:42:23 2003 +0000 flushhostcps-byte-order-20030304 at insistence of lha@stacken.kth.se commit 8d27129f4d3a7f08912cfc36bd1f3cf3761ddb7e Author: Harald Barth Date: Tue Mar 4 14:49:09 2003 +0000 viced-debug-log-which-thread-package-we-are-20030304 log "pthreads" or "LWP" started commit 025ec7bf79fe9f45680897ff2bec8a18d040ed76 Author: Harald Barth Date: Tue Mar 4 14:46:04 2003 +0000 viced-set-fssync-threadid-20030304 set a thread id for the fssync callback thread commit 94d83a994100b11eaaf2cff38a481fc6182d5e62 Author: Daria Phoebe Brashear Date: Tue Mar 4 13:26:01 2003 +0000 cmdebug-getce64-support-20030304 make cmdebug support getce64 commit c240e56bc6bd41373a5e65fd46000b2abb90b3c9 Author: Daria Phoebe Brashear Date: Tue Mar 4 12:53:07 2003 +0000 update-giveupallcallbacks-20030304 fix logging. commit 41918aaf5a93eab7f35bbd8330a976e9c67e7b78 Author: Love Hörnquist-Åstrand Date: Tue Mar 4 11:26:40 2003 +0000 viced-abort-threshhold-20030303 allow abort threshhold to be set by switch commit 30f3ae458cb8ad84ceb1a8e2c6acc45af535d08e Author: Daria Phoebe Brashear Date: Tue Mar 4 11:14:13 2003 +0000 new-giveup-all-callbacks-rpc-20030303 untested. will try it shortly. allow a client to give back all of its callbacks without enumerating them commit 1075b3c7f141212eb7daecde057b2b2b3229930e Author: Daria Phoebe Brashear Date: Tue Mar 4 10:40:01 2003 +0000 viced-callback-remove-dead-functions-20030303 remove ClearHostCallbacks; make ClearHostCallbacks_r static commit 45a4d9cb08d92c10332bda071afb35461d5a4cc3 Author: Rainer Toebbicke Date: Mon Mar 3 15:53:28 2003 +0000 rx-thread-id-startup-20030303 FIXES 1304 avoid using rxi_availProcs to allocate thread ids as it may decrement from under us commit dd4ade14d515d6e0a6be9e15a870fe93173c1876 Author: Daria Phoebe Brashear Date: Mon Mar 3 15:45:36 2003 +0000 libafsrpc-make-dependancy-work-20030303 don't try to compile the headers commit db942233a5e07ed64c43f050b02763d631ed9d9d Author: Daria Phoebe Brashear Date: Mon Mar 3 15:37:03 2003 +0000 viced-vol-ansification-20030303 some more code ansified commit 241c06281036aedbce4c4e8c6a5ce6c981eef27a Author: James Peterson Date: Mon Mar 3 15:19:00 2003 +0000 winnt-cleanup-memory-leak-20030303 FIXES 1322 due to a change in the smb protocol we leaked memory. fix it. commit f17fe1ca6ab87af672e4ac1b42c5478c8e13cf1e Author: Nathan Neulinger Date: Mon Mar 3 15:13:40 2003 +0000 flock-sysid-20030303 FIXES 1325 featurize flock sysid commit 081f1765839834e8e06e8d0b8294ab54ced5c238 Author: Jim Rees Date: Sat Mar 1 18:16:01 2003 +0000 openbsd-20030301 Use PVFS for tsleep. PZERO is obsolete. commit 54f056cc7a4a496c82eb6fdb9ba943c079702527 Author: Harald Barth Date: Sat Mar 1 01:22:08 2003 +0000 nuke-create-windows-pathnames-only-on-windows-thanks-20030228 don't construct a windows path on unix commit 1e3319b04952746b03fd0dd7eb9e2494ae63cd5f Author: Daria Phoebe Brashear Date: Fri Feb 28 23:56:25 2003 +0000 viced-correct-probe-failure-message-20030228 based on complaint from haba@pdc.kth.se commit e18dd8bc0f4b566ee852a4c187f78e0c1e3382d3 Author: Douglas Engert Date: Thu Feb 27 17:27:25 2003 +0000 hpux-1122-updated-support-20030227 updated support for hp-ux 11.22 commit 0385de10a1cde2e520dc38fdb9ce1707e36afe1d Author: Daria Phoebe Brashear Date: Mon Feb 24 16:37:03 2003 +0000 salvager-create-larger-buffer-for-inodes-tmpfile-and-avoid-overrun-20030224 FIXES 1318 pointed out by Hartmut Reuter commit e6fe163706d6b072433fbac93ebdc3a4d2c251d7 Author: Jim Rees Date: Thu Feb 20 22:04:47 2003 +0000 openbsd-20030220 OpenBSD: Add some minimal build notes to README. Change client package name to openafs-client. commit 57d8ce94243c4fb237484f27de5298f0ba4a62ae Author: Jim Rees Date: Thu Feb 20 21:00:03 2003 +0000 dot-i-suffix-20030220 add .i suffix to Makefile.common.in for bsd make commit a7fbdc7bcd4889fb6bb5a85a49db9705086dd3e4 Author: Daria Phoebe Brashear Date: Wed Feb 19 03:50:47 2003 +0000 viced-rewrite-breaklatercallbacks-20030218 FIXES 1309 deal with only a single volume at a time commit 45a43078f0580c11e24ba34ea82518e5d4445967 Author: Love Hörnquist-Åstrand Date: Wed Feb 19 02:21:35 2003 +0000 viced-fix-port-logging-20030218 FIXES 1307 put port in correct byte order when logging commit 6c308978e1195246625babee91b5c49d84e23ffd Author: Daria Phoebe Brashear Date: Tue Feb 18 08:03:09 2003 +0000 viced-host-logging-update-20030218 FIXES 1308 print info before letting host get gc'd commit 6a1182d4bf186db3305d14f97f5561dfb822c104 Author: Daria Phoebe Brashear Date: Sun Feb 16 00:22:00 2003 +0000 viced-log-refd-client-while-deleting-20030215 if we gc a client with a positive refCount, log it. should probably log more data. commit 214c2e7b19333380cb7f3aa5c997f35543bd3d15 Author: Daria Phoebe Brashear Date: Sat Feb 15 14:17:15 2003 +0000 viced-allow-hinting-of-all-new-clients-for-vbusy-vrestarting-handling-20030215 For sites with only new (>3.4) clients (or who decide to not care about older clients) and want to force VRESTARTING instead of VBUSY. commit 825e7d57e7b818aea1904de0ab200de422b45f69 Author: Daria Phoebe Brashear Date: Sat Feb 15 06:03:25 2003 +0000 viced-client-set-refcount-before-chaining-into-host-20030215 didn't find a race but it's safer this way if there's one i missed commit 41351b5c2e556284d2eb99c6737f41922ca71fbf Author: Daria Phoebe Brashear Date: Sat Feb 15 05:39:16 2003 +0000 viced-gethostcps-simplify-holds-20030215 all of our callers have a hold when we're called. get rid of the "get us a hold" logic. do we need a lock? commit 701a7504158ca4b7b3803ec25c72772326ed71c3 Author: Daria Phoebe Brashear Date: Sat Feb 15 05:27:04 2003 +0000 viced-consistent-val-and-len-cleanup-20030215 just so we don't leave things inconsistent ever commit d8f69c796c4b2e5f48e6bee0e83c9dda4382ca92 Author: Love Hörnquist-Åstrand Date: Sat Feb 15 04:53:31 2003 +0000 freebsd-5-sys-name-id-20030214 FIXES 1302 allocate a sys name id commit 0dc61205b6906426667f31b8b5c452d86e24ef95 Author: Jim Rees Date: Fri Feb 14 19:07:18 2003 +0000 str-fixup-20030214 Protect afs_str*() in afs_util.c with #ifndef Use builtin strcasecmp, strcat for OBSD Use afs_strcat in afs_dynroot.c commit 3ef47cdfd2ab5aa4f6bf60b61e37f0da7d0d6487 Author: Nickolai Zeldovich Date: Fri Feb 14 01:14:10 2003 +0000 avoid-client-connection-mismatches-20030213 Avoid asymmetry between rx connections and clients, such that one points at the other but the other doesn't point at the first one. This can sometimes happen with hosts that change addresses/ports. commit 6183df9e42df31915efd85f750593006f517e816 Author: Douglas Engert Date: Fri Feb 14 00:02:16 2003 +0000 hpux-1122-initial-support-20030213 sys name may yet change and there's some relatively minor cleanup yet to be done commit feafe37c0374cd3112016166b000af8e202752d8 Author: Daria Phoebe Brashear Date: Thu Feb 13 23:53:37 2003 +0000 remove-sys-based-makefiles-20030213 obsolete in the "new world" commit 49e4a9d3b0da87dbd46aa35838a1962c60283216 Author: Daria Phoebe Brashear Date: Thu Feb 13 22:28:38 2003 +0000 callbacks-later-cdel-fix-20030213 if something else ends up trying to e.g. break delayed callbacks over the same callback that we're playing with in break later callbacks, the manipulation in CDelPtr becomes important commit 76c481e47bb5c9b5d98193c311bc4846fa052874 Author: Daria Phoebe Brashear Date: Thu Feb 13 20:11:34 2003 +0000 ptserver-foreign-dup-check-20030213 otherwise foreign user creation can screw up your pt database (if it's large) commit 8238260d1f6167675911ef58bda8cacf2921b1ea Author: Kevin Coffman Date: Thu Feb 13 18:14:40 2003 +0000 fix-seclevel-20030213 Use requested security level instead of "clear" in pr_Initialize commit a25efcc2d349bc3aaec956c7132a058022880b83 Author: Jim Rees Date: Thu Feb 13 18:06:10 2003 +0000 fix-DumpVnode-proto-20030213 Fix prototype for DumpVnode() commit d27df737c448f2598f6c81882f6b328012e8b88b Author: Jim Rees Date: Thu Feb 13 17:41:36 2003 +0000 openbsd-20030213 Add OpenBSD to README. commit 7c8bd23f40a18027b9229376bf9dacdbc9a2879b Author: Daria Phoebe Brashear Date: Thu Feb 13 16:20:54 2003 +0000 volser-dump-vnode-include-volid-in-error-20030213 include a volume number in the error message commit b6f04d5564e51fedfe1357227fb07a6caaaad8f0 Author: Love Hörnquist-Åstrand Date: Thu Feb 13 07:00:04 2003 +0000 freebsd-5-update-20030213 FIXES 1297 fix issue with header needed for malloc(), and make us freebsd 5-ready commit 8ad0977e0cca4cb526eecd019c8afe96b55bb2fe Author: Love Hörnquist-Åstrand Date: Thu Feb 13 06:58:31 2003 +0000 pam-header-ordering-cleanup-20030213 FIXES 1298 so pam module compiles on modern freebsd (system headers before pam) commit 0bce6f6bd5d53d5f13bce3a6e0e9284f509c6de2 Author: Love Hörnquist-Åstrand Date: Thu Feb 13 06:54:38 2003 +0000 libafsrpc-dependancy-cleanup-20030213 FIXES 1295 Make cc only take the first depency, so it wont compile header files that the target is depends on. Now that there isn't any VPATH, depend on the file with path, not by name. commit d7c25633238c8130ad9e94895ef96d7f4d31004d Author: Love Hörnquist-Åstrand Date: Thu Feb 13 06:51:14 2003 +0000 get-full-path-for-top-srcdir-20030213 FIXES 1296 unrelativize TOP_SRCDIR commit 8fb201a67af446ac6b586a5572c808b69431627a Author: Love Hörnquist-Åstrand Date: Thu Feb 13 06:46:07 2003 +0000 rx-warning-cleanup-20030213 FIXES 1299 fix prototype commit 0e3380edaeea6cdabe6d64c46c033ebee405cef3 Author: Daria Phoebe Brashear Date: Thu Feb 13 06:44:28 2003 +0000 host-tossstuff-require-unlocked-20030211 add warning and don't clean up if host is locked. shouldn't be able to happen ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FIXES 1294 and make it useful commit 4f1b300a98572f9fc8006f45aa76b014215763ac Author: Nickolai Zeldovich Date: Sat Feb 8 08:40:03 2003 +0000 rx-misc-cleanup-20030208 Stop passing around needless arguments to rxi_SendAck. Also send the proper reason value in ack packets for packets that were received out-of-sequence. commit 454af39fbc6e1cc9457ad09c3d50771255dfa1ba Author: Daria Phoebe Brashear Date: Sat Feb 8 07:38:39 2003 +0000 vol-check-malloc-return-20030208 make sure malloc doesn't fail in vol package either commit 5e2dc3d41cc23499f650a0bd7716381b2a435948 Author: Daria Phoebe Brashear Date: Sat Feb 8 07:30:04 2003 +0000 viced-check-all-malloc-returns-20030208 log something and assert if malloc fails commit 1e4b22a9f579cd53a4aa17caedf04d06fe965feb Author: Daria Phoebe Brashear Date: Sat Feb 8 06:43:26 2003 +0000 callback-interfaces-check-malloc-result-for-error-20030208 if we run out of memory, maybe we should assert. we should probably log. this is just so i remember to deal better. commit d4302ea35a14a4feeb04bdae168176a9cdd378b5 Author: Nickolai Zeldovich Date: Fri Feb 7 22:16:46 2003 +0000 vos-handle-invalid-long-names-20030207 FIXES 1289 Avoid crashing when an unreasonably long volume name is passed to vos. commit 922e0cce763f522c9fdf8df7d60d73f07056f45a Author: Andrei Keis Date: Thu Feb 6 23:02:00 2003 +0000 winnt-find-token-event-missing-braces-20030206 FIXES 1288 add missing {} braces commit 365f32ff80c3b3afd7efa98ec3d8b09c585c833e Author: Jim Rees Date: Tue Feb 4 19:05:44 2003 +0000 openbsd-pkg-20030204 First cut at making an OpenBSD package. commit 8e447222d9699b18ba975f97a3610a5e687e9c15 Author: Nathan Neulinger Date: Tue Feb 4 17:50:16 2003 +0000 use-kernel-version-of-debug-var-when-building-kernel-modules-20030203 FIXES 1272 use KERN_DBG instead of DBG commit 7a4e715d13f29935ff97dc990d929a070a3d5616 Author: Jim Rees Date: Tue Feb 4 16:39:55 2003 +0000 openbsd-20030204 Get rid of afsmodload() in favor of libafs_lkmentry() commit 146ca01c9fb02d30231dac9a0e48b57b05ddb3e9 Author: Daria Phoebe Brashear Date: Mon Feb 3 23:51:30 2003 +0000 libafsrpc-dependancies-20030203 FIXES 1267 needs further work, we need a lot more dependancies here commit f15e1e3f8f6d50ca931f2853bf9a166cddaa4c81 Author: Chaskiel M Grundman Date: Mon Feb 3 23:27:06 2003 +0000 lwp-tests-20030203 FIXES 1280 make the tests work commit d32c70edbc0ed4e4821deb5542ef11637e8c04e0 Author: Matt Bacchi Date: Mon Feb 3 23:15:58 2003 +0000 cmd-print-help-in-cases-without-subcommands-20030203 FIXES 1277 so libcmd supports help for e.g. pt_util commit 7ff00fb31ec5fea944871f32f2388ce482b37e92 Author: Love Hörnquist-Åstrand Date: Mon Feb 3 23:10:38 2003 +0000 netbsd-16m-support-20020203 FIXES 1269 support for netbsd 1.6m commit 5121aa82b5471b1b2088da53e7471bd2dc1cd3c9 Author: Eduard Bloch Date: Mon Feb 3 23:05:28 2003 +0000 linux-include-thread-h-to-allow-variable-num-of-cpus-20030203 FIXES 1275 allow variable cpu numbers commit cff48dcb5210e38e0048a04fc3151d045bdca4ce Author: Rainer Toebbicke Date: Mon Feb 3 20:45:51 2003 +0000 rx-thread-id-assignment-fixes-20030203 in rx_pthread.c the ++rxi_pthread_hinum; has to be protected by the rx_stats_mutex in all three cases. In the file I attached in the openafs-devel article the last one was accidentally unprotected. the FSYNC_sync thread (fssync.c) needs needs to be handled as well. commit 9a07ae91c39ded5541302d91aae81e5d137e4d06 Author: Daria Phoebe Brashear Date: Fri Jan 31 22:33:36 2003 +0000 more-redhate-beta-fun-20030131 apparently having recalc_sigpending stay the same was just as hard as continuing to export the same level of functionality, so we get neither. commit fa0eff22613614f6945f18d311b057a822294c79 Author: Jim Rees Date: Fri Jan 31 21:35:14 2003 +0000 openbsd-rc-20030131 Get rid of dkload subdir Get rid of "-chunksize 18 -stat 4800" Change "fs setcrypt crypt" to "fs setcrypt on" (old CMU syntax) commit 77e7f9c57c58c2ed64a1bd11def89969dfea692e Author: Jim Rees Date: Fri Jan 31 21:20:45 2003 +0000 fix-rx-mtu-params-20030131 Return subnet mask from rxi_FindIfnet for AFSOP_GETMASK. Put rxi_FindIfnet() in rx/rx_prototypes.h to avoid similar screwups in the future. commit 9dd6d3b2e878f4121928ce7275a41fd03cb16e1a Author: Nickolai Zeldovich Date: Thu Jan 30 22:04:06 2003 +0000 libuafs-cvsignore-20030130 add JUAFS to .cvsignore commit 4fa78ca16848ba10814cee55d0ab419e38770f38 Author: Nickolai Zeldovich Date: Thu Jan 30 22:03:31 2003 +0000 openbsd-32-glue-20030130 Add glue to support OpenBSD 3.2. commit 74737891ae205f95d84be185ff84aff844dc4edd Author: Jim Rees Date: Thu Jan 30 21:43:54 2003 +0000 openbsd-20030130 Don't lock against myself in reclaim vnodeop. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Various stability fixes: Call vgone() instead of afs_FlushVCache() when freeing vcache Acquire AFS_GLOCK in VOP_INACTIVE Don't bother calling cache_purge() or uvm_vnp_uncache() in reclaim(); vclean() already does this Acquire xvcache lock in reclaim() commit 530c491c673154c5c935bd339c6d00850d454190 Author: Jim Rees Date: Thu Jan 30 14:59:00 2003 +0000 fix-netreceive-memleak-20030130 rx_knet fixes for Darwin and FreeBSD: netreceive: fix memory leak, check return code from soreceive netsend: remove unnecessary mbuf alloc, remove misleading comment all: general cleanup and minor bug fixes Thanks to emoy@apple.com for reporting this bug and testing the fix commit 0ee73ecbff418d253076923681174560030ef753 Author: Jim Rees Date: Tue Jan 28 23:19:26 2003 +0000 fix-rx-mtu-params-20030128 rxi_FindIfnet: return NULL on no match, instead of first interface on list use ifa_ifwithnet on XBSD (was only used on Darwin) remove dead code and unused args commit da3cb37d99fd984eca5ed3af780a89489b1ca118 Author: Jim Rees Date: Thu Jan 23 20:34:58 2003 +0000 openbsd-20030123 Mindless tweaking in search of a bug. commit 66d83d54701eeaa3772aadacd11bb891eb73019e Author: Jim Rees Date: Wed Jan 22 21:25:14 2003 +0000 openbsd-20030122 Fix vcache/vnode confusion. commit a6d9298d3d299cc2c776b22a2800b5c2044ea497 Author: Nickolai Zeldovich Date: Wed Jan 22 06:49:48 2003 +0000 rx-avoid-deadlock-in-attaching-call-20030122 Avoid a subtle cycle in the locking order hierarchy involving the rxi_ServerThreadSelectingCall flag, and instead rely on call->lock to make sure we don't attach the same call twice. Also some miscellaneous cleanup and code unification. commit 9370d218fd4eb911e4932757cdf1097e164ad456 Author: Jim Rees Date: Fri Jan 17 22:24:16 2003 +0000 fix-indentation-20030117 Fix indentation in a few places so I can read the code so I can track down a bug I probably introduced commit ea4f1a80d73f62d91f0375d75dec67d38bd86f24 Author: Rainer Toebbicke Date: Fri Jan 17 18:13:19 2003 +0000 rx-assign-thread-id-key-to-periodic-helpers-20030117 so each gets own holdbits commit 2e3678c8829761506b9179d3660448c9ae21942b Author: Daria Phoebe Brashear Date: Fri Jan 17 07:39:28 2003 +0000 viced-getclient-assert-logging-20030117 log some more info before asserting commit ec111ccc442439f68e9052721571ec8ef1754644 Author: Daria Phoebe Brashear Date: Fri Jan 17 06:46:39 2003 +0000 vol-clone-inc-failure-logging-20030117 log info in event of assert ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== same change for IH_DEC commit 12eb511d4516dc5c82dc565bf1ae634e479b09ed Author: Daria Phoebe Brashear Date: Fri Jan 17 06:21:37 2003 +0000 viced-improved-host-logging-20030117 to deal with condition reported by lha@stacken.kth.se commit 587304c2ba6f092c963dda8866cd273cf7a68d0e Author: Jeffrey Hutzelman Date: Fri Jan 17 06:11:13 2003 +0000 solaris-deal-with-gmake-stupidity-20030117 make gmake not try to link libafs.o and libafs.nonfs.o into another object commit 82d009d480c6b2a664264329f6940c1a519ea3df Author: Daria Phoebe Brashear Date: Fri Jan 17 05:39:20 2003 +0000 linux-ifdef-stupidity-cleanup-20030117 as pointed out by zacheiss@mit.edu commit 3fa43862aa17467795121eb21f191066ab399980 Author: Pavel Semerad Date: Fri Jan 17 01:30:05 2003 +0000 linux-lock64-fix-20030116 fix 64bit lock functions commit 3ddb9dd9b93942462511553e17679ec21919d195 Author: Daria Phoebe Brashear Date: Thu Jan 16 16:34:39 2003 +0000 aix51-param-update-20030116 get missed pinning define, cleanup ukernel portion of header commit 8ab7a909371f47ddb4f2adc8104b64dfc4c610bd Author: Kevin Coffman Date: Wed Jan 15 17:36:07 2003 +0000 pts-supergroups-20030114 thanks to nneul@umr.edu add configure switch and support code for groups in groups commit b5af9ebd62ae0ba1239720e2cd54d3e550cf4f0b Author: Kevin Coffman Date: Wed Jan 15 04:29:47 2003 +0000 volser-cache-more-ips-20030114 thanks to nneul@umr.edu for splitting these out this increases the size of the ip address cache for talking to vlserver commit 35e9be66e99fb5dcf603ded673f3fc191acaddc9 Author: Kevin Coffman Date: Wed Jan 15 04:28:24 2003 +0000 ubik-rename-defines-20030114 thanks to nneul@umr.edu for splitting these out this adds UBIK_ to defines instead of doing undef on potentially "global" defines commit 06c9fc12db7f59ef86e564f563b6fc2431bcc568 Author: Kevin Coffman Date: Wed Jan 15 04:27:16 2003 +0000 rxgen-enforce-grammar-20030114 thanks to nneul@umr.edu for splitting these out. enforce procedure being in a package in xg files commit 1e0696b5b3d93cb58bbd36f63849924cae6a9346 Author: Kevin Coffman Date: Wed Jan 15 04:22:27 2003 +0000 buserver-ubik-buffers-20030114 thanks to nneul@umr.edu for cleaning these up commit 14c5be99b682c3b7a81c36181ffb2bf3eb77e93a Author: Nickolai Zeldovich Date: Wed Jan 15 00:28:46 2003 +0000 callbacks-later-linked-list-fix-20030114 the linked list code was never updated for multiple passes when we started doing that. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== the linked list code was never updated for multiple passes when we started doing that. commit cff9ae0f1036782018c818ba7176ad16e9ae202c Author: Daria Phoebe Brashear Date: Wed Jan 15 00:21:08 2003 +0000 viced-alloc-hosts-held-and-locked-20030114 to avoid potential race as we chain in while allocating then try to lock after returning to h_GetHost_r commit c52ddf77faf55fc090214b3f947aa06165c05a2f Author: Daria Phoebe Brashear Date: Wed Jan 15 00:10:10 2003 +0000 viced-junk-unused-functions-20030114 more cleanup of fileserver commit eff534794e7f49166094fa9279bc4d51520d62a8 Author: Nickolai Zeldovich Date: Tue Jan 14 01:20:03 2003 +0000 Improved signal-thread support for the pthread fileserver, which avoids blocking signals in any thread, to appease Linux's thread signaling semantics. commit d36004ee10481ef143469ede4295a447193c542b Author: Nickolai Zeldovich Date: Tue Jan 14 01:06:36 2003 +0000 Fix the includes dependency, so that all of util/ isn't rebuilt every single time. commit 3ba961ca00f5d8ec2edd32e0b1e5dac1c9864ef9 Author: Nickolai Zeldovich Date: Tue Jan 14 01:05:11 2003 +0000 Wrap our assert() macro in do{..}while(0) to make it look just like a real function. Fix instances of use of this macro that lacked a trailing semicolon of their own. commit cfef9796e87e2038100b09342a68b525d06834f3 Author: Nickolai Zeldovich Date: Mon Jan 13 20:25:54 2003 +0000 Make the Rx deadtime a tunable variable, either with a kernel debugger of some sort, or sysctl on Linux. To follow later: Rx idle dead time, but this requires more in-depth changes to conn handling and such. commit 22360fcf88dbe26614586341dc8394b233968ad2 Author: Nickolai Zeldovich Date: Mon Jan 13 20:24:34 2003 +0000 Generalize the rx idle dead time support to include client connections, in addition to server connections. This will eventually be used by the AFS client to better time out non-replying servers. commit 6e823f2737e84a59eaf5bf77a7b4fdf053ec39b8 Author: Nathan Neulinger Date: Mon Jan 13 18:55:07 2003 +0000 makefiles-cflag-cleanup-20030113 Fix lib ordering for cmd/util, remove redundant libs commit a8e42dca5c93a42df68cdb84279335143aeb8c82 Author: Nathan Neulinger Date: Mon Jan 13 18:31:13 2003 +0000 makefile-dependancies-20030113 add more dependancies commit ab64672f2b2ea4bf2b7eccf1aab1b0fc1ad6fb5f Author: Nathan Neulinger Date: Sun Jan 12 02:02:48 2003 +0000 salvager-fast-restart-log-to-syslog-also-20030111 if -syslog, also log this to syslog commit 3534cf2c61bb6ceb4f64c1ede9314e0ad4cd7496 Author: Nathan Neulinger Date: Sun Jan 12 02:00:26 2003 +0000 gmake-j-support-20030111 update top makefile so gmake -j works commit 580af44321feb2df60aae0a9c79dc8f10a6139b3 Author: Nathan Neulinger Date: Sat Jan 11 07:33:52 2003 +0000 makefiles-cflag-cleanup-20030111 move cflags back to makefile.config, more cleanup, dup removal commit 2be60b7ee43cb3baa1709506d685c86ea643815e Author: Jeffrey Hutzelman Date: Sat Jan 11 07:31:08 2003 +0000 rxkad-be-openssl-keyschedule-safe-20030111 openssl has larger keyschedules than we do crypto api is all so unfortunate commit bd72450f8051f2191c91ea79d1f8b6330b3b2734 Author: Daria Phoebe Brashear Date: Sat Jan 11 07:26:35 2003 +0000 vol-package-avoid-race-on-invalidating-hashed-vnode-20030111 thanks to whichever of jhutz@cmu.edu or cg2v@andrew.cmu.edu (or both) noticed the race; also deal with wrap problem in VolumeCacheCheck that i noticed commit 92e76f7eb20ea548dfc2d688d9d6eeb6a58e2c18 Author: Sam Hartman Date: Sat Jan 11 07:22:14 2003 +0000 include-errno-dont-declare-it-20030111 include errno.h instead of extern int errno ourselves commit e1c86d76917ee5960de4a55f529f58e8c57dbcfb Author: Daria Phoebe Brashear Date: Fri Jan 10 20:16:42 2003 +0000 linux-placate-whiny-gcc-20020110 debian unstable gcc gets bitter and cries to mom over newlines in strings. commit 9624637cfe2c467023dc8e22aa0edc7633041d43 Author: Daria Phoebe Brashear Date: Fri Jan 10 09:34:38 2003 +0000 nfstrans-solaris-pre-7-support-20021210 make it work for 2.6 and earlier ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== actually for earlier than 8 commit b6f124d4cb855ba0841bf02acb602ffdb16ccb6d Author: Nathan Neulinger Date: Fri Jan 10 09:33:30 2003 +0000 remove-venus-lock-h-20020110 nothing uses it. junk it. commit 800b103f0aff041dd9d9bb5581f0f2188776582c Author: R. Lindsay Todd Date: Thu Jan 9 19:16:50 2003 +0000 fileserver-largefile-support-20020109 Fix compile problems for 64BIT_ENV with large files turned off commit 52126ee90c48a6590bb729f6a044cf889bfeceb5 Author: Daria Phoebe Brashear Date: Wed Jan 8 23:53:36 2003 +0000 solaris-nfstrans-compile-fix-20020108 osi_vfsops_nfs.o is compiled from osi_vfsops.c commit 29454d28d06594e97e53c5cf066ad0b0f472f58d Author: Jim Rees Date: Wed Jan 8 23:07:03 2003 +0000 openbsd-20030109 Add AFS_64BIT_ENV. Should have been there all along. commit c9c23097063b1cad47fe59ec632bcddb137c3963 Author: Jim Rees Date: Wed Jan 8 21:04:59 2003 +0000 openbsd-20030108 Allocate a real SYS_NAME_ID for OpenBSD commit 4624fd2206027a83ca3a27dd701f0ef4d3f01cef Author: Daria Phoebe Brashear Date: Wed Jan 8 05:52:11 2003 +0000 linux-redhat-81-beta-support-20020107 thanks to Sean McDermott for the errno.h fixes. the rest is my fault, the configure tests as well as the kernel changes commit b72c14c4cfdae85c469bcc1b88659e5bd6fb620c Author: Derek Atkins Date: Wed Jan 8 05:35:25 2003 +0000 linux-fast-netdown-20020107 notice the NETUNREACH quickly and mark a host down commit a038124edcd9def48a7ab82cb57b22ddd8fec123 Author: R. Lindsay Todd Date: Tue Jan 7 23:38:02 2003 +0000 fileserver-largefile-support-20020107 fileserver-side large file support commit 7875999a4b2d5fba9976c90e3de2ddae5e67f0b4 Author: Hartmut Reuter Date: Tue Jan 7 23:29:41 2003 +0000 linux-largefile-appending-fix-20020107 appending >2gb bug, pointed to hartmut by lindsay todd commit e0a78652dad47fd82e670ff1d64541df6a1d793a Author: Hartmut Reuter Date: Tue Jan 7 23:24:58 2003 +0000 aix51-64bit-exporter-20020107 loads, but doesn't yet work commit 436674ee07d3517afef59c2cb11bc97ef0294a2a Author: Hartmut Reuter Date: Tue Jan 7 23:14:08 2003 +0000 aix51-32bit-ioctl-glue-20020107 support both 64bit and 32bit ioctls on aix 5.1 commit 4b690db92f2098f332132996a11ff07322284802 Author: Chaskiel M Grundman Date: Tue Jan 7 23:03:35 2003 +0000 darwin-deal-with-unclean-pages-from-vm-20020107 based on report from lha@stacken.kth.se commit e461b558ba8c15ec9e40c1dd7cc799e933de23ed Author: Love Hörnquist-Åstrand Date: Tue Jan 7 22:44:03 2003 +0000 vsprocs-printf-cleanup-20020108 change defines slightly, eliminate bogus quota-setting warning when it's not really an error. commit d86a3e307ec8ef4d35d8a9b96f3a5db1fbc5cd86 Author: Nickolai Zeldovich Date: Sat Jan 4 05:20:55 2003 +0000 Create a special thread to receive signals in the pthread fileserver, in order to avoid deadlock (we have signal handlers that unsafely grab locks). commit d43d61cafbeacfd8e09e0db77eaaa5fdac59a350 Author: Nickolai Zeldovich Date: Sun Dec 29 15:46:11 2002 +0000 Make OpenAFS build on FreeBSD 4.7-RELEASE. commit 8092249d0d224be166fb05e78daa4bf4801a2890 Author: Nickolai Zeldovich Date: Sat Dec 28 05:17:08 2002 +0000 Avoid using afs_int64's, because this leads to gcc generating calls to libgcc functions on Linux (which we don't have in the kernel). Instead be slightly more clever to achieve the same result. commit 755686d45a142bb97220e4bbd372dfe7c1630c4b Author: Nickolai Zeldovich Date: Fri Dec 27 03:51:51 2002 +0000 Support memcache sizes larger than 2GB. commit b8dbb6e0c9aaa6091080be01ac5426c52356196b Author: Sam Hartman Date: Mon Dec 23 23:53:26 2002 +0000 Do v5/v4 principal name translation. commit d057f179506a94db0cc178e5df60977ee753f1f7 Author: James Peterson Date: Sun Dec 15 04:33:30 2002 +0000 Fix symlink support on Windows XP. commit 7c5798f3902f7329511f127d7f6c8922885da383 Author: Larry Greenfield Date: Tue Dec 10 22:55:08 2002 +0000 windows-wide-char-fix-20021210 include afxpriv.h so we get macros call GetSize() and not GetCount() commit ebc0ed79669c440e2b2ce6b231b716ee61fa65ed Author: Daria Phoebe Brashear Date: Tue Dec 10 19:53:38 2002 +0000 revert-bg-fcrypt-cleanup-20021030 unroll the rest of it commit 889da5053cb1b89ce25caec1bf9fa5a7dbb7830b Author: Mattias Amnefelt Date: Tue Dec 10 19:09:53 2002 +0000 use-afs-strchr-instead-of-strchr-20021210 make dux happy commit fd856437c88b3a4f3954db1bf06f20ad67e77b44 Author: Scott D. Williams Date: Tue Dec 10 16:39:47 2002 +0000 windows-loopback-adapter-support-20021126 try to bind to loopback on windows commit 69cb63ef545b4c8dc4e3b307b474ade4951d9691 Author: Daria Phoebe Brashear Date: Tue Dec 10 15:57:25 2002 +0000 bos-new-config-option-20021210 based on patch from nneul@umr.edu but including the switch commit ce013cabaddfedcb1e2921e3ad7e9889af13d158 Author: Nathan Neulinger Date: Tue Dec 10 15:52:16 2002 +0000 ukernel-no-afs-xosi-20021210 no afs_xosi lock in ukernel. probably should be a dummy one, but oh well commit 7e2fcac3c15811b1210d08f86b3d288c2d430a2c Author: Nathan Neulinger Date: Tue Dec 10 15:49:52 2002 +0000 pam-no-system-include-path-20021210 breaks modern gcc. also, wrong. commit 98e536b4cc6c7cb72e6caf48be58eec77e81d707 Author: Daria Phoebe Brashear Date: Tue Dec 10 15:32:23 2002 +0000 revert-rxkad-new-fcrypt-20021028 until we know why it's brokenn commit f7f1c50256b4073f3f8b762468bda450ad288267 Author: Joseph V Moss Date: Tue Dec 10 04:22:14 2002 +0000 linux-ia64-updates-20021209 deal with *LK64 not defined deal with ia64 sys_call_table commit 7a449be5fc0edc1ba4b86927856a44b865587c8b Author: Garry Zacheiss Date: Mon Dec 9 23:12:44 2002 +0000 Update NEWS file with user visible changes and other noteworthy things about OpenAFS 1.2.8. commit 79fba7ba3297f9b3121e8e83935048f70f7f040a Author: Jim Rees Date: Thu Dec 5 16:17:26 2002 +0000 openbsd-20021205 Change syscall from 210 to 208, by popular demand commit 1bd76f6fe56f231d5fbc271cc7768c519058890e Author: Nathan Neulinger Date: Thu Dec 5 00:43:46 2002 +0000 deal-with-non-modversioned-non-exported-sys-call-table-20021204 test was incorrect commit c9f2a72c911bbc44ad2d6c421282f8d7e4a5ab5e Author: Daria Phoebe Brashear Date: Wed Dec 4 16:52:53 2002 +0000 fssync-interface-change-to-deal-with-callback-delays-20021204 move callback breaking into a separate thread ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== the rest of it. somehow the original version of this was lost. ==================== the rest of it. somehow the original version of this was lost. ==================== the rest of it. somehow the original version of this was lost. commit 208fab61f3f0ffd8311989227b8f7ed25e240e1c Author: Jim Rees Date: Wed Dec 4 14:53:47 2002 +0000 ignore-files-20021204 Ignore src/libuafs/Makefile.common commit 04f88387f9b72465e5778a324e94191583acbd06 Author: Jim Rees Date: Tue Dec 3 23:34:31 2002 +0000 openbsd-20021203 OpenBSD: Don't include systm.h #define iodone for 3.2 add rc file commit bb66c6098b0d20799a1ede5614b655f5f583af14 Author: Jim Rees Date: Tue Dec 3 17:44:14 2002 +0000 remove-prototypes-20021203 Remove prototypes from viced_prototypes.h. commit 484d4b8588f99a849e717c4fabddefd145c55eb9 Author: Daria Phoebe Brashear Date: Tue Dec 3 02:03:42 2002 +0000 viced-prototypes-inclusion-20021202 include prototypes header file commit 48b41ef5bc799205b6fa524ab8517d8adeabf8a8 Author: Jim Rees Date: Mon Dec 2 21:22:20 2002 +0000 openbsd-20021202 Make a symlink for libafs/lib. Needed for libkern.h. commit 63b85f21f53bffd760b7b0ff73b52f7025282592 Author: Jim Rees Date: Mon Dec 2 13:39:46 2002 +0000 fix-includes-20021202 Fix includes so the tree will build again commit f5ff298ec5dcc3607621321e5785374bbed591fc Author: James Peterson Date: Wed Nov 27 14:37:13 2002 +0000 windows-rename-warning-20021126 Currently AFS doesn't handle Explorer operations 'rename' and 'move' correctly. Normal operation of 'rename' and 'move' is to warn the operator when the destination file name already exist. commit ed4cd74d47fc2253539aef64c95c1cb9ebab97cc Author: Scott D. Williams Date: Wed Nov 27 03:36:42 2002 +0000 windows-loopback-adapter-support-20021126 try to bind to loopback on windows commit fffba45737f37a0944491928352369e91547ff07 Author: James Peterson Date: Wed Nov 27 03:30:16 2002 +0000 windows-rename-20021126 fix rename on windows client commit 12867ce0b64abb2095d8911b7bac1cf6e4460290 Author: Andrei Keis Date: Wed Nov 27 03:22:38 2002 +0000 windows-updates-20021104 windows timestamp update ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== build updates commit 0dd158bb6f09089928cfa80dbc2e1e13f12fda98 Author: Scott D. Williams Date: Wed Nov 27 03:18:31 2002 +0000 windows-fake-cml-info-20021126 fake up cml info for windows commit 2ab5a578cf5ff61ef470fade98684e4f4cf6a9df Author: Daria Phoebe Brashear Date: Wed Nov 27 00:00:07 2002 +0000 disable-new-afs-thread-model-in-old-kernels-20021126 don't use new kernel thread model for 2.4.7-10 commit e45d9bf430e00b2a1ca1789695fb23a459191f0e Author: Daria Phoebe Brashear Date: Tue Nov 26 23:39:52 2002 +0000 hpux-readme-and-comments-on-header-20021126 Thanks to Carl Davidson for making it happen. commit eb275d9b1f24794f709b36741c6857392d415900 Author: Jim Rees Date: Mon Nov 25 23:22:07 2002 +0000 cvsignore-20021125 add a few more files to .cvsignore commit 3b95323f9f5b27857becf17b0684995294241627 Author: Daria Phoebe Brashear Date: Sat Nov 23 01:51:43 2002 +0000 viced-make-send-buffersize-tunable-20021122 idea from chas williams. arguably should be made larger than 16k also. commit 4e52d08bea672add860866986f200ce2f99fd9a9 Author: Daria Phoebe Brashear Date: Sat Nov 23 01:45:05 2002 +0000 afs-xosi-prototype-20021122 add missing lock prototype. create header as needed. commit a82075db9eae971aa3685a280fcc9fd2ddb1076f Author: Daria Phoebe Brashear Date: Sat Nov 23 01:44:28 2002 +0000 cmdebug-export-more-locks-20021122 we missed some locks, notably afs_xosi, afs_xsrvAddr. show them. commit 96253fdd414fa2152e32dd9f95c8d141a57adfd5 Author: Daria Phoebe Brashear Date: Sat Nov 23 01:26:56 2002 +0000 update-README-with-current-systems-20021122 note that logging ufs on solaris can be bad commit 8b141efe96d0080b90a1331b080e9250771aff17 Author: Daria Phoebe Brashear Date: Fri Nov 22 20:07:27 2002 +0000 cachemgr-warn-solaris-users-of-dangers-of-logging-20021122 with feedback from others. commit d871033be74049e92d0034505d52ab0b4ee99a84 Author: Jim Rees Date: Wed Nov 20 23:00:33 2002 +0000 openbsd-20021120 OpenBSD: Hold volume info file vnode until shutdown Pass proc struct * to HandleFlock Get va_atime.tv_nsec right in getattr commit 27005896103e250d045b005edc5a17cbec09131b Author: Kris Van Hees Date: Wed Nov 20 15:26:18 2002 +0000 linux-flock-downmap-64-ops-20021120 downmap F_*LK64 to F_*LK if they're different. we have no large files for now. commit f8d781408717fbf65837fc69d4b4edda2349df4f Author: Garry Zacheiss Date: Wed Nov 20 03:13:23 2002 +0000 Make this work with Linux 2.2 kernels again. In particular, - Use the DCOUNT() macro from afs.h instead of atomic_read, because the d_count member of a struct dentry is an int in the 2.2 series, not an atomic_t. - Use list_del() + INIT_LIST_HEAD() on 2.2, which doesn't have list_del_init(). - BUG() only exists on 2.4 kernels. Just don't use it on 2.2. commit 6af0e344af39d15c8816b2acd86b785f991898b5 Author: Nickolai Zeldovich Date: Wed Nov 20 01:58:52 2002 +0000 Fix a memory leak in the dynroot directory creation process and factor out common code to compute directory size. commit 38136f03cf9043ec98d83653f4fddf5a02e48a2a Author: Jim Rees Date: Tue Nov 19 18:28:01 2002 +0000 openbsd-20021119 Implement AFS_GLOCK() Other minor cleanups commit 843f9f4aefa73aac587501b6ebc5a91dc0060530 Author: Daria Phoebe Brashear Date: Sat Nov 16 03:12:30 2002 +0000 acinclude-check-sizeof-long-20021115 we do this the autoconf 2.13 way. it's deliberate. commit be4f627b1c119194a20abea21e0abbe571c532ef Author: Jim Rees Date: Fri Nov 15 17:19:40 2002 +0000 openbsd-20021115 Fix yesterday's damage: Put afs_vnop_fid.o back in the nonfs module Put back VN_HOLD for Darwin in VNOPS/afs_vnop_remove.c (from kolya) More prototypes Re-organize OBSD/osi_machdep.h commit fb3ca247296a14eb6ae0497f7ac4efe5e26d204b Author: Chaskiel M Grundman Date: Tue Dec 3 02:00:24 2002 +0000 REVERT-volserver-dont-deal-poorly-with-fssync-blockage-20021016 not ready yet, needs work commit 21e056922d695c3fb49b48afc6e68391c764b16b Author: Love Hörnquist-Åstrand Date: Fri Nov 15 05:02:33 2002 +0000 rxkad5-dont-allow-dot-in-aname-20021114 otherwise we need to deal with the fact that we're using . as a separator commit 8bdfec7eb57b37995f3c1476c7ba7f1b6b261827 Author: Daria Phoebe Brashear Date: Fri Nov 15 03:59:59 2002 +0000 linux-params-define-local-apic-to-one-20021114 based on suggestion from seth vidal commit 4caeeb438887b94d70e23ed4bc7317d23b48edee Author: Jim Rees Date: Thu Nov 14 23:53:36 2002 +0000 openbsd-20021114 OpenBSD: Fix more vnode refcount screwups Implement AFS_KALLOC, AFS_KFREE and eliminate #ifdefs in afs/afs_osi.c More prototypes Move a bunch of stuff from param.h to osi_machdep.h Don't bind afs_vnop_fid.o in with nonfs module commit 1e3dd7ad0ec21bce6fa20c5cbce97f984fdd51ee Author: Jim Rees Date: Wed Nov 13 16:44:04 2002 +0000 use-VTOAFS-in-HandlePioctl-20021113 Use VTOAFS in afs_HandlePioctl() instead of passing in the wrong type. Needed for OpenBSD, which doesn't just cast vnode to vcache, and possibly others in the future. commit 3a7b3ac5ef6b1f478b756c7cb141b2b383c67992 Author: Jim Rees Date: Wed Nov 13 16:25:55 2002 +0000 DRead-check-file-size-20021113 Restore the file size check in DRead(), but do it right this time. commit 822d725f808d26b177464ef09de7d076e5c7fa36 Author: Jim Rees Date: Tue Nov 12 23:57:37 2002 +0000 openbsd-20021112 Remove size test in afs_buffer.c:DRead(). Cleanups and prototypes. OpenBSD client works now, at least readonly. commit da4ee765f9a2b17169c7ebed474cf9e83e06907d Author: Garry Zacheiss Date: Tue Nov 12 22:52:12 2002 +0000 Recognize MacOS X 10.2.2 as ppc_darwin_60. It's compatible. commit 735afe1a6140bd99bb9040796175c4a4e8c1d5dd Author: Chaskiel M Grundman Date: Tue Nov 12 21:17:21 2002 +0000 Handle Linux kernels that don't export sys_call_table. commit 82523baf9f76eca38fc4856f52bc7cdabddf14b3 Author: Nickolai Zeldovich Date: Tue Nov 12 20:09:25 2002 +0000 Clean up code in rxi_FindConnection. commit d3c31d00619b968ec50d072499d6df08ba5de503 Author: Daria Phoebe Brashear Date: Tue Nov 12 17:02:06 2002 +0000 nfs-translator-nfsv2-fixup-20021112 rewrite so we treat the ptr args as such commit 37b4195d603630498664fa0975ea5d5c82f9aa4f Author: Jim Rees Date: Mon Nov 11 21:23:15 2002 +0000 dtest-20021111 Fix dtest. Does anyone ever use this? commit b67317fa07fa4c1df6818d623c6dec48418bb6ba Author: Daria Phoebe Brashear Date: Mon Nov 11 00:53:46 2002 +0000 nfs-translator-fix-lookup-20021110 add fstrace statement, remove bogus & commit d2ec7c34b983d4eb246f30a51eb3e54353a99565 Author: Jim Rees Date: Fri Nov 8 21:59:23 2002 +0000 openbsd-20021108 More OpenBSD merge. Fix refcount screwups in afs_GetVCache and friends. "ls -ld /afs" works now. commit 556273f88cab8fae78f6a6918edde99f11656f26 Author: Nickolai Zeldovich Date: Thu Nov 7 23:10:43 2002 +0000 Miscellaneous cleanup. commit 1b3f04c26e27fb59a22aaa995b49f58b834e773a Author: Jim Rees Date: Thu Nov 7 22:55:27 2002 +0000 openbsd-20021107 fix afs_unmount make osi_NetReceive sleep at shutdown so it won't loop forever commit 63c5438e4864c80d8809ddd326ce09ccb80ee55f Author: Douglas Engert Date: Wed Nov 6 20:32:33 2002 +0000 hpux-20021106 Minor fixes for HPUX110. commit 6bb19413a9df73e08eeb2f20e433cbd3fdc95cf5 Author: Jim Rees Date: Tue Nov 5 22:37:53 2002 +0000 openbsd-20021105 don't panic in osi_NetReceive if soreceive fails don't release root vnode in afs_root (temporary until I track down the refcount screwup) commit 54495a713bfea995556f9e1d6de5555fda458034 Author: Jim Rees Date: Mon Nov 4 23:35:37 2002 +0000 openbsd-20021104 implement afs_root() commit 5c7482f2fcf174fe61589dedae1d1bf4ea0bff31 Author: Andrei Keis Date: Mon Nov 4 20:42:02 2002 +0000 winnt-make-mountingother-than-as-afs-work-20021104 make mounting other than as /afs work correctly with respect to absolute symlinks commit 3a7d53e8bd1bb4ed2af221b823f25f58e4dffbf1 Author: Daria Phoebe Brashear Date: Mon Nov 4 20:15:38 2002 +0000 vputvnode-print-error-number-on-write-failure-20021104 make log message include error when taking volume offline commit 038d4a0e8e0520bf8c29793d810f0c0a6e40e419 Author: Nickolai Zeldovich Date: Mon Nov 4 08:31:47 2002 +0000 Under Solaris, only clean up the open count in VOP_INACTIVE when the vcache is mvstat 0 (necessary because executables don't get VOP_CLOSE'd). Volume roots (mvstat 2) need to keep their open counts, because under fakestat, the mountpoint above it is still considered open by the kernel. commit 048e35c8290894387379a27616ef8fbae45568fb Author: Daria Phoebe Brashear Date: Sat Nov 2 17:25:20 2002 +0000 shlibafsauthent-extra-functions-20021102 export more on solaris commit 9dbddd1d4c3455080b78848c0fe59e986501c60d Author: Daria Phoebe Brashear Date: Thu Oct 31 20:12:59 2002 +0000 linux-what-socketcall-20021031 we're not using it, so let's not use commit da3dad673043bdf35b58dc303f3ab324b0d0d828 Author: Daria Phoebe Brashear Date: Thu Oct 31 00:19:55 2002 +0000 bg-fcrypt-cleanup-20021030 make the libafsrpc libraries work with new fcrypt ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== readd missing statistics make cm and ukernel compile with new stuff ==================== readd missing statistics make cm and ukernel compile with new stuff ==================== make it work with ukernel macros commit 58c34e103c2772ff3791dcca93e0b75e66d4b189 Author: Jim Rees Date: Wed Oct 30 22:56:58 2002 +0000 openbsd-20021030 More small OpenBSD fixes. Now the module loads, afsd starts, and /afs gets mounted. commit 19f082ad8c88265386239544b2011a77d6873421 Author: Daria Phoebe Brashear Date: Wed Oct 30 22:27:18 2002 +0000 rx-junk-writevinit-20021030 we don't use it, so it's gone commit f349e5b3fa0206cd6269df256911a73f52ff4a0b Author: Nickolai Zeldovich Date: Wed Oct 30 09:10:16 2002 +0000 Allocate memory for the interface addr arrays dynamically to avoid potential overruns. commit dfaf556aeafcd25ef2374d835cd3925042107e95 Author: Daria Phoebe Brashear Date: Wed Oct 30 08:40:38 2002 +0000 viced-cleanup-20021030 it all compiles nicely ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== a little more cleanup ==================== a little more cleanup ==================== a little more cleanup ==================== a little more cleanup commit fac07401327243c7c8ab4d99cbdcdb53b0520763 Author: Daria Phoebe Brashear Date: Wed Oct 30 07:06:46 2002 +0000 afsfileprocs-more-cleanup-20021030 finish ansification take some functions internal reorganize to avoid need for some prototypes remove said prototypes strip out some unused code commit 76b9b951749ae333d56a3b66dd09f01e23e42903 Author: Daria Phoebe Brashear Date: Wed Oct 30 07:03:05 2002 +0000 lhash-includes-cleanup-20021027 make stddef be included when building ukernel so NULL is defined cleanup redundancy commit e1f2501c4f6741300ae61b3ba8bf9645f38e446c Author: Daria Phoebe Brashear Date: Wed Oct 30 00:12:15 2002 +0000 viced-afsfileprocs-partial-protoizing-20021029 need to finish protoizing and create useful header commit 511e067fd2e1bb2f4f88fc4f13fbded44e8b92b2 Author: Daria Phoebe Brashear Date: Tue Oct 29 23:03:13 2002 +0000 fileserver-host-interface-cleanup-20021029 get rid of HPCS macros from person who was confused get rid of unused functions in host.c convert to ansi func decls commit fac48b50c791364ab2da8a1fdbda0ef00853c11a Author: Nickolai Zeldovich Date: Tue Oct 29 21:32:23 2002 +0000 Mention the cross-cell fakestat feature in NEWS; I had meant to check this in with the original delta, but missed this file since it was above src/. commit 190bc027de26e4193f5c6e424f9eaa7e66fab8ff Author: Nathan Neulinger Date: Tue Oct 29 00:06:41 2002 +0000 fileserver-readonly-support-20021028 so a fileserver can deny writes commit ea57d1062c8f48a4217b220a169a1072488ff953 Author: Love Hörnquist-Åstrand Date: Tue Oct 29 00:05:06 2002 +0000 rxkad-new-fcrypt-20021028 rxkad fcrypt from bg@pdc.kth.se. we should also add autoconf test for what to use for EFF_NTOHL commit 7da7434842cdaab7efb482023774a378cedd42ae Author: Love Hörnquist-Åstrand Date: Tue Oct 29 00:00:28 2002 +0000 lwp-take-insque-internal-20021028 make insque/remque internal commit d67e1550e47c3366384f278b8cf2f7dd255fa685 Author: Simon Spero Date: Mon Oct 28 23:56:40 2002 +0000 darwin-restore-terminal-after-read-password-20021028 turn echo back on commit 05a3224474c3cb7552a8ce4b2d7524c631520690 Author: Daria Phoebe Brashear Date: Mon Oct 28 22:51:34 2002 +0000 rxkad-krb5-windows-fix-20021028 based on report from leg@andrew.cmu.edu commit c9139f0c54e6e082ce4e54ed5359581dd08bab72 Author: Jim Rees Date: Mon Oct 28 21:28:25 2002 +0000 openbsd-20021028 Add OBSD subdirs to afs and rx some other minor tweaks commit fdeaffdd916226d3110c2461935553cbadf65c0e Author: Love Hörnquist-Åstrand Date: Mon Oct 28 02:43:56 2002 +0000 acinclude-updates-20021027 so AC_DEFINE() specifies 3 arguments for everything defined commit 1f8e892794c987ca2fc629d5f0f0b709cb3205d5 Author: Daria Phoebe Brashear Date: Mon Oct 28 02:16:08 2002 +0000 ukernel-fix-osi-settime-20021027 make this match the prototype commit ce34c263e683bc27ad64c4d26f5132afdba13dff Author: Love Hörnquist-Åstrand Date: Mon Oct 28 01:18:38 2002 +0000 rxkad-krb5-20021027 Added support to rxkad for servers accepting Kerberos V5 tickets and truncated "proposal 2b" tickets. When used with an appropriate aklog or krb524d (such as shipped with Heimdal and MIT Kerberos), this allows the use of Kerberos V5 tickets (with DES session keys) to authenticate connections to OpenAFS servers. commit 08ed0bffcba0f62db9b79d5cc320d43572afe8cc Author: Nickolai Zeldovich Date: Sun Oct 27 23:21:41 2002 +0000 As reported/suggested by Derek Atkins, use AFSTOI() instead of AFSTOV() in vcache2fakeinode(), since we really do want an inode. commit 52381274cd3bce2719bb6267ace61359453802cc Author: Nathan Neulinger Date: Sat Oct 26 16:41:14 2002 +0000 vos-dump-clone-and-vos-copy-support-20021026 support for cloning before a dump, and for vos copy commit c7f84a5867a5c1e6611dc8ea6e929031553a7818 Author: Sam Hartman Date: Sat Oct 26 16:40:07 2002 +0000 uss-fix-bogus-grammar-20021026 newer bison actually wants you to write correct grammars apparently. commit 5f051a666b525abb2b3497a7966aa9ece8884aab Author: Sam Hartman Date: Sat Oct 26 16:39:08 2002 +0000 getchar-returns-int-20021026 don't assume it returns char commit eb66163ac0b7104d28fbc99ccc0116baf64f1629 Author: Daria Phoebe Brashear Date: Tue Oct 22 09:00:00 2002 +0000 solaris-nfs-translator-expand-macros-and-cleanup-20021011 make the acl stuff work too commit 70872e9d3cba906a28fa4cf78a080819c822f5f6 Author: Nickolai Zeldovich Date: Sun Oct 20 08:35:21 2002 +0000 Slight change to the semantics of the serial number field in the ack packet, which results in more reliable RTT computation. commit 12d6de6dd05637e97d419418a269267cc4cc6c2a Author: Jim Rees Date: Fri Oct 18 18:09:27 2002 +0000 openbsd-20021018 OpenBSD kernel module builds now. commit ec5df8df8cfc0e69856031ffcb07ae6d58d4a203 Author: Satish Kumar Date: Fri Oct 18 16:59:00 2002 +0000 fix-quota-calcs-with-unsigned-20021018 Change some ints to unsigned for correct quota calculation. From Gregory via Satish Kumar. commit 840b977dba0efceaf1937d24cb46ef75337c8faf Author: Jim Rees Date: Fri Oct 18 00:04:56 2002 +0000 openbsd-fix-20021017 Fix another merge screwup on my part. Sorry. commit 141c26f78ece33d87c5b4da750c902dc7f759839 Author: Chaskiel M Grundman Date: Thu Oct 17 02:50:40 2002 +0000 volserver-dont-deal-poorly-with-fssync-blockage-20021016 The attached patch attempts to deal with the issue that the volserver blocks if the fileserver's fssync interface isn't responsive by doing a select (IOMGR_Select) before trying to read the server's response. commit f0b8a1c61d7e25f7f55f1f83485778c069a2fcdc Author: Jim Rees Date: Wed Oct 16 20:57:27 2002 +0000 restore-osi-msg-20021016 Put back osi_Msg. It got lost in the merge. Hey, if I never made mistakes, I'd never get anything done. commit 1a8c712ae1bd0a563bc63670f734ef981180ae29 Author: Jim Rees Date: Wed Oct 16 20:42:38 2002 +0000 rx_securityClass-20021016 Back out my previous change, and instead declare struct rx_securityClass here. Thanks to Derek Atkins for this excellent suggestion. commit b68affbc6cfa906dd931be04d814c284b5110319 Author: Jim Rees Date: Wed Oct 16 18:48:47 2002 +0000 openbsd-20021016 Fix includes for mbuf.h, if.h auth/cellconfig.p.h: Use (void *) for 2d arg to afsconf_ClientAuth(), since we have no def for struct rx_securityClass at this point ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== More OpenBSD merge prototypes cleanup commit 782109a29bd751a7681e3a31aeaa077e880208c3 Author: Nathan Neulinger Date: Wed Oct 16 04:58:13 2002 +0000 no-copy-libafs-builds-20021015 make things so file copies from src/libafs don't happen; change how libafs_tree is done commit 695bf4bd6f123a33e433c41d0f95db1e2c83e568 Author: Daria Phoebe Brashear Date: Wed Oct 16 04:03:51 2002 +0000 solaris-build-translator-kernel-module-20021015 make libafs.o get built on solaris commit 48c005a4670a8e9ea9079bfc9aeb189ccbf14a2a Author: Daria Phoebe Brashear Date: Wed Oct 16 04:00:48 2002 +0000 solaris-nfs-translator-expand-macros-and-cleanup-20021011 trying to get this to work ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== make it not go down in flames ==================== fix nfsv2 also ==================== looks like we need to do this when we create something new also ==================== cast correctly. ==================== and add in some fstrace crap which afs_trace.et already had commit 69edd3e06b5606eecdb5ad08a88870e50376d6b3 Author: Jim Rees Date: Mon Oct 14 23:13:45 2002 +0000 fix-dir-voids-20021014 Revert some voids back to char. I was too ambitious. Thanks to kolya for pointing this out. commit 393fc0d046334b85e638f6db88bc0469367eb928 Author: Jim Rees Date: Mon Oct 14 16:48:40 2002 +0000 openbsd-20021014 More OpenBSD merge. Most of this is just cleanup, not OpenBSD specific. commit a64d9d729db65d1d0f81fb6352399763c38580c8 Author: Jim Rees Date: Mon Oct 14 15:41:16 2002 +0000 dir-char-to-void-20021014 Change a bunch of (char *) to (void *) commit 7aebf2b2ea68668482edaefedd4efa5cafa61edd Author: Nickolai Zeldovich Date: Sun Oct 13 10:01:02 2002 +0000 If the user calls rx_EndCall and we still have an outstanding delayack, force-send it now, to be nice to the server (otherwise the server will keep retransmitting to us for a while). commit 73579f285f5e3d5a4df5ec9e14e1aac6aecf8477 Author: Jim Rees Date: Fri Oct 11 22:43:14 2002 +0000 openbsd-20021011 More OpenBSD merge. commit fa0d85ce03b05fba81f880abac4197fe8bc75776 Author: Nickolai Zeldovich Date: Fri Oct 11 01:50:40 2002 +0000 Undo part of openbsd-20021010 which changes ReSortCells_cb, and have it return (void *) NULL instead, which is necessary to tell afs_TraverseCells to not stop the traversal. commit 3ce7e41622175cf73ef129426880e77969efe7f3 Author: Jim Rees Date: Thu Oct 10 23:45:14 2002 +0000 openbsd-20021010 More OpenBSD merge. commit 9031c3b7d33ce5e413fcfc8dadd0d01c37c4c062 Author: Jim Rees Date: Thu Oct 10 22:22:45 2002 +0000 netsend-proto-and-obsd-includes-20021010 Put in a prototype for osi_NetSend(), and try to fix all versions of rx_knet.c. Sorry if I broke yours. Fix includes for OpenBSD. commit 2d182a7fc1aa17bce1f63164944995663f567c12 Author: Nickolai Zeldovich Date: Wed Oct 9 23:36:54 2002 +0000 A better way to do cross-cell-only fakestat, which should also avoid problems with Linux's attribute validation. commit 0c4ee80a72d058265b291f82c819bc3631ed1813 Author: Jim Rees Date: Wed Oct 9 19:25:54 2002 +0000 openbsd-continues-20021009 More OpenBSD merge. Please let me know if this breaks other architectures. commit 41c2b9aa17ae5c19fb2acf4c200c57630fd08490 Author: Jim Rees Date: Wed Oct 9 16:57:18 2002 +0000 no-stddef-in-kernel-20021009 Don't include stddef.h in the kernel. Untested except on OpenBSD, but I warned the mailing list. Let me know if this breaks your favorite sysname. commit 5714e09b3416bedd3833357b356063eeafb83029 Author: Daria Phoebe Brashear Date: Wed Oct 9 16:54:48 2002 +0000 fileserver-cbs-raise-limit-by-killing-goofy-u-short-indexing-20021008 i probably missed something here. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== i did miss something. also, change FileEntry padding and axe useless comment ==================== try, try again ==================== once more with feeling ==================== make typing of the indexes into timeout[] match ==================== make struct CallBack a multiple of 32 bit so the weird math works again commit 56e095daea32028fa58a043370e9b7fd9120dd87 Author: Hartmut Reuter Date: Wed Oct 9 02:02:47 2002 +0000 aix51-support-20021008 aix 5.1 support, not yet ready for prime-time commit 32c2d6f846a8596273796893c8c16be36d564304 Author: Daria Phoebe Brashear Date: Wed Oct 9 01:54:48 2002 +0000 osi-wakeup-return-zero-on-doing-a-wakeup-20021008 based on patch submitted by reuter@rzg.mpg.de, but i actually ported it to all platforms. commit b0e51e2993d3775ac5ebf26c2b851b2e316aea11 Author: Jim Rees Date: Tue Oct 8 18:48:42 2002 +0000 curcred-20021008 Add osi_curcred(). Re-format a bit for readability. commit 3266003c5dd98c9698498322d33320c715953832 Author: Hartmut Reuter Date: Tue Oct 8 05:15:48 2002 +0000 aix51-support-20020926 aix 5.1 support, not yet ready for prime-time commit 4c9b36395b1ff4aea48c4f07ade6fdd3e5c59658 Author: Nickolai Zeldovich Date: Mon Oct 7 10:29:45 2002 +0000 Make cmdebug -addrs work on platforms other than Solaris. commit f0c7fe9ee1d07d50fe9f53598f36d42e365f0d89 Author: Nickolai Zeldovich Date: Mon Oct 7 00:00:14 2002 +0000 Change the meaning of the -fakestat switch to only enable fakestat for cross-cell mountpoints. The -fakestat-all switch can now be used to enable fakestat for all mountpoints (old behavior). commit 6e3fd8294f46ba7072b47dfaf6a50fe1ce60ea61 Author: Nickolai Zeldovich Date: Sun Oct 6 23:58:32 2002 +0000 Add JUAFS to the list of things that make clean should remove. commit cee427e1587ee09bbaf38e54f30c73931a4f2a77 Author: Jim Rees Date: Thu Oct 3 22:44:46 2002 +0000 openbsd31-cm-20021003 OpenBSD 3.1 changes for the cache manager eliminate some unused variables commit c6da165252c61a2328837d13c4463026d47a45c0 Author: Daria Phoebe Brashear Date: Thu Oct 3 22:24:08 2002 +0000 fileserver-may-not-have-valid-diskDataHandle-if-volume-was-offlined-20021003 also avoid potential null deref in ih_open but with the ReadVolumeHeader patch we should never get there. thanks to Kris Van Hees for discovering this commit a93b71cb03c8c5aa9a7a11d5e02340baa2753443 Author: Nickolai Zeldovich Date: Thu Oct 3 01:42:43 2002 +0000 Clean up the #ifdefs around getuerror calls: change KERNEL_HAVE_SETUERROR to KERNEL_HAVE_UERROR, and use that for both setuerror and getuerror. commit 2d2660f2764733fb3196342d19a19fd24009295b Author: Jim Rees Date: Wed Oct 2 22:48:49 2002 +0000 unused-vars-20021002 remove (some) unused variables fix a few compiler warnings this is part of OpenBSD merge commit 1529f89e665a82d4a1d5256dd5a269d3a5bb0cb7 Author: Jim Rees Date: Wed Oct 2 22:45:19 2002 +0000 openbsd-mbuf-before-in-20021002 include mbuf.h before in.h let me know if this breaks anything commit 8bdd971cb7072541b144052ee767bd4e4b43b3c2 Author: Jim Rees Date: Wed Oct 2 16:58:18 2002 +0000 openbsd31-cm-20021002 OpenBSD 3.1 changes for the cache manager eliminate some unused variables commit 74ad450bc202101b99923e18828073ee7208320c Author: Nickolai Zeldovich Date: Wed Oct 2 01:48:51 2002 +0000 Return EINVAL when the user tries to create a FIFO under afs, instead of silently creating a regular file. commit f0affe7c25df43ae5469a3cc0f1bebdfb7f46856 Author: Nathan Neulinger Date: Tue Oct 1 19:09:40 2002 +0000 linux-dcache-flushing-experimental-20020819 fix missed ref commit b057c86118ffd67149f76ceec36dc5e49dc79417 Author: Mattias Amnefelt Date: Tue Oct 1 10:51:09 2002 +0000 dux51-support-20021001 this was missed. oops. commit 06690bd19c648e407f045f583cdf217cd3c822c5 Author: Love Hörnquist-Åstrand Date: Tue Oct 1 10:50:26 2002 +0000 configure-check-for-timegm-20021001 check for timegm. lha needs it for rxkad but it's "safe" commit d04a30d76b7b55aef7ec7463a6b0ba3cbc06b08a Author: Daria Phoebe Brashear Date: Tue Oct 1 04:32:22 2002 +0000 solaris-dont-truncate-inode-number-20020930 if ino_t is a larger type than afs_int32, we lose bits, then treat it as if nothing happened... commit aab137dc718178a7648b2360a131861ccbba1121 Author: Nathan Neulinger Date: Mon Sep 30 20:36:44 2002 +0000 hpux-rx-cleanup-20020930 make the hpux client work commit f2da23bb02ed285cf89e3e7be08318085ee7841c Author: Nathan Neulinger Date: Mon Sep 30 20:29:10 2002 +0000 lock-header-cleanup-20020930 make sure we include what we mean to commit 0b8ff6366f0bb052afeb25b2bc5f7689c0dbc819 Author: Daria Phoebe Brashear Date: Mon Sep 30 20:25:29 2002 +0000 completion-deal-with-redhat-patch-20020930 just include the header directly if we caN commit a55923e8f3e21a0c810cc41ccca92d95ea11b15e Author: Nathan Neulinger Date: Mon Sep 30 20:23:36 2002 +0000 hpux-bin-is-a-symlink-so-install-elsewhere-20020930 update install commit 729ec68bf6c2d51d8738524149dba613fce9094f Author: Nathan Neulinger Date: Mon Sep 30 20:21:40 2002 +0000 handle-cow-differently-if-volume-wont-be-salvaged-20020930 as edited by shadow@dementia.org commit ab0716fb86698506f0cfaf9b7c1e751e5a68bc8d Author: Daria Phoebe Brashear Date: Mon Sep 30 19:38:11 2002 +0000 wakeup-only-returns-int-on-aix-20020930 reported by several people. commit 41ea527e539e94654c184b1ad03a6ba95eb40b9b Author: Daria Phoebe Brashear Date: Fri Sep 27 01:51:47 2002 +0000 hpux-updated-rx-kmutex-from-ibm-20020926 as provided by Srikanth Vishwanathan commit 30d558bfc576bcd9fa78451c0efc9f3c9678b710 Author: Nathan Neulinger Date: Fri Sep 27 00:42:32 2002 +0000 hpux-kmutex-cleanup-20020926 clean up missed and won't-compile stuff commit 7e631080a0ddba96859b6be54f4a70182b1c17e8 Author: Daria Phoebe Brashear Date: Thu Sep 26 20:48:30 2002 +0000 hpux-rx-kmutex-h-20020926 basically verbatim import from ibm afs, per laura stentz: Derrick, I have gotten approval to allow you to publish this header in OpenAFS. Enjoy! Laura commit ad0d7bdbc65daa99ee586c9f8875bb59c2c4d0b6 Author: Mattias Amnefelt Date: Thu Sep 26 08:13:06 2002 +0000 tru64-51-gets-a-sysname-20020926 the binaries from 5.0 don't work, so... commit a6216b35ea93e41dac5082441b984a7e1a7b1800 Author: Nathan Neulinger Date: Thu Sep 26 08:09:14 2002 +0000 xdr-build-ours-entirely-20020926 If we're doing our own xdr, we should be doing ALL of of own xdr, not piecemeal. This impacted on HP w/ duplicate symbols if -lnsl, and missing symbols if no -lnsl. commit fa79ecc4040633eb6b1f5498e7d083b2f94917d5 Author: Nathan Neulinger Date: Thu Sep 26 08:07:07 2002 +0000 shlib-linker-handle-objdir-builds-on-solaris-20020926 at least he notices when i screw this up commit 3cc1ea60a32f5008873450da36f1ead5bd8c07b5 Author: Hartmut Reuter Date: Thu Sep 26 08:01:05 2002 +0000 aix51-support-20020926 aix 5.1 support, not yet ready for prime-time commit fee78214f69ae4895e47e3c9b70e354646c154b6 Author: David Howells Date: Thu Sep 26 07:39:46 2002 +0000 linux-init-rwlocks-20020926 init linux rwlocks we missed before commit f5e96f747edc8674b6bf529b9c88d07799d9b10c Author: Nick Ingolia Date: Thu Sep 26 07:33:16 2002 +0000 linux-pag-deal-with-no-groups-20020926 If ngroups in the parent is 0, but the first two elements of the groups array represent a valid PAG (perhaps because they weren't zeroed), then set_pag_in_parent won't add 2 to ngroups and the parent process won't join the PAG. commit b8f10c45be99dbd3eb80005a804b123b8ba7ad21 Author: Garry Zacheiss Date: Thu Sep 26 04:47:32 2002 +0000 Recognize MacOS X 10.2.1 as ppc_darwin_60. It's compatible. commit 0f11456aa1b425c1418efff13fb821a26fbc117f Author: Kris Van Hees Date: Thu Sep 26 03:57:34 2002 +0000 salvager-dont-mask-uniq-comparison-in-vnodes-only-in-inodes-20020920 the masking operation is for inodes when using "inode spares" fields which overflow, not for vnode operations. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove an extraneous right paren commit d18fd91f9d074759adba7ef7ea0c192e82205a04 Author: Garry Zacheiss Date: Thu Sep 26 00:38:28 2002 +0000 Update NEWS file with user visible changes and other noteworthy things about OpenAFS 1.2.7. commit 7439ca3b79ecb4a1e518f38fd2ce4e6a57a6e15b Author: Jim Rees Date: Fri Sep 20 17:32:11 2002 +0000 update-openbsd-31-20020920 update OpenBSD to 3.1 commit abe77a507ad6c7185b38b9948d58edcf58568db3 Author: Daria Phoebe Brashear Date: Sat Sep 14 00:52:57 2002 +0000 nfs-trans-comment-unused-variables-20020913 make solaris xlator module load commit 33ada3676c4be83dc22cd7765e3904fe7c9377c6 Author: Daria Phoebe Brashear Date: Fri Sep 13 03:48:45 2002 +0000 rxkad-client-offer-better-bad-token-warnings-20020912 if it's too large to be a valid token, offer a useful error. commit a0154cf196b54c411e2fa47cf36f5fe5af45746e Author: Daria Phoebe Brashear Date: Wed Sep 11 17:15:31 2002 +0000 linux-use-kernel-threads-and-completions-if-possible-20020911 configure glue is all my fault ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== with minor rewriting by shadow@dementia.org ==================== rest of the configure glue ==================== fix ifdef to encapsulate correct code ==================== fix ifdef ==================== and deal with change to afsd ops ==================== sys_exit not exported everywhere commit 8790c0759c5c920fce035945a9d2fdd05fa9a75d Author: Michael Niksch Date: Wed Sep 11 09:16:06 2002 +0000 aix-namei-fileserver-fix-20020911 make namei fileserver work on aix commit bbca5d8b08cb02a7f7b15fd4ea6d757282e99460 Author: Daria Phoebe Brashear Date: Wed Sep 11 08:19:57 2002 +0000 ptserver-acl-dumpentry-to-disallow-access-based-on-record-20020911 tighten up acl enforcement commit 14ace2e2a94d6c4e6888e4794226adc65376c536 Author: Nathan Neulinger Date: Tue Sep 10 22:41:18 2002 +0000 parisc-linux-kernel-headers-20020909 link in stuff from asm commit 2656f417935a906a95bc07d401229405e8e5d9bd Author: Daria Phoebe Brashear Date: Tue Sep 10 05:00:52 2002 +0000 evalmountpoint-save-stack-20020909 use "small" memory pool instead of 128 bytes off the stack commit a0e5dcbe59f948725f54788e8e6fee51d49ea8d1 Author: Daria Phoebe Brashear Date: Tue Sep 10 02:12:54 2002 +0000 shlib-updates-20020909 based on reports from nneul@umr.edu ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix dest for real ==================== based on reports from nneul@umr.edu ==================== based on reports from nneul@umr.edu ==================== fix link lines for real ==================== install everything in toplibdir commit 3226a5dba2a8d257ea6c32173740b1c0b307d829 Author: Nathan Neulinger Date: Tue Sep 10 00:43:24 2002 +0000 parisc-linux-lwp-update-20020909 gets all the test cases working commit 63f25df3ef6cf6f851b8e184510eb49b06441653 Author: Daria Phoebe Brashear Date: Mon Sep 9 18:00:40 2002 +0000 uss-fix-typo-20020909 reported anonymously commit 5f934052df76327b2dd843744acfb0792a1a3183 Author: Daria Phoebe Brashear Date: Fri Sep 6 03:44:03 2002 +0000 revert-kaserver-set-realm-name-in-tgts-20020708 based on feedback from Pavel Semerad fair warning; without this if you live in a world with multiple kdc vendors in the same realm serving the same data you will be sad. so don't. commit ae19912bddf60da101c4e88a78e6a783077d0a59 Author: Daria Phoebe Brashear Date: Wed Aug 28 07:05:43 2002 +0000 shared-libafsrpc-and-libafsauthent-20020828 shared library versions of libafsrpc and libafsauthent commit efd9a7e32dc793c45f056be5c796f25db429a054 Author: Daria Phoebe Brashear Date: Wed Aug 28 05:30:06 2002 +0000 linux-tasklist-lock-export-detection-20020829 if you don't have a versioned kernel, so sorry. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== add macro i forgot to commit commit a5ab24af71efe6b80eb0f78d1979c5ab1d1e594d Author: Daria Phoebe Brashear Date: Tue Aug 27 23:18:50 2002 +0000 pin-function-definition-and-ifdef-cleanup-20020827 define if kernel uses pin/unpin to pin memory; cleanup ifdef usage commit d5aa87a7a54888d8c4c041f676accc199562ed28 Author: Daria Phoebe Brashear Date: Tue Aug 27 22:42:25 2002 +0000 cachemgr-setuerror-ifdef-cleanup-20020827 feature-ifdef for setuerror, and clean up where it's called commit b5677719dc204a2b8d039594b8c70bfee3914896 Author: Daria Phoebe Brashear Date: Tue Aug 27 21:46:16 2002 +0000 namei-close-directory-behind-us-always-20020827 more or less verbatim as suggested by kolya@mit.edu avoid leaking directory fds if we get an error commit 697feb05a07c280d10e6dd2525d12daa028b47b6 Author: Nathan Neulinger Date: Mon Aug 26 22:04:48 2002 +0000 prototypes-empty-files-to-diff-against-20020826 literally empty commit dab797796ea7ea3b132b60766e95905cdacebdbf Author: Daria Phoebe Brashear Date: Mon Aug 26 22:01:00 2002 +0000 packaging-rationale-20020826 why we bothered to put it here commit 7ce0814d3098e43e7533acd9fcf7d0acad10f37e Author: Sam Hartman Date: Mon Aug 26 21:52:02 2002 +0000 debian-packagings-20020826 packagings for debian. commit 200f93ca4ea86f499ab5e82dee11b03f5602631d Author: Derek Atkins Date: Mon Aug 26 21:46:51 2002 +0000 redhat-packagings-20020826 afsmodname actually from jhutz@cmu.edu but i don't feel like committing twice commit 9d55bb0ee5fed23bb74703b3bad3d77a16294fdb Author: Chaskiel M Grundman Date: Mon Aug 26 21:24:11 2002 +0000 packaging-add-macos-bits-20020826 the macos x packaging commit 9f908c7287371750fd7a8adc92fec37de178c7a0 Author: Nathan Neulinger Date: Mon Aug 26 16:48:50 2002 +0000 linux-kdump-cleanup-build-process-20020826 so we don't remake this on each make commit 55e2f743a99c5ce69150bbd1a11090393efe7aef Author: Nathan Neulinger Date: Mon Aug 26 16:47:26 2002 +0000 fs-prototyping-20020826 prototype the fs command source commit e4b7c9513e86e7c823847f828d49b62fc1ceecfb Author: Nathan Neulinger Date: Mon Aug 26 16:46:32 2002 +0000 viced-prototypes-20020826 prototyping for viced/callback.c commit fd901a0154bf792a717c3a099475dd27435f2577 Author: Nathan Neulinger Date: Mon Aug 26 16:45:28 2002 +0000 vos-move-more-diagnostics-20020826 in verbose mode, print better diagnostics commit b7bd80cb28de681a89f8c936de989637b81cc41c Author: Daria Phoebe Brashear Date: Mon Aug 26 16:33:03 2002 +0000 rpc-authent-shlib-support-mostly-20020826 necessary bits to build shlibs, except since we can't easily decide when to deal, we don't, yet commit 3b1a964d95c0e47705d0384d95a65927fffaa034 Author: Daria Phoebe Brashear Date: Mon Aug 26 15:09:35 2002 +0000 osconf-cleanup-20020826 don't set shlib stuff in makefile fragments. do include sun4_413 in osconf commit 6ffcd27a1ecd0299cda2f45396c88ecd34959e7a Author: Daria Phoebe Brashear Date: Mon Aug 26 15:01:19 2002 +0000 libafsrpc-use-our-xdr-for-consistency-20020826 suggested by Srikanth Vishwanathan commit 4b178dacd60932f0b59c50837c514cbd5e30178a Author: Daria Phoebe Brashear Date: Fri Aug 23 05:52:56 2002 +0000 prototypes-fixes-20020821 add externs removed and missed ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== ok, another try. don't include protosw.h here and let sysincludes.h pull it in ==================== one more missed extern ==================== keep trying... ==================== fix weird redefintion problem with kmem_alloc ==================== can't know this sort of thing (and it's wrong at least sometimes) commit d3d299657a479043228913928c9dfef0d6d47b10 Author: Garry Zacheiss Date: Fri Aug 23 05:38:53 2002 +0000 dux-juafs-make-it-compile-20020823 fix this so make will bother commit 6f7e6bf1127d04c4e70ed13cffbc8d9324c41eab Author: Daria Phoebe Brashear Date: Fri Aug 23 05:29:38 2002 +0000 dux-call-flushpages-with-cred-20020823 we weren't passing in creds before. do so. commit c5a2487ea8229713768b6b4ceff26e4ebcfcf767 Author: Nathan Neulinger Date: Fri Aug 23 04:36:29 2002 +0000 hpux-dont-build-login-20020822 don't build login on hpux commit 629d0806549d5b9cff9cd6f8eae50cf11c3e85ac Author: Nickolai Zeldovich Date: Fri Aug 23 04:31:38 2002 +0000 This is mostly a rewrite of src/afs/afs_cell.c, and associated changes to other things. Features of the new cell code: * Persistent name-to-cell-number mapping across reboots, to ensure the cell numbers in the dcache are meaningful. Stored in the new cache file, /usr/vice/cache/CellInfo. * Allow cmdebug to query the cell number to cell name mapping. * Allow clients to have an empty CellServDB as long as AFSDB is enabled and ThisCell has AFSDB records. * The home cell retains the setuid bit even if looked up via AFSDB. * Dynroot gets its own cell, rather than piggybacking on cell 1. * Cell 1 is no longer special; cell numbers are now semi-opaque. * Convert cell traversal code to using GetCellByIndex rather than directly poking at CellLRU / afs_xcell. * Separate cells from aliases, which shouldn't have been the same in the first place. * Cleaner code (IMHO). ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== make the arguments afs_CellNumValid takes match the prototype (since it really is a afs_int32 it looks like) ==================== update irix to deal ==================== update irix to deal ==================== Fix some more references to the now-nonexistant cell->index commit 641a84b67b4206e848297cc5d23bcb35bce09b30 Author: Daria Phoebe Brashear Date: Thu Aug 22 23:37:11 2002 +0000 prototypes-fixes-20020821 hopefully last of the lwp fun ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== make it build on the bsds ==================== nope. this time for sure (more lwp createprocess casting) ==================== clean up osi_UFSOpen prototyping ==================== aix gets bitter at this ==================== fix missed argument ==================== again, aix doesn't like this. so, we don't do it ==================== yup, aix still hates this ==================== dux compiler doesn't like this (i think this one is actually my fault) ==================== already prototyped in rxkad_prototypes.h ==================== causes multiple inclusion of protosw.h which isn't safe on irix. ==================== for some reason you just can't declare the same thing the same way twice ==================== make dux compiler happy. oops. commit c796a743c239aa47c51ff97e846460341bb15f60 Author: Daria Phoebe Brashear Date: Thu Aug 22 22:59:12 2002 +0000 dux-force-lex-compatible-lex-20020822 hopefully to correct problem observed by garry zacheiss commit 2a6c074d3c9fd9d8db3ebab89797ec2ecaed8528 Author: Nickolai Zeldovich Date: Thu Aug 22 20:43:30 2002 +0000 Drop GLOCK over the entire loop iterating over the iovec, since it's not needed for any operations performed in the loop (rather than dropping it just for the memcpy inside the loop). commit 8e66ec5e01c0746822dc13c7679bb0a8febd8579 Author: Daria Phoebe Brashear Date: Thu Aug 22 19:45:11 2002 +0000 prototypes-fixes-20020821 screw it. if winnt can have generic pointers, so can we ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== and cast all the pointers commit 0e05e114a663acc138d1be7d87f2631c3460de40 Author: Daria Phoebe Brashear Date: Thu Aug 22 18:53:43 2002 +0000 vsprocs-checkvolume-bug-20020822 if we're going to make a string we should make it where we expect it commit 76aa5ff2186ee28717a25b8d6947046ac14d8770 Author: Daria Phoebe Brashear Date: Thu Aug 22 18:02:03 2002 +0000 sunos-support-cleanup-20020822 some things want ucontext.h. leave it there commit 5d36376c07c665b175440e51b03fd85fc58422b0 Author: Nickolai Zeldovich Date: Thu Aug 22 18:01:51 2002 +0000 Add two useful functions for string operations: afs_strdup() and afs_osi_FreeStr(). Will be used by an upcoming patch. commit f840143cd6b672858e121a0fb3dea5e12cb60f84 Author: Nickolai Zeldovich Date: Thu Aug 22 18:00:15 2002 +0000 Make "fs newcell" work even when there are no pre-existing cells in the kernel yet. Previously, newcell tried to issue a GetCell pioctl to figure out what version of the pioctl interface the kernel is using. Lacking such information (if the pioctl returns an error), we now assume the newer interface. commit b1edf891d717ee8e08c0d93738a204cff09cf68f Author: Chaskiel M Grundman Date: Thu Aug 22 17:19:38 2002 +0000 struct-buf-hack-cleanup-20020822 get rid of bogus struct and just declare it commit 0c15f693e39ca405d7c86f7f6df13e58889bf03a Author: Daria Phoebe Brashear Date: Thu Aug 22 17:14:14 2002 +0000 solaris-make-cleanup-20020822 avoid make confusion about libafs target commit ab09e39174ba271534398960a7ef494e3af52acb Author: Chaskiel M Grundman Date: Thu Aug 22 01:15:09 2002 +0000 darwin-head-build-fixes-20020821 make the head build on darwin commit da1203ea2026113901f568272f0e5d62856526f2 Author: Chaskiel M Grundman Date: Thu Aug 22 01:13:09 2002 +0000 prototypes-fixes-20020821 fix the following problems - including osi_vfs.h on almost all platforms, even though afsincludes.h already deals with it - universally declaring afs_globalVFS as a struct vfs * - declaring afs_stats_XferSumBytes in a header without a storage class - using afsincludes.h without sysincludes.h - make clean removes a source file in rxkad ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== irix needs this, put it back ==================== cast parm argument to CreateProcess ==================== more lwp createprocess fun ==================== more lwp commit d539fb41e523e0ea2f997f3c9747f1814b0375f5 Author: Daria Phoebe Brashear Date: Thu Aug 22 01:05:23 2002 +0000 osi-vfs-h-only-on-linux-20020821 based on report from Chaskiel Grundman no osi_vfs.h on anything but linux commit 89f411e22c2d63c78cbd52410ca3e15b8aaf1c4a Author: Chaskiel M Grundman Date: Wed Aug 21 23:07:52 2002 +0000 darwin-updates-20020821 should be correct support for 10.2. also updates for 10.1 commit c6fcaad9e8b7374d0fd5ca579b0559f599b9e0f7 Author: Daria Phoebe Brashear Date: Wed Aug 21 22:12:58 2002 +0000 ptserver-catch-empty-idlist-20020831 based on report from joda+openafs@pdc.kth.se consistent with what the opposite transform does commit 6587d225213c9125cb8bfb227647fc5e5511b134 Author: Hartmut Reuter Date: Wed Aug 21 21:57:35 2002 +0000 int64-operator-updates-20020821 Changing the length and offset fields from afs_int64 to afs_uint64 gave strange results for CompareInt64 and SubtractInt64. Therefore it's better to cast the values as signed in these macros. commit f256e25bc830e53900ffce5344fdaac12100891c Author: Nathan Neulinger Date: Wed Aug 21 21:34:28 2002 +0000 eliminate-nested-comments-20020821 cleanup config fragments commit 0ca7613ac4ce16f54931f3702e186a1097c25d87 Author: Nathan Neulinger Date: Wed Aug 21 21:32:19 2002 +0000 viced-provide-way-to-not-retraverse-hostlist-20020821 based on thomas muellers patch commit c928f5e043a9b9f7c911a5c665bb78791659314c Author: Nathan Neulinger Date: Wed Aug 21 21:30:00 2002 +0000 ukernel-updateosi-read-write-for-prototypes-20020821 cleanup commit 6ca8bd974194d3749f29f4f99e9582c6d6ce97bc Author: Nathan Neulinger Date: Wed Aug 21 21:02:02 2002 +0000 volser-prototypes-20020831 vsprocs prototyping commit d4d7befaebb5fb1e4d4cfa9ca6be44852235d1fd Author: Daria Phoebe Brashear Date: Wed Aug 21 20:57:45 2002 +0000 linux-22-kernel-support-for-current-state-20020821 based on report from alfw@SLAC.Stanford.EDU commit 9f2a661a98399966735a69ced4b60b68b821c1c9 Author: Daria Phoebe Brashear Date: Wed Aug 21 20:49:04 2002 +0000 bosserver-dont-create-unused-directories-20020821 in a build with alternate dirpaths we shouldn't create directories we don't use commit a0938ecaf51febe8cd59327ca9ef993c829612f0 Author: Love Hörnquist-Åstrand Date: Wed Aug 21 20:33:15 2002 +0000 print-cause-of-bosserver-whining-20020821 instead of a vague error be slightly more useful commit 4b148570b3d975986221710574c99e49840e3f26 Author: Nathan Neulinger Date: Wed Aug 21 20:26:15 2002 +0000 volser-vsprocs-call-enumerateentry-correctly-20020821 prototyping caught this commit 808369b9693bea613ba998e700ec764638b6d54f Author: Jeffrey Hutzelman Date: Wed Aug 21 20:19:28 2002 +0000 sunos4-port-20020821 This patch adds support for building OpenAFS user-mode code on SunOS 4. It does not include libafs, ulibafs, or any code that needs to understand the filesystem layout (so, no vfsck, and while the salvager will be built, it won't work). commit 641beba860a8f4f47e6ca54ee8c3415d01986337 Author: Daria Phoebe Brashear Date: Wed Aug 21 20:04:05 2002 +0000 uuid-update-copyright-info-20020821 apply copyright info from arla. commit 2a2e9b82681047239fd0fe84d0cef144411a1e9d Author: Daria Phoebe Brashear Date: Wed Aug 21 19:58:18 2002 +0000 modernize-bozo-20020821 convert to protoized declarations in the bosserver deal with InitBnode malloc failures commit 8f2df21ffe59e9aa66219bf24656775b584c122d Author: Nathan Neulinger Date: Wed Aug 21 19:52:17 2002 +0000 pull-prototypes-to-head-20020821 pull up prototypes to head commit ba5ed52c8740ac78dd062667b6de580b3907d409 Author: Daria Phoebe Brashear Date: Wed Aug 21 16:43:29 2002 +0000 bos-fix-restart-usage-message-20020821 as suggested by Turbo Fredriksson restart does not default to all commit ae3e679ab0163560a29ca51eec77a2c897a8f216 Author: Daria Phoebe Brashear Date: Wed Aug 21 06:52:18 2002 +0000 realcellindex-fix-allocation-20020821 fix comparison and the double allocation it uncovers commit 847a5af3beea35af5f80078a8b24f01582f53824 Author: Nickolai Zeldovich Date: Tue Aug 20 22:39:31 2002 +0000 Allow users with admin bits to store different user/group IDs along with a StoreData call; they can already do so anyway by using StoreStatus. Fixes a spurious permission denied error with arla clients. commit 3d0874aa14d8e4fc72be703593b27f2f003a7ebe Author: Chas Williams Date: Mon Aug 19 23:06:02 2002 +0000 linux-dcache-flushing-experimental-20020819 shadow@dementia.org at least partly to blame. hold the dcache lock only briefly; instead put dcache entries to be junked onto a free list, by unhashing them, then grab the dcache lock, junk them, and release it. commit e9ec286d9b2dbe7607cd79ff7cfe35cdeef521ae Author: Chas Williams Date: Mon Aug 19 22:52:52 2002 +0000 linux-dentry-revalidate-lock-kernel-20020813 avoid potential race for shrink_dcache_parent/d_drop smbfs and nfs do equivalent. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== avoid potential race for shrink_dcache_parent/d_drop smbfs and nfs do equivalent. slight rework to avoid holding glock in a way which could deadlock us commit f6462eac361ba2bddf5b84cdb7861f7ca482caba Author: Garry Zacheiss Date: Mon Aug 19 19:53:34 2002 +0000 Don't return ELOOP when crossing a mountpoint boundary from a BK volume to a BK volume. find treats it as a fatal error, and it's annoying not to be able to naively use find to recurse through a volume with its backup volume mounted. Never noticed this before because we used to ignore this return value. Return ENODEV instead. commit 9a871520c951db8f68b7b08acc26de5ffe8b5f57 Author: Love Hörnquist-Åstrand Date: Sat Aug 17 17:19:18 2002 +0000 An unintentional change accidentally leaked out when the rx-avoid-using-newproc-on-solaris-20020812 delta was checked in. Undo it, since it breaks things. commit 1371bb1bec811b2671f5bd7652616e9180c52517 Author: Harald Barth Date: Thu Aug 15 22:10:23 2002 +0000 compiler-autoconf-tests-20020815 attempt to find compilers we like commit 5a7fa71c8613589c1c38d1d7723d72221818017f Author: Daria Phoebe Brashear Date: Wed Aug 14 22:18:34 2002 +0000 pioctl-write-null-before-copyout-20020814 suggested by lha@stacken.kth.se commit 8c2edd9de637404f0f3b940f81a248105376068f Author: Nathan Neulinger Date: Wed Aug 14 02:24:59 2002 +0000 solaris8-param-cleanup-nested-comments-20020813 get rid of nested comment commit 1a8355845a2dbf97afb3df60d676cd5bd829fa72 Author: Nathan Neulinger Date: Wed Aug 14 02:22:09 2002 +0000 kdump-sh-objdir-build-fix-20020813 make objdir build that i keep breaking work again. commit abc490d0fcdc35959bbe2b092e19beae9a22f492 Author: Nathan Neulinger Date: Wed Aug 14 02:21:23 2002 +0000 venus-owntest-cleanup-20020813 exit with errno on failures commit b375c306aa065b203d02154b82b360554ba66845 Author: Harald Barth Date: Tue Aug 13 20:07:44 2002 +0000 solaris-find-valid-cc-for-compiling-kernel-20020813 configure test to find solaris cc since we can't (yet) compile kernel module with gcc on solaris. commit 7dc3c1a6eaea17ab38b86233c4438e1a6096c334 Author: Nickolai Zeldovich Date: Mon Aug 12 22:32:39 2002 +0000 Fix a vcache refcount leak in afs_root() on all platforms. commit 5d3545610b83905e220d18c948d0fc621db851a5 Author: Nickolai Zeldovich Date: Mon Aug 12 22:31:03 2002 +0000 Second attempt at avoiding the use of newproc() on Solaris. This time, use thread_create to spawn a kernel thread, and use a dummy packet to wake up the listener during shutdown. commit f16544d04aee46a1ac8995990c71f5bde37d8bc7 Author: Nickolai Zeldovich Date: Mon Aug 12 22:29:28 2002 +0000 Only put xdr_int64.o on the linker's argument list once. It's already listed in Makefile.common.in, so no need to specify it again. commit 85db3fa42563065d9f721be07f93eeffb789d22b Author: Nickolai Zeldovich Date: Mon Aug 12 22:27:51 2002 +0000 Don't print out-of-range index error messages when all it means is that we've reached the end of the server list. commit 2bde78fdac01380a359b6e6a8c466757553f846f Author: Daria Phoebe Brashear Date: Sat Aug 10 07:32:21 2002 +0000 linux-symbol-export-test-20020810 test for tasklist_lock being exported discussion on openafs-devel to follow commit 38025e06508a7a83247ca4f8957fb8e5f32dec78 Author: Daria Phoebe Brashear Date: Sat Aug 10 07:31:13 2002 +0000 linux-gcpags-smp-safeness-20020810 hold tasklist_lock in the right place. doesn't yet address versions which don't export it. commit 3e6640e96dfee36cc302428d71f5de210f67be5f Author: Nickolai Zeldovich Date: Fri Aug 9 22:15:12 2002 +0000 Set the maxfilesize rlimit to infinity while writing to cache files to avoid potential truncation if the user's rlimit is too low. This bug likely also exists in AIX, DARWIN, DUX, FBSD, HPUX and NBSD, but surprisingly IRIX got this right. commit caeecc241e6b4133009e9997cba4e4f259c33e60 Author: Daria Phoebe Brashear Date: Thu Aug 8 19:46:13 2002 +0000 netinfo-support-fake-ips-for-nat-20020808 basically verbatim from Todd DeSantis, cleared for release by IBM commit 08c2c637ab0acda9b1319333d74850214dd5917d Author: Chas Williams Date: Tue Aug 6 20:49:00 2002 +0000 Clean up the prefetch code for Linux, by calling afs_PrefetchChunk directly rather than changing the ifdef's in afs_UFSRead. commit f4d6cdd26c8b3a4db9ff2c13588c7c9c6ebd2f5b Author: Charles Clancy Date: Tue Aug 6 19:58:02 2002 +0000 pam-afs-man-page-20020806 our first real man page. now, we just need a few hundred others. commit fa729e7694d8d2a7694621542ddce6e212050599 Author: Nickolai Zeldovich Date: Tue Aug 6 19:21:54 2002 +0000 Fix some of the things that break compilation on Windows. commit 61442535baca5f81fee3dc3ed59227678b481277 Author: Daria Phoebe Brashear Date: Mon Aug 5 23:07:12 2002 +0000 vos-listaddrs-avoid-holes-in-index-20020805 index may have holes in it, so make sure we actually walk over the number of entries we expect commit b8c94524a3f9df86306cf4f4d9d326979b6f9683 Author: Hartmut Reuter Date: Mon Aug 5 22:03:34 2002 +0000 dcache-fix-alen-miscalculation-bug-20020805 *alen was being calculated wrong in GetDCache also fix fstrace items commit e2253172104e23b9c80de5e69a6af2564e599dd1 Author: Garry Zacheiss Date: Fri Aug 2 08:01:04 2002 +0000 Update NEWS file with user visible changes in 1.2.6. commit 61a3c91d476ea1f2803bc6a9a798146bcf3394c3 Author: Garry Zacheiss Date: Fri Aug 2 03:41:22 2002 +0000 Include xdr.o and xdr_array.o in librx, to pick up xdr fix. commit 14dc5dfa08cfe64f9abd3e5d98a5e6dc08f69736 Author: Chas Williams Date: Thu Aug 1 19:08:13 2002 +0000 Clean up partial write support on Linux by calling afs_DoPartialWrite from afs_linux_writepage_sync. commit 9e06544249bf6a536c3f3f26048f6809b36b0772 Author: Chas Williams Date: Thu Aug 1 17:11:35 2002 +0000 linux-alloc-dont-drop-what-you-dont-have-20020801 avoid trying to drop a glock we don't have commit fb6d2422f3b0b9ee756def4d91f11983fd767ad0 Author: Garry Zacheiss Date: Thu Aug 1 04:33:12 2002 +0000 Add a prototype of afs_GetRealCellByIndex to fix Irix build. commit 49e0c6409a92e707901139789ca79d11a8aa8a67 Author: Garry Zacheiss Date: Thu Aug 1 03:45:06 2002 +0000 Include errno.h so this compiles again. commit 2d6ebd0cda81cff70a22a4393aaf58c5b7ccbb2e Author: Jeffrey Hutzelman Date: Thu Aug 1 00:13:09 2002 +0000 xdr-updates-20020731 update xdr so internal variables match what's being passed in commit aea332588be791dd79c467e727621be382d18a21 Author: Derek Atkins Date: Wed Jul 31 23:41:02 2002 +0000 linux-start-if-dynroot-even-if-no-network-20020731 if we start with dynroot, dont worry if we have net or not commit 6c5439b80934cd6e3f0539a07874c3bda18d676d Author: Jeffrey Hutzelman Date: Wed Jul 31 23:35:09 2002 +0000 deal-with-linux-EAGAIN-returns-when-receiving-20020731 sometimes you get EAGAIN from recvfrom, apparently if a packet comes in with a bad checksum for instance. we should deal better. commit 4d75219bedc12833c6265b6e018e6455aa88921c Author: Chas Williams Date: Wed Jul 31 23:29:38 2002 +0000 linux-alloc-drop-glock-if-we-can-20020731 if we can drop the glock, do so. allocate up to PAGE_SIZE with kmalloc before switching to vmalloc commit f2ab9fd440bcccb34e7875c06e00136fbefc10d1 Author: Daria Phoebe Brashear Date: Wed Jul 31 23:15:16 2002 +0000 afs-getcell-pioctl-should-be-able-to-provide-complete-list-20020731 don't use the LRUq since it can make us miss cells. don't use the existant index because it includes cell aliases commit f063c0db2109b3e089c54b4c6dd948bbd72a0ab1 Author: Daria Phoebe Brashear Date: Wed Jul 31 22:54:41 2002 +0000 linux-note-we-use-interruptible-sleeps-in-non-compliant-manner-20020731 based on discussion with David Howells of RedHat commit 6c9fd25ae779bc092b9c1eb531d08483b4a96a53 Author: Nickolai Zeldovich Date: Wed Jul 31 19:43:31 2002 +0000 fix-fakestat-support-for-hardlinks-20020731 made afs_vnop_link.c not compile under Sun's cc, since it tried to take the address of a register variable. Don't declare the arguments as register. commit 6122876cafab6ac3d6819ed03b8db491d7c2e6ff Author: Hartmut Reuter Date: Wed Jul 31 17:41:24 2002 +0000 aix-make-ukernel-build-20020731 make it compile under aix commit 59741a821caec4ed83b87dcadbd4771e8d181c38 Author: Nickolai Zeldovich Date: Wed Jul 31 14:43:17 2002 +0000 Support afs_link() in volume roots when using fakestat. commit 4b2be9588b87feecd0124cec9014b4a9b3c6933a Author: Chas Williams Date: Tue Jul 30 20:34:32 2002 +0000 Enable afs_DoPartialWrite() and afs_PrefetchChunk() in afs_UFSRead and afs_UFSWrite for Linux; fixes deadlock condition for small cache sizes. commit e9a6a539449ff3144169aa8ca5fc38bab613ab53 Author: Nickolai Zeldovich Date: Mon Jul 29 23:48:39 2002 +0000 Remove two unnecessary casts that prevented compilation on Linux 2.2. commit f9677cc5d0025b4cef84bb1e24004a1bf7b6cb9b Author: Nathan Neulinger Date: Mon Jul 29 21:45:50 2002 +0000 afs_PutVCache() takes a second argument, although it doesn't get used. commit 4e13acfe3baa1bd6c7973e7c8b9f73a2dd57db04 Author: Nickolai Zeldovich Date: Mon Jul 29 21:03:36 2002 +0000 Support empty CellServDB entries like arla; this is useful to tell dynroot about the existence of a cell without hard-coding the server list (it will be fetched from AFSDB). commit b8ebb1a225c55f38aa2a59b1ffd77c2bdc06ff9f Author: Nickolai Zeldovich Date: Sat Jul 27 19:06:08 2002 +0000 Re-encode struct fcntl back into Linux's struct file_lock so that fcntl(F_GETLK) returns proper values to the user. commit 094adf6b12f3461a7f0ea4ec0a9f268c0c50336b Author: Daria Phoebe Brashear Date: Fri Jul 26 21:55:13 2002 +0000 solaris-nfs-module-updates-20020726 make it compile again commit 07a4570310f6bdddbe07ffccb3ece579ff4bdff8 Author: Tino Schwarze Date: Fri Jul 26 21:38:41 2002 +0000 cleanup-pioctl-avoid-inadvertantly-setting-new-pags-due-to-gcc-20020726 fix operator precedence bug commit 9d8ad37ced11afac107a2b7d8d1bd95c7e1aa9f8 Author: Nickolai Zeldovich Date: Fri Jul 26 21:27:55 2002 +0000 Verify that afs_GetCellByIndex() returns a valid cell -- it might be NULL if afs_NewCell() aborted partway through, which could be the case of the CellServDB file has a typo. commit 77efb238b1a1cfe347d822322b7cc5c7a8ff110a Author: Charles Clancy Date: Fri Jul 26 06:56:04 2002 +0000 pam-multi-cell-support-20020725 "will let you do something like: auth optional /lib/security/pam_afs.so cell other-cell.domain.net auth sufficient /lib/security/pam_afs.so try_first_pass refresh_token \ cell main-cell.domain.net auth required /lib/security/pam_unix.so You need to specify "refresh_token" the second time you call it to prevent it from getting a second PAG and making your first token useless. Or, you can just use it once to authenticate to a cell other than what's in /usr/vice/etc/ThisCell. Not specifying the "cell" argument causes the expected behavior of authenticating against the local cell." commit 2ee7d7e0fbd4c082e7ee60db792976517a96523a Author: Jeffrey Hutzelman Date: Fri Jul 26 06:45:51 2002 +0000 vos-examine-print-extra-stuff-if-so-compiled-20020725 the --enable-full-vos-listvol-switch configure switch also compiles in this extended vos examine info commit 6738516b5336475fbd69872d5d23c2ea44434a44 Author: Manuel Pereira Date: Fri Jul 26 06:33:59 2002 +0000 jafs-library-20020725 Java API work commit 595f9ae4334f1dcf665944b8e6493a4f82855d13 Author: Ryan Lantzer Date: Fri Jul 26 06:09:56 2002 +0000 windows-no-more-files-workaround-20020725 work around erroneous "no more files" error in winnt client commit fd2cb884e24b5bf48392db4222ee10125014a3ee Author: Rainer Toebbicke Date: Fri Jul 26 05:58:39 2002 +0000 tbutc-uses-not-thread-safe-status-20020725 "The multithreaded butc (src/tbutc/butc) includes bucoord/status.o, which is compiled together with the other bucoord stuff without MT_CFLAGS and hence without AFS_PTHREAD_ENV defined. Alas, it uses ObtainWriteLock and other macros out of lock.h which *are* sensitive to AFS_PTHREAD_ENV. Consequently, butc can hang trying to acquire the statusQueueLock when dumping volumes, in particular if 'backup status' commands are issued frequently. A proper fix would probably be to push some of those macros out of lock.h and make them subroutines in lock.c. A quick fix is ensuring status.c gets recompiled in tbutc/Makefile.in" commit efbaa07c990df1bd190bbc4851535810a4eeb208 Author: Chas Williams Date: Fri Jul 26 00:37:51 2002 +0000 linux-try-to-reduce-invasiveness-of-flushdcachechildren-20020725 try to become less invasive about dcache child flushing commit fc71eb6e255b6d2bc1d24e9aae799329c675ec49 Author: Chas Williams Date: Fri Jul 26 00:29:52 2002 +0000 linux-cleanup-rx-cv-locking-20020725 cleanup wait queue usage grab glock before mutex (like all other ports) commit 0f4021128e1016ec9a6fea3a52f47e616fcb2022 Author: Chas Williams Date: Fri Jul 26 00:11:30 2002 +0000 linux-hold-glock-across-dentry-trace-entries-while-tracing-20020725 this is actually rather scary commit 0e53c862c31f5d122471b55699b0df0f8e4e7f94 Author: Chas Williams Date: Thu Jul 25 21:45:10 2002 +0000 revert-linux-use-d-prune-aliases-instead-of-try-dcache-children-20020725 not currently safe on smp kernel uniprocessor systems for some reason. revert. also fix unlock/dget ordering to be consistent commit 77b1a76e47948422c7797de2ac27f3a121aa8806 Author: Nickolai Zeldovich Date: Tue Jul 23 00:04:22 2002 +0000 Work around MacOSX Finder's behavior by returning ENOENT when the user tries to look up Contents or .DS_Store in an uncached volume root. commit fbb81cb4ed02a8b9a41657d7ebfdb26b73bdf935 Author: Nickolai Zeldovich Date: Mon Jul 22 22:23:43 2002 +0000 Correctly check for 32-bit file size limitations on Solaris; the MAXOFF_T value changed from 32-bit to 64-bit in Solaris 7. commit 9cd177c636c59a7369155d56582bffffb744aeb7 Author: Nickolai Zeldovich Date: Mon Jul 22 19:32:34 2002 +0000 Translate faultcode_t return values from vm routines into errno codes. commit 73cdd10a1b5bda70cb0a1f6299c3cc570ac97b69 Author: Chas Williams Date: Mon Jul 22 04:47:24 2002 +0000 linux-dentry-deletion-for-unlinked-files-22-version-20020721 make it work for 2.2 kernels also also some debugging commit 349c211789b531487d95f92fbb6860347e2d8103 Author: Nickolai Zeldovich Date: Sat Jul 20 09:12:23 2002 +0000 Try to update attributes for volume roots when they become available, under Linux with fakestat. commit e2fcfb88a234afe1bfe2b0b1046f0a0325580ea6 Author: Nickolai Zeldovich Date: Sat Jul 20 08:57:17 2002 +0000 Minor internal cleanup of fakestat's afs_EvalFakeStat and afs_TryEvalFakeStat; no functional change. commit 4fac7a61d83d08bcc2236ed1825bcbbe5f51867a Author: Nickolai Zeldovich Date: Sat Jul 20 08:53:33 2002 +0000 VN_RELE calls osi_iput on Linux which tries to get GLOCK. Don't call VN_RELE while holding GLOCK. commit cabd0bbd4f4129efec2b87b6934c691bf91e883c Author: Chas Williams Date: Thu Jul 18 13:27:48 2002 +0000 linux-dentry-delete-so-unlinked-files-die-nicely-20020718 "d_delete: needs to call iput() to decrement i_count, which you get by returning 1 instead of 0. looking at the other fs schemes (actually its pretty clear in the nfs code too) i see that they return 1 for 'is_bad_inode()'." commit d53f4f14e1ee757a57e5f6459baa61acc9b8c7b3 Author: Joakim Fallsjö Date: Thu Jul 18 13:10:46 2002 +0000 solaris-placate-gmake-builds-20020718 so gmake will find the necessary source files commit d84171dd30771401787450582bbd57aab7aafc4e Author: Daria Phoebe Brashear Date: Tue Jul 16 23:24:54 2002 +0000 hpux-updates-20020716 get us closer to building commit d0c8c165a30d1871d61dafce42f08ad4b324a00d Author: Nickolai Zeldovich Date: Tue Jul 16 18:39:50 2002 +0000 provide an example CellAlias file. commit 90deacca54570e978920d7b5342806558df4c74c Author: Chaskiel M Grundman Date: Sat Jul 13 04:30:54 2002 +0000 freebsd-isnt-darwin-20020713 update rc script for freebsd commit affdbe8db375bf2b9defe05ca4431f5b4e14221e Author: Chaskiel M Grundman Date: Sat Jul 13 04:28:28 2002 +0000 freebsd-chunk-corruption-fix-20020713 This patch will fix the "freebsd can't read files > 1 chunk" problem. It will almost certainly not fix the "cache files get the bootloader written into them" problem, but there is a miniscule chance: commit bfaa3bac05ad38cf4062c06b5913612728072542 Author: Joakim Fallsjö Date: Sat Jul 13 04:25:23 2002 +0000 libjaufs-build-fix-20020713 make it install cleanly commit 6ed4fae804ce197e71ed8baeff061ba66402e5ad Author: Chas Williams Date: Fri Jul 12 21:41:59 2002 +0000 linux-use-d-prune-aliases-instead-of-try-dcache-children-20020712 clean up dcache entries with function provided in the kernel instead of by making our own. experimental. commit c927f48236dd489a33b0bc9fc3959baf1fae0e45 Author: Daria Phoebe Brashear Date: Thu Jul 11 23:10:16 2002 +0000 uuid-dont-require-snprintf-in-ukernel-20020711 because obviously not everything has it commit 7e0d50a1083e765d12a4978150002cfd7d806a91 Author: Chaskiel M Grundman Date: Thu Jul 11 03:32:52 2002 +0000 darwin-vm-bugfix-for-running-apps-out-of-afs-20020710 this "fixes a problem that causes the afs kernel code to spew into syslog if a long running application is run out of /afs" commit 66bd2d780e0f02b905d6696b75cb3b1c422972d1 Author: Daria Phoebe Brashear Date: Mon Jul 8 21:17:38 2002 +0000 kaserver-set-realm-name-in-tgts-20020708 based on comment from Chaskiel Grandman regarding observed poor interoperability of klog-generated tgts with other kdcs where key is otherwise same commit 616f796024b5a546dd3f6e2ba1198671bd377b9d Author: Daria Phoebe Brashear Date: Tue Jul 2 06:01:40 2002 +0000 libadmin-vsprocs-use-volint-prototyping-20020702 use the prototyping from volint.h commit b745a28c47066ab2ddd9a4ad79186c996afcf382 Author: Daria Phoebe Brashear Date: Tue Jul 2 05:53:25 2002 +0000 libuafs-build-juafs-everywhere-20020702 copy this crap to the other makefiles commit 937149e3154746928a6535ef4b8ce52eee15dd4f Author: Daria Phoebe Brashear Date: Mon Jul 1 17:26:29 2002 +0000 afs-uuid-no-string-functions-in-kernel-20020701 some kernels have no sscanf. don't do it. commit 842925a2e83a2f0ce939402e94aedefe6981ce86 Author: Love Hörnquist-Åstrand Date: Sun Jun 30 18:13:36 2002 +0000 netbsd-16-initial-support-20020630 allow us to configure for nbsd 16 commit c746dbb3cb3fa97c4f8253eef39cd3f01d0b0e12 Author: Jeremy Stribling Date: Sun Jun 30 08:43:11 2002 +0000 openafs-tools-update-20020630 updates for openafs-tools command suite commit e68e9dbfa88724fd1463a2f9827f07ae7fe47fe4 Author: Love Hörnquist-Åstrand Date: Sun Jun 30 08:05:08 2002 +0000 ignore-more-20020630 ignore more stuff at the top-level commit 30fb2c1484fdfd9e3469f82d70f37cd6bc4d253d Author: Chaskiel M Grundman Date: Sun Jun 30 07:48:47 2002 +0000 freebsd-initial-46-support-20020630 make it build for 4.6 commit fb8871ec2e37e193955c4688c3f08ecfeb202eea Author: Chas Williams Date: Sun Jun 30 07:39:12 2002 +0000 linux-fix-readdir-hinting-20020630 an earlier patch erroneously removed this commit b2788cf3abf20f404c16c57314e126a2b1b5800f Author: Daria Phoebe Brashear Date: Tue Jun 25 16:25:43 2002 +0000 linux-gcpags-support-20020625 might even work commit 19ffb82266bebfbcd529a85b43765b95355195f9 Author: Daria Phoebe Brashear Date: Tue Jun 25 16:02:11 2002 +0000 linux-kernel-detect-gfp-mask-in-struct-address-space-20020624 based on report that new redhat kernels need this commit 048543ade8eab56d47e5094fdb56bb7f49983dcf Author: Chas Williams Date: Mon Jun 24 23:18:18 2002 +0000 linux-sleep-wakeup-cleanup-20020624 "cleanup osi_sleep.c to remove some additional races. this patches removes AFS_GLOBAL_SUNLOCK and just uses that case to handle both smp and non smp cases. osi_TimedSleep always sleeps atleast 1 hz. (it also always sleeps interruptibly -- you might get some extra loops but this is better than the load average running away) sleep_on's are replaced with the more appropriate add_waitq/schedule sequence. getevent is called after addevent since there is no danger of GLOCK dropping. getevent/addevent isnt re-merged since osi_Wakeup doesnt create entries in the event table." commit 78b1f7ec565ec32e114e80035581f95de50a9f04 Author: Kris Van Hees Date: Mon Jun 24 20:09:59 2002 +0000 vol-allocate-partition-names-dynamically-to-avoid-problems-with-vx-stuff-20020624 otherwise long device paths can screw you commit de06f45787658ff47d959d782a57e498598c1a4f Author: Daria Phoebe Brashear Date: Mon Jun 24 18:34:02 2002 +0000 linux-dont-install-osi-vfs-h-when-no-kernel-module-20020611 do --disbale-kernel-mdoule build works ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== the rest of the patch commit 2b4d2224bac4e656d7504ce2783450117b74dd47 Author: Marcus Watts Date: Mon Jun 24 17:30:34 2002 +0000 ubik-pause-collapsing-20020624 I'm told that after we introduce ptserver nested groups we can expect to see periodic pauses in ubik operations, and this fixes the problem. if it happens, we can start with the UBIK_PAUSE code and go from there commit fe1648ca02137cac306d5f5002d8f79b580694ba Author: Chas Williams Date: Mon Jun 24 16:40:41 2002 +0000 linux-more-osi-sleep-wakeup-fun-20020624 "the attached patch 'fixes', in my opinion, in osi_alloc. objects <= AFS_SMALLOCSIZ are alloced with kmalloc, other vmalloc. if kmalloc fails it doesnt fail over to vmalloc. TASK_RUNNING is set after schedule. it doesnt drop the GLOCK. i moved the allocator init later so that it doesnt need to toggle the semaphore just before going to linux_alloc." commit 60659d2c8fed0c90584bfffb33c2efa6e6270343 Author: Daria Phoebe Brashear Date: Mon Jun 24 16:23:40 2002 +0000 ufsread-save-the-oops-for-where-we-expect-it-20020624 based on comment from matt@slackers.net commit 68de4bbb02eb4b0cc746d48e636e7540bbda43f9 Author: Pavel Semerad Date: Mon Jun 24 16:03:34 2002 +0000 dcache-locking-cleanup-20020624 don't oops if getDCache failed commit 30433f36a953187f27b5db9fb432f3b7dce91e6b Author: Richard Basch Date: Sat Jun 22 05:32:45 2002 +0000 Update_TargetVnodeStatus() checks and strips setuid bits for non admin clients; it should do the same thing for setgid files. commit 664e4f6f0ddbe30ebc78053a7b16634bac926e37 Author: Daria Phoebe Brashear Date: Sat Jun 22 05:26:52 2002 +0000 Add afsUUID_to_string() and afsUUID_from_string() utility functions, from arla. commit 691edd4ea6c117b25aeb124ce7c4a7755694cb37 Author: Garry Zacheiss Date: Sat Jun 22 05:24:49 2002 +0000 Use: #define CONFIG_SMP 1 instead of: #define CONFIG_SMP to fix recent Redhat kernel which used #if CONFIG_SMP instead of #ifdef CONFIG_SMP in some kernel headers. commit 307543629ddeb4b4f34ff5947038fd6a224547b5 Author: Daria Phoebe Brashear Date: Sat Jun 15 18:11:18 2002 +0000 linux-newvcache-make-sure-we-dont-try-to-iterate-null-pointer-20020615 based on report from wilder@us.ibm.com not clear this is sufficient commit d13f701812dd19e26317c602d9a09f0d53fe40b6 Author: Daria Phoebe Brashear Date: Sat Jun 15 17:52:00 2002 +0000 afsd-dont-print-garbage-on-bad-cacheinfo-file-20020615 based on report from matt@slackers.net don't bother printing anything we parsed, since we're guaranteed at least one item is trash anyhow commit da8653c30b7b850269ac20c3c94c37c7d36a59c9 Author: Mattias Amnefelt Date: Fri Jun 14 18:45:33 2002 +0000 dux-sysent-update-20020614 cast this to deal with changes in sysent in later tru64 commit 391621fc5d0aea4d3d6100153d925e37a47ba781 Author: Daria Phoebe Brashear Date: Fri Jun 14 18:22:37 2002 +0000 junk-xdr-in-non-common-makefiles-20020614 based on report from chas@cmf.nrl.navy.mil commit a7500e87f5d3ef97daf158411af4b47fce91aa54 Author: Daria Phoebe Brashear Date: Thu Jun 13 20:33:55 2002 +0000 vos-listaddrs-cleanup-and-allow-printing-of-ip-or-uuid-or-both-20020613 lha@stacken.kth.se complained that we sometimes printed garbage, so i took the opportunity to both fix it and update ours to support the options the arla vos listaddrs does commit d7e3e249cbb4ebe0f1d3be3d02b5b593e576cfa0 Author: Daria Phoebe Brashear Date: Wed Jun 12 23:07:08 2002 +0000 vol-fssync-ack-before-breaking-callbacks-20020612 given that we don't bother to do anything to return value, we can ack the fssync op earlier and not tie up the volserver unnecessarily found due to comments from brent.johnson@jpl.nasa.gov commit 6260cbecd0795c4795341bdcf98671de6b9a43fb Author: Daria Phoebe Brashear Date: Wed Jun 12 22:41:36 2002 +0000 pioctl-always-null-terminate-after-copy-20020612 based on report from lha@e.kth.se note that this works because PIGGYSIZE is always less than AFS_LRALLOCSIZ commit 0f64b6b7528d61199c7c169d06325f5fde2e14f6 Author: Marc Dionne Date: Wed Jun 12 19:22:24 2002 +0000 windows-update-dirpath-header-20020612 add missing definitions commit a0d69dfa395d8c6cb2e3379000126d6ba77c1e21 Author: Richard Basch Date: Wed Jun 12 18:06:45 2002 +0000 Don't give directory owners any implicit rights. Volume owners still have their implicit rights. commit 544fe2ef8ed929e805bac27faa3c2e62aaaadcba Author: Daria Phoebe Brashear Date: Wed Jun 12 07:02:02 2002 +0000 arla-pioctls-now-bogus-20020612 as reported by lha@stacken.kth.se commit a271a55041086f062ca888e5cdde02fe234f7281 Author: Joakim Fallsjö Date: Wed Jun 12 01:25:33 2002 +0000 solaris-x86-20020611 solaris 7 and 8 for x86 commit 9c29a6ead1730649ca501c85482288c73e99f693 Author: Quanah Gibson-Mount Date: Wed Jun 12 01:03:17 2002 +0000 solaris-9-support-20020611 update hrestime interface commit eb8c33d2993ef279218e970a300d5bac2bb63f9b Author: Daria Phoebe Brashear Date: Wed Jun 12 00:33:40 2002 +0000 windows-callback-interface-updates-20020611 make callback interface like unix commit 3a1c6221170c9385f5ed7b0ae40b403fb383fbfc Author: Manuel Pereira Date: Wed Jun 12 00:29:18 2002 +0000 libjuafs-target-20020611 create a libjuafs library for the java api to use commit fe1beb4f3e69f4ae2dbec60902b60cd601674d15 Author: Daria Phoebe Brashear Date: Thu Jun 13 20:35:28 2002 +0000 revert-dont-spawn-kernel-thread-for-rxk-listener-20020426 in some cases this causes shutdowns to hang forever. notably shutdown -i0 -g6 -y works while reboot does not commit 08bb209eef379534268ec6433a131bc52711d111 Author: Daria Phoebe Brashear Date: Sat Jun 8 12:01:59 2002 +0000 getcellservdb-cleanup-20020608 based on comments and suggestion from Srikanth Vishwanathan avoid deadlock. send back variable length list. allocate what we need to, and be care to clean up after ourselves if there's an error. whether this should be variable length is arguable but it's pretty clear no one was using this before. commit b80ae7d78cd944420c54567030e57c4f68a3d482 Author: Daria Phoebe Brashear Date: Sat Jun 8 08:44:09 2002 +0000 use-private-xdr-in-kernel-to-avoid-conflicts-over-memory-ownership-20020608 allocating memory from a pool and then having it be freed out from under you is unwise commit 3651150489cc5e98dc88643d0a24d0f3941f86b8 Author: Garry Zacheiss Date: Sat Jun 8 05:54:50 2002 +0000 Update NEWS file with important changes in 1.2.5 release. commit 3789698e0ab94c4ff0ebb875d336eb34ff2aa5aa Author: Garry Zacheiss Date: Sat Jun 8 02:29:50 2002 +0000 Recognize MacOS X 10.1.5 as ppc_darwin_14. It's compatible. commit ddfc17dfd19dd4e5bf83f42b92c3a25ebd101c59 Author: Chas Williams Date: Sat Jun 8 00:55:01 2002 +0000 des-fix-linux-64bit-problems-more-usefully-20020607 with a minor fix from shadow@dementia.org long isn't 32bit on ia64 or alpha commit 9ab8961c3106402de12f4d0dd80c65e249293fdb Author: Nickolai Zeldovich Date: Wed Jun 5 16:56:09 2002 +0000 Delay calling afs_ProcessFS() and upgrading the shared vcache lock until after the dcache locks have been released, to obey lock ordering and avoid deadlock. commit 0c05bd2bccb5b586b9aedf939700f991a4adc73e Author: Garry Zacheiss Date: Wed May 29 21:59:51 2002 +0000 uuencode binary files used by the test suite (KeyFile and sample kaserver database). Keeping binary files in CVS is annoying, and this way "cvs rdiff" will work again. commit bbab90943637385742923c8bebebdd750a283e5c Author: Daria Phoebe Brashear Date: Fri May 24 23:05:47 2002 +0000 viced-malloc-dont-make-assumptions-about-the-compiler-20020524 based on report from lha@stacken.kth.se "identP = (struct Identity *)malloc(1); This can't be right, there should not be an assumption how the c-compiler will lay out code. I find it acceptable to do something like this /* sizeof valid + offset of valid. */ i.. = malloc(sizeof(identP->valid) + (int)&(((struct Identity *)0)->valid)); But then, why not just allocate a whole identP and be happy. A afsUUID is not that bloted (16 bytes) so I can't see why way this is chosen. 20 bytes will probably be allocated on 32 bit platforms for the whole struct Identity. " commit 155c13192339239dd1d794210b5bcedfb3feea15 Author: Daria Phoebe Brashear Date: Thu May 23 06:21:13 2002 +0000 afs-dont-allow-shutdown-before-umount-20020523 fix afs to enforce that /afs must be unmounted, and afsd to report it commit 9a1af108483532432b8a14c8e2b47a08ea97d310 Author: Nickolai Zeldovich Date: Tue May 21 07:37:53 2002 +0000 Zero out some fields to avoid random crashes in "cmdebug host -cache". commit c5222d45ecf0476091509c31318d1b4a50c35a4d Author: Nickolai Zeldovich Date: Tue May 21 07:35:57 2002 +0000 Report correct cache size when -memcache is used. commit 31f658f450f9bbcc0a59ff844f83a3c34745ea54 Author: Nathan Neulinger Date: Tue May 21 06:35:45 2002 +0000 aix-fix-objdir-build-20020521 make objdir builds work on aix commit 101fbbf97b5c5ddf2d2b80badef962aba6f4daeb Author: Chaskiel M Grundman Date: Tue May 21 06:30:27 2002 +0000 pts-sysviewer-should-be-able-to-listowned-20020521 fix so the "any reader" can really read anythinmg commit 63ea4ee399b9fc2a52d81ace70e9902424195c2e Author: Daria Phoebe Brashear Date: Thu May 16 14:54:42 2002 +0000 NT-dirpath-copy-in-useful-file-20020516 basically until NT port has been properly set up to deal with dirpath, make it work as before commit c28c22ceadfb1db8151ae74dacee2a49c42624db Author: Daria Phoebe Brashear Date: Thu May 16 14:47:28 2002 +0000 afs-attrs-cast-date-to-int-to-avoid-negative-dates-20020516 cheap hack to avoid negative date problem which occasionally plagues solaris commit 10486b5652f0fb5a1d8c1fe5ddbbf5daa2477974 Author: Nathan Neulinger Date: Thu May 16 13:54:56 2002 +0000 pioctl-avoid-inadvertantly-setting-new-pags-due-to-gcc-20020516 some versions of gcc compile the if used to decide whether to allocate a pag badly. make life easier. commit 8251fc6871a65326150be69b929917b37d83e215 Author: Derek Atkins Date: Wed May 15 21:04:15 2002 +0000 osi_linux_unmask() needs to explicitly flush_signals() before calling recalc_sigpending(), otherwise recent kernels don't appear to deliver new instances of any signals already received. Revert back to using SIGKILL at shutdown time, but use SIGKILL instead of explicitly using signal 9, because abstraction is your friend. commit 097df1049a6316f087e1c79b30a332358fa761c9 Author: Derek Atkins Date: Tue May 14 23:56:40 2002 +0000 Seems to fix a hang at shutdown time seen on Redhat 7.3 kernels; doesn't appear to affect older kernels. commit fe6b4fd293f789c4d9f8f62401e31a78b466b09b Author: Derek Atkins Date: Tue May 14 23:48:35 2002 +0000 Allows us to build modules for the bigmem kernels redhat started shipping. commit 0eb68f307aac84472a13523a0ce8b7a865f01ac7 Author: Daria Phoebe Brashear Date: Tue May 14 21:21:09 2002 +0000 dir-hold-afs-bufferlock-across-increment-of-buffer-lockers-to-prevent-newslot-from-walking-on-stuff-20020514 liberal debugging code and hammering produced a failure where newslot was actually walking on another call to newslot because the bufferlock was being dropped before newslot incremented lockers on the buffer it was allocating, allowing someone else to come along and also think they could allocate it. by holding the bufferlock just a little longer we avoid this commit 50473f885f07857d03b963bf43c5b24771b4913b Author: Garry Zacheiss Date: Mon May 13 02:20:40 2002 +0000 Update NEWS file with user visible changes in 1.2.4. commit 81a3f0068f3488b7fb20fb9d6b7441f64f5b61e0 Author: Nickolai Zeldovich Date: Thu May 9 21:37:29 2002 +0000 Avoid kernel panic when dynroot and memcache are used simultaneously. commit ee798e49f23d7894c92275fc3d69b8b5c3c516a2 Author: Daria Phoebe Brashear Date: Thu May 9 16:56:46 2002 +0000 viced-cleanup-dirhandle-references-after-ourselves-20020509 doesn't fix any problem that i can find, but results in ihandles not having thousands of bogus references (and may fix problems if refcnt were to wrap) commit bac8c825478e309c225494f031ba9c6fd62817ee Author: Garry Zacheiss Date: Tue May 7 21:01:27 2002 +0000 Use vsu_ExtractName() to get the RW volume name before doing the vid lookup for addsite and remsite operations, since "vos addsite foo.bar.readonly" is such a common thinko. commit 6aae6c02849dfed30fab3a407ff445353f1c5e31 Author: Nickolai Zeldovich Date: Mon May 6 08:13:10 2002 +0000 Undo need-prototype-for-osi-dnlc-lookup-20020503, as it created double inclusion of afs_osidnlc.h. An equivalent patch was already present in the mainline as part of linux-dcache-inconsistency-fix-20020115, but its pullup to the stable branch, STABLE12-linux-dcache-inconsistency-fix-20020120, was oddly missing this particular part of the diff. commit eea3bf3d4312b8986e1c58b92536a9dd359dd1cd Author: Chas Williams Date: Fri May 3 20:03:34 2002 +0000 Include afs_osidnlc.h for osi_dnlc_lookup() prototype. Apparently fixes a panic on ia64. commit 1e90eb264895b5bbe974c7c8c32dbf89e48d6081 Author: Chas Williams Date: Thu May 2 16:11:14 2002 +0000 linux-ia64-build-pam-module-20020502 keep small globals from being gprel commit 25de65bc0bba9bc2df382dc34c1c5b0c1460aca5 Author: Chas Williams Date: Thu May 2 15:38:16 2002 +0000 linux-ia64-no-asm-syscall-stubs-20020502 rewrite syscall stubs not in machine code commit 7147cc946bead75eee909ea1134bc542c0b09c4f Author: Kevin Coffman Date: Thu May 2 07:35:33 2002 +0000 linux-revalidate-root-always-good-20020502 avoid ESTALE in 2.4.19-pre7 commit ea0b193c19b4359bbe33516921b40a00de1e84ae Author: Chaskiel M Grundman Date: Tue Apr 30 01:24:11 2002 +0000 README-NT-provide-file-locations-20020429 give people a clue where to get things from commit 5cbc233c648e968381a473a6bc1d6d599d1738d0 Author: Srikanth Vishwanathan Date: Tue Apr 30 00:40:22 2002 +0000 vol-ihandle-cleanup-20020429 this does fix some potential problems, even if none of them are the CopyOnWrite problem. basically, ih_reallyclose() could reinsert a now-unref'd fd handle into the wrong list when cleaning up, and this cleans up the code considerably. commit c2e075fba4cec152e772ec5514d52e8ec5b29990 Author: Chaskiel M Grundman Date: Mon Apr 29 16:31:54 2002 +0000 darwin-use-namei-fileserver-20020429 build the right fileserver on darwin commit 291e8352be1ee0c6e3da79328e752b82a7a13190 Author: Chaskiel M Grundman Date: Mon Apr 29 16:32:24 2002 +0000 cvsignore-updates-20020429 add missed fc_test commit a31928815796bcbd1acf3005a0f628a21bbb0d8a Author: Nickolai Zeldovich Date: Fri Apr 26 22:33:55 2002 +0000 If the inode is not allocated, don't bother updating timestamps. Pointed out by Frank.Batschulat@Sun.COM. commit be1458b07817900d15f5c069ea66b72ef50b91e9 Author: Nickolai Zeldovich Date: Fri Apr 26 22:27:29 2002 +0000 Don't spawn a separate kernel thread for rx kernel listener under Solaris, but instead just use the afsd fork for the listener. Use of newproc() is deprecated, according to Frank.Batschulat@Sun.COM. commit 1ccedea1a0d978f213a9051e15b5e5efb7ccffe8 Author: Chaskiel M Grundman Date: Thu Apr 25 22:44:53 2002 +0000 darwin-map-more-versions-20020425 5.3 and 5.4 are "Same" enough commit 0c0eb03e9a806dc84b7c3251478de4766a8fd853 Author: Chaskiel M Grundman Date: Thu Apr 25 22:18:23 2002 +0000 rxkad-stats-initialize-to-placate-darwin-compiler-20020425 because it deals badly with common symbols commit 8268bf34acd715d28137a3d601252fd235d1a9fb Author: Chas Williams Date: Tue Apr 23 14:45:51 2002 +0000 linux-ia64-cleanup-casting-20020423 so we don't need the SYSCALL2POINTER change commit 5d57da192ea989d9ab4e83cb5f721a7975def9fb Author: Chaskiel M Grundman Date: Tue Apr 23 04:26:36 2002 +0000 sparc64-linux-and-setgroups32-cleanup-20020422 update setgroups32 for 2.4 and make sparc64 linux2.4 work again commit e12859bed90a0bd896150b7cfc137d0ef52e48c3 Author: Chas Williams Date: Tue Apr 23 04:03:29 2002 +0000 linux-ia64-updates-20020422 updates to make it work with later 2.4 SYSCALL2POINTER change may be unnecessary (sparc64 way should work) but without any way to test... commit 27595ffcd995dc31c565acdb630d5b60a275fe27 Author: Nickolai Zeldovich Date: Mon Apr 22 18:16:16 2002 +0000 The heldp argument to h_Lookup should be an int* rather than int, as pointed out by amu@alum.mit.edu. commit 6d43ab450a907bb1eccf9561c37c108202cd8e52 Author: Chaskiel M Grundman Date: Mon Apr 22 17:05:10 2002 +0000 darwin-vnops-make-unlink-fix-fake-references-20020422 so unlink doesn't panic us commit df363edad10f0cbc7f1f34fd0f79a155525415e7 Author: Jeremy Stribling Date: Mon Apr 22 16:42:21 2002 +0000 libadmin-pts-allow-listing-all-users-and-groups-20020422 so the java api can take advantage of this commit 7158ef3ae57a97c4b7bb03527cb162ba968a2b35 Author: Daria Phoebe Brashear Date: Wed Apr 17 23:29:04 2002 +0000 ubik-allow-netinfo-netrestrict-to-mask-address-pointed-to-by-hostname-20020417 if you really want to mask the IP address from gethostbyname(gethostname()) there's not really any reason to stand in your way commit d4493526a764f5d4d1ef6a437ab8cfa467077be6 Author: Nickolai Zeldovich Date: Mon Apr 15 22:36:00 2002 +0000 Make h_Lookup_r return the host held, and ensure that it's not deleted at that point; otherwise, the host may be deleted by another thread between a call to h_Lookup_r and the time when we actually get around to h_Hold'ing it. commit 301d83202c8d969197ea9515e02eb93c1b2bd72f Author: Nickolai Zeldovich Date: Thu Apr 11 08:18:11 2002 +0000 Pass &treq to afsrename() when preserving a currently-open file. commit a1925f8cafca91c59da076d6af8ee086765f5338 Author: Nickolai Zeldovich Date: Tue Apr 9 20:21:59 2002 +0000 Fix more places where afs_EvalFakeStat arguments were out of order commit c2109aba5c3a281ffe7c6e9150324a2aa66b9aaf Author: Pavel Semerad Date: Tue Apr 9 19:08:10 2002 +0000 fakestat-fix-eval-args-ordering-20020409 fixed bad args ordering in call to afs_EvalFakeStat commit 7747fce7e77e45ebb22728498052e96f527d2de0 Author: Daria Phoebe Brashear Date: Fri Apr 5 19:13:32 2002 +0000 linux-newvcache-more-simplification-20020405 based on suggestion from vsrikanth@in.ibm.com eliminate extra for loop, flatten function to drop dentries, fix locking error i introduced commit 607c17c8a97bd10367c98397089554d316c52492 Author: Daria Phoebe Brashear Date: Thu Apr 4 20:03:13 2002 +0000 solaris-nfstrans-make-it-compile-20020404 it compiles. it's not pretty, but it does compile commit 7c20aa608273c5af8829183b325acbb2c356e038 Author: Nickolai Zeldovich Date: Wed Apr 3 07:20:07 2002 +0000 Clear the RX_CONN_ATTACHWAIT flag when an asymmetric client's calls time out; otherwise, the client could be locked out until the conn is recycled. commit 999c7fb70dca5153c58e4f0c9bc6c1d86003865b Author: Nickolai Zeldovich Date: Tue Apr 2 18:35:03 2002 +0000 Don't make tvc a register, since we want to dereference it later on. Pointed out by nneul@umr.edu. commit 6b33ed2b0544ca8b80a098af8db98e9714f41415 Author: Nickolai Zeldovich Date: Tue Apr 2 06:09:48 2002 +0000 Initial fakestat support (fake mountpoint directory attributes). Useful for quickly stat'ing everything under /afs, for instance. Reasonably tested on Solaris, and appears to work on Linux too. Enable with 'afsd -fakestat'. commit fd318a1fc9551a156cdb43916143d3b959b6720f Author: Nickolai Zeldovich Date: Mon Apr 1 20:18:50 2002 +0000 Fix build on Darwin (missing close paren). commit b0e4e7bcbfb911563f68cd91c21d905738123d72 Author: David Bailey Date: Mon Apr 1 17:25:37 2002 +0000 winnt-servermgr-use-existing-creds-option-20020401 This adds /useexisting to use current AFS creds, bypassing the initial authentication dialog box. It's useful if you're not running kaserver (i.e. if you've moved over to kerberos 5) and can't authenticate again by the normal AFS means. commit b08f021fc924f24fe82dae79fa9ff30ff0a17572 Author: Nickolai Zeldovich Date: Sat Mar 30 18:02:40 2002 +0000 Add osi_Assert()'s around pthread_{cond,mutex}_* calls to make sure we aren't getting errors anywhere. Update the documentation/comments about Rx lock ordering. Fix possible deadlock in asymmetric client detection code. commit 8011b683bc72968afcf69d6c7220716281bcba55 Author: Daria Phoebe Brashear Date: Thu Mar 28 22:00:55 2002 +0000 afs-dont-mask-rights-granted-by-lookup-20020328 lookup is sufficient for this, fix the client not to bogusly enforce extra restrictions commit 4beb9adb661bade7caff8adf40ecb3882ae7deac Author: Daria Phoebe Brashear Date: Thu Mar 28 20:43:03 2002 +0000 linux-dcache-create-negative-dentries-22-needs-while-still-avoiding-vlru-cycle-20020328 based on patch by Srikanth Vishwanathan and modifications based on suggestions from Ted Anderson applicable to this part of the code. the original theory we operated under, namely that negative dentries could be banished entirely, causes file creation to stop working under linux 2.2 kernels. reverting that change means we have to deal with these negative dentries, and Srikanth's original suggested patch does so. commit 1ad668aee2c995e44974f89728b1d5e13470aec1 Author: Nathan Neulinger Date: Mon Mar 25 18:35:07 2002 +0000 fstrace-fix-memory-leak-20020325 avoid leaking catalog reference on failure commit 13f864f21e28893cf482dcc51b498698f9ecc006 Author: Nathan Neulinger Date: Mon Mar 25 18:30:09 2002 +0000 cvsignore-update-for-autoconf-25-20020325 autoconf 2.5x turds to ignore commit 39ee79e7c328d86738356aa5a736e24339f8b126 Author: Daria Phoebe Brashear Date: Mon Mar 25 18:09:22 2002 +0000 convert-linux-macros-for-inodes-appropriately-20020325 even though right now a vnode and an inode are basically but not exactly the same, part of the usefulness of this change is the ability to convert to inodes linked from vcaches later. make the macros fit with this view of the fture commit 3bf8818d956337fcf70a2734f200275f403e8814 Author: Johan Danielsson Date: Mon Mar 25 17:39:55 2002 +0000 convert-vcache-casts-to-macros-20020325 convert vcache casting in cache manager to macros should ease further changes later commit c4ac62f829f5642b72df9e01438fc4545cda98f9 Author: Nickolai Zeldovich Date: Sun Mar 24 23:39:01 2002 +0000 Clean up some more ViceLog calls to consistently refer to hosts in a format like 18.239.2.102:7001, rather than memory address or hex IP. commit 41f047edf69ad7c6c83cfa94f410f0daa9bb91fd Author: Nickolai Zeldovich Date: Sun Mar 24 19:21:35 2002 +0000 Verify that name lengths are at most AFSNAMEMAX and symlink contents are at most AFSPATHMAX (notably, the Linux kernel doesn't check this for us); bug report by nneul@umr.edu. commit 0329c5fbb42d14da20acb97ebda48b9974220b0e Author: Nickolai Zeldovich Date: Sun Mar 24 19:08:45 2002 +0000 Initialize tvc in afs_remove so that we don't call afs_PutVCache on stack garbage in case of some failure. commit d30a319f8d8c8a536bb8dfd9f3af7fa8fb235440 Author: Nathan Neulinger Date: Fri Mar 22 21:56:44 2002 +0000 rx-glock-order-headers-correctly-so-its-defined-or-not-consistently-20020322 fix for earlier change to RX_AFS_GLOCK() commit ef1ee322deb3a2e21c9d78a1b44375b8f7768de0 Author: Daria Phoebe Brashear Date: Thu Mar 21 18:44:19 2002 +0000 afs-memcachetruncate-takes-memcacheentry-not-inode-20020321 prototyping caught this; the usage is inconsistent with other cases and i believe this is the correct fix. it's not clear to me why we weren't seeing problems from this, though commit 4f1ca9bb2ebcad7e4e1c7ebea42eb361d506dcc8 Author: Nathan Neulinger Date: Thu Mar 21 18:11:50 2002 +0000 afs-checkservers-call-getuser-with-cell-index-20020321 this means to be calling afs_GetUser with a cell index, not with the cell structure itself commit f749ef6e024cf17911a52ade9be9b409fa25d29c Author: Love Hörnquist-Åstrand Date: Wed Mar 20 18:59:56 2002 +0000 rxkad-regression-test-20020228 regression test for rxkad commit 7ffbc40b212a38de92da562d285e715150e9d771 Author: Mattias Amnefelt Date: Wed Mar 20 18:38:28 2002 +0000 tru64-avoid-leaking-vnodes-when-failure-20020320 tru64 needs vrele when an error happens, rather than just returning. make sure we do so commit a093138a6d8f91068bec2cff1adcfafbacf7b65f Author: Nathan Neulinger Date: Tue Mar 19 22:03:30 2002 +0000 commit bd35700f8fdfaf2f8b19c7b032b2395aa458c19e Author: Daria Phoebe Brashear Date: Tue Mar 19 22:01:30 2002 +0000 sys-add-aix-syscall-exports-removed-incorrectly-earlier-20020319 to export syscalls as functions you need the magic exp file ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== and also reinstall them for the user cache manager library commit 209f1c22577c2314a896de997bd7939fab2e3d52 Author: Nickolai Zeldovich Date: Mon Mar 18 03:03:04 2002 +0000 Allocate the exact string length needed for the string in symlink contents, rather than assuming that symlink data never contains nulls (or that it's of the length we expect). commit 246f955432b4d00d8f1ffbe62aa9c2a048833c2f Author: Nickolai Zeldovich Date: Mon Mar 18 02:51:13 2002 +0000 Call afs_PutCell after afs_GetCellByIndex, even though right now it doesn't do anything. commit efa250bd1c4bf2c8d6ac74d9f866a842a020d7cf Author: Love Hörnquist-Åstrand Date: Sun Mar 17 17:59:04 2002 +0000 nbsd-fileserver-dont-leak-fds-20020317 file server now works usefully on netbsd commit fc09b92dce32025c8e1ac762b3f8f07bc731869a Author: Daria Phoebe Brashear Date: Sun Mar 17 17:53:00 2002 +0000 callback-function-fixes-20020317 suggested by lha@stacken.kth.se drop locks when rxi_Alloc fails, and rework SRXAFSCB_GetCellServDB to use afs_GetCellByIndex. He suggested same for GetLocalCell, and as long as cell 1 and not CPrimary is the local cell indicator that works, but I left that part of the code as is for now. commit 5b1310f346f0f12ceac31d4d8684210cbcbc3198 Author: Nickolai Zeldovich Date: Sat Mar 16 22:17:29 2002 +0000 Add a -cache flag to cmdebug to remotely obtain cache manager configuration parameters. commit 1fe41530c1c1a6b75a7716ed849ff37be4294317 Author: Nathan Neulinger Date: Thu Mar 14 19:57:12 2002 +0000 Fix typo: OMIT_FRAME_POINTER not FOMIT_FRAME_POINTER commit c360bb35ce506ad9ab425fea43b96a708e0ed1d9 Author: Nathan Neulinger Date: Thu Mar 14 19:50:48 2002 +0000 Zero out the "allocated" flag so that we don't accidentally free something that wasn't allocated. commit 2dbc58bc4a00a7ba755327b22b3fbd5fb05889a6 Author: Daria Phoebe Brashear Date: Sun Mar 10 19:26:41 2002 +0000 solaris-vfsck-allow-force-runs-when-old-inodes-exist-20020310 if running with -y report old inodes and continue anyway commit 372da2bebc1eb10aaacf4532d4cd5aea901a3c83 Author: Daria Phoebe Brashear Date: Sun Mar 10 19:23:38 2002 +0000 revert-part-of-linux-dcache-inconsistency-fix-20020115 may revisit this before release; however, open_namei on 2.2 wants a dentry returned to it and so without this change, creating files in afs breaks commit a5cb7c256b8516dce3319cadf746539c50b09a8c Author: Love Hörnquist-Åstrand Date: Sun Mar 10 19:07:56 2002 +0000 rxgen-prototypes-fixes-20020310 prototype fixes as fallout from rxgen header prototypes emit server stubs which include header as well commit bfa8c6a78810862ba97cc3990f75b8d1afa701c5 Author: Love Hörnquist-Åstrand Date: Sun Mar 10 18:44:22 2002 +0000 netbsd-allow-param-file-inclusion-20020310 fix param files so ifdef error does not preclude inclusion at all commit c06ff599ddc3c3d890ca2967a54217ed1a7a9a04 Author: Love Hörnquist-Åstrand Date: Sun Mar 10 18:41:52 2002 +0000 afsmonitor-strcasestr-in-freebsd-not-netbsd-20020310 1.5 and current have no strcasestr commit edd10398afe756afb8b7d8abbb73324e3a1b2cfd Author: Derek Atkins Date: Sun Mar 10 18:39:45 2002 +0000 configure-allow-kernel-debugging-support-20020310 currently for linux only, but allow it for others in the future commit 908e05adbedd1130279d82cfe4ee8e9c11c9a4cc Author: Yee Jiun Date: Sun Mar 10 18:24:16 2002 +0000 winnt-deal-with-compiler-packing-20020310 use pragmas to hit compiler into packing smb_tran2QFSInfo usefully commit 571f314329ad8213c604618fa323ce10bec636dc Author: Nickolai Zeldovich Date: Fri Mar 8 06:08:05 2002 +0000 viced-call-safss-functions-with-acall-not-tcon-20020307 based on report from mattiasa@e.kth.se who has the following feedback from lha@e.kth.se: Patch from Love to make filserver not loop on MUTEX_ENTER() in rx_SetSpecific() commit de6a2911468669fcc94a4c869f0e36cd09566387 Author: Chaskiel M Grundman Date: Fri Mar 8 06:03:34 2002 +0000 freebsd-use-fake-refs-to-hold-inodes-20020307 unlike macos x a fake ref works for freebsd commit f0aea5e186d03c9eb05ef804dbcf93a5e03ac281 Author: Mattias Amnefelt Date: Fri Mar 8 05:59:32 2002 +0000 makefiles-dont-hardcode-optimization-flags-20020307 allow setting optimization in CFLAGS in makefiles use -g3 on tru64 commit c1bb9648b2247473295783a2474afa34fd7327f2 Author: Daria Phoebe Brashear Date: Fri Mar 8 05:48:54 2002 +0000 fix-stats-structure-ordering-20020307 report from jhutz@cmu.edu says client-64bit-file-size-support-20011031 was broken in this way commit f3bcfda51f5aa1185c3fab6b1c56d5c5165426f1 Author: Derek Atkins Date: Fri Mar 8 04:57:56 2002 +0000 linux24-fix-memcache-20020307 The problem is that on 2.4 the 'code' variable is over-written during the path walk, such that by the time it's checking if the inode exists, code is already '0'. But if the inode does not exist, code should be ENOENT to show that the file does not exist. commit 459815329bc52d5d264ed5f1ffbfae490d88a552 Author: Mattias Amnefelt Date: Mon Mar 4 16:47:22 2002 +0000 dux-make-namei-fileserver-work-20020304 namei should now work on tru64 (tested on 5.0a) commit 7b4d6af73d92512950265443f6fe3cff6ada4650 Author: Mattias Amnefelt Date: Mon Mar 4 16:44:00 2002 +0000 dux-autoconf-tweaks-20020228 make tru64 5.0a build work ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== and make 4.0d work again as well commit c642825ba83bc7ef98c2760fbbf209d82705cad6 Author: Nathan Neulinger Date: Thu Feb 28 20:00:40 2002 +0000 butc-make-xg-match-code-20020228 this may need to be revisited in the future but in the meantime the rpc stubs match the code commit cfba7e00684a1f45f82285bcbadbc4571ab294d2 Author: Nickolai Zeldovich Date: Thu Feb 28 06:34:15 2002 +0000 Use AFS_RXDEADTIME instead of hardcoding a value of 50 commit 7138b2734cebbf93af4dd69c04cba242c20241b5 Author: Mattias Amnefelt Date: Thu Feb 28 06:10:47 2002 +0000 afs-servers-use-rx-setnojumbo-interface-20020228 use rx library interface instead of tweaking in each program commit 48d411fa4e074f79f7f51e50358deb9cb2d322c1 Author: Nathan Neulinger Date: Thu Feb 28 06:08:10 2002 +0000 afs-rx-enable-locks-cleanup-20020228 use RX_AFS_GLOCK macros instead of ifdef wrappers commit 12f595485ec9f4511a7f39c9723db43f775e98f7 Author: Nathan Neulinger Date: Thu Feb 28 06:05:14 2002 +0000 vnop-lookup-fix-putvcache-calls-to-match-prototype-20020228 provide unused 2nd arg to putvcache commit 676a493f5b97854bf20509841300355bab40cf0f Author: Nathan Neulinger Date: Tue Feb 26 23:35:26 2002 +0000 Really apply improve-type-safety-and-prototype-matching-20020226. Somehow only the first 128K of afsfileprocs.c got copied over before. commit 864edcbc52d6721aaeea7a0a44f73e663ed4ef7c Author: Nathan Neulinger Date: Tue Feb 26 23:26:36 2002 +0000 Make the SRXAFS_* functions match prototypes by taking an rx_call instead of rx_connection, and make CallPreamble() type-safe by taking two arguments instead of magically turning an rx_call into rx_connection. commit 18fdd2a2330f2a4e0a7152d17729f741439488bc Author: Nickolai Zeldovich Date: Tue Feb 26 22:53:59 2002 +0000 Fix more build problems due to prototypes produced by rxgen. commit 385037490f3b7fbdb0c364f1d03f30cb144dfb06 Author: Nathan Neulinger Date: Tue Feb 26 16:47:33 2002 +0000 comerr-fix-objdir-builds-after-sun-make-change-20020226 use lex source from srcdir commit 592d0fb0cd7a68ee5976fe3655e24b6ffb001e91 Author: Nickolai Zeldovich Date: Tue Feb 26 16:44:54 2002 +0000 ubik_tid and ubik_version now come from ubik-int.h commit ebb45c54d9a53906c2dc1245199cb95a0260252b Author: Nickolai Zeldovich Date: Mon Feb 25 09:31:08 2002 +0000 Fix some of the fallout from having rxgen-fabricated prototypes. commit ec04dd0090b69f3cd39c93498da6175b2eb1a842 Author: Nickolai Zeldovich Date: Sat Feb 23 09:38:11 2002 +0000 Make sure we have enough memory to allocate the return list. commit 1e6bc5de521a319a8a247738f41065a1e11fec2b Author: Nickolai Zeldovich Date: Fri Feb 22 09:00:36 2002 +0000 Fix minor build errors, and rename the dumpId argument of butc's DeleteDump to avoid collision with budb's #define dumpId. commit feb689396ccc39f304db05cb69dc8db3506de921 Author: Nickolai Zeldovich Date: Fri Feb 22 08:58:20 2002 +0000 Always verify that the client is fully reachable before talking to it, in the fileserver. This prevents some additional lossage cases with poorly-connected clients. Disable same feature for other Rx services, since they don't need to incur extra RTT delay. commit 0dfa0954ffdf25f93e44394fce9d0f1c0872576e Author: Nickolai Zeldovich Date: Fri Feb 22 08:03:30 2002 +0000 Fix build when INSTRUMENT_LOCKS isn't defined commit 3cced4ee453f635703513013e7ae1ee76351f9ac Author: David Howells Date: Wed Feb 13 04:09:14 2002 +0000 rxgen-generate-function-prototypes-20020212 actually from David Howells of Red Hat. generates function prototypes in rxgen-emitted headers commit 87843056e53f7ff72d20bae0837f9be31a7a33b7 Author: Daria Phoebe Brashear Date: Thu Feb 21 07:07:52 2002 +0000 test-suite-run-script-make-setup-not-use-localcell-inadvertantly-20020221 was a case where we could end up testing "localcell" by accident commit bf1e47a218c0030f07faae600a70b4c4c24f4fab Author: Daria Phoebe Brashear Date: Thu Feb 21 06:31:13 2002 +0000 test-suite-update-ka-database-20020221 cached copy that works commit d92d4ac69f55e89b9b32b8927d722e1b040bc783 Author: Daria Phoebe Brashear Date: Thu Feb 21 06:25:34 2002 +0000 bos-listkeys-fix-test-20020221 cksum can be either number commit 4f8f508e04ab8f4267b6950e36745c1f3f10ada9 Author: Daria Phoebe Brashear Date: Thu Feb 21 06:06:00 2002 +0000 test-suite-run-tests-export-shell-20020221 set $SHELL to override whatever your shell sets commit acf19ae7e92aaf4f283a6bf1fca3b4e4f24f4042 Author: Daria Phoebe Brashear Date: Thu Feb 21 05:18:35 2002 +0000 test-suite-updates-20020221 minor tweaks found making solaris work commit aeeecc446b01258a443cb5705484ba90217407df Author: Daria Phoebe Brashear Date: Thu Feb 21 05:15:28 2002 +0000 test-suite-make-sure-test-script-is-executable-20020221 since configure creates the script, just chmod it commit 148b57dff5feed7c48b8ea83e1a570df722702b1 Author: Daria Phoebe Brashear Date: Thu Feb 21 04:29:22 2002 +0000 back-out-bosserver-dont-enforce-world-readability-on-server-etcdir-20011126 on a server where bosserver sets up /usr/vice/etc with symlinks, the links are /usr/vice/etc/* -> /usr/afs/etc/* oops commit 3a6b630ce11cf0253543fa5ba56bd1eca5b9a4f6 Author: Jaroslaw Polok Date: Tue Feb 19 19:23:46 2002 +0000 pam-makefile-fix-dependancies-20020219 the rest of the patch is already in CVS but missed being pulled up to 1.2.3 commit d116b27ebe67bb90b3a85557f9273f9473a27744 Author: Daria Phoebe Brashear Date: Tue Feb 19 18:29:16 2002 +0000 test-suite-solaris-fixes-plus-some-kaserver-glue-20020216 make it all build on solaris. provide necessary files to set up a kaserver and authenticate against it (albeit with "known" keys) commit 14f28d4fe5d8e6b93d87851b183e6531609357dc Author: Daria Phoebe Brashear Date: Tue Feb 19 09:14:54 2002 +0000 makefile-use-filename-instead-of-dollar-questionmark-20020219 at least some versions of sun make try to run this as lex -t ex_lex.lex.l ex_lex.lex.l instead of lex -t ex_lex.lex.l commit 1902efa41c15a60d4f1a9fed42036f7713e446c0 Author: Daria Phoebe Brashear Date: Mon Feb 18 21:09:47 2002 +0000 dir-create-initialize-null-to-avoid-drelease-on-garbage-20020218 if FindItem returns without setting previtem this is never initialized commit bd707fb7e6e037ba0ae6e9addedca907cdaf5af0 Author: Chaskiel M Grundman Date: Sat Feb 16 18:23:44 2002 +0000 freebsd-almost-working-client-20020216 a) a freebsd client that compiles, and to a certain extent, works. Should not be used except by people doing freebsd client development b) configure glue for freebsd 4.3, 4.4, and 4.5 c) freebsd tfileserver support. Note that, by default, this isn't very interesting, as the supported freebsd pthreads are just as cooperative as LWP. if you install the linuxthreads port and swap the MT_* variables in osconf.m4, you will get a more traditional tfileserver though. configure glue for that will be forthcoming at some point. d) a maybe-fix that sets sin_len in sockaddrs on platforms that have them. (and also a fix for the AC_PROG_CC issue which affects autoconf 2.13 and 2.5x on same conf files issue) commit 0b2f7b748ebcc625a99dd78c4c9628219404e1df Author: Daria Phoebe Brashear Date: Sat Feb 16 18:09:26 2002 +0000 test-suite-solaris-fixes-plus-some-kaserver-glue-20020216 make it all build on solaris. provide necessary files to set up a kaserver and authenticate against it (albeit with "known" keys) commit f6525247abd62427a05806608a6b58999cfe1a1a Author: Daria Phoebe Brashear Date: Fri Feb 15 14:00:39 2002 +0000 linux-osi-alloc-up-alloc-sem-while-alloc-to-avoid-deadlock-against-glock-20020215 Based on report from David Howells of RedHat (via Guy Streeter) commit d0ffec1b282518ab6d1395bfaad66f0ea8fe9feb Author: Nickolai Zeldovich Date: Fri Feb 15 05:07:13 2002 +0000 Use autoconf to check for p_corefile in struct proc, rather than assuming it exists in Solaris 7 and above; nneul@umr.edu reports that it doesn't for some kernel revision. commit d7dca002beb55eefe49227db9e8e2ee4c4bb6170 Author: Daria Phoebe Brashear Date: Fri Feb 15 04:38:59 2002 +0000 rx-event-deal-with-gcc-296-this-time-for-sure-20020214 somehow i suspect one of our platforms doesn't do volatile and i'll regret this, but this stops linux i386 when afs_int32 is an int from going off into la-la land when an Rx retransmit is needed commit 0cc7a074866c95b7b29e5b508a70c937e88967a4 Author: Daria Phoebe Brashear Date: Fri Feb 15 04:23:24 2002 +0000 rx-clock-cast-comparison-macros-to-int-20020212 gcc 2.96 appears to miscompile these ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== undo. the bug was a little more subtle and my debugging code masked it commit aef9d3502309f441640419f70f2dd8949395b32f Author: Ted Anderson Date: Wed Feb 13 20:00:18 2002 +0000 vol-salvage-add-missing-parameter-to-logging-20020213 bad trace statement due to missing parameter; added commit 808946cad88f45d2862345cae935eecd7b551345 Author: Laura Stentz Date: Wed Feb 13 09:37:59 2002 +0000 afsweb-add-netscape-config-script-20020213 this was omitted from the original release and now can be included commit 9a6dbb4df705e063a6ab093b29e7619321aeb565 Author: Nathan Neulinger Date: Wed Feb 13 04:00:57 2002 +0000 viced-printinode-returns-string-not-number-20020212 based on feedback from ota@transarc.com PrintInode returns a string, use it commit c446c128e9be75fa8617a11403d867a8885ee80b Author: Nickolai Zeldovich Date: Fri Feb 8 19:50:00 2002 +0000 Allow AFS to shutdown on Solaris (and subsequently be reloaded and restarted). Still leaks memory, unlike the Linux module. commit cbcef0bd40bb68f786d11a610394f4668f20e30b Author: Hartmut Reuter Date: Fri Feb 8 17:28:44 2002 +0000 Don't grab tdc->lock when tdc is null. commit ebcef806960b3507d4de6edfd59a89c37b6ca2fd Author: Nickolai Zeldovich Date: Fri Feb 8 07:05:34 2002 +0000 Properly AFS_GUNLOCK() when returning an error after having previously AFS_GLOCK()'ed, in afs_mount() and afs_unmount(). commit 21455cdba29829fffbb9355495198a4c2a77bc24 Author: Nickolai Zeldovich Date: Thu Feb 7 03:07:23 2002 +0000 Include linux/sysctl.h after afsconfig.h, since we need the modversion stuff first. commit 1f34ef48736934b444488960a91426b9ab317f7a Author: Kris Van Hees Date: Thu Feb 7 00:06:35 2002 +0000 linux-provide-sysctl-interface-20020206 provide sysctl interface for toggling module state. provide hooks for all currently known tweakable items commit e7b3045d8ece68712d2bd07b8e92c90027dee870 Author: Nickolai Zeldovich Date: Wed Feb 6 23:57:44 2002 +0000 solaris-p-crlock-not-safe-to-hold-across-call-to-crset-20020206 crset() expects p_crlock to not be held when it's called; deal accordingly commit 918d96d66548ecff818ec438f26ae06abc3bd34e Author: Daria Phoebe Brashear Date: Tue Feb 5 21:58:03 2002 +0000 newvolumebyname-analyze-the-vrequest-actually-used-20020205 it's ok to support a null request being passed in, but if a real one is passed in we shouldn't analyze it when it's not the one we used when making calls. commit 9311437f3de8052027cd1b6b2ded63259856e50b Author: Nickolai Zeldovich Date: Sat Feb 2 18:33:49 2002 +0000 Add the necessary includes for AFS_ISGLOCK, AFS_GLOCK, AFS_GUNLOCK. commit b7b178842458b274f9e5d45dbd1bb50826a3d58a Author: Hartmut Reuter Date: Fri Feb 1 22:12:51 2002 +0000 viced-callback-avoid-potential-looping-problem-20020201 avoid case where we never come out of loop attempting to clear host cvallbacks commit 7b8d569f42d9906ef0ed0b11f66962e00ad04cc6 Author: Nickolai Zeldovich Date: Fri Feb 1 20:29:59 2002 +0000 First pass at better signal handling: -- Add afs_osi_SleepSig, which returns EINTR when interrupted by signal. -- Similar CV_WAIT_SIG for Rx code. -- Implement afs_osi_SleepSig and CV_WAIT_SIG for Linux, Solaris. -- Use afs_osi_SleepSig in afs_{UFS,Mem}Read, allowing user to interrupt an AFS read if it's being handled by background daemon. -- Balance the number of open & close braces in CV_TIMEDWAIT macros, even though noone uses them. -- Untangle parts of the macro forest by moving some of the Rx CV code into rx_kmutex.c. commit 7573d5ed14df78d619a035ca50981f7ae3bfd5b6 Author: Nickolai Zeldovich Date: Wed Jan 30 21:13:48 2002 +0000 Block signals when sleeping in CV_WAIT() and CV_TIMEDWAIT(), similar to the linux-avoid-signal-wakeups-while-sleeping-20020129 change for afs_osi_Sleep(). commit cc8f0afbad688fde60468e5811ac18b75f24886a Author: Nickolai Zeldovich Date: Wed Jan 30 16:16:23 2002 +0000 Avoid deadlocking with afs_ResetVolumeInfo in InstallVolumeInfo and InstallNVolumeInfo, like we already do in InstallUVolumeInfo. commit 79afed93d2369e04478c18562c8f23d4713ed990 Author: Daria Phoebe Brashear Date: Tue Jan 29 22:34:13 2002 +0000 readd-t-uniq-bad-as-binary-20020129 oops commit 41fb11e6b23ba320f7fff442b2b6c3b01c339ad0 Author: Nickolai Zeldovich Date: Tue Jan 29 17:36:20 2002 +0000 Block all signals while sleeping; this prevents 100% cpu usage when a process waiting for an afs operation to complete receives a signal. commit 905b71014b9166cc3ba7b921623a838ffbaa18b7 Author: Nickolai Zeldovich Date: Tue Jan 29 17:26:26 2002 +0000 Properly release GLOCK when trying to mount AFS a second time. commit 30c69dae289b0184d2d38e4d9781de5a2c81952c Author: Nickolai Zeldovich Date: Tue Jan 29 16:07:27 2002 +0000 Use filemap_fdata{sync,wait} directly (available in 2.4.5 and above) rather than write_inode_now(), which steals afs inodes and puts them on the global inode lists. commit b01f9b767323363c40b78f26b32f077b9c23f3da Author: Daria Phoebe Brashear Date: Mon Jan 28 21:32:20 2002 +0000 configure-add-darwin-52-support-as-14-since-no-change-otherwise-20020128 it was previously agreed that we wouldn't add gratuitous new sysnames unless things (not just what the vendor calls the operating system) changed. precedent is sun4m_412 still being "current" for sun4m_413, etc. commit 62bc57574aabfccf9e3684e7f0fe99dcbf9ad1e3 Author: Nickolai Zeldovich Date: Sat Jan 26 03:40:30 2002 +0000 rx-dont-include-arraysize-in-offsetof-20020125 so this compiles on irix commit 4ff68264b69e55cedd2f70ecc40482ab9ba0abe0 Author: Daria Phoebe Brashear Date: Thu Jan 24 20:13:22 2002 +0000 linux-afsd-pids-block-signals-so-we-dont-need-to-flush-20020124 no point in keeping this around commit 367008ec652b2091ec145b6c3fffeba2b4620b7f Author: David Howells Date: Thu Jan 24 18:09:28 2002 +0000 linux-conf-fix-type-which-crept-in-20020124 "oops" commit f2d38d3683345a98f118b971b5a1940e14111928 Author: Daria Phoebe Brashear Date: Thu Jan 24 10:46:42 2002 +0000 solaris-rx-shutdown-sleep-only-if-listener-pid-not-freed-20020124 replace if with while in case the listener is freed before we call sleep commit 5c2a4168a6e67733d4ec545936e13742c72ff9f8 Author: Daria Phoebe Brashear Date: Thu Jan 24 10:42:34 2002 +0000 linux-unmask-signals-in-rxk-listener-at-shutdown-20020124 since the rxk listener gets "kill"d at shutdown we need to unmask to wake it up. this should probably be replaced but the logical way is evil, involves simulating a packet to the listener so it wakes up and notices it's time to die commit a89079efffb1610a55c0fdff42f2feb82b394ff1 Author: Daria Phoebe Brashear Date: Thu Jan 24 10:09:13 2002 +0000 linux-cant-daemonize-due-to-exit-mm-call-oh-well-20020124 the call to daemonize() means we fail to shut down correctly on SMP machines; this is due to the call to exit_mm() in daemonize() commit 1f3f7bc3efea3ffca469fbfe090953dcaa668799 Author: Daria Phoebe Brashear Date: Wed Jan 23 19:27:39 2002 +0000 linux-rework-signal-blocking-for-afsdb-handler-and-clean-up-osi-invisible-before-im-completely-blind-20020123 based on suggestion from kolya@mit.edu and osi_Invisible cleanup so ifdef logic would be more clear commit 271fdc46b1cb0b25896618b10e436d33dc04fbf2 Author: Daria Phoebe Brashear Date: Wed Jan 23 18:49:59 2002 +0000 linux-use-while-loop-and-also-do-it-for-22-waiting-to-close-socket-20020123 while loop idea from chas@cmf.nrl.navy.mil reminder that we should worry about 2.2 from somkar@in.ibm.com commit 2742ca8a8ba2fe18b1991fc250f0376010303469 Author: Omkar Sathe Date: Wed Jan 23 18:48:18 2002 +0000 solaris-wait-for-listenerproc-to-exit-20020123 like linux, actually wait for listenerproc to finish before freeing the socket commit e91fca84fdbe1a6dcf6d4187df0dde5056687c08 Author: Daria Phoebe Brashear Date: Wed Jan 23 09:21:54 2002 +0000 rework-linux-newvcache-clean-up-dentries-20020123 previous pass wasn't SMP-happy. rework closer to original code. commit 0c239bbb3a1518e0f58891259f1f73fb170ffd99 Author: Chaskiel M Grundman Date: Wed Jan 23 07:55:08 2002 +0000 linux-afsd-ignore-signals-20020123 ignore signals sent to afsd on linux instead of running out of control also daemonize ourselves commit d19b5e9dff2a3cd6214e33d5f864a3e4d809778e Author: Daria Phoebe Brashear Date: Wed Jan 23 05:09:11 2002 +0000 linux24-add-configure-glue-for-new-inode-fields-20020108 sure would be nice if it compiled commit 8a906250f7220efd9210741f97d1b3fa568d74d4 Author: Daria Phoebe Brashear Date: Wed Jan 23 00:43:35 2002 +0000 linux-use-results-of-all-inode-configure-tests-20020122 we tested for and then failed to use things before commit ac9352424c477a930b4224205331f4e0bd319e51 Author: Nathan Neulinger Date: Tue Jan 22 23:31:06 2002 +0000 hpux11-wants-system-ar-20020122 gnu ar hates empty .o files commit 8871da3856f290ea067cf46687dd9a898acf5071 Author: Nickolai Zeldovich Date: Tue Jan 22 05:51:19 2002 +0000 linux-fix-mmap-write-20020122 a MAP_SHARED write wasn't being flushed back to the server commit 2e98a0b1ca9efef191875bda476897d16fc9d9e6 Author: Love Hörnquist-Åstrand Date: Mon Jan 21 19:34:18 2002 +0000 rx-cvsignore-rxperf-20020121 cvs shpuld ignore rxperf commit 7806d0a7d5d3cc74ec692f3cd5dcc5d91c614d79 Author: Nickolai Zeldovich Date: Mon Jan 21 18:05:26 2002 +0000 rx-cleanup-deadlock-and-refcnt-leak-20020121 The first part of the patch fixes a likely deadlock in the case when we're destroying a client connection with active calls. The second part fixes a minor connection refcount leak in my recent modification to protect against half-reachable clients. commit 5bf04219f55429610b0b51a6546bb7c20e722beb Author: Matthew N. Andrews Date: Mon Jan 21 10:24:12 2002 +0000 source-map-20020121 with modifications by shadow@dementia.org a guide to what's where in the OpenAFS source ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== with modifications by shadow@dementia.org a guide to what's where in the OpenAFS source this time the right file. a sure sign that it's bedtime. commit 8f4a0c1e27f163366d5577aeb44f7b7e59d740bb Author: Daria Phoebe Brashear Date: Mon Jan 21 09:14:21 2002 +0000 i-hate-autoconf-20020120 AC_PROG_CC not safe to call this early commit e44d1b4232a861030f1262bcbd2a41f5c0154283 Author: Love Hörnquist-Åstrand Date: Sun Jan 20 10:35:21 2002 +0000 rx-cleanup-gettimeofday-use-20020120 don't blindly make assumptions about gettimeofday ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== redo in a way that doesn't screw up with respect to libafsrpc and libafsrpc- using suites ==================== redo in a way that doesn't screw up with respect to libafsrpc and libafsrpc- using suites commit 599d747bb0478d8f743f6057d1ce1f09f1365c5e Author: Love Hörnquist-Åstrand Date: Sun Jan 20 08:04:44 2002 +0000 alpha-netbsd-param-fixes-20020120 make alpha little endian and remove duplicate define commit 698cb3037622b2bf294d64a3fc896a97af21138d Author: Daria Phoebe Brashear Date: Sun Jan 20 05:42:28 2002 +0000 revert-rx-deal-with-missed-keepalives-by-accurately-tracking-call-number-20020120 causes problems at minimum for linux commit 121cc34ed810e2849952ed7c1927c971a14aebc6 Author: Love Hörnquist-Åstrand Date: Sun Jan 20 05:19:08 2002 +0000 des-support-alpha-bsd-and-fix-test-programs-20020119 All BSDs are not I386s. Also include a patch that make sure that data are alligned on alpha. All bsd's will fix it up in kernel when used, but you'll get a huge performace penalty Use afs_int32 in the des programs to make sure they work and make them build again. commit 19835f0a125bccf982d6e9db0a0a6e6235c8a6db Author: Love Hörnquist-Åstrand Date: Sun Jan 20 02:17:12 2002 +0000 rxkad-make-stress-compile-again-20020119 Make stress compile again. commit b05cae13822beda473158c3bd7a8bc250c4acf71 Author: Love Hörnquist-Åstrand Date: Sat Jan 19 16:31:25 2002 +0000 bosserver-nofork-20020119 Make it easier to debug bosserver by adding a -nofork flag for the !nt40 env's. commit c8f461dcb0b4e8d63a99b9837f2dcc1d52d66cc4 Author: Nickolai Zeldovich Date: Sat Jan 19 16:28:33 2002 +0000 rx-protect-servers-from-half-reachable-clients-20020119 This patch should protect Rx-based servers from half-reachable clients, which issue requests but don't acknowledge the server's response, thereby eventually tying up all of the server threads, and denying service to all other clients. Such clients can arise in case of uni-directional routing failures, whereby all packets from the server to client are lost but not the other way around. The idea it to ping clients (using Rx ack ping) before attaching them to a thread, if (a) we're running low on threads, and (b) the client hasn't responsed to a ping recently. commit 7827ac9af178b5c4a0d42b2ff87ca7b012a513ef Author: Love Hörnquist-Åstrand Date: Sat Jan 19 09:25:19 2002 +0000 alpha-cleanup-20020119 make alpha AFS_64BIT_ENV Avoid warning by not passing data inside a pointer in the test program rw. Provide compatibility symbols for those w/o preempt hack so its possible to link test program `rw'. When comparing to lwp_cpptr->statcheck, cast to int, since that is the type of lwp_cpptr->statcheck. It may be the case that sizeof(int) != sizeof(afs_int32), but then other things will break too. clean tests with -f ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== and unbreak linux commit 0a94f88f96770b261b184c565c6959da51d8b65b Author: Love Hörnquist-Åstrand Date: Sat Jan 19 09:21:12 2002 +0000 des-fix-make-p-table-on-alpha-20020119 if printing with a long (l) unsigned (X), make sure to pass such a value as an argument (p_prime is of int type on alpha). commit a1aba97dbb9609ed52b90b780f1525e5cc1b7e6a Author: Love Hörnquist-Åstrand Date: Fri Jan 18 21:03:32 2002 +0000 bozo-misc-cleanup-20020118 - remove bos_util and install it - ignore it commit b769219adf6a02b90dd395b58b7b2f7a83b0625d Author: Love Hörnquist-Åstrand Date: Fri Jan 18 20:59:26 2002 +0000 netbsd-alpha-more-patches-20020118 get closer to server working commit e0319dc024e24e1198a863eca4a295f3449ef5d6 Author: Nickolai Zeldovich Date: Fri Jan 18 18:47:00 2002 +0000 largefile-dump-support-20020118 64bit file support for vos dump commit 60612252e71c304e882fbab1a8d5edec2218c28e Author: Love Hörnquist-Åstrand Date: Fri Jan 18 18:45:27 2002 +0000 netbsd-alpha-start-at-server-support-20020118 not ready yet adds the concept of a common OS param file commit a764c69cbb7f49135457042075b8375b81329b6a Author: Daria Phoebe Brashear Date: Thu Jan 17 10:49:35 2002 +0000 test-suite-update-README-20020117 reflect new test, ordering commit 57546d5cf340544730f96a83785effd494986260 Author: Daria Phoebe Brashear Date: Thu Jan 17 10:47:20 2002 +0000 testsuite-arrange-for-bad-volume-dump-to-be-in-useful-location-20020117 since we run the script not from the script dir we need to know where it lives, or do this. commit 7d21d2e9168f00617b7a4ccf00d9d6bc04bf632f Author: Daria Phoebe Brashear Date: Thu Jan 17 10:43:28 2002 +0000 top-makefile-build-runtests-20020117 make top makefile/configure build run-tests commit 8597c3e16c7398b49c8e7da21d65beb761af8e9b Author: Daria Phoebe Brashear Date: Thu Jan 17 10:10:37 2002 +0000 test-suite-frontend-mkdir-afs-20020117 mkdir /afs in case commit d0473533e7ee8f12548ded48187d33f252a69add Author: Daria Phoebe Brashear Date: Thu Jan 17 09:33:06 2002 +0000 test-suite-create-cachedir-20020117 take care of case where no cache dir exists yet commit 4d38e4526f7a640be9785d14316fecf8cdad64cd Author: Daria Phoebe Brashear Date: Thu Jan 17 09:24:18 2002 +0000 test-suite-check-for-salvager-correctly-getting-a-bad-uniquifier-20020117 there are cases where a vnode has a uniq which is different than that in the parent. the salvager should clean it up. commit 0d2670b92cfa246b5a52b398c23022a9f5bb6219 Author: Daria Phoebe Brashear Date: Thu Jan 17 07:52:31 2002 +0000 testsuite-frontend-restart-bosserver-20020117 so bosserver rereads configs commit 6ac7ac6bc6c739a3021940b3320ee746982be86a Author: Daria Phoebe Brashear Date: Thu Jan 17 07:25:52 2002 +0000 suite-be-less-verbose-20020117 toss more output in the non-verbose case commit 30807bbcfe616fd884b8a970030a9a7d19b76653 Author: Daria Phoebe Brashear Date: Thu Jan 17 06:47:28 2002 +0000 ka-util-differently-useless-20020117 drop state here commit 80ce7296a121726dc01aacd24a25e982ea85a12e Author: Daria Phoebe Brashear Date: Thu Jan 17 05:08:45 2002 +0000 test-script-substitute-fs-path-20020117 don't assume /usr/local/bin commit b46bb3881e3dbf49d8e57c736cdc4699f6519fcf Author: Daria Phoebe Brashear Date: Thu Jan 17 05:01:57 2002 +0000 update-suite-frontend-20020117 fix to use the defined mechanisms to set up bos foo commit 762ebfc77e6f4474c79669d9657b2b336ed8f5d3 Author: Daria Phoebe Brashear Date: Thu Jan 17 02:26:16 2002 +0000 test-suite-pick-up-replica-of-root-afs-20020116 run in replicated root commit 960cf2c54ec349549123d483eb7ea3fab1ff63e0 Author: Nickolai Zeldovich Date: Wed Jan 16 22:02:36 2002 +0000 rx-dont-challenge-forever-20020116 don't repeat challenges forever. give up after 50 tries commit 4146f3c2f6af8975b1d5b04b2a9cb56c3acbee1b Author: Daria Phoebe Brashear Date: Wed Jan 16 09:27:04 2002 +0000 nfs-translator-call-lookup-with-correct-form-of-dir-20020116 based on information from Kris Van Hees still untested commit 91dd0c39af85868edcb81fcca053d97dfa54479a Author: Daria Phoebe Brashear Date: Wed Jan 16 09:23:46 2002 +0000 introduce-ka-util-20020116 the start of a tool to write out a kaserver database. currently dumps but cannot create a kaserver.DB0 commit 53bbb7b3863770a178ec5e7ecd8b34257b423a8a Author: Jeffrey Hutzelman Date: Wed Jan 16 02:16:26 2002 +0000 vos-extra-info-but-disabled-20020115 extra info in vos examine, but disabled until we figure out a way not to irritate things which parse vos examine output commit 4860f8cb1584c85f02f88f8adfb7a71b2873bf3e Author: Chas Williams Date: Wed Jan 16 02:08:43 2002 +0000 linux-dcache-inconsistency-fix-20020115 minor rework on a patch from Ted Anderson (ota@transarc.com) to fit OpenAFS commit d581ab206ed03e93d60e61caa48fc0142211e0fa Author: Ted Anderson Date: Wed Jan 16 02:03:49 2002 +0000 linux-newvcache-clean-up-dentries-20020115 With work and feedback from Omkar Sathe and Srikanth Vishwanathan commit 6fb7ad67970e8f6b7467002d3bfe7fd4930c8864 Author: Nickolai Zeldovich Date: Wed Jan 16 00:56:02 2002 +0000 rxi-newcall-avoid-race-20020115 avoid race when creating new calls commit dcc13f040530f6c5a8b6f36365c665dc6e6e8e89 Author: Jeremy Stribling Date: Wed Jan 16 00:49:29 2002 +0000 openafs-tools-cmd-20020115 Tools for configuring a new cell and for building RPMs of said tools commit 966becc84430e952b6e226b068acf455697f9a07 Author: Daria Phoebe Brashear Date: Tue Jan 15 19:22:05 2002 +0000 test-suite-updates-20020115 cleanup all target, get missing headers ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== put perl modules in properly named subdir commit 4bd7319e4a13f8aa558e58d8ec6643812afb5594 Author: Daria Phoebe Brashear Date: Tue Jan 15 17:17:31 2002 +0000 deal-with-linux-large-uids-20020115 based on feedback from Hartmut Reuter 2.2 headers define the right things for this to work commit d616a68c94f657a822d71269c3144ab493464ea3 Author: Daria Phoebe Brashear Date: Tue Jan 15 16:33:08 2002 +0000 test-suite-cvsignore-20020115 we need one commit 78f2f8f4bd7eb07a8183a88f9ed7d184bd580967 Author: Daria Phoebe Brashear Date: Tue Jan 15 16:30:55 2002 +0000 test-suite-update-20020115 front-end script to tie together the test suite ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove bogus makefile ==================== stop bos bnodes before deleting commit fcb32c07ed6d35fb1a4a97371dccd68a09312beb Author: Daria Phoebe Brashear Date: Tue Jan 15 04:14:51 2002 +0000 test-suite-pull-tools-directly-in-20020114 move dump tools directly into test suite as that is their intended use canonical versions of these tools will be distributed otherwise and may be updated but these provide the minimum functionality commit f1964d2cf8d4c8b0468ad59a01f68c329258b40d Author: Daria Phoebe Brashear Date: Mon Jan 14 07:49:15 2002 +0000 functionality-test-suite-20020114 Based on Arla test suite and AFSTools with some other additions; intended to set up a standalone cell, perform operations commit 78b512f1dacf4782d700160ecb83f3328ec66901 Author: Jeffrey Hutzelman Date: Sun Jan 13 23:47:17 2002 +0000 dumptools-20020113 tools for manipulating afs volume dumps commit 2bd43007f4105e5a2f897378cb567fc334516388 Author: Steven N . Hirsch Date: Sun Jan 13 17:06:42 2002 +0000 alpha-linux-build-fixes-20020113 so alpha linux builds work again commit 907452f2d764b9e6c8e15136f05dd44844d011a3 Author: Daria Phoebe Brashear Date: Sat Jan 12 21:35:59 2002 +0000 bos-key-utility-20020112 modification of asetkey to allow manipulation of key files without a running bosserver (asetkey requires krb4; this does not) commit 2972ad04f1d3978a0f761a40b5ea7112b12f3114 Author: Daria Phoebe Brashear Date: Fri Jan 11 16:44:53 2002 +0000 linux-remove-hazardous-trace-events-20020111 use of osi_Sleep in tracing code makes this dangerous. commit 259bf2a7d42f045420a422fd112e3bafd38b7f91 Author: Nickolai Zeldovich Date: Thu Jan 10 06:42:21 2002 +0000 solaris-obtain-locks-under-GLOCK-20020101 Fix the two places in Solaris afs_GetOnePage where locks are obtained/released without GLOCK. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Fix the two places in Solaris afs_GetOnePage where locks are obtained/released without GLOCK. (Fix error in application of patch) commit 7990f0d4b102b171483e3845a5e1b687dea87d56 Author: Jeremy Stribling Date: Wed Jan 9 03:08:16 2002 +0000 README-NT-updates-20020108 info on how to set up debugging environment and other updates commit 54624ac81bd47438ae34d9bece4fafc80595302a Author: Nickolai Zeldovich Date: Tue Jan 8 20:54:12 2002 +0000 lock-tracing-20020108 patches to allow tracing with fstrace of afs locks commit 899a6eb679d5fff67d151e6aab568a7977ce8e4f Author: James Peterson Date: Tue Jan 8 20:44:31 2002 +0000 windows-updates-20010108 "1. The default Open AFS is set to normal security (doesn't generate random user names). If you are installing over a previous version (before 1.2.2b) it's default is high security; therefore, if you want the normal security, you should uninstall the previous version (1.2.2a or earlier) and select to 'Not Preserve previous settings'. To manually change security you need to set the following registry keys: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemond\NetworkProvider LogonOptions = 1 - Integrated Logon LogonOptions = 2 - High Security options, Random User name generation LogonOptions = 3 - both 3. Windows 2000/NT, Win9x - First time installations will create necessary directories when user decides to download CellServDB 4. Windows 2000/NT, Global Drive working. 5. Windows XP - Drive mapping via GUI working. 6. Rename pthread.dll to afspthread.dll" commit 11a5394620cf9d28152a1fdb8064a96f74d07640 Author: Daria Phoebe Brashear Date: Tue Jan 8 20:41:11 2002 +0000 linux24-add-configure-glue-for-new-inode-fields-20020108 based on report from cg@cdegroot.com commit 55395ad69187dd8a0c858d09cde0263272cb4182 Author: Nathan Neulinger Date: Wed Jan 2 04:12:20 2002 +0000 update-readme-devel-for-parallel-make-hints-20020101 suggestions which make parallel make easier to support commit b00162aa76260d9867899a3bfb3d702cbb64d070 Author: Nickolai Zeldovich Date: Wed Jan 2 04:08:37 2002 +0000 vlserver-remove-duplicate-targets-20020101 "duplicates seem to confuse /usr/bin/make on MacOSX" commit d65e45f3d20bba23ecd783873c5a1cce8d0c9e7a Author: Love Hörnquist-Åstrand Date: Tue Jan 1 21:02:50 2002 +0000 netbsd-initial-support-20020101 update parameters so it will build commit 590916001b064041ed0337dc79519f23b02d2aae Author: Mark W. Eichin Date: Tue Jan 1 19:09:59 2002 +0000 linux-sparc-24-kernel-support-20020101 config for linux 2.4 kernels on sparc commit 24f9306e651ce38909c121c9d3b7b035c6a2886c Author: Ted McCabe Date: Tue Jan 1 19:01:54 2002 +0000 acinclude-update-for-new-darwin-version-strings-20020101 so we can build for new darwin versions commit 3e843e3dabbbe0fcfd0dbc55216ae1c5a3d94fe9 Author: Love Hörnquist-Åstrand Date: Tue Jan 1 18:57:18 2002 +0000 netbsd-server-support-20020101 support for fileserver (namei) on netbsd ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== like openbsd, stripping on netbsd strips libraries commit 161c73a807128dc40ad20a26b01cade534f6d1dc Author: Chas Williams Date: Tue Jan 1 18:49:18 2002 +0000 linux-osi-sleep-avoid-forgetting-events-20020101 based on suggestion from Ted Anderson "the changes make more sense than the code as it currently exists. the only think i am nervous about is the dontSleep delete. while it makes more sense to just not wakeup sleepers if none exist, i suppose its possible that some bit of afs code wants acausal (wake before sleep) events. that does seem quite unlikely. just looking at the sleep on solaris, it checks the seq number to get the next event not a previous event. i imported the changes and make the fixup in osi_stoplistener(). i dropped some of the silly syntax changes that junked up the diff -- this makes it a bit easier to see what was changed. i just added an assert in afs_addevent for quality assurance purposes." ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix for osi_StopListener so it does the rigth thing commit 0d9cabad65c46a8f3a04bf9ea2e2ce133c2f50ac Author: Nickolai Zeldovich Date: Sun Dec 30 00:07:02 2001 +0000 linux22-also-alloc-avoid-potential-recursion-freeing-memory-and-schedule-when-vmalloc-fails-20011229 linux 2.2 lacks set_current_state. currently in 2.4 it's a definition and not a real function, so this will work commit c1d2386e44573722f2cb16ee148b14960cd39670 Author: David Howells Date: Tue Dec 25 18:19:20 2001 +0000 linux-alloc-avoid-potential-recursion-freeing-memory-and-schedule-when-vmalloc-fails-20011225 "The first is to change the gfp_mask passed to kmalloc(). Using GFP_KERNEL, it is possible that the VM will call back to the filesystem to free up memory to satisfy the kmalloc request. GFP_NOFS will prevent this possible recursion. I believe GFP_NOFS first appeared in the 2.4.6 kernel. The second change involves the call to schedule() when vmalloc() fails. This can also cause a hang. The schedule() call could be replaced with: set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(HZ);" commit 3ea10ea3539f48ec30ba59399ec484cf4b0b74d3 Author: Nickolai Zeldovich Date: Tue Dec 25 18:13:20 2001 +0000 rx-avoid-unnecessary-wakeups-20011225 "This fixes a livelock condition introduced in my earlier resource starvation patch; apparently I had erred too far on the side of "wake up just in case". The livelock bug is exhibited when running 10 fsstress processes at once; if many processes are waiting for a new Rx call, they get stuck in an uninterruptible kernel loop waking each other up." commit 28eefd7613c2de85f63233d82c3b53cff54e1074 Author: Nickolai Zeldovich Date: Tue Dec 25 18:10:39 2001 +0000 fix-dcache-deadlock-20011225 "This patch fixes a deadlock in the new dcache locking scheme. The underlying bug apparently existed before, but due to the absence of locking, it probably resulted in spuriously high refcounts rather than deadlock. The problem happens when there are zero-length dcache entries associated with a file; this is demonstrated by fsx, which hangs after running on AFS for a while. The writeback loop never releases dcache entries unless they're stored back to the server as part of a sequential byte range." commit fcda63bda075ab706a38fa39563164d8d1832e42 Author: Nickolai Zeldovich Date: Tue Dec 25 18:09:44 2001 +0000 fix-formatting-in-afs-h-20011225 minor formatting cleanup commit 96f340c532211577f5411aad2037ac728e6362e6 Author: Nickolai Zeldovich Date: Tue Dec 25 18:04:52 2001 +0000 dcache-dont-erroneously-fail-to-fill-in-tsmall-20011225 "The particular problem seems to be, when size is computed to be zero, tsmall is not filled in with valid data, and ProcessFS is called with a zeroed out OutStatus. This causes the file to magically turn into a directory (VDIR), among other things" "The second part of the patch doesn't fix any bug that I've ran into thus far, but seemed like a good idea while I was reading the code to find the former bug." commit 4e02670a22ca38356f34a53ac641b5c008908534 Author: Daria Phoebe Brashear Date: Mon Dec 24 21:19:07 2001 +0000 doc-heimdal-conversion-howto-20011224 short explanation of how to convert from a kaserver to a heimdal kdc including setting up iprop commit ddaf08d4b8f8a216e1df1891a531b36b37e23351 Author: Nickolai Zeldovich Date: Sat Dec 8 02:29:24 2001 +0000 make-storedata-use-unsigned-values-so-quota-cant-get-corrupted-20011203 Currently it's possible to give StoreData negative Pos/Length/FileLength arguments and thereby set the volume quota usage to arbitrary values. This patch makes these values unsigned, since negative file positions and lengths don't make sense anyway. commit 18f5f636dd6c1121a50614cf4860086db9f7842e Author: Love Hörnquist-Åstrand Date: Thu Dec 6 23:39:08 2001 +0000 rx-add-performance-testing-client-20011206 add rxperf with modified license which allows us to distribute it now pending more useful OpenAFS documentation existing at some point in the future. commit c5cd8752227cf9c0f67def7c681d85a49443a59f Author: Sam Hartman Date: Mon Nov 26 21:29:16 2001 +0000 bosserver-dont-enforce-world-readability-on-server-etcdir-20011126 no reason server etcdir needs to be forced world readable; nothing need default to those cellconfig files except in the localauth case and then you need to be able to read the KeyFile anyway commit 83873a8474906c67b2d2c0e135db59eb23c356ff Author: Jeff Riegel Date: Wed Nov 21 18:29:16 2001 +0000 windows-afsdb-freelance-notes-20011120 notes from Jeff about AFSDB and Freelance clients commit d99c35279d04b8759b01b499057f1107bab9de4d Author: Nickolai Zeldovich Date: Wed Nov 21 16:01:19 2001 +0000 dcache-finegrained-locks-20011121 This patch implements more fine-grained locking for dcache entries. The main advantage is that multiple chunks of the same file can be fetched at once. This means that an incorrectly-guessed prefetch won't block other fetches, prefetches of multiple chunks can occur in parallel, and multiple processes sharing the same file can read from different parts of the file at once. commit 392ae5ce36f888023504ff16772c80310b39362a Author: Yves Schutz Date: Wed Nov 21 15:54:35 2001 +0000 quote-modloaddir-when-looking-for-kernel-module-20011120 quote variable evaluation commit 16b809cef228bd5b80920a9f34e3c02d4e4db4a3 Author: Thomas Mueller Date: Wed Nov 21 15:41:26 2001 +0000 linux-rc-make-ifconfig-speak-english-for-parsing-20011120 sadly the script is fluent only in english and can't even pretend it knows anything else commit 74432508a7ab28b0f4e66a88bcf4fe7cc323278d Author: Garry Zacheiss Date: Wed Nov 21 15:36:43 2001 +0000 bozo-make-logging-more-readable-20011120 add missing newlines commit 8b5438790d4e4d6fddcb19957e603a14fefb6da3 Author: Nathan Neulinger Date: Wed Nov 21 15:31:24 2001 +0000 afs-trace-missing-dependancy-20011120 so when afs_trace.et updates the header gets rebuilt commit a26794a25cacd3378d9967d5cb645f2429dc97a8 Author: Sam Hartman Date: Wed Nov 21 15:29:52 2001 +0000 ktc-dont-prototype-lseek-20011120 breaks sparc linux 2.2 commit 6a0443bdcce0bde8af06af0da929cff6a693ead3 Author: James Peterson Date: Wed Nov 21 06:44:28 2001 +0000 windows-updates-20011121 missed updates needed for next release commit 7d38c7fe5849201673c5f3ddb9f87f4186328722 Author: Daria Phoebe Brashear Date: Tue Nov 20 20:04:55 2001 +0000 afs-resetvolumes-zero-serverhost-to-avoid-deadlock-20011120 the equivalent of what's done in InstallUVolumeEntry to avoid a deadlock but just for this server since it's all we're dealing with commit c53a034e36ec538c3a0b010a292b810a62c8f2b8 Author: Chas Williams Date: Mon Nov 19 16:59:53 2001 +0000 viced-getstatus-clear-lengthhi-since-not-now-using-it-20011119 so we don't end up with bogus value here commit b460d2950287840ac1c10f3300b467e10771c14f Author: Chas Williams Date: Mon Nov 19 16:58:02 2001 +0000 startrxafs-fetchdata64-always-show-result-and-EFBIG-at-7fffffff-20011119 show fetch64 errors also mask high bit for reporting EFBIG commit cae92b082cb1551fd0c93ec1275640f7ea957bbf Author: Chas Williams Date: Mon Nov 19 16:53:46 2001 +0000 viced-fetchdata64-should-call-common-code-in-64-mode-20011119 both of the stubs shouldn't be using the 32 bit case in common commit 0a6069850afe7babcd796781b8ce9e3d31c3ae5f Author: Chas Williams Date: Mon Nov 19 16:52:02 2001 +0000 rx-sys-fix-broken-install-dependancies-20011119 this got broken in one of the sets of changes commit 05c2a3e13addcfb05a5aa65baeccf8f5e00a6180 Author: Daria Phoebe Brashear Date: Wed Nov 14 23:59:57 2001 +0000 viced-add-missing-comma-in-64bit-detailed-stats-case-20011114 and due to no prototypes this slipped right on by commit 3f7e32771871ab615e5227cd037a13d41c5969ab Author: Garry Zacheiss Date: Wed Nov 14 17:39:30 2001 +0000 bosserver-log-improve-readability-20011114 include newlines in boslog output commit 54f065005264764f30ea44541d0b7eb5c3965d6a Author: Nickolai Zeldovich Date: Wed Nov 14 04:02:27 2001 +0000 rx-fix-resource-starvation-problem-20011113 This patch fixes a resource starvation condition in Rx. The problem arises, for instance, when more than 4 daemons try to prefetch chunks of the same file at once. The fifth daemon is stuck in MAKECALL_WAITING state, never getting a chance to run, because the other 4 daemons never yield to the scheduler after releasing the call, and just grab the call back again. commit 94bc1753e9bbde8b63a42953263650b1db1666e7 Author: Daria Phoebe Brashear Date: Tue Nov 13 20:31:31 2001 +0000 afs-cell-avoid-need-for-new-prototype-20011113 reogranize so we don't need to add a prototype based on report from kolya@mit.edu commit cb99519f776c33703e571aa2976250b203f15f06 Author: Daria Phoebe Brashear Date: Tue Nov 13 17:24:05 2001 +0000 hold-afs-xcell-lock-during-setserverprefs-20011113 afs_RemoveCellEntry holds afs_xcell; setserverprefs modified the same structure but did not which was problematic if something changed out from under it commit b2821b103c5f4b2a3eb125bc36096580ce244e9e Author: Hartmut Reuter Date: Tue Nov 13 14:47:11 2001 +0000 64bit-client-mods-build-cleanly-20011113 necessary fixes for aix and solaris, plus fix for linux for when wake_up doesn't wake the sleeper commit b4e3729aae756725dfa04a607b126197004e6416 Author: Hartmut Reuter Date: Tue Nov 13 14:40:54 2001 +0000 pam-include-limits-h-for-NGROUPS-MAX-20011113 pam module needs limits.h to build commit 85ccf89c5a6ec9b6ca8988a2cb839a7b6c70c667 Author: Nickolai Zeldovich Date: Tue Nov 13 13:14:06 2001 +0000 nbobtainwritelock-fix-precedence-problem-20011113 NBObtainWriteLock always returned 0 due to precedence problem. Also add NBObtainSharedLock commit 4916d4b4221213bb6950e76dbe464a09d7a51cc3 Author: Nickolai Zeldovich Date: Tue Nov 13 04:59:22 2001 +0000 rx-compute-ackdatasize-correctly-20011113 This patch clarifies the implicit 3 reserved bytes in rx_AckDataSize, and hopefully makes the code more portable for future platforms. commit 5edece8304d848a4c9354c591374b02e1f3ba747 Author: Chas Williams Date: Tue Nov 13 04:52:26 2001 +0000 irix-build-cleanup-20011113 make IP35 port select correctly. make pagsh build again commit da3a557c29c4c6ff6a9a0d2f2f8b5163a747c798 Author: Chas Williams Date: Sun Nov 11 17:11:06 2001 +0000 irix-PFLUSHINVAL-should-be-VOP-FLUSHINVAL-PAGES-20011111 Based on suggestions from gwehrman@sgi.com commit 0304373130e923d4aee55b32e3a80f65c77da2eb Author: Chaskiel M Grundman Date: Sun Nov 11 01:57:36 2001 +0000 make-darwin-14-build-with-new-makefile-frag-system-20011110 head now builds on darwin 1.4; may not build in objdir env yet commit bedb78b0b0c38880b2d2852a08e1748845057479 Author: Chaskiel M Grundman Date: Sat Nov 10 23:20:04 2001 +0000 darwin-14-support-20011110 base support for darwin 1.4 commit c9d01b536d105ece7e1e149c3aed24b3d83a4d15 Author: Hartmut Reuter Date: Sat Nov 10 23:00:55 2001 +0000 more-64bit-client-fixes-20011110 some afs_offs_t still missing so obsolete code fixed and new trace for m.Length change commit 4c9808b25be9f775519d1110946d44d6105dbb02 Author: Thomas Mueller Date: Sat Nov 10 22:36:45 2001 +0000 use-NGROUPS-MAX-instead-of-constant-for-curpag-getgroups-call-20011110 NGROUPS_MAX instead of 30 used so we get all groups from getgroups commit de99fc23d41b57902b36b10179a8129da9b8b0ff Author: James Peterson Date: Sat Nov 10 22:31:04 2001 +0000 windows-updates-including-dont-lose-tokens-20011110 Win2k tokens association problems are fixed. details are in doc/txt/winnotes in the 1.2.2a updates file commit 9d8b844b3ece9cbf1c2c8a263d5219be06841590 Author: David Thompson Date: Sat Nov 10 18:21:59 2001 +0000 linux-afsd-allow-ext3-journals-without-error-20011110 an ext3 journal in the vice cache (root of the partition) is allowable we have no useful way to discern ext2 from ext3 without groveling in fstab so just allow it commit db2ddfaf1b322710e1bd4edce6d7519157c3c9eb Author: Nickolai Zeldovich Date: Sat Nov 10 18:14:30 2001 +0000 rx-dont-ackall-a-connection-were-waiting-for-retransmits-on-20011110 "My theory of what happened is roughly as follows: Process tries to read data from AFS (as part of a page fault); issues a new Rx call on an Rx connection to the fileserver. The server transmits some data back to the client, but some packet is lost. Something tries to garbage-collect/destroy the connection; since there is an active call, it can't do so, but issues an rx_AckAll anyway, which acknowledges all packets transmitted by the server as having been received. Server flushes its retransmit queue. Client waits forever for the lost packet to arrive, but since the server has already flushed the transmit queue, it cannot possibly retransmit it. All this is happening while the client has read-locked its address space (since the read is part of a page fault). /proc accesses that try to poke into that processes address space hang waiting for said lock, causing the lossage we actually observed." commit 7a012ce879fdb6193b77e71821b1f9cce89c0fd6 Author: Garry Zacheiss Date: Sat Nov 10 18:08:40 2001 +0000 rx-deal-with-missed-keepalives-by-accurately-tracking-call-number-20011110 (as originally discovered by ted@mit.edu) "This fix deals with the following lose case: Client starts a call that, for some reason, takes a long time on the server. While the client waits for the server to finish, client and server usually send each other keep alive packets. If something causes those packets to be delayed or dropped, then the client will conclude that the call has failed or finished (usually failed), while the server is still *busy* doing the call. In this circumstance, the client will initiate another call and the server will correctly respond that it is busy. Unfortunately, if the callNumber of a received packet doesn't match the callNumber of the outstanding call, then the client never sees that the server says it's busy. Instead the server appears as a black hole to the client. This fix ensures that the client sees the busy packets when its callNumber is reasonably out of sync with the server." commit b9d15d1b49aff5360f0c327ed703433565b00d57 Author: Chas Williams Date: Sat Nov 10 17:53:04 2001 +0000 irix-memcache-dont-call-osi-vm-storeallsegments-20011110 this caused a call to pdflush to happen at the wrong time, which should fix the zero filled files problem, the osi_assert(cred) problem and the execsorwriters == 0 warnings to go away commit a781c8a5bf8bbc81394706e150ca597b51bcf5e1 Author: Daria Phoebe Brashear Date: Thu Nov 8 08:12:59 2001 +0000 linux-kdump-also-work-with-early-24-kernels-20011108 yup, it had to come from somewhere. now it would compile with early and late 2.4 kernels commit c32ee0e39df202830046293d071f6ab50101760d Author: Nickolai Zeldovich Date: Thu Nov 8 03:02:08 2001 +0000 config-makefile-include-xcflags64-20011107 this was missed during the conversion commit c602093e51aa46f66ab5fb7cff3b7271876396d7 Author: Garry Zacheiss Date: Wed Nov 7 00:15:27 2001 +0000 solaris-vfsck-do-a-better-job-of-putting-on-the-ufs-fsck-face-for-the-world-20011106 if you're not using ufs logging it's ok to replace solaris fsck with vfsck, except sometimes it exits with 40 and that's not a failure to the solaris scripts. make it so for us also commit 3e9aa01a1cc9d3ae0bbcfcea86fcc0d157f47d6f Author: Garry Zacheiss Date: Wed Nov 7 00:11:20 2001 +0000 butc-allow-comments-in-tapeconfig-20011106 continue to allow extra column for comments as was previously (afs 3.4a) the case commit 0d4fd9fd6679bf30469c21db02f88e7d0d466a92 Author: Nickolai Zeldovich Date: Wed Nov 7 00:01:52 2001 +0000 afsdb-avoid-dns-case-issues-for-cell-aliases-20011106 This patch makes sure that in-kernel aliases to non-existant names aren't accidentally created due to case mismatch (e.g. "athena" being created as a symlink to "athena.MIT.EDU", while "athena.mit.edu" is the real cell that already exists). It also lowercases cell names in AFSDB lookups, otherwise the same problem appears in userspace (eg "aklog athena" tries to obtain tokens for cell "athena.MIT.EDU"). commit 547ce133274ad4fcac6b418d6de27f2e75bcf2e3 Author: Daria Phoebe Brashear Date: Mon Nov 5 19:43:47 2001 +0000 linux-kdump-kernel-also-has-timer-t-sigh-20011105 not the cleanest way of dealing, either commit 13d279883a5779b29ceeb4065c6222339c5e2618 Author: Daria Phoebe Brashear Date: Mon Nov 5 19:39:06 2001 +0000 linux-kdump-timeval-probably-not-needed-20011105 not sure what needs this. if something does we need to figure out what and only do this for them commit 4b156c380053e17dd861a329cba0902cec6c754a Author: Nickolai Zeldovich Date: Mon Nov 5 19:34:25 2001 +0000 bkg-daemon-dont-break-64bit-pointers-and-handle-requests-in-order-20011102 This patch fixes a problem with 64-bit pointers being munged by the background daemons (by separating sizes and pointers into separate variables -- this bug was apparently introduced by the 64-bit file support patch), and makes the background daemons handle requests in order they came in. The latter will be mostly just useful for some prefetching and fine grained dcache-locking patches commit 68196d85dbd09220f91421101f651d8e8d7322c3 Author: Thomas Mueller Date: Mon Nov 5 18:40:02 2001 +0000 pam-update-for-correct-krb-aware-module-20011102 the krb version of the module should be built completely in AFS_KERBEROS_ENV ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== clean up spacing commit 3f8a159257c4fea0a6fc79dff9a8974f83a98df2 Author: Nickolai Zeldovich Date: Fri Nov 2 21:00:41 2001 +0000 dynamic-root-allocate-space-for-dot-and-dotdot-20011102 no space was being allocated for . and ..; do so commit ea77b04c29460cbef445f39e9ad4646ee9d5be26 Author: Nickolai Zeldovich Date: Fri Nov 2 08:07:58 2001 +0000 afs-checkservers-improve-lock-granularity-20011102 work harder to release afs_xserver and afs_xsrvAddr locks in afs_CheckServers when not needed commit 9cbe95a1af131158e9f94499cfe4e2ed4f9f6cac Author: Nickolai Zeldovich Date: Fri Nov 2 08:03:08 2001 +0000 solaris9-and-makefile-updates-20011102 updates for solaris 9; also don't have ${XLIBS} in target dependancies if it's going to include things like -lnsl commit 3aaaa28ba8360100ce94c784d7e23ff99dc69e27 Author: Nickolai Zeldovich Date: Fri Nov 2 07:57:12 2001 +0000 viced-clear-clientdeleted-when-deleted-clients-are-cleaned-up-20011102 Currently nothing clears the CLIENTDELETED flag in hosts, so once a client has been deleted, h_TossStuff_r() will keep getting called with every host release. This patch clears the CLIENTDELETED flag every time we take care of deleted clients. commit 7f89a22213d212c4e6f841dc5d266b9ea81fbde5 Author: Carsten Jacobi Date: Thu Nov 1 05:45:12 2001 +0000 pam-setcred-dont-ask-for-passwords-20011101 don't prompt for passwords during setcred step commit b28927c75261d45872d80f32bf4e39d76eb9ac73 Author: Nickolai Zeldovich Date: Thu Nov 1 05:24:30 2001 +0000 dynroot-allow-cell-aliases-20011101 allow cell aliases. includes support for non-'V' pioctls commit 78d943385127c3931f504055e47f62154bf9ac53 Author: Nickolai Zeldovich Date: Thu Nov 1 05:18:30 2001 +0000 kdump-display-timeout-for-cell-info-20011101 added field in kdump output to display afsdb timeout info commit b20525634aa5b8cfbba33d59527a337e060278ff Author: Nickolai Zeldovich Date: Thu Nov 1 05:16:27 2001 +0000 solaris-rx-kernel-set-listener-pid-from-curproc-20011101 set kernel listener pid from curproc rather than curthread (and clean up unnecessary break case in code) commit 42fddc7b46f75968b94a6532b1183f1b0e6214a6 Author: Nickolai Zeldovich Date: Thu Nov 1 05:11:25 2001 +0000 pts-error-message-cleanup-20011031 print error in such a way that it makes more sense commit dd9a7b025a651d00250e1977dc44c0167f1c748f Author: Nickolai Zeldovich Date: Thu Nov 1 05:10:38 2001 +0000 afsdb-default-in-rc-files-20011031 enable afsdb using rc files commit b1c72363e013d9dc7921ea5f9ddf5038fa09a43e Author: Daria Phoebe Brashear Date: Thu Nov 1 05:05:26 2001 +0000 irix-build-ip35-module-only-if-headers-exist-20011031 IP35 support requires 6.5.9 or later; only build if we have headers commit 838e1eae1a62cae05df8239a82f20be47b2183b2 Author: Nathan Neulinger Date: Thu Nov 1 04:59:26 2001 +0000 build-system-specific-makefile-configuration-from-configure-20011031 junk all of Makefile.${SYS_NAME} in favor of a common makefile built by configure, and use it commit c5b1a3775fb0dc33156716e5deed381e81f83e67 Author: Hartmut Reuter Date: Thu Nov 1 04:39:08 2001 +0000 more-64bit-file-size-support-20011031 further 64bit file size support for client commit 971b18bc424ac969f12166dd83d7b327b9257636 Author: Hartmut Reuter Date: Thu Nov 1 04:01:22 2001 +0000 client-64bit-file-size-support-20011031 new RPCs and client-side support for large files commit 05186dbe192d54b5da38885eaee0eec4af164e14 Author: Hartmut Reuter Date: Thu Nov 1 03:58:36 2001 +0000 aix-namei-fileserver-support-20011031 necessary for namei support on aix commit dcc63e13efe02161e688a9bbbe6d97aea7e5f636 Author: Hartmut Reuter Date: Thu Nov 1 03:54:40 2001 +0000 fast-restart-exit-if-no-args-20011031 when using fast restart, if salvager took no args, assume it's the fs bnode and exit commit c1d1a27ba99284b8877f4449f2871eb81a9b31ce Author: Jeff Riegel Date: Thu Nov 1 03:40:21 2001 +0000 freelance-updates-20011031 updates to make freelance patches work, create mountpoints from afsdb on the fly commit 638d0e7c56237722c707883dfaaa9055e5d146de Author: Nathan Neulinger Date: Fri Oct 26 04:50:06 2001 +0000 parisc-linux-lwp-updates-20011025 update parisc lwp foo commit 2f4ec2cfaa646f4e56a3d79a538ed51d9044a5f9 Author: Nathan Neulinger Date: Fri Oct 26 04:49:11 2001 +0000 rx-test-srcdir-support-20011025 continuing srcdir support for objdir builds` commit fbb1d7edf8edd68cc491c1812599517a3253b360 Author: Hartmut Reuter Date: Wed Oct 24 16:56:00 2001 +0000 export-dont-include-afsconfig-to-avoid-conflicts-20011024 ncluding afsconfig results in conflicts on some systems due to _KERNEL commit 77523f9506e60e5f22e5cc790eb34d2aa96a0524 Author: Derek Atkins Date: Wed Oct 24 16:25:22 2001 +0000 afsd-make-debug-switch-print-afsops-20011024 just print one more argument for afs system calls commit a221929afdd53b0c25aa337e046979b2baaa76ca Author: Hartmut Reuter Date: Wed Oct 24 16:14:18 2001 +0000 bozo-fix-bos-addhost--clone-20011024 addhost -clone didn't previously work right. this fixes it commit 8d9ff8a0da43ab9b11a7c9a5a7ee06fb6f2185c1 Author: Nathan Neulinger Date: Wed Oct 24 16:03:48 2001 +0000 undo-makefiles-rewrite-for-objdir-support-20011023 fails certain cases commit 6b0d58257d64404e6723b9dcef27f320b5ba9b31 Author: Daria Phoebe Brashear Date: Tue Oct 23 23:06:41 2001 +0000 linux-autoconf-reuse-i-truncate-sem-name-for-new-test-20011023 since we need to initialize a semaphore commit e62e3c9b661d6dcdebe7f29ee0906f788be893b8 Author: Nathan Neulinger Date: Tue Oct 23 21:57:19 2001 +0000 makefiles-attempt-to-support-gmake-j-20011023 move toward being able to gmake -j openafs commit b3240071642cc6731ad231453b39dc173aaab2f5 Author: Nathan Neulinger Date: Tue Oct 23 21:39:56 2001 +0000 venus-kdump-build-from-srcdir-20011023 kdump should be built from src in srcdir commit b3164a2f90b04a9a6bd969b2744043913f86a9c3 Author: Nathan Neulinger Date: Tue Oct 23 21:36:05 2001 +0000 parisc-linux-lwp-sp-20011023 provide stack pointer for parisc linux lwp commit e824f085aaf3118a91f9e546a38036f8561f6346 Author: Nathan Neulinger Date: Tue Oct 23 19:56:56 2001 +0000 makefiles-rewrite-for-objdir-support-20011023 rewrite makefiles to support objdir; simplify in the process commit 28df3030790336ac5dfd338cbe6acec5ff964e3f Author: Daria Phoebe Brashear Date: Tue Oct 23 16:27:25 2001 +0000 linux-configure-support-mandrake-kernel-patches-20011023 init_once in mandrake calls init_rwsem(&inode->i_truncate_sem); so do we commit 3c11ae3aa1d2bc9ad37dae17d970f3e1c822a855 Author: Daria Phoebe Brashear Date: Tue Oct 23 16:26:00 2001 +0000 doc-html-index-correct-spelling-20011023 documentation should be spelled that way commit 4f852f5e708b4ebc0e79dfea7701c70c3949edbd Author: Nathan Neulinger Date: Mon Oct 22 17:55:05 2001 +0000 venus-install-kdump-scripts-from-srcdir-20011022 non-generated scripts come from srcdir commit 19019b12d0a5bc29b63d13dde2257c47c71211c4 Author: Daria Phoebe Brashear Date: Sat Oct 20 17:27:47 2001 +0000 vos-rename-crypt-to-encrypt-20011020 so -c is again unique commit c3eee5410b6465c0e132364b9827934ea2b7b334 Author: Daria Phoebe Brashear Date: Fri Oct 19 19:52:28 2001 +0000 cache-server-inlinebulk-support-and-enable-inlinebulk-20011019 expand struct server's "flags" to unsigned int from char assume inlinebulk and turn off on first failure ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix precedence error commit dd5689605a5250d6d38acf004fe350e4947143d0 Author: Jeffrey Hutzelman Date: Fri Oct 19 17:22:30 2001 +0000 added button GIF's to the HTML docs commit 653b47a5524d72d1c819f9dea9300066a69f6690 Author: Nathan Neulinger Date: Fri Oct 19 16:56:55 2001 +0000 des-use-ar-macro-instead-of-direct-call-like-everyone-else-20011019 so we can use ar like every other directory commit df6815aa72b1d123d1b9abc40139801f98e2b0f6 Author: Daria Phoebe Brashear Date: Fri Oct 19 16:48:57 2001 +0000 irix-ip35-tweak-kernel-cflags-20011019 based on doc provided by gwehrman@sgi.com commit 70ef828ef731398fb26b62dedaff4f748b668e56 Author: Nathan Neulinger Date: Fri Oct 19 16:31:04 2001 +0000 cmd-errors64-is-generated-so-not-from-srcdir-20011019 fix problem with objdir builds commit 066d15c83235a3639a22108095755f2e4e217f43 Author: Chas Williams Date: Thu Oct 18 16:40:08 2001 +0000 irix-first-pass-at-ip35-support-20011017 i missed this and chas caught it commit 367c2856e8ec8ddedcb422aad1a367581813a121 Author: Eric Lauriault Date: Thu Oct 18 00:36:02 2001 +0000 sunx86-support-20011017 base sunx86 support for newer than solaris 2.4 commit b9948dd9655d8eed505039a50b1aaa83a8213f18 Author: Nathan Neulinger Date: Thu Oct 18 00:06:58 2001 +0000 initial-objdir-support-20011017 first cut at objdir support commit 9e0300cd9735d578d084df60616ec7ec6efba8db Author: Nathan Neulinger Date: Wed Oct 17 23:24:33 2001 +0000 development-readme-20011017 hints for developers commit a8f440e991d7ff139d60b972f42bfc7b3b8f4a43 Author: Daria Phoebe Brashear Date: Wed Oct 17 23:17:53 2001 +0000 linux-dont-require-osi-vfs-to-be-installed-20011017 based on reports from hartmans@mit.edu and jhutz@cmu.edu commit f5d36b1c7094a8a2c74ceb292e8ef84a894236fc Author: Daria Phoebe Brashear Date: Wed Oct 17 22:53:48 2001 +0000 irix-first-pass-at-ip35-support-20011017 based on extensive feedback from Forest Godfrey and Michael Raymond of SGI commit 013d5abbc4cc5a98ab1a66eb9fab01e35acf6d27 Author: Chas Williams Date: Wed Oct 17 22:07:49 2001 +0000 sgi-ip20-work-around-cvt-bug-20011017 "apparently the rev 1 r5000 chips implement 'cvt' incorrectly. the irix kernel works around this problem by checking each text page mapped into memory and doing a fixup on the cvt instructions. it tries to maintain a hash of these pages using fid2() or fid() if fid2() returns ENOSYS. afs, in an effort to prevent people from doing checkpoints on an afs filesystem, makes fid2() return EINVAL. this also keeps the kernel from mapping executables that are in afs space on the broken r5000's. this is the patch i have been using for the past couple years while waiting for an official fix. it makes fid2() return ENOSYS, so you now need to have to have v_ckpt. however i disabled the rest of the CKPT code since i have no idea how well that code actually works. additionally, this behavior is only functional on machines with the 'broken' r5000 h/w. i cant think of a better way to fix this problem since i cant change the irix kernel." commit 56933c552af2f5e01f6ea74d9c8bb50acd17c5db Author: Derek Atkins Date: Wed Oct 17 22:03:45 2001 +0000 top-makefile-make-installs-not-depend-on-extra-building-20011017 kernel module should not make usermode stuff and vice versa commit d785c93b29595704a5544120f5cdb62c42b43064 Author: Nickolai Zeldovich Date: Wed Oct 17 21:46:18 2001 +0000 bozo-getcellhost-takes-uint32-not-int32-20011017 pass in a uint32 rather than an int32 commit ded5127fc0ccfd6845c24eec41ed3bd52858606a Author: Nickolai Zeldovich Date: Wed Oct 17 17:43:17 2001 +0000 cmdebug-addrs-option-20011017 This patch adds an "-addrs" option to cmdebug, which lists the interfaces of a remote cache manager, via the WhoAreYou AFSCB RPC. commit ffc10442a137a69087533acc12d0617bf7469f8d Author: Daria Phoebe Brashear Date: Wed Oct 17 17:36:07 2001 +0000 cvsignore-updates-20011017 based on comment from nneul@umr.edu commit a5cf91a8e27a360e63ebc3826802ff7d518fe693 Author: Daria Phoebe Brashear Date: Wed Oct 17 16:12:00 2001 +0000 junk-redhat-sh-since-configure-tests-cover-us-20011017 we don't need this anymore commit 50b3a0fb22403b250585cbc3d7c4cd17440840d5 Author: Daria Phoebe Brashear Date: Wed Oct 17 04:06:22 2001 +0000 dux-kernel-lacks-mem-functions-20011016 from report from jimmy@e.kth.se you can tell how many people are using openafs on digital unix/tru64. sigh. commit d4c039ce1a5747dc4b8acfacba766d2b2671bb26 Author: Daria Phoebe Brashear Date: Sat Oct 13 06:28:07 2001 +0000 disable-client-inlinebulk-20011013 until we can remember which servers support it commit a158978f851a97c93a350fa3bce127f9e0db052a Author: Daria Phoebe Brashear Date: Sat Oct 13 06:27:19 2001 +0000 update-news-file-20011013 update news file for new advances commit 47685b40daded38999df92d9c1d2d8efa9a15509 Author: Daria Phoebe Brashear Date: Fri Oct 12 18:55:33 2001 +0000 linux-no-umount-begin-20011012 to fix problem reported by rtm@cert.org this code needs to be reworked before it can be reactivated commit 8ac78a72951ca5d0f21f1005a71c9e0a454f6a43 Author: Ed Symanzik Date: Fri Oct 12 14:55:03 2001 +0000 fbsd-makefile-typo-20011012 add missing = commit b4ad986ac0ed10c82b9a4020802236676d9a0eba Author: Daria Phoebe Brashear Date: Fri Oct 12 01:24:22 2001 +0000 make-logging-enhancements-aix-friendly-20011011 AIX lacks WCOREDUMP so we work around it commit a69752132ba1299b829c14942141711c0fcb6733 Author: Daria Phoebe Brashear Date: Thu Oct 11 22:51:13 2001 +0000 fix-attach-directories-code-to-properly-use-vgetpartition-20011011 irix hates us when we misuse functions commit 8cd212c6915bac92ddd2f830aebb351c7ebe953d Author: Nickolai Zeldovich Date: Thu Oct 11 22:41:45 2001 +0000 irix-adapt-mtu-correctly-in-multi-interface-case-20011011 let hash_enum iterate so we get the right interface ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== undo chas's earlier patch fix another flub commit 95116cea15c8a4926cc408e44db7ecdc0990d3c8 Author: Daria Phoebe Brashear Date: Thu Oct 11 22:33:05 2001 +0000 logging-enhancements-need-ctime-decl-20011011 make irix happy commit 3626c9a3502d581b97752e35696f0ec838aacf40 Author: Jeffrey Hutzelman Date: Thu Oct 11 21:34:50 2001 +0000 support-nested-variables-20011009 bash 1.14.7 can't deal with backslash-quoting for this commit 083748a6a42c4e3e85657c45b621320179be4ec2 Author: Chas Williams Date: Thu Oct 11 19:39:32 2001 +0000 irix-adapt-mtu-correctly-20011011 rxi_MatchIfnet() always returns 0 (i.e. not a match). so rxi_FindIfnet() will always return 0 and the ADAPT_MTU code can never determine the interface (and its mtu) fix by returning 1 if we have a match_value commit 99ba2ae4b6774d33cf26d132c0cdcedc8ea5bffd Author: Ken Raeburn Date: Thu Oct 11 18:39:36 2001 +0000 check-for-makefile-fragments-for-systype-at-configure-time-20011011 don't succeed configuring if we can't build for them ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== don't look at the generated files commit 80541f175795043a533d64d2d9fb6cca02950e77 Author: Chas Williams Date: Thu Oct 11 17:41:51 2001 +0000 irix-lacks-mem-functions-in-kernel-so-revert-to-b-functions-20011011 same as how we fix solaris commit 652bdc777bc3638c913f917b7c9c7708be69f19a Author: Ken Raeburn Date: Thu Oct 11 08:50:48 2001 +0000 alpha-linux-24-base-support-20011011 openafs works on alpha linux 2.4 commit 3ccf53b878e994e4c84f742a1bcbe36699f7c4e9 Author: Nickolai Zeldovich Date: Thu Oct 11 08:43:17 2001 +0000 merged-configure-support-solaris9-20011011 this slipped through the cracks when configure and configure-libafs were merged commit 5cf450acf373bb05b5a0164d469714a655f465b9 Author: Nickolai Zeldovich Date: Thu Oct 11 08:41:22 2001 +0000 bulkstat-correctly-return-fetchstatus-error-20011011 actually fall back to fetchstatus's error commit 1748be7dddec8f69a1a83273fcf22e3ab7b91109 Author: Daria Phoebe Brashear Date: Thu Oct 11 08:36:43 2001 +0000 solaris-afs-nfs-translator-not-a-prayer-20011011 first pass at afs-nfs translator for solaris. it has not a prayer of working. i don't really have time to work on it, hopefully someone will see it and care. commit 26996e0cb8c1ff90748b8edf32b8d6293e28aa67 Author: Daria Phoebe Brashear Date: Thu Oct 11 04:15:28 2001 +0000 linux-umount-begin-dont-preclude-afs-put-super-from-usefully-calling-afs-shutdown-20011010 afs_put_super calls afs_shutdown, which expects to be called with afs_shuttingdown equal to 0, not 1 commit 1774eaacce6baee4332dccb74a6a091f01439942 Author: Nickolai Zeldovich Date: Wed Oct 10 20:32:21 2001 +0000 cell-alias-support-fix-memory-leak-20011010 be careful to clean up after ourselves commit 72d9dc774197b2cc0397fd8ee7dfd4b84d54d843 Author: Daria Phoebe Brashear Date: Wed Oct 10 15:00:54 2001 +0000 h-release-r-should-try-harder-to-reap-deleted-hosts-20011008 based on complaint from and work with jimmy@e.kth.se h_OtherHolds_r will never return 0 if we mask our own hold bit before calling it. however we must be careful to mask before h_TossStuff_r so we aren't still "holding" then otherwise just release our hold ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== mask holdbit in case i missed commit acdadc1bdedd6df7c9d8331bae1d375135d8f06d Author: Derek Atkins Date: Wed Oct 10 04:16:54 2001 +0000 linux-rc-file-cleanup-20011008 Modularize the Linux RC file(s) a bit. In particular, add more options for larger caches, allow autogeneration of the cacheinfo file, make sure AFS only starts if the network is running, add SuSE header information, and cope with the Red Hat initscripts better (on Red Hat only, but should work on all systems). ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix silly typo commit 077c0a4d76a77117465a458f3be67560dbc299d5 Author: Nickolai Zeldovich Date: Wed Oct 10 01:10:29 2001 +0000 unix-dynroot-support-20011009 The result is that if afsd is started with "-dynroot", /afs will be a locally-generated directory, with mountpoints for every cell in CellServDB (and /afs/.cellname as the rw mountpoint). If AFSDB support is also enabled, attempting to access /afs/foo will cause the cache manager to do an AFSDB lookup on foo, similar to an automounter. Cell aliases become symlinks to the real cell names under /afs. commit 56fa8cca37516dcc23e5b16e61670d27d0ee9dad Author: Nickolai Zeldovich Date: Wed Oct 10 01:05:27 2001 +0000 support-cell-aliases-20011009 This patch adds support for "cell aliases": a cell alias allows a single cell to be known by multiple names (one of them the primary). This is useful in conjunction with AFSDB support, where you want all the possible names for the same cell to share the same tokens, etc. For instance, if the local resolver has "mit.edu" in its search domain, an AFSDB lookup on cell "athena" will cause the primary cell "athena.mit.edu" to be created, and "athena" made an alias for it. commit 1b979e5a83fe37ccaca0b423ffc2eaaeadcc2eee Author: Nickolai Zeldovich Date: Wed Oct 10 00:59:46 2001 +0000 rx-trace-check-correctly-for-file-descriptor-validity-20011009 file descriptor numbered 0 is valid commit a60bb0c5510d5272458bc1cc368a4c4cd77114a2 Author: Nickolai Zeldovich Date: Wed Oct 10 00:58:44 2001 +0000 release-buffer-cache-lock-before-opening-file-20011009 make the buffer cache release the buffer hash lock before trying to open the corresponding file. Since we're already holding a buffer cache entry, we can lock it instead and let other threads obtain the big hash lock. commit f10372acf2bc21579674c06b50a1ee967fa89302 Author: Nathan Neulinger Date: Wed Oct 10 00:57:05 2001 +0000 tbutc-make-tsm-a-configure-option-20011009 not tsm support can be configure'd on ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== gmake wasn't part of the deal commit 11171303cdc4e05bd80c9069496e881d4e872743 Author: Jeremy Katz Date: Wed Oct 10 00:45:54 2001 +0000 support-nested-variables-20011009 necessary changes to nest variables so build directories can be changed when installing by overriding fewer variables commit 309122e86415b8ee17796a9612bcb8567291d242 Author: Jeffrey Hutzelman Date: Tue Oct 9 15:48:25 2001 +0000 configure-and-configure-libafs-use-acinclude-as-common-ground-20011008 use a single file for most of both configure scripts ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== except don't require autoconf 2.50 commit 2185f91d88f0666ffa3b1b000b8a078692e5a65c Author: Jeffrey Hutzelman Date: Tue Oct 9 07:32:58 2001 +0000 add-live-sys-cmd-20011008 The attached patch adds a program named 'livesys' to the venus directory. This program has exactly the same interface as 'sys', but actually does a pioctl to find out the current sysname instead of printing a value compiled into it. It is intended for sites who want 'sys' to report the active, locally-assigned sysname of the machine on which it is run. commit b5ea10611c1f474095017b20d119e87b61933b48 Author: Daria Phoebe Brashear Date: Tue Oct 9 06:56:43 2001 +0000 avoid-losing-when-sorting-server-prefs-if-a-server-has-left-out-from-under-us-while-we-were-playing-20011009 but it would be better to figure out how we're losing a server out from under us. commit 66d086da413b922097a16ce894fd105c63cd9e70 Author: Jeffrey Hutzelman Date: Tue Oct 9 06:29:16 2001 +0000 volser-update-backup-times-20011009 update backup time when the backup is recloned commit 342ae52c816aeb087bd4d32424baa6cc60ee1166 Author: Jeffrey Hutzelman Date: Tue Oct 9 06:27:31 2001 +0000 logging-enhancements-20011009 The bosserver now logs the exit status of processes under its control. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Messages generated as the result of assertion failures now include timestamps. commit 3c72f0ab259c2e7bb7872d39ff0dc161611fadc6 Author: Nathan Neulinger Date: Tue Oct 9 06:14:16 2001 +0000 parisc-linux-initial-support-20011008 initial support for the pa risc linux port commit e4afa03500a494ef1a142076b02eb4c11944e68b Author: Nickolai Zeldovich Date: Tue Oct 9 05:57:31 2001 +0000 freelance-compute-dirsize-correctly-20011009 compute directory size properly commit bdc894b9458817a1d5a9870d517e239c69d90f8e Author: Chaskiel M Grundman Date: Tue Oct 9 01:07:41 2001 +0000 linux-dcache-cleanup-aggressively-to-avoid-having-too-many-vcache-entries-locked-down-20011008 less aggressive, though, than the "don't use the dcache at all" d_drop solution i proposed. commit 0c03f8607e15e5ebb49eb6dd38a72dc320df9a20 Author: Jeffrey Hutzelman Date: Mon Oct 8 23:55:41 2001 +0000 vos-command-enhancements-20011008 - Adds the -crypt option, which causes rx connections to be encrypted - Adds the 'vos setfields' command, which allows volume info fields to be set. Currently, this command allows a volume's quota to be set, and allows its dayuse counter to be manually cleared. At present, no other changes are supported by the volserver RPC interface. - Adds the 'vos changeloc' command, which allows the VLDB's idea of the location of an RW volume to be explicitly changed without actually moving the volume. This can be used in cases where the VLDB has the wrong idea of the location of a volume for some reason. It is somewhat more predictable and easy to understand than the syncserv and syncvldb commands. - Adds the -offline option to 'vos restore'. This option causes the restored volume to be left offline. This functionality was already present in the code but previously had no user interface. - Adds the -readonly option to 'vos restore'. This option causes the restored volume to be an RO volume. It is not permitted to restore an RO volume when the associated RW volume already exists. While it is possible to restore an RW volume where an RO volume exists, caution should be used to avoid doing this with VLDB entries created by 'vos restore -readonly', since such entries have their ROVOL and RWVOL ID's set to the same thing. commit 0c15cc977e130596bb834de3bc24e10227528c15 Author: Nickolai Zeldovich Date: Mon Oct 8 23:47:01 2001 +0000 fix-uafs-build-20011008 apply until intent of change is clear commit d20760c30601274ed0b072877e9975e3db21609a Author: Nathan Neulinger Date: Mon Oct 8 23:34:53 2001 +0000 more-cvsignore-updates-20011008 fix some cases where versions were hardcoded commit f4b688d9ed75ab429848e2a4cdb7b0f38eae712a Author: Nickolai Zeldovich Date: Mon Oct 8 23:19:07 2001 +0000 solaris-9-support-20011008 support solaris 9 commit 6583586e4033824cfe9e7bdd424dd1a6cea6e149 Author: Nickolai Zeldovich Date: Mon Oct 8 23:15:24 2001 +0000 fix-linux-atomic-t-lossage-by-macroizing-vnode-refcounts-20011008 convert to macros for dealing with vnode refcounts deal with linux 2.4 atomic_t in the process commit 2d1ee8cf3d0519e584d5f0bf1979b5ec397898ce Author: Jeff Riegel Date: Fri Oct 5 22:40:44 2001 +0000 windows-afsdb-and-freelance-afs-root-support-20011005 afsdb record support for windows freelance /afs (make up an afs root instead of using root.afs from some cell) support for windows commit d53aea964ca8b74b5206f94708078ec960edb9b1 Author: Nathan Neulinger Date: Fri Oct 5 22:31:47 2001 +0000 vol-warnings-cleanup-20011005 make stream_open take const arguments commit d924d9e4a70f243b7ff33288a1d7d9af11067c8d Author: Nathan Neulinger Date: Fri Oct 5 22:30:56 2001 +0000 sys-warnings-cleanup-20011005 add headers commit 9845b85764a8542b4399873953fa47040caf6ec2 Author: Nathan Neulinger Date: Fri Oct 5 22:30:12 2001 +0000 rx-warnings-cleanup-20011005 add header, pull ++ out of ntohl commit 72977b7f013a7ca7a02bec2ba34189c3b711e284 Author: Nathan Neulinger Date: Fri Oct 5 22:28:49 2001 +0000 util-makefile-suppress-multiple-install-target-20011005 extra install target unneeded commit c5d97c62c819b5e36c6145deb77a5ee003ef8cd9 Author: Nathan Neulinger Date: Fri Oct 5 22:25:24 2001 +0000 viced-server-shutdown-diagnostics-20011005 print some debugging if we shutdown due to failure commit 45376df63f7f4beda2bac863c73d478746c821ed Author: Nathan Neulinger Date: Fri Oct 5 22:24:41 2001 +0000 util-warning-cleanup-20011005 add headers, parens, and braces ifdef notdef unused routines commit 60cccb1237496b724e0ce98f47392cd1898c59c2 Author: Nathan Neulinger Date: Fri Oct 5 22:23:58 2001 +0000 auth-warning-cleanup-20011005 add headers, parens, and braces commit 0f0671aa55b2e658c37257a14aef9368e58b358b Author: Nathan Neulinger Date: Fri Oct 5 22:22:57 2001 +0000 pinstall-warning-cleanup-20011005 add header to suppress warning commit 039e8b9279cbe106f22674ee32c3bd5d920264b3 Author: Nathan Neulinger Date: Fri Oct 5 22:19:20 2001 +0000 des-warning-cleanup-20011005 cleanup warnings from des (add headers) commit e841874510530dd17521febb4a1d5d03ffdd84c8 Author: Nathan Neulinger Date: Fri Oct 5 22:18:36 2001 +0000 rxkad-warning-cleanup-20011005 cleanup warnings from rxkad (add headers, move a ++ outside a htonl) commit 5498512cece260d62e58988eec4982d77437a089 Author: Nathan Neulinger Date: Fri Oct 5 22:17:18 2001 +0000 kauth-warning-cleanup-20011005 cleanup warnings from kauth (add headers) commit 8fed71c6ac8801145d1d5cdc857a30286af3d5e1 Author: Nathan Neulinger Date: Fri Oct 5 22:13:33 2001 +0000 make-upclient-clean-up-after-itself-20011005 to preclude lots of turds being left in /tmp from failures commit 5f002d755ff25f976f50c8e4d976f28caa245751 Author: Love Hörnquist-Åstrand Date: Fri Oct 5 22:10:54 2001 +0000 viced-hosts-dump-make-output-more-useful-for-holds-20011005 don't just print pointer to holds array commit 97da033493034d200f51075a4532ee1e27098567 Author: Nathan Neulinger Date: Fri Oct 5 22:07:17 2001 +0000 ptserver-warning-cleanup-20011005 clean up warnings in ptserver dir commit 366a772a80357ab09a9dd02cb34ef87cdfab25ec Author: Nathan Neulinger Date: Fri Oct 5 22:05:16 2001 +0000 ubik-warning-cleanup-20011005 clean up warnings (mostly new headers or added parens) in ubik commit 2c0184532bedf259aad338c2d18eeca2c9e3e196 Author: Nathan Neulinger Date: Fri Oct 5 22:03:16 2001 +0000 afsd-warning-cleanup-20011005 clean up warnings in afsd directory commit f6ff74b46b789b5ae94654f0481b892417311a49 Author: Jeffrey Hutzelman Date: Fri Oct 5 21:58:00 2001 +0000 ptclient-add-lh-command-20011005 The attached patch adds a new 'lh' command to the ptclient utility. Analogous to 'l', this command lists the hostCPS for a specified host. commit c15452d18389556110dab66e62fa86922590040a Author: Nickolai Zeldovich Date: Fri Oct 5 21:45:52 2001 +0000 rxdebug-add-verbosity-20011005 This patch adds a "-long" option to rxdebug, to print out more verbose output, and makes rxdebug print out more information about the Rx peers when ran with "-long". commit 5bcf626ddaf92e199c4b46c11ad276013a47db52 Author: Nickolai Zeldovich Date: Fri Oct 5 21:44:35 2001 +0000 solaris-mtu-cleanup-20011005 This patch provides better MTU selection on Solaris, by actually going through the list of interfaces and picking the correct MTU, rather than assuming 1500. It also fixes a small bug in the server preference code, which wasn't checking for IPv6 interfaces, and if there were any IPv6 interface, it would believe all servers were on the local subnet. commit 4b00d313a06d85e274bf96a459b063d6285a49e2 Author: Nickolai Zeldovich Date: Fri Oct 5 21:41:52 2001 +0000 cvsignore-updates-kolya-20011005 ignore more things since we missed them before commit 4d5be5c6aa6ad84a826392665656f04e5d7c3438 Author: Nickolai Zeldovich Date: Fri Oct 5 21:41:09 2001 +0000 fix-prototype-warnings-and-eliminate-unused-variables-20011005 minor cleanup in mkvers and kauth/admin_tools commit 34a3a269ec44a5c62b8d6241613bf9fde8404577 Author: Nickolai Zeldovich Date: Fri Oct 5 21:38:57 2001 +0000 linux-compute-mtu-correctly-20011005 This patch fixes two bugs: (1) pass more than 4 parameters to AFSCALL syscalls on Linux, allowing the ADVISEADDR op to pass the MTU array pointer. (2) properly convert MTU's to network byte order, since that's what the rest of the code expects them to be. commit d2e9d29b77c9eabb73ab859ccb0635e8c45a30a0 Author: Nickolai Zeldovich Date: Fri Oct 5 21:36:59 2001 +0000 afsd-afsdb-shutdown-cleanly-20011005 make userspace afsdb handler shut down cleanly commit c9176d7f38994b39464e08ffbb6b8967069a437f Author: Derek Atkins Date: Mon Oct 1 23:58:59 2001 +0000 linux-generate-struct-vnode-dyanmically-from-kernel-headers-instead-of-by-perverting-configure-to-test-for-every-one-of-alan-coxs-additions-some-of-which-will-doubtless-never-make-it-into-mainline-kernels-20011001 hopefully this will be the end (at least for a while) of problems where every linux version requires a new openafs release. the struct vnode is now dynamically generated by parsing the linux/fs.h file and pulling out the struct inode, then rewriting osi_vfs.h commit a878b9e6899e87ac31f211f3d48ef29f9fbc59d7 Author: Daria Phoebe Brashear Date: Mon Oct 1 20:20:04 2001 +0000 allow-configure-time-override-of-DEST-20011001 so DEST=foo ./configure will work commit 8a3eb1f06d1aabe8b44889e73a534ca37bcb61ba Author: Daria Phoebe Brashear Date: Mon Oct 1 18:51:41 2001 +0000 be-more-careful-about-references-when-adding-and-deleting-callbacks-20011001 perhaps too careful. to fix potential crash in TDel and TAdd ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove extra ) which snuck in commit 7afd82623d0108942800b5fc5d30419602d60e65 Author: Nickolai Zeldovich Date: Mon Oct 1 18:35:50 2001 +0000 require-administer-permission-for-mount-point-creation-harder-20010926 make sure a mount point isn't being created if the user isn't allowed to do that commit 12136567fc41d77d9863fe590b95ea59e8d0cf2c Author: Mark W. Eichin Date: Mon Oct 1 18:31:49 2001 +0000 linux24-another-new-inode-field-sigh-20011001 with configure glue by shadow@dementia.org one of these days we really need to implement a better solution commit 308ab83316a1b9f8431a2c99d31833c5d3f183f8 Author: Nathan Neulinger Date: Mon Oct 1 18:20:49 2001 +0000 login-makefile-needs-new-build-system-update-20011001 fixed missed case of afs/ in libdir commit f64e648afb35480de74bfc88860a961731062ae4 Author: Nathan Neulinger Date: Mon Oct 1 18:19:22 2001 +0000 pam-build-on-hpux11-20011001 so pam now builds on hpux 11 commit 7d2a0bd49f46a7c3a7785dfdc20ba1c62729ba85 Author: Nathan Neulinger Date: Mon Oct 1 18:17:20 2001 +0000 linux-kdump-wrapper-20011001 install a kdump wrapper for linux. (with mod to use $0 instead of kdump) commit a134e52982e1471276f76973c0659953229cfed4 Author: Jeffrey Hutzelman Date: Mon Oct 1 18:11:03 2001 +0000 fix-destdir-support-for-fsconv-and-xfs-binaries-20011001 properly support DESTDIR case in vol makefile for certain files which were broken before commit c14d7766f615908412ce9d44bd78495b8a00b0bd Author: Daria Phoebe Brashear Date: Fri Sep 28 14:09:21 2001 +0000 rx-ignore-vab-harder-20010928 if the other side suggests we use the vab security class, ignore them harder than we did before commit 0c0cc07c7671a6e409dda1c547e631ab89110187 Author: Daria Phoebe Brashear Date: Thu Sep 27 18:37:49 2001 +0000 afs-lookup-put-back-vcache-entry-on-failed-evalmountpoint-20010927 based on observations of effects related to afs-lookup-check-evalmountpoint-return-20010221 and affirmed based on mail from Todd_DeSantis@transarc.com this should reduce but perhaps not eliminate the VLRU cycle: increase -stat parameter problem on Linux as it's not yet clear that this is the only problem and circumstantially it is probably not. commit 0cbe03ec4b3de6560bebbfe65a1e6e6a8846f8c1 Author: Daria Phoebe Brashear Date: Thu Sep 27 03:16:36 2001 +0000 afs-client-inline-bulkstatus-rpc-support-20010926 this cuts rpc traffic in half for directories on which you have no permissions and is capable of doing more if a useful way can be conceived of caching errors. currently bulkstat works thus: say a directory has 100 files. bulkstat will on the first hit stat the first 30 files, integrating the information if successful, and when you hit file 31, repeat. meaning if you can read that 100 files is 4 bulkstatus rpcs (3*30+10). if you can't, you do bulkstatus, get an abort, then do fetchstatus on the file and find out why you lost. you go on and try bulkstatus again this time for files 2-31 instead of 1-30. same failure, meaning you do 2N rpcs for the N files. inlinebulk doesn't abort but instead fills in stat info for any of the up to 30 files it can, and errors for any it can't. currently the client will pull out any stat info filled in, and then return the error from the first file, meaning if you can't read the directory we do N inlinebulk rpcs instead of N bulkstatus + N fetchstatus rpcs. if the errors for the other 29 could be meaningfully cached (and you have to be careful not to pollute information such that it's not useful for someone in a different auth context) then we could get down to the same 4 rpcs we have for success, but that's an exercise for later give how the cache manager works. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== create audit event for inlinebulk ==================== rename spare2 commit eaef8cb34c2463d6a00e69b022b35b7042b5806f Author: Jim Rees Date: Wed Sep 26 22:49:33 2001 +0000 fix-locks-for-openbsd-20010926 don't confuse direct with dirent use curproc instead of cur_proc() commit 98c1c1df9e952bcf8482b84e656ef5a6d8d31fd8 Author: Daria Phoebe Brashear Date: Wed Sep 26 16:28:22 2001 +0000 bos-avoid-false-errors-when-salvaging-20010926 there were some cases where we falsely reported the BZNOENT from salvage-tmp being cleanup up as "bos: failed to start 'salvager' (no such entity)".. despite having just reported: bos: salvage completed this should no longer happen. commit f8a3fb704e88b1810a7d5b710ca59e5eea69a3b4 Author: Nickolai Zeldovich Date: Wed Sep 26 01:02:46 2001 +0000 allow-namei-fileservers-to-use-directories-instead-of-partitions-for-vicep-20010924 -- /vicepX/AFSIDat/README is created the first time the fileserver is started, rather than the second time. -- For the namei fileserver, /vicepa/Lock/vicepa is created as the lockfile. Previously, on Solaris, the raw device was was being used for LockPartition(), and that breaks when there isn't a corresponding device. -- The VolPartitions and XVolPartitions volserver calls now return the list of attached (rather than mounted) partitions. This is consistent with the NT fileserver and removes duplicate code. The actual magic for allowing the fileserver to attach non-mounted partitions is to create /vicepX/AlwaysAttach. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== carefully avoid non vicep directories and/or partitions as it may get upset at automounters or running cachemanagers! ==================== more carefully avoid non-vicepX partitions commit 362d26c733b086d26f013bd229af979a112098f5 Author: Daria Phoebe Brashear Date: Tue Sep 25 16:44:39 2001 +0000 create-inline-bulkstatus-rpc-and-server-stub-20010925 this way it's possible to do a bulkstatus where some items succeed and fill in that stat info, instead of just getting an error. commit fb88a009805c1c918d1790046682620388b7a31b Author: Daria Phoebe Brashear Date: Mon Sep 24 23:19:46 2001 +0000 fileserver-remove-delay-on-stat-errors-20010925 previously and since 3.5 rx enhancements fileserver would delay 3 seconds on sending an rx abort when the abort was the 11th or more occurance of the same error on the same call. the problem was fetchstatus/bulkstatus on a directory on which you have "l" but not "r" would take forever after the first 5 files (bulkstatus and then fetchstatus on each file, 2*5=10) so in FetchStatus and BulkStatus stubs we suppress repeated errors from Check_PermissionRights *only*, which has the effect of suppressing the problem without removing the theoretical benefit of avoiding letting any one client throw requests at as as fast as we can abort them unless those requests happen to be fetch/bulkstat requests which fail a permission check, but in order to avoid that we'd also need to cache what they last tried to stat, and then things would get ugly. commit 02254085a962931edd59d8b089ce521173ba2c86 Author: Daria Phoebe Brashear Date: Mon Sep 24 17:11:07 2001 +0000 comerr-include-proper-old-compat-glue-20010924 so old initialize function works correctly commit 80afed9bf9e46cf599e1f71e448ddf7e2db3b40c Author: Daria Phoebe Brashear Date: Mon Sep 24 13:17:16 2001 +0000 export-vlops-in-vldbint-xg-file-20010924 based on report from lha@stacken.kth.se include vlops in the "published" interface ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== based on report from lha@stacken.kth.se remove from vlserver.p.h commit 667a9d149e00910c1454807d292a2b15a95ae134 Author: Daria Phoebe Brashear Date: Mon Sep 24 11:51:05 2001 +0000 NEWS-updates-20010924 update NEWS for stuff in 1.2.1 and stuff to go into 1.2.2 commit c1cee109ad926fdf81cfd7134b8af8ed8f176231 Author: Nickolai Zeldovich Date: Mon Sep 24 11:48:14 2001 +0000 viced-deal-gracefully-with-afsconf-failure-20010924 -- Fileserver will complain if afsconf_Open() fails, rather than mysteriously segfault'ing later on. commit 7a214c2bc13d4d18e534fcc933cae5ba1c34f83c Author: Nickolai Zeldovich Date: Mon Sep 24 11:44:32 2001 +0000 rx-cleanup-20010924 The rxi_ReceiveAckPacket() change makes sure we have two extra fields (the max and recommended packet sizes) hanging off the packet, rather than just one. The PKTFLAG_FREE stuff in rx_packet.c just initialized flags in case PKTFLAG_ACKED somehow didn't get cleared there. The wirevec changes are off-by-1 errors: there's p->niovecs iovecs in a packet, from 0 (header) to p->niovecs-1, so p->niovecs doesn't refer to a meaningful iovec. commit 7d317a0e27dc64a2f4629577a6420273f69be047 Author: Mattias Amnefelt Date: Sat Sep 22 00:48:56 2001 +0000 dux-vfsck-check-for-mounted-filesystem-20010919 modified by shadow@dementia.org for dux 4.0a (ifndef UID_NO_CHANGE case) commit 9175ce36fbd575bf6a9f146a45930c6f8e580584 Author: Chaskiel M Grundman Date: Thu Sep 20 21:10:06 2001 +0000 darwin-optimize-and-fix-dirpath-20010920 change optimization, add alternate dirpath for dealing with darwin and macos in same binaries commit 9d50b935e36ef7831f5172f1ac8c8dee52d61710 Author: Daria Phoebe Brashear Date: Thu Sep 20 06:08:14 2001 +0000 undo-linux-call-afs-dopartialwrite-20010920 scrap this approach commit e667ec654b7d14fd0ef228dd9acbda974ba6825a Author: Daria Phoebe Brashear Date: Thu Sep 20 04:58:23 2001 +0000 ubik-fix-typo-20010919 somehow this crept in commit 67081b64c9794550315bcd24bb8ecf8431cd260e Author: James Peterson Date: Thu Sep 20 00:18:54 2001 +0000 winnt-dont-do-unneeded-version-check-20010918 make afs config wizard not complain about version < 3.5 commit 62ea64e63aa97efdd2b231e91ed00565bad93891 Author: Shyh-Wei Luan Date: Thu Sep 20 00:16:19 2001 +0000 news-include-windows-updates-20010918 list windows client user-visible changes commit bdfa7364be16746448d9149579de6b635ff1390e Author: Jim Rees Date: Wed Sep 19 18:59:08 2001 +0000 openbsd-nits-20010919 With these small changes, "make" on OpenBSD actually completes! commit 9d1bdf1f14218d384b9b5711452e3ed66e824b05 Author: Jim Rees Date: Tue Sep 18 21:44:02 2001 +0000 document automake dependency commit ddb518c786d81c1dc9535101824f1d9bf14ffcfd Author: Daria Phoebe Brashear Date: Tue Sep 18 05:26:47 2001 +0000 comerr-behave-like-the-rest-of-the-world-20010918 no other comerr changes the case of the error table name you specify in the .et file. now neither does ours. commit 7944ae223ada964b0a8c617dfef2f9fb52fadbf1 Author: Walter Wong Date: Mon Sep 17 22:37:21 2001 +0000 misc-build-cleanup-20010917 1) Removal of unused variables 2) some NT ifdef cleanup 3) use of size_t rather than int to store the result of strlen() 4) some bugs that really only occured when errors occured. 5) some functions were implicitly declared as 'int' but doing a "return;" Some I declared as 'void' and prototyped them; some I just returned a value. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== put symbol in an ifndef for winnt ==================== change erroneous void to int ==================== technically the cmdprocs return int ==================== update function to be void commit 8068237ad08e1b3e00c09ae5e21c8e772ca67c9a Author: Walter Wong Date: Mon Sep 17 20:35:09 2001 +0000 nt-makefile-clean-targets-20010917 more work on providing a clean target for nt commit eb2727a6a74d634b054c5a757e65e14ec7f94931 Author: Walter Wong Date: Mon Sep 17 20:26:24 2001 +0000 readme-cvs-update-with-instructions-20010917 providedetails about openafs cvs commit 82e061df412c781435f30ee0474f3484ff585cb7 Author: Sam Hartman Date: Mon Sep 17 19:33:50 2001 +0000 ppc-linux-needs-install-path-20010917 set path to install in pcc linux22 makefile fragment commit e53c63cc1c26397ca8fb4a3bca523c3c5d5b7248 Author: Daria Phoebe Brashear Date: Mon Sep 17 19:12:20 2001 +0000 linux-call-afs-dopartialwrite-from-afs-memwrite-and-afs-ufswrite-not-afs-linux-write-20010828 don't erroneously call fakeopen commit b80f8ab2cbbb3c28328964879f0bb25c05c0a61b Author: Jim Rees Date: Fri Sep 14 00:19:17 2001 +0000 Initial OpenBSD support. Most of user space builds. No kernel module yet. commit 0c412784f1ea6db4a19804421c959e28b31d74af Author: Chaskiel M Grundman Date: Wed Sep 12 06:00:46 2001 +0000 darwin-update-plist-building-20010912 update how plist files are constructed so subsconfigure for libafs can work commit 15cf58cd8e7eb61ac268589157283436bc95716e Author: Daria Phoebe Brashear Date: Wed Sep 12 16:55:58 2001 +0000 linux-makefileproto-redhat-enterprise-support-20010912 based on work by thomas.mueller@hrz.tu-chemnitz.de commit 20b20753c85fea9268c13232a9dcdd9ba56d006a Author: Daria Phoebe Brashear Date: Tue Sep 11 21:30:21 2001 +0000 darwin-plist-renaming-20010911 allow configure processing of files commit 88cfb6ba69d0f15c7996c91d6fb6960b3efc11c6 Author: Daria Phoebe Brashear Date: Tue Sep 11 20:28:56 2001 +0000 afs-callback-kill-bcopy-again-20010911 this slipped in with the memory leak fix commit 1c02f6300b71f7d2016f90cb963d53ceda76c29f Author: Daria Phoebe Brashear Date: Tue Sep 11 07:56:23 2001 +0000 update-top-level-docs-for-new-install-targets-20010911 make top level files indicate current build instructions commit 5aa2c39f86289df5746a176f5322f45a483f27c9 Author: Daria Phoebe Brashear Date: Tue Sep 11 07:25:54 2001 +0000 aix-makefileproto-cleanup-dest-building-20010911 readd missing /es commit 91b3cb338c3f1023e017e4d9405a30f09a9fdf4a Author: Daria Phoebe Brashear Date: Tue Sep 11 05:46:37 2001 +0000 makefileproto-solaris-install-modules-in-modlad-dir-20010911 get rid of another bogosity commit 3d83c88fc5c875d4211e25b82aa8aee87319f7aa Author: Daria Phoebe Brashear Date: Tue Sep 11 05:00:29 2001 +0000 configure-libafs-fix-paths-20010910 update paths for building submodule commit 331b7594f560d0873e73307c1b43a197d6705f13 Author: Daria Phoebe Brashear Date: Tue Sep 11 04:30:49 2001 +0000 irix-makefileproto-fix-dest-target-20010910 rely on DEST not DESTDIR also install instead of cp to implicitly create needed directory commit 6b113587ca4d66ce213391f9676974d60df3fee8 Author: Daria Phoebe Brashear Date: Mon Sep 10 21:52:30 2001 +0000 linux-configure-check-for-more-inode-struct-members-20010910 for redhat enterprise kernel commit ad8f6909ee0e378e7f949cdad445542e97099a64 Author: Daria Phoebe Brashear Date: Mon Sep 10 21:50:43 2001 +0000 update-libafs-configure-20010910 so the kernel module subconfigure will work usefully commit 4a31f02b1f271caa63b3274fb3d0f413d4757002 Author: Nathan Neulinger Date: Mon Sep 10 21:21:01 2001 +0000 makefile-cleanup-remove-extraneous-semicolons-and-other-unused-bits-20010910 rationalize away some more crap commit 2a12550e7c7b062aec35f2597babe022bbb23d6a Author: Nathan Neulinger Date: Mon Sep 10 21:14:01 2001 +0000 add-cvsignores-to-project-20010910 start at cvsignores commit af3fa773a451fa891df8534b5a3f0f0346d03d5e Author: Walter Wong Date: Mon Sep 10 21:08:14 2001 +0000 winnt-readme-update-20010910 update winnt build instructions commit 7303f3148e23ce9904de833c86953bd0b284a4f4 Author: Chaskiel M Grundman Date: Mon Sep 10 21:07:32 2001 +0000 darwin-build-updates-20010910 separate plist on per-version basis 1.4 is not yet supported commit 80c42d4a875456c2de8f11087a8f5855c55dd0df Author: Walter Wong Date: Mon Sep 10 20:54:20 2001 +0000 winnt-create-missing-clean-target-20010910 get winnt make clean closer to working commit 80e2c2f8cee29c4e89ab0363e276836d1d95d1d9 Author: Jeffrey Hutzelman Date: Mon Sep 10 20:15:57 2001 +0000 make-install-support-for-transarc-and-prefix-style-universes-20010907 according to jeff: - Renames the top-level 'install' target to 'build'. This should be transparent, since no one should be using that. - Improves on Sam's dirpath patches, by splitting out server binaries into separate bin, sbin, and libexec directories in GCS mode (these are all /usr/afs/bin in Transarc mode). - Updates the top-level 'all' target so that it builds the software but does not generate a dest tree. Top-level 'lib' and 'include' directories are generated to hold the intermediate libraries and headers used during the build. - Adds a new top-level 'install' target, which installs things in the appropriate directories under ${DESTDIR}, based on configure's install directories plus the extras added by Sam's patch. - Adds a new top-level 'dest' target, which creates an old-style dest directory under ${DEST}. The ${DEST} variable defaults to the traditional value of ${SRCDIR_PARENT}/${SYS_NAME}/dest. Note that this variable used to be called ${DESTDIR}; it was renamed to avoid conflicts with the de facto standard usage of ${DESTDIR}. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix missed makefile ==================== update another missed file ==================== eliminate bogus escaping ==================== get rid of another bogus escape ==================== remove unused include directory ==================== get rid of no longer used libdir ==================== remove unused incdir ==================== fix up some problems for make compatibility and missing trailing / ==================== put afs.exp in the right place ==================== remove bogus afssrvdir reference ==================== update dest version of output ==================== update ref to libexecdir ==================== kill refs to afssrvdir ==================== convert missed LIBDIR to TOP_LIBDIR ==================== remove explicit INSTALL and use makefile.@sys value instead ==================== except it's helpful to actually include makefile.@sys ==================== convert LIBDIR to TOP_LIBDIR commit ba4498fa9c514b8916360c0ff8684f7bab609b33 Author: Daria Phoebe Brashear Date: Mon Sep 10 17:37:32 2001 +0000 bucoord-cvs-bogosity-20010910 correct bogosity which crept into CVS (rtruct instead of struct) commit b29021b83d51018d81f8b8f3cd521f7c56475c50 Author: James Peterson Date: Mon Sep 10 16:39:47 2001 +0000 windows-install-updates-20010910 more corrections for windows packaging commit 31094ffc5acc68ad8e38b22a070554ef6e456f59 Author: Walter Wong Date: Sat Sep 8 05:31:22 2001 +0000 winnt-makefile-fixes-20010908 clean up makefile problems which got introduced by other changes commit 593e5a8c405685cf116a4d207bf6358343054fa9 Author: Nickolai Zeldovich Date: Fri Sep 7 21:47:57 2001 +0000 rx-do-housekeeping-on-packets-with-new-flags-20010907 keep better track of packet state using flags in packet header indicating which packets are in acked state and which are free commit 186338140064116660b6f80a62379100ea38688b Author: Nickolai Zeldovich Date: Fri Sep 7 21:12:13 2001 +0000 afs-callback-plug-small-memory-leaks-20010907 2 RPC stubs have small memory leaks since the actual string length is being freed and not the whole allocated chunk commit 3ed7207c17a8034f012f8134310bd2465d8ca4b2 Author: Chaskiel M Grundman Date: Fri Sep 7 19:59:03 2001 +0000 darwin-make-afsd-script-exit-for-failure-20010907 script failed to exit for one of the failure cases before commit cb6e75cfaac7a57ce2f5f149105b44e493c3d204 Author: Carsten Jacobi Date: Fri Sep 7 05:36:41 2001 +0000 pam-afs-new-features-20010907 add ignore_uid (like ignore_root) plus set_token (set token in auth step instead of setcred), refresh_token (no new pag), use_klog (fork a klog child), no_unlog, remainlifetime (sleep before deleting creds at logout) commit 2124d625637097aa2e4d9cfee5e15c9a444a351b Author: Chaskiel M Grundman Date: Fri Sep 7 05:00:05 2001 +0000 macosx-dont-interfere-with-cd-audio-20010906 don't use constant VT_AFS for our vfs type commit 3143375715434a104633241aa1959df15b9e51e8 Author: Daria Phoebe Brashear Date: Fri Sep 7 04:49:16 2001 +0000 param-remove-nested-commenting-20010906 based on comment from rjs3@andrew.cmu.edu commit 7abae22b939796acdde6f8e83c0e1ed9f5c9b799 Author: Walter Wong Date: Fri Sep 7 04:38:19 2001 +0000 winnt-more-makefile-fixes-for-cvs-head-20010906 take care of some places where we got out of sync between unix and windows, add media target in afs_setup_utils commit 653b0016120c15daca7d8d6bd011421f4c4adaa0 Author: Walter Wong Date: Fri Sep 7 04:32:56 2001 +0000 winnt-initialize-variables-and-memory-before-use-20010906 initialize a variable false when assumed; also some memset(...,0 commit 11b021e1b1480230d64def8217288a49958d20e9 Author: Sam Hartman Date: Fri Sep 7 04:18:59 2001 +0000 dirpath-support-configure-path-options-and-decanonicalization-20010906 Sam's notes: "Here is a patch that supports directory paths, documentation for the above and decanonicalization of of supplied paths. Here are tests I have run: * Build with both transarc and non-transarc paths and examined dirpath.o * Build with roughly FHS-style paths and tested on Debian * confirmed that bos salvage works even when salvager not in /usr/afs/bin (it gets the log correctly too) * confirms that bos getlog can get logs from /usr/afs/logs even when /ur/afs/logs is /var/lib/openafs/logs * confirmed that bos getlog can get /etc/motd " commit 5caf0b44b34027a9ce76fc7744ad108060e326b7 Author: Daria Phoebe Brashear Date: Fri Sep 7 04:05:43 2001 +0000 afs-sysnames-add-sunx86-57-and-58-20010906 allocate ids for sunx86 57 and 58 commit fcd12ad905e74fc7a6a19ba01a0d26b78a4ae003 Author: James Peterson Date: Fri Sep 7 03:54:54 2001 +0000 windows-build-environment-cleanup-20010906 clean up previous problems in the win2k build env commit 954a6215de050d145d8554b383a619e840ce5137 Author: Daria Phoebe Brashear Date: Fri Sep 7 02:12:29 2001 +0000 linux22-redhat-enterprise-kernels-add-inode-fields-20010906 struct vm_area_struct *i_mmap_shared; added in a patch to the redhat enterprise kernel commit 94024517370ee12c532fa946f6e9ac23091cfe89 Author: Chaskiel M Grundman Date: Thu Sep 6 20:07:12 2001 +0000 linux24-fix-path-leak-20010906 based on suggestion from Srikanth and Chas Williams commit b422dfb6a6ef4ba5e71ccc6c00aaec1323930196 Author: Sam Hartman Date: Tue Sep 4 23:28:20 2001 +0000 update-top-readme-20010904 add ppc linux stuff and update alpha linux commit 23a794974a373cdbf9ecc5fb4b2c5c00d8c22c1e Author: Daria Phoebe Brashear Date: Thu Aug 30 07:14:37 2001 +0000 libafs-linux-makefileproto-shouldnt-default-to-kgcc-20010830 nuke kgcc crock *again* commit 5799a68ba61d06f14aca0a1fdb0a9544c19c5837 Author: Daria Phoebe Brashear Date: Thu Aug 30 07:07:16 2001 +0000 config-makefile-further-cleanup-20010830 ordering of dependancies caused ${DESTDIR}/include/afs to not exist in time, masked if you built into an existing destdir. so let's make the makefile simpler and more logically paraallel. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== get missing backquote commit 635df30c0f8113daeaeceb856bcaaf0b8ea3d9b5 Author: Nathan Neulinger Date: Thu Aug 30 00:22:17 2001 +0000 more-makefiles-cleanup-20010829 get rid of cases where we'd end up with two / because of DESTDIR pasting macroize calls to rm ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== get rid of another case of bogus trailing quoting commit b1aa5e5209fed4ac0378eacfbedfc575ca81b3a2 Author: Jeffrey Hutzelman Date: Wed Aug 29 23:10:45 2001 +0000 libafs-make-subtree-during-build-for-later-use-20010829 get rid of bogus ..'s ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== make the subdir buildable commit 3076602831a267cac8bcb7868c64aaed94b1ae00 Author: Daria Phoebe Brashear Date: Wed Aug 29 22:31:38 2001 +0000 libafs-irix-makefile-cleanup-20010829 clean up typo so we build correct module commit 1c70ed1f9ce3a58147d38cb0ce5ac2c24456b9fa Author: Jeffrey Hutzelman Date: Wed Aug 29 20:17:19 2001 +0000 libafs-make-subtree-during-build-for-later-use-20010829 at build time, create a subtree for use later which can be used to build *only* kernel modules, but only for the afs sysname you were building for in the first place currently. commit 3b75d2d05dcb8bab58be6ebb84af03364818ec46 Author: Daria Phoebe Brashear Date: Wed Aug 29 20:04:00 2001 +0000 linux-support-kernel-patches-used-by-suse-20010829 check for added fields in struct inode commit af5ca3c6084896a634ce9199fed868d1a4b5b0b6 Author: Daria Phoebe Brashear Date: Wed Aug 29 19:45:37 2001 +0000 cvs-needs-readme-20010829 warn of the dangers of cvs snapshots explain how to use one commit 65bbcedf9add37c4527aadd0065ce1f2700aafe6 Author: Nathan Neulinger Date: Wed Aug 29 18:40:51 2001 +0000 venus-makefile-cleanup-20010829 cleanup and remove now unused for/do constructs commit 08ab25471c1a83f6a82f1c7430dc2bd80b8d77e9 Author: Nathan Neulinger Date: Wed Aug 29 18:37:32 2001 +0000 afsd-makefile-cleanup-20010829 cleanup for afsd makefile commit 4f0cfb2ee902687aefd5130dcf3fc2c620e27664 Author: Nathan Neulinger Date: Wed Aug 29 18:36:27 2001 +0000 linux24-make-kdump-build-20010829 make kdump at least buildable, not particularly pretty commit dd1798a7bac7b53370c4a90a82949ad7aa3abbe8 Author: Daria Phoebe Brashear Date: Wed Aug 29 18:12:35 2001 +0000 dux-documentation-update-20010829 based on information from joda@pdc.kth.se commit dc885e54f28a5d50382c92d58910a358c365eb57 Author: Johan Danielsson Date: Wed Aug 29 17:55:56 2001 +0000 dux-create-loadable-kernel-module-20010829 with minor correction by shadow@dementia.org to install the module, but we now create a loadable kernel module for dux ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== actually build afs.mod ==================== fix typo commit b730159315cc7f9dafbf83aedf8c716fccf377f4 Author: Daria Phoebe Brashear Date: Wed Aug 29 17:14:49 2001 +0000 xdr-int64-dont-build-on-dux-ever-20010829 some form of xdr_int64 is always available on dux, so don't build it. commit 3a6527e02681ff6f8792dd44b0ddf197a0e2c078 Author: Daria Phoebe Brashear Date: Wed Aug 29 04:59:38 2001 +0000 mpp-needs-unistd-for-protos-on-irix-20010828 so we don't get the implicit int return type and upset the irix compiler commit b0c5f0cac6b8b5cda2f3d56d8d637e36c4d90d13 Author: Nathan Neulinger Date: Wed Aug 29 02:19:55 2001 +0000 makefile-updates-20010828 clean up all the makefiles to remove bogus targets, eliminate trailing / requirement from DESTDIR, avoid needing to pass things like DESTDIR around between makefiles ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove bogus quoting commit 0eb68cde324d26b145e648075524f5e2207c9101 Author: Daria Phoebe Brashear Date: Wed Aug 29 01:46:57 2001 +0000 linux-call-afs-dopartialwrite-from-afs-memwrite-and-afs-ufswrite-not-afs-linux-write-20010828 attempt to deal with case where data not being flushed from cache commit ff2f7b801d622553db60eb656a388628107b1a31 Author: Daria Phoebe Brashear Date: Tue Aug 28 19:03:49 2001 +0000 linux-attempt-to-support-forcible-umount-20010828 not well tested, likely neither complete nor 100% correct. commit 1cea08ddb0604f6cd9e2dd2e2e7b3823b4337b75 Author: Daria Phoebe Brashear Date: Tue Aug 28 15:05:34 2001 +0000 solaris-kernel-lacks-mem-functions-20010828 this is a band-aid, since it maps all memsets to bzero; a replacement memset is actually needed for the non zero case commit f0e5973f8b81d2acf7ba7505a46e69f7608b8612 Author: Nickolai Zeldovich Date: Mon Aug 27 04:35:06 2001 +0000 afs-evalmountpoint-return-code-resync-20010826 resync error codes so they work like they did before afs-lookup-check-evalmountpoint-return-20010221 commit c3951ddb34df85fff841f460d7bdd2f0a3829061 Author: Daria Phoebe Brashear Date: Thu Aug 23 18:46:32 2001 +0000 windows-authentication-recognize-time-out-of-bounds-error-20010823 so people don't get "unknown" error 37 commit 25d696ebcada79e1569cb364dd3a6548ed19e695 Author: Daria Phoebe Brashear Date: Thu Aug 23 18:26:43 2001 +0000 linux-kernel-headers-have-conflicting-min-max-defs-20010823 so we cheat and call our macros something else. based on report by Owen LeBlanc commit 3a268c2416600985cd8a3e5fd05dc303bf4e668e Author: Chas Williams Date: Thu Aug 23 18:17:40 2001 +0000 windows-installer-updates-20010823 change references to be to openafs and not afs commit aadec38e0609ae3da4c973b6bffa5a204897c93e Author: Nathan Neulinger Date: Thu Aug 23 18:07:24 2001 +0000 hpux10-may-be-hppa-2-20010823 deal with more uname output commit ae0d5a0407b8c816741a9c7d90dafae747c05627 Author: James Peterson Date: Sun Aug 19 15:44:41 2001 +0000 windows-updates-20010819 1. Version control (Win9x & Windows NT/2000) NTMakefile.i386_win95 and NTMakefile.i386_nt40 added AFSPRODUCT_VERSION variable, setting this will propagate through the software by setting the product version for the installation and client dialog boxes. In particular it will provide correct notification if Win2K installation is being upgraded, reinstall or downgraded. Version information shows up in the following ways: Welcome dialog during installation Properities page for Install.exe (Windows Installation routine) Windows Add/Remove Dialogs application list AFS Control Center and Client dialog boxes See README-WIN9X.TXT or README-NT.TXT for further information on how to set thi s variable. 2. CellServDB (Win9x & Windows NT/2000) The installer can choose between various sources for CellServDB: a) Previous installed file, afsdcell.ini(WinNT/2000) or CellServDB(Win9x). b) File that comes with the installation package (recent copy from grand.centra l.org) c) Download a the file from the Web (default http://grand.central.org/dl/cellse rvdb/CellServDB). d) Browse for a file 3. Drive Mapping (Win9x & Windows NT/2000) The installer can choose up to two drive mappings during the installation process. Default is map Z: to AFS root and U: to user home directory 4. Silent Running (Win9x & Windows NT/2000) Setup.exe is capable of running silently (-s option); that is, it will use a pr e-made response script to drive its responses. You can also do a normal installation with the record option (-r) to build a sample response file. The installation routine has been improved to accept a modified response file s o the administrator can setup up additional drive mappings including substituting the user's loggin name into the path. By using a text editor an administrator can setup a variable path name that includes %LOGINNAME% in a path statement. This variable will be substituted for the current user's login name. (Only at installation time.) For example: if an administrator wanted to install AFS client on a machine that had the following mappings: Z:=/ U:=/afs/afscell.org/u/username Q:=/afs/afscell.org/general Then follow these steps: a) run setup with -r option and specify install to record responses into file s etup.iss setup.exe -r -f1setup.iss b) Follow normal installation responses c) Edit the setup.iss response file by modifying the "DRIVEPATH section". This response file could start off looking like this: [DLG_DRIVEPATH-1] Result=1 Drive_0=Z: Path_0=/ Share_0=all Drive_1=U: Path_1=/afs/afscell.org/u/administrator Share_1=home Count=2 This section map would be changed to look like this: [DLG_DRIVEPATH-1] Result=1 Drive_0=Z: Path_0=/ Share_0=all Drive_1=U: Path_1=/afs/afscell.org/u/%LOGINNAME% Share_1=home Drive_2=Q: Path_2=/afs/afscell.org/general Share_2=genrl Count=3 d) Use the silent mode to install AFS (must log to windows as your user name e. g. Frank) setup.exe -s -f1setup.iss HINT: Share name should be limited to 12 characters. The response file terminate if the installation is in any way different; for example, the response is recorded on a clean machine and it is run on a system where AFS is already installed. The execution is truly silent, except for a log file. The last response is BootOption and if set to 1 it will reboot your machine! Refer to additional documentation on silent/record in you Install Shield User's Guide. 5. Fixed the Un-Installation bug that damaged the NetBT parameter registration. (Win2k/NT only) 6. Change Default selection for Win2000 to Client and Documentation only. (Win2 K/NT only) The default installation is with Server and Control Center NOT selected. 7. Win9x Client Operation (Win9x only) Win9x client has been changed to allow "connection" with out forcing authentication. Previous implementation of the Win9x client had three steps to the connection process: 1) start client 2) obtain tokens 3) Map drives The updated Win9x client can leave the username blank and select to Connect. T herefore, only the client will be started (without obtaining tokens). The user can still map drives (those that don't require authentication). This is particularity useful if you want to use a different routine to obtain authentication tokens or additional drive map pings. A command line option has also been added (-noid). This option Prevent selecti on of (Gray out) username/password. This will cause the client to start up without au thentication. By using both -noid and -connect allows the user to run the AFS client in login script that could provide Kerbos 5 authentication and addition drive mapping. 8. Installation (Win9x only) Fix installation into paths that have space, e.g. \Program Files\Afscli ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== complete list in first message commit 6a1c9c896cf67c4538c429702f1f7fe3268fa1eb Author: Jeremy Stribling Date: Thu Aug 16 08:56:51 2001 +0000 bosadmin-setrestarttime-should-take-a-structure-20010816 bos_ExecutableRestartTimeSet called BOZO_SetRestartTime incorrectly commit 120e1ef57038167d27dc7dfb348fcf05ccd620eb Author: Nathan Neulinger Date: Thu Aug 16 08:54:48 2001 +0000 configure-simplify-hp-detection-for-sysname-20010816 cut from 2 rules to one commit e8591334602e5e8dad78dc6426d3c44d564572c1 Author: Chas Williams Date: Thu Aug 16 02:01:05 2001 +0000 linux-osi-clear-inode-locking-fix-20010816 "i think this was missed from a patch i sent a while back to cleanup the iput() of afs inodes. i think the lock(vc->lock) needs to be in osi_clear_inode() since osi_clear_inode is called a bit more often than afs_delete_inode(). however, this like just might be uneeded since no one has seen any problems apparently." commit 1bd89f0dc30e32be0899d1e931c4e39ae3f28d41 Author: Hartmut Reuter Date: Thu Aug 16 01:50:55 2001 +0000 clear-xfreemallocs-in-shutdown-rxevent-20010816 only likely to matter to mr-afs commit cb9ccb203df780a705191b034937ef5268c2b62e Author: Derek Atkins Date: Thu Aug 16 01:48:48 2001 +0000 fix-afsconfig-ordering-for-rx-20010816 to fix symbol versioning problems change to rxgen ok on the basis that nothing other than AFS is in any danger of using rx kernel code commit 1c6df2368cf2f2e322972ff856414c69d7019af1 Author: Daria Phoebe Brashear Date: Wed Aug 8 03:38:45 2001 +0000 aix-needs-string-h-in-aclproc-20010807 and we get back to the crux of the issue commit cb3985fcd9a96d1faa64641077ce43927af80c41 Author: Daria Phoebe Brashear Date: Wed Aug 8 03:37:54 2001 +0000 linux-ext3-adds-items-to-struct-inode-and-so-do-we-20010807 Thanks to shirsch@adelphia.net for mentioning something was added. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== this leaked in, separate delta ==================== fix maxcro defn commit c5c521af0ed944a71f74a316bd51a81636ce2818 Author: Daria Phoebe Brashear Date: Wed Aug 8 03:05:55 2001 +0000 convert-from-bsd-to-posix-string-and-memory-functions-20010807 bcopy, bcmp, bzero, index, rindex, you're all cut. memcpy, memcmp, memset, strchr, strrchr, show us how it's done ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix reference to memset the right thing ==================== make change to arguments globally and not just for e.g. linux/darwin/fbsd ==================== fix a minor flub in how this was done ==================== correct another bad memcpy coversion ==================== fix up more inadvertant turds ==================== fix two errors found by chas williams commit 81c57416335b9d65a467ffb12565ad90d890b815 Author: Daria Phoebe Brashear Date: Wed Aug 8 01:34:58 2001 +0000 linux-fs-h-struct-inode-test-for-i-cdev-20010807 doesn't look like it should matter but we might as well try to stay consistent ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove extra tests commit cf5e1a4260d03031fb210b488707101b2eb76b90 Author: James Flemer Date: Tue Aug 7 17:14:08 2001 +0000 solaris8-build-64bit-kdump-20010807 some solaris 8 machines are 64 bit so build kdump64 commit a1b425f76746f9e56605eafd7c495ef21b84ad45 Author: Chas Williams Date: Tue Aug 7 01:11:25 2001 +0000 introduce-linux-ia64-port-20010806 "no special instructions this time other than you need a rather recent glibc (turbolinux beta5 or redhat 7.1) since the afs userland utilities use ucontext() instead of setjmp()/longjmp(). this is probably the weakest part of the port since lwp is somewhat difficult to test rigorously. you can insmod the afs module now (and rmmod if you like) why so difficult? function pointers are really pointers to a function descriptor that contains the function pointer and global pointer. the syscall table (being written in assembler) only contains function pointers. it doesnt setup the gp. modules and kernels do not share the same gp. so if you want the syscall to go to a module, you need to setup the gp and then call your module's routine. be sure to restore the gp after returning from your routine :) i also converted to the 'new style' module_init() -- only used on kernel versions 2.4.0 and up. this does the right thing if you happen to be linked directly with the kernel. klog has been fixed (afs's crypt() function is sensitive to sizeof(long) -- des/crypt.c should probably use 'afs_int32', not 'long' or 'int') in case it matters, my platform is a b3-stepping running beta5 of turbolinux." ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== don't leak into not ia64 port commit 77d10b6d69fae4343d0c96ded4350eb4d0f0d7fd Author: Chas Williams Date: Tue Aug 7 00:50:05 2001 +0000 invert-sense-of-strings-string-header-inclusion-20010806 this will be obsolete in current form once b* and *index are dead but apply for now commit c0250743d1f6cf87dc430d6c8688ae408a12667e Author: Nathan Neulinger Date: Tue Aug 7 00:43:50 2001 +0000 junk-src-config-makefile-version-as-its-generated-20010806 currently being generated on every build; might as well junk it commit d86c2fc293213e3dd7c8b49ad7ee28c60c13a1b8 Author: Nickolai Zeldovich Date: Tue Aug 7 00:41:26 2001 +0000 afs-vcache-state-flag-fix-and-cleanup-20010806 "There appears to be a conflict between two vcache state flags: CWritingUFS and CDCLock are both 0x200000. This patch moves CDCLock to 0x2000000 (which I'm guessing was the intended value from the position of that #define). It also reformats the block of #define's to be consistent in number format and indentation, to make it somewhat more readable, and to make such conflicts less likely to reappear." commit 37edca7a4030d9c2f5153130b62f893f88fa2541 Author: Nickolai Zeldovich Date: Tue Aug 7 00:39:29 2001 +0000 solaris-locking-cleanup-20010806 reduce afs vnode lock contention, also implements async page requests "(In afs_GetDCache, the hints in the vnode are only updated if we can grab the write lock without blocking. In afs_GetOnePage, we only grab the read lock, rather than the shared lock -- as far as I can tell, there's nothing that needs the write lock.) FWIW, the particular case where I was being bitten by this lock contention was playing an mp3 from AFS space and at the same time copying it to local disk. The copy kept fetching chunks while holding the read lock, so the mp3 player couldn't grab a write lock in the page fault, even though the data was already in cache. While I'm not fully familiar with the semantics of afs vnode locks [do they even exist? :-)], I believe changing from shared to read locks in afs_GetOnePage should be safe." commit 52fb58076962d52bd54aa88bce58ba9f2ff203e4 Author: Daria Phoebe Brashear Date: Tue Aug 7 00:24:14 2001 +0000 configure-sysname-updates-20010806 add omitted s390 linux port add alternate hpux11 port info from nneul@umr.edu commit 56493b597ef5d4b93a71fe5120afd2363f78dd08 Author: Nathan Neulinger Date: Tue Aug 7 00:21:22 2001 +0000 hpux11-force-system-ranlib-20010806 so binutils ranlib isn't found first commit 4d18662599ed741e3ba2fd5c03ebda5fd176d990 Author: Daria Phoebe Brashear Date: Tue Aug 7 00:09:26 2001 +0000 kaserver-log-krb-udp-authentications-also-20010806 currently krb udp auth requests don't get logged while ka requests do fix it. commit d85830ca810d89a2ed1ca12bcad327ecabc17734 Author: Daria Phoebe Brashear Date: Tue Aug 7 00:08:01 2001 +0000 kaserver-krb-udp-construct-well-formed-tickets-20010806 certain things really want the realm to be set correctly and not just left blank in tickets; existing krb4 kdcs get this correct. now so do we. commit de681193ee418d3856a3af44afb1c282aca4cfc1 Author: James Peterson Date: Fri Aug 3 18:47:50 2001 +0000 allow-winnt-client-to-be-upgraded-20010803 to allow for change in version numbering commit cfa2e59dc1a1cdae4e6a111f347ee4f35f658e3b Author: Nickolai Zeldovich Date: Thu Aug 2 17:20:02 2001 +0000 solaris8-namei-cleanup-20010802 note gi is useless for namei case The AFS_64BIT_ENV define is needed for afsutil.h which makes use of some 64-bit types (and if AFS_64BIT_ENV isn't set, defaults to the non-existant u_int64_t). commit d11b1bf9247a819843ac42ba1dd66e2fc188892b Author: Derek Atkins Date: Thu Aug 2 17:17:41 2001 +0000 use-multiple-cache-directories-for-large-caches-20010802 - support for large caches in afsd. Cachefiles are stored in subdirectories. The default is 2048 files per subdirectory, which should work fine in most situations. You can use the new afsd option -files_per_subdir to change this number. Note that the first time you run afsd with this patch, your cachefiles will get moved into subdirectories. If you subsequently run an older version of afsd, you will lose all your cached files. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== news entry for large cache patch commit 9692094ec3beed7f526ee65fb27e852be3b485ea Author: James Peterson Date: Thu Aug 2 17:12:09 2001 +0000 winnt-port-updates-20010802 These patches solve the following problem: During Un-Install of AFS for Windows, it removed the following key: HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\NetBT\\Parameters Instead it should have removed only the SMBDeviceEnable=0 item within the above key. This damaged the NetBT (NetBios over TCP/IP) interface, and required re-installing of TCP/IP. The users found their ability to share files and printers damaged. commit 0207991adcc2aa2b417abc73469ced3586465640 Author: Nathan Neulinger Date: Thu Aug 2 16:45:35 2001 +0000 convert-all-makefiles-to-makefile-ins-20010802 all relevant variables become subst'd and not passed in the environment commit c6d388fe1461851dd164f09be7339cfb43c7111d Author: Daria Phoebe Brashear Date: Mon Jul 23 21:50:17 2001 +0000 fs-sysname-output-syntax-compatibility-20010723 per comment by Chaskiel Grundman, fs sysname didn't include a : before, nuke it commit de296c6546c2a3ce8bf562716b97abf295644412 Author: Daria Phoebe Brashear Date: Sat Jul 21 17:39:58 2001 +0000 configure-allow-enabling-vos-full-listvol-switch-20010721 enable switch for new feature commit 03c26a2b3c23719f01c7e8010f1443704c08df27 Author: Daria Phoebe Brashear Date: Sat Jul 21 17:35:20 2001 +0000 vos-full-listvol-switch-for-parseable-output-20010721 originally from Dan Lovinger. Provides easily parseable vos output and so hopefully should be useful commit b23084cd8b770b8bf0e85cb145ec9e0a76ba74b3 Author: Garry Zacheiss Date: Sat Jul 21 08:07:51 2001 +0000 rx-packet-version-not-all-kernels-have-snprintf-20010721 linux kernel for instance has no snprintf commit b8b4b6c03ce51e36e523da16f21c76f3b1063a22 Author: Daria Phoebe Brashear Date: Fri Jul 20 23:12:02 2001 +0000 vos-syncvldb-zero-volname-before-starting-20010720 so vos syncvldb will not core dump because of uninitialized pointer commit 82b24c814da1506a866046b6b56fc67552a6b570 Author: Michael Allman Date: Fri Jul 20 21:41:13 2001 +0000 pam-make-module-useful-for-freebsd-20010720 make module actually work for freebsd commit fabec30f1783167b41e125f2755959e75f986e66 Author: Sam Hartman Date: Fri Jul 20 21:38:06 2001 +0000 viced-copyonwrite-give-useful-error-messages-when-taking-volumes-offline-20010720 don't just report "needs salvage", tell why it was taken offline commit 4e9a25c04fd386167997ecd60b27d8c77dee3773 Author: Daria Phoebe Brashear Date: Fri Jul 20 19:09:11 2001 +0000 fs-sysname-format-should-include-quotes-as-before-20010720 based on report from Alf Wachsmann commit 902055cc97a8dd26a26af55778c0b3843de3cc70 Author: Nickolai Zeldovich Date: Fri Jul 20 16:59:43 2001 +0000 rx-honor-only-client-initiated-debug-and-version-packets-to-prevent-loop-20010719 "This patch makes Rx only honor client-initiated Version and Debug packets, and respond to them without the "client-initiated" flag. All existing code sends Version and Debug queries from the client with the appropriate flag set. With the current code, one could easily create a UDP packet loop between two Rx services." commit ad8388547d0b6d0c8cea7403723b1eaca58e18b6 Author: Daria Phoebe Brashear Date: Thu Jul 19 22:51:46 2001 +0000 lwp-waitkey-lacks-return-for-eof-and-hence-backup-is-unhappy-20010719 just tell the caller if we got an eof and move on with life commit 3416930f75db8f7268f354ce00531e14f53f5393 Author: Daria Phoebe Brashear Date: Thu Jul 19 22:25:26 2001 +0000 configure-fail-if-cant-guess-linux-version-for-sysname-20010719 if we disabled kernel module because there were no headers, guessing the sysname is harder commit 1c46493032e77e5b8d59557f0f4984e0bec01570 Author: Nickolai Zeldovich Date: Thu Jul 19 18:41:23 2001 +0000 resolve-symlinks-from-stat-cache-with-just-lookup-permission-20010719 To fix bug reported by Nathan Rawling. commit 66df924fbafb1134ee81d34f32d86eb3fed042c7 Author: Daria Phoebe Brashear Date: Mon Jul 16 19:48:32 2001 +0000 add-afs-man-pages-20010716 documentation from afs command reference commit 453029705ed92463895dbeae87b2ff0fe757b8d1 Author: Daria Phoebe Brashear Date: Mon Jul 16 19:46:35 2001 +0000 more-make-clean-cleanup-20010716 try harder to make clean target clean up nicely commit 49ae847e1ba9dec69756f3e323c00532ebb57f9e Author: Daria Phoebe Brashear Date: Mon Jul 16 05:58:22 2001 +0000 aix-export-needs-afsconfig-include-path-20010716 minor cleanup for export build on aix commit 354fb1739295cdb10bc08a537db158a70cd18379 Author: Daria Phoebe Brashear Date: Mon Jul 16 23:06:26 2001 +0000 linux22-param-file-needs-modversions-reordering-20010716 to make it possible to build modversion'd kernel on linux 2.2 commit 9e09de0b96b3a6a97e6d22c99e3730d1f771a360 Author: Daria Phoebe Brashear Date: Mon Jul 16 06:32:48 2001 +0000 add-bogus-install-dependancy-for-lame-systems-which-think-INSTALL-is-install-and-so-do-the-wrong-thing-20010716 darwin has a case-insensitive but case-preserving filesystem. yay. commit d15d69c2d7e4cd4e788d511866a5d0fc6638b194 Author: Daria Phoebe Brashear Date: Mon Jul 16 05:33:53 2001 +0000 move-readmes-one-level-up-20010716 move readmes/install into new top level commit 5c38f46fc8bc87bd3666c9508263585afb87d60c Author: Derek Atkins Date: Mon Jul 16 01:59:01 2001 +0000 configure-redhat-kernel-bug-workaround-20010715 to allow hooking in to deal with bug in redhat kernel headers commit 73e458a9c8be007381ab0d8c6fa10edc81ed040f Author: Derek Atkins Date: Mon Jul 16 01:22:48 2001 +0000 linux-under-under-smp-under-under-never-needs-to-be-defined-in-rhconfig-20010715 never need to define __SMP__ (or undefine __SMP__) in module compilation commit c817e39aa3a024b14cb9b576e2fc12f32437057a Author: Nickolai Zeldovich Date: Mon Jul 16 01:20:38 2001 +0000 afsdb-support-use-afs-not-dce-records-only-20010715 so we don't use DCE AFSDB records commit 9e3578a67878b2fb1e4750c0fe4dcc1879c0f031 Author: Nickolai Zeldovich Date: Mon Jul 16 01:13:19 2001 +0000 configure-fail-unknown-sysnames-20010715 fail on unknown systems to default system name commit 1fd4f11faf40914ed794eff09986c29784571cf6 Author: Nathan Neulinger Date: Thu Jul 12 20:58:15 2001 +0000 include-afsconfig-before-param-h-20010712 so stuff can be defined in afsconfig.h and included first commit 36a5eaa81c4c1c9fc0ee7f9872e730c026590819 Author: Nickolai Zeldovich Date: Thu Jul 12 20:04:07 2001 +0000 solaris-detect-kernel-dqrwlock-20010712 based on feedback from Frank Batschulat vfs_dqrwlock not present in all solaris versions commit efe58972cc28d3aa258d2d1a5d9e54a544130f26 Author: Chaskiel M Grundman Date: Thu Jul 12 20:00:33 2001 +0000 darwin-generate-module-version-from-version-string-20010712 generate darwin version string from the autoconf version for the module commit 63d75a498e841220c4916881978e72fba6078047 Author: Daria Phoebe Brashear Date: Thu Jul 12 19:57:25 2001 +0000 pam-needs-afsdb-libs-20010712 since libauth can include afsdb support we need the support libs commit fbea776a8cbf221e8aa9a1f50cfdf33f2dfc8686 Author: Daria Phoebe Brashear Date: Thu Jul 12 19:37:48 2001 +0000 install-vlib-as-libvlib-also-20010712 these weird archives which aren't installed as libwhatever are really annoying vlib is now no longer one of these commit e49e5ef7f3a78885136284129c4fbff0bb558faf Author: Daria Phoebe Brashear Date: Thu Jul 12 18:52:06 2001 +0000 dauth-makefile-dont-reuse-VERSION-macro-20010712 version macro belongs to autoconf build system now commit b1068468fdc61ebb4813024b4c5ab3116c05cfa9 Author: Daria Phoebe Brashear Date: Thu Jul 12 18:43:28 2001 +0000 generate-version-strings-from-configure-20010712 have perfectly good version string. use it. commit 34edf837f01275cab99d81250b8f553382c777f9 Author: Daria Phoebe Brashear Date: Thu Jul 12 18:26:06 2001 +0000 make-clean-cleanup-20010712 make distclean not do clean's job (src/kauth/Kkauth.cs.c) make clean do clean's job (as above) make pristine make it out of the box clean commit 61aa7f4aafc2f4f980b95b5adf868e3f7d20421b Author: Derek Atkins Date: Thu Jul 12 18:18:53 2001 +0000 add-redhat-buildsys-enabler-in-configure-20010712 to make things easier when building in a spec file environment commit bfdd29c0d88d37bb52ca97e74524fb509715677a Author: Daria Phoebe Brashear Date: Thu Jul 12 18:11:32 2001 +0000 configure-compute-darwin-sysnames-20010712 powerpc not ppc is the cpu type; specify version also ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== include _ commit 8e762d66a87377309178208004d2d4941fa629a2 Author: Daria Phoebe Brashear Date: Thu Jul 12 17:09:17 2001 +0000 make-clean-should-clean-package-and-rsh-20010712 clean up if we enable obsolete and insecure commit 602cbfc75c787d284888c58dcde149b7b1690f44 Author: Daria Phoebe Brashear Date: Thu Jul 12 16:55:47 2001 +0000 kill-afs-warning-message-20010712 we aren't ibm and hence government licensing issue doesn't matter commit cb4d93d30b4a545e5464b35a8d0a1a86da303d9b Author: Daria Phoebe Brashear Date: Thu Jul 12 16:54:10 2001 +0000 itc-h-is-dead-use-potpourri-h-20010712 in reality potpourri should also die but one thing at a time commit 33ae575a6aa831d9eb5536554486bce97e7ad5a6 Author: Daria Phoebe Brashear Date: Thu Jul 12 16:37:31 2001 +0000 linux24-handle-inode-address-space-page-lock-spinlock-20010712 One line patch to initialize spin lock added in a RedHat kernel patch. This should fix the RedHat 7.1 SMP problem. Also includes configure glue to turn it on. Thanks to Chaskiel Grundman for suggesting the fix, Garry Zacheiss for suggesting it affected the SMP kernel generally and not just SMP hardware, and Andrei Maslennikov for noting the problem did not affect vanilla 2.4.3 with only the Alan Cox (AC14 in this case) patch. commit b77acd6010f9ad302e0d26e730cb5e1b56b3c6fd Author: Daria Phoebe Brashear Date: Thu Jul 12 05:02:29 2001 +0000 dont-install-crypt-and-itc-headers-20010711 a header named crypt.h with one prototype isn't very useful the itc.h header is also pretty much useless so, they are gone commit e95c6797115c31b53a89daf9194b0eac8d7ffca0 Author: Daria Phoebe Brashear Date: Thu Jul 12 03:17:40 2001 +0000 kdump-include-afsconfig-path-20010711 so kdump has a prayer of building commit 6523d5e0c8389375ab3358fac1d55052a8e6b6bf Author: Sam Hartman Date: Thu Jul 12 03:14:13 2001 +0000 top-makefile-needs-lwp-before-rx-in-kfsint-20010711 since rx needs lwp, do lwp dep first commit 9ddcab10497df870a31b2f24ad6906eaf9e3b8cd Author: Daria Phoebe Brashear Date: Wed Jul 11 22:00:50 2001 +0000 configure-guess-afs-sysnames-20010711 make configure attempt to guess the correct afs sysname for your platform ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== use precomputed kernel we're building for not uname output ==================== stick in missing systems commit 677b7a4ae6a980cbcdb3df502f061ee710688d4a Author: Daria Phoebe Brashear Date: Wed Jul 11 21:49:55 2001 +0000 update-INSTALL-to-reflect-state-of-openafs-20010711 the stock INSTALL is wrong for us now. commit 30dce214fd3c1e31be86531079496c151eeb6bab Author: Sam Hartman Date: Wed Jul 11 19:06:20 2001 +0000 add-openafs-news-20010711 edited by shadow@dementia.org based on content and also on suggestions from nneul@umr.edu commit 2f1590321a41099115521b98a33a44a872674892 Author: Daria Phoebe Brashear Date: Wed Jul 11 19:04:39 2001 +0000 kauth-retire-SPECIAL-macro-20010711 SPECIAL macro was presumably for conversion to special key cache environment and is no longer needed commit 623bc5bd27d6c1414fea9d894b5f488ee188a3e0 Author: Daria Phoebe Brashear Date: Wed Jul 11 18:45:04 2001 +0000 auth-ktc-no-kernel-has-ktc-h-20010711 retire MAYBE_NO_KTC since no kernels have afs integrated that way these days commit b4193780f9105379794380842380c0831837fd42 Author: Daria Phoebe Brashear Date: Wed Jul 11 18:27:01 2001 +0000 kaauxdb-fix-silly-comment-substitution-20010711 how afs_int32 can you be? commit 2cd573ce0a532d2db209225e183c6f4c926ae997 Author: Daria Phoebe Brashear Date: Wed Jul 11 18:25:56 2001 +0000 libadmin-kas-bugfixes-20010711 fixes for the following report from "Jeremy Stribling" - In the GetPrincipalLockStatus function, an attempt is made to set the lockedUntil variable to the minimum locked value for that principal among all servers. However, lockedUntil is set to 0 immediately before this, and so all attempts to find a locked value less than it fails, and so lockedUntil always comes out of that function as 0. - Also in the GetPrincipalLockStatus function, if the principal is locked out according to all servers, then the main loop will exit when ubik_CallIter returns the UNOSERVERS error code. But, since the return code for GetPrincipalLockStatus is set to 1 if and only if ubik_CallIter returns an error code of 0, this results in an return code of 0 being returned for GetPrincipalLockStatus when in reality no error occured. - A similar problem occurs in the kas_PrincipalUnlock function. If the principal is not currently locked out of any server, ubik_CallIter will iterate through all servers and return a UNOSERVERS error code. Again, in this case the return code of kas_PrincipalUnlock will not be set to 1 and an error will be indicated even though no error occured. - In kas_PrincipalKeySet, the return code is never set to 1, even when it completes successfully, so it seems that an error always occurs when calling this function. commit bba4ffa025ce906f577678fe8ee1f8b857d80bd4 Author: Nathan Neulinger Date: Wed Jul 11 18:00:55 2001 +0000 util-netutils-include-files-and-warnings-cleanup-20010711 cleanup warnings and change inclusion of string/strings commit 5053c3dc575a329c0a40779f025a97967ed74f43 Author: Nathan Neulinger Date: Wed Jul 11 17:58:33 2001 +0000 util-serverlog-inclusion-and-warnings-cleanup-20010711 change how string/strings include files happen, remove unused vars commit 3d35839a13378d7c22aa5e22a5b8267b2a5e46cf Author: Nathan Neulinger Date: Wed Jul 11 17:32:51 2001 +0000 vlserver-header-updates-20010711 autoconf-style header inclusion commit 79077af6e01053fdeb38294794ea631150083fbf Author: Nathan Neulinger Date: Wed Jul 11 17:13:24 2001 +0000 uuid-paren-cleanup-20010711 add return type decls and missing parens to stop compiler whining commit 00a34c793672d9fec02b751953fe66c4ec594918 Author: Nickolai Zeldovich Date: Wed Jul 11 17:09:34 2001 +0000 solaris-inode-lock-cleanup-20010711 fixes based on feedback from Frank Batschulat commit d3e7a805192d2c47c43a17b710eef257c664ebfb Author: Nathan Neulinger Date: Wed Jul 11 16:58:01 2001 +0000 win32-ktc-set-tokens-proto-fix-20010711 declare correctly as afs_int32 commit 77c76eb54561259addc4cdc1b1fe1802b982c44f Author: Daria Phoebe Brashear Date: Wed Jul 11 16:40:40 2001 +0000 configure-linux-kernel-detection-should-set-afsconfig-items-20010711 we test for linux kernel features; might even be useful to use the results commit 97e441dce905938e8feffedf5d4b1d479a300888 Author: Johan Danielsson Date: Wed Jul 11 00:40:15 2001 +0000 configurable-dux-kernel-header-path-20010710 modified slightly to allow selection if more than one directory exists commit 405cd3e8e0b8f72244fda6cbdb1a9ba9b9ad150c Author: Jimmy Engelbrecht Date: Tue Jul 10 18:31:07 2001 +0000 add-new-arla-pioctl-20010710 reserve next pioctl for arla statistics gathering interface commit f5eaadfeb971377e82d54b375f421be48feb33a6 Author: Chaskiel M Grundman Date: Fri Jul 6 23:44:05 2001 +0000 configure-linux-redhat-support-on-redhat-only-20010706 a) if the kernel headers use redhat's header-file selection thing, and doesn't define their __BOOT_KERNEL* symbols if not. b) which AFS kernel modules (single-processor, multi-processor, or both) it makes sense to compile against these kernel headers. e.g. in a CONFIG_MODVERSIONS environment, it only makes sense to compile for the same SMP-ness as the headers. commit cf35c1842f72cd6370c0fc6bcecf7c1095d997ee Author: Daria Phoebe Brashear Date: Fri Jul 6 06:08:29 2001 +0000 html-doc-add-index-20010706 top page for html docs commit fbcfd7a4ceeab9a0b4ac5316efb8fb82eaedce32 Author: Garry Zacheiss Date: Fri Jul 6 05:45:14 2001 +0000 add-distclean-target-20010705 clean up turds from build process commit b9142278d025369c9fd111888dd43673db1de69b Author: Daria Phoebe Brashear Date: Fri Jul 6 05:19:54 2001 +0000 export-param-inclusion-conflicts-with-system-headers-20010706 sys/user.h errors when param.h included first commit b6ab5aac2f457adca06b6ab41ec3179082948dbe Author: Daria Phoebe Brashear Date: Fri Jul 6 05:09:46 2001 +0000 export-needs-include-paths-20010705 export needs places to get afsconfig and afs/param.h commit e19667d9f6881ad0d4f6a19d3ed2e5dc34a91130 Author: Daria Phoebe Brashear Date: Fri Jul 6 05:04:23 2001 +0000 login-needs-afsconfig-20010705 login needs include path for afsconfig commit c2e1c9ed53eb84da4637086b4761e50317289d34 Author: Daria Phoebe Brashear Date: Fri Jul 6 05:02:46 2001 +0000 aix-auth-needs-afconfig-20010705 include path for afsconfig commit bc2898318c8de9ce4bb91fd8df69b740d5381495 Author: Daria Phoebe Brashear Date: Fri Jul 6 03:01:42 2001 +0000 aix-lwp-needs-afsconfig-20010705 include path for afsconfig.h was missing for aix commit b1c10226c4f4d2b178a8d7b5a55f432c2cda8193 Author: Daria Phoebe Brashear Date: Fri Jul 6 02:15:46 2001 +0000 bozo-bnode-call-iomgr-softsys-with-proper-casted-args-20010705 iomgr_SoftSys is prototyped to take a char* as second arg commit 003f4cd993c14f6235317fd17be26de04374e987 Author: Daria Phoebe Brashear Date: Fri Jul 6 02:12:02 2001 +0000 dux-curses-already-using-IN-20010705 don't define IN as it conflicts with curses.h on dux commit b8e186a998bed6be8b230febb77e5abbab03ab8d Author: Daria Phoebe Brashear Date: Fri Jul 6 01:48:47 2001 +0000 sia-add-include-path-for-afsconfig-20010705 sia needs to include afsconfig.h commit b6efc81d6141e5621edb82bcae5d99015a4fe3a4 Author: Daria Phoebe Brashear Date: Thu Jul 5 21:24:50 2001 +0000 acconfig-needs-version-and-package-macros-for-some-versions-of-autoheader-20010705 PACKAGE and VERSION aren't always in autoconf/acconfig.h commit 5f9afd4147aa4862cf078207e90fa500a2e3f231 Author: Daria Phoebe Brashear Date: Thu Jul 5 17:55:29 2001 +0000 allow-disabling-kernel-module-compilation-20010705 add missing fi commit ffb5299adddccf915aaf167eff3b227c4ef6967c Author: Daria Phoebe Brashear Date: Thu Jul 5 17:48:34 2001 +0000 remove-generated-files-from-cvs-20010705 will need to deal with snapshot and release generators to include these yet but junk them for now commit 27238dd64c07497f7e857384d925dcc5b3de540b Author: Daria Phoebe Brashear Date: Thu Jul 5 17:40:05 2001 +0000 configure-no-error-on-failure-to-find-pthreads-20010705 failure to find pthreads should be non-fatal commit 62994d919dda6e678ed2b72e64553b5f70e03185 Author: Daria Phoebe Brashear Date: Thu Jul 5 17:38:19 2001 +0000 allow-disabling-kernel-module-compilation-20010705 in response to reports from hartmans@mekinok.com and zacheiss@mit.edu will also autodisable for linux if no --with-linux-kernel-headers specified and none found commit 290ee432953f448390981a07f63ec40c1bc7ede0 Author: Daria Phoebe Brashear Date: Thu Jul 5 16:56:54 2001 +0000 upserver-remove-redundant-prototypes-20010705 again remove redundancy so prototypes match the code commit e6e84590d81d8678286b69703ec2aa7b4f915a92 Author: Daria Phoebe Brashear Date: Thu Jul 5 16:44:33 2001 +0000 vlserver-remove-redundant-prototypes-20010705 so we get the prototypes whose types match commit b23a1875f2e365ecd43585ccf0523e98feeee8dd Author: Daria Phoebe Brashear Date: Thu Jul 5 16:42:55 2001 +0000 budb-remove-redundant-prototypes-20010705 remove more redundant incorrect prototypes commit b245c4a42987ed506d115d775371653f04386024 Author: Daria Phoebe Brashear Date: Thu Jul 5 16:40:49 2001 +0000 kaserver-remove-redundant-prototype-20010705 remove this this doesn't even match the code commit d9403fd97c447c2bc5b064464f147b0dcb2b4482 Author: Daria Phoebe Brashear Date: Thu Jul 5 16:39:03 2001 +0000 cellconfig-add-missing-prototypes-20010705 add prototypes for externally used functions commit 151b8b5e60e08817eab29d5444f8ab204960d989 Author: Garry Zacheiss Date: Thu Jul 5 16:30:12 2001 +0000 configure-updates-for-linux-kernel-detection-20010705 report useful error if no kernel headers found. use last version string found in version.h commit e7ec0d4213853117dc463a3629651e280c6cf0fa Author: Nathan Neulinger Date: Thu Jul 5 16:20:00 2001 +0000 afsconfig-and-rcsid-all-around-20010705 convert rest of source to afsconfig; include rcsid macros ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove bogus if/define/endif triple ==================== revert non-rcsid and afsconfig portion of patch commit 671a9314ecdbd7683d00f6edaa70713553c9a4b6 Author: Nathan Neulinger Date: Thu Jul 5 16:13:08 2001 +0000 util-warnings-cleanup-20010705 get rid of more warnings commit 54d0413ff896f3240d5e4c2c9aaf67cb2360c528 Author: Nathan Neulinger Date: Thu Jul 5 16:09:58 2001 +0000 auth-setkey-warnings-cleanup-20010705 get rid of more warnings, add missing args to printf strings commit 64cde212577618fbd270b9952921d4bafb58a23e Author: Nathan Neulinger Date: Thu Jul 5 16:07:58 2001 +0000 provide-fast-start-configure-options-20010705 add more configure options so fast restart and bitmap later options can be configured on commit bff2d87c9821daa35e7d1608938c33efd993caf4 Author: Nathan Neulinger Date: Fri Jun 29 05:51:37 2001 +0000 autoconf-updates-for-ac-check-lib-quoting-20010629 quote refs to $lib commit a250c7807f325c964c7315ad3fb441bc5e8ae39f Author: Nathan Neulinger Date: Fri Jun 29 05:48:25 2001 +0000 fix-linux-headers-updating-in-configure-20010629 make defaulting work correctly commit 8c08034a39dce0a0186a42200bcaf045752877ff Author: Chaskiel M Grundman Date: Fri Jun 29 05:43:53 2001 +0000 sparc64-linux24-support-20010629 support for sparc64 linux2.4 tested with 2.4.5 commit 469eb74229f1b8856c66c6218f6ac9660a42886a Author: Nathan Neulinger Date: Fri Jun 29 05:40:00 2001 +0000 include-cellconfig-in-ptutils-prototype-20010629 more warning elimination commit 0f0be81c0ad6077edfabd559c56ee3e28bbf9152 Author: Nathan Neulinger Date: Fri Jun 29 05:34:55 2001 +0000 allow-all-target-for-rxstat-20010629 rxstat makefile lacked all target commit b92587cbc81e1f55873bd31061374facc75a2bfa Author: Nathan Neulinger Date: Fri Jun 29 05:25:55 2001 +0000 ptserver-remove-redundant-prototypes-20010629 get rid of redundant prototypes commit 789bdb1c3a4ab32af3a0fed2374cf74426b13e3c Author: Nathan Neulinger Date: Fri Jun 29 05:15:52 2001 +0000 kasadmin-unused-variables-20010629 eliminate warnings from unused variables commit 57a931c220b01750ca7e7111e2e7a20b6ea3e7fe Author: Nathan Neulinger Date: Fri Jun 29 04:58:51 2001 +0000 kauth-rebuild-remove-bogus-argument-20010628 remove unneeded, unused argument commit c0a0c21363d7026500cfa3a73dfa0eb5bcc8b50f Author: Nathan Neulinger Date: Fri Jun 29 04:50:48 2001 +0000 fix-vsutils-bogus-format-string-20010628 remove needless % commit a7014d420832a11d8eb73c774336dd49ce9494b1 Author: Tom Maher Date: Fri Jun 29 04:20:01 2001 +0000 update-freebsd-support-20010628 fileserver now set up for namei interface. still no client commit b5b8b317f6076c665a1ffd6ad3b26c846f06d4a9 Author: Garry Zacheiss Date: Fri Jun 29 04:18:12 2001 +0000 update-make-clean-support-20010628 some stuff the make clean patch missed commit fcc1a29b4e5f71ac90fb022414af5ae6554b23c1 Author: Daria Phoebe Brashear Date: Thu Jun 28 17:05:56 2001 +0000 aix-strings-h-preferred-over-string-h-20010628 otherwise we get weird errors like: "/usr/include/strings.h", line 52.20: 1506-010 (W) Macro index invoked with a null argument for parameter __s1. "/usr/include/strings.h", line 52.20: 1506-041 (E) The invocation of macro index contains fewer arguments than required by the macro definition. "/usr/include/strings.h", line 52.14: 1506-275 (S) Unexpected text ',' encountered. from the conflict ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== to prevent more of same errors ==================== ==================== continue to placate aix hatred ==================== aix needs more help ==================== aix needs more help commit cc4f5ee37893f72de1a264ec481bc93939828bd7 Author: Daria Phoebe Brashear Date: Thu Jun 28 08:06:59 2001 +0000 userok-needs-prototype-for-aix-20010628 default of int for lacking forwarding decl pisses off aix commit 7c6170b1bbdc18cd89bec065cf6e38bef2298800 Author: Daria Phoebe Brashear Date: Thu Jun 28 08:03:25 2001 +0000 update-ac-substd-variables-so-aix-make-is-happy-with-obsolete-and-insecure-disabled-20010628 AIX gets upset qwhen these variables are unset commit dc45e9b995b6215d2cd28966a9879983a47b3c5b Author: Daria Phoebe Brashear Date: Thu Jun 28 07:54:41 2001 +0000 dont-include-endian-h-when-defining-kernel-for-dux-20010628 otherwise ntohl etc are macros for in-kernel functions we don't have commit 7c2cb16764d8d549979f8b65915a76f4cd0dcbb8 Author: Nathan Neulinger Date: Thu Jun 28 07:00:24 2001 +0000 mountpoint-copying-switch-to-up-needs-netinet-in-h-20010628 some platforms need netinet/in.h for mountpoint copying to work commit aaca2cacd986ec546095a9b4e29e284070e2491e Author: Daria Phoebe Brashear Date: Thu Jun 28 06:44:19 2001 +0000 introduce-autoconf-for-openafs-20010628 replace existing build system with autoconf faceplate ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== so we can fix the file modes ==================== commit withj correct file modes ==================== stuff which got left behind ==================== more stuff which was missed ==================== get this right so build completes ==================== also make these correct (no obj reference) ==================== so autoconf dependancy chain need not change ==================== set correct variable for obsolete buildng ==================== so we can more easily use autoconf'd CC var commit 114eb0c82773f9943ecd58316333319cf7a2dc3b Author: Sam Hartman Date: Sat Jun 23 18:54:50 2001 +0000 apply-modversions-so-nothing-has-first-been-included-20010623 include afs/afs_sysnames.h after modversions so no unversioned symbols sneak in commit aab5fc6ecd53449a01a686b8d77fea9499cc55d4 Author: Jeff Riegel Date: Sat Jun 23 18:29:56 2001 +0000 winnt-win2000-win98-afs-client-updates-20010623 updates for nt/2000 and 95/98 afs clients ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== binary file updates commit 843a9584b044b4f19c93aa281abb6d3ee3638788 Author: Jeff Riegel Date: Sat Jun 23 18:23:34 2001 +0000 make-fsck-claim-openafs-not-transarc-afs-20010623 just update what gets printed to be correct commit 9e31595353e35678792819f0f758d497679fb284 Author: Russ Allbery Date: Sat Jun 23 18:17:09 2001 +0000 linux-changes-needed-to-compile-with-suse-included-patches-20010623 ifdef may need to be changed but should work until autoconf commit 6d6f2c265fca3ec917f26ccc5c736aa13134dcfb Author: Nickolai Zeldovich Date: Sat Jun 23 18:13:16 2001 +0000 fix-fs-error-string-printing-20010623 return useful error codes so correct errors can be printed commit 24ba7b873a6c37aca9e2842339f56dc81ae47ed5 Author: Todd M. Lewis Date: Sat Jun 23 18:09:54 2001 +0000 add-mountpoint-copying-switch-to-up-20010623 Add a "-m" option to up which makes it recognize and copy mount points rather than traversing them during its recursive copy operation. Without the -m option, up's default (questionable) behavior remains unchanged. commit 70802b37037b2bae7c696a1282d4d3fd623475ef Author: Jeff Riegel Date: Sat Jun 23 18:01:03 2001 +0000 afs-web-interface-enhancements-20010623 Changes include: 1) Token caching: Functions to set the current "PAG" (not really a process authentication group, but a generic identifier for a user session) to a specific value, allowing us to switch tokens between different threads of the Web server without reauthenticating. 2) Performance enhancements: The main improvement is that we can check whether a directory is a mount point in advance and avoid doing a stat or contacting the destination cell. We've also enabled bulk statting with kolya's patch from 11/2000. 3) New UAFS API's to call various pioctl functions, etc. enclosed in AFS_WEB_ENHANCEMENTS ifdef commit 727d52ee047101ada6a1a37d961fd1fdf5ea77d5 Author: Nathan Neulinger Date: Sat Jun 23 17:43:20 2001 +0000 libadmin-printf-argument-cast-20010623 kill warning by casting argument to printf commit 9e821222edbfaf0e7dfb7bede5921126bbe15d5c Author: Nathan Neulinger Date: Sat Jun 23 17:36:18 2001 +0000 linux-rx-add-missing-return-types-20010623 return type missing, now added commit 7e00ffc70a57bc926c45056b350933d3ab2f9d83 Author: Nathan Neulinger Date: Sat Jun 23 17:31:36 2001 +0000 convert-update-to-afsconfig-and-kill-warnings-20010623 convert upserver and upclient to use afsconfig and kill warnings commit 152be1a113bd0e4e4b3b9e0a441e7bf14f7224c2 Author: Nathan Neulinger Date: Sat Jun 23 16:20:43 2001 +0000 eliminate-warnings-in-rxgen-generated-code-20010623 provide prototypes in non-kernel case and add missing function return type commit 16e270ac2cb843ebe305a687344ad09a37545234 Author: Nathan Neulinger Date: Sat Jun 23 16:14:37 2001 +0000 convert-rxgen-to-afsconfig-20010623 switch to afsconfig for some configuration; add RCSID commit 3c271afa245381ce582bf4c97cd2a24a6aedb840 Author: Nathan Neulinger Date: Sat Jun 23 16:00:06 2001 +0000 afsconfig-add-rcsid-20010623 add an RCSID macro commit 5349a4495d617be1bca96a80ee9b73382729b5c1 Author: Nathan Neulinger Date: Sat Jun 23 15:50:12 2001 +0000 deal-with-printf-as-macros-20010623 gcc 3.x macroizes printf; deal appropriately commit 1d93f2da22eb02cd81776cabc28012c1b40dd4ec Author: Nathan Neulinger Date: Sat Jun 23 15:40:01 2001 +0000 rx-warnings-and-prototyping-20010623 suppress more warnings in rx; also creat missing prototypes commit 7dec009bd56d2668b9c2ed090eee8787f551e02c Author: Nathan Neulinger Date: Sat Jun 23 15:12:40 2001 +0000 afsmon-warning-cleanup-20010623 get rid of remaining warnings in afsmonitor code commit c8e0124c8e5f0a97591cd75165156a362fa9ca8f Author: Nathan Neulinger Date: Wed Jun 13 17:53:00 2001 +0000 remove-potentially-bogus-warning-20010613 remove added warning which caused warnings during routine operation commit 650c86d47dde3d5193b38d2cd3f87b29ac250757 Author: Daria Phoebe Brashear Date: Wed Jun 13 04:56:22 2001 +0000 avoid-string-h-conflict-in-kernel-rx-20010612 avoid conflicting with kernel's string.h commit b1268f4005e6a47fceb9b8b72e99a9c2c7f0bd8f Author: Nathan Neulinger Date: Tue Jun 12 20:46:41 2001 +0000 lwp-warning-cleanup-and-afsconfig-20010612 get rid of warnings and afsconfigize lwp commit c569e9535821cac3c12df45fef72dd3bbd3c03cd Author: Nathan Neulinger Date: Tue Jun 12 20:46:21 2001 +0000 rx-warning-cleanup-and-afsconfig-20010612 get rid of warnings and afsconfigize more of rx commit 97327378612b3374d97efe38070b309405607eef Author: Nathan Neulinger Date: Tue Jun 12 20:44:46 2001 +0000 eliminate-silly-error-in-text-from-vsprocs-20010612 get rid of an extra space commit 9a158cddc1b6394f74d5ad6e26eb7bd1f5c46769 Author: Nathan Neulinger Date: Tue Jun 12 20:43:47 2001 +0000 translate-et-eliminate-warnings-20010612 get rid of warnings in translate_et commit 79606d4e5f09e9b558189e1b56115c4c3aa178d5 Author: Nathan Neulinger Date: Tue Jun 12 20:42:32 2001 +0000 protect-SMP-with-conditionals-against-multiple-definitions-20010612 don't redefine __SMP__ if it's defined. commit e4aad02615fa586ba377faf854313795581557f0 Author: Nathan Neulinger Date: Tue Jun 12 20:36:31 2001 +0000 remove-afsconfigization-from-des-conf-h-20010612 undo earlier change commit fec35c6142da688bb9f7d1652ec471fa72ce05f6 Author: Daria Phoebe Brashear Date: Fri Jun 8 23:23:07 2001 +0000 try-harder-to-notice-down-server-20010608 try harder to notice something is down otherwise we can end up looping forever commit 56c9c9ddba3646c270a9201818f49ff4ef134339 Author: Nathan Neulinger Date: Wed Jun 6 23:01:17 2001 +0000 util-warnings-cleanup-20010606 clean up in flipbase64 commit 3848ad0d09e4482efed2a89114ea3ce7147b7345 Author: Nathan Neulinger Date: Wed Jun 6 23:00:47 2001 +0000 sys-warnings-and-unused-variables-cleanup-20010606 clean up sys subtree commit ed0cb4eb6df1a87cc015b2bc1e419bab7bcd32ee Author: Nathan Neulinger Date: Wed Jun 6 23:00:09 2001 +0000 lwp-warnings-and-unused-variables-cleanup-20010606 make lwp warnings and unused variables go away commit d7da1acc31189a023d9ed1060a882448f61ffb47 Author: Daria Phoebe Brashear Date: Wed Jun 6 19:09:07 2001 +0000 initial-html-documentation-20010606 pull in all documentation from IBM commit 6f30fcecdae34de8eacf86b544258aac20a24f46 Author: Daria Phoebe Brashear Date: Wed Jun 6 18:58:13 2001 +0000 initial-pdf-with-embedded-cmr-fonts-20010606 with thanks to Mattias Amnefelt for converting to the BlueSky Computer Modern Roman fonts from tex. commit 3107b75e94e5d731207530146b07c3fb163af20d Author: Daria Phoebe Brashear Date: Wed Jun 6 18:56:26 2001 +0000 scrap-initial-pdf-files-20010606 relocating commit 0e52339b66f5937de8eaca473f0935d873509eab Author: Mattias Amnefelt Date: Tue Jun 5 21:17:46 2001 +0000 automake-work-in-progress-20010605 work-in-progress automake work. will not work as-is as it relies on headers being moved about and that isn't included yet. commit 115708fd8265efe6943f32569e1b2b44c8e7f899 Author: Nathan Neulinger Date: Tue Jun 5 19:26:42 2001 +0000 ubik-warnings-cleanup-20010605 more warning cleanup commit 3653b0c0cf524bf6a787a81207cb64eb2986b2a9 Author: Nathan Neulinger Date: Tue Jun 5 19:22:01 2001 +0000 comerr-cleanup-warnings-20010605 compiler placation commit 083170a430bbb415e70fab724415610b57488461 Author: Nathan Neulinger Date: Tue Jun 5 16:06:56 2001 +0000 config-includes-warning-cleanup-20010605 clean up comment warnings commit 972191fc2436c1fe12fcd0a234288bd29e9df499 Author: Nathan Neulinger Date: Tue Jun 5 16:05:30 2001 +0000 libafs-libuafs-makefile-updates-for-afsconfig-20010605 so afsconfig.h inclusion can be done commit d487720ea8109a676955d8ff9d1f007d52bfa54f Author: Chas Williams Date: Tue Jun 5 15:59:54 2001 +0000 linux-dentry-cache-another-try-20010605 to fix a problem where invalid negative data is cached as well as some efficiency commit 5c644523b7aca5324c26ab21013a368586e18ed5 Author: Nathan Neulinger Date: Tue Jun 5 15:47:53 2001 +0000 afsmon-warning-cleanup-20010605 remove unused variable commit 6a5d19930a7f8a9e232db8207dcb14cdf0f1b45b Author: Ted McCabe Date: Tue Jun 5 15:46:24 2001 +0000 sysname-list-instead-of-simple-name-20010605 allow a sysname list which is interated in lookup instead of a simple namespace ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== remove bit which leaked in commit e63a93f371729d565b37aaacb29734faafc938a2 Author: Nathan Neulinger Date: Tue Jun 5 15:32:46 2001 +0000 rx-warning-cleanup-and-afsconfig-20010605 clean up previous rxtrace patch and clean up other warnings commit 7705453b05ddb140a0e26f9e43a7e640c4cb62ab Author: Nathan Neulinger Date: Tue Jun 5 15:30:16 2001 +0000 convert-volparse-to-afsconfig-and-cleanup-20010605 clean up warnings in volparse.c and make it use afsconfig.h for building commit 11b84698222f6f4a511be157d85fa7039a7e9d33 Author: Jeff Riegel Date: Tue Jun 5 15:21:45 2001 +0000 rx-race-condition-cleanup-by-adding-busy-status-20010605 set a busy status on a connection to prevent it from being deleted while in use commit dde2a200a3f0f01bfaae678d3c2fd117489401b4 Author: Jeff Riegel Date: Tue Jun 5 15:18:53 2001 +0000 userland-cachemgr-zero-token-times-on-unlog-to-trigger-gc-20010605 on unlog when using userland cache manager zero token fields so they will be garbage-collected commit cddec1584fa1019e89311aae3f293b372937bfa0 Author: Jeff Riegel Date: Tue Jun 5 15:16:10 2001 +0000 cachemgr-dont-leak-stat-info-to-clients-not-entitled-to-it-20010605 if you only have lookup don't leak stat information from cache, which normally requires read commit 62078136d1eac45fe412a9a3da03960c0f9860e8 Author: Jeff Riegel Date: Tue Jun 5 15:11:01 2001 +0000 usermode-cachemgr-open-mode-checking-fix-20010605 default to read mode when opening commit 2b82ddea166bf558664d9737b4739e99303d33a6 Author: Pavel Semerad Date: Mon Jun 4 23:29:00 2001 +0000 linux24-use-flock64-instead-of-flock-20010604 "locking on linux 2.4.x does not work. 2.4.x uses internally 64bit offsets (start and end of lock) and end is set to 64 bit int max. When it converts to struct flock, len is set to 0xffffffff (cut off high 32 bits) and afs_lockctl decides it is byte-range locking. So on 2.4.x kernel there should be used flock64 instead of flock (flock64 is typedef to flock on 64bit systems such as sparc64 and ia64)" ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== use flock64 for linux24 commit 033aecd1e883e84ca5d38037e7fcefa11b6e6c61 Author: Nathan Neulinger Date: Mon Jun 4 22:08:19 2001 +0000 viced-dotted-quad-logging-without-malloc-20010601 based on suggestion from rees@umich.edu ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== update for solaris cc joy commit 0e29705b4632bb2e1ba647344f296e269cd29e9d Author: Nathan Neulinger Date: Mon Jun 4 22:07:27 2001 +0000 libadmin-cleanup-and-afsconfigization-20010604 clean up warnings, get rid of unused variables, and set up for use of afsconfig.h commit f8e11f7e1e5fc5d8f152d2affe33732e647d30c5 Author: Nathan Neulinger Date: Sun Jun 3 18:20:15 2001 +0000 lwp-iomgr-warning-suppression-20010602 remove unused variable, add missing parens commit a09cdb27b8e998a58534978d044bf7b6a6eb9538 Author: Nathan Neulinger Date: Sun Jun 3 17:52:05 2001 +0000 fix-afsmonitor-patch-for-string-h-existance-check-20010602 as not all platforms may have string.h commit 142dcf54c108b0901aabbf30b87fd6343d1a9ef5 Author: Nathan Neulinger Date: Sun Jun 3 17:34:34 2001 +0000 vol-volser-more-liberal-information-in-log-messages-20010602 hopefully no one is processing these logs in a way this breaks. make error and volname information available as part of error message commit b8f911768bef9370aa5e68a8be1f5da5374f0d2e Author: Nathan Neulinger Date: Sun Jun 3 17:32:18 2001 +0000 sgiefs-support-is-gone-but-great-rock-lives-on-20010602 remove inclusion of missing sgiefs directory since we didn't get the binary library needed for it to work anyhow commit 94fec7da0672856484bc69a06ffe642b4942396c Author: Nathan Neulinger Date: Sun Jun 3 17:31:07 2001 +0000 rxtrace-warning-cleanup-20010602 more compiler warning squishing commit d9b441897c54a28bd1113056069db3ec0e245847 Author: Nathan Neulinger Date: Sun Jun 3 17:29:52 2001 +0000 split-deprecated-into-insecure-and-obsolete-in-top-makefile-20010602 so it's obvious to people which mistakes are silly and which are dangerous commit d09be7368f153e0d3d8059fbf85665e544eabf43 Author: Nathan Neulinger Date: Sun Jun 3 17:28:33 2001 +0000 libadmin-warning-cleanup-20010602 add missing parens, remove unused decls commit 52e7350706d3e6cdc9346ef7b1290c35d662d572 Author: Nathan Neulinger Date: Sun Jun 3 17:27:03 2001 +0000 kauth-const-warning-cleanup-20010602 dir is not modified so this is safe commit 9fbbc17b7c3bf5357bea5a5668d4edf1a7b34266 Author: Nathan Neulinger Date: Sun Jun 3 17:26:15 2001 +0000 comerr-get-rid-of-compile-warnings-20010602 placate compiler commit 210247b304f199dc9f8512fc524d6dc3065c99b3 Author: Nathan Neulinger Date: Sun Jun 3 17:23:18 2001 +0000 audit-make-int-functions-return-zero-20010602 rather than just having no code block, return 0 commit 22799a3134761d10ba89aa0618bb2248975e5ba9 Author: Nathan Neulinger Date: Sun Jun 3 17:22:10 2001 +0000 afsmonitor-formatting-strings-update-20010602 so error messages are properly formatted strings commit ebbea977f937de3b9be1d6cae27d1bb73dd54042 Author: Nathan Neulinger Date: Sun Jun 3 17:19:15 2001 +0000 namei-ops-cleanup-20010601 get rid of unused/warnings from vol/namei_ops.c commit 429c2eb913b225a8a4e3fd2bc597005770e080bd Author: Nathan Neulinger Date: Fri Jun 1 20:14:58 2001 +0000 log-host-addrs-as-dotted-quad-not-hex-in-viced-20010601 so you get a dotted quad and byte-correct port instead of a hex ip and a potentially byteswapped port number from viced log messages commit 6fdfe323313bd6cf767488dc6bf1952dc50589bf Author: Daria Phoebe Brashear Date: Fri Jun 1 20:09:22 2001 +0000 initial-configure-work-take-two-20010601 this isn't useful yet but is a step in the right direction. commit 0a47389634730a2e32b00bec3c4a8dd94b169305 Author: Chaskiel M Grundman Date: Wed May 30 20:45:01 2001 +0000 top-level-makefile-changes-to-allow-partial-afs-compile-20010530 "The afs toplevel makefile theoretically allows you to build bits and pieces of AFS without too much other stuff you don't need. Building the kernel code this way is hard, since it imports stuff from so many modules, and the dependencies aren't necessarily done right. This patch fixes many of the special "for kernel use only" targets to be "for kernel use only" and adds a few new ones, so that the only userlevel stuff built by make TARGET=libafs is util, pinstall, rxgen, comerr (needed for afs/Makefile), and cmd" commit 8b87e45a9b85aa8cf032c109093b03cfc3cab167 Author: Chaskiel M Grundman Date: Wed May 30 20:39:27 2001 +0000 make-xdr-int64-support-consistent-now-that-its-everywhere-20010530 "an mr-afs related patch introduced xdr_afs_int64 into the code. This is a good thing I suppose. The same patch also re-introduced the use of xdr_long on some platforms, which isn't needed, and isn't really appropriate. Said patch also only included the #defines for xdr_afs_int64 into rpc_main.c and not xdr.h. (it is my opinion that rpc_main.c:write_int32_macros should only be used if kflag is set, but transarc didn't do it that way, so I'm not going to change it)" commit 05b43ef0bc3183520b0c03a70db92233741e1e87 Author: Chaskiel M Grundman Date: Wed May 30 20:34:17 2001 +0000 make-rxgen-split-rpcs-not-declare-start-parameters-for-functions-for-data-which-is-copied-out-only-20010530 "fix for rxgen so that split rpc's don't erroneously declare parameters in the "start" function that should only be declared in the "end": example: for the following declaration: Store(IN struct _index_t *descr, IN string group, OUT string spool, OUT afs_uint32 *slot) split; before patch: int StartDMV_Store(z_call, descr, group) register struct rx_call *z_call; struct _index_t * descr; char * group, **spool; { [...] after patch: int StartDMV_Store(z_call, descr, group) register struct rx_call *z_call; struct _index_t * descr; char * group; { [...] " commit 72dcb4b1e15da9d415ad5cb0aa3d146fd32486fd Author: Garry Zacheiss Date: Wed May 30 20:31:21 2001 +0000 catch-bad-afsconf-cehck-result-to-fix-fileserver-segv-20010530 "afsconf_GetKey() in auth/cellconfig.c doesn't check the return value of afsconf_Check(), which can lead to the fileserver SEGV'ing if afsconf_Check() returns an error." commit 42f52c89d63061b41640665436dbca2610a9a4a2 Author: Mattias Amnefelt Date: Wed May 30 20:26:09 2001 +0000 make-backup-dumpi-print-volumes-over-2caret31-bytes-correctly-20010530 makes backup dumpi print volumes > 2^31 bytes correctly commit 13dcb2b316438140a6f01963ede980952e38f85a Author: Mattias Amnefelt Date: Wed May 30 20:22:56 2001 +0000 update-pdf-documentation-to-include-fonts-20010530 "I noticed that the pdf documentation bundled with openafs doesn't include the correct fonts to display properly (atleast with my acrobat). I've generated afs-pdf:s with type1 fonts" commit 36e60e31c781817f458c020990fd0dde05bac5d7 Author: Nathan Neulinger Date: Thu May 24 22:11:45 2001 +0000 fix-msf-cat-warnings-in-compile-et-20010524 so we don't get warning for msf stuff commit 5fb461913ee58e814406ab3b3b5d978120db5af1 Author: Nickolai Zeldovich Date: Thu May 24 22:09:50 2001 +0000 solaris-make-df-in-cwd-return-useful-output-20010524 "This patch makes "df ." work in AFS directories under Solaris 8. (df looks in /etc/mnttab, which is obtained from the kernel, for the device number and then does a pwd-style walk up the tree.. Currently the device number gets set to 0x100000 by default which doesn't match the 0x1234 device number of AFS vnodes.)" commit 5e8ee41b3f392cf2084d2d762719a62a8b6ecaba Author: Carsten Jacobi Date: Mon May 21 21:24:04 2001 +0000 linux-s390-kas-setpass-fix-20010515 fix for s390, per Carsten: (this behaviour occurs only on 31-bit S/390-Systems, the "s390x"-machines should change the AFS-password also without this patch as far as I can imagine) commit 08690c41a2b4a85888f89ddd1049c4478eeaad80 Author: Laura Stentz Date: Sat May 19 18:45:43 2001 +0000 afs-overview-documentation-20010519 Contributed overview docs from IBM, this time binary mode. commit 80c8c1e2d8c25113e1c717636554f65d7f1b80b3 Author: Daria Phoebe Brashear Date: Sat May 19 18:44:43 2001 +0000 remove-bad-non-binary-commit-of-afs-docs-20010519 so i can readd with -kb commit b402ffcd52087f943e3aeaf7e74bb668b57092c1 Author: Laura Stentz Date: Sat May 19 18:43:10 2001 +0000 add-afs-overview-manuals-20010519 Documentation contributed by IBM commit 0d26876afac50ee45b76e6f837c1b265603a7e7f Author: Daria Phoebe Brashear Date: Fri May 18 18:15:20 2001 +0000 hpux11-kernel-support-20010517 put together from 1994(!) rx open source release available at ftp://ftp.dementia.org/pub/rx, other architectures, rx_kcommon.c, and some net research on hpux has no chance of working, slim chance of compiling, and seriously needs spinlock work to be useful ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== shell of this file. won't work ==================== shell of osi_vfs.h not useful yet ==================== use macros in osi_machdep.h for doing spinlocks ==================== include streams tli header ==================== do a little cleanup after looking at other architectures still won't work until we know more about sleep/wakeup and kernel semaphore interface crap ==================== try again. probably still not useful ==================== get this stuff compiling commit 2a8a12e94bc350457acb632722c3540e22e84776 Author: Nathan Neulinger Date: Fri May 18 02:22:10 2001 +0000 update-makefiles-for-afsconfig-h-20010517 more updates so afsconfig.h can be included commit b9c11bc28108c3815a639314b72697016a9c4d87 Author: Daria Phoebe Brashear Date: Wed May 16 05:16:27 2001 +0000 linux24-param-cleanup-20010516 make usr version of file not define 64 bit env make kernel version include modversions before afs_sysnames.h (which includes stds.h) commit 27dbb4d0a209eef5f7afa770cbfd7c0b4ccf53e8 Author: Nathan Neulinger Date: Wed May 16 00:28:09 2001 +0000 afsconfig-updates-20010515 updates to and to use afsconfig.h commit 3c314b7f285baade2d7bc3520a3b71590b5ab7b0 Author: Nathan Neulinger Date: Wed May 16 00:16:58 2001 +0000 sgi-fix-prototypes-20010515 use strings.h on irix to get needed prototypes commit 94dd48c9ddce14d78bbcf4e2cfab9d46a673707a Author: Nathan Neulinger Date: Wed May 16 00:15:54 2001 +0000 fix-bad-logic-in-afsconfig-h-in-20010515 fix some iverted logic commit e69d27e8f0169f1e792887305b130e5fd2a7a4af Author: Nathan Neulinger Date: Mon May 14 23:56:33 2001 +0000 afs-superuser-foreign-realm-checks-20010514 This rewrite cleans up the code a bit, removes any athena specific references (not needed anymore in this version), and adds support for multi realm management of afs servers (you can now specify "admin@OTHERREALM" in your userlist). Code now checks as follows: tname tinst - remote user info from conn tcell lcell - local cell lrealm - local realm (defaults to lcell if not avail) if no remote cell or instance allow localauth if the cell of the remote connection matches local cell or local realm if not tinst allow if tname in UserList if tinst allow if tname.tinst in UserList if cell doesn't match local cell or realm if not tinst allow if tname@cell in UserList allow if tname@CELL in UserList if tinst allow if tname.tinst@cell in UserList allow if tname.tinst@CELL in UserList modified per openafs-devel discussion such that krb5 versions (/tinst rather than .tinst) code path disabled for now commit e85c2defa41ece194c9afdbe5aefae58b372d8bb Author: Hartmut Reuter Date: Mon May 14 23:54:01 2001 +0000 restore-writelogbuffer-for-mrafs-20010514 MR-AFs is making use of this to hook into logging to write multiline messages into the log ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== move forward to current version of function commit 79f34e549a24b763955e22267eaf01b893ba65d5 Author: Mark Dapoz Date: Mon May 14 23:26:34 2001 +0000 aix42-pthread-self-return-needs-cast-20010514 To compile on AIX 4.2 on PowerPC commit 466eb22ad4be6bf074a93e918e3f3b4465e3d745 Author: Nathan Neulinger Date: Mon May 14 23:23:12 2001 +0000 initial-afsconfig-h-file-20010514 start of config file work for autoconf ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== make Makefile use top-level location rather than config as Nathan intended commit 92165dc105d8195dc90c8ce777eb060df0ea34b4 Author: Nathan Neulinger Date: Mon May 14 22:41:12 2001 +0000 change-effect-of-afs-quietfs-env-20010514 so ViceLog happens when file server starts commit f6759c48886e96966a3180c3c656bf291833057c Author: Ted McCabe Date: Mon May 14 22:30:35 2001 +0000 darwin-clear-va-flags-in-copyoutattrs-20010514 "I noticed that when I tried copying files out of AFS, I would often not be able to modify the destination files/dirs due to the user flags being non-zero (see man chflags). Turns out that not all of the fields of Darwin's struct vattr were being set in afs_CopyOutAttrs This patch clears the va_flags entry. I wasn't sure how the va_filerev and va_gen fields are precisely used, but since I wasn't noticing any trouble I could attribute to them, I left them unspecified. I suspect someone with more knowledge can say for sure. " commit a2da7c0d5f26340a0b03d83aa628e13670ebc55e Author: Nathan Neulinger Date: Mon May 14 22:27:10 2001 +0000 make-vos-accept-force-switch-20010514 and let libcmd handling deal with -f commit 3822336ad0cba7a429575330f5f0a193744ed9d2 Author: Nathan Neulinger Date: Mon May 14 22:19:47 2001 +0000 des-warnings-cleanup-20010514 clean up some more warnings from des commit d3c69d1c77d2c462756d10746852b757cdd71659 Author: Carsten Jacobi Date: Thu May 3 15:19:00 2001 +0000 linux24-s390-initial-support-20010503 base support for s390 linux 2.4 commit 17c2d284cb1cfc3d787a8a69b02691ae0c6098eb Author: Mark Dapoz Date: Mon Apr 30 23:15:50 2001 +0000 compile-snprintf-for-solaris25-20010430 so this will still build for solaris 2.5.1, build our snprintf commit f9a46bee19dd8eb1b91b83d5e18febc962f66588 Author: Chas Williams Date: Mon Apr 30 23:13:05 2001 +0000 make-des-test-buildable-20010430 remove bogus rcsid string lines with no strings commit f816a53b265ce8172fa25bc4e84fc4331ac3880d Author: Nickolai Zeldovich Date: Mon Apr 30 23:08:39 2001 +0000 afsdb-callout-and-userspace-implementation-20010430 "This patch implements AFSDB support for both user-space programs and for the kernel.. I've tested these on sun4x_57 (64-bit) and on i386_linux22." not currently enabled in any configuration commit b742b1eda90cd5e842407e8bd2f040e9f6e0054e Author: Daria Phoebe Brashear Date: Mon Apr 30 23:03:33 2001 +0000 remove-incomplete-dns-patch-20010430 this shouldn't have leaked in yet commit cb5ab03928f8383394d6f64eb6e5365f39be634b Author: Nathan Neulinger Date: Mon Apr 30 16:18:39 2001 +0000 fix-comment-for-linux-conf-20010430 fix comment to reflect variable change commit d37f3d5ac94868726f83a1a5f3f3bf58e91f6a7d Author: Nathan Neulinger Date: Mon Apr 30 16:09:41 2001 +0000 remove-text-after-endif-20010430 remove typo which crept in commit 7f4414ae3983fe7260de19cf3ccb7659d76a33f3 Author: Jeff Riegel Date: Mon Apr 30 08:03:55 2001 +0000 win95-initial-port-20010430 Windows 95/98 port from IBM Almaden documentation and build support ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Windows 95/98 port from IBM Almaden changes to cache manager ==================== Windows 95/98 port from IBM Almaden makefile changes ==================== Windows 95/98 port from IBM Almaden osi changes to support 95/98 ==================== Windows 95/98 port from IBM Almaden installer for 95/98 client ==================== Windows 95/98 port from IBM Almaden win95/98 panel app ==================== Windows 95/98 port from IBM Almaden win95/98 panel app help ==================== Windows 95/98 port from IBM Almaden makefile changes plus dns implementation ==================== Windows 95/98 port from IBM Almaden makefile changes plus changes for compat with dos line conventions ==================== Windows 95/98 port from IBM Almaden config for 95/98 ==================== Windows 95/98 port from IBM Almaden makefile changes plus support for 95/98 env ==================== Windows 95/98 port from IBM Almaden ms compiler changes ==================== Windows 95/98 port from IBM Almaden makefile changes ==================== Windows 95/98 port from IBM Almaden lwp changes to support 95/98 port ==================== Windows 95/98 port from IBM Almaden rx changes to support 95/98 port commit dae4e16dbee451ecfa977eb3621863f035ea097b Author: Sam Hartman Date: Mon Apr 30 00:42:33 2001 +0000 linux-ppc-linux22-base-config-20010429 base ppc linux 2.2 config commit 8ee4e0cec9f70f4c1cf44fad0a210f1014680a0d Author: Daria Phoebe Brashear Date: Mon Apr 30 00:40:12 2001 +0000 winnt-redefine-snprintf-instead-of-building-one-20010429 WINNT has _snprintf, just use that commit 13f30691ead130e199e929fa273a0de1e2585f99 Author: Nathan Neulinger Date: Mon Apr 30 00:36:36 2001 +0000 linux-conf-use-options-not-afsd-options-20010429 make distributed config consistent with rc file commit 1e5270c7d63e561e1d8f1ba46cc8b3651d50ee75 Author: Jeffrey Hutzelman Date: Wed Apr 25 06:44:34 2001 +0000 fix-sense-of-ifdef-for-darwin-20010425 reverse change from freebsd patch commit c1f5a932d1cb274ac0ca6ca29f2175e0547a2bcf Author: Daria Phoebe Brashear Date: Tue Apr 24 03:48:32 2001 +0000 linux-make-bridge-script-more-respectful-of-build-environment-20010423 make it actually use the known path to the kernel source, and check for existance before doing anything commit dc4e0286f6548b855eb62b5141c3225f4e080aca Author: Daria Phoebe Brashear Date: Sun Apr 22 20:37:33 2001 +0000 linux-bridge-to-deal-with-redhat71-in-pre-autoconf-days-20010422 Kinda crappy but it will suffice for now commit 1e3882bbec8a250560090ee2f16b7527cfd069b5 Author: Jeremy Katz Date: Sun Apr 22 20:02:58 2001 +0000 linux-kernel-extra-definitions-for-sp-versus-mp-20010422 __SMP__, and __BOOT_KERNEL_SMP __BOOT_KERNEL_UP definitions as appropriate commit b1ede0ae41565c8d27e9bf0fbeb744bb778cae91 Author: Daria Phoebe Brashear Date: Sat Apr 21 20:04:08 2001 +0000 linux-revert-truncate-inode-pages-for-smush-20010420 osi_VM_TryToSmush needs to be careful not to walk on in-use pages commit eda1b2dc39c2cafc9d9f3ae8555eb794cbfd50fb Author: Daria Phoebe Brashear Date: Sat Apr 21 19:38:39 2001 +0000 cleanup-from-readdir-type-hint-guessing-20010420 Based on report by Chas Williams; FindVCache get getting a ref which we need to release commit c2805ce8af4e3232a478ee697564b97da0184ef2 Author: Daria Phoebe Brashear Date: Sat Apr 21 05:23:25 2001 +0000 conditionals-for-linux-ac-kernels-20010420 Adapted from katzj@linuxpower.org's work. Still needs makefile hackery and glue scripts to do the defining commit 7d51f70937da5f57f06339514edcbf36e4f56e4c Author: Daria Phoebe Brashear Date: Sat Apr 21 04:14:56 2001 +0000 be-tolerant-of-unbuilding-kdumps-20010420 so people who can't get kdump to build aren't so confused commit cb169b7b125167def267d0199e85b0b0af91f597 Author: Daria Phoebe Brashear Date: Sat Apr 21 02:35:29 2001 +0000 truncate-inode-pages-for-linux22-20010420 backport support for 2.2 kernerls commit 06a3d080b4b74d114dba028f5a3637f1c6aa5cbe Author: Chas Williams Date: Sat Apr 21 02:23:04 2001 +0000 linux-call-truncate-inode-pages-in-preference-to-invalidate-inode-pages-20010420 To cure "Failed to invalidate all pages on inode 0xc9208720" ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== commit 39d23fc838e0e4d2f3202c731d6cdefc7e77b7ea Author: Jeremy Katz Date: Sat Apr 21 02:06:52 2001 +0000 linux-vfsops-updates-20010420 set s_maxbytes if MAX_NON_LFS is defined use &tvp->v nsttead of tvp commit 4bafb7a05e1369f6799b96df0d50f31af616bb20 Author: Jeremy Katz Date: Sat Apr 21 01:31:39 2001 +0000 afs-gunlock-when-umount-as-not-suser-20010420 bad to AFS_GLOCK then exit without AFS_GUNLOCK commit 61ab04a06c74b7d1503af3ed3dc396a807cf8f5e Author: Chas Williams Date: Sat Apr 21 01:14:16 2001 +0000 linux24-add-missing-truncate-inode-pages-call-20010420 actually do the inode page truncation for linux 2.4 commit 3d4fa5b444ccab6730d3792d442aa5d1eb1ec24c Author: Daria Phoebe Brashear Date: Sat Apr 21 00:58:24 2001 +0000 undo-i386-linux-64bit-env-20010420 It turns out defining AFS_64BIT_ENV ends up causing accesses to hang if a server goes down; Should not be the case but other work will be needed to figure out why or even if we need to be AFS_64BIT_ENV; in the meantime, revert this part of patches done for xdr_int64; it's not ncessary now anyhow commit a86c6b835ad8569444a464f9617a93d196803aed Author: Nickolai Zeldovich Date: Sat Apr 21 00:34:59 2001 +0000 vfs-dqrwlock-doesnt-exist-before-solaris7-20010420 in order that the modified solaris code works on pre-solaris7 it's necessary to not use the locks we didn't have then commit 0ec5d7fa117fa9f32f96ec35c915ce0c1e0f8ca4 Author: Chas Williams Date: Fri Apr 20 23:42:11 2001 +0000 linux24-ppc-has-no-setgroups32-20010420 use generic ifdef to deal with ppc 2.4 not having setgroups32 yet commit 6bfdf43e9f963abd1e6801edf254b3dc159cc100 Author: Tom Maher Date: Fri Apr 20 23:38:51 2001 +0000 install-updates-for-freebsd-20010420 make install build for freebsd commit 8d91087287cb0e4e15ca1b2eb64bca8dbc9077c0 Author: Daria Phoebe Brashear Date: Fri Apr 20 23:34:03 2001 +0000 linux-dentry-revalidation-always-revalidate-20010420 Based on collaboration with Chas Williams and Chaskiel Grundman Always force revalidation so if call which caused caching was in another authentication "context" we don't inadvertantly leak information. Cases where things matter involve bad caching for negative dentries (something fails because you don't have permission, then you authenticate and the negative dentry is not flushed) or when you have l only and someone with rl caused the dentry to get cached, in which case stat() information and nothing else is leaked commit bb46079477b664c1eabfb423966f71220821d099 Author: Chas Williams Date: Mon Apr 16 22:09:15 2001 +0000 linux-cleanup-after-check-bad-parent-20010416 check_bad_parent doing lookups is incrementing i_count and nothing is cleaning up after it; this should make it happier commit 315191f6d48c2d35896264a9d5efb3da8495af14 Author: Chaskiel M Grundman Date: Mon Apr 16 19:11:04 2001 +0000 linux-dont-d-drop-in-revalidate-20010416 calling d_drop ends up precluding shrink_dcache_parent; don't call it commit beda84b831015d293e48300b164ae9fc739006f6 Author: Chaskiel M Grundman Date: Mon Apr 16 05:01:39 2001 +0000 linux-dentry-revalidation-rework-20010416 invalidate based on dataversion so negative dentries will actually go away commit 08aaf5c45deb3f18d277709d63e91aea5d0dd2f2 Author: Daria Phoebe Brashear Date: Sat Apr 14 19:25:41 2001 +0000 rmdir(2) claims ENOTDIR pathname, or a component used as a directory in pathname, is not, in fact, a directory. ENOTEMPTY pathname contains entries other than . and .. . meaning what we really want to return here is ENOTEMPTY ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== commit 1e9fc5888fba84db985ca4263a668653c8496a7e Author: Nathan Neulinger Date: Sat Apr 14 18:49:51 2001 +0000 warning-cleanup-20010414 cleanup based on complaints for gcc -Wall commit 2ca31969c61733c128ba5d0282d78682dd1aa51c Author: Nathan Neulinger Date: Sat Apr 14 18:45:16 2001 +0000 allow-disabling-compile-of-obsolete-and-insecure-bits-20010414 so that ntp, rcmds, inetd, mpp and package can be disabled easily commit b38f3590c893514aad7eab9eb0f0274c5d2eaf7a Author: Nathan Neulinger Date: Sat Apr 14 18:38:06 2001 +0000 update-linux-gcc-processor-optimization-flag-20010414 gcc now wants -march not -m(processor) commit d50326c7c15fb1e2e90d3c1524a4fd2d9c7cbd7e Author: Nickolai Zeldovich Date: Sat Apr 14 18:34:32 2001 +0000 solaris-ufs-call-updates-20010414 updates per message from Frank Batschulat regarding problems with how afs hooked the solaris ufs code commit 9e4c9975adef4c405d4f95414f71eaa71742e7f6 Author: Mattias Amnefelt Date: Sat Apr 14 18:31:49 2001 +0000 update-volumesets-for-deletevolentry-20010414 analog of patch for addvolentry commit 0c1eb3a380a7ec7042167d76faf9193f2e9cd43a Author: Tom Maher Date: Sat Apr 14 18:27:12 2001 +0000 initial-freebsd-port-work-20010414 start of work on freebsd port commit c402670db9c69f31bf7a5bcf522035b3f9a1a217 Author: Chas Williams Date: Fri Apr 13 22:56:00 2001 +0000 linux-inode-and-dentry-validation-rework-20010413 gets us closer to the ideal in inode and dentry revalidation commit 3133a5772992aa677475af086054e45949b10d30 Author: Daria Phoebe Brashear Date: Thu Apr 12 21:39:33 2001 +0000 make-use-of-int-preblock-specific-to-s390-linux-20010412 based on report Pavel Semerad , but fixing the root cause. commit 4fafb35ccf4e1db52ad92c0f1fea8b4e43ec37bb Author: Chaskiel M Grundman Date: Wed Apr 11 20:17:51 2001 +0000 better-type-guessing-for-readdir-hint-20010411 instead of just saying unknown, if we know for sure, provide the info commit d065b7fc5184fe5d12332a399c4314ba2f653957 Author: Volker Holfeld Date: Wed Apr 11 19:57:23 2001 +0000 windows-compile-fixes-20010411 ignore serverLog on nt ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== correct typo for nt ==================== update volinfo -filenames feature for nt commit 020669f21a59f285eaa165dcbb7724bf7d4578c2 Author: Nickolai Zeldovich Date: Fri Apr 6 19:22:01 2001 +0000 rx-keep-track-of-resent-packets-20010406 previously the resent packet counter was never incremented commit 0b1598cf4be800eae47ee30c08ad8d60ede568ef Author: Nickolai Zeldovich Date: Fri Apr 6 19:13:19 2001 +0000 dont-fflush-fds-20010406 bogus call to fflush in server log code, trying to fflush a file descriptor commit a574d1e742a4efd4a7d6a641238d04803d6818bf Author: Nickolai Zeldovich Date: Fri Apr 6 19:11:44 2001 +0000 partition-include-headers-to-get-opendir-etc-20010406 so namei code comes closer to being useful in more cases commit e0cac680593fb85a34bb8d9d15c173446dc2511a Author: Chaskiel M Grundman Date: Fri Apr 6 19:08:09 2001 +0000 linux24-new-afs-xsetgroups32-implementation-20010406 afs_xsetgroups32 is now a copy of afs_xsetgroups, with the call to sys_setgroupsp changed to sys_setgroups32p no change to sparc64 port stuff commit cc05bd342538339bc244e86682696d6bdedc6674 Author: Chaskiel M Grundman Date: Fri Apr 6 19:03:46 2001 +0000 darwin-pagincred-will-notice-pags-20010406 make PagInCred notice pags on darwin commit c0742b1f50ffc0d9342b34989ea502d98f23820c Author: Nathan Neulinger Date: Thu Apr 5 20:32:41 2001 +0000 remove-endif-warning-20010405 endif comment should be commentized commit 3daff6958946d7ce7d3074b55e15eb6f13ace01a Author: Nathan Neulinger Date: Wed Apr 4 21:36:19 2001 +0000 use-consistent-data-typing-for-hosts-20010404 use afs_uint32 everywhere commit 0b88affca4d304ff28a15c5e195ea23a50a3ed99 Author: Nathan Neulinger Date: Wed Apr 4 21:29:31 2001 +0000 placate-gmake-on-solaris-when-building-libafs-20010404 gmake tries to build something named libafs, make it not commit 3c1176d868311412c3e99018ee3276ec4bd4731c Author: Nathan Neulinger Date: Wed Apr 4 21:27:43 2001 +0000 vfsck-doesnt-build-on-hpux11-20010404 previous revisions caused it to be attempted to be built commit d06043cc1036622746e3a082a6e7096600d98bd0 Author: Hartmut Reuter Date: Wed Apr 4 18:28:05 2001 +0000 make-getfreetag-find-correct-free-tags-20010404 "I have found a "nice" bug in namei_ops.c: In GetFreeTag() the following code was used to find a free place in the link table entry: /* Now find a free column in this row and claim it. */ coldata = 0x7; for (col = 0; col Date: Wed Apr 4 18:24:02 2001 +0000 remove-redundant-makefile-rules-20010404 another set of redundant makefile rules removed commit 98b06ddaf2cc89dfce31809140dfc2e19b6a0b48 Author: Hartmut Reuter Date: Wed Apr 4 18:21:53 2001 +0000 changes-to-allow-identifying-threads-in-log-file-output-20010404 "This is an addition for MR-AFS log files where the thread name is shown. rx switches the general server threads to listeners and vice versa. To have reasonable names the listener must get back his old name when converting himself to a server thread. To not bother other programs with unresolved references I do this with two function pointers which are initialized in the main() programs for MR-AFS." ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== use function pointers here instead of threadname commit d8313d4404add128b23be24987e9055e0f3d49da Author: Hartmut Reuter Date: Wed Apr 4 18:14:23 2001 +0000 make-vol-package-deal-with-namei-correctly-on-systems-which-can-be-compiled-with-or-without-namei-fileserver-20010404 If compiled without AFS_NAMEI_ENV existence of AFSIDat must stop us. If compiled with AFS_NAMEI_ENV volume headers in a partition, but no AFSIDat must stop us. commit 3c597bf21878fa5a2ea776e81a01d72844b26909 Author: Nathan Neulinger Date: Wed Apr 4 18:12:18 2001 +0000 salvager-syslog-support-20010404 support for salvager to syslog instead of logging to file commit 7fd13204a3bfa037bf83389195f2d90906f458ad Author: Nathan Neulinger Date: Wed Apr 4 18:08:51 2001 +0000 partial-hpux-10-support-20010404 similar to HPUX 11, just make what can be compiled now compile commit 16238e1dd2c70d5fe29a256c6148ad38e091cf35 Author: Nathan Neulinger Date: Wed Apr 4 18:00:44 2001 +0000 simplify-salvager-target-20010404 it's the same for linux as for everyone else now commit 4b2213d0cfd5e1a4516639c9ab1740891581aede Author: Daria Phoebe Brashear Date: Wed Apr 4 13:48:23 2001 +0000 enable-getcrypt-command-20010404 provide cmd hook for getcrypt command (support was already present) commit 814ac0fc1d98b09667bcd5738b3607f9b8595359 Author: Volker Holfeld Date: Wed Apr 4 13:46:19 2001 +0000 winnt-enable-cryptall-support-20010404 introduce fs setcrypt/fs getcrypt features to nt client add registry parameter SecurityLevel to allow persistent setting commit bf58cfd11f28c1b32501d5f79a03dcd7c8d35517 Author: Volker Holfeld Date: Wed Apr 4 13:43:45 2001 +0000 winnt-create-globalautomapper-registry-key-20010404 if GlobalAutoMapper key is missing when a global drive is defined with the gui it will be created commit ef95c122570b8459b98ff7bbcf6501c00d382942 Author: Nathan Neulinger Date: Tue Apr 3 21:26:31 2001 +0000 correct-udebug-flag-name-20010403 -server takes one server arg, so fix its name to be -server and not -servers commit 7b5ef774b870f3299376da44ef9c4090eccd7cb9 Author: Nathan Neulinger Date: Tue Apr 3 21:22:05 2001 +0000 fix-ubik-lowest-host-comparison-algorithm-20010403 be more particular about how we do comparison, and fix printing of the host address for byte order problem commit 2cdf6103d6c6957c791da3d87fbd48b9eca0ec6b Author: Nathan Neulinger Date: Tue Apr 3 21:19:34 2001 +0000 prefer-ubik-print-to-printf-20010403 changes to prefer ubik_print &c to printf to make syslogging easier commit 12df8ce78eaea65d92094eeab9dfae729dfc5f74 Author: Volker Holfeld Date: Tue Apr 3 20:06:24 2001 +0000 link-libs-into-windows-butc-in-useful-order-20010403 reorder libs so threaded afsrpc.lib is before afsrx.lib commit ff118da207882f246179612aa63473ce92de82b0 Author: Daria Phoebe Brashear Date: Tue Apr 3 07:55:34 2001 +0000 i386-linux24-includes-long-long-types-20010403 define AFS_64BIT_ENV for linux24 i386 basically denotes existance of long long commit 55bb14eb8d1f6d353eb9943b83c672acc35e7a07 Author: Daria Phoebe Brashear Date: Tue Apr 3 07:52:56 2001 +0000 attempt-more-portable-64bit-type-support-for-namei-fileserver-20010403 be at least as portable as existing code commit afaa1854723a06fb1f4218b154afd7408346ce64 Author: Thomas Mueller Date: Tue Apr 3 00:13:04 2001 +0000 add-volinfo-filenames-arg-in-namei-environment-20010402 show filenames used by volumes in namei fileserver commit e08803e46088eb66585c90cee5ae2016244f2d02 Author: Chas Williams Date: Tue Apr 3 00:09:51 2001 +0000 linux24-use-kmap-instead-of-afs-linux-page-address-20010402 kmap is the preferred interface for 2.4 now commit 2fb73345baf5e6b3cf93ce35ff8910612850d767 Author: Chas Williams Date: Mon Apr 2 23:48:22 2001 +0000 linux-dentry-validation-changes-20010402 change afs_linux_dentry_revalidate to call afs_linux_revalidate commit df9e479968824380b4a4c1d47c011785f71868e9 Author: Adam Thornton Date: Sat Mar 31 00:20:23 2001 +0000 s390-updates-20010330 fix PRE_Block and lwp problems commit 47b588f42fb15805e95c975180d455d096a550f1 Author: Volker Holfeld Date: Fri Mar 30 05:10:59 2001 +0000 add-missing-exports-for-64bit-types-for-windows-20010329 commit 7ddc83dcdf1ee002a9dbef31b01cfc783c147256 Author: Silvia Gross Date: Fri Mar 30 00:18:55 2001 +0000 drivemap-box-error-for-3-character-cellnames-20010329 "In the original version the path name in the box showing the network drives were wrong if a part of the name after afs had only 3 characters: afs\ipp\u became afs\u. Also the small hooks in front of the names disappeared immediately." commit 57815fd837f5e55612ef781991ec0a5f1c91f4a3 Author: Sam Hartman Date: Fri Mar 30 00:12:38 2001 +0000 fix-readdir-hint-20010329 "Under 2.4.x kernels, there is a file type in the result of readdir to help applications optimize directory traversal. With usfficiently new libc compiled against sufficiently new kernel headers, this is exported to applications. Several applications, including fileutils use this information. AFS asserts that all files are directories. This sucks, because among other things it causes rm -rf not to work." commit 56a53a2016fad623bf2925d97208680861e9c0a6 Author: Michael Durket Date: Thu Mar 29 23:56:18 2001 +0000 s390-libafs-makefile-changes-20010329 use -O and not -O2 to deal with some bad versions of gcc for now link in appropriate asm directory commit 62afbc5792581e701bf81a833c17a1a90116712e Author: Thomas Mueller Date: Thu Mar 29 18:07:41 2001 +0000 linux24-setgroups32-support-20010329 setgroups32 support for linux2.4 machines (required for modern glibc) commit 965dd94785048c7bf3e49e38977400317add02f1 Author: David Bailey Date: Wed Mar 28 17:54:21 2001 +0000 winnt-bufio-mods-20010328 fix warnings in fileutil.c commit 30632102cd8b3780281ac58217db4625c5e0c134 Author: Carsten Jacobi Date: Wed Mar 28 17:50:19 2001 +0000 linux-s390-page-offset-fix-20010328 use PAGE_OFFSET for s390 commit f9a817bcdf593e4a5fbb54ac2f62c448b7cb1631 Author: Hartmut Reuter Date: Wed Mar 28 07:51:25 2001 +0000 ubik-clone-support-20010212 ubik library support for readonly clones commit 42ec4cb1a516f37f075b4286fbcdb4b38064c6a2 Author: Johan Danielsson Date: Wed Mar 28 00:01:45 2001 +0000 first-cut-autoconf-support-20010327 Makefile.am and configure.in first cuts. not yet useful ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== oops; this belongs on the branch created for autoconf development commit c57654e7dc2eb785fbcca30783b364ae2cfb45a1 Author: Chaskiel M Grundman Date: Tue Mar 27 23:22:05 2001 +0000 darwin-cacheops-initialization-check-20010327 make sure nothing happens before cacheops init commit 7b64d0d2f9e1a0f4074159ed663683517b3a9235 Author: Chaskiel M Grundman Date: Tue Mar 27 23:18:09 2001 +0000 darwin port was unhappy because of this commit 92914a52655521fcee9ef8b5c52a95f4a6f64103 Author: Daria Phoebe Brashear Date: Tue Mar 27 23:10:13 2001 +0000 remove-libadmin-real-dependancies-20010327 commit 14e482ad26912a089ff0c365335081f2071f1299 Author: Daria Phoebe Brashear Date: Tue Mar 27 23:02:13 2001 +0000 death-to-permit-xprt-h-20010327 permit_xprt.h, we hardly knew ye commit 09cfd4a43ede7a050d905edf0610813156cbd0d9 Author: Daria Phoebe Brashear Date: Tue Mar 27 22:31:02 2001 +0000 begone-with-xprt-CoerceLevel-20010327 coersion is a crime. last step in the death of permit_xprt.h commit 4f17e9ed3d19c2b0feab96ac01a2e77b7be2be68 Author: Daria Phoebe Brashear Date: Tue Mar 27 22:28:17 2001 +0000 begone-with-xprt-cryptok-20010327 de-cripple rxkad-crypt for all cases commit 8aa4bf9b54a8dbd78dcaa1296dd13902f00d554e Author: Daria Phoebe Brashear Date: Tue Mar 27 22:18:26 2001 +0000 begone-with-AFS-HIDE-20010327 start of the death of permit_xprt.h commit b93a385178396915b3a2f70d6f629c9d0270ad39 Author: Chaskiel M Grundman Date: Tue Mar 27 21:33:17 2001 +0000 allow-building-subset-of-afs-20010327 allow overriding finale with e.g. blibafs to build a subset of afs commit 44fa060ece6b0c5c584402a54ff5706feaf4ceb7 Author: Daria Phoebe Brashear Date: Tue Mar 27 21:05:20 2001 +0000 winnt-lacks-snprintf-so-build-ours-20010327 apparently windows lacks snprintf commit c3244fb9d400db5036c39c033d2ab3ad577447e0 Author: Chaskiel M Grundman Date: Tue Mar 27 20:37:56 2001 +0000 dont-install-uklibs-unless-linktest-works-20010327 follow the intent of this target commit 72e06ec1ca2286e998b87c866eaf1ea6860ba9d6 Author: Nathan Neulinger Date: Tue Mar 27 20:33:52 2001 +0000 dont-build-clients-for-hpux11-20010327 build tools and servers but no kernel support for hpux since it doesn't work currently commit 127d4d2a6bf1ca73620f10a04d08ddf2a2de6dbc Author: Daria Phoebe Brashear Date: Tue Mar 27 20:29:04 2001 +0000 install-util-archive-also-as-libafsutil-20010327 It's about time you can link to this with -lsomething commit ba4157f839bcb961d83726f44a20f3aa8c07d8d9 Author: Daria Phoebe Brashear Date: Tue Mar 27 09:57:15 2001 +0000 update-libuafs-install-procedure-20010327 to deal with tweaks make so pinstall can be left uninstalled on darwin port commit 57ee8d64e4142f4cac1c848ae451adc90a51eae9 Author: Daria Phoebe Brashear Date: Tue Mar 27 09:49:41 2001 +0000 add-pts-global-reader-support-20010327 in the same way members of system:administrators have all pts powers, members of system:ptsviewers have all pts read powers by virtue of said membership commit e31f1895da5cc54500484329f3c447f0e2fd705b Author: Daria Phoebe Brashear Date: Tue Mar 27 09:36:15 2001 +0000 rudimentary-support-in-kpasswd-and-kas-for-mit-v4-string-to-keyed-passwords-20010327 klog supports such passwords but without this such users can't run kas or kpasswd commit 3c6509369da4e2ca08096d6ffcdda8beb1b56dd1 Author: Daria Phoebe Brashear Date: Tue Mar 27 09:16:43 2001 +0000 use-afs-int64-types-in-util-package-20010327 we already defined "portable" types for this; use them commit 150cbf3db8c4c2c5bd95297f60da0eac84ba14c4 Author: Nickolai Zeldovich Date: Tue Mar 27 08:58:49 2001 +0000 make-namei-fileserver-compile-on-solaris8-20010327 use uint64_t in preference to u_int64_t as solaris has only the latter and linux appears to have both. also, use lockf where flock was used in the solaris case commit a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b Author: Chaskiel M Grundman Date: Tue Mar 27 08:43:13 2001 +0000 initial-darwin-support-20010327 setup for darwin port ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== changes for darwin port ==================== added files for the darwin port ==================== changes for darwin port commit 9602e1a3fde7b04d398245b10adcf4f316f1c43b Author: Nickolai Zeldovich Date: Tue Mar 27 01:53:27 2001 +0000 rxdebug-changes-for-peers-and-to-show-rtt-values-20010326 " rxdebug: allow the use of -onlyhost and -onlyport options with -peers, and also list the rtt, rttdev and retransmit timeout values." commit 6cd845bdb528938c2b6a559c2f0d577436676f94 Author: Nickolai Zeldovich Date: Tue Mar 27 01:51:35 2001 +0000 fix-rx-rtt-computation-when-delay-is-involved-20010326 " rx: attempt to fix incorrect rtt computation, possibly winning on performance for links with some packet loss. Currently, the rtt is computed as the time from the transmission of a packet until the receipt of the corresponding ack packet. But this includes a potential delay (rx_{soft,hard,last}AckDelay) on the client which results in an abnormally high rtt, and even more erroneous rtt_dev and retransmit timeout values. The proposed solution is to ignore RX_ACK_DELAY type ack packets for the purposes of rtt computations, and introduce another ack packet type for RX_ACK_DELAY-type acks which are sent immediately by the client. This should of course be backwards-compatible with existing clients. " commit bccc6a809dc15479e5831ab8ad111029fcdba258 Author: Michael Stroucken Date: Tue Mar 27 00:53:26 2001 +0000 first-pass-at-alpha-linux-support-20010312 Changes for Alpha to previous 64 bit changes for sparc (sparc64 isn't necessarily analogous to alpha or any other 64 bit linux platform) ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== use mkstemp ==================== Include necessary file for alpha config ==================== Deal with 64 bit time_t ==================== Don't do increments in a way that can be miscompiled ==================== configure for alpha linux ==================== deal with time and initialize a variable ==================== don't use ViceIoctl32 for alpha linux ==================== deal with compiling kdump for alpha linux ==================== mods in callback.c analogous to dux port; mods in viced to deal with thread creation function return convention ==================== config for linux alpha ==================== ids for alpha linux consistent with new-style sysname grouping ==================== makefile and config files for new-style sysnames ==================== MakefileProto changes for alpha linux with new-style sysnames. A change in config/mc.c will be needed for this to configure correctly, and it will be added soon ==================== note alpha port and the state it's in to hopefully avoid questions commit 0d466f2f1022579171376983923630fcd44c450b Author: Nathan Neulinger Date: Mon Mar 26 20:26:17 2001 +0000 add-server-syslog-logging-capabilities-20010326 Add support for syslogging server log messages ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Add syslogging capability to ptserver ==================== add syslog capability to fileserver ==================== Add syslog capability to the volserver ==================== Add syslog capability to the vlserver ==================== fix my own error when hand-applying nathan's patch ==================== remove unused function commit 2165ef3af8d503557c174ca004f242e8aa418cdf Author: Derek Atkins Date: Mon Mar 26 17:51:34 2001 +0000 make-fileserver-deal-correctly-with-client-which-changed-addresses-but-was-offline-when-a-callback-to-it-was-revoked-20010326 "First, some background: The AFS Fileserver tries really hard to keep track of all the "interfaces" of a client. Generally this is for a multi-homed client, so that the server realizes that you are the same client when you come from multiple addresses. However, this also winds up applying to a mobile host whose IP address changes over time. When the Fileserver sees a "new" address, it asks the client for its Uuid and, if that Uuid already exists, it adds this new address to the list of interfaces for the existing host. However, it keeps a callback connection open to the original address. Here's the problem: Assume the client has callbacks registered with the server and then disappears from the network. While the client is off the net, someone else makes a change that causes that callback to be broken. The fileserver can't reach the client, so the break gets added to the delayed callback list. The logic is such that no client requests will be processed by a host while there are outstanding delayed callbacks to that client. Now, if the client comes back on the same IP Address, everything works fine. The fileserver uses the cached callback connection and the callbacks are cleared successfully. However, if the client returns to the network under a different address, this new address is added to the existing host structure and then the delayed callbacks are attempted. Unfortunately it is using the (invalid) cached connection to the old IP Address, so the delayed break fails. Therefore, this client is locked out of the fileserver until: 1) the fileserver reboots, 2) the client returns to the original IP Address, or 3) All the callbacks timeout on their own. This patch will fix this problem. When the client makes a request and the fileserver tries to break the delayed callbacks, if the breaking fails then the fileserver will attempt to find a 'working' interface by probing all the host interfaces for one that responds with the correct Uuid. If that succeeds then it resets the cached callback connection and then breaks the delayed callbacks, thereby regaining the connection to the client and proceeding with the proper cleanup before the original request is completed." commit 146fca9060d18cdfc8c5a5bba54770b96484e5cf Author: Daria Phoebe Brashear Date: Mon Mar 26 17:26:29 2001 +0000 build-vfsck-for-solaris8-20010326 Before it was being explicitly skipped; Build it commit 9feea404fd44455bc1645aac87e7a4bb8306cca3 Author: Harald Barth Date: Mon Mar 26 17:18:42 2001 +0000 null-terminate-cell-when-copying-from-lrealm-20010326 Avoid condition where we could read past the end of lrealm (unlikely to occur in practice and not remotely exploitable; cell and lrealm are both MAXKTCREALMLEN and lrealm is configured locally and not read from the network) commit 54b7292a4499106f956a4449c620466f64303498 Author: Nickolai Zeldovich Date: Fri Mar 16 03:35:07 2001 +0000 do-bounds-checking-in-psetvolumestatus-20010315 Previously it was possible to overflow the variables used to construct a SetVolumeStatus call commit 4b85432743e002eae3e636febadb326c2081732d Author: Erik J. Burckart Date: Fri Mar 16 03:27:05 2001 +0000 fix-for-cache-consistency-on-linux-24-smp-systems-20010315 "Here are the symptoms. I have 2 OpenAFS Linux 2.4 machines, one SMP and one not. --With both of them I access a series of directories and files within (/afs/w/x/y/z/). --I then move to the root directory. --From a third machine, I remove the directories x, y, and z. Then re-add them (same names) with some other files. --From the SMP box, I do an ls in /afs/w and see x. But x is inaccessible. --From the UP box I can see and access x. " ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Missed earlier: not part of the IBM delta. ==================== Part of the alpha patch slipped into the delta; Revert to previous revision commit 70cbd6f689988237075d01258d9469daa16de060 Author: Johan Danielsson Date: Thu Mar 15 18:55:20 2001 +0000 dux-advfs-client-support-20010315 necessary changes to allow a cache in an advfs commit 5994633186da9856b21592b8b3c8f4fd27fccbef Author: Nathan Neulinger Date: Thu Mar 15 18:47:50 2001 +0000 bosserver-syslog-option-including-selectable-facility-20010315 "Simple patch to add "-syslog" option to bosserver. Causes it to direct all logging activity to syslogd instead of to logs/BosLog" currently unimplemented for NT ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Don't use a static outside its scope commit 27d7f4fd60d5506865ac55fd7d6e809ef56c2808 Author: Michael Stroucken Date: Thu Mar 15 18:15:46 2001 +0000 initial-alpha-linux-support-20010315 top-level makefile mods for 64 bit system commit a1fac47017ee0448ed7d87d2005f6fd54ae32de7 Author: Nickolai Zeldovich Date: Thu Mar 15 17:50:34 2001 +0000 pts-args-checking-when-calling-com-err-20010314 "This prevents pts from crashing like this: pepsi-one~> pts createg a:b -id -1234 /bin/athena/pts: Permission denied ; unable to create group a:b with id -1234 owned by 'Segmentation fault " commit 4d3b445cc3e20feeb65c2915a80640a980b97608 Author: Pavel Semerad Date: Thu Mar 15 17:47:45 2001 +0000 fix-locking-on-linux-sparc64-20010312 " I have found problem with file locking and 64bit linux (tested on ultrasparc). When issued fcntl(fd, f_SETLK, ..) with l_start = 0 and l_len = 0, it sets l_len to LONG_MAX, so it is needed to test this value" commit 3fd459ac396cef49a89be43176b218b573ae8f93 Author: Johan Danielsson Date: Thu Mar 15 17:43:11 2001 +0000 simplification-of-code-in-cache-manager-to-make-dux-advfs-support-simpler-20010315 with advfs you can't VTOI inodes so provide a wrapper function for dux to ease this problem commit 00c69d3f076c2c329b3a6e223bd95b97c6497433 Author: Eric Lorenzo Date: Tue Mar 6 17:57:00 2001 +0000 make-comerr-tolerate-different-eol-convention-20010306 commit b90dd040090f014cfce61de8481c750ef02cce63 Author: Daria Phoebe Brashear Date: Tue Mar 6 16:02:00 2001 +0000 make-afsd-be-less-annoying-20010306 commit 17abe56f755710b0a76714fefcfe6f9b2f0d06c3 Author: Daria Phoebe Brashear Date: Tue Mar 6 06:16:17 2001 +0000 xlc-r-on-path-not-usr-bin-20010306 By default it ends up in /usr/vac/bin commit 858edd205652cf6f93a02bbcefafeebc6f6e2048 Author: Daria Phoebe Brashear Date: Mon Mar 5 22:57:57 2001 +0000 use-dollar-cc-not-cc-for-aix-exporter-20010305 necessary to build aix afs with gcc commit 5a9eb81c9431438b6d52f20539e331a1a46a8077 Author: Daria Phoebe Brashear Date: Mon Mar 5 22:47:54 2001 +0000 make-snprintf-compile-on-aix-433-20010305 AF_INET is in sys/socket.h on AIX 4.3.3 commit 5da931163b4b3bd0e22c8e4c6102bf77d76c27fc Author: Daria Phoebe Brashear Date: Mon Mar 5 19:13:24 2001 +0000 make-bosserver-be-less-annoying-20010305 commit 3531babbd25ac18deacd7bf1cc170327411c2a4a Author: Daria Phoebe Brashear Date: Mon Mar 5 18:55:13 2001 +0000 restore-rxdebug-to-the-living-20010305 Give us back rxdebug commit f310da48b4ccc2e63379d194364057a5ed1fedec Author: Hartmut Reuter Date: Mon Mar 5 16:39:05 2001 +0000 support-namei-fileserver-on-solaris8-20010305 So the namei fileserver can be used on Solaris 8 commit c12594fb08fc9f169a3d83cc1dac3a0a8ddcee85 Author: Adam Thornton Date: Mon Mar 5 16:34:32 2001 +0000 afs-linux-s390-updates-20010305 Updates for Linux s/390 AFS port commit 5837ab64635d34521a39d37d08fab69a7d629a2c Author: Daria Phoebe Brashear Date: Mon Mar 5 16:26:04 2001 +0000 return-truncated-reason-from-krb-udp-interface-20010305 The remainder of the patch the snprintf support was intended to be used for commit 92dcbd617bd978259521755ddf5c847ccc5388b8 Author: Ulrich Hahn Date: Mon Mar 5 16:22:53 2001 +0000 pam-afs-password-changing-support-20010305 support for changing passwords when user has kaserver password only commit c8bfbcc55d83ff0156fcb02e07baf98fd17fcea0 Author: Hartmut Reuter Date: Mon Mar 5 15:37:46 2001 +0000 allow-shadowed-src-trees-20010305 So "make links" will work if src was a symlink. commit 4470f1d03fab800fd2b2acd14b6229aaa42525ac Author: Hartmut Reuter Date: Mon Mar 5 15:34:14 2001 +0000 ntp-for-solaris-58-20010305 Let ntp build on Solaris 8 commit bc5204d4e79198501608be68434106c7be119d67 Author: Johan Danielsson Date: Mon Mar 5 15:12:42 2001 +0000 support-dux-51-20010305 Changes needed for OpenAFS Tru64 5.1 support commit 3f43961f538884b76092012627172dcb1afffa7d Author: Michael Welsh Duggan Date: Wed Feb 28 19:22:44 2001 +0000 linux-libafs-with-modversions-20010228 Use symbol versioning when compiling against a kernel with symbol versioning enabled. commit f2fbb398a439423e210d41f46a9433838b0a8fce Author: Nickolai Zeldovich Date: Sat Feb 24 15:35:05 2001 +0000 afs-lookup-check-evalmountpoint-return-20010221 Make check the return code from EvalMountPoint() ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== maintain old behavior consistent with checking eval return commit fd4fe77ecd3c4118decf370194e2db3a72270717 Author: Mattias Amnefelt Date: Thu Feb 22 03:06:04 2001 +0000 backup-addvolentry-fix-20010221 commit 98e79522fb704a3cb1ffc58dc88575104b82b283 Author: Daria Phoebe Brashear Date: Thu Feb 22 00:34:45 2001 +0000 bos-mrafs-support-20010221 Make it work as intended commit 73634549ab94017c137442dcceedd4f121433a8d Author: Nathan Neulinger Date: Tue Feb 13 16:53:48 2001 +0000 update-README-20010213 Irix compile completes commit 4dca94ffe66092da8401652dba651e0ff8ac5f1c Author: Daria Phoebe Brashear Date: Tue Feb 13 03:54:04 2001 +0000 snprintf-for-aix-not-irix-20010212 Irix 6.5 has snprintf commit 61eb7d88387b3870ae2a8dd924b1ced4516b7846 Author: Daria Phoebe Brashear Date: Tue Feb 13 03:46:15 2001 +0000 provide-snprintf-for-irix-dux-20010212 So we can use snprintf, provide it for platforms that don't have it commit 54b2c2307a538da521808541cfaa100609f362df Author: Hartmut Reuter Date: Tue Feb 13 00:28:22 2001 +0000 bos-mrafs-support-20010212 Necessary additions to bos for MR-AFS support commit 2156a32e7d503374f3f7e5f5511805474dde39c1 Author: Hartmut Reuter Date: Tue Feb 13 00:15:25 2001 +0000 revert-xdr-int64-in-favor-of-common-makefile-20010212 the new version of the patch put these in Makefile.common commit d26273e0f18ecff16319d9c708bc184c0e6d9db5 Author: Hartmut Reuter Date: Mon Feb 12 23:56:16 2001 +0000 include-xdr-int64-in-libafs-20010212 for new pioctl calls for mrafs ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== for new pioctl calls for mrafs; convert spaces to tab commit f896be7dd587eb82e0d4a61c8048e17f3e34b7f2 Author: Hartmut Reuter Date: Mon Feb 12 23:50:21 2001 +0000 dirpath-mrafs-additions-20010212 Dirpath additions for MR-AFS files ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Dirpath additions for MR-AFS files; remove extra newline commit c4a127d0578e521b97131c5dedf9da58f71b0242 Author: Hartmut Reuter Date: Mon Feb 12 21:57:57 2001 +0000 ubik-clone-support-20010212 Changes needed to support ubik (non-voting) clones. ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Needed kaserver support for ubik clones ==================== Needed support for ubik clones for the ptserver ==================== Support for ubik clones in vlserver ==================== auth layer support for ubik readonly clones ==================== ubik library support for readonly clones commit 8881f8778cbd7325e294b32a18e3d6493b4a1b42 Author: Hartmut Reuter Date: Mon Feb 12 21:09:17 2001 +0000 rework-ktc-to-allow-dummy-libkrb-20010212 export some previously internal routines, and rename to not conflict with libkrb; with NO_AFS_CLIENT you can use the ktc routines also for architectures which not yet have kernel support for AFS tokens (Cray T3E, NEC SX5). commit d80d0eeaabbd139471ee4c9520eb7c77973870bc Author: Hartmut Reuter Date: Mon Feb 12 20:30:50 2001 +0000 bos-mrafs-support-20010212 Necessary additions to bos for MR-AFS support ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== FS bnode changes for MR-AFS ==================== allow hex numbers for residencies, used by bos commit 86f1dc2117e6b6c8abb55ccbc8621743969b8996 Author: Hartmut Reuter Date: Mon Feb 12 20:29:20 2001 +0000 mrafs-server-log-handling-20010212 Rotate old logs by date for MR-AFS; Could be adapted to rest of AFS commit c6e03e4a4551d6c6c2d287bd99c4d6cc90fa97f4 Author: Hartmut Reuter Date: Mon Feb 12 20:28:27 2001 +0000 mrafs-util-update-20010212 Error additions for MR-AFS commit f415363f45aeedaff5604348d6e0d31eb5651221 Author: Hartmut Reuter Date: Mon Feb 12 19:44:08 2001 +0000 export-threadnames-totviced-20010212 commit 9f57c28605f948fa0e0a924cf2ccd6d382a177c7 Author: Hartmut Reuter Date: Mon Feb 12 19:33:40 2001 +0000 rx-writevinit-for-mrafs-20010212 commit 261716adb158ca8cff92791922d446332fe2a1e2 Author: Hartmut Reuter Date: Mon Feb 12 19:30:33 2001 +0000 commit 20d654d59d28b7bd23ce9149089ce479c324b432 Author: Hartmut Reuter Date: Mon Feb 12 19:25:53 2001 +0000 nicer-dummy-rxi-startserverprocs-20010212 commit 44485fed5e427e85e5b0c28070f79a2299963e5a Author: Hartmut Reuter Date: Mon Feb 12 19:24:48 2001 +0000 allow-rx-shutdown-for-userlevel-20010212 Allow rx shutdown (state reset) for userlevel rx code, for MR-AFS salvager commit 8f157e9ea42963cfe4af100efc5de9a7907b6c5d Author: Hartmut Reuter Date: Mon Feb 12 19:06:11 2001 +0000 rx-nt-xdr-int64-support-20010212 compile xdr_int64 for nt commit 9c82b2024e2ebaf5dfb0a7f1ffe9f4c201763f4e Author: Hartmut Reuter Date: Mon Feb 12 17:35:16 2001 +0000 thread-identification-routines-20010212 Needed to identify thread in serverlog for mrafs commit ae77f046c5a5f737a3540ea0699472db4fffc018 Author: Hartmut Reuter Date: Mon Feb 12 17:28:39 2001 +0000 libafsrpc-xdr-int64-support-20010212 int64 support for libafsrpc for mrafs commit efe1fef24c7775b3aac1ab5dbe4b37729e4dce17 Author: Hartmut Reuter Date: Mon Feb 12 17:22:46 2001 +0000 export-kauth-GetTickets-for-dummy-libkrb-20010212 For dummy libkrb which is a wrapper around libkauth commit d85f42ad0ad12ca9e4e991fe041ad5f26afc4170 Author: Hartmut Reuter Date: Mon Feb 12 17:19:20 2001 +0000 ftpd-placate-aix-20010212 Required to placate AIX compiler ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== commit 218377fec283c17db5bebb3464557e4bb69d7e02 Author: Daria Phoebe Brashear Date: Mon Feb 12 17:17:09 2001 +0000 clean-up-64bit-mod-spacing-20010212 Missed earlier; needed to be compiler-friendly on some platforms commit e9cf43f198a2ec9cdcf9464b37ccc13a1f9f27c4 Author: Hartmut Reuter Date: Mon Feb 12 17:15:37 2001 +0000 update-rs-aix42-afs-syscall-20010212 AFS_SYSCALL again 31 per Hartmut commit 36d02757fd6863a845163daf0d730bdcc0a28343 Author: Hartmut Reuter Date: Mon Feb 12 17:13:29 2001 +0000 cmd-suite-option-for-hiding-admin-commands-20010212 Hide help for admin commands unless asked for commit 3a0880476e7e52ddff4f4e7118a854d35bd28ede Author: Hartmut Reuter Date: Mon Feb 12 16:56:52 2001 +0000 bosserver-rx-initialization-failed-warning-20010212 Provide notice if rx initialization fails commit 7dd378687b9f639a3e808c2e3179e78bd85a48a3 Author: Hartmut Reuter Date: Mon Feb 12 16:25:17 2001 +0000 bozo-save-old-cores-by-date-option-20010212 compile-time option to save old cores by date instead of rotating commit 714058f3875b569523add7aca7e904198c9390ab Author: Hartmut Reuter Date: Mon Feb 12 16:21:00 2001 +0000 mrafs-port-definitions-20010212 Ports used by additional MRAFS services ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== mrafs port definitions commit caf9ae4077b4aa4caea7ae82bde2a94ee5d72fb0 Author: Hartmut Reuter Date: Mon Feb 12 16:16:44 2001 +0000 mrafs-audit-types-20010212 Audit types for MR-AFS commit defda2dc962c9773ad3aae0f022dd41d02e79f76 Author: Hartmut Reuter Date: Mon Feb 12 16:12:25 2001 +0000 svc-create-servicetype-to-afsservicetype-20010212 missed in previous passes commit f918914d50a051446390e70eda732768e1151cff Author: Jeffrey Hutzelman Date: Sun Feb 11 15:05:08 2001 +0000 include-snprintf-in-util-20010211 For platforms which need snprintf, this should be suitable for AC_REPLACE_FUNCS when we get that far commit ba461fc17059946155f2413e3f7accc6964d9921 Author: Daria Phoebe Brashear Date: Sun Feb 11 02:57:17 2001 +0000 use-snprintf-for-krb-udp-error-packets-20010210 Avoid potential for overrunning buffer commit acf6dfa37d7c9837e8d077f25449429fd6835925 Author: Johan Danielsson Date: Sat Feb 10 23:27:38 2001 +0000 dux50-osi-inode-fix-20010210 incorrect in first cut commit 8315656f318769611f932c57f1fd467f68bb9020 Author: Daria Phoebe Brashear Date: Sat Feb 10 21:49:43 2001 +0000 fix-64bit-stds-h-patch-20010210 dux and irix compilers don't like # in other than first column commit f8e20a32007e7d631c9428c3233826e109d3efcb Author: Daria Phoebe Brashear Date: Sat Feb 10 21:47:47 2001 +0000 update-systypes-in-README-20010210 Update list of systems expected to work commit 0b70e190560c2bfb004273e442f1113a815ebdd8 Author: Hartmut Reuter Date: Sat Feb 10 21:26:14 2001 +0000 mrafs-client-extensions-including-afs-int64-20010210 " Extensions used by MR-AFS in the client. I have added only two pioctl-calls which are used by the "fs"-command for a large number of MR-AFS specific subcommands. With this modification also the data type afs_int64 is introduced because MR-AFS supports large files. afs_int64 is either "long long" or a structure consisting of two 32-bit numbers. We are already running on rs_aix42 a fully large-file capable AFS-client, but these changes are still in a beta test and not yet added here." commit 4fb818dbf6f35d91a4828d6f672798d342349358 Author: Carsten Jacobi Date: Sat Feb 10 21:05:33 2001 +0000 pam-afs-trust-root-login-20010210 add trust_root option which basically provides a bypass mechanism for root commit d089415117684aea0f975e036615433b6c94f1b0 Author: Johan Danielsson Date: Sat Feb 10 20:57:28 2001 +0000 tru64-50-initial-support-20010210 makes client work under 5.0A, untested with 5.0 or 5.1 commit 83074e0491fb5a215ffdb223280a3c3428edd29e Author: James Peterson Date: Sat Feb 10 20:46:15 2001 +0000 winnt-directory-scan-memory-leak-20010210 "Problem: During a directory scan W2K does not send the FindClose the way NT does. When smb_ReceiveTran2SearchDir() processes FindFirst or FindNext, the termination Flags is never set either (close search if end of search). Since these operations don't occur smb_DeleteDirSearch() is never called; therefore the dsp (smb_dirSearch_t) is never freed. This problem was reproducible while trying to scan a directory (e.g. dir *.c/s) with symbolic links. When smb_ReceiveTran2SearchDir() processes FindFirst or FindNext the last SMB call in a session can be indicated by checking for no more files (filesnames==0). Running a directory scan (DOS window) and file cache size of 5 MB: With the memory leak patch, the program grew upto the limit of +5.3MB. Without the patch, the program will grew +27MB before the operation was finished, then became unstable." commit 27d66d2928ffd2f1bbe533d7437ac533394f4113 Author: Daria Phoebe Brashear Date: Thu Feb 8 02:58:59 2001 +0000 make-icreate-exist-always-for-irix65-20010207 Since Afs_init installs a syscall, make sure this exists commit cd912ea3691c20436a92e264eb519eb93959a4e4 Author: Nathan Neulinger Date: Thu Feb 8 02:51:20 2001 +0000 remove-libefs-Makefile-reference-20010207 commit 2eb056dfd39a41194bb7ffb80e0a623be4a27808 Author: ssen@mit.edu Date: Wed Feb 7 16:28:02 2001 +0000 minor-README-reorg-20010207 commit b36c44618e1056c7a09523260401299430f83d51 Author: Daria Phoebe Brashear Date: Wed Feb 7 15:21:17 2001 +0000 add-ssi-master-file-20010207 First guess at this file based on master(4); I haven't tried this yet but since it seems to be for the build-into- kernel module I assume we don't need: d dynamically loadable kernel module R auto-registrable dynamically loadable kernel module N don't allow auto-unload of dynamically loadable kernel module and I don't know if we'd need or be able to use R, either. Afs_ to match what previous systems seem to be doing; For symmetry it looks like it should be e.g. afs_ commit 3dd6590174b9c827e151dc64a9c2fcdcb5403d29 Author: Hartmut Reuter Date: Wed Feb 7 15:04:53 2001 +0000 more-irix65-fixes-for-no-libefs-20010207 Some minor stuff missed on the first pass. commit 4d6f5e1b83ef46e4df8e0523dc6b996518bc0996 Author: Nathan Neulinger Date: Wed Feb 7 14:51:08 2001 +0000 fix-missattributed-loff-t-ifdef-20010207 More correct way to decide when to use loff_t unstead of off_t commit ab4ec4ad33ee4501d7d3bde3cfb9c0ea62379b28 Author: Chas Williams Date: Thu Feb 1 03:11:42 2001 +0000 fix-solaris-afs-readdir-move-20010131 Code which had been previously disabled caused problems when enabled, hence removed. commit 1ce1e6ed4900575fc341ace6c48e69d8fb98130b Author: Hartmut Reuter Date: Wed Jan 31 21:27:44 2001 +0000 sgi_65-compilation-patches-20010131 Remove references to missing EFS support library so sgi_65 support compiles commit 9081ff711bb5818cfa4e704f04e6a9e004f03eb9 Author: Nathan Neulinger Date: Wed Jan 31 20:07:33 2001 +0000 fix-solaris7-afsd-rc-copyright-message-20010131 wrong type of comment commit 5293aa35617a6ad35980ce16fdf492ea960cc18a Author: Chas Williams Date: Wed Jan 31 02:28:11 2001 +0000 linux-iput-and-glock-changes-20010130 ". afs_dentry_iput is essentially osi_iput, so it now calls osi_iput it wasnt locking before checking i_count (and osi_iput didnt either) osi_iput now AFS_GLOCK's. to do this afs_delete_inode was split into afs_delete_inode (which does the locking) and osi_clear_inode before osi_iput called afs_delete_inode, which since it wanted to hold AFS_GLOCK, osi_iput couldnt call AFS_GLOCK. this seems to have cured the problem i saw (running multiple 'ls -R &' would cause a bad iput w/o fail) and i hope it fixes it otherwise. its possible vc->lock should be held inside osi_clear_inode. . removed osi_notify_change (i added during 2.4.0 development) and now i just call inode_change_ok/inode_setattr. the 2.4.0 notify_change checks the dentry parent (which doenst exist for the cache inodes) . moved the locks around inside writepage, writepage_sync, commit_write. the guy next door complained about pauses while running afs. i think this addresses those issues. apparently you only need to lock_kernel() during commit_write(). in order to get lock_kernel() inside AFS_GLOCK() the AFS_GLOCK() was moved out of writepage_sync and into writepage and commit_write" commit 1b428f375e5366d8ef4179a1a47cd9aad98e2833 Author: Chaskiel M Grundman Date: Mon Jan 29 17:47:38 2001 +0000 support-reiserfs-20010129 Minor patch needed to work correctly on suse, where reiserfs is included by default. commit 3734711b9ef7ba3be0885caaadbc33b130f3bb94 Author: Chaskiel M Grundman Date: Mon Jan 29 17:40:14 2001 +0000 allow-new-bosconfig-file-and-rename-into-place-20010129 This patch causes the bosserver to use a "BosConfig.new" file if one is found on startup, which will allow admins to prepare a new BosConfig file to be picked up at rebozo time. (This is not possible now because the bosserver likes overwriting the BosConfig file while it's running) commit ca7935d1c6bfa76ff99e1999c34b0329360aaa2e Author: Chaskiel M Grundman Date: Mon Jan 29 17:38:30 2001 +0000 implement-bos-restricted-mode-20010129 This patch enables the bosserver to be placed in a restricted mode in which AFS superusers are only granted limited access to the server host. The following functionality is disabled when restricted mode is in use: bos exec bos getlog (except for files with no '/'s in their name)* bos create * bos delete bos install bos uninstall * specific exceptions are made for functionality that "bos salvage" uses: a cron bnode who's name is "salvage-tmp", time is now, and command begins with "/usr/afs/bin/salvager" may be created. This bnode deletes itself when complete, so no special "delete" support is needed. This functionality may be removed in the future if a "Salvage" RPC is implimented. The file with the exact path /usr/afs/logs/SalvageLog may be fetched, since that is how bos salvage [...] -showlog is implimented. Restricted mode is enabled using a new bos command (bos setrestricted) or bossever command line switch (bosserver -restricted). Restricted mode can be disabled by a) sending the bosserver process a SIGFPE (which will then allow restricted operations until the next restart or setrestricted command) or b) editing /usr/afs/local/BosConfig (or BosConfig.new), and restarting the bosserver. commit 000c69679226ded5843cfcbab6cb477eecfd8498 Author: Daria Phoebe Brashear Date: Sat Jan 20 23:18:01 2001 +0000 dummy-linux-vers-to-placate-make-on-non-linux-20010119 The empty variable upsets make, so we provide a dummy value which gets overriden when it matters commit b05deccb9f57df04cc933a94dec2be96dcbadb87 Author: Dave Koziol Date: Fri Jan 19 23:44:04 2001 +0000 drive-letter-tabs-for-submounts-containing-string-afs-20010119 "The following patch is to addresses problems with the Drive Letters tabs in the AFS Client and AFS Control Panel when using submounts which start with the letters afs. We had a test cell up and running with a name that started with afs01 and this caused the afs client to misbehave." commit d88ed238288fc1914f5bf8968bb68b2d97ef9eea Author: Michael Pronath Date: Fri Jan 19 22:22:35 2001 +0000 linux24-shutdown-listener-cleanly-20010119 Don't garbage-collection listener pid too early. commit 7f6f446ad0f007d85b25280947301c36fa0e862f Author: Daria Phoebe Brashear Date: Fri Jan 19 22:11:24 2001 +0000 linux-install-kdump-with-make-rules-that-work-20010119 gmake doesn't like $?-$$lv; It's easier to just do it this way. commit 988d4cf0f8b0edfac0256b30a940c03e9740bf16 Author: Derek Atkins Date: Fri Jan 19 21:51:05 2001 +0000 linux-build-kdump-for-each-kernel-20010119 Make a kdump for each kernel we're building for commit 340194f29b7c9aae32edfa4f6cd519305715b03f Author: Pavel Semerad Date: Fri Jan 19 10:22:50 2001 +0000 add-missing-solaris8-call-20010119 The Solaris 8 analog of vfs_devsearch is vfs_dev2vfsp commit 57ee0438440040560c5b3517cd95b3d85a984b96 Author: Daria Phoebe Brashear Date: Fri Jan 19 06:44:55 2001 +0000 linux-kdump-build-against-kernel-headers-20010119 This is a kernel-aware program, it really does want to build against the kernel headers instead of the versions libc was built against. commit 9e8ffd556717e4e409883ff786ad5b0de034203d Author: Daria Phoebe Brashear Date: Fri Jan 19 06:30:37 2001 +0000 add-cryptall-pioctl-macros-20010119 Required for cryptall fs command support. commit 084d1b109f8d1cc526dd3e07ac89ceb1422fbab6 Author: Daria Phoebe Brashear Date: Fri Jan 19 06:26:34 2001 +0000 krb-udp-cleanup-20010119 Make krb_udp try kerberos-iv as a fallback (from the original default of kerberos4) before going to "kerberos". "kerberos" incidentally is 88 on all modern platforms, so lord forbid you want to run this and something which can actually answer krb5 requests, if you're using the default services. Also minor fix for the size of an answer packet. commit acceff25eb133d218809121fef0e31f38c052f59 Author: Sam Hartman Date: Fri Jan 19 05:57:12 2001 +0000 linux-ppc-minor-cleanup-20010119 Minor fixes to make the PPC port happy. commit e19270efa90eaa75b7bee74e80ef3ab6579da930 Author: Daria Phoebe Brashear Date: Fri Jan 19 05:38:42 2001 +0000 cleanup-pioctl-cryptall-interface-20010119 Finish port of cryptall patch to current AFS codebase commit 527b64b950a79bdf5f071f6bde6c52b6240cbb05 Author: Chas Williams Date: Mon Jan 15 20:06:07 2001 +0000 solaris8-fixes-20010115 Fixes for variable sizes commit e51aacb61474150303cd0f97c4854af702204eee Author: Daria Phoebe Brashear Date: Mon Jan 15 19:44:16 2001 +0000 add-fs-crypt-commands-20010115 A simple way to get/set encryption support. commit 4a8f7153d2e60cb997c185de7dd1659a9e5a98c3 Author: Greg Hudson Date: Mon Jan 15 19:29:40 2001 +0000 export-pioctl-cryptall-interface-20010115 Export interface to cryptall commit 5e534226f308a3c4e301e9bdbe036d38a10ed8d9 Author: Daria Phoebe Brashear Date: Mon Jan 15 19:22:56 2001 +0000 merge-afs-and-arla-pioctl-space-20010115 The net effect being that since all pioctls will have the same values across platforms, so AFS userland binaries can be used on an Arla system and vice-versa commit 59fe3f3cc4a391a46bd342e76e90ad75bc8676a1 Author: Chas Williams Date: Fri Jan 12 17:05:15 2001 +0000 missing-minus-for-solaris-8-20010112 commit 22293eeada64329250864b4f46dfce3ca857f674 Author: Nickolai Zeldovich Date: Fri Jan 12 06:31:43 2001 +0000 honor-solaris-attr-hint-20010112 "The problem that it fixes is as follows: suppose user A's process maps something into its address space out of AFS. Now if user B runs "ps", or otherwise reads /proc/NNN/status, the kernel code will lock the associated entry in /proc and then proceed to find the size of the address space for that process; in doing so, it calls getattr(). If B does not have tokens to access the file, the fileserver will eventually start delaying responses to FetchStatus requests, and the kernel will block with /proc locked. The user-visible effect is that "ps", "w" and so on start blocking uninterruptibly for long periods of time." commit 10892a7bde1c9eb8beac2ecb1d618a67cdea3fdb Author: Greg Hudson Date: Thu Jan 11 06:50:43 2001 +0000 repair-afs-cryptall-20010111 This makes it possible to have encryption enabled, but does not expose an interface to do so. That will follow tomorrow, when hopefully OpenAFS and Arla will have synchronized pioctls allowing userspace compatibility commit 4e81c489ee99612fbafa62e8a4a8a07d45fb6ade Author: Michael Nelson Date: Thu Jan 11 06:41:23 2001 +0000 winnt-port-cleanup-20010111 Add needed headers, convert from SERVICETYPE to AFSSERVICETYPE commit 6153f6b654e8353c166d4ab09c2f643a0e6a3d44 Author: Jeffrey Hutzelman Date: Thu Jan 11 06:28:27 2001 +0000 winnt-eventlog-copyright-fixes-20010111 The perl script used to update copyrights failed to properly handle these files commit 1b0a7f95e9451da9c7d55fa8204fdc1c2949cd34 Author: Chas Williams Date: Thu Jan 11 06:15:52 2001 +0000 update-for-linux-240-final-20010111 Update Linux 2.4 support for the 2.4.0 release kernel. commit c12b66c1bec412d928bbcb62c7eb3b3caad3511c Author: Jeffrey Hutzelman Date: Thu Jan 11 05:59:34 2001 +0000 allow-rx-newservice-with-zero-port-after-rx-init-zero-20010111 The intent is to allow services to be set up on random rather than fixed ports commit a727f0417ab4c568eb84b8ddd657299cf6461047 Author: Pavel Semerad Date: Thu Jan 11 05:48:31 2001 +0000 sparc64-linux-missing-header-define-20010111 sparc64 linux uses 32bit userland and so needs the 32bit header commit c915747a227f7826e9150ac72f77f8606d32bb7b Author: Jeffrey Hutzelman Date: Thu Jan 11 05:40:06 2001 +0000 krb-udp-use-transaction-for-special-keys-20010111 use the ubik transaction we got to lookup the kvno otherwise this fails for uncached keys, like foreign realm krbtgts commit 9a7b4da986b0e2d5610fbdff1246353e2ba8d219 Author: Neale Ferguson Date: Sun Dec 24 01:15:06 2000 +0000 s390-linux-20001223 Port for Linux on the IBM S/390 commit 928c5e686bf508b60820e015c405f7d155ba4d90 Author: Pavel Semerad Date: Sun Dec 24 00:51:17 2000 +0000 sparc-linux-20001223 Sparc/Sparc64 linux support commit 9499904817a43fe9f48eb372d0fa901cba886d8c Author: Nathan Neulinger Date: Sun Dec 24 00:19:42 2000 +0000 solaris26-needs-ccs-libcurses-20001223 use the libcurses capable of fulfilling our needs for symbols in gtx commit 6103bb18255134ae2ae3a13a8f00cba48ddfa083 Author: Nathan Neulinger Date: Sun Dec 24 00:11:41 2000 +0000 make-make-dollar-make-20001223 Make Makefiles be gmake-friendly commit f2811db37d313c79c1858657463880f4122684a7 Author: Nathan Neulinger Date: Sun Dec 24 00:02:00 2000 +0000 sgi-65-gnu-cc-ld-harmful-20001220 gcc and Gnu LD cause problems with build on Irix 6.5; Avoid them. commit 7a6fdfd5122a3e9720718d7c8f120699dc12b75f Author: Nathan Neulinger Date: Sat Dec 23 23:59:34 2000 +0000 ptser-Makefile-missing-slash-20001220 DESTDIR is assumed to have a trailing /, so we don't need another here commit 43f97ca58c720ccb22264b97775edc93eddb6ad5 Author: Hartmut Reuter Date: Sat Dec 23 23:52:38 2000 +0000 fast-start-20001220 FAST_RESTART ifdef'd code omits salvage at restart. -DontSalvage must be added to salvager args in the bos configuration BITMAPS_LATER ifdef'd code lets the fileserver create the bitmaps for free vnodes only on demand, so the fileserver may start faster. commit bfff302520e528effba7247984c5ebd1357b2ccf Author: Hartmut Reuter Date: Sat Dec 23 23:39:34 2000 +0000 cml-version-string-maker-20001220 CML version string maker for OpenAFS (modified for devel) commit 016cf269e44f6721fe6307e86d983b0b966ee09a Author: Chas Williams Date: Tue Dec 19 18:32:45 2000 +0000 missing-sol8-Makefile-20001219 Not in initial commit commit 53986479ee1eba7c91e8d7b859ceccac7bc08ecc Author: Garry Zacheiss Date: Tue Dec 19 07:45:10 2000 +0000 ptutil-initial-20001219 Add pt_util for offline pts database manipulation commit 36f72fa1144e818642d3fc9d65f9e1021b83aaac Author: Nathan Neulinger Date: Tue Dec 19 07:34:34 2000 +0000 solaris-make-cleanup-20001219 Remove redundancy in Solaris Makefile Protos commit 0de9b367b9dbb5dcb357f6af6cf3bf1086a67466 Author: Nathan Neulinger Date: Tue Dec 19 07:27:08 2000 +0000 warning-fixes-20001219 Warning fix missed in last round. commit a35279d3146688498bfabec9957a5fd47d6246de Author: Nathan Neulinger Date: Wed Dec 13 21:36:06 2000 +0000 warning-fixes-20001213 Various fixes to eliminate warnings commit 052d68b92d0b057eee922cc537963cf0fcadadb0 Author: Chas Williams Date: Wed Dec 13 19:33:47 2000 +0000 linux-ppc-des-20001213 Add missing file for DES commit be4b55e1554cfd4cf345c46d5020f85a3d094741 Author: Daria Phoebe Brashear Date: Sat Dec 2 18:17:50 2000 +0000 add-buildnotes-20001202 notes for building openafs commit ade7e22286120f5cde1b79afed656acbac0dc73b Author: Daria Phoebe Brashear Date: Sat Dec 2 18:06:26 2000 +0000 README-update-20001202 refer people to openafs.org site for help commit bd931f3d053a62733e9c269fc7e2c545f8a0962f Author: Nickolai Zeldovich Date: Sat Dec 2 17:52:58 2000 +0000 check-flushvol-args-20001202 check args for flushvol commit 8f0ac00554f7b78dd5b71d576a41a2967081910e Author: Nickolai Zeldovich Date: Sat Dec 2 17:46:52 2000 +0000 bulkstat-changes-20001202 change in bulkstatus code commit f975937b69831376a920dd19c8ca7a4f180c7e4d Author: Chas Williams Date: Sat Dec 2 17:41:43 2000 +0000 linux-xfs-support-20001202 support for linux xfs kernels commit 6fdc2bbdfa4099a649232c7cee4e47cc2c436ec5 Author: Daria Phoebe Brashear Date: Fri Dec 1 23:59:27 2000 +0000 kdump-linux-header-fixes-20001201 Deal with kdump not building on modern glibc linux systems. On RedHat 7, we also need kgcc. commit 92d163d6b0cd130503b91b4aaa9e9262623ce9f9 Author: Daria Phoebe Brashear Date: Fri Dec 1 23:26:44 2000 +0000 linux-needs-larger-lwp-stacksize-20001201 The 48k stack is insufficient and can lead to servers that refuse to start or that crash unexpectedly. commit fd0e5208b7471174d1cb30e80f166d65c866bcb1 Author: Daria Phoebe Brashear Date: Fri Dec 1 23:11:06 2000 +0000 linux-glibc22-has-pthread-attr-setstacksize-20001201 Newer glibc includes this function, and this conflicts with a header commit 0f9376f2eaedaf24bb8bcf4f834d81e7dff1692e Author: Daria Phoebe Brashear Date: Fri Dec 1 22:52:01 2000 +0000 redhat-linux-version-h-is-mangled-20001201 the kernel-source rpm on redhat 7.0 provides a modified linux/version.h which chokes the linux-version script. attempt to deal. commit f4281b12792c120df2410dd295314dfbba827c75 Author: Daria Phoebe Brashear Date: Fri Dec 1 22:36:53 2000 +0000 build-vfsck-for-solarises-20001201 build vfsck for solaris 2.5, 2.6 and 7 not known to work correctly in all cases commit 5a16f075f5471e1f4bc41872f299c390dd46f727 Author: Michael Pronath Date: Fri Dec 1 17:30:42 2000 +0000 linux-module-initialization-allocate-20001201 Loading and unloading a module without starting AFS would oops without this because nothing checked for allocation. commit e17bbb16d9064f9f11feccf76cfb0783cb560a06 Author: Chas Williams Date: Wed Nov 15 00:38:24 2000 +0000 solaris8-fixes-20001114 updates to solaris 8 commit 36b6f3aea6c2a81eb0a866f97913b0ed3c84df88 Author: Chas Williams Date: Tue Nov 14 03:28:15 2000 +0000 linux24-writepage-20001113 Linux 2.4 kernel writepage support commit 90077f84f20f1f5fd0d84ff88e89a409816481bb Author: Derek Atkins Date: Tue Nov 7 15:51:03 2000 +0000 copy-permit-export-h-20001107 copy another include file to make a separate kernel module build easier commit b33a70498eefe52dfce724b1d888ceba7ef099ae Author: Michael Nelson Date: Tue Nov 7 15:44:17 2000 +0000 winnt-letter-mappings-20001107 Single user drive letter mapping support commit 79a00a452a6764e31b953b6ceadd03d5954d2ed0 Author: Chas Williams Date: Mon Nov 6 18:55:50 2000 +0000 linux24-config-params-20001106 Add param file for linux24 commit 7e3aaf5d87fb88e42d0cdefb4f298cbdad34e395 Author: Michael Nelson Date: Mon Nov 6 15:48:48 2000 +0000 winnt-fixes-20001106 WinNT build fixes commit 38e7c5f727af4ac1905e505c5e8225503ca2e030 Author: Daria Phoebe Brashear Date: Mon Nov 6 15:30:18 2000 +0000 linux24-cleanup-20001106 remainder of fixes. temporary test hardware confirms it builds again commit d5291b6eeea6e46bde68039f828e4be2f8888e94 Author: Daria Phoebe Brashear Date: Mon Nov 6 15:09:13 2000 +0000 linux24-missing-endif-20001106 missing endif. these problems won't happen when I have the testing hardware, obviously;-) commit f139286eb493a4c442dc18513bbb3e98e2dd00da Author: Daria Phoebe Brashear Date: Mon Nov 6 15:01:54 2000 +0000 linux24-missing-ifdef-20001106 Add missing ifdef/endif for linux 24 support code commit 3e363ca7a6255a57cd5ee07249feb611f55effb6 Author: Chas Williams Date: Mon Nov 6 04:22:21 2000 +0000 initial-solaris8-support-20001105 Iniktial Solaris 8 support ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== Initial Solaris 8 support ==================== Initial Solaris 8 support commit 640176d60ff336563596ea299ee6c37b5913fa8a Author: Derek Atkins Date: Mon Nov 6 03:36:43 2000 +0000 copy-rx-header-for-libafs-20001105 Make sure that rx_misc.h is copied to the libafs tree from rx source commit b860b359d584aa1cf84653d771a347ac3b951bfe Author: Chas Williams Date: Sun Nov 5 20:13:38 2000 +0000 initial-linux24-support-20001105 preliminary linux 2.4 kernel support ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== missed file commit 6024581217557c12a4d28f710fc7c2cffe0d1b42 Author: Daria Phoebe Brashear Date: Sun Nov 5 03:25:14 2000 +0000 eliminate-libaudit-requirement-20001104 move afsconf_CheckAuth which requires afsconf_SuperUser into userok.c where afsconf_SuperUser is, eliminating the need for libaudit when using archive libraries (doesn't help with shlibs) commit 17fdc9038acf9db178cd6d03a15ab0ae909e2954 Author: Daria Phoebe Brashear Date: Sun Nov 5 02:21:42 2000 +0000 replace-gets-with-fgets-20001104 replace gets with fgets based as patch from nneul@umr.edu commit 0977f32648d744fc15d63b49c1bd0420e99b4bec Author: Daria Phoebe Brashear Date: Sun Nov 5 01:50:30 2000 +0000 replace-getwd-with-getcwd-20001104 getcwd replaces getwd commit a2daff69ddd3b5ffe3bfb34ba4edc0f8deae48dd Author: Chaskiel M Grundman Date: Sun Nov 5 01:16:17 2000 +0000 prefetch-pioctls-overflow-20001104 1024 was being used of a buffer which wasn't that large. commit 1f7dd889361544e1b3118aef65c1520f7debff74 Author: Daria Phoebe Brashear Date: Sun Nov 5 00:55:11 2000 +0000 For people who don't know any better commit 6a0f3dc94a49eba1e3fa6a4cd2c21bff4984c6af Author: Daria Phoebe Brashear Date: Sat Nov 4 22:20:51 2000 +0000 For people who don't know any better commit fb5bcd00fc6f1560d7d02115a0b5beaa3014a0e7 Author: Daria Phoebe Brashear Date: Sat Nov 4 10:01:08 2000 +0000 Standardize License information commit d87d34e18dbd5bd75faa405d6af703267e4d3e06 Author: Daria Phoebe Brashear Date: Sat Nov 4 08:38:12 2000 +0000 where the per file license text refers to it commit c829afea5d0c45c805ad34562d31e8a1b6603e7a Author: Daria Phoebe Brashear Date: Sat Nov 4 08:37:38 2000 +0000 foo commit aa1ed00e008a0eff601b1cdf9852aa836b322a07 Author: Daria Phoebe Brashear Date: Sat Nov 4 08:36:53 2000 +0000 where the license refers to it commit ba3d4666cbd19b56bcec1e80aa9bb001e193cc9f Author: Daria Phoebe Brashear Date: Sat Nov 4 03:34:07 2000 +0000 add a license commit 87c10e8d7f05dbbdf12ee9e8651dcec07e08af3f Author: IBM Date: Sat Nov 4 02:13:13 2000 +0000 Initial IBM OpenAFS 1.0 tree