commit 3b15ac44990095a694e5f9707c5de5619fdf22d1 Author: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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: Derrick 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 point